논문_분석

Contensts1___U_NET: Convolutional Networks for Biomedical Image Segmentation_ 논문변역

대장장ㅇi 2024. 7. 17. 14:40

Abstract.


deep net-work의 성공적인 학습은 수천개의 주석이 달린 training sample들이 필요하다는 큰 합의가 있다. 이 논문에서는, 우리는 주석이 달린 sample 들은 더 효과적으로 사용할수 있게 하기 위해 강한 데이터 증간에 의존하는 네트워크 과 학습 전략을 발표한다. 이 구조는 문맥을 파악하기 위한 Contracting path(축소 경로) 와 정밀한 위치 추정이 가능하게 하는 symmetric expanding path(대칭 확장 경로) 로 구성되어 있다. 우리는 그러한 네트워크가 매우 적은 이미지로부터 끝까지(end-to-end) 학습될수 있도록 보여준다. 이는 전자 현미경 스택에서 neuronal 구조의 segmentation 을 위한 ISBI 챌린지에서 sliding-window convolution network 라는 이전의 최고의 method 를 능가하였다. 투과광 현미경 이미지로 훈련된 같은 network 를 사용하여 우리는 2015년 ISBI 세포 추적 챌린지에서 큰 차이로 우승했다. 게다가 그 network 는 빠르다. 512x512 이미지의 Segmentation 은 최근 GPU 에서 1초도 걸리지 않는다.
전체 구현과 훈련된 네트워크는 ~ 에서 사용할 수 있다.


Introduction


2년전, deep convolution networks 는 visual recognition(시각 인식) 작업에서 최신 기술을 능가해왔다.  convolution network 가 오랫동안 존재하는 동안, 그들의 성공은 이용가능한 training set 크기와 고려된 network 의 크기때문에 제한적이었다. Krizhevsky 외 7명의 돌파구는 백만개의 training image 를 가진 ImageNet dataset 에 8개의 layer 와 수백만개의 parameter 를 가진 대평 network 의 지도학습 덕분이었다. 그 이후로 더 깊은 네트워크들이 학습되었다.

그림 1. U-net 아키텍처 (가장 낮은 해상도에서 32x32 픽셀의 예). 각 파란색 상자는 다중 채널 특징 맵을 나타냅니다. 채널 수는 상자 상단에 표시됩니다. x-y 크기는 상자 왼쪽 아래 모서리에 제공됩니다. 흰색 상자는 복사된 특징 맵을 나타냅니다. 화살표는 다양한 작업을 나타냅니다.

 

 


convolution network 의 일반적인 사용은 이미지 출력에 대한 단일 class label 의 분류작업에 있다. 그러나 많은 visual task들에서 , 특히 biomedical image 처리에서 원하는 출력은 localization(위치지정) 을 포함해야한다. ie. class label 은 각 픽셀에 할당되어야 한다. 게다가, 수천개의 훈련 이미지는 biomedical task 에서 보통 얻기 어렵다. 따라서, Ciresan 은 각 픽셀 주위의 local region(영역) (patch) 을 입력으로 제공하여 sliding window setup 에서 네트워크를 훈련시켜 각 픽셀의 class label 을 예측했다. 
첫번째, 이 네트워크는 위치를 지정할 수 있다. 
두번째 patch 측면에서 훈련 데이터는 훈련 이미지 수보다 훨씬 많다. 그 결과 network 는 ISBI 2012 에서 EM 분할 챌린지에서 큰 차이로 우승했다.

분명히, Ciresan 등 전략에는 두가지 단점이 있다. 첫번째, 그것은 매우 느리다. 왜냐하면 네트워크는 각 Patch 마다 별도로 실행되어야 하고, 거기에는 overlapping(중복되는) patch 로 인해 많은 redundancy(중복) 가 있다. 두번째로는, localization(위치) 정확도와 context 의 사용 사이에 상관관계가 있다. 큰 patch 는 localization 의 정확도를 낮추는 max-pooling layer  가 더 필요한 반면, 작은 patch 는 오로지 작은 context 을 보도록 한다. 더 최근 접근법은 multiple layer의 특징을 고려하는 calssifier(분류기) 출력을 제안하였다. 좋은 localization 과 context의 사용이 동시에 가능하게 한다.

이 논문에서는, 우리는 더 elegant 한 architecture 에 기반을 두었다, 이른바 'fully convolution network' 우리는 이 구조가 적은 training images 에서 작동하고 정밀한 segmentation 을 제공하도록 이 architecture 를 수정하고 확장하였다. 주요한 idea 는 연속적인 layer 로 일반적인 contracting(축소) network 를 보안하는데, 여기서 pooling 연산자는 upsampling 연산자에 의해 대체된다. 따라서 이 layer 는 출력 해상도를 증가시킨다. localize 하기 위해 축소 경로의 고해상도 특징은 업샘플링된 출력과 결합된다. 연속적인 convolution layer 는 이 정보를 바탕으로 더 정밀한 출력을 조립하는 법을 배울 수 있다.

 

