[P stage 2 DAY 44] Object Detection (9)

먼지감자·2021년 10월 7일
0

AI Boostcamp 2기

목록 보기
36/48

강의 내용 복습

(09강) Ready for Competition

아래의 내용은 완벽히 이해하고 주어진 질문에 대한 답을 할 수 있어야 함
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에 대해 설명할 수 있는가?

Dataset

  • COCO Format

Evaluation

  • 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을 설정하는 것이 좋음

pipeline

"이미지 → 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를 평균 내는 방법

competition 으로 학습하는 방법

• 실전 후 → 이론, 코드 후 → 논문
• 컴피티션 진행 중엔 일단 시도, 중요한 파라미터 위주로 이해
• 컴피티션 후 논문 찾아 읽어보며 각각의 의미 위주로 이해


과제 수행 과정 및 결과


피어 세션


학습 회고

profile
ML/AI Engineer

0개의 댓글