이전에 배운 내용중 반드시 이해하고 넘어가야할 부분
1. mAP
2. FasterRCNN
3. MMDetection, Detectron2
4. FPN, PANet
5. Yolo, SSD, RetinaNet
6. EfficientDet
Bounding box의 오해
시각화의 문제는 threshold에 있다.
우측은 모든 boundingbox를 시각화한거고 왼쪽은 일정 threshold를 거쳐 나온 box만 시각화한것
더 많은 bbox를 예측하면 AP의 면적이늘어나기때문에 오히려 mAP에서 강점을 가짐
AP를 높이는것에 초점을 맞춘다면 박스 수가 늘어나면 더 높은 AP를 기대할 수 있다
앙상블하게되면 두개의 모델이 예측한 결과를 합치는 것이기 때문에 박스의 수가 그만큼 많아지고 threshold로 거르게 되는 거다
대회를 위한 파이프라인
1) EDA
2) 파이프라인 구축
2-1) 라이브러리
2-2) 개인 코드
2-3) 공유된 코드
2-4) 베이스라인 코드 구축
3) Validation set 찾기
4) 성능을 올리기 위한 시도 반복
1)EDA
* Object Detection 수행 중 한개의 이미지에 object가 너무많은것들은 아웃라이어처리로 제거
(이미지 아웃라이어 40정도로 잡자)
3) Validation
좋은 Validation set이란?
• Validation set의 스코어가 올랐을 때, Public score가 올라감
• Validation set의 스코어가 올랐을 때, Private score가 올라감
• Public과 Private score가 모두 올라야 좋은 validation set
Validation 전략
- Random split
- K Fold validation
- Stratified K fold
- 클래스의 개수가 동일하게 들어가게끔
- Group K fold
- validation을 group기준으로 나눔
4) 성능을 올리기위한 시도
Data Augmentation
- Albumentation
- Cutmix
- Cutout
- Mixup
- Mosaic
아무 영역이나 잘라서 합치는게 아니라 작은박스가 생기지 않게끔 조절해서 자른다
- Ensemble & TTA
앙상블이나 TTA를 하게되면 많은 박스가 생기는데 많은 박스들을 fusion 방법이 중요하다
1) NMS
NMS는 겹치는 박스를 제거한다.
2) Soft NMS
박스를 전부 제거하지말고 높지않은 나머지 박스의 스코어를 낮춰보자
3) WBF(weighted Box Fusion)
새로운 bbox를 생성
4) Seed ensemble
5) Framework Ensemble
- (Mmdetection + detectron) 또는 (pytorch + tensorflow + torchvision) 등 여러 라이브러리의 결과를 앙상블 하는 방법
- 다양성이 추가될 수록 좋음
6) Snapshot Ensemble
- 동일한 아키텍처이지만 서로 다른 local minima에 빠진 신경망을 앙상블 하는 방법
7) Stochastic Weight Averaging (SWA)
- 일정한 step마다 weight를 업데이트시키는 SGD와 달리, 일정 주기마다 weight를 평균 내는 방법
'부스트캠프 AI Tech 2기 > 2기 CV P-Stage-Objectdetection' 카테고리의 다른 글
Object Detection trash recycle 후기 (0) | 2021.10.17 |
---|---|
Advanced Object Detection 2 (0) | 2021.10.06 |
Advanced Object Detection 1 (0) | 2021.10.05 |
EfficientDet (0) | 2021.10.02 |
1 stage Detectors (0) | 2021.10.01 |