그림 2. 임의의 큰 이미지를 매끄럽게 분할하기 위한 오버랩-타일 전략 (여기서는 EM 스택에서 신경 구조의 분할). 노란색 영역의 분할 예측은 입력으로 파란색 영역 내의 이미지 데이터를 필요로 합니다. 누락된 입력 데이터는 미러링하여 보완됩니다.




우리 architecture 에서 중요한 수정사항중 하나는 upsampling 파트에서 네트워크가 context 정보를 더 높은 해상도 layer 로 전달할 수 있게 하는 많은 수의 특징 채널을 갖추고 있다. 그 결과, expansive path(확장 경로) 는 contracting path(축소 경로) 에 거의 대칭적이고 u-shape 구조를 형성한다. 네트워크는 어떤 fully connected layer 도 가지고 있지 않고 오로지 각 convolution 의 유효한 부분만 사용한다. 즉, segmentation map 은 오로지 입력 이미지에서 full context 가 제공하는 픽셀만을 포함한다. 이러한 전략은 overlap-tile 전략에 의해 임의의 큰 이미지를 매끄럽게 분할할 수 있게 한다. 이미지의 경계 영역의 픽셀을 예측하기 위해, 입력 이미지를 반사하여 누락된 context 를 보완한다. 이 타일링 전략은 네트워크를 큰 이미지에 적용하는 데 중요하다. 그렇지 않으면 해상도가 GPU 메모리에 의해 제한될 것이다.

우리 작업에서는 매우 적은훈련 데이터를 이용할 수 있기 때문에, 우리는 이용 가능한 training image 의 탄성 변형을 적용하여 과도한 데이터 증강을 사용하였다. 이는 네트워크가 이러한 변형에 대한 invariance(불변성) 을 학습할 수 있게 하며, annotated(주석이 달린) 이미지 데이터셋에서 이러한 변화를 볼 필요가 없다. 이것은 특히 biomedical segmentation 에서 중요한데, 변형이 조직에서 가장 흔한 변이였고 현실적인 변형이 효율적으로 simulation 될 수 있기 때문이다. 불변성을 학습하기 위한 데이터 증강의 가치는 Dosovitsky et al. 에서 비지도 feature learning  의 범위  내에서 입증되었다.

많은 세포 segementation task 에서 또다른 과제는 같은 class의 접촉하는 객체를 분리하는 것이다. 이를 위해 우리는 접촉하는 세포 사이의  separating background labels (분리 배경 레이블) 이 loss function(손실 함수) 에서 큰 weight(가중치) 를 받는 weighted loss(가중치 손실) 사용을 제안한다.

결과적인 네트워크는 다양한 biomedical segmentation 의 문제에 적용할 수 있다. 이 논문에서, 우리는 EM stack 에 신경 구조에 대한 segmentation 의 결과를 보여준다.  여기서 우리는 Ciresan 의 네트워크 보다 더 뛰어난 성능을 보였다. 더 나아가, 우리는 2015 년 ISBI 세포 tracking challenge 의 광학 현미경 이미지에서 세포 segmentation 의 결과를 보여준다. 여기서 우리는 2개의 가장 큰 도전과제인 2D전송 광 데이터 셋에서 큰 차이로 승리했다.



2. Network Architecture

 


네트워크 아키텍처는 Figure1 에 설명되어있다.
그것은 contracting path(축소 경로) (left side) 와 expansive path(확장 경로) (right side) 로 구성되어있다. contracting path 는 convolution network 의 일반적인 구조를 따른다. 그것은 2개의 3x3 convolution(padding 없는 convolution) 의 반복적인 적용으로 구성되며, 각각은 rectified linear unit(정류된 선형 유닛) (ReLU) 와 Downsampling 을 위한 stride 2의 2x2 maxpooling 연산이 뒤따른다. 각 Downsampling 단계에서 우리는 feature channel 의 수를 두배로 늘린다. expansive path 의 각 단계는 feature map 의 upsampling 과 그 뒤를 잇는 feature channel 의 수를 절반으로 줄이는 2x2 convolution("up-convolution"), contracting path 에서 해당 부분만큼 자른 특징 맵과의 연결, 그리고 두개의 3x3 convolution(각각 ReLU 가 뒤따름) 으로 구성된다. 모든 convolution 에서 border pixels 의 손실 때문에 자르기가 필요하다. 최종 레이터에서는 각 64-구성요소 feature vector 를 원하는 클래스 수로 mapping 하기 위해 1x1 convolution 이 적용된다. 전체적으로 네트워크는 23개의 convolution layer 를 갖는다.

