Deeplab은 세그멘테이션(segmentation) 문제를 해결하기 위한 딥러닝 기반 모델 중 하나로, 이미지에서 각 픽셀을 해당하는 객체 또는 배경으로 분류하는 작업을 수행합니다. 이 모델은 컴퓨터 비전 분야에서 주로 활용되며, segmentation, object detection, video detection 등의 응용에 사용될 수 있습니다.

Deeplab 모델은 초기 버전부터 여러 발전을 거쳐 왔으며, 아래는 주요 발전 단계와 각 모델에 대한 간단한 설명입니다:

이 글에서는 Deeplab계열의 모델에 대해서 전체적인 발전 과정을 살펴보고 간단히 정리합니다.

  1. Deeplab v1: Deeplab의 초기 버전으로, 2014년에 소개되었습니다. 이 모델은 기본적인 Convolutional Neural Network (CNN) 구조를 활용하며, atrous convolution(또는 dilated convolution)을 도입하여 입력 이미지의 다양한 scale에서 정보를 추출하도록 했습니다. 이는 객체 경계를 잘 인식하는데 도움이 되었습니다.
  2. Deeplab v2: 2016년에 발표된 Deeplab v2는 ASPP (Atrous Spatial Pyramid Pooling) 레이어를 사용하여 다양한 스케일의 정보를 효과적으로 수집하고, 이미지에 존재하는 다양한 객체의 크기에 더 잘 대응할 수 있도록 하였습니다.
  3. Deeplab v3: Deeplab v3는 2017년에 발표되었으며, ResNet 아키텍쳐에 발전된 ASPP (Atrous Spatial Pyramid Pooling) 레이어를 도입하여 객체 경계를 더 잘 인식할 수 있도록 개선하였습니다.
  4. Deeplab v3+: Deeplab v3+는 2018년에 소개된 모델로, Encoder-Decoder 구조를 채택하여 이전 버전보다 더 정확한 세그멘테이션을 가능하게 했습니다. Depthwise separable convolution과 skip connection 등을 사용하여 더욱 정교한 segmentation을 수행하며, 성능과 속도 면에서 좋은 결과를 얻을 수 있습니다.

Deeplab v1

deep convolutional neural network (DCNN)을 semantic segmentation에 적용하고자 했습니다.

이 당시 DCNN들은 classification에 초점이 맞추어져 있었기 때문에 고려해야하는 점이 몇가지 있었습니다.

⇒ max-pooling을 줄이고 atrous convolution (Dialted convolution)를 사용하여 효율적으로 넓은 공간을 탐색합니다. (receptive field를 확장시킴)

Untitled

위 그림과 같이 atrous convolution은 downsampling + convolution + upsampling보다 더 효율적으로 넓은 receptive 영역에서 features를 추출해냅니다.

후처리로 Dense Convolutional Random Field를 적용합니다.

Untitled

Untitled

이 글은 deeplab계열 모델의 전체적인 발전을 살펴보는 것이 목적이므로 dense CRF에 대한 설명은 생략하고 설명이 잘 되어있는 링크를 남깁니다.

[Part Ⅶ. Semantic Segmentation] 6. DeepLab [2] - 라온피플 머신러닝 아카데미 -

Deeplab v2