📑Paper Review

[paper review] Image Segmentation Using Deep Learning: A Survey

date
Jun 17, 2022
slug
paper-review-Image-Survey
author
status
Public
tags
paper
DeepLearning
summary
image segmentation은 장면 인식, 의료 이미지 분석, 로봇 인식, 비디오 감시, 증강현실, 이미지 압충 등에서 사용됨. 이 논문은 semantic / instance segmentation에 사용된 여러 딥러닝 베이스의 모델을 소개함.
type
Post
thumbnail
캡처.PNG
category
📑Paper Review
updatedAt
Sep 7, 2024 03:12 AM

Introduction

  • 이미지 분할은 컴퓨터 비전의 시작에서부터 근본적인 문제였음.
  • 시각적 이해를 위해서 이미지(or 비디오 프레임)를 여러 segment나 object로 분할하고, 다양한 application에 적용하려 하였음
    • → 의료 이미지 분석(암 종양 범위 추출 or 조직 부피 측정)
      → 자율주행(네비게이션, 보행자 detection 등)
      → 영상 감시 및 증강현실 등…
 
  • image segmentation은 3가지 문제로 정의될 수 있음
    • notion image
  1. semantic segementation : 시멘틱 레벨(의미론적 레벨)로 픽셀을 분리하는 것
    1. → 모든 이미지 픽셀에 대해 몇개의 object category(label)로 분할
  1. instance segmentation : 개별 개체로 분리시키는 것
    1. → semantic에서 한단계 나아가 각 관심있는 객체를 감지하고 설명함
  1. panoptic segmentation : 한번에 semantic과 instance segmentation을 둘 다 해주는것
 
  • 딥러닝 등장 이전에도 여러 이미지 분할 알고리즘이 이미 존재했음
    • 과거 사용된 여러 이미지 분할 알고리즘 목록
      1. thresholding
      1. histogram-based bundling
      1. region- growing
      1. k-means clustering
      1. watershed methods
      1. active contours
      1. graph cuts
      1. conditional and Markov random fields
      1. sparsity-based
      → 그런데 딥러닝이 등장하면서 그 정확도로 인해 image segmentation 분야에 페러다임 전환을 가져옴
       
notion image
  • 이 논문에서는 현재까지 제안된 딥러닝 기반의 image segmentation과 훈련 데이터, 네트워크 아키텍쳐, 손실함수, 훈련 방법 등에 다룰 예정
      1. Fully convolutional networks
      1. Convolutional models with graphical models
      1. Encoder-decoder based models
      1. Multiscale and pyramid network based models
      1. R-CNN based models (for instance segmentation)
      1. Dilated convolutional models and DeepLab family
      1. Recurrent neural network based models
      1. Attention-based models
      1. Generative models and adversarial training
      1. Convolutional models with active contour models
      1. Other models
 

Deep Neural Network Architectures(DNN)

  • CNN, RNN, LSTM, 인코더-디코더, 오토 인코더, GAN을 다룰 예정
  • 다만 공간 제약으로 인해 transformer, capsule networks, gate recurrent unit, spatial transformer networks 는 다루지 못했음
 

2.1 Convolutional Neural Networks (CNNs)

notion image
  • CNN은 컴퓨터 비전 분야에서 가장 성공적으로 알려진 아키텍처 중 하나임
  • CNN은 크게 3가지 레이어를 가짐.
      1. convolutional layers : 가중치 추출을 위한 필터
      1. non-linear layer : (원소단위로) 비선형성을 가할 수 있도록 활성화함수를 피쳐맵에 적용
      1. pooling layer : 통계적 방식(최대, 평균)을 사용해 공간 해상도를 축소시키는 레이어
  • 각 레이어의 뉴런은 이전 레이어 값의 일부분만을 계속 받아오면서 여러 해상도로 만들어진 레이어를 만듦
  • AlexNet, VGGNet, ResNet 등으로 대표됨
 

2.2 Recurrent Neural Networks (RNNs) and the LSTM

 
notion image
notion image
  • RNN은 시계열 데이터처럼 순차적으로 이루어진 데이터를 처리하는데 사용됨
  • RNN의 가중치 소실 문제를 해결하기 위해 LSTM이 도입됨.
    • → LSTM은 정보의 흐름을 조절하는 3가지의 게이트를 포함(입력, 출력, 망각)
 