Output segmentation map 의 원활한 tiling 을 가능하게 하기 위해, 모든 2x2 max pooling 연산이 짝수 x- 및 y- 크기 의 layer 에 적용되도록 입력 tile 크기를 선택하는 것이 중요하다.



3. Training


Input Image 와 해당 segmentation map 은 Caffe 의 stochastic gradient descent(확률적 경사 하강법) 구현을 사용하여 network 를 train 하는데 사용된다. padding 없는 convolution 때문에 output image 는 input 보다 일정한 경계 너비만큼 작다. overhead 를 최소화하고 GPU 메모리를 최대한 활용하기 위해, 우리는 큰 batch size 보다 큰 input tile 을 선호하며, 따라서 batch 의 single image 로 줄인다. 따라서 우리는 이전에 본 많은 수의 training sample 이 현재 최적화 단계의 업데이트를 결정하도록 높은 momentum(0.99) 를 사용한다.

에너지 함수는 최종 특징 맵에 대한 픽셀 단위의 소프트맥스를 통해 계산되며, 크로스 엔트로피 손실 함수와 결합됩니다. 소프트맥스 함수는 다음과 같이 정의됩니다:
$$
p_k(x) = \frac{\exp(a_k(x))}{\sum_{k'=1}^{K} \exp(a_{k'}(x))}
$$

여기서 
𝑎𝑘(𝑥)는 픽셀 위치 𝑥에서 특징 채널 𝑘의 활성화 값을 나타냅니다. Ω ⊂ 𝑍^2는 픽셀 위치를 나타내고, 𝐾는 클래스의 수입니다.  𝑝𝑘(𝑥)는 최대 함수의 근사값으로, 클래스 𝑘에 해당하는 활성화 값 𝑎𝑘(𝑥)가 최대일 때 𝑝𝑘(𝑥) 는 1에 가깝고 나머지 클래스의 경우 0에 가깝습니다.

크로스 엔트로피는 각 위치에서 
𝑝ℓ(𝑥)(𝑥)가 1에서 벗어나는 정도를 벌점으로 계산합니다:
$$
E = \sum_{x \in \Omega} w(x) \log(p_{\ell(x)}(x))
$$
여기서 ℓ:Ω→{1,…,𝐾}는 각 픽셀의 실제 레이블을 나타내고, w:Ω→R는 학습에서 일부 픽셀에 더 많은 중요성을 부여하기 위해 도입된 가중치 맵입니다.

각 실제 분할 맵에 대해 가중치 맵을 미리 계산하여 학습 데이터 세트에서 특정 클래스의 픽셀 빈도를 보상하고, 접촉하는 세포 사이의 작은 분리 경계를 학습하도록 네트워크를 강제합니다. 분리 경계는 형태학적 작업을 사용하여 계산됩니다. 가중치 맵은 다음과 같이 계산됩니다:

$$
w(x) = w_c(x) + w_0 \cdot \exp\left( -\frac{(d_1(x) + d_2(x))^2}{2\sigma^2} \right)
$$

여기서 𝑤𝑐:Ω→R는 클래스 빈도를 균형 있게 맞추기 위한 가중치 맵이고, 𝑑1:Ω→R는 가장 가까운 세포의 경계까지의 거리, 𝑑2:Ω→R는 두 번째로 가까운 세포의 경계까지의 거리입니다. 실험에서는 w0=10과 𝜎≈5 픽셀로 설정됩니다.

많은 합성곱 층과 네트워크를 통해 다양한 경로가 있는 딥 네트워크에서는 가중치의 좋은 초기화가 매우 중요합니다. 그렇지 않으면 네트워크의 일부가 과도한 활성화를 일으키고 다른 부분은 기여하지 않게 됩니다. 이상적으로는 네트워크의 각 특징 맵이 대략 단위 분산을 가지도록 초기 가중치를 조정해야 합니다. 제안된 아키텍처(교차하는 합성곱 및 ReLU 층)를 가진 네트워크에서는 가중치를 다음과 같이 초기화하여 이를 달성할 수 있습니다:

$$
\text{표준 편차} = \sqrt{\frac{2}{N}}
$$

여기서 
𝑁은 한 뉴런의 입력 노드 수를 나타냅니다. 예를 들어, 3x3 합성곱과 이전 층에서 64개의 특징 채널이 있는 경우 N=9×64=576입니다. 따라서 가중치는 평균이 0이고 표준 편차가 (2/576)^(1/2)인 가우시안 분포에서 샘플링됩니다.


3.1 Data Augmentation

 


