환경 부담을 줄이기 위한 방법 중 하나는 쓰레기를 효과적으로 분리하는 것입니다. 따라서 본 프로젝트는 사진에서 쓰레기를 감지하는 모델을 만들어, 정확한 쓰레기 분리를 돕는 것을 목표로 합니다.
- Format: COCO format
- Total Image: 9,754장 (Train set 4,883장)
- Class: 10개 (General trash, Paper, Paper pack, Metal, Class, Plastic, Styrofoam, Plastic bag, Battery, Clothing)
- Image Resolution: 1024*1024
- mAP50
- GPU v100
- MMDetection v3
- Ultralytics
- Slack, Notion
- Github, Wandb
- Supervisely
팀원 | 역할 |
---|---|
전체 | - EDA, Data Cleansing - Ensemble 실험 및 전략 수립 (NMS, WBF) - TTA 실험 (Dino, ATSS) |
강현서 | - MMDetection 라이브러리 실험 - Cleansing Data 비교 실험 (Faster-RCNN) - LR Scheduler 실험 (Dino, ATSS) |
김정택 | - Cascade RCNN 모델링 (MMDetection) - Cleansing Data 비교 실험 (YOLOv8s) - Data Augmentation 실험 (YOLOv8s, Cascade-RCNN) - Cls Loss 실험 (Cascade-RCNN) |
박진영 | - Data Cleansing 실험 (YOLOv8s, 이미지 내 작은 bbox 제거 후 성능 비교) - Data Augmentation 실험 (Faster-RCNN, Cascade-RCNN, DINO) |
선경은 | - Valid set 찾기 - YOLOv5, v8 실험 - ATSS 실험 - Ensemble 구현 및 실험 |
이선우라이언 | - MMDetection 라이브러리 실험 - YOLOv8 Augmentation 실험 - Dino 모델 관련 실험 |
최현우 | - YOLOv5 모델 테스트 - Detectron2 모델 테스트 - Redis 학습 스케줄러 구현 - LR Scheduler 실험 |
분류 | 내용 |
---|---|
Data | Stratified Group K-fold - Class 비율을 유지하며, 중복되지 않는 5개의 fold로 나눔 - Test set과 유사한 Valid set을 찾기 위해 다양한 SEED 시도 - 팀원 모두 같은 SEED를 사용하여 실험 비교가 유의미하도록 하였음 Augmentation - 객체의 특성을 최대한 보존하는 증강 기법 적용 - Rotate, Flip, Resize Label Correction - 비슷한 객체를 서로 다르게 라벨링하거나 오라벨링 하는 케이스에 대해 correction 진행 - 객관성을 유지하기 위해 팀원들 간 합의를 통해 매뉴얼을 정함 |
Model | - 최대한 일정 점수 이상(0.6mAP)의 모델을 다양하게 만들어서 앙상블에 이용하고자 함 - MMDetection v3 라이브러리에서 단일 모델 중 SOTA 랭킹이 높았던 모델 우선적 사용 - 각 모델에 대해 적합한 lr scheduler를 실험적으로 찾아냄 - 사용한 모델 상세는 하기 Result 섹션 참고바람 |
Other Methods | Ensemble 아래의 항목들을 고려하며 앙상블 실험을 진행함 - Ensemble 방법 (WBF, NMS) - IoU - Skip box threshold - 각 모델에 준 weights - Calibration 여부 - 1-Stage Model / 2-Stage Model |
Method | Backbone | mAP50 | mAP50(LB) |
---|---|---|---|
YOLOv8-L | - | 0.6104 | 0.6140 |
Cascade-RCNN | Swin-L | 0.6134 | 0.6307 |
DINO | Swin-L | 0.7098 | 0.7024 |
ATSS | Swin-L | 0.6986 | 0.7156 |
Method | Scheduler Type | Epoch | Milestones | Gamma |
---|---|---|---|---|
YOLOv8-L | LambdaLR | 50 | - | |
Cascade-RCNN | MultiStepLR | 14 | [2, 8, 11] | 0.5 |
DINO | MultiStepLR | 14 | [11] | 0.1 |
ATSS | MultiStepLR | 12 | [2, 5, 8, 11] | 0.5 |
Ensemble | Calibration | mAP50(LB Public) | mAP50(LB Private) |
---|---|---|---|
[WBF] ATSS + ATSS(TTA) + DINO + DINO(TTA) + YOLO + Cascade | O | 0.7396 | 0.7342 |
[WBF] ATSS + ATSS(TTA) + DINO + DINO(TTA) + YOLO | O | 0.7397 | 0.7339 |