2.3 Encoder-Decoder and Auto-Encoder Models

notion image
  • 인코더-디코더는 2단계 네트워크로 구성돼 데이터 포인트를 매핑하는 방법을 학습하는 모델임
    • → 인코더() 를 통해 x를 latent space z로 압축
      → 디코더()를 통해 z로부터 y를 예측함
  • latent가 input의 semantic한 정보를 잘 잡아내어 ouput이 잘 예측하게 만들어줌
  • NLP 모델의 시퀸스-투-시퀸스 모델 뿐만 아니라 image-to-image traslation에서도 많이 사용됨
    • → image-to-image translation : 이미지 흐림 제거 or 고해상도 업스케일링
  • 오토인코더는 input 과 output이 동일한 인코더-디코더 모델의 특수한 경우
 

2.4 Generative Adversarial Networks (GANs)

notion image
  • 생성기/판별기로 구성된 새로운 딥러닝 모델,
  • 생성기는 샘플을 학습하여 실물과 유사한 가짜를 만들고, 판별기는 여러 샘플 중 가짜를 찾아내고자 함
    • → 일종의 minimax 게임 같기도 함
 

DL-BASED IMAGE SEGMENTATION MODELS

  • 여러 learning based segmentation 방법을 설명함
 

3.1 Fully Convolutional Model

notion image
notion image
 
  • semantic image segmentation을 위한 최초의 신경망
  • Fully connected layer를 Fully-convolutional layer로 교체함
  • 임의 사이즈의 input을 받아도 적절한 크기의 segmentation map output을 만들어냄
  • skip connection을 사용해서 정확도를 높임
    • → 스킵연결로 context information(semantic, apperance)간의 결합을 통해 정확도를 높임
  • 다만 빠르지 않은 real-time inference 문제와 global context 정보를 효율적으로 고려하지 않음
    • → 이 문제 극복을 위해 ParseNet 모델이 만들어졌고, Global context information 문제를 무시하고 FCN 문제를 해결 할 수 있게됨
  • ParseNet 은 계층에서 Average feature를 사용해 FCN에 Global context 정보를 증강하였음.
notion image
 

3.2 CNNs With Graphical Models

notion image
  • FCN에서 지적된것처럼 CNN 은 잠재적으로 유용할 수 있는 Scene-level semantic context 정보를 무시함.
    • → 그래서 더 많은 context 정보를 활용하고자 확률적 그래픽 모델을 통합하는 몇가지 방법이 있다.
  • Chen et al : CRFs와 CNN을 결합한 방식으로, 기존 CNN 최종 레이어는 정확한 객체 분할을 위해 충분히 지역화(Localization)되지 않는다는 것을 보여주었다. 이를 극복하기 위해, CNN의 마지막 계층을 fully-connected CRF와 연결함으로써 그림 10과 같이 이전 방법보다 더 높은 정확도의 Segment boundaries를 지역화 할 수 있음을 보여주고 있다.
  • Schwing and Urtasun : 이미지 분할을 위해 완전 연결된 CNN구조를 제안하였다. Semantic segmenataion을 위해 CNN과 완전 연결된 CRF를 공동으로 학습하는 방법을 제시하였으며, PASCAL VOC 2012에서 좋은 결과를 얻었다.
  • Zheng et al : CRF를 CNN과 통합하는 유사한 의미론적 분할 방법을 제안하였다. 다른 관련 작업에서 Lin et al은 Contextual Deep CRF에 기반한 의미론적 분할을 위한 효율적인 알고리즘을 제안하였다.이에, "Patch-Patch" context(image 영역 내)와 "Patch-background" context를 탐색하여 성능을 개선하였다.
  • Liu et al : 고차원 관계 및 Label Context 정보의 혼합을 포함한, 다양한 정보를 MRF(Markov Random Field)에 통합하는 의미론적 분할 알고리즘을 제안하였다. 이 방법은 기존 방법들(반복 알고리즘)과 달리 종단 간 계산을 가능하게 하는 CNN 모델, 즉 Parsing Network를 제안하였다.
 

3.3 Encoder-Decoder Based Models

  • 인기있게 사용되는 딥러닝 모델, 일반적 이미지 세그멘테이션과 의료 이미지 세그멘테이션으로 나뉠 수 있음.
 
