본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2023-2] 양소정 - U-Net: Convolutional Networks for Biomedical Image Segmentation

by did_so 2024. 1. 8.

https://arxiv.org/pdf/1505.04597.pdf

 

Abstract

  • 사용 가능한 주석이 달린 샘플을 보다 효율적으로 사용하기 위해, 하나의 데이터를 여러 데이터처럼 사용하는 전략(data augmentation)을 제시함
  • 정확한 localization을 가능하게 하는 대칭 확장 path로 구성됨
  • 이러한 네트워크는 적은 수의 이미지에서 end-to-end로 학습될 수 있음
  • 그 결과, 성능은 ISBI challenge for segmentation of neuronal structures in electron microscopic stacks에서 이전 최고 방법(a sliding-window convolutional network)을 능가함

 

Extra

Convolutional Neural Networks (CNN)

CNN

  • Convolution Layer + Subsampling (Pooling) Layer: 이미지 특징 추출 및 축약
  • Fully Connected Layer: 추출된 특징을 사용하여 입력에 속하는 범주 분류
    *U-Net은 Fully Connected Layer가 없음

Convolution Layer (3x3 filter)

Pooling Layer (2x2 filter)

  • feature map을 down sampling하여 feature map의 크기를 줄여줌
  • 종류: Max-Pooling, Average-Pooling, Min-Pooling

Sliding Window Technique

  • Sliding window: window가 사진 위를 이동하며 사진을 window 사이즈에 맞추 나눈 다움, 매 window로 잘린 이미지를 입력값으로 모델을 통과해서 결과를 얻는 방법

Paper

Architecture of U-Net: Contraction Path + Expansive Path

  • contraction path와 expansive path 둘다 convolution 기반이며 미세한 차이를 가진 대칭적 구조 ➡️ "U-Net"이라 이름 붙임

논문의 Fig.1.

Contraction Path

  • 전형적인 convolutioin network 수행 (without fully connected layer)
  • 두 번의 3x3 convolution 후, ReLU 사용
  • 한 번의 2x2 max pooling (stride 2), down sampling 시에는 2배의 feature channel 적용

참고

  • ReLU (Rectified Linear Unit)

ReLU Activation Function

  • Stride

Stride

  • padding

Padding

  • Stochastic gradient descent: 딥 러닝에서 사용되는 대표적인 최적화 알고리즘, 한 번에 하나 또는 일부의 훈련 샘플을 사용하여 gradient를 계산하고 매개 변수를 업데이트
  • Batch size: 전체 트레이닝 데이터 셋을 여러 작은 그룹을 나누었을 때 하나의 소그룹에 속하는 데이터 수

Expansive Path

  • down sampling을 수행하는 max pooling layer 대신 up-conv layer 로 치환
  • 두 번의 3x3 convolution 후, ReLU 사용
  • Contraction Path에서 추출된 feature map을 가져와 사용
  • 마지막에 1x1 conv를 두어 cell(세포), membrance(세포막)을 구분

Improved Sliding Window Search Method

  • sliding window는 이미지를 이동하며 일일이 확인하는데, 이미 사용한 window 구역을 다음 sliding window에서 또다시 검증하게 되며 시간과 연산 측면에서 낭비가 심함 → U-Net은 이 방식을 사용하지 않음
  • U-Net은 검증 끝난 부분은 건너뛰고 다음 patch부터 검증함으로써 속도와 연산 측면에서 향상된 방식을 사용함

Overlap Tile Method

  • U-Net은 일반적으로 padding을 수행하지 않고 convolution을 수행하기 때문에 출력 크기가 입력 크기보다 항상 작음
  • U-Net은 network 이전에 크기를 줄이고 network에 따라 up sampling하는 시간과 노력이 많이 드는 방법을 사용하지 않고, overlap tile이라는 전략을 사용함

논문의 Fig.2.

  • 파란색 영역을 사용하여 노란색 영역을 예측함
  • 파란색 영역노란색 영역 바깥의 영역은 missing value로, mirroring 기법을 이용하여 정보 손실을 최소화하며 context 정보를 저장할 수 있음
    • mirroring 기법: 이미지의 경계에 있는 이미지를 대칭시키는 작업으로 새로운 이미지를 외사시킴

