아래의 내용은 완벽히 이해하고 주어진 질문에 대한 답을 할 수 있어야 함
1강. mAP
mAP가 어떻게 계산될 수 있는 지 완벽하게 이해하고 있는가?
2강. FasterRCNN
• SPP(RoI Pooling)에 대해 완벽하게 이해하고 있는가?
• RoI projection에 대해 완벽하게 이해할 수 있는가?
• FasterRCNN중 RPN에 대해 완벽하게 이해하고 있는가?
- Anchorbox에 이해하고 있는가?
- RPN의 역할에 대해 이해하고 있는가?
3강. MMdetection, Detectron2
MMDetection이든 Detectron2이든 Scratch든 새로운 모델에 대해 코드를 짤 수 있는가?
4강. FPN, PANet
• Neck의 역할에 대해 완벽하게 이해하고 있는가?
• FPN, PANet에 대해 완벽하게 이해하고 있는가?
5강. Yolo, SSD, RetinaNet
• 2 stage와는 다르게 RPN이 없는 1 stage에서 어떻게 박스를 예측하는지 이해하고 있는가?
• Yolo v1에 대해 완벽하게 이해하고 있는가?
6강. EfficientDet
• EfficientDet의 등장 배경 및 Compound scaling의 중요성에 대해 설명할 수 있는가?
7강.
• (Optional) Cascade, Deformable, Swin에 대해 설명할 수 있는가?
8강.
• (Optional) M2Det에 대해 설명할 수 있는가?
Submission format
Test 이미지 내에는 1개 이상의 객체가 포함되어 있음
Submission 파일에는 각각의 객체에 대해 모델로 예측한 class ID, confidence score, bounding box
(xmin, ymin, xmax, ymax) 값이 들어있어야 함
mAP
AP
더 많은 bbox에 대해 AP를 측정한다고 해서 패널티가 주어지지 않음
Threshold를 낮출 경우 오히려 PR Curve의 면적은 증가함
Confidence score가 아주 낮더라도 검출해낸 것을 모두 인정하는 경우 (= 낮은 threshold)
따라서 AP 를 올리기 위해서는 박스를 많이 예측하는것이 좋다. 따라서 위의 사진과 같은 문제가 발생할 수 있다. 이는 앙상블을 했을때도 발생할 수 있다.
• 실제 연구에서는 대부분 0.05를 threshold로 mAP 평가
• 적용하는 분야의 특징에 따라 threshold나 평가 metric을 설정하는 것이 좋음
"이미지 → Submission file”까지의 모든 과정을 구축하는 것을 파이프라인 구축이라고 함
1) EDA
2) 파이프라인 구축
1) 라이브러리
2) 개인 코드
3) 공유된 코드
4) 베이스라인 코드 구축
3) Validation set 찾기
• Random split
• Stratified k-fold
• Group k-fold
4) 성능을 올리기 위한 시도 반복
Data Augmentation
Cutmix
Mosaic
Ensemble&TTA
NMS
SoftNMS
WBF(Weighted Box Fusion)
• Seed Ensemble
• Framework Ensemble
(Mmdetection + detectron) 또는 (pytorch + tensorflow + torchvision) 등 여러 라이브러리의
결과를 앙상블 하는 방법
• Snapshot Ensemble
동일한 아키텍처이지만 서로 다른 local minima에 빠진 신경망을 앙상블 하는 방법
• Stochastic Weight Averaging (SWA)
일정한 step마다 weight를 업데이트시키는 SGD와 달리, 일정 주기마다 weight를 평균 내는 방법
• 실전 후 → 이론, 코드 후 → 논문
• 컴피티션 진행 중엔 일단 시도, 중요한 파라미터 위주로 이해
• 컴피티션 후 논문 찾아 읽어보며 각각의 의미 위주로 이해