3.3.1 General Image Segmentation
notion image
  • Noh et al : Deconvolution(a.k.a Transposed convolution)에 기반한 의미론적 분할에 대한 초기 방법을 제안하였다. 그림 11과 같이 VGG16을 채택하여 컨볼루션 계층을 사용하는 인코더 네트워크와 특성벡터를 입력으로 받아 결과 이미지를 생성하는 디코더, 디컨볼루션 네트워크으로 구성된다. 디 컨볼루션 네트워크는 디 컨볼루션 및 Unpooling 계층으로 구성되어 픽셀단위 클래스 레이블을 식별하고 마스크를 예측한다. PASCAL VOC 2012 데이터 세트에서 좋은 성능을 보였으며, 외부 데이터 없이 학습된 방법 중 최고의 정확도를 얻었다.
 
notion image
  • Badrinarayanan et al : SegNet으로 알려진 방법을 제안하였다. 디 컨볼루션 네트워크와 유사하게 VGG16 네트워크의 13개 컨볼루션 레이어로 구성된 Encoder 부분과 픽셀단위 분류 계층(classification layer)으로 구성된 디코더 네트워크로 구성된다. 주요 기여점은 디코더가 저해상도 입력 특징맵을 Up-sampling하는 방식이다. 특히, 해당 인코더의 max pooling 단계에서 계산된 pooling 인덱스를 사용하여 비선형 up-sampling을 수행한다. 이러한 연산방법은 업샘플링을 학습할 필요가 없어지게 된다. 그런 다음, Up-sampling 된 맵을 학습 가능한 필터와 컨볼루션하여 dense한 특징 맵을 생성하였다.SegNet은 다른 아키텍쳐들에 비해 학습가능한 파라미터가 현저히 적어지며, 또다른 버전인 베이지안 버전은 Scene 분할을 위한 컨볼루션 인코더-디코더 네트워크에 내재된 불확실성을 모델링 하기 위해 제안되었다.
 
notion image
  • 최근 많이 사용되고 있는 방법으로 HRNet이라 불린다. 그림 13은 DeConvNet, SegNet, U-Net 및 V-Net에서 수행되는 것 처럼 고해상도 표현을 복구하며, HRNet은 고해상도를 유지한다. 고해상도 컨볼루션 스트림을 병렬로 연결하고 해상도 간의 정보를 반복적으로 교환하며, 인코딩 프로세스를 통해 표현한다. Self-attention과 extensions 모델등을 활용하여 HRNet을 백본으로 많이 사용되고 있으며, Locality sensitive한 디컨볼루션 네트워크를 가진 SDN, LinkNet, W-Net, RGBD 분할을 위한 인코더-디코더 등에서 활용된다.(Transposed convolution등이 활용) 인코더-디코더 기반 모델의 한가지 제한은 인코딩 프로세스를 통한 고해상도 표현의 손실로 인해 이미지의 세분화된 정보가 손실된다는 것이며 이러한 문제를 HR-Net과 같은 일부 네트워크에서 해결하고 있다.
 
3.3.2 Medical and Biomedical Image Segmentation
notion image
  • Ronneberger et al : 생물학적 현미경 이미지를 분할하기 위한 U-Net을 제안하였다. 이들의 네트워크 및 학습 전략은 annotation이 추가된 극소수의 이미지에서 효과적으로 학습하기 위해 데이터 증강 방법을 사용한다.U-Net의 아키텍쳐는 그림 14와 같으며, 인코더와 디코더 부분이 대칭을 이루고 있다. 다운 샘플링 또는 수축 부분은 3x3 컨볼루션으로 특징을 추출하며, FCN과 동일한 아키텍쳐를 가지고 있다. 또한, 업샘플링 또는 확장 부분은 피쳐 맵의 수를 줄이면서 이미지의 크기를 늘려준다. 네트워크의 다운 샘플링 부분의 특징 맵은 패턴 정보 손실을 방지하기 위해 업샘플링 부분에 복사된다. 마지막으로 1x1 컨볼루션은 특징맵을 처리하여 입력 이미지의 각 픽셀을 분류하는 분할 맵을 생성한다. U-Net은 30개의 투과광 현미경 이미지에 대해 학습하며, 2015년 ISBI 세포 추적 챌린지에서 큰 차이로 우승한 바 있다.그 후, 다양한 방법들로 확장되었으며 Cicek et al은 3D 이미지를 위한 U-Net 아키텍처를 제안하였다. Zhou et al은 중첩된 U-Net 아키텍처를 제안하였으며, Zhang et al은 U-Net 기반 도로 이미지 분할/추출 알고리즘을 개발하였다.
