[Paper Review]Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs(DeepLab V1)
Contents
개요
- Image Segmentation 문제를 해결하기 위해 제안된 대표적인 딥러닝 모델인
DeepLab V1에 대한 논문 리뷰를 해보려고 한다.
Abstract
- 기존
Deep Convolutional Neural Networks이하(DCNN)의 마지막 층에서 충분한localized가 이루어지지 않았기 때문에 고수준 작업(이미지 분류)에서 좋은 성능을 발휘한다.
- 그러나 이런
불변성특성 때문에 마지막 층의 응답은 특정 객체의 위치를 세밀하게 나타내지 못하여, 각 픽셀의 정확한 분류가 필요한 객체 분할(segementation)에는 단점이 될 수 있다.불변성이란 특정 객체의 위치나 회전 여부에 상관없이 객체의 가장 두드러지는 특징을 추출할 수 있다는 것이다.
- 따라서 이러한 단점을 극복하기 위해 CRF랑 DCNN 마지막 층과 결합 하고, GPU에서 초당 8 프레임의 계산이 가능하게 한
hole알고리즘을 앞으로 설명할 것 이다.
Introduction
- 지난 2년 동안
DCNN은 이미지 분류, 객체 탐지 등 고수준 문제에서의 컴퓨터 비전 시스템의 성능을 향상시켰다.End-to-end방식으로 학습된DCNN이SIFT,HOG과 같은 의존 시스템 보다 현저히 더 나은 결과를 제공한다.
- 이러한 이유는
불변성덕분이었지만 지역적 정확도를 원하는pose estimation,semantic segmentation등의 작업(low-level task)에서는 방해가 된다.
signal down-sampling과spatial insensitivity(invariance)이라는 두가지의 어려움이 있었다.
signal down-sampling은 반복되는 downsampling 작업과 max-pool작업 때문에 낮아지는 해상도가 문제였다.- 본 논문에서는 해당 문제를
atrous (with holes)알고리즘을 통해 해결을 하려고 한다.
- 본 논문에서는 해당 문제를
invariance은 DCNN의 특징 때문에 공간적 정확성을 본질적으로 제한시키는 문제가 있다.- 본 논문에서는 해당 문제를
fully-connected Conditional Random Field(CRF)로 해걸하려고 한다.
- 본 논문에서는 해당 문제를
CRC은 Krahenbühl & Koltun이 제안한 fully connected pairwise를 사용한다. 이는 부스팅 기반의 픽셀 분류기의 성능을 크게 향상시킨다.
- 아래는
DeepLabsystem의 세가지 큰 장점들 이다.speedatrousalgorithm
accuracyPASCALsemantic segmentation challenge에서SOTA달성
simplicityDCNN&CRFs으로 구성되어 있다.
Related Work
Segmentation에 대한 여러work들이 있었지만DeepLab은FCN과 비슷하게 픽셀 표현에 직접 작동한다.
FCN, 다른 모델들과DeepLab의 차이점은CRF와DCNN-based unary term의 결합이라고 볼 수 있다.
- 본 논문 이후 더 향상된 방법을 사용한 여러
DeepLab의 버전(V2,V3)들이 나와 있다.
CONVOLUTIONAL NEURAL NETWORKS FOR DENSE IMAGE LABELING
VGG16으로 모델을 구성하였으며 더 효율적인 특징 추출기를 사용하였고 그것을 기반으로finetuned와re-purposed를 하였다.
EFFICIENT DENSE SLIDING WINDOW FEATURE EXTRACTION WITH THE HOLE ALGORITHM
- 본 논문에선 효과적인 CNN 특징 추출을 위한 방법에 대해서 설명을 한다.
- 먼저 그것을 구현하기 앞서
VGG16을FCN과 같이FC층을Fully Convolutional층으로 변환을 하고 최종 이미지가 원본의 해상도를 얻게 변환을 한다.
- 이때
32 pixel간격으로 매우 드물게 계산이 되기 때문에 이를8 pixel로 변경이 필요하였다. 따라서 마지막 2개의pooling층을 스킵하였다.32 pixel로 한다면localization이 떨어지기 때문에8 pixel로 변경이 필요했다.- 또한
VGG16의 네트워크는 5개의pooling층이 존재하는 네트워크이다. 따라서 마지막 2개를 스킵한다면 원본 해상도의1/8만큼의 해상도가 나오게 되는 것이다.
- 원본 이미지의 해상도를 복구 하기 위하여 즉,
upsample을 하기 위하여 filter에zero를 추가하여sparse한 filter를 얻는 방식의hole algorithm을 사용하였다.
- 따라서 마지막 3개의 convolutional은 2배가 되었고
first fully connected layer는 4배가 되었다.
- 이때 필터를 그대로 유지하면서 각각 입력 스트라이드 2 또는 4 픽셀을 사용하여 적용되는 특징 맵을 드문드문 샘플링함으로써 이 방법을 더 효율적으로 구현할 수 있게 된다.
-
이때 나타나는
hole algorithm (atrous convolution)이란 필터 중간 중간에 0을 채워 넣어서 학습해야할 파라미터 수는 유지하면서 보다 넓은 영역(Receptive Field)을 참조하게끔 하는 방법이다.
-
Receptive Field(수용 영역): 특징 추출에 사용되는 한 개의 뉴런이 받아들일 수 있는 입력 데이터의 영역
- 따라서 atrous convolution을 사용하면 Receptive Field가 넓어지며 localization이 완화되는 효과가 있다.
-
- 따라서 이런
atrous convolution을 사용하게 된다면 두가지의 이점이 발생한다. 첫번째는 공간 정보 손실을 줄여 segmentation을 용이하게 한다.
- pooling 층을 이용할 경우
해상도가 낮아지고,invariance때문에 공간정보는 소실돼 결국에는localization가 떨어지는 치명적인 단점이 있다. 하지만 atrous convolution을 이용할 경우 해상도와 공간 정보를 보존하면서도 rate를 조절해field of view크기를 키울 수 있다.
- 또한 위 그림을 보면 일반
pooling - upsample의 방법보다atrous convolution의 방법이 더 밀도있게 표현된 것을 확인이 가능하다.
- 두번째로는 계산 비용의 이점이 발생한다. 0을 이용하여 실제로
receptive field는 늘어나지만 계산 파라미터 수는 늘지 않는다. 따라서 실제로 논문에서는atrous convolution을 사용하지 않는FCN보다 훨씬 빠른 성능을 보인다고 나타난다.sevaral days vs 10 hours
DETAILED BOUNDARY RECOVERY: FULLY-CONNECTED CONDITIONAL RANDOM FIELDS AND MULTI-SCALE PREDICTION
classification accuracy와localization accuracy에는 trade off가 있다.
Deeper model (max-pool)은 classification task에는 훌륭하지만increased invariance와 큰receptive fields는 위치 추론을 어렵게 한다.
DEEP CONVOLUTIONAL NETWORKS AND THE LOCALIZATION CHALLENGE
- 기존 연구에서 이런
localization문제를 해결하기 위하여 아래의 두가지 방법이 있어왔다.
- 여러 층으로 부터 information들을 모으는 방식 (객체의 경계 파악 용이)
- super-pixel을 사용하여 localization task를 low-level segmentation으로 미루어 사용이 가능하게 하는 방식
-
Super pixel: 이미지를 비슷한 특성을 가진 작은 영역들로 그룹화하는 컴퓨터 비전 기술이다.
-
- 하지만 본 논문에서는
localization을 극복하기 위하여 CRF라는 방식을 사용하였고 이 다음에 설명할 것 이다.
FULLY-CONNECTED CONDITIONAL RANDOM FIELDS FOR ACCURATE LOCALIZATION
CRF는image segmentation에 적용하면 한 픽셀의 클래스를 예측할 때 다른 모든 픽셀과 상호 작용하는 관계를 파악하여 각 픽셀에 대한최적의 label을 할당한다.-
CRF: 각 픽셀이 특정 클래스에 속할 확률을 계산하여 최종 Segmentaion 결과를 도출하는 것을 말한다.
-
- 하지만 위 그림(
DCNN output)에서 확인 할 수 있듯이 우리는 detail한 local 구조를 원하기 때문에short-range CRF는 안좋을 수 있다.
- 보통
CRF는 예측 과정간 발생하는 noise들을 없애기 위해 사용되었고 보통 중간 단계에서 후처리를 하는Short range CRF가 대부분 이다.
- 따라서 본 논문에서는 객체의 테두리를 정확하게 예측하기 위한 방법으로
fully connected CRF를 사용하였다.- 위 그림은 CRF에 대해 더욱 명확히 이해할 수 있게 되는데
fully connected CRF를 사용하게 되면 테두리의 정보가 detail해지는 것을 확인 할 수 있다.
- 위 그림은 CRF에 대해 더욱 명확히 이해할 수 있게 되는데
- 위 그림은
deeplab의 지금까지의 설명을 담은deeplab model의 전체적인 흐름을 나타낸 그림이다.1/8크기의coarse score-map을 구하고bi-linear interpolation을 통해 upsample을 한다.- 이 결과는
CRF의unary term에 해당하게 되어서CRF과정을 거치게 되면 최종 결과물이 나오게 된다.-
unary term: 각 픽셀이 특정 클래스에 속할 확률
-
iteration이 반복이 될 수록 더 정확해지는 것을 확인할 수 있다.
MULTI-SCALE PREDICTION
FCN처럼 본 논문은 경계localization정확도를 높이기 위해Multi Scale prediction(여러 스케일의 특징맵을 이용해 위치 추론 성능을 높인 방법)을 사용한다.
- 따라서 이를 사용하기 위하여
원본 이미지와처음 4개 max pooling의 특징맵을 이용해final score map을 구했다.
첫번째 층은 3x3 필터를 128개 사용하고,두번째 층은 1x1 필터를 128개 사용했다. 그렇게 해서 최종 128개의 채널을 같은 5개의 특징맵이 나오고, 이를 메인 네트워크 마지막 층의 특징맵과 채널 수준으로 결합해 채널 수가 640만큼 증가한다.