강의 복습
1. Method
- How to get good score?
- EDA 통해 아이디어 얻음
- 파이프라인 구축 (mmdetection과 같은 라이브러리 사용)
- 좋은 모델, anchor size, image size 찾음
- pseudo labelling
- Develop Model Architecture
- 기본 시작: ResNet50 + Faster R-CNN + FPN
- Backbone: ResNet, DarkNet, EfficientNet, ResNeXt, RegNet 등
- Neck: FPN, PAFPN, RFP, BiFPN 등
- Dense Prediction: Yolo, SSD, EfficientDet, RetinaNet 등
- Sparse Prediction: FasterRCNN 등
- ETC
- Deformable Convolution: convolution filter가 특정 오브젝트에 집중되어 더 잘 찾을 수 있음
- Swichable Atrous Convolution(DetectoRS)
https://www.notion.so/DetectoRS-Detecting-Objects-with-Recursive-Feature-Pyramid-and-Switchable-Atrous-Convolution-29969b0db009456e87941f27c71d7585
2. Data Augmentation
- Cutmix
- Backbone에 적용(Yolo4)
- Directily Training
- 문제: None of boxes, Small boxes 등
- Mosaic: 4개의 이미지 섞음
- 그냥 합치는 방법
- 특정 크기만큼 잘라서 붙이는 방법
- 랜덤하게 가져다 붙이는 방법
- 일부는 랜덤하게, 일부는 모서리쪽에 붙여서 자르는 방법 (박스 최대한 많이 포함하도록)
3. Ensemble & TTA(Test Time Augmentation)
- NMS(Non-Maximum Suppression): box score가 가장 높은 box 기준으로 IoU를 계산해서 특정 값 이상이면 겹치는 것으로 판단하고 없애는 방법
- soft-NMS: 겹치는 box를 아예 없애는 것이 아니라 score를 감소시키는 방법
- WBF(Weighted Box Fusion): 여러 box들을 적절하게 조합해서 위치와 크기 조정
- ETC
- Seed Ensemble
- K fold validation
- SWA(Stochastic Weight Averaging): 모델의 weight 적절하게 averaging해줌
- Go to Kaggle Competition
프로젝트
- FasterRCNN에 SoftNMS를 적용해봤더니 성능이 0.01정도 올라갔다.
- DetectoRS에도 SoftNMS를 적용해보고 Backbone 모델을 ResNet에서 ResNeXt로 바꿔볼 것이다.
- 다른 조 회고록을 보니까 SOTA 모델 중 가장 성능이 좋은 Swin을 적용한 조도 있었다. 나도 가능할진 모르겠지만 한 번 시도해봐야겠다.
'부스트캠프 AI Tech 1기 [T1209 최보미] > P stage-3 (객체검출)' 카테고리의 다른 글
Day17 학습정리 (0) | 2021.05.18 |
---|---|
Day16 학습정리 (0) | 2021.05.17 |
Day14 학습정리 (0) | 2021.05.13 |
Day13 학습정리 (0) | 2021.05.12 |
Day12 학습정리 (0) | 2021.05.11 |