논문 읽기/Segmentation

[논문 읽기] DeepLabV1(2014) 리뷰, Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

AI 꿈나무 2021. 3. 31. 14:30
반응형

 두 번째 semantic segmentation 논문입니다. semantic segmentation 논문은 읽어도 이해가 잘 안되네요. 배경지식이 부족해서 그런 것 같습니다. 논문을 많이 읽을수록 배경지식이 쌓이므로, 열심히 읽도록 하겠습니다.

Astract

 Deep Convolutional Neural Networks(DCNNs)를 pixel-level classification 문제를 해결하기 위해 사용합니다. DCNNs의 마지막 레이어에서의 특징은 정확한 object segmentation을 포착하기에 부족합니다. 이것은 DCNNs의 invariance 특징 때문입니다. 부정확한 localization문제를 DCNNs의 마지막 레이어에서의 responses와 fully connected Conditional Random Field(CRF)를 결합하여 해결합니다. 

 

1. Introduction

 Classification 에서 DCNNs의 성공은 이미지 변환에 대한 invariance 덕분입니다. 하지만 이 invariance는 low-level task(semantic segmentation, pose estimation)에서 오히려 방해가 됩니다. 공간적인 디테일의 추상화보다는 정확한 localization을 원하기 때문입니다.

 

 DCNNs를 image labeling task에 적용하기 위해서 두 가지 장애물이 있습니다. (1) down-sampling과 (2) invariance 입니다. 첫 번째 문제는 max-pooling과 stride=2인 down-sampling에 의해 발생합니다. 이 문제를 해결하기 위해 'astous'(with holes) 알고리즘을 적용합니다 두 번째 문제를 해결하기 위해서 Conditional Random Field(CRF)를 사용합니다.

 

2. Related work

 생략

 

3. Convolutional Neural Networks for Dense Image Labeling

 VGG-16을 semantic segmentation을 위해 어떻게 수정하고 fine-tunning하는지 소개합니다.

3.1 Efficient Dense Sliding Window Feature Extraction with the Hole Algorithm

 semantic segmentation에서 dense spatial score evalution은 중요합니다. 이것을 구현하기 위해 첫 번째로, VGG-16의 fully connected layer를 convolutional로 변경했습니다. 하지만 이것은 stride of 32 pixel인 sparsely를 생성하기 때문에 무언가가 더 필요합니다. 신경망에서 마지막 두 개의 max-pooling layer을 제거합니다. 그리고 conv filter를 다음과 같이 수정합니다.

hole algorithm

 이 방법은 이전의 피쳐맵에서 sparsely하게 sample을 합니다. 또한 효율적으로 dense CNN을 계산합니다. upsampling을 위해 위 그림과 같은 연산을 수행하는 conv filter로 수정했다는 의미인 것 같네요,

3.2 Controlling the receptive field size and acceleration dense computation with convolutional net

 dense score computation을 위해서 신경망의 receptive field size를 조절합니다. 신경망의 fully connected layer를 fully convolutional로 변경할 때, 첫 번째 fully connected layer는 7x7 수용영역에서 4,096개의 필터를 갖습니다. 그리고 이것은 computational bottleneck이 됩니다. 이 문제를 해결하기 위해서 첫 번째 fc layer의 수용영역을 4x4로 변경합니다. 이것으로 2~3배의 속도 향상이 있습니다. fc layer를 통과하기 전에 마지막 피쳐맵의 크기를 4x4 사용합니다.

 

4. Detailed boundary recovery: fully-connected conditional random fields and multi-scale prediction

4.1 Deep convolutional networks and the localization challenge

 위 그림을 보면 DCNN의 score map은 객체의 대략적인 위치와 존재만을 예측합니다. 하지만 경계는 잘 못잡아내는 모습을 보여주고 있습니다. 다수의 max-pooling layer를 지닌 깊은 모델은 classification에서 성공적 이지만, invariance와 큰 receptive field는 위치를 포착하는데에 문제가 됩니다. 이 문제를 해결하기 위해 두 가지 접근법이 있습니다. 첫 번째는 객체 경계를 좀 더 잘 예측하기 위해 다수의 레이어에서의 정보를 묶는 것입니다. 두 번째 접근법은 super-pixel representation을 적용하는 것입니다.

 

 DeepLabv1 논문에서는 세밀한 localization 정확도를 얻기 위해서 fully connected CRF를 사용합니다.

4.2 Fully-connected conditional random fields for accurate localization

 CRFs로 후처리를 합니다. 위 그림을 보면 CRF를 반복할수록 정확도가 좋아진 다는것을 확인할 수 있습니다. CRFs의 자세한 설명은 아래 글을 참고해주세요,

 

[Part Ⅶ. Semantic Segmentation] 6. DeepLab [2] - 라온피플 머신러닝 아카데미 -

라온피플 머신러닝 아카데미 [Part Ⅶ. Semantic Segmentation]6. DeepLab [2] Semantic Segmentati...

blog.naver.com

Result

 

반응형