논문 링크 - https://arxiv.org/abs/1505.04597
U-Net: Convolutional Networks for Biomedical Image Segmentation
There is large consent that successful training of deep networks requires many thousand annotated training samples. In this paper, we present a network and training strategy that relies on the strong use of data augmentation to use the available annotated
arxiv.org
0. Abstract
데이터 증강을 강력하게 사용하는 모델 및 training 전략 제시
제시한 모델의 architecture는 context를 포착하기 위한 contracting path와 정확한 위치 파악을 가능하게 하는 expanding path로 구성되어 있다. 제시한 모델은 극소수의 이미지로 end-to-end 학습이 가능, 이전 방법(sliding window cnn)보다 뛰어난 성능을 보인다.
1. Introduction
biomedical image processing 분야에서는 한 이미지의 모든 픽셀마다 class label이 할당된 segmentation 작업이 필요하다. biomedical image 데이터양이 많지 않다는 문제가 존재
이전 Sliding window를 이용한 patch방식의 segmentation모델은 너무 많은 계산량을 요구하고, patch크기를 키우면 하나의 patch에 2개의 class가 동시에 들억가 있을 확률이 높아져 애매하고, patch크기를 줄이면 low resolution을 갖는 문제가 발생한다.
본 논문에서는 "fully convolutional network"를 기반으로 수정과 확장을 통해 매우 적은 수의 training image로 작동하고, 더 정확한 segmentation을 수행하도록 architecture를 구성했다.
main idea는 pooling 연산을 upsampling 연산으로 대체한 deconv layer를 사용하여 기존 network를 보완하였다. 이러한 deconv layer는 output의 resolution을 증가시킨다. contracting path로부터의 high resolution features는 upsampled output과 결합된다. 이후 deconv layer는 이 정보를 기반으로 더 정확한 결과물을 조합하는 방법으로 학습을 한다.
architecture의중요한 특징은 upsampling부분에서 network가 context information을 higher resolution layers로 전파할 수 있도록 많은 수의 feature channels을 갖고 있다는 것이다. 이로 인해 expanding path는 contracting path와 대칭을 이루어 U자형 architecture를 생성한다.
network는 fc-layer가 없고, output인 segmentation map에는 입력 이미지에서 전체 context를 avaliable할 수 있는 pixel만 포함된다고 한다(이 부분은 output인 segmentation map에서는 오직 context information만 확인가능하다는 뜻)
fc-layer를 사용하지 않으면 입력 이미지 크기에 제한 받지 않고, overlap-tile 전략으로 seamless segmentation이 가능하다.이미지의 경계 영역 픽셀을 예측하기 위해 입력 이미지를 mirroring하여 누락된 context를 예측한다. 이러한 tiling 전략은 큰 이미지를 네트워크에 적용할 때 중요하다.
overlap-tile 전략에 대해서 Fig2를 보며 이해 해보자
기존 patch방식은 patch마다 overlapping되는 부분이 생겨 계산량이 많아짐, U-net에서는 overlap-tile을 사용. Fig2를 보면 왼쪽 input image와 segmentation을 수행한 오른쪽 output image의 크기가 다른 것을 볼 수 있다. u-net은 모델 구조 자체가 input size와 output size가 달라서 input image의 일부분만 segmentation 된다.
이처럼 input image의 일부분만 segmentation을 수행함으로써 overlapping되는 것을 피하는 방법을 overlap-tile이라고 함. 즉, Fig2에서 왼쪽 input image에서 yellow box가 segmentation이 수행되고, 최종적으로는 input size와 output size가 같아야 하므로 오른쪽 output image에서의 blue box에서 yellow box를 뺀 부분을 missing context로 취급하여, mirroring 기법을 이용해 missing context를 extrapolated하여 input image와 같은 크기로 만들어 준다.
biomedical image segmentation에서 인접한 같은 class의 세포들을 분리하는 것은 쉽지 않다
이를 위해 인접한 cell 사이의 배경 label을 분리하는 loss function을 사용하였다
2. Network Architecture
모델은 Contracting path와 Expanding path로 구성되어 있다
Contracting path
1. 3x3 Conv filter(stride=1, padding =0)
2. ReLU
3. 2x2 max pooling(stride=2), downsampling마다 feature channel수를 2배
Expanding path
1. 2x2 De-Conv fiilter, upsampling마다 feature channel수를 1/2배
2. Contracting path에서 feature channel수가 같은 feature map을 copy and crop하여 결합
ex - Contracting path(136x136x 256channel)과 Expanding path(104x104x256channel) concat
=> 104x104x512channel feature map 생성
3. 3x3 Conv filter(stride=1, padding=0)
4. ReLU
(위의 이미지를 보면 3x3 conv연산을 지나면 channel 수가 절반으로 줄어드는데, 이는 잘못 표기된 것 같다)
final layer - 1x1 Conv filter를 사용하여 64개의 component feature vector를 원하는 수의 class에 mapping
3. Training
Optimizer - SGD(momentum - 0.99)
Batch - a single image
논문에서는 weight학습을 위한 Energy function으로 pixel-wise softmax와 cross-entropy를 사용
pixel-wise softmax는 특정 pixel의 위치 X(pixel x,y)에 대해 올바른 label로 학습되면 1에 수렴하도록 설계
K - 전체 label의 갯수
k - 특정 label
a_k(X) - X의 위치(pixel x,y)에 있는 activation
cross-entropy loss는 각 pixel 위치에 대한 ground truth channel의 softmax가 합산한 형태
w(X)는 가중치에 대한 수식으로 아래와 같이 정의
w_c(X) - training data별로 class빈도수가 다른 것을 조절해주는 weight map
d_1(X) - 가장 가까운 cell과 border까지의 거리
d_2(X) - 두번째로 가까운 cell과 border까지의 거리
border까지의 거리가 가까운 위치에 있는 pixel들이 기여하는 가중치가 더 높다
이를 통해 인접한 객체들의 경계를 확실히 구별하는 touching object classification문제 해결
3-1. Data Augmentation
data augmentation으로는 다음과 같은 4가지 방식을 이용
Shift
Rotation
Gray value
Random elastic deformation
4. Experiments
EM segmentation challenge에서 U-Net이 Warping Error, Rand Error, Pixel Error에서 좋은 성능을 보임
warping error, rand error, pixel error에 대한 설명은 링크로 대체
ISBI Cell tracking challenge에서 U-net이 가장 높은 IOU수치를 보여준다.
5. Conclusion
U-Net 구조는 다양한 biomedical segmentation application에서 우수한 성능을 달성한다. elastic deformation을 이용한 data augmentation덕분에 매우 적은 데이터와 효과적인 학습 시간만이 필요하다. U-net 구조는 다양한 다른 분야에도 쉽게 적용이 될 것이다
참고 자료 출저
https://89douner.tistory.com/297
https://medium.com/humanscape-tech/paper-review-u-net-5c992d6a8fb9
댓글