강의 확인

FCN의 한계

  • 객체크기가 크거나 작으면 예측을 못한다.
  • 물체의 디테일이 떨어진다.

Deconv를 개선한 모델

deonvnet

  • encoder와 decoder를 대칭으로 만듬
  • unpooling과 transposed가 반복
  • unpooing
    • 그림
    • maxpooling으로 최대만 저장할때 어느 위치의 픽셀값인지 유지
    • 특징이 pooling으로 없어지지 않는다고한다.
  • transposed는 unpooling된결과의 빈 부분을 채워준다.
    • FCN보다 deconvnet의 활성화맵이 더 디테일해지는 모습이 있다.

SegNet

  • 자율주행에있어 차량,도로,차선, 건물,보도, 하늘, 사람의 class를 빠르고, 정확하게 구분
  • decoode부분은 convolution을 사용

skip connection을 적용한 모델

FCDenseNet

  • skip connection활용
  • 이전 layer의 output을 건너뛴 후 제공

Unet

  • u자 모양
  • skip connection이 4번 사용

receptive field를 확장시킨 모델

  • receptive field란?
    • 뉴런이 얼마만큼의 영역을 보고있는지
  • receptive field가 작으면 큰 물체는 부분적으로 인식한다.

DeepLab v1

  • max pooling으로 receptive field넓히기
    • 두번의 conv(3*3)을 진행할때 중간에 max pooling(2)을 집어넣어준다.
    • 한픽셀당 receptive field가 conv로 3*3이되었다가 max pooling으로 4*4가 되고 이를 conv로 인해 10*10이된다.
    • receptive field가 max pooling이 중간에 있으므로 넓힐수있다.
    • 픽셀의 정보가 중요한데 resolution이줄어들어 low featre resolution문제가 발생
  • 이미지 크기는 많이 줄이지 않고, 파라미터의 수도 변함이 없이 receptive field를 넓히는 방법은?
    • dilated convolution
  • dilated convolution
    • 그림
  • bilinear interpolation
    • 두 좌표 사이의 빈공간을 선형적으로 채워주는것
    • align_corners = true, false
      • true이면 픽셀의 중앙을 기준으로, false면 픽셀사이의 경계를 기준으로

dilated Net

  • dilated convolution을 좀더 효율적으로

deeplab v2

  • ASPP 4가자의 dilated를 적용
  • multiscale 사이즈 이미지에 좋은 성능

PSPNet

  • 기존 문제
    • 객체들간의 관계를 못잡음
      • 보트와 차가 비슷한데 호수근처면 보트로 읺식하도록
    • 카테고리 혼동
      • skycraper와 building가 겹쳐저서 인식된다.
    • 불명확한 클래스
      • 이불과 배개의 무늬도 비슷하고 크기도 작은물체 인식
  • global average pooling적용
    • 주변정보를 파악해서 객체를 예측하는데 사용
    • 일반적인 convolution은 쪼개져서 일부분만 인식한다면, global average pooling은 해당영역전채를 인식한다.

deeplab v3

  • v2의 마지막부분(ASPP)에 global avergae pooling을 추가

오피스아워

  • 코드설명
  • ipynb기준으로 계속 수행
  • EDA가 필요할듯 하다