강의 확인
FCN 특징
- Fully Convolution Network
- bacbone
- FC Layer를 Convolution으로 대체
- 픽셀의 위치정보를 해치지 않고 특징 추출할 수 있다.
- full connected layer는 하나의 벡터로 위치정보가 사라진다.
- 입력 이미지 크기에 상관없이 적용이 가능한 장점으로 큰어려움없이 적용 가능하다고 한다.
- Transposed Convolution을 이용해 Pixel Wise prediction수행
- 백본 VGG는 244*244에서 7*7로 줄어든다
- 원하는 결과를 위해서는 244*244로 upsampling해줘야한다.
- 이를 위해 transposed convolution을 수행
-
- input의 한픽셀에 전체커널을 곱하고 이를 더하는 방식으로 진행
- 출력을 더 키울때는 stride를 증가
- upsampling = deconvolution = transposed convolution
- 왜 transposed인지?
- 행렬연산형식으로 하면 transposed된 연산이다.
- 결과가 같지 동일하지 않음
- 성능향상
- 마지막에 FCN32를 적용
- 32배만큼 줄인것을 32배로 한번에 증가
- 디테일한게 많이 떨어진다.
- skip connection을 사용
- transposed convolution할때 사용
- pooling에 의해 소실된 정보의 대한 정보를 transposed할때 사용하여 잃어버린 정보를 복원
- 중간에서 pool된 결과를 1*1convolution을 통해 출력값을 맞춰주고 transpose를 2배, 2배, 8배 순으로 점차 증가시켜준다.(FCN8S)
피어세션
- 깃관련
- 주피터나 파이썬과같이 환경이 나뉘어서 어려울거같다.
- 파이썬 or 노트북 정하기, 코드를 하나로 통합할지, 각자 코드를 가질지
- 함수처럼 구현해보기
-
- 각자 branch를 통해 각자의 베이스코드로 성능 확인하기.
-
- 하나의 큰 architecture가되는 파일이 존재하여, 내부적으로 def나 class로 새로 기능을 추가하여 진행하기
- dataloader, train, loss로 쪼개서
- 아직 코드를 어떻게 git으로 관리할지가 정해지지 않음
- unknows은?
- 그라운드룰
- 코드리뷰는 따로 원할때 요청하고, 필요시 피어세션에서도 요청