강의 확인
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
- 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가 필요할듯 하다