notion image
  • V-Net은 Milletari 등이 제안하였으며, FCN 기반 3D 의료 영상 분할 용 모델이다. 모델의 학습을 위해, 그들은 Dice Coefficient를 기반으로 하는 새로운 손실함수를 도입하였고, 모델이 전경(Foreground)과 배경의 복셀(3D 픽셀) 수 사이에 강한 불균형이 있는 상황을 처리할 수 있도록 하였다. 이 네트워크는 전립선의 MRI 볼륨에 대해 종단 간 학습을 수행하며, 전체 볼륨에 대한 분할을 한 번에 예측하는 방법으로 채택된다. 의료 영상 분할에 대한 다른 방법으로는 PDV-Net(Progressive Dense V-Net) 즉, 흉부 CT 영상에서 pulmonary lobes을 빠르고 자동으로 분할하며, lesion segmentation(병변 분할)을 위한 3D-CNN 인코더 부분이 포함되어 있다.
 

3.4 Multiscale and Pyramid Network Based Models

notion image
 
이미지 처리 분야에서 다소 오래된 아이디어로 딥러닝 모델에 포함되어 개발되었다. 이러한 방법에서 가장 많이 쓰이는 모델은 FPN(Feature Pyramid Network)이다. 주로 객체 탐지를 위해 개발되었지만, segmentation에도 적용된다.
Deep CNN의 고유한 다중 스케일 피라미드 계층 구조는 추가 비용이 거의 없는 피쳐 피라미드를 구성하는데 사용되었다. 저 해상도 및 고 해상도 특징을 결합하기 위해 FPN은 상향식(bottom-up) 경로, 하향식(Top-donw) 경로 및 측면(Lateral) 연결로 구성된다. 연결된 특징 맵은 3x3 컨볼루션으로 처리되어 각 단계의 출력을 생성한다. 하향식 경로의 각 단계의 마지막은 물체를 탐지하기 위한 예측을 생성하며, 이미지 분할을 위해서는 두개의 다중 레이어 퍼셉트론(MLP)를 사용한다.
  • Zhao et al : Scene의 글로벌 컨텍스트 표현을 더 잘 학습하기 위해, Multi scale 네트워크인 Pyramid Scene Parsing Network를 개발하였다. 확장된 네트워크와 Residual network를 특징 추출기로 사용하였다. 그 후, 추출된 특징맵은 피라미드 Pooling 모듈에 입력되어 다른 스케일의 패턴으로 구분된다. 이러한 패턴은 피라미드 수준에 해당하는 4개의 다른 스케일로 풀링되고, 크기를 줄이기 위해 1x1 컨볼루션 레이어로 처리된다. 피라미드 레벨의 출력은 업샘플링되고, 초기 특징 맵과 연결되어 지역 및 글로벌 컨텍스트 정보를 모두 포착한다. 마지막으로, 픽셀 단위 예측을 생성하기 위해 컨볼루션 계층을 사용한다.
  • Ghiasi and Fowlkes : 고해상도 피쳐 맵의 스킵 연결과 곱셈 연산을 사용하여 저해상도 맵에서 재 구성된 Segmentation boundaries를 연속적으로 개선하는 라플라시안 피라미드를 기반으로 하는 Multi-scale 해상도 재구성 아키텍처를 제안하였다. 그들은 컨볼루션 특징 맵의 공간(Spatial) 해상도는 낮지만 고차원 특징 표현에는 중요한 위치 정보가 포함되어 있음을 보여준다. (DM-Net, Context contrasted network and gated multiscale Aggregation (CCN), Adaptive Pyramid Context Network (APC-Net), MSCI(Multi-scale context intertwining)과 salient object detection)
 

3.5 R-CNN Based Models

