강의 확인

FCN 특징

  • Fully Convolution Network
  • bacbone
    • VGG
  • 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 노트북 정하기, 코드를 하나로 통합할지, 각자 코드를 가질지
    • 함수처럼 구현해보기
      1. 각자 branch를 통해 각자의 베이스코드로 성능 확인하기.
      1. 하나의 큰 architecture가되는 파일이 존재하여, 내부적으로 def나 class로 새로 기능을 추가하여 진행하기
        • dataloader, train, loss로 쪼개서
    • 아직 코드를 어떻게 git으로 관리할지가 정해지지 않음
  • unknows은?
    • 쓰레기긴 한데 아닌 쓰레기?
    • zeroshot
      • unknown은 규칙성이 없는 데이터
  • 그라운드룰
    • 코드리뷰는 따로 원할때 요청하고, 필요시 피어세션에서도 요청