본문 바로가기
Paper review

[Paper review] Convolutional Networks for BiomedicalImage Segmentation(U-Net, 2015)

by Yonghip 2023. 6. 19.

이번에 리뷰할 논문은 UNet이다. task별로 적어도 하나의 논문은 읽기 위해 노력 중인데

segmentation에서 근본이라 할 수 있는 논문은 FCN이지만 강의에서 이해한 내용으로 충분하다 생각해서 UNet을 리뷰하려 한다.

사실 개념자체는 FCN과 유사하고 이를 구현한 아키텍처면에서만 조금의 차이가 있는 것 같았다.

 

Abstract, Introduction

초록과 도입 부분은 여타 논문과 유사하다.

 

저자는 딥러닝의 발전이 빠르지만 이는 방대한 데이터양 덕분이며 의료분야에서는 통용되지 않는 점을 시사했다. 또한 당시 segmentation계를 뜨겁게 달군 FCN구조를 기반으로 더 좋은 구조의 아키텍처를 구성하였다.

 

U-Net Architecture 

U-net의 구조는 보다시피 매우 직관적이다.저자는 이러한 FCN구조를 크게 두 파트로 나누어 표현했는데 바로 특성을 포착하는 왼쪽을 contracting path 그리고 예측을 정교화하는 오른쪽을 expanding path라고 정의했다.

 

연산은 기존의 CNN과 transposed CNN과 큰 차이가 없다. 차이점으로는 contracting path와 expanding path에서 zero padding을 적용하지 않는다는 점이다.

 

그리고 이 U-net구조의 가장 큰 차별점은 contracting path의 모듈의 마지막 출력가중치를 expanding path의 첫 번째 모듈과 concat한다는 점이다. 저자는 이로 인해 FCN과 달리 expanding path에서도 많은 채널을 가질 수 있게 되기 때문에 좋은 성능을 얻었을 것이라 추측했다(skip-connection보다는 channel 증가로 인한 rich feature를 복원할 수 있다는 점에 더 강조를 둔 것 같았습니다.)

 

구현시 하나의 주의점으로는 concat해주는 weight들의 w와 h가 다르다는 점이며 각각 [568, 392], [280, 200], [136, 104]의 가중치들을 concat 하고 있다. 이 과정에서 사이즈가 큰 contracting path의 가중치를 crop한 다음 concat하여 구현하였다.

 

U-Net loss

저자는 아키텍처 외에도 다양한 기법을 적용하여 성능을 끌어올렸다 했는데 개인적으로 그중에서 loss 쪽에 가장 눈이 갔갔었다. cell들이 경계면을 잘 잡아내지 못하는 도메인적 특성을 파악하여 cell의 경계면에 높은 loss를 주도록 구현하였다.

솔직히 수식엔 자신이 없는데 기존 가중치에 d1(가장 가까운 경계의 거리) d2(두번째로 가까운 경계의 거리)부분만 본다면  경계면과 거리가 가까울수록 큰 loss를 가지게 되는 경향의 loss를 사용하였다는걸 알 수 있다.

 

Augmentation

저자가 강조한 기법 중 하나는 증강 시 elastice deformation을 적용한 것이다.생전 처음 들어본 증강 기법이었는데 다른 X-ray 데이터에서도 흔들림에 robust를 보장해 주는 데 사용된다고 한다. 이 논문의 task가 세포 segmentation인데 task에 적절한 증강법을 현명히 선택한 것 같다.

 


U-net은 segmentation task를 배우면 가장 먼저 배우게 되는 모델인 것 같다.개인적으로는 segmentation에 대한 인사이트는 크게 중요한 점이 없던 것 같고 보통 imagenet을 사용해 architecture적으로 접근하는 모델을 많이 봐와서 그런지 다른 task에서 모델을 고도화하기 위해 사용하는 loss, augmentation 등의 기법이 더 흥미로웠다.

 

 

출처: https://arxiv.org/abs/1505.04597

https://eduardo-castro.github.io/pdf_files/BHI2018.pdf