논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

Problem

  • Deep Convolutional Neural Networks (DCNN)을 이미지 레이블링 태스크에 사용할 때 2가지 문제점이 있다.
  • 하나는 신호가 다운샘플링된다는 것이다. 이 문제는 max-pooling과 striding에 의해서 발생한다.
  • 다른 하나는 spatial insensitivity 속성을 갖는다는 것이다. 이것은 분류기에서는 요구되는 특성이나 label 문제에서는 오히려 spatial accuracy에 한계로 작용한다.

Essence

  • 다운 샘플링 문제는 기존 Papandreou가 제안한 atrous 알고리즘을 적용하여 해결하였다.
  • Spatial insensitivity 문제는 fully connected Conditional Random Field 구조를 적용하여 find한 디테일 정보를 이용할 수 있도록 하였다.

Detail

Efficient Dense Sliding Window Feature Extraction with the Hole Algorithm

  • VGG-16의 fully connected layer를 convolution 레이어로 바꾸어 이미지를 원래 크기에서 convolutional 하게 실행할 수 있도록 변경하였다.
  • 아직 stride가 32로 여전히 크기 때문에 마지막 max-pooling 레이어는 제거하고 대신 convolutional filter를 stride만큼 크기를 늘리고, max-pooling과 동일한 효과를 내도록 0으로 채워넣은 필터를 사용하였다.
  • 1D로 표현하면 아래 그림과 같이 되며 이 것은 hole algorithm, 혹은 atrous algorithm으로 알려져 있다.

  • 이 방법을 통해 stride 8까지 줄일 수 있었으며, 나온 결과에서는 bilinear interpolation으로 원래의 해상도까지 늘렸다.
  • VGG-16이 가지고 있다면 1000개 클래스 분류기 대신 21개 분류기로 수정하고, 각 위치에 대해 output map과의 cross-entropy loss를 모두 더해 loss를 구성하였다.

Controlling the Receptive Field Size and Accelerating Dense Computation with Convolutional Nets

  • 기존의 VGG-16 기반의 네트워크를 그대로 사용하면 convolutional 컨셉을 적용했을 떄 404 x 404 크기를 갖게 된다. 첫번째 fully connected layer는 7x7 크기의 4096 채널 출력을 내게 되므로 계산량이 상당히 부담이 된다.
  • 때문에 이를 줄이기 위해 첫번째 FC 레이어에 decimation 을 적용하였더니 FC레이어의 출력 크기는 3x3이 되었고 이 때 receptive field는 308 x 308이 되었으며 연산 속도가 2-3배 빨라졌다.
  • 여기에 출력 채널을 4096에서 1024로 줄여도 성능이 유지됨을 확인하였다.

Fully-Conncted Conditional Random Field for Accurate Localization

  • 전통적으로 CRF는 noisy segmentation을 smoothing 하는데 사용해 왔다. 주변 이웃과 연결된 노드로 구성되는 에너지 함수는 주변과 동일한 레이블로 되도록 의도된다.
  • 보통은 이전 단계의 weak classifier들이 만들어낸 결과에서 이상한 부분을 지워주는 역할로 사용되었다.
  • 하지만 우리가 사용하는 DCNN은 score map을 생성하는데 이는 semantic label prediction과는 질적으로 다르다. 아래 그림처럼 score map은 상당히 smooth 하다. 이는 segmentation이라기보다는 classification의 결과와 동등한 의미를 가진다.

  • 이러한 부분에서 short-range CRF를 그대로 적용하는 것은 적절치 않아 보이며, contrast-sensitive potentials를 이용한 long-range CRF를 적용한 연구에서도 세밀한 구조에서는 놓치는 모습을 보였다.
  • 이 논문에서는 Krahenbuhl & Koltun의 fully connected CRF 모델을 적용하였다. 에너지 함수는 아래와 같다.

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

  • 여기서 x는 픽셀의 label이고 \theta_i(x_i) = -\log P(x_i)이다. P(x_i)는 DCNN에서 계산된 픽셀 i의 해당 label probability이다.
  • Pairwise potential는 \theta_{ij}(x_i, x_j) = \mu(x_i, x_j) \sum_{m=1}^K w_m \cdot k^m (\boldsymbol{f}_i, \boldsymbol{f}_j) 이며, \mu(x_i, x_j)x_i \neq x_j인 경우 1 아니면 0이다. k^m은 feature \boldsymbol{f}에 의해 결정되는 Gaussian kernel 이며 w_m으로 가중치를 부여한다.

  • 적용한 커널은 아래와 같다.

w_1 \exp(- \frac{||p_i - p_j||^2}{2 \sigma^2_\alpha} - \frac{||I_i - I_j||^2}{2 \sigma^2_\beta}) + w_2 \exp (-\frac{||p_i - p_j||^2}{2 \sigma^2_\gamma})

  • 여기서 p는 위치를, I는 픽셀의 intensity를 나타낸다. \sigma들은 하이퍼파라미터로 Gaussian 커널의 스케일을 조절한다.
  • 모든 픽셀들은 거리에 상관 없이 모두 연결되어있으며, Krahenbuhl & Koltun의 연구에 따라 feature space에서 mean field approximation을 이용하면 Gaussian convolution으로 고속화할 수 있다.

Multi-Scale Prediction

  • 디테일을 더 살리기 위해 입력 이미지와 초반 4개의 max-pooling layer에서 나온 각 출력에 대해 두개 레이어로 구성된 MLP를 붙여 나온 feature map을 마지막 feature map에 concatenation 하였다.
  • 학습시에는 기존 VGG-16기반의 가중치는 두고 새로 붙이느 MLP부분만을 학습시켰다.


Add a Comment Trackback