notion image
  • Region 기반의 컨볼루션 네트워크와 확장 버전(Fast R-CNN, Faster R-CNN, Masked R-CNN)등은 객체 탐지 분야에서 성공적으로 입증되었다. 특히, 객체 탐지를 위해 개발된 Faster R-CNN 방법은 RPN(Region Proposal Network)을 사용하여 바운딩 박스 후보를 제안한다. RPN은 관심 영역(ROI)을 추출하고, ROI Pool 계층은 바운딩 박스 좌표와 객체 클래스를 추론한다. R-CNN의 확장 방법중 일부는 인스턴스 분할 문제를 해결하는 데 많이 사용되었으며, 객체 탐지와 semantic 분할을 동시에 수행하는 작업으로 확장되었다.
notion image
notion image
  • He et al: 객체 인스턴스 분할을 위한 Mask R-CNN을 제안하였으며, COCO 벤치마크 데이터 셋에 대하여 좋은 성능을 보였다. 이 모델은 이미지안의 객체를 효율적으로 탐지하는 동시에 각 인스턴스에 대한 segmentation mask를 생성한다. Mask R-CNN은 그림 17과 같이 Faster RCNN에 3개의 output branch를 가지고 있다.
    • 첫번째는 바운딩 박스 상좌 좌표값을 계산하고, 두번째는 연관된 클래스를 계산하며 세번째는 객체를 분할하기 위해 이진마스크를 계산한다. Mask R-CNN 손실함수는 바운딩 박스 상자 좌표, 예측된 클래스와 분할 마스크에 대한 손실 결합하여 공동으로 학습한다.
 
notion image
  • Liu et al : Path Aggregation Network(PANet)은 Mask R-CNN 및 FPN 모델을 기반으로 한다. (Fig 19.) 네트워크의 특징 추출부분은 하위 계층 특징의 전파를 개선하는 새로 augmented bottom-up 경로가 있는 FPN 아키텍쳐를 사용한다. 세번째 단계인 c계층에서는 이전 단계의 특징 맵을 입력으로 받아 3x3 컨볼루션 레이어로 처리한다. 출력은 측면 연결을 사용하여 하향식 경로의 동일한 단계 기능 맵에 추가되며 이러한 특징 맵은 다음 단계에 공급으로 사용한다. Mask R-CNN에서와 같이 Adaptive feature pooling layer의 출력은 3개의 branch로 공급하며, 처음 두 개는 완전 연결 계층을 사용하여 바운딩 박스 좌표 및 관련 객체 클래스의 예측을 생성한다. 세 번째는 FCN으로 Roi를 처리하여 객체 마스크를 예측한다.
  • Dai et al : 각각 인스턴스를 구별, 마스크 추정, 객체를 분류하는 세 개의 네트워크로 구성된 instance aware semantic segmentation 방법을 제안하였다. 이러한 네트워크는 계단식 구조(cascaded)를 형성하며 컨볼루션 특징들을 공유하도록 설계되어있다.
  • Hu et al : 새로운 가중치 전달 함수와 새로운 부분 감독학습의 방법을 제안하였다. 이는 모든 box annotation이 있지만, 일부에만 마스크 annotation이 있는 큰 범주의 데이터에서 instance segmentation 모델을 학습할 수 있도록 한다.
 
notion image
  • Chen et al : Faster R-CNN을 기반으로 하는 semantic and direction 특징으로 객체 탐지를 개정하여 인스턴스 분할 모델인 MaskLab를 제안하였다. 이 모델은 Box 탐지, semantic segmentation 및 direction 예측의 세 가지 출력을 생성한다. Faster-RCNN 객체 탐지부분을 기반으로 하는 prediction 부분은 객체 인스턴스의 정확한 위치를 제공한다. 각 관심 영역 내에서 Mask Lab는 semantic 정보와 direction prediction 정보를 결합하여, Foreground/Background에 대한 분할을 수행한다.
  • 그 외에도, Tensormask등이 있다. Tensormask는 Dense 8개의 sliding window를 이용하여 intance segmentation을 수행한다. dense instance segmentation을 4D 텐서에 대한 예측 작업으로 수행하고, 4D 텐서에 대해 연산이 가능한 프레임워크를 제시한다. 그들은 텐서 view가 baseline에 비해 큰 이득을 얻고, Mask R-CNN과 유사한 성능을 보이는 결과를 만든다는 것을 보여준다. TensorMask는 dense한 객체 분할에서 좋은 결과를 달성한다.
  • R-FCN, DeepMask, PolarMask, boundary-aware instance segmentation과 CenterMask 등은 mask 제안을 위해 개발되었으며, R-CNN을 기반으로 한다.
 

