Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

ShuyaVision

[논문 리뷰] DeepLab v2 (Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs) 본문

Vision AI

[논문 리뷰] DeepLab v2 (Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs)

Sangbro 2023. 10. 20. 10:59

  논문 이름에 그대로 나와 있듯이, DeepLab 논문은 크게 3가지 기술을 통해 Segmentation을 한다. 첫번째는 Deep Convolutional Neural Network로, VGG-16, ResNet 등의 pre-trained 된 모델을 사용한다. 두번째는 Atrous convolution이다. Dilated Convolution이라고도 부르며, 필터의 간격을 늘려 넓은 영역의 context를 포착하면서 resolution을 유지한다. 이를 통해 segmentation에서 더 정확한 결과를 얻을 수 있다. 마지막으로는 CRFs라고 부르는 Fully Connected Conditional Random Fields이다. 모델의 출력을 후처리하는 방식으로, 가까운 픽셀들 간의 공간적인 상관관계를 고려하여 segmentation 결과를 개선한다. 이를 통해 더 부드럽고, 정확한 경계를 얻을 수 있다.
  모델의 구조를 간략하게 서술하자면, pretrained 모델의 마지막 2 layer를 삭제하고, astrous convolution을 여러개 사용한 후에(aspp) 나온 결과물에 bi-linear interpolation을 적용한 후 Fully Connected CRFs를 사용해 최종 결과를 도출해낸다.

