Image processing/Segmentation

[Part 1] Image Segmentation Using Deep Learning, A survey

유니디니 2020. 12. 20. 00:53
728x90
반응형

Written by Shervin Minaee, Yuri Boykov, Fatih Porikli, Antonio Plaza, Nasser Kehtarnavaz, and Demetri Terzopoulos

 

논문에서 다루고자 하는 카테고리는 아래와 같으며, 3회에 걸쳐 리뷰해볼까 합니다.

 

  • Fully convolutional networks
  • Convolutional models with graphical models
  • Encoder-decoder based models
  • Multi-scale and pyramid network based models
  • R-CNN based models(for instance segmentation)
  • Dilated convolutional models and DeepLab family
  • Recurrent neural network based models
  • Attention-based models
  • Generative models and adversarial training
  • Convolutional models with active contour models
  • Other models

Fully convolutional networks

 

  • 초창기 Fully Convolutional Network
  • Fully Connected layers를 Fully-Convolutional layers로 대체
  • Skip connection 방법을 사용하여 정확도를 높임
  • Context information간의 결합을 통해 정확도 높임

초창기 Semantic Image Segmentation 모델 중 하나이며, Fully Convolutional Network 방법 (Only Convolutional 계층들 만 사용)을 사용하였다. 이러한 방법은 임의의 크기를 가진 이미지를 입력으로, 입력 사이즈와 동일한 크기의 결과 맵을 생성하였다.




저자들은 VGG-16, GoogLeNet등과 같은 방법들을 응용하여, 고정되지 않은 크기의 입력과 출력데이터를 다루기 위해 모든 Fully-connected layers (FC-layer, Linear 연산)를 Fully-convolutional layers(컨볼루션 연산)로 대체하였다.

결과적으로, Spatial segmentation map 대신, Fig 7과 같은 Classification scores (분할 스코어를 가진 맵)를 가진 결과를 얻을 수 있었다.

 


또한, 최종 레이어의 특징 맵이 Up-sampling되고, 이전 레이어의 특징 맵과 융합되는 Skip-connection을 사용하여 모델은 Semantic information(문맥상의 정보 - 의미정보, from deep, coarse layers)Apperance information (from shallow, fine layers)를 결합하여 정확하고 세부적인 결과맵을 생성한다. (Fig 8)




그러나, 빠르지 않은 Real-time infernece 문제와 Global Context 정보를 효율적으로 고려하지 않음, 3D 이미지들로 쉽게 이전할 수 없는 문제를 가지고 있다.
이러한 문제들을 극복하기 위해 Liu et al.은 ParseNet 모델을 제안하였으며, Global context information을 무시하고 FCN 문제를 해결하기 위한 방법으로 알려져 있다.

 

이에, ParseNet은 계층에서 평균(Average) 특징을 사용하여 FCN에 Global context 정보를 증강(augment), 보강하였다. 이 계층에서의 특징맵은 전체 이미지에서 글로벌 풀링되어 컨텍스트 벡터(그림 9의 살색 벡터)를 생성하며, 초기 이미지 값(보라색 벡터)과 동일한 크기의 새 특징맵을 생성한다. 그런 다음, 초기 특징맵과 연결(Concatenate)된다.


Convolutional Models With Graphical Models

 

FCN에서 지적된 바와 같이, 잠재적으로 유용한 Scene-level semantic context 정보를 무시한다. 더 많은 context 정보를 활용하기 위해 여러가지 접근 방식(CRF-Conditional Random Field, MRF-Markov Random Field)와 같은 확률적 그래픽 모델을 통합하였다.

 

 

  • 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를 제안하였다.

 

Encoder-Decoder Based Models

 

또 다른 인기있는 모델로써, 일반 segmentation을 위한 모델과 의료 이미지 segmentation을 위한 모델로 그룹화 할 수 있다. (응용 어플리케이션 간 구별을 위해)

 

