본문 바로가기

DEEP LEARNING/Fundamental Concept

Semantic Segmentation

이미지 내의 각 픽셀단위로 배경 및 각 개체의 클래스를 분할하고 동시에 예측

무엇(what)이 있는지 확인(semantic) 뿐 아니라 어느 위치(where)에 있는지(location)도 파악

 

 

FCN (Fully Convolutional Networks for Semantic Segmentation)

  • 기검증된 네트워크(AlexNet, VGGNet, CoocLeNet) 등 이용
  • fully connected layer를 1x1 convolution으로 바꿈으로 네트워크 전체가 convolution층으로 이뤄지게 됨

  • 어떤 크기의 H x W 이미지도 입력될 수 있음
  • 여러 층의 컨볼루션층들을 거치고 난 후의 특성맵(feature map, H/32 x W/32)의 한 픽셀이 입력 이미지(32 x 32)를 대표함으로써 입력이미지의 위치 정보를 '대략적으로' 유지
  • 컨볼루션층들을 거치고 나서 얻게 된 마지막 특성맵의 개수는 훈련된 클래스의 개수와 동일

upsampling 

  • 클래스에 해당하는대략적인(coarse) 특성맵들의 크기를 원래 이미지의 크기로 다시 복원
  • upsampling된 특성맵들을 종합해서 최종적인 segmentation map 만듦
  • 각 픽셀당 확률이 가장 높은 클래스 선정

 

FCN-8s

skip combining : 전전 단계의 특성맵(pool3)과 전 단계의 특성맵(pool4)을 2배 upsampling한 것과 현 단계의 특성맵(conv7)을 4배 upsampling 한 것을 모두 더한 후 8배 upsampling한 특성맵들을 모두 종합해서 최종 segmentation map 산출 



Learning Deconvolution Network for Semantic Segmentation

물체가 큰 경우 파편화, 작은 경우 배경으로 무시되는 경향: 네트워크는 미리 정의된 사이즈의 receptive field(상위 레이어의 한 지점에서 참조하는 하위 레이어의 영역)를 가지는데, FCN에서는 단일 배율만을 학습

디테일이 많이 날아가므로 세부 영역을 찾아내기 어려움

Heat map

deconvolution시 차원을 유지하는 방법으로, CNN(VGG-16)의 convolution만큼 레이어 숫자를 늘림: 동일한 구조로 mirror된 deconvolution network를 붙임

Unpooling

  • 물체의 위치 정보 보존
  • switch variables를 따로 저장하고 unpooling시 사용
  • 대칭적 구조

Batch normalization

Two stage training : 가운데있는 물체를 우선 학습시킨 후 다른 물체 학습

Ensemble model : 작은 영역들로 나눠서 학습시킨 후에 그 결과를 합침

U-Net : Convolutional Networks for Biomedical Image Segmentation

 

1) Contracting Path : 이미지의 context 포착

  • Contracting Path는 일반적인 CNN을 따름
  • 3x3 conv → ReLU → 2x2 max pooling → 3x3 conv → ReLU → 2x2 max pooling
  • downsampling 과정에서 feature map channel 수 2배로 증가

2) Expansive Path : 더욱 정확한 localization 역할

  • 2x2 conv 통해 upsampled된 feature map과 1)의 cropped feature map concatenation → ReLU 연산 포함 두 번의 3x3 conv
  • 1)의 Crop된 feature map: convolution을 하면서 border pixel에 대한 정보가 날아가는 것에 대한 양쪽 보정
  • 마지막 layer 1x1 conv: 64개의 component feature vector를 desired number of classes에 mapping 하기 위함

Overlap-tile

  • upsampling 과정에서 feature channel 수가 많음: context를 resolution successive layer에게 전파
  • 각 Convolution의 valid part(full context가 들어있는 segmentation map)만 사용
  • 원활한 segmentation
  • image resolution이 GPU memory에 대해 자유로워짐 

Data Augmentation

  • 트레이닝 데이터가 한정되어 있을 때 사용
  • Elastic Deformation
  • Weighted Cross Entropy + Data Augmentation

'DEEP LEARNING > Fundamental Concept' 카테고리의 다른 글

RNN  (0) 2020.03.31
Object Detection  (0) 2020.03.25
Modern CNN  (0) 2020.03.10
Convolutional Neural Network  (0) 2020.03.03
Training Neural Networks  (0) 2020.02.24