TIL_220921 Beyond Classification

Alice1304·2022년 9월 21일

AIB SUMMARY

목록 보기
3/12

핵심단어

Beyond Classification, Segmentation, fcn, u-net

학습목표

  • Segmentation의 동작 방식 및 Semantic Segmentation/Instance Segmentation 구분하기
  • Transpose Convolution의 필요성과 동작 방식에 대해 이해하기
  • 개인적인 이유로 학습 시작이 늦었으니 개념만 잡고, 코드는 주말에 보자 (따흐흑..)

Beyond Classification

  • 지금까지는 다층퍼셉트론신경망(MLP), 합성곱 신경망(CNN)을 이용해 입력 이미지에 맞는 출력 레이블(Label) 또는 범주(Class)를 예측하는 이미지 분류 공부(Image Classification)에 대해 학습
  • 오늘 배울 내용은 분할(Segmentation)과 객체 탐지/인식(Object Detection/Recognition)

분할

  • 분할은 하나의 이미지에서 같은 의미를 가지고 있는 부분을 구분하는 task(도로,사람,나무 등)
  • 이미지 분류에서는 이미지를 하나의 단위로 레이블 예측, Segmentation은 더 낮은 단위로 분류
  • 동일한 의미마다 해당되는 픽셀이 모두 레이블링 되어있는데 데이터 셋을 픽셀 단위에서 레이블을 예측하게 됨

Semantic Segmentation vs (Semantic) Instance Segmentation

Semantic Segmentation : 의미적으로 같은 개체들에 대해 모두 동일하게 라벨링
(Semantic) Instance Segmentation : 개체까지 나누어 라벨링

FCN & U-net

이미지 분할(Segmentation)을 위한 대표적인 모델 FCN, U-net

FCN

  • 이미지 분류를 위한 신경망에 사용 되었던 CNN의 분류기 부분, 완전 연결 신경망(Fully Connected Layer)부분을 합성곱층(Convolutional Layer)으로 대체한 모델
  • Segmentation은 픽셀 단위로 분류가 이루어지기 때문에 픽셀의 위치정보를 끝까지 보존해야 함
  • 기존 CNN에서 사용하던 완전 연결 신경망은 위치 정보를 무시한다는 단점이 있음
  • FCN에서는 합성곱층으로 모두 대체함으로써 문제를 해결함

갑자기 이미지가 훅 커지는 부분이 있는데 원래 이미지와 비슷하게 크기를 키워주는 Upsampling이 필요함

Upsampling

  • CNN에서 사용되는 것 처럼 Convolution과 Pooling을 사용하여 이미지의 특징을 추출하는 과정을 Downsampling(다운샘플링)이라고 함
  • 반대로 원래 크기대로 키우는 것을 Upsampling
  • Transpose Convolution을 이용해 각 픽셀에 커널을 곱한 값에 Stride를 주어 나타냄으로써 이미지 크기를 키워 나감

U-net

  • U-net 역시 downsampling과 upsampling, 이렇게 두 부분으로 나눌 수 있다
  • downsampling에서는 convolution과 Maxpooling을 거치면서 이미지의 특징을 추출하고
  • upsampling 에서는 convolution과 transpose convolution을 거치면서 원본 이미지와 비슷한 크기로 복원 함
  • 추가적으로 upsampling에서 downsampling 출력으로 나왔던 feature map을 적당한 크기로 잘라서 붙여 준뒤 추가데이터로 사용함

학습후기

개념은 어찌저찌 이해가 되는데 코드가 숙지가 될 되어 따로 기입하지 않았다. 이번에 배우고 평생안 볼 거 아니니깐 계속 봐야지.. ㅠ

profile
기록기록

0개의 댓글