AI/CV

Deeplab V1 : Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully connected CRFs

우당탕탕인생기 2023. 7. 6. 23:11

1. 논문소개


위 논문은 기존의 DCNNs(Deep Convolutional Neural Networks) 모델은 Classification에는 좋은 성능을 냈지만, Segmentation 에서는 좋은 성능을 내지 못해서 이를 극복하기 위해 나온 논문이며, 모델 이름은 Deeplab 이다.

 

기존의 DCNNs 모델이 Classification 에서는 좋은 성능을 보이지만, Segmentation 에서는 좋은 성능을 내지 못하는 이유는  pixel 단위의 예측을 해야하는 Segmentation 분야에서는 해당 픽셀의 특징과 함께 지역적인 정보도 중요한데 , Max Pooling 과 CONV layer를 통과하면서 지역적인 특징을 잘 추출하기 어렵기 때문이다.

 

그 외에도, DCNNs 의 경우 Fc layer를 거치므로, 사이즈가 정해져 있어 다양한 크기의 스케일에 대응하기 어렵고, 객체의 중앙부분을 섬세하게 Segmentation 하기가 어렵다.

 

이를 해결 하기 위해 위 논문에서는 

 

(1) Astrous Convolution 

(2) CRF ( Conditional Random Field)

(3) Atrous Spatial Pyramid Pooling

 

위 세가지 방법을 통해 해결 하였다.

 

우선, Astrous Convolution은 지난 포스팅에 다뤘던 내용인데receptive field를 넓혀 이미지의 전체적인 특징을 더 잘잡아내면서, 파라미터 수를 감소시키고 연산시간을 감소시키는 Convolution 연산이다.

(2) CRF ( Conditional Random Field)는 이미지의 경계선을 더 잘 잡아내기 위한 방법으로, 든 픽셀을 CRF 노드로 취급하고, long-range dependencies를 활용하고, mean field inference를 사용한다. (후처리를 한다.)

 

이를 통해 인접픽셀을 더 잘 구분하여, 결계선이 더욱 잘 보이는 효과가 있다.

실제 모델에서는 아래와 같이 DCNNs를 거쳐 나온 Coarse한 스코어맵을 보간법을 통해 up -sampling 이후 Fc CRF를 걸쳐Smooth 한 이미지가 나오게 되는 것이다.

 

 

(3) Atrous Spatial Pyramid Pooling 은 다양한 스케일의 이미지를 인풋으로 받아 학습할 수 있도록 하는 방식이다.

 

ASPP는 여러 병렬적인 atrous convolutional layers를 만든 다음 sampling rate을 다르게 한다.이를 통해 다양한 receptive field 들이 각각의 피쳐를 만들게 되고 이를 하나의 결과물로 만들게 된다. 이것이 다양한 스케일의 이미지가 들어와도 다양한 시각(receptive field)를 통해 학습하여 이를 보완한다.

2. 모델 architecture


 

backbone 모델로는 VGG16를 사용하였습니다. VGG16과의 차이점은 conv5에 convolution이 Astrous Convolution이 사용되었습니다. 또한 fully connected layer 가 아닌 fully convolutional layer 가 사용이 되었고, 마지막에 up - sampling 으로 선형 보간법이 사용되었습니다. 이렇게 나온 output를  Fc CRF를 통해 경계선을 더욱 잘 표현할 수 있도록 하였습니다.

 

3. Experiment


실제로 보면, CRF를 사용한것이 Mean IOU가 더 높은 것을 볼 수 있다.

 

 

 

 

위 논문은 기본적인 CNN계열의 모델에서 Astrous Convolution를 효과적으로 사용하여 성과를내었고, 추가적으로 이미지 분야에서는 많이 쓰이지 않았던 CRF 개념을 가져와 적용시켰다는 점에서 꽤나 인상깊은 논문이었다.

 

이후에 Deeplab v2 ,v3 등 더욱 업그레이드 되는 버전이 나와 끊임없이 모델을 업데이트 하기 위해 연구한다는 점도 재밌었다.