cs
U-Net
DL·ML/Vision

U-Net

 

 

Motivation

U-Net은 biomedical image segmentation task에 적용하기 위해 처음 개발된 model이다.

 

MLP를 사용할 경우 연산량이 너무 많고, CNN을 사용하여 resolution을 줄일 경우 feature extraction은 잘 되지만, high resolution에서의 segmentation task에는 약해진다는 문제점을 해결하기 위해 제안되었다.

 

이를 해결하기 위해 channel을 늘리면서 CNN을 적용하고 channel을 다시 줄여 feature extraction을 한다. 중요한 점은 contracting path와 expanding path를 symmetric하게 만들어서 hierarchy 상에서 같은 resolution이 대응되게 한다는 점이다. 이를 이용하여 resolution이 같은 layer끼리 skip connection을 만들어 high resolution feature와 low resolution의 strong feature가 함께 사용될 수 있게 하였다. 이 아이디어는 FPN과 비슷한 점이 있다. 

 

원래 paper에서는 biomedical image segmentation에 적용하려고 사용했지만, 강력한 성능으로 인해 많은 vision downstream task에서 활용된다.

 

 

 

Methods

 

 

Contracting Path and Expansive Path 

U-Net은 왼쪽의 contracting path와 오른쪽의 expansive path로 구분할 수 있다.

 

contracting path에서는 연속된 2개의 3×3 convolution layer + ReLU + 2×2 max pooling이 반복된다. 각 과정에서 channel 개수는 2배가 된다.

 

expansive path에서는 2×2 up-convolution에서 channel을 반으로 줄이고 2개의 3×3 convolution, ReLU를 적용한다. 이때 up-convolution은 transposed convolution을 의미한다.

 

마지막에는 1×1 convolution으로 64 channel을 class 개수로 줄인다. 

 

 

Concatenation of High Resolution Features

U-Net에서는 localization을 위해 contracting path의 high resolution feature들을 expansive path에 concatenate해서 사용했다. convolution 연산 때문에 정확히 사이즈가 맞지 않아서 crop을 해서 concate했다.  

 

 

 


References

[1] Ronneberger, O., Fischer, P., & Brox, T. (2015). U-net: Convolutional networks for biomedical image segmentation. In Medical image computing and computer-assisted intervention–MICCAI 2015: 18th international conference, Munich, Germany, October 5-9, 2015, proceedings, part III 18 (pp. 234-241). Springer International Publishing.

Footnotes