본문 바로가기
논문 리뷰/딥러닝

[Review] Minaee et al., 2021, Image Segmentation Using Deep Learning: A Survey

by 펄서까투리 2022. 10. 21.

(* 작성 중; ~2022.11.04)

# 세줄 요약 #

  1. 이미지 분할(Image segmentation)은 컴퓨터 비전(computer vision)과 영상처리(image processing)에서 가장 중요한 업무 중의 하나로 장면 이해, 의료 영상 분석, 로봇 인식, 비디오 감시, 증강 현실, 이미지 압축 등의 다양한 분야에서 여러 분할 알고리즘들이 선행 연구 문헌에서 발견된다.
  2. 저자들은 최근 문헌들을 뒤져서 픽셀 단위에서 작동하는 semantic and instance segmentation 합성곱 신경망, 인코더-디코더 구조, 다양한 스케일에서 피라미드 구조 접근법, 순환 신경망, 시각적 집중 모델(visual attention models), 적대적 생성 신경망(generative models in adversarial settings) 등의 다양한 스펙트럼의 선행 연구들을 포괄적으로 리뷰할 것이다..
  3. 저자들은 이러한 딥러닝 분할 모델들을 다양한 데이터셋에서 성능을 검증하고 성능을 비교해 가며, 각 분할 모델들의 관계, 장점, 문제점 등을 조사하여 앞으로의 연구 방향을 논의할 것이다.

 

 

# 상세 리뷰 #

1. Introduction

  • 이미지 분할(Image segmentation)은 컴퓨터 비전 분야에서 초창기부터 중요한 과제 중에 하나였다.
    • 이러한 이미지 분할에는 픽셀 단위로 semantic 레이블을 분류하는 semantic segmentation과 영상 내의 각 타겟들을 개별 객체들로 포착하는 instance segmentation으로 크게 나뉜다(둘 다 수행하는 것을 panoptic segmentation이라 부른다).
    • 시멘틱 분할(Semantic segmentation): 픽셀 단위에서 작동하며 전체 영상 내에서 분할해야할 타겟들(예. 사람, 차, 비행기 등등)의 모든 픽셀을 분할해낸다. 따라서 영상 내에서 타겟이 속한 범위를 분류해내는 목적으로 주로 사용된다(예. 흉부 CT 영상 에서 폐 영역 분할).
    • 인스턴스 분할(Instance segmentation): Semantic segmentation과 달리 영상 내에서 타겟이 속한 전체 영역을 분할하는 것이 아니라 타겟의 개별 객체들도 모두 분류해낸다. 즉 영상 내의 사람이 여러 명일때 각 개개인별로 따로 분할해낼 수 있다. 
  • 최근에는 이미지 분할 모델에 딥러닝 모델이 차세대 방법론으로서 활발히 사용중이며 놀랄만한 성능 향상을 보이고, 종종 여러 데이터 사이언스 대회(예. 케글) 등에서 가장 높은 정확도를 보여주기도 한다.
    • 딥러닝 이전에도 전통적인 영상처리에 기반한 많은 수의 이미지 분할 알고리즘들이 존재하였는데, 대표적인 예로는 thresholding, histogram-based bundling, region-growing, k-means clustering, watershed methods 등이 있다.
    • 좀더 진보한 이미지 분할 알고리즘에는 active contours, graph cuts, conditional and Markov random fields, sparsity-based methods이 존재한다.
  • 이번 리뷰 논문은 이제까지 제안된 100개 이상의 이미지 분할 방법들을 포함하여, 딥러닝 기반의 이미지 분할 방법론이 사용된 최근 문헌들까지 다룬다.
    • 주요 타겟으로 다루고 있는 딥러닝 기반의 이미지 분할 모델을은 다음과 같다: (1) Fully convolutional networks (FCN), (2) Convolutional models with graphical models, (3) Encoder-decoder based models, (4) Multiscale and pyramid network-based models, (5) R-CNN based models (for instance segmentation), (6) Dilated convolutional models and DeepLab family, (7) Recurrent neural network based models, (8) Attention-based models, (9) Generative models and adversarial training, (10) Convolutional models with active contour models
    •  저자들은 단순히 딥러닝 기반의 이미지 분할 모델을 소개만 하는데 그치지 않고, 이미지 분할에서 자주 사용되는 오픈 데이터셋, 유명한 데이터 사이언스 대회에서의 상위 그룹의 모델과 성능, 딥러닝 기반 방법론의 한계와 미래 연구 방향까지 종합적으로 리뷰하고 있다.