General Segmentation Models

 

 

  • Noh et al : Deconvolution(a.k.a Transposed convolution)에 기반한 의미론적 분할에 대한 초기 방법을 제안하였다. 그림 11과 같이 VGG16을 채택하여 컨볼루션 계층을 사용하는 인코더 네트워크와 특성벡터를 입력으로 받아 결과 이미지를 생성하는 디코더, 디컨볼루션 네트워크으로 구성된다.

    디 컨볼루션 네트워크는 디 컨볼루션 및 Unpooling 계층으로 구성되어 픽셀단위 클래스 레이블을 식별하고 마스크를 예측한다. PASCAL VOC 2012 데이터 세트에서 좋은 성능을 보였으며, 외부 데이터 없이 학습된 방법 중 최고의 정확도를 얻었다.

 

 

  • Badrinarayanan et al : SegNet으로 알려진 방법을 제안하였다. 디 컨볼루션 네트워크와 유사하게 VGG16 네트워크의 13개 컨볼루션 레이어로 구성된 Encoder 부분과 픽셀단위 분류 계층(classification layer)으로 구성된 디코더 네트워크로 구성된다. 주요 기여점은 디코더가 저해상도 입력 특징맵을 Up-sampling하는 방식이다.

    특히, 해당 인코더의 max pooling 단계에서 계산된 pooling 인덱스를 사용하여 비선형 up-sampling을 수행한다. 이러한 연산방법은 업샘플링을 학습할 필요가 없어지게 된다. 그런 다음, Up-sampling 된 맵을 학습 가능한 필터와 컨볼루션하여 dense한 특징 맵을 생성하였다.

    SegNet은 다른 아키텍쳐들에 비해 학습가능한 파라미터가 현저히 적어지며, 또다른 버전인 베이지안 버전은 Scene 분할을 위한 컨볼루션 인코더-디코더 네트워크에 내재된 불확실성을 모델링 하기 위해 제안되었다.

 

  • 최근 많이 사용되고 있는 방법으로 HRNet이라 불린다. 그림 13은 DeConvNet, SegNet, U-Net 및 V-Net에서 수행되는 것 처럼 고해상도 표현을 복구하며, HRNet은 고해상도를 유지한다. 고해상도 컨볼루션 스트림을 병렬로 연결하고 해상도 간의 정보를 반복적으로 교환하며, 인코딩 프로세스를 통해 표현한다. 

    Self-attention과 extensions 모델등을 활용하여 HRNet을 백본으로 많이 사용되고 있으며, Locality sensitive한 디컨볼루션 네트워크를 가진 SDN, LinkNet, W-Net, RGBD 분할을 위한 인코더-디코더 등에서 활용된다.(Transposed convolution등이 활용) 

    인코더-디코더 기반 모델의 한가지 제한은 인코딩 프로세스를 통한 고해상도 표현의 손실로 인해 이미지의 세분화된 정보가 손실된다는 것이며 이러한 문제를 HR-Net과 같은 일부 네트워크에서 해결하고 있다.

Encoder-Decoder Models for Medical and Biomedical Image Segmentation

 

FCN 및 인코더-디코더 모델에서 영감을 얻은 의료/ 생체 의학 이미지 분할을 위해 처음 개발된 여러 모델이 있으며 U-Net과 V-Net이 대표적이다.

 

 

  • 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 기반 도로 이미지 분할/추출 알고리즘을 개발하였다.

  • V-Net은 Milletari 등이 제안하였으며, FCN 기반 3D 의료 영상 분할 용 모델이다. 모델의 학습을 위해, 그들은 Dice Coefficient를 기반으로 하는 새로운 손실함수를 도입하였고, 모델이 전경(Foreground)과 배경의 복셀(3D 픽셀) 수 사이에 강한 불균형이 있는 상황을 처리할 수 있도록 하였다.

    이 네트워크는 전립선의 MRI 볼륨에 대해 종단 간 학습을 수행하며, 전체 볼륨에 대한 분할을 한 번에 예측하는 방법으로 채택된다. 의료 영상 분할에 대한 다른 방법으로는 PDV-Net(Progressive Dense V-Net) 즉, 흉부 CT 영상에서 pulmonary lobes을 빠르고 자동으로 분할하며, lesion segmentation(병변 분할)을 위한 3D-CNN 인코더 부분이 포함되어 있다.

Multi-Scale and Pyramid Network Based Models

 


이미지 처리 분야에서 다소 오래된 아이디어로 딥러닝 모델에 포함되어 개발되었다. 이러한 방법에서 가장 많이 쓰이는 모델은 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)
반응형