3.6 Dilated Convolutional Models

notion image
  • 확장된 컨볼루션(a.k.a "atrous")은 컨볼루션 레이어에 또다른 매개 변수인 dilation rate를 적용한다. dilated convolution은 Fig 21과 같으며, 가중치 사이의 간격을 조정할 수 있다. 예를 들어, dilated rate이 2인 3x3 커널은 5x5 커널과 동일한 크기의 receptive field를 가지며, 9개의 매개변수 만 사용하므로 계산비용이 크게 증가하지 않고 receptive field를 확대할 수 있다. dilated covolution은 real-time semantic segmentation 분야에서 인기가 많으며, 최근에도 적용되는 추세이다.
notion image
notion image
 
  • DeepLabV1, DeepLabV2는 이미지 세그먼테이션 분야에서 인기있는 방법 중 하나이며, 세가지 주요 특징이있다.
      1. 확장된 convolution을 사용하여 네트워크에서 감소하는 해상도 문제를 해결하는 것이다.(caused by max-pooling, striding)
      1. Atrous Spatial Pyramid Pooling(ASPP)으로 여러 dilated rates의 필터를 사용하여 들어오는 특징 맵을 컨볼루션 레이어를 이용하여 집계 및 활용한다.
      1. Deep CNN과 확률적 그래픽 모델의 방법을 결합하여 객체 boundary에서의 향상된 성능을 보인다.
      → 최고의 모델인 DeepLab(using a Resnet 101)은 2012 PASCAL VOC에서 mIOU 79.7%, PASCAL-Context Challenge 45.7%, Cityscapes challenge 70.4%를 달성하였다.
 

3.7 RNN Based Models

  • CNN은 컴퓨터 비전 문제에서 빈번하게 사용되었으며, RNN은 Segmentation 추정을 개선하기 위해 픽셀간의 단기/ 장기적으로 모델링하는데 유용하다. RNN을 사용하면, 픽셀을 함께 연결하고 순차적으로 처리하여 전역적 Context 정보를 모델링하고 semantic segmentation을 개선할 수 있다. 하지만, 한 가지 문제점은 이미지는 2D 구조라는 점이다. (RNN은 주로 시퀀스 데이터에 적용되어왔다.)
 
notion image
 
  • Visin et al : RNN 기반의 ReSeg모델을 제안하였다. 이 모델은 주로 이미지 분류를 위해 ReNet이라는 방법을 기반으로 한다. 각 ReNet 계층은 이미지를 양방향으로 수평 및 수직으로 진행하고, patch/ activations를 인코딩하고 관련 Global 정보를 제공하는 4개의 RNN으로 구성된다.ReSeg 모델을 사용하여 이미지 분할을 수행하기 위해 ReNet 레이어는 일반 Local 특징을 추출하는 사전 학습된 VGG-16 컨볼루션 레이어 위에 쌓인다. ReNet 레이어 다음에는 Up-sampling 레이어가 이어지며, 최종 예측에서 원래 이미지 해상도로 복구된다. GRU(Gated Recurrent Unit)는 메모리 사용량과 계산 능력 사이에 적절한 균형을 제공하기위해 사용된다.
 
notion image
  • Liang et al 은 연속 데이터 또는 다차원 데이터에서 일반 그래프 구조 데이터로 LSTM을 일반화하는 Graph LSTM 네트워크를 기반으로 하는 Semantic segmentation  모델을 제안했다.
    • 이미지를 기존 다차원 LSTM 구조(ex 행, 격자 및 대각선 LSTM)의 픽셀 또는 패치로 균등하게 분할하는 대신 임의의 모양의 각 슈퍼 픽셀을 의미 상 일관성있는 노도로 간주하고, 이미지에 대한 무 방향 그래프를 슈퍼 픽셀의 공간적 관계가 자연스럽게 가장자리(Edges)로 사용하여 구성하였다.
      그림 25는 기존의 픽셀단위 RNN 모델과 그래프 LSTM 모델을 시각적으로 비교한 것이다. Graph LSTM 모델을 Semantic Segmentation에 적용한 모델은 그림 26과 같으며, 슈퍼 픽셀 맵에 구축된 LSTM 레이어가 컨볼루션 레이어가 추가되어 시각적 특징(Global context)을 향상시킨다. 컨볼루션 특징들은 1x1 컨볼루션 필터를 통과하여 모든 레이블에 대한 초기 신뢰도(Confidence) 맵을 생성한다. 후속 Graph LSTM 계층에 대한 노트 Update 시퀀스는 초기 신뢰도 맵을 기반으로 하는 방식에 의해 결정되며, graph LSTM 계층은 모든 슈퍼픽셀 노드의 은닉 상태를 순차적으로 업데이트 할 수 있다.
 