Fig. 1. Segmentation results of DeepLabV3 [13] on sample images. [* Ref. Minaee et al., 2021.]

 

2. Deep Neural Network Architecture

2.1. 합성곱신경망(Convolutional Neural Networks; CNNs)

  • 합성곱신경망(CNNs)은 오늘날 딥러닝 커뮤니티에서 널리 쓰이면서도 가장 성공한 신경망 구조로, 특히 컴퓨터 비전 분야에서 많이 사용된다.
  • 합성곱신경망은 대개의 3개의 층으로 이루어져있는데, 1) 각 필터를 통해 이미지의 특징을 추출하는 convolutional layer와, 2) 추출된 특성맵을 활성화 함수(비선형)로 활성화 시키는 nonlinear layers, 3) 마지막으로 활성화된 특성맵의 공간해상도를 줄여주는 pooling layers 등이 있다.
  • 현재까지 잘 알려진 합성곱신경망에는 AlexNet, VGGNet, ResNet 등이 존재한다(Inception, DenseNet, MobileNet, EfficientNet 등도 유명하다).

Fig 2. The architecture of CNNs. From Lecun et al., 1998.

 

2.2. 순환신경망(Recurrent Neural Networks; RNNs)과 LSTM

  • 순환신경망(RNNs)은 일반적으로 음성, 텍스트, 비디오, 시간 순서로 모아진 데이터 등 시계열 데이터(sequential data)에 자주 쓰인다.
  • 아래 그림을 보면, 순환신경망은 각 시간 간격 t마다 모델은 입력값 x_(t)와 이전 시간대(t-1)의 은닉 상태(hidden state)에서 얻은 결과 h_(t-1)을 입력으로 받아, 예측값 o_(t)와 다음 시간대(t+1)의 은닉 상태 h_(t+1)로 출력을 내보낸다.
  • LSTM(Long Short Term Memory)은 3개의 문 (input gate, output gate, forget gate)로 이루어져 있으며, 각 시간대 별로 3개의 문을 통해 저장하거나 혹은 내보낼 메모리를 조절하여, 정보의 흐름을 통제한다(기존의 순환신경망이 모든 시간대의 정보를 모두 가져오는 과정에서 정보가 유실되는 것을 막기위해 개발되었다).

Fig 3. The architecture of a simple RNN. Courtesy of Christopher Olah [* Ref.  https://colah.github.io/posts/2015– 08-Understanding-LSTMs/]
Fig 4. The Architecture of a standard LSTM module. Courtesy of Olah [*  Ref.  https://colah.github.io/posts/2015– 08-Understanding-LSTMs/]

 

2.3. Encoder-Decoder and Auto-Encoder Models

  • 인코더-디코더는 두단계의 네트워크로 구성되어, 입력 도메인과 출력 도메인을 매핑(mapping)하도록 개발된 신경망들을 의미한다.
  • 인코더(Encoder)는 인코딩 함수 z=g(x)로 작동되며 입력값 x를 잠재된 공간 표현인 z로 압축하는 역할을 하고, 디코더(Decoder) y=f(z)가 표현 z로부터 출력값 y를 디코딩하는 역할을 수행한다.
  • 이러한 인코더-디코더는 여러 데이터 간의 연결을 매핑할 수 있으며, 영상에서 영상으로 변환을 할때는 보통 출력값으로 향상된 버전의 영상을 매핑하거나(ex. de-blurring, super-resolution), segmentation된 영상을 매핑한다.

Fig 5. The architecture of a simple encoder-decoder model. [* Ref. Minaee et al., 2022.]

 

2.4. 적대적생성신경망(Generative Adversarial Networks; GANs)

  • GAN은 딥러닝 모델들 중 가장 최근에 소개된 그룹으로서 생성자와 판별자라는 2개의 신경망이 결합된 구조를 가지고 있다.  
    • 생성자 신경망 G는 노이즈 z로부터 실제 샘플과 거의 유사한 정답 분포 y로의 매핑을 학습한다.
    • 판별자 신경망 D는 이렇게 생성된 가짜 정답들을 실제 정답들과 비교하며 구분하는 역할을 한다.
  • 따라서 생성자 신경망이 그럴듯한 가짜 영상들을 만들어내어, 판별자가 실제 영상과 생성된 가짜 영상을 구분할 수 없을 정도로 학습시키는 것이 GAN의 학습 목표이다.

Fig 6. The architecture of a GAN. Courtesy of Ian Goodfellow. [* Ref. Minaee et al., 2022.]

 

3. DL-Based Image Segmentation Models

3.1. Fully Convolutional Models

  • Long et al. (2015) 논문은 딥러닝 기반의 이미지 분할 모델의 이정표가 될 FCN(Fully Convolutional Networks)을 제안했다.
    • FCN 모델은 기존의 일반적인 합성곱 신경망 모델(예. VGG, GoogLeNet)을 기반으로 하되, 분류에 쓰이는 마지막 단의 fully-connected layer를 삭제하고 fully convolutional layer(FCL)를 통해 segmentation map을 출력하는 구조를 가지고 있다.
  • 각 블록의 마지막 층에서 나온 특성 맵(feature map)들을 up-sampling한 후에 합성하는 skip-connection 기법을 사용하면 좀 더 정확하고 상세한 분할 결과를 얻을 수 있었다.
  • 다만 이러한 초기 형태의 FCN 모델은 몇가지 한계들이 존재한다: 1) 실시간으로 인퍼런스(inference)하기에는 계산이 너무 무거움, 2) 영사의 전체 문맥을 효과적으로 분석하지 못함(즉 지엽적으로 분석함), 3) 3차원 영상에 적용하기에 쉽지 않음.

