논문 리뷰

DeepLab v2

cottonlove 2022. 12. 30. 16:15

DeepLab

v1 VS v2

* 공통점: 모두 atrous convolution fully connected CRF 사용했다는 공통점이 있다.

* 차이점: v2에서 multiple-scale 대한 처리방법이 개선되었고(ASPP) Vgg-16 대신 resnet-101 기본 망으로 사용해서 성능을 개선시킴.

(V1 71.6% IOU -> v2 79.7%)

DeepLab v2

Semantic segmentation 같은 dene prediction task 픽셀 단위의 예측이 필요해서 Classification net으로 segmentation net 구성하면 feature map 크기가 줄어들기 때문에 detail 정보를 얻는데 어려움이 있음. 그래서 net 단에 있는 2개의 pooling layer 제거하고 atrous convolution 사용해 receptive field 확장시키고 1/8 크기까지만 feature map 줄여 detail 정보 사라지는 것을 커버함.

그럼에도 문제가 있는데 바로 receptive field 충분히 크지 않아서 다양한 scale 대응이 어렵다는 .

-> 해결: ASPP (Astrous Spatial Pyramid Pooling)

ASPP (Astrous Spatial Pyramid Pooling)

여러가지 rate를 가진 atrous convolution(=dilated convolution)을 합쳐 다양한 크기의 object와 image context 정보를 알 수 있다.

Deeplab v1 달리 v2에서는 multi-scale 대응할 있도로 fc6 layer에서 atrous convolution 위한 확장 계수를 {6,12,18,24} 적용하고 결과를 취합해 사용했다고 한다.

이렇게 확장 계수를 6에서 24 변화시킴으로써 다양한 receptive field 있게 되었음. 

또, 논문의 실험에 따르면 단순하게 fc6 layer 확장 계수를 12 고정하는 것(a)보다 이렇게 ASPP 사용함(b)으로써 1.7% 정도 성능을 개선할 있다고 한다.

DeepLab v2 구조

전체적인 구조는 DCNN (deep convolution neural network) + CRF(conditional Random Field) 형태이고 DCNN 앞부분은 일반적인 convolutioin 사용하고 뒷부분은 atrous convolution(일명 hole algorithm) 수행함.

DCNN 통해 input의 1/8 크기의 coarse score-map 구하고 이것을 bilinear interpolation 통해 원래 크기로 확대시킴. bilinear interpolation 통해 얻어진 결과는 pixel위치에서의 label 대한 확률이 되며 fully connected CRF 후보정 작업을 통해 최종적인 결과를 얻는다.

 

참고

- https://m.blog.naver.com/laonple/221017461464