BoostCamp AI Tech4 level-2-재활용 품목 분류를 위한 Object Detection Project
주제: 사진에서 쓰레기를 Detection 하는 모델을 만들어 쓰레기로 인한 환경 문제를 해결 해보고자 합니다.
기대효과: 우수한 성능의 모델은 쓰레기장에 설치되어 정확한 분리수거 를 돕거나, 어린아이들의 분리수거 교육 등에 사용될 수 있을 것입니다.
Input: 쓰레기 객체가 담긴 이미지
Output: bbox 좌표, category, score 값
이미지 크기 : (1024, 1024)
annotation: COCO format
dataset
├── train.json
├── test.json
├── train #(4,883장)
└── test #(4,871장)
***
김지훈: EDA, 2stage model 실험
원준식: backbone model 실험
송영섭: 대회 실험 관리 및 진행, 1stage model 실험
허건혁: Data EDA를 위한 시각화 tool 개발 & pseudo labeling 실험
홍주영: SOTA모델(Diffusion Det) 적용, 2-stage model 실험
대회 기간 : 2022.11.16 ~ 2022.12.01
날짜
내용
11.14 ~ 11.20
BoostCamp 강의 수강 및 Object Detection 이론 학습
11.21 ~ 11.27
Data EDA & Model Experiment
11.28 ~ 12.01
HyperParameter Tuning & model Ensemble
1 stage model 은 mmdetection 및 yolov7 라이브러리에 구현된 모델들 중 주어진 데이터에 가장 높은 성능을 내는 YOLOv7 선정
Model
mAP50 (val)
mAP50 (LB)
Training Time
Inference Time
YOLOv3
22.1
39.51
3h 34m 28s
1m 30s
YOLOX
20.4
-
16h
94s
YOLOv7
56.2
44.76
6h 16m
약 5m
SSD
47.6
-
6h 50m 41s
54s
2 stage model 은 mmdetection, detectron2 라이브러리로 구현된 모델과 backborn 의 조합 중 주어진 데이터에 시간 대비 가장 높은 성능을 Cascade-RCNN 을 최종 모델로 선정
Model
mAP50 (val)
mAP50 (LB)
Training Time
Inference Time (validation)
VariFocalNet
52.8
50.6
7h 00m 7s
102s
TOOD
48.5
42.3
6h 35m 59s
136s
Deformable-DETR
42.1
-
13h 39m 15s
98s
Cascade-RCNN
48.9
-
1h 43m 11s
75s
mmdetection 라이브러리에 구현된 백본 및 평가 지표를 근거로 학습시간과 팀원들의 모델과의 앙상블, 모델 사이즈의 확장성을 고려하여 swin-transformer 와 ConvNeXt 를 최종 backbone으로 결정
Model type: Cascade RCNN
Backbone
mAP50 (val)
mAP50 (LB)
Training Time
Inference Time(validation)
ResNeSt
52.6
-
3h 10m 2s
161s
ResNet strikes back
52.5
-
1h 42m 3s
66s
Swin-tiny
51.9
-
2h 54m 1s
112s
ConvNeXt-tiny
50.3
-
2h 30m 2s
103s
PVT
56.1
-
3h 34m 46s
152s
모델에 따라 효과적인 augmentation을 각각 적용
Normalizaion
base_augmentation
Horizontal, Vertical Flip, GaussNoise, Shiftscale Rotate, RandomBrightnessContrast, RGB Shift, HueSaturationValue, Blur, Median Blur
Mosaic (p=0.5)
Mixup (p=0.5)
SGD
AdamW
Adam with no weight decay
Cosine Annealing scheduler
Multi-scale TestTimeAugmentation 적용 (512, 512) ~ (1024, 1024)까지 (128, 128) 씩 증가시켜 적용
LB Score
Inference Time
Swin-Large without multi-scale TTA
0.6132
2225s
Swin-Large with multi-scale TTA
0.6317
6901s
Leaderboard
public
private
Score(mAP50)
0.6934
0.6775
Ranking
6th / 19th
7th / 19th
mmdetection train command
python mmdetection/tools/train.py {config file}
submission csv 생성 command
python submission.py -c {config file} -r {checkpoint}
Data Visual을 위한 streamlit command