notion image
notion image
  • Hu et al : 이미지를 인코딩 하는 CNN과 자연어 설명을 인코딩하는 LSTM의 조합을 사용하여 자연어 표현에 기반한 의미론적 분할 알고리즘을 제안하였다. 예를 들어, "오른쪽 벤치에 앉아있는 두 사람"이라는 문구는 오른쪽 벤치에 두 사람만 세분화 해야하고 다른 벤치에 서있거나 앉아 있지 않아야 하기 때문에 사전 정의된 의미론적 클래스 집합에 대한 기존의 방법과는 차이점을 보인다.언어 표현을 위한 픽셀 단위 분할을 생성하기 위해 시각 및 언어 정보를 처리하는 방법을 공동으로 학습하는 순환 및 컨볼루션 모델을 제안하였다.(Fig 27) 이 모델은 반복 LSTM 네트워크를 사용하여 참조된 표현을 벡터 표현으로 인코딩하고 FCN을 사용하여 이미지에서 공간 특징 맵을 추출하고 대상 객체에 대한 공간 response 맵을 출력한다. 이 모델에 대한 segmentation 결과는 그림 28과 같다.
  • RNN의 한계는 CNN 모델보다 느리며, 그 이유는 순차 계산은 쉽게 병렬화 될 수 없기 때문이다.
 

3.8 Attention-Based Models

notion image
notion image
  • Chen et al : 각 픽셀 위치에서 추출된 multi-scale 특징들에 Softly weight를 부여하는 방법을 제안하였다.(Fig 29)
  • Huang et al : 컨볼루션 분류기(Classifiers)가 레이블이 지정된 객체를 학습하는 기존의 semantic segmentation 방법들과는 대조적으로, Reverse Attention 방법을 적용하여 제안하였다. 그들이 제안한 RAN(Reverse Attention Network) 아키텍쳐(Fig 30)는 반대 개념(타겟 클래스와 연관되지 않은 특징)도 포착하도록 모델을 학습시킨다. RAN은 Direct, Reverse-Attention(직접, 반대) 학습 프로세스를 동시에 수행하는 3개의 branch 네트워크이다.
  • Li et al. : Pyramid Attention Network를 이용한 방법을 제안하였다. 이 모델은 Semantic Segmentation에서 Global Context 정보의 영향을 이용한다. 그들은 dilated 컨볼루션과 인위적으로 설계된 Decoder 네트워크 대신 Attention (주의) 매커니즘과 Spatial(공간) 피라미드를 결합한 컨볼루션을 이용하였으며, 최종적으로 pixel labeling을 위한 정밀한 특징들을 추출했다.
  • 그 외에도, Attention 방법에서 영감을 받아 객체 Context Pooling을 제안한 OCNet, EMANet(Expectation- Maximization Attention), Criss-Cross Attention Network(CCNet)와 같은 다양한 방법들이 존재한다.
 

3.9 Generative Models and Adversarial Training

  • GAN은 다양한 분야에서 활용되며, Semantic Segmentation에서도 응용되고 있다.