Fig 7. The FCN learns to make pixel-accurate predictions. From Long et al., 2015.
Fig 8. Skip connections combine coarse and fine information. From Long et al., 2015.

 

3.2. CNNs With Graphical Models

  • 신경망 모델이 영상 데이터 내의 더 많은 문맥(context)들을 조사하기 위해서, 딥러닝 구조에 확률론적 그래픽 모델들을 추가하기도 한다.
    • 예) Conditional Random Fields (CRFs), Markov Random Fields (MRFs) 등등
  • Chen et al. (2014) 논문에서는 합성곱 신경망과 fully-connected CRFs 모델을 합성한 시멘틱 분할 알고리즘을 사용하여 분할해야할 타겟의 경계선(boundary)을 더 높은 정확도로 구할 수 있었다.

Fig 10. A CNN + CRF model. From Chen et al., 2014.

 

3.3. Encoder-Decoder Based Models

  • General Image Segmentation
    • DeConvNet (Noh et al., 2015): deconvolution (a.k.a. transposed convolution)을 블록형태로 차례로 쌓아 디코더로 사용한 시멘틱 분할용 모델
    • SegMet (Badrinarayanan et al., 2017): 인코더에서 나온 저해상도의 특성맵을 모두 디코더의 입력의 사용하며, 마지막 층 또한 FCL(fully connected layers)이 아니라 각 픽셀별로 작동하는 classification layer (ex. softmax)를 사용하였다.
    • HRNet (Yuan et al., 2019): 인코딩 과정에서 고해상도의 입력 영상이 들어오면 합성곱 블록이 작동하여 저해상도로 줄이되, 각 해상도별로 평행하게 모두 연결된 구조를 가진다. 

Fig 11. Deconvolutional semantic segmentation. From Noh et al., 2015.
Fig 12. The SegNet model. From Badrinarayanan et al., 2017.
Fig 13. The HRNet architecture. From Yuan et al., 2019.

  • Medical and Biomedical Image Segmentation
    • U-Net (Ronneberger et al., 2015): 의료 또는 의생명 영상에서 뛰어난 성능을 보인 모델로, 크게 영상의 특성을 분석하여 추출하는 인코더부분과 추출된 특징을 바탕으로 분할을 수행하는 디코더과 대칭된 형태로 구성되어 있으며, 이 대칭을 따라 같은 크기의 해상도를 가진 블록은 인코더와 디코더가 연결된 skip connection 구조가 핵심이다.
    • V-Net (Milletari et al., 2016): FCN 모델을 기반으로 하되 3차원 영상(의료영상에선 흔하다, 예. CT, MRI, 등등)에서 의료 영상 분할이 가능하도록 제안된 모델이다.

Fig 14. The U-Net model. From Ronneberger et al., 2015.
Fig 15. The V-Net model for 3D image segmentation. From Milletari et al., 2016.

 

4. Datasets 

5. DL Segmentation Model Performance

 

* Reference: Minaee, Shervin, et al. "Image segmentation using deep learning: A survey." IEEE transactions on pattern analysis and machine intelligence (2021).

728x90
728x90

댓글