[Research] Semantic Segmentation Survey 정리

2022. 10. 22. 20:32Research/Segmentation

728x90

Model 설명 정리

Learning Based Semantic Segmentation을 구조 및 특징에 따라 8가지 경우로 분류할 수 있다.

  1. Fully Convolutional Models
  2. CNNs with Graphical Models
    1. Convolution연산의 경우, location in-variance, scale variance한 특징을 가지기 때문에 Classification Task와 같이 Semantic Feature가 중요한 경우 높은 성능을 달성할 수 있다. 하지만, Spatial Feature가 중요한 Segmentation, Detection Task에는 적합하지 않을 수 있다.
    2. 손실된 Spatial Feature을 복원하기 위해 CRF(Conditional Random Field), MRF(Markov Random Field)와 같은 통계모델을 이용하여 후처리를 진행하는 연구들이 이에 속한다고 할 수 있다.
    3. 대표적인 예시가 Deeplab.
       
  3. Encoder-Decoder Based Models
    1. Encoder-Decoder 구조는 모델의 끝단에서 Pixel-Wise Prediction을 수행해야하는 Segmentation에서 많이 나타나는 모델구조. Encoder-Decoder 모델들은 General Image Segmentation, Medical Image Segmentation으로 나눌 수 있다.
      1. General Image Segmentation
        1. 대표적인 모델로는 Segnet, Deconvnet이 있다.
        2.  
          Encoder-Decoder구조는 효과적이지만, Encoding을 하는 과정에서 세밀한 특징들이 소멸되는 특징이 있다. 따라서 이를 보완하고자 나온 모델이 HRNet. HRNet에서는 앞서 언급한 Deconvnet, Segnet과 달리 높은 해상도의 이미지와 낮은 해상도의 이미지 간의 정보를 섞음으로써 세밀한 특징들을 보존할 수 있다.
        3.  
          현재 HRNet은 많은 Segmentation 모델들의 Backbone으로 쓰이고 있는 중.
      2. Medical and Biomedical Image Segmentation
        1. Medical Image Analysis에서도 병변의 영역을 분할하는데 Segmentation 모델이 많이 쓰이는 편이다. 대표적인 모델이 U-Net.
        2. U-Net은 Up-Sampling을 할 때, 압축된 이미지를 합쳐(Skip-Connection) 손실되는 정보를 보완하는 방법을 쓰고 있다.
           
  4. Multiscale and Pyramid Network Based Models
    1. 원래 Feature Pyramid Network는 Object Detection에서 큰 물체와 작은 물체의 특징을 모두 학습하기 위해 사용되던 방법이었으나 아이디어들이 Segmentation 모델에도 적용
    2. Feature Pyramid Network는 이전에 사용되던 Multiscale Feature Map 방법론들의 단점을 보완하면서 제안된 네트워크이다. 본 방법론은 Object Detection에서 주로 사용되었지만, 이러한 컨셉은 Segmentation에서도 활용될 수 있을 것 같아 소개한다. 각각의 방법들에 대한 간략한 설명은 다음과 같다.
      1. (a) 방법은 입력 이미지의 크기를 resize하여 다양한 scale의 이미지를 네트워크에 입력하는 방법. 다양한 크기의 객체를 포착하는데 좋은 결과를 보여주지만, 각각의 이미지를 resize한 후, Feature Map을 추출하기 때문에 연산량이 많은 단점이 있다. OverFeat 모델에서 사용 되었다.
      2. (b) 방법은 단일 scale의 입력 이미지를 네트워크에 입력하여 Feature Map을 추출한 후, 그 Feature Map을 통해 추론을 진행하는 방법. 학습 및 추론 속도가 빠른 장점이 있지만, 비교적 정확도가 낮다. YOLO 모델에서 사용 되었다.
      3. (c) 방법은 네트워크에서 미리 지정한 Conv layer 마다 Feature Map을 추출하여 Detect하는 방법. 다른 Resolution에서 추론을 수행한 결과를 종합하기 때문에 Semantic Gap이 발생. 따라서 이를 어떻게 합칠 것인지도 중요한데, 이 방법을 사용한 SSD 모델에서는 얕은 layer에서 추출한 Feature Map은 사용하지 않았음.
      4. (d) 방법은 본 논문에서 제안한 Feature Pyramid Network의 구조. 다양한 scale의 정보를 사용하였고, 다양한 Resolution의 이미지를 통합하기 위해 1x1 Convolution 연산을 사용하였다. 얕은 Layer의 정보(작은 객체의 특징)와 깊은 Layer의 정보(큰 객체의 특징)를 모두 사용하기 때문에 높은 정확도를 달성.
         
        Feature Pyramid Network의 구조
         
    3. Pyramid Scene Parsing Network (PSPN)는 Multi Scale의 아이디어를 심플하게 구현하였다. Pooling 과정에서 커널사이즈를 조정하여 여러 Scale의 Feature를 얻은 후, 이미지의 차원을 줄이기 위해 1x1 Convolution을 적용한다. 그리고 Upsampling을 통해 원본 이미지 크기로 만들어준 후, 원본 이미지와 합치는 과정을 거쳐 Pixel-Wise Prediction을 수행한다.
    4.  
      Pyramid Scene Parsing Network(PSPN)
  5. R-CNN Based Models
    1. R-CNN(Regional CNN)계열 알고리즘(RCNN, Fast RCNN, Faster RCNN)은 Region Proposal 컨셉을 사용하여 Object Detection 성능을 향상시킨 것에 의의가 있다. RCNN, Fast RCNN은 Region Proposal 과정을 Selective Search 방법을 사용하여 학습과 추론 속도가 느린점이 있었다. Faster RCNN은 Region Proposal 과정을 신경망을 활용한 End-to-End로 학습할 수 있게 하여 학습과 추론 속도의 향상을 이끌어냈다.
    2.  
      Faster RCNN의 구조
    3. 하지만 Faster RCNN은 Region Proposal 과정과 Detection과정이 두 단계로 이루어지기 때문에 학습과 추론이 느린 단점이 있다. 따라서 이를 보완하기 위해 Feature Map의 추출과 Detection과정을 한 번에 수행하는 1-Stage 모델(e.g. SSD, YOLO)도 많이 발전하게 되었다.
    4. Mask RCNN 모델은 Faster RCNN모델에서 Mask를 예측하는 과정이 추가된 모델이다. 입력 이미지로부터 객체의 Bounding Box를 추출하고, 추출된 Bounding Box에서 Class를 예측하는 Branch와 Mask를 예측하는 Branch로 나누어서 추론을 진행하게 된다. 따라서 Mask RCNN에서 Loss는 Bounding Box loss, Classification loss, Mask loss로 구성된다.
    5.  
      Mask RCNN의 구조
    6. Region Proposal과정을 포함하고 있는 RCNN구조는 앞서 언급한 모델 외에도 많은 모델에서 사용되었으므로 그 컨셉을 이해하고 있다면 다른 모델을 이해하는데 도움이 될 것이다.
  6. Dilated Convolutional Models
    1. Atrous Convolution이라고도 불리는 Dilated Convolution연산은 Computational Cost는 증가시키지 않으면서 더 넓은 Receptive Field를 가질 수 있기 때문에 연산속도를 줄이고자 할 때 많이 사용된다.
    2.  
      Dilated Convolution의 예시
    3. Dilated Convolution은 많은 모델에서 사용되었는데, 그 중 가장 유명한 모델이 Deeplab Series(Deeplab v1, Deeplab v2, Deeplab v3, Deeplab v3+)이다. Deeplab에 관한 설명은 시연님이 작성한 자료에 자세히 기술되어 있으므로 본 문서에서는 생략한다.
  7. RNN Based Models
    1. Recurrent Neural Network(RNN)는 원래 Sequential한 데이터를 다룰 때 사용되던 모델. RNN 모델에서는 주변 데이터들의 관계(i.e. Long Term, Short Term)를 모델링하는 것에 관심을 둔다.
    2. Segmentation Task에서는 픽셀간의 관계들이 굉장히 중요함.
    3. 그렇기 때문에 기존 이미지에서 사용되던 CNN 뿐 아니라, 주변 픽셀들간의 관계를 효과적으로 학습할 수 있는 방법들(e.g. RNN, Graph NN)을 활용하는 연구도 많이 진행되는 편.
    4. RNN Based Models들은 비디오 분야에서 활용되거나 자연어와 이미지가 결합된 Task(e.g. Image Captioning)에서 많이 활용되는 편.
    5. Graph NN의 구조도 이웃 픽셀들간의 관계를 학습할 수 있기 때문에 많이 사용되는 편인데, 그에 관한 연구는 추후에 작성할 예정
  8. Attention Based Models
    1. Attention Mechanism은 Computer Vision Task에서 많이 연구되었다. 따라서 이를 Semantic Segmentation에서 적용하기 위한 연구들은 많이 진행된 편. 여러 스케일의 이미지에서 Avg pooling Attention을 적용한 연구와 Position, Channel로 나누어 Attention을 적용한 연구를 소개한다.
    2. 여러 스케일의 이미지(scale = 0.5, scale = 1)를 FCN에 통과시켜 얻은 Feature Map을 Avg pooling을 하면 어느 Feature Map이 중요한지에 대한 중요도 값을 얻을 수 있는데, 이것을 원래 Feature Map과 결합시켜 학습할 수 있도록 모델을 구성하였다. 다른 스케일의 이미지로부터 Attention을 구성하였기 때문에 작은 물체와 큰 물체를 모두 포착할 수 있음.
       
    3. 소개할 연구에서는 한 이미지에 등장하는 물체들 사이의 유사성(Position)과 이미지 특징간의 유사성(Channel)을 고려하여 Segmentation을 보다 정교하게 수행할 수 있도록한다. 물체들 사이의 유사성을 계산하는 이유는 물체들간의 Scale들이 다르게 반영되는 것을 막을 수 있기 때문이다. Position, Channel간의 유사성은 Attention을 통해서 구현된다. ResNet으로부터 추출된 특징들을 Key, Query, Value로 사용하여 Self-Attention을 수행한다.
       
       

참고 자료

MINAEE, Shervin, et al. Image segmentation using deep learning: A survey. IEEE transactions on pattern analysis and machine intelligence, 2021.