Introduction

  DCNN은 image classification, object detection 등의 성능을 크게 끌어올렸다. 하지만 이러한 모델들은 data representation을 추상화하여 목적을 달성하는 데 중점을 두기 때문에, 이러한 spatial information의 추상화를 필요로 하지 않는 semantic segmentation 분야와는 조금 맞지 않는 부분이 존재한다. DCNN을 semantic segmentation 분야에 적용하기 위해선는 3가지의 기술적 한계가 존재한다. (1) reduced feature resolution, DCNN은 각 계층을 지나면서 feature resolution이 감소하는 데, segmentation은 기존 이미지와 같은 크기의 feature map이 필요하다. (2) existence of objects at multiple scales, (3) reduced localization accuracy due to DCNN invariance. DCNN의 invariance한 특성은 다르게 말하면 Translation equivariance 하다는 특성이다. 즉, 위치가 변하더라도, 또는 크기가 변하더라도 추상화한 정보를 가지고 있기 때문에 성능에 영향이 없다. 하지만 Segmentation에는 이러한 특성이 장점으로 작용하지는 않을 수 있기 때문에 한계점으로 소개한다.
 
  (1)을 극복하기 위해서 먼저, last few max pooling layer를 없앰으로서 downsampling operator를 어느정도 없앤다. 대신에 upsampling the filters를 사용하여 higher sampling rate을 계산할 수 있도록 한다. 이 때, 논문에서는 signal processing에서 사용되는 개념(A'trous)을 차용하여 사용한다고 한다. 즉, Atrous convolution을 통해 input data의 original image size를 만들어낸다. 이는 FCN과 U-Net에서 사용한 De-conv Layer에 비해 성능이 좋다고 한다. 특히, 연산량이 훨씬 적다는 특징을 가지고 있다.
 
  (2)를 극복하기 위해서 논문에서는 같은 이미지의 rescaled versions을 사용된 것이 방안이 될 수 있으나, 연산량이 너무 많아 지기 때문에 한계가 있다고 말한다. 대신에 spatial pyramid pooling 기법에 기반한 Atrous spatial pyramid pooling(ASPP)를 활용하여 feature layer에 대해서 여러가지 filters를 사용한다. 이를 통해 여러 scale에서 이미지를 파악할 수 있다.
 
  (3)을 극복하기 위해서는 skip-layers 방법이 사용되어 왔다(U-Net이랑 FCN 둘다). 논문에서는 이를 대신할 방법으로 fully-connected Conditional Random Field(CRF)를 제시한다. CRFs는 를 통해 fine edge detatils를 잡아내고, DCNN 기반 pixel level classifier(semseg)과 결합될 때 최선의 결과를 달성하는 것을 확인했다고 한다.
 

Model

3.1 Atrous Convolution for Dense Feature Extraction and Field-of-View Enlargement


Astrous Convolution이란, 보다 넓은 scale에 대해 convolution을 진행하는 방법으로, 중간에 zero를 채워놓고 convolution을 수행하는 것이다. 즉, kernel(filter) 내부에 공간을 추가할 때 zero-padding을 사용한다. 이를 통해 FOV(Field-of-View)가 확장될 수 있는데, 이는 Semantic Segmantation Task에서 여러 이점을 가지게 된다.
먼저, 논문에서는 위 그림처럼 일반적인 convolution은 sparse feature extraction이라고 하고, astrous convolution의 경우에는 dense feature extraction이라고 한다. 이렇게 부르는 이유는 astrous convolution이 기존의 convolution에 비해 보다 더 많은 pixel에서 특징을 추출, 학습할 수 있게 만들어주기 때문이다. 이에 따라, 더 많은 pixel의 공간 해상도를 유지시키기 위해 기존의 convolution에 비해 더 넓은 해상도에서 학습이 이루어지는데, astrous convolution은 이를 가능하게 한다. 
다음으로, FOV(Field-of-View)가 확장됨에 따라 더 많은 공간적 Context를 포착할 수 있다. 위 그림에서 (a)는 sparse feature extraction으로, r = 1일 때이며 일반적인 1-D conv이다. (b)는 dense feature extraction으로 r = 2일 때 인데, 2로 설정하였기 때문에 중간에 공백이 생기고, 이를 zero-padding한다. 또한 stride = 1로 유지 되었는데, r의 값을 활용하여 FOV 즉 receptive field를 넓힌 것이라고 생각할 수 있다. 더욱이, astrous convolution은 기존 conv와 연산량 또한 동일하게 활용할 수 있기 때문에 이러한 관점에서 최적화된 convolution이라고 할 수 있다. 

파란색 화살표로 연결된 부분은 예시 사진을 down-sampling을 하고 conv를 진행한다. Downsampling을 할 때 conv kernel은 vertical Gaussian을 사용했다고 한다.
빨간색 화살표로 이루어진 부분은 astrous convolution을 진행한 결과이며 이 때 r = 2이다.
 
 
3.2 Multiscale Image Representations using Atrous Spatial Pyramid Pooling (ASPP)

ASPP는 앞서 설명한 Astrous convolution을 feature map에 대해서 여러 개를 적용한 후, 이로 부터 얻은 정보를 결합하여 사용하는 것이다. ASPP를 적용하는 feature map의 크기를 input 해상도로 활용하는 것이 가장 이상적이겠으나, 논문에서는 이는 연산량 측면에서 쉽지 않기 때문에 논문에서는 적정한 크기의 feature map에 aspp를 적용 후에 Bi-linear interpolation을 진행한다.
논문에서는 rate를 6, 12, 18, 24주어 다양한 receptive field를 볼 수 있게 했다. 아래 그림의 (a)는 DeepLabV1의 구조로, ASPP를 지원하지 않고, 단순 astrous conv만 적용한 상태이며  (b)는 DeepLabV2의 구조로 여러 rate를 적용한다.

이를 통해 보다 더 좋은 성능을 얻을 수 있었고, 특히 논문에서는 {2, 4, 8, 12}의 rate에 비해 {6, 12, 18, 24}가 더 성능이 좋았다고 말한다.
 
3.3 Structured Prediction with Fully-Connected Conditional Random Fields for Accurate Boundary Recovery
 
CRF는 기본적으로, 구조화된 데이터에 대한 예측을 수행하는 확률 모델이다. CRF는 주어진 입력에 대해 출력 레이블의 확률 분포를 모델링한다. CRF는 일반적으로 sequence labeling, semantic segmenation 등과 같은 작업에서 사용하는데, 이는 출력 변수들 간의 상호 의존성을 모델링할 수 있기 때문이다.

CRF 모델은 일반적으로 위와 같이 unary potential (좌측) pairwise potential (우측)으로 구성이 된다.
unary potential - 개별 output label의 가능성을 모델링한다. 예를 들어, Semantic Segmentation task에서는 각 픽셀이 주어진 class label에 속할 가능성을 평가한다. DeepLabV2의 기준으로 했을 때는 aspp로부터 나온 feature map을 bilinear interpolation 한 feature map의 각 픽셀에 대한 class 확률 값이 될 것으로 보인다.
pairwise potential - output label 간의 상호 작용을 모델링한다. 이는 두 output label이 얼마나 잘 어울리는지, 또는 서로에게 영향을 미치는지 평가한다. Semantic Segmentation task에서는 인접 픽셀들의 label이 일관성 있게 어울리는지 평가한다. 보통 공간적 거리와 색상 차이를 기반으로 한다.
위 함수는 interation을 돌면서 결과값인 Energy를 최소화하는 값을 찾는다. 참고로, 일반적인 CRF 함수는 backpropagation을 지원하지 않기 때문에 DeepLabV2는 end-to-end 모델은 아니다.

- 기존에는 short-range CRFs를 사용하여 가까운 pixel에 대해서만 평가를 진행했지만 Fully connected CRFs를 도입하여 아래 그림과 같이 좋은 성능을 낼 수 있었다.