본문 바로가기
논문 리뷰

Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs(DeepLabV1) (2016) Review

by rltjq09 2024. 2. 10.
728x90
 

Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

Deep Convolutional Neural Networks (DCNNs) have recently shown state of the art performance in high level vision tasks, such as image classification and object detection. This work brings together methods from DCNNs and probabilistic graphical models for a

arxiv.org

0. 핵심 요약

DCNN(Deep Convolutional Nueral Network) + probabilistic graphical models 제안

DCNN에서의 final layer를 fully connected Conditional Random Field(CRF)로 대체

1. BackGround

- 기존 DCNN의 성공 이유

기존의 DCNN은 high-level task에서 성공적인 모습을 보인다

여기서 high-level task란 classification이나 object detection과 같은 task를 의미

 

이러한 성공이 가능했던 이유로 invariance를 언급

invariance는 DCNN의 계층적 학습으로 인해 생성되었다고 말하고 있다

하지만 이러한 모델의 모습은 low-level task에서는 적절하지 않다고 한다

여기서 low-level task는 pose estimation이나 segmentation과 같은 task를 의미

 

또한, DCNN을 iamge task에 잘 적용하기 위해서는 2개의 관문이 존재한다

1. single down sampling

이를 위해서 기존의 DCNN은 매 layer마다 max-pooling으로 downsampling을 수행하여 달성

하지만 본 논문에서는 이를 atrous 알고리즘을 채택하면서 해결

 

2. spatial insensitivity(invariance)

이는 기존의 DCNN은 object-centric decision을 함으로써 이를 해결했다고 함

하지만 본 논문에서는 이를 위해서 fully connected CRF를 채택

2. 논문 핵심 내용

- Hole Algorithm

해당 논문에서는 down sampling을 위해 기존의 max pooling이 아닌 hole algorithm을 사용했다

 

논문의 목표인 dense CNN feature extractor를 만들기 위해서는 dense spatial score evaluation을 만드는 것이 필수

이를 위해서 기존의 fully connected layers를 하나의 convolution으로 대체하고, 원본 해상도에서 network를 수행

하지만, 이러한 조치만 취하는 것으로는 부족하였다

그러한 이유는 기존 모델은 매우 sparse한 detection score를 계산하기 때문이다

VGG-16은 원본 해상도에서 stride of 32 pixels 만큼 감소된 해상도에서 예측을 진행하기 때문

 

논문의 저자들이 원하는 해상도는 stride of 8 pixels였기 때문에 이를 위해서 2개의 max pooling 이후에는 downsampling을 이로 수행하지 않고 위에서 말한 hole algorithm을 통해 수행

 

hole algorithm이란 입력 이미지(혹은 feature map)에 stride를 2 또는 4를 적용하고, 출력 feature map에는 stride를 1만 적용해서 자연스럽게 해상도를 감소시키는 것을 의미

이를 통해 기존에 매우 rough하게 하던 예측을 어느정도 fine 하게 만드는데 성공

 

- fully connected CRF

하지만 아래 그림을 보면 여전히 rough 한 예측을 볼 수 있다

이를 위해 CRF를 적용하기로 한다

먼저 결과만 설명하자면, CRF를 적용한 이후 예측이 매우 세밀하게 변화한 모습을 볼 수 있다

 

우선 기존의 short-range CRF는 smooth noisy segmentation map을 통해 생성되었다

해당 CRF이 하는 역할은 주변 pixel을 grouping하고 이들에게 동일한 class를 부여하는 것이다

이를 week classifier에 적용하면 예측을 clean하게 만들어주게 된다

DCNN의 결과를 보게 되면 예측 결과가 매우 smooth한 것을 볼 수 있다

이것이 CRF를 생성할때 사용하는 map과 매우 유사하다는 것을 알 수 있다

이러한 이유로 CRF를 적용하기로 한다

 

이로 인해서 localization의 성능은 향상되었지만, 여전히 얇은 객체나 객체 주변은 명확히 구분되지 않았다

그래서 short-range CRF가 아닌 fully connected CRF를 사용하기로 결정

 

fully connected CRF에서 사용하는 energy function은 다음과 같다

$E(x) = \sum_i \theta_i (x_i) + \sum_{ij} \theta_{ij} (x_i, x_j)$

여기에서 $x$는 각 pixel의 label을 의미하고, $\theta_i(x_i) = -logP(x_i)$를 의미한다

또한, $\theta_{ij} (x_i, x_j) = \mu (x_i, x_j) \sum^K_{m=1} w_m \cdot k^m (f_i, f_j)$를 의미한다

 

우선 뒤에 있는 $\theta$를 먼저 설명하자면 다음과 같다

위 식에서 $k^m$이 의미하는 것은 Gaussian Kernel이고, $w_m$은 가중치, $\mu(x_i, x_j)$는 i = j일때는 0, 아닐때는 1이다

$\theta_{ij}$가 하는 역할을 하나씩 설명하자면, 우선 서로 다른 픽셀을 선택한 뒤 그 픽셀에 해당하는 feature map의 값을 가져온다

그런 다음 각 feature map의 값에 대해 Gaussian kernel을 적용한다

이를 적용한다는 것은 값에 대해 정규화를 한다고 이해하면 편할 것 같다

정규화 하는 값은 pixel 값 자체에 대한 것과 color 에 대한 값 2가지를 수행하고 각각에 가중치를 곱해준다

 

이렇게 구해진 값과 해당 픽셀의 log 값과 더해 최종적으로 값을 구한다

 

해당 식이 수행하는 역할을 설명하면 결국 해당 픽셀과 해당 픽셀이 아닌 다른 값들을 같이 고려해서 최종적으로 이 픽셀의 class를 결정하겠다는 것이다

 

이러한 식을 채택함으로써 더욱 정교한 예측이 가능해졌다

3. Model Architecture

최종적으로 모델의 전반적인 과정은 다음과 같다

우선 이미지가 들어오면 DCNN을 거쳐 coarse score map을 생성한다

그런 다음 Bi-linear interpolation을 통해 원본 해상도까지 크기를 키운 다음 Fully Connected CRF를 수행

최종 출력 값을 결정한다

4. Experiment

기존의 다른 모델들과 결과를 비교한 모습이다

3번째 줄의 이미지가 다른 모델들의 결과이고, 4번째 줄의 이미지가 DeepLab의 결과이다

자세히 비교해보면 기존 모델들은 좀 더 rough하게 예측되는 반면, DeepLab은 더욱 세밀하게 예측되는 것을 볼 수 있다

 

정성적인 평가 이외에 정량적인 평가 결과를 확인했을 때의 결과이다

이 역시 DeepLab의 모델들이 더욱 우세한 것을 볼 수 있다

5. Contribution

DCNN과 fully connected Conditional Random Fields의 아이디어를 결합하여, 정확한 예측과 상세한 세분화 맵을 생성할 수 있는 동시에 계산 효율적인 새로운 방법을 제시

이 모델은 CNN과 CRF의 두 주요 구성 요소를 완전히 통합

+ Comment

DeepLab은 다른 논문들에서 비교 모델로 많이 활용되고 있다

그만큼 성능도 매우 뛰어난 모델이였다

DNN을 feature extraction으로 생각해서 기존의 ML 방법론을 적절히 적용하는 모습이 인상적이였다

728x90