Semantic Segmentation

원준식·2022년 10월 17일
0

부스트캠프 ai tech 4주차에 배운 내용을 정리하는 글입니다.




Semantic segmantation

  • 픽셀 단위로 카테고리를 분류하는 작업
  • instance 단위까지 구분하진 않음(어깨동무를 하고 있는 두 사람이 있을 때 두 사람을 각각 분류하진 않음)



Semantic segmentation architectures


Fully Convolutional Networks (FCN)

왼쪽으로 갈수록 receptive field가 작음 → 디테일하고 작은 차이에도 민감하겠지

오른쪽으로 갈수록 receptive field가 넓음 → 전반적이고 의미론적이고 정보들을 가지고 있겠지

semantic segmentation에는 모두 필요!

→ 그래서 둘을 합침(FCN-32s, FCN-16s, FCN-8s)

Adding skip connections for enlarging the score map

출처: https://towardsdatascience.com/review-fcn-semantic-segmentation-eb8c9b50d2d1

여러 번 sum을 진행한 FCN-8s이 가장 좋은 성능을 보임


Fully connected vs. Fully convolutional


1x1 convolutions


Upsampling

Transposed convolution

az + bx를 해도 되는 것인가? → filter size와 stride를 잘 조정해서 이런 중첩이 생기지 않도록 해야 함


Better approaches for upsampling

transposed convolution의 overlap issue를 피하기



U-Net

  • fully convolutional networks

  • similar to skip connections in FCN

  • Contracting Path

    • 단계마다 해상도 반으로, 채널 수 두 배로
  • Expanding Path

    • 단계마다 해상도 두배로, 채널 수 반으로
  • Concatenation of feature maps provides localized information(지역적인 정보들을 뒤쪽 layer로 보내서 concatenation 함! 위 그림에서 중간중간의 회색 선)

  • activation map(feature map)의 spatial size가 홀수를 가지면 안 됨(하지만 내부 구현에 따라 size 처리 방법(올림, 반올림, 버림, …)이 다를 수 있으니 잘 확인해 보고 하자)



DeepLab


Conditional Random Fields(CRFs)

일반적인 classifier는 이웃 표본을 고려하지 않고 단일 표본의 라벨을 예측함

CRF는 이웃 표본을 고려하여 예측함


Dilated convolution(atrous convolution)

필터 내부에 zero padding을 추가해 receptive field를 늘림


Depthwise separable convolution

0개의 댓글