Skip to content

boostcampaitech4cv3/trash-object-detection

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Trash Object Detection

Main

🚮 Contributors

CV-16조 💡 비전길잡이 💡
NAVER Connect Foundation boostcamp AI Tech 4th

민기 박민지 유영준 장지훈 최동혁
revanZX arislid youngjun04 FIN443 choipp
ConvNext
Optimization
Ensemble
YOLOv7
EDA
UniverseNet
Swin_Base
Loss Function
Ensemble test
Dynamic Head
DetectoRS
Augmentation
PM
TTA
Pre-trained test

🚮 Links

🚮 Result

result


🚮 Data

Dataset_Example

  • 전체 이미지 개수 : 9,754 장 (train 4,883 장, test 4,871 장)
  • 10개 클래스 : General trash, Paper, Paper pack, Metal, Glass, Plastic, Styrofoam, Plastic bag, Battery, Clothing
  • 이미지 크기 : (1024, 1024)

🚮 Stratified-Kfold 적용

Class_DisTribution_Graph

  • 클래스 별 annotation 수를 나타낸 분포 - 클래스 별 불균형 심함
  • Train 데이터와 validation 데이터에 동일한 분포를 적용
  • Stratified group k-fold (k=5)를 사용 · 5쌍의 train, validation set을 구성

🚮 Augmentation

Augmentation

  • One of (Flip, RandomRotate90) - 360도 회전 구현
  • One of (CLAHE, Random Brightness Contrast) - 선명도, 밝기 조절
  • One of (Blur, Gaussian Blur, Median Blur, Motion Blur) + Gaussian Noise - 노이즈 추가
  • Multi scaling - 11개의 이미지 크기로 resizing
  • Mosaic - one stage model에만 적용

🚮 Ensemble

Ensemble

  • Confusion matrix 확인결과 모델별로 class별 성능 특화되는 것 확인
  • 점수가 가장 높은 convNeXt xlarge의 부족한 부분을 다른 모델에서 보완할 수 있게 앙상블 진행
    • ConvNeXt : 높은 classification 성능 -> 적은 수의 bbox를 탐지하여 비교적 낮은 mAP50 score
    • YoloV7 : 타 모델 대비 매우 낮은 classification 성능 -> bbox를 더 많이 탐지하는 강점
    • Dyhead : convNext와 YoloV7의 중간에 해당하는 결과 -> 상호 보완 역할

🚮 최종 Model

Final Model

  • Public mAP 0.7395 / Private mAP 0.7280
  • Convnext xlarge split + Dyhead swin large + Swin base + YOLOv7을 앙상블 했을 때 가장 높은 점수를 보임

🚮 LB Timeline⌛

LB_Timeline_Graph

  • 💡전체 프로젝트 기간동안 뚜렷한 우상향 그래프로 모델 성능을 개선💡

🚮 Directory Structure

|-- appendix : 이 프로젝트에 대한 발표자료와 WrapUp Report
|-- mmdetection
|-- yoloV7
`-- README.md

About

NAVER Connect Foundation boostcamp AI Tech 4th

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 91.8%
  • Python 8.1%
  • Shell 0.1%
  • Dockerfile 0.0%
  • Batchfile 0.0%
  • Makefile 0.0%