데이터 증강은 적은 수의 학습 샘플이 있을 때 네트워크에 원하는 불변성과 강건성 특성을 가르치는 데 필수적입니다. 미세조직 이미지를 사용할 경우 주로 이동과 회전 불변성뿐만 아니라 변형과 회색 값 변화에 대한 강건성이 필요합니다. 특히, 학습 샘플의 랜덤 탄성 변형은 아주 적은 수의 주석이 달린 이미지로 분할 네트워크를 학습시키는 핵심 개념인 것으로 보입니다. 우리는 3x3 격자에서 랜덤 변위 벡터를 사용하여 부드러운 변형을 생성합니다. 변위는 표준 편차가 10 픽셀인 가우시안 분포에서 샘플링됩니다. 각 픽셀의 변위는 삼차회선 보간법(bicubic interpolation)을 사용하여 계산됩니다. 수축 경로 끝에 있는 드롭아웃 레이어는 추가적인 암묵적 데이터 증강을 수행합니다.



4 Experience

 


우리는 세 가지 다른 분할 작업에 u-net의 적용을 시연합니다. 첫 번째 작업은 전자 현미경 기록에서 신경 구조의 분할입니다. 데이터 세트와 우리가 얻은 분할 예시는 그림 2에 표시되어 있습니다. 전체 결과는 보충 자료로 제공합니다. 데이터 세트는 ISBI 2012에서 시작된 EM 분할 챌린지[14]에서 제공되었으며, 여전히 새로운 기여를 받고 있습니다. 학습 데이터는 초파리 1령 유충의 복부 신경 코드(VNC)의 연속 절편 전자 현미경에서 얻은 30개의 이미지(512x512 픽셀) 세트입니다. 각 이미지는 세포(흰색)와 막(검은색)에 대한 완전히 주석이 달린 실제 분할 맵과 함께 제공됩니다. 테스트 세트는 공개되어 있지만, 그 분할 맵은 비밀로 유지됩니다. 평가를 받으려면 예측된 막 확률 맵을 주최자에게 보내야 합니다. 평가는 10개의 다른 수준에서 맵을 임계값으로 설정하고 “왜곡 오류”, “Rand 오류” 및 “픽셀 오류”[14]를 계산하여 수행됩니다.

u-net(입력 데이터의 7개의 회전된 버전 평균)은 추가 전처리나 후처리 없이 0.0003529의 왜곡 오류(새로운 최고 점수, 표 1 참조)와 0.0382의 Rand 오류를 달성합니다. 이는 Ciresan 등[1]의 슬라이딩 윈도우 합성곱 네트워크 결과보다 상당히 우수한데, 이들의 최고 제출물은 0.000420의 왜곡 오류와 0.0504의 Rand 오류를 기록했습니다. Rand 오류 측면에서 이 데이터 세트에서 더 나은 성능을 보이는 알고리즘은 Ciresan 등[1]의 확률 맵에 매우 특화된 후처리 방법을 적용한 것뿐입니다.

우리는 또한 u-net을 광학 현미경 이미지에서 세포 분할 작업에 적용했습니다. 이 분할 작업은 ISBI 세포 추적 챌린지 2014 및 2015[10,13]의 일부입니다. 첫 번째 데이터 세트 “PhC-U373”은 위상차 현미경으로 기록된 폴리아크릴아마이드 기판 위의 교모세포종-성상세포종 U373 세포를 포함합니다(그림 4a,b 및 보충 자료 참조). 여기에는 부분적으로 주석이 달린 35개의 학습 이미지가 포함되어 있습니다. 여기서 우리는 92%의 평균 IOU(“교집합 대 합집합”)를 달성했으며, 이는 83%의 두 번째로 좋은 알고리즘보다 상당히 우수합니다(표 2 참조). 두 번째 데이터 세트 “DIC-HeLa”는 평면 유리에 있는 DIC(차등 간섭 대비) 현미경으로 기록된 헬라 세포를 포함합니다(그림 3, 그림 4c,d 및 보충 자료 참조). 여기에는 부분적으로 주석이 달린 20개의 학습 이미지가 포함되어 있습니다. 여기서 우리는 평균 IOU 77.5%를 달성했으며, 이는 46%의 두 번째로 좋은 알고리즘보다 상당히 우수합니다.


5. Conclusion


u-net 아키텍처는 매우 다양한 생물의학적 분할 응용 분야에서 매우 우수한 성능을 달성합니다. 탄성 변형을 이용한 데이터 증강 덕분에 매우 적은 수의 주석이 달린 이미지로도 충분하며, NVidia Titan GPU (6GB)에서 단 10시간의 매우 합리적인 학습 시간만 필요합니다. 우리는 Caffe[6] 기반의 전체 구현과 학습된 네트워크를 제공합니다. u-net 아키텍처는 더 많은 작업에 쉽게 적용될 수 있다고 확신합니다.

 

 


> 출처
https://arxiv.org/pdf/1505.04597