2021/09/17
강의 복습 내용
Instance Segmentation
- Semantic segmentation에서 한 단계 더 발전하여 같은 class 여도 instance가 다른 개체 구분
- Mask R-CNN: 기존 Faster R-CNN의 Rol pooling은 정수 좌표만 가능했지만 Mask R-CNN은 소수 좌표도 가능해 성능을 향상, 기존 R-CNN 구조에서 Mask branch를 추가한 설계
- YOLACT (You Only Look At CoefficienTs): Prediction Head에서 계수를 출력하고 Prototypes과 결함하여 개체 구분
- YolactEdge: YOLACT를 소형화
Panoptic segmnentation
- 기존 Semantic segmentation에서 같은 class 내 Instance를 구분함
- UPSNet: Semantic Head와 Instance Head의 개별적 task를 Panoptic Head에서 결합
- VPSNet: 비디오에서 이전 frame을 reference. Track head를 추가해 개체를 추적 가능
Landmark localization
- 미리 정해놓은 landmark localization(=keypoint)를 예측
- 부정확하고 일반화에 문제가 있는 regression 문제를 classification 문제로 해결
- Hourglass network: bottom-up 과 top-down 구조를 반복하는 module을 쌓아 만든 네트워크로 결과를 계속 개선하는 구조
Conditional Generative Model
- 일반적인 generate 모델에 우리가 원하는 결과물로 guide 할 수 있는
condition
을 input
- 학습 과정에서 Fake Data를 생성하는 Generator와 이를 판별하는 Discriminator가 동시에 학습
- Image to Image 변환으로 많은 applications 가능( Style, Super resolution, Colorization, ...)
CycleGAN
- Pix2Pix같은 task는 paired 된 데이터를 사용해야만 한다. 하지만 실제로는 unpaired된 data가 더 많음
- 이러한 문제를 해결할 수 잇는 방법이 Cycle-GAN
Multi-modal learning
- 시각 정보 이외 다른 다양한 정보 (audio, text, ...)를 함께 학습데이터로 사용하는 방법
- 하지만 일반적인 학습 방법으로는 다양한 modal 중에서 특정 modal에 편향될 수 있다.
- 학습 방법으로는 Matching, Translating, Referencing이 있다.
과제 수행 과정 / 결과물 정리
- CNN Visualization: Model Training 과정을 debugging할 수 있는 방법 (현재 모델이 분류를 하는데 있어서 이미지 어떤 부분을 중점적으로 보았는지) 학습
- Landmark localization: heatmap regression을 수행하기 위해 hourlgass network 설계 및 heatmap 결과물을 최종 결과물에 표시(keypoint)
- Conditional GAN 학습 순서와 결과물 품질을 높이기 위한 다양한 방법 적용
- 3D image data의 구조 학습
피어세션 정리
- Conditional GAN 결과물을 높이기 위해 여러가지 방법 토론
- loss function 변경 (BCELoss, MSELoss, GANLoss)
- 네트워크 구조 변경 (y와 z를 다른 차원으로 보내기 전에 concat)
- activation function 변경 (Leaky ReLU, ...)
- cGAN의 데이터를 MNIST, FashionMNIST로 변경하고 결과 토론
학습 회고
- Generative model을 처음 학습해 보았고 CV의 다양한 task를 알게 되었다. 점점 CV를 선택한 것이 정말 다행이라고 생각될 정도로 적성에 잘 맞았다. 특히 Conditional GAN과제를 해결할 때 다양한 방법을 적용하고 실험을 하면서 재미있었고 어려운 내용도 완전히 내 것으로 만들어 여러 task에 적용해 보고 싶다.