notion image
  • Luc et al : Semantic Segmentation을 위한 적대적 학습 접근법을 제안했다. 그들은 Semantic segmentation 네트워크에 의해 생성된 것(가짜 map)과 GT맵을 구별하는 적대적 네트워크와 함께 컨볼루션 semantic segmentation 네트워크를 학습했다.(Fig 31) 그들은 적대적인 학습 접근 방식이 stanford Background 및 PASCAL VOC 2012 데이터 세트의 정확도를 향상시키는 것으로 나타났다.
  • Souly et al : GAN을 사용하여 semi-weakly 감독하는 semantic segmentation을 제안하였다. GAN 프레임 워크에서 가짜와 진짜를 구별하는 다중 클래스 분류기에 추가학습 예제를 제공하는 생성기 네트워크로 구성되며, k개의 가능한 데이터 클래스에서 레이블을 추가 할당하여 가짜 샘플을 추가하였다.
  • Hung et al : 적대적 네트워크를 사용하여 semi-supervised semantic segmentation 방법을 제안하였다. 그들은 공간 해상도를 고려하여, 예측된 확률 맵과 GT segmentation 분포를 구별하기 위해 FCN 판별기를 설계 도입하였다. 이 모델의 고려된 손실 함수에는 세가지 Terms가 포함된다. Segmentation GT맵에 대한 Cross-entropy 손실, 판별기 네트워크의 적대적 손실, confidence map에 기반한 semi-supervised 손실 즉, 판별자의 출력에 대한 손실이다.
  • Xue et al : 의료 영상 분할을 위한 다중 스케일(multi-scale) L1손실을 가진 적대적 네트워크를 제안하였다. 그들은 segmentation 레이블 맵을 생성하기 위해 FCN을 Segmentor로 사용했으며, 생성기와 분류기가 먼 거리와 가까운 거리 공간 관계 및 Global and Local 특징을 모두 학습하도록 하는 multi-scale L1 손실함수를 제안하였다.
 

3.10 CNN Models With Active Contour Models

  • FCN과 ACM(Active Contour Model)간의 시너지는 최근연구에서 관심을 끌고있다. 한가지 접근 방식은 ACM 방법에서 영감을 받아 새로운 손실함수를 수식화 하는 것이다. 예를들어, Global Energy 수식에서 영감을 얻은 Chen et al.은 FCN 학습 중에 예측된 마스크의 면적 및 크기 정보를 통합하고, 심장 MRI 에서 심실 분할 문제를 해결하는 방법을 제안했다.
  • 초창기 ACM을 FCN 출력의 후처리 과정으로만 사용하려는 다른 접근 방식이 있었으며, 다양한 시도들을 통해 FCN을 사전 학습하여 컨볼루션 신경망과 동시에 학습하는 방법을 제안해왔습니다. 자연 이미지의 의미론적 분할 작업을 위한 ACM 후처리 프로세서의 한 예는 Level-Set ACM이 RNN으로 구현된 Le et al.의 연구에서 볼수 있다.
  • Rupprecht등의 Deep Active Contours는 또다른 예가 있다. 의료 이미지 분할의 경우, Hatamizadeh et al은 새로운 로컬 매개 변수화된 Level-Set 에너지 function의 매개변수 특징을 예측하기 위해 FCN 백본을 학습하는 통합된 DLAS(Deep Active Lesion Segmentation) 모델을 제안하였다. 다른 관점에서 Macros et al은 제안된 DSAC(Deep Structured Active Contours)는 항공 이미지에서 인스턴스 분할을 수행하기 위해 구조화된 Prediction 프레임 워크에서 ACM과 사전 학습된 FCN을 결합하였다.
 
 

3.11 Other Models

notion image
  • EncNet(Context Encoding Network) : 기본 특징 추출기를 사용하고, 특징 맵을 Context Encoding Module에 공급하는 방법이다.
  • RefineNet : 먼-거리(long-range) residual 연결을 사용하여 고해상도 예측을 가능하게 하였으며, Down-sampling 과정에서 사용 가능한 모든 정보(Global, Local)를 명시적으로 활용하는 multi-path 네트워크이다.
  • OCR(Object Contextual Representations) : GT와의 감독학습을 통해 객체 영역에 대해 학습하고, 객체 영역에 대한 계산, 각 픽셀과 각 객체 영역에 대한 관계 그리고 각 객체의 Context 표현에 대한 특징들을 계산한다.
  • Panoptic Segmentation : 각 픽셀별 레이블링과 instance segmentation을 합친 용어로, Panoptic Feature Pyramid Network, attention-guided network for Panoptic segmentation, Seamless Scene Segmentation, panoptic deeplab, unified panoptic segmentation network, efficient panoptic segmentation 등이 있다.
 

  • 궁금한점
  1. semantic을 시도하는가 instance를 하는가?
    1. 해당 객체를 추출해서 빼내고 inpainting 칠거라면 instance 해야하려나? 그냥 semantic으론 안되나?

SOTA

  • Instance Segmentation on COCO test-dev
notion image
 
  • Papers with code ( semantic segmentation)
notion image
 
  • Semantic Segmentation on Cityscapes test
notion image