윤제로의 제로베이스

Image Segmentation Using Deep Learning: A Survey (1) 본문

Self Paper-Seminar/Semantic Segmentation

Image Segmentation Using Deep Learning: A Survey (1)

윤_제로 2023. 7. 4. 17:01

https://arxiv.org/abs/2001.05566

 

Image Segmentation Using Deep Learning: A Survey

Image segmentation is a key topic in image processing and computer vision with applications such as scene understanding, medical image analysis, robotic perception, video surveillance, augmented reality, and image compression, among many others. Various al

arxiv.org

3. DL-Based Image Segmentation models

3.1 Fully Convolution Networks(FCN)

 

FCN은 오직 Convolutional layers만 사용한 첫번째 딥러닝이다. CNN을 깊게 쌓으면 초기의 정보들이 소실되는 치명적인 단점이 있었는데 이 부분을 Skip Connection을 사용해서 Semantic information(deep, coarse layer)과 appearnce information(shallow, fine layer)을 합침으로써 좀 더 자세하고 정확한 segmentation이 가능해졌다. 

Skip Connections

하지만 여전히 FCN의 단점이 존재했는데 1) not fast enough for real-time inference, 2) not take into account the global context information in an efficient way, 3) not easily transferable to 3D images 이다.

 

이 단점을 극복하기 위해서 ParseNet이 등장했다. FCN의 global context를 무시하는 특징을 해결하기 위해서 average feature for a layer to augment the features at each location 방법을 사용하였다.

ParseNet

3.2 Convolutional Models With Graphical Models

FCN이 유용한 scene-level의 semantic context를 무시하다보니 이 점을 극복하기 위해서 여러 기법이 나왔고 그 중 하나가 incoporate probabilitic graphical model를 사용하는 것 이었다. 

 

Conditional Random Fields(CRFs)의 경우 CNN을 쌓았을 때 마지막 Layer가 segmentation을 하기 위해서 poor localized를 갖고 있다는 점을 보완하여 마지막 layer를 Fully Connected CRF로 변경하였다.

DCNN과 CRF 비교
CNN + CRF model

이후에 CNN과 CRF를 사용한 후속 연구들이 진행되었다. 

Schwing and Urtasun의 "Fully connected deep structured networks"에서는 CNN과 fully connected CRFs를  jointly하게 train하여 semantic segmentation에 사용하였다.

Lin et al.의 "Conditional random fields as recurrent neural networks"에서는 contextual deep CRFs를 사용하였다. (?)

 

Liu et al.의  “Semantic image segmentation via deep parsing network,” 에서는 Markov Random Fields(MRFs)를 사용하였다. 

(CRFs MRFs는 한 번 따로 짧게라도 다뤄보도록 하자...)

3.3 Encoder-Decoder Based Models

3.3.1 Encoder-Decoder Models for Genenral Segmentation

"Learning deconvolution network for semantic segmentation"에서 encoder decoder 모델을 사용해서 segmentation을 진행했다. encoder에 Convolution network와 Deconvolution network를 사용하여 feature vector를 pixel-wise class probabilities로 만들었다. 

Deconvolutional semantic segmentation

또 다른 연구로는 SegNet이 있다. Convolutional encoder decoder architecture를 사용하였다. 

SegNet has no fully-connected layers; the model is fully convolutional.

여기서 특이한 점은 Pooling Indices를 사용하여 non-linear upsampling을 진행하였다는 것이 큰 특징이다. 이전의 max pooling을 진행하는 indices를 기억했다가 Upsampling을 할 때 사용하여 테두리의 정확도를 높이는데 사용하였다.

기존의 DeconvNet과 U-Net의 차이점을 생각해보면 DeconvNet은 중간에 Fully Connected Layer가 사용되지만 SegNet에서는 Convolutional Layer밖에 사용하지 않고, U-Net은 전체의 Feature map을 concat해버리는 방식으로 사용한다.

 

또 다른 논문으로 HRNet(High-resolution Network)이 있다.

high-to-low convolution을 Parallel하게 만든다. 즉 high resolution을 유지한 상태로 하고 low resolution을 병렬적으로 추가한다고 생각하면 된다(Multi-resolution streams in parallel). 이렇게 할 경우 low resolution을 high resolution으로 올릴 필요도 없고 중간에 각 resolution information 즉 feature을 서로 받기 때문에 정확도도 올릴 수 있다. 

 

이외에도 Encoder-Decoder architecture 혹은 transposed convolution을 사용한 연구로는 Stacked Deconvolutional Network(SDN), Linknet, W-net, locality-sensitive deconvolution networks for RGB-D segmentation이 있다. 

 

이러한 Encoder-Decoder의 architecture를 갖는 경우 어쩔수 없는 한계점을 갖게 되는데 그것은 Loss of fine-grained information of the image이다. 여기서 loss of fine-grained information of the image의 경우 loss of high-resolution representations through the encoding process로 인해 발생하는 것이다. 다시 말해 Convolution layer를 거치면서 high resolution을 잃게 되면서 생기는 한계인 듯 싶다. 하지만 HRNet처럼 high resolution representation을 잃지 않는다면 위와 같은 한계는 해결이 된다.

 

 

3.3.2 Encoder-Decoder Models for Medical and Biomedical Image Segmentation

Medical image segmentation에서는 어떠한 방법이 쓰였는지 찾아보도록 하자.

가장 유명하게 쓰이는 것이 U-netV-net이 있다. 

 

U-net은 bio image를 위해서 사용되기 시작했기 때문에 data augmentation에 의존하는 편이라고 한다. (애초에 bio image들이 개수가 적기 때문에...) 

U-net은 크게 2가지 파트로 나뉘는데 Contracting pathSymmetric expanding path로 나뉜다. 

Contracting path(extract features)는 to capture context이고 Symmetric expanding path(Up-sampling)는 to enable precise localization이다. 여기서 up-sampling의 과정에서의 특징은 feature map의 개수는 줄이고 dimension을 줄이는 방법을 사용한다. 또한 down-sampling part에서는 각각의 feature map을 copied하여 up-sampling시에 정보를 잃는 것을 막기위해 사용한다. 마지막엔 1*1 convolution을 사용하여 각각의 probability를 계산한다. 

V-net은 FCN기반으로 3D medical image segmentation을 위해 사용되었다. V-net은 U-net과 거의 형식이 비슷한데 다른 점은 3D image를 기반으로 하기 때문에 voxel형태로 처리되며, U-net과는 다르게 residual learning, 즉 잔차 학습이 포함되어 있다. (residual learning 부분을 다시 한 번 보는 걸로..) 더불어서 PReLU라는 비선형 활성 함수를 사용했다.