Data Augmentation Method (Basic.)

 

  • U-Net에서 강조하고 싶은 것은 biomedical 데이터 처리
  • 이미지는 labeling 등의 수작업이 필요하기 때문에 데이터가 적고 이는 예전부터 많은 문제가 되어옴
  • 특히 biomedical 데이터는 전문가들이 labeling을 해야하기 때문에 방대한 데이터를 얻기 더욱 어려움
  • 따라서 U-Net은  accuracy를 높이기 위해 data augmentation 방법을 사용함

Example of Augmentation

https://medium.com/secure-and-private-ai-writing-challenge/data-augmentation-increases-accuracy-of-your-model-but-how-aa1913468722

Data Augmentation Method (Elastic Deformation)

  • 일반적인 data augmentation method는 기본적인 값이나 위치를 바꾸는 선형 변환이며 규칙성이 있음
  • elastic deformation은 선형변환에 확률적으로 노이즈를 더해준 것
  • 픽셀 별로 이미지가 다른 방향으로 뒤틀리게 됨으로써 자연스럽고 현실 세계에 있을 법한 변화를 보여주는데, 이는 살아있는 세포들의 변화하는 모양을 다루는 biomedical 데이터 처리에 적합함

Image augmentation using elastic deformation

https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.researchgate.net%2Ffigure%2FImage-augmentation-using-elastic-deformation-with-different-parameters-values_fig8_343992313&psig=AOvVaw1M8NapSQySBxeCJ4hBvasu&ust=1704764095989000&source=images&cd=vfe&opi=89978449&ved=0CA8QjRxqFwoTCJCRtKbTzIMDFQAAAAAdAAAAABAD

Train

  • U-Net은 기본적으로 stochastic gradient descent를 사용해서 학습됨
  • 학습 시, GPU 메모리의 사용량을 최대화시키기 위해 batch size를 크게 학습시키는 것보다 input file (patch) 사이즈를 크게 하는 방법을 채택함
  • 단, batch size가 작을 경우 학습 최적화가 잘 되지 않고 여러 개를 보지 못해서 문제가 되는 단점이 있으므로, 이를 보완하기 위해 momentum 값을 0.99로 크게 설정하여 과거의 값이 많이 반영되어 학습되도록 구성함

논문의 Fig.3.

  • a. Hela cells 라는 현미경으로 찍은 raw image
  • b. 색을 다르게 하여 나타낸 정답지 (ground truth)
  • c. segmentation을 black/white 로 나타낸 결과
  • d. pixel-wise loss를 사용해 세포 경계선을 학습시킨 이미지로, 세포 경계선 부분의 색이 다양하고 진함

Segmentation을 위해 사용되는 식

  • ak(x): the activation in feature channel k at the pixel position x ∈ Ω with Ω ⊂ Z^2
  • K: the number of classes 전체 class의 수
  • pk(x): the approximated maximum-function
    근사 최대 함수

논문의 (1)

  • l : Ω → {1, . . . , K}, the true label of each pixel
    해당 픽셀의 실제 label (black/white 등으로 구분하는 background/foreground class의 정답)
  • w : Ω → R, a weight map that gives some pixels more importance in the training
    학습 과정에서 각 픽셀에 중요도를 부여하는 가중치 맵

논문의 (2)

  • wc : Ω → R, the weight map to balance the class frequencies
    black/white 등으로 구별하는 class가 나타나는 빈도에 따라 weight를 정함
  • d1 : Ω → R, the distance to the border of the nearest cell
    해당 픽셀에서 거리가 가장 가까운 세포와의 거리
  • d2 : Ω → R, the distance to the border of the second nearest cell
    해당 픽셀에서 거리가 두 번째로 가까운 세포와의 거리

성능

논문의 Table 1.  Ranking on the EM segmentation challenge (march 6th, 2015), sorted by warping error.

  • EM segmentation challenge (march 6th, 2015)에서 1위
  • EM segmentation challenge: 전자 현미경 이미지에서 뉴런 구조 segmentation
  • 사용 데이터: 전자 현미경에서 얻은 초파리 애벌레, 30개의 이미지 세트 (512x512 픽셀)
  • 세포(흰색)와 막(검은색)을 segmentation

논문의 Table 2.  Segmentation results (IOU) on the ISBI cell tracking challenge 2015.

  • ISBI cell tracking challenge 2015에서 1위
  • IOU (Intersection over Union): Area of Intersection/Area of Union으로 계산하는 것으로, ground truth와 예측치가 겹치는 영역의 비율 나타내는 지표
  • 사용 데이터: 위상차 현미경으로 촬용한 세포 이미지, 35개의 이미지