👀Model |
User Guide |
🤔Issues |
🚀MMDetection |
🤗Transformers |
💎Detectron2 |
많은 물건이 대량으로 생산되고, 소비되는 문화는 '쓰레기 대란', '매립지 부족'과 같은 여러 사회 문제를 낳고 있습니다. 잘 분리배출 된 쓰레기는 자원으로서 가치를 인정받아 재활용되기에 분리수거는 이러한 환경 부담을 줄일 수 있는 방법 중 하나입니다. 따라서 우리는 사진에서 쓰레기를 Detection 하는 모델을 만들어 이러한 문제점을 해결해보고자 합니다.
Goal : 쓰레기 객체를 탐지하는 모델을 개발하여 정확한 분리수거와 환경 보호를 지원
Data : COCO format의 쓰레기 객체 이미지 9754장
Metric : Test set의 mAP50(Mean Average Precision)
먼저 EDA와 baseline 모델 분석을 수행한 후, mmdetection, transformers 등의 라이브러리를 활용하여 데이터셋에 대한 다양한 모델의 성능을 실험했습니다. 최종적으로 앙상블 기법을 통해 성능을 극대화하였고, 이를 바탕으로 최종 모델 아키텍처를 구성하여 분석을 진행했습니다.
결과적으로 mAP50 0.7382를 달성하여 리더보드에서 3위를 기록하였습니다.
최종 모델은 DETA, Co-DINO, Cascade R-CNN의 5-fold 앙상블로 구성되었습니다.
각 모델의 예측 결과를 바탕으로 threshold = 0.7로 설정한 Weighted Box Fusion (WBF) 기법을 적용하여 앙상블을 수행했습니다.
그 결과, 최종 성능으로 mAP50 0.7382를 달성했습니다.
Model | Backbone | Lr schd | tta | k-fold | ensemble (threshold) |
box mAP |
---|---|---|---|---|---|---|
Co-DINO | Swin-L | 36e | y | 5-fold | WBF(0.6) | 0.6807 |
DETA | Swin-L | 12e | y | 5-fold | WBF(0.7) | 0.7287 |
Cascade R-CNN |
MViTv2 | 20e | y | 5-fold | WBF(0.7) | 0.6762 |
dataset
├── annotations
├── train.json # train image에 대한 annotation file (coco format)
└── test.json # test image에 대한 annotation file (coco format)
├── train # 4883장의 train image
└── test # 4871장의 test image
# transformers를 이용한 모델 학습 및 TTA 추론
python transformers/model_train/main.py
python transformers/TTA/TTA.py
# mmdetection 실행 권한 설정, 모델 학습, TTA 추론
chmod +x mmdetection/model_train/tools/train.sh
chmod +x mmdetection/model_train/tools/inference.sh
./mmdetection/model_train/tools/train.sh
./mmdetection/model_train/tools/inference.sh
# detectron2 실행 권한 설정, 모델 학습, TTA 추론
chmod +x detectron2/model_train/train.sh
./detectron2/model_train/train.sh
python detectron2/TTA/inference.py
python detectron2/TTA/inference_flip.py
# TTA 결과 앙상블 (transformers, detectron2 필요)
python ensemble/ensemble_1fold.py # 폴드 별 TTA 앙상블
python ensemble/ensemble_5fold.py # TTA 앙상블의 앙상블
# transformers, mmdetection, detectron2 전체 결과 앙상블
python ensemble/ensemble_inference.py
├── .github
├── mmdetection
├── TTA
├── model_train
├── tranformers
├── TTA
├── model_train
├── detectron2
├── TTA
├── model_train
├── ensemble
└── README.md
System Information | Tools and Libraries | ||
---|---|---|---|
Category | Details | Category | Details |
Operating System | Linux 5.4.0 | Git | 2.25.1 |
Python | 3.10.13 | Conda | 23.9.0 |
GPU | Tesla V100-SXM2-32GB | Tmux | 3.0a |
CUDA | 12.2 |
demo-webcam-pc-v2_PwaCDTE0.mp4
© 2024 LuckyVicky Team.
Supported by Naver BoostCamp AI Tech.