💬 Semantic segmentation(Dense prediction) : Image를 Pixel단위로 구분해 각 pixel이 어떤 물체 class인지 구분하는 문제
Semantic segmentation은 convolutional 레이어를 사용해 encoder에서 feature를 추출한 다음, original 이미지의 모든 픽셀을 분류하기 위해 decoder에서 original 이미지 크기를 복원.
Semantic Segmentation설명, 출처 : Stanford uni.
◾ Abstract - 이 아키텍처는 컨텍스트를 캡처하기위한 축소 경로와 정확한 localization를 가능하게하는 대칭 확장 경로(symmetric expanding path)로 구성 - 매우 적은 이미지에서 end-to-end 학습될 수 있으며,
- 전자 현미경 스택에서 신경 구조의 세분화를 위한 ISBI 과제에서 이전의 슬라이딩 윈도우 컨볼루션 네트워크을 능가
- 투과광 현미경 이미지 (phase contrast and DIC 위상 대비 및 DIC)에서 학습된 동일한 네트워크를 사용하여 이러한 범주에서 2015 년 ISBI 세포 추적 챌린지에서 큰 차이로 우승.
- 빠른 네트워크 (512x512 image segmentation은 최근 GPU에서 1초 미만.)
◾ Introduction
ImageNet 등의 놀라운 발견은 1백만 개의 학습 이미지가있는 ImageNet 데이터 세트에 8 개의 계층과 수백만 개의 매개 변수가있는 대규모 네트워크의 지도학습 때문이었습니다. → 그 이후로 더 크고 더 깊은 네트워크가 학습 컨벌루션 네트워크의 일반적인 사용은 분류 작업에 있으며, 이미지에 대한 출력은 단일 클래스 레이블입니다. 그러나 많은 시각적 작업, 특히 생의학 이미지 처리에서 원하는 출력에는 localization이 포함되어야 합니다.
즉, 클래스 레이블이 각 픽셀에 할당되어야 합니다.
또한, 수천 개의 교육 이미지는 일반적으로 생물 의학 작업에서 도달 할 수 없습니다. 따라서, Multi-column Deep Neural Networks for Image Classification은 해당 픽셀 주변의 로컬 영역 (패치)을 입력으로 제공하여 각 픽셀의 클래스 레이블을 예측하도록 슬라이딩 윈도우 설정에서 네트워크를 훈련했습니다. 첫째, 이 네트워크는 localization 할 수 있습니다.
둘째, 패치 측면에서 학습 데이터는 학습 이미지의 수보다 훨씬 큽니다. 그 결과, 네트워크는 ISBI 2012의 EM 세분화 도전에서 큰 차이로 승리
기존의 FCN(Fully convolutional networks for semantic segmentation)에는 두 가지 단점이 있습니다.
Fully convolutional networks for semantic segmentation 학습① 첫째, 네트워크는 각 패치에 대해 별도로 실행되어야 하기 때문에 → 패치 겹침으로 인해 상당히 느리고 중복성이 많다. ② 둘째, localization 정확도와 컨텍스트 사이에 절충안(trade-off)이 있습니다. 패치가 클수록 현지화 정확도(localization accuracy)를 낮추는 더 많은 Maxpooling layer가 필요하지만, 패치가 작을수록 네트워크가 협소한 컨텍스트만 볼 수 있습니다. → 지역정보가 날아감
이 논문에서 "완전 컨볼루션 네트워크"(“fully convolutional network”) 아키텍처를 수정하고 확장하여 매우 적은 수의 학습 이미지로 작동하고 더 정확한 segmentaion을 생성 (localization와 context capture이 동시에 가능합니다.그림 1 참조.)
Fully convolutional networks for semantic segmentation 학습과 UNet 비교
Fully convolutional networks for semantic segmentation (2014)의 주요 아이디어는 풀링 연산자가 업샘플링 연산자로 대체되는 연속 계층으로 일반적인 contractive 네트워크를 보완하는 것. 따라서 이러한 레이어는 출력의 해상도를 증가시킵니다.
💬 Overlap-tile strategy란 :
Overlap-tile 전략은 U-Net에서 다루는 전자 현미경 데이터의 특성상 이미지 사이즈의 크기가 상당히 크기때문에 patch 단위로 잘라서 input으로 넣음
이때 그림 3에서 보는 것과 같이 border 부분에 정보가 없는 빈 부분을 0으로 채우거나, 주변의 값들로 채우거나 이런 방법이 아닌 mirroring 방법으로 pixel의 값을 채워주는 방법
노란색 영역 : 실제 segmentation될 영역, 파랑색 영역 : patch
Overlap-tile Strategy 전략을 사용하여 patch 단위로 잘라서 input으로 사용
Overlap-tile Strategy 전략에 대한 설명, 출처 : https://modulabs-biomedical.github.io/U_Net
Overlap-tile이라는 이름은 파랑색 부분이 patch 단위로 잘라서 세그멘테이션을 하게되는데 이 부분(patch,tile)이 아래 그림 처럼 겹쳐서 뜯어내어 학습시키기 때문
◾ Network Architecture
네트워크 아키텍처는 그림 1에 설명되어 있습니다. 이는 축소 path (contractive,왼쪽)와 확장 path (expansive,오른쪽)로 구성됩니다.
U-Net Architecture 설명
1) Convolution Encoder에 해당하는 Contracting Path + Convolution Decoder에 해당하는 Expanding Path의 구조로 구성. (해당 구조는 Fully Convolution + Deconvolution 구조의 조합) 2) Expanding Path에서 Upsampling 할 때, 좀 더 정확한 Localization을 하기 위해서 Contracting Path의 Feature를 Copy and Crop하여 Concat 하는 구조.
✅Contractive path는 컨볼루션 네트워크의 일반적인 아키텍처를 따릅니다.(다운샘플링)
▫3x3 컨볼루션을 2번씩 반복적으로 적용(패딩되지 않은 컨볼루션)한 후 각각 ReLU (rectified linear unit)
▫Expansive path의 모든 단계는 feature map의 업 샘플링과 feature channel 수를 절반으로 줄이는 2x2 컨볼루션 ( "업-컨볼루션"),
▫feature map은 반으로 줄임
▫Contracting Path에서 Max-Pooling 되기 전의 feature map을 Crop 하여 Up-Convolution 할 때 concatenation
▫ 2 개의 3x3 컨볼루션, 각각 뒤에 ReLU가 있습니다.
▫모든 컨볼루션에서 테두리 픽셀의 손실로 인해 자르기가 필요합니다.
▫최종 레이어에서 1x1 컨볼 루션을 사용하여 각 64 개의 구성 요소 특징 벡터를 원하는 수의 클래스에 매핑합니다.
▫전체적으로 네트워크에는 23 개의 컨벌루션 레이어가 있습니다. ▫output segmentation map의 매끄러운 타일링(seamless)을 허용하려면 모든 2x2 Max pooling이 x 및 y 크기가 균등한 레이어에 적용되도록 입력 타일 크기를 선택하는 것이 중요합니다.(그림 2 참조) ▫마지막 Final Layer에서는 1X1 convolution을 사용하여 2개의 클래스로 분류합니다.
▫U-Net은 총 23개의 convolution layer가 사용됐습니다.
◾ Training
그림3. DIC (차동 간섭 대비) 현미경으로 기록 된 유리의 HeLa 세포.
a : HeLa cells(무한하게 증식하는 세포) 현미경 raw image
b : color를 다르게 한 ground truth
c : segmentation mask white - foreground/black-background
d : pixel-wise loss를 사용해서 세포의 경계선을 학습시킴
▫입력 이미지와 그에 상응하는 segmentation map은 Caffe의 SGD(확률적 경사 하강법) 구현으로 네트워크를 훈련시키는 데 사용
▫패딩되지않은 conv로 인해 출력 이미지는 일정한 테두리 너비만큼 입력보다 작음
▫오버 헤드를 최소화하고 GPU 메모리를 최대한 활용하려면 큰 배치 크기보다 큰 입력 타일을 선호하므로 배치를 단일 이미지로 줄입니다.
▫따라서 우리는 이전에 본 많은 수의 훈련 샘플이 현재 최적화 단계에서 업데이트를 결정하도록 높은 모멘텀 (0.99)을 사용합니다.
▫에너지 함수는 cross entropy loss function과 결합된 최종 featrue map에 대해 픽셀 단위 소프트 맥스(pixel-wise softmax)에 의해 계산됩니다.
1 ) Data Augmentation
현미경 이미지의 경우 주로 변형 및 회색 값 변화에 대한 견고성뿐만 아니라 이동 및 회전 불변성이 필요
특히 학습 샘플의 random elastic deformations(무작위 탄성 변형==data augmentation)은 주석이 달린 이미지가 거의없는 segmentation 네트워크를 훈련하는 핵심 개념 인 것 같습니다.
▫3x3 그리드(coarse)에서 임의의 변위 벡터(displacement vectors)를 사용하여 부드러운 변형(smooth deformation)을 생성.
▫Displacemnet는 표준 편차가 10 픽셀 인 가우스 분포에서 샘플링됩니다.
Per-pixel displacements(픽셀 당 변위)는 bicubic interpolation(쌍 입방 보간)을 사용하여 계산되며, contrasive pat의 끝에있는 드롭 아웃 레이어는 추가 암시적 데이터 증강.
◾ Experiments
그림 5. ISBI 세포 추적 결과.
(a) 입력 이미지의 일부 "PhC-U373"데이터 세트.
(b) 수동 Ground Truth를 사용한 분할 결과 (시안 마스크) (노란색 테두리)
(c) "DIC-HeLa"데이터 세트의 입력 이미지.
(d) 분할 결과 (무작위 색상 마스크) 수동 Ground Truth (노란색 테두리).
우리는 세 가지 다른 세분화 작업에 u-net을 적용하는 방법을 보여줍니다. 1. 첫 번째 작업은 전자 현미경 기록에서 신경 구조의 세분화입니다. 데이터 셋과 얻은 segmentation의 예가 그림 2에 표시됩니다. (보충 자료로 전체 결과를 제공)
데이터 셋은 ISBI 2012에서 시작된 EM Segmentation Challenge(세분화 챌린지)에 의해 제공되며 여전히 새로운 기여를 위해 열려있습니다. 학습 데이터는 Drosophila 첫 번째 instar 유충 복부 신경 코드 (VNC)의 직렬 섹션 전송 전자 현미경에서 얻은 30 개의 이미지 (512x512 픽셀) 세트.
Input training data and corresponding labels. 출처 : http://brainiac2.mit.edu/isbi_challenge/home
각 이미지에는 셀 (흰색) 및 멤브레인(막, 검은 색)에 대한 해당하는 완전히 주석이 달린 Ground Truth 분할 맵이 함께 제공됩니다. 테스트 세트는 공개적으로 사용할 수 있지만 세분화 맵은 비밀로 유지됩니다. Predicted membrane probability map(예측된 막 확률지도)를 organizers에게 보내 평가를 얻을 수 있습니다. 평가는 10 개의 서로 다른 레벨에서 맵의 임계값을 설정하고 “warping error”, the “Rand error” and the “pixel error”("뒤틀림 오류", "랜드 오류"및 "픽셀 오류")를 계산하여 수행됩니다. U-Net (입력 데이터의 회전된 7개 이상 버전의 평균)은 전처리 또는 후처리없이 0.0003529 (새로운 최고 점수, 표 1 참조)의 워핑 오류와 0.0382의 랜더 오류를 달성. 이것은 Multi-column Deep Neural Networks for image classification 등의 슬라이딩 윈도우 컨벌루션 네트워크 결과보다 훨씬 낫습니다.
가장 좋은 제출물은 뒤틀림 오류가 0.000420이고 랜드 오류가 0.0504입니다. 랜드 오류(rand error) 측면에서 이 데이터 세트에 대한 유일하게 더 나은 성능의 알고리즘은 Fully Connected for Image segmentation의 확률맵에 적용된 고도의 데이터 세트 특정 후 처리 방법을 사용합니다.
2. u-net을 광학 현미경 이미지의 세포 분할 작업에 적용.
이 세분화 작업은 2014년 및 2015년 ISBI Cell tracking(셀 추적) 과제의 일부입니다 첫 번째 데이터 세트 "PhC-U373"2에는 위상차 현미경으로 기록 된 폴리 아크릴이 미드 기판에 Glioblastoma-astrocytoma U373 세포가 포함되어 있습니다 (그림 4a, b 및 Supp. 재료 참조).
그림4. DIC (차동 간섭 대비) 현미경으로 기록 된 유리의 HeLa 세포.
a : HeLa cells(무한하게 증식하는 세포) 현미경 raw image
b : color를 다르게 한 ground truth
c : segmentation mask white - foreground/black-background
d : pixel-wise loss를 사용해서 세포의 경계선을 학습시킴
여기에는 부분적으로 주석이 달린 35 개의 학습 이미지가 포함되어 있습니다.
여기서 우리는 92 %의 평균 IOU ( "intersection over union 합체를 통한 교차")를 달성했습니다. 이는 83 %의 두 번째로 좋은 알고리즘보다 훨씬 낫습니다 (표 2 참조).
두 번째 데이터 세트 "DIC-HeLa"3는 차동 간섭 대비 (DIC) 현미경으로 기록 된 평면 유리의 HeLa 셀입니다 (그림 3, 그림 4c, d 및 보조 재료 참조).
부분적으로 주석이 달린 20 개의 훈련 이미지가 포함되어 있습니다.
여기서 우리는 46 %의 두 번째로 좋은 알고리즘보다 훨씬 좋은 77.5 %의 평균 IOU를 달성했습니다.
◾ Conclusion
U-Net 아키텍처는 매우 다른 biomedical segmentation분야에서 매우 우수한 성능을 달성합니다.
▫Elastic deformations(탄성 변형)을 통한 데이터 증가 덕분에 주석이 달린 이미지가 거의 필요하지 않음