P-Stage level-2 object detection competition. (이미지 내 쓰레기 객체 감지 및 분류)
9조 하나둘셋Net() Solution
baseline/
├── mmdetection/
│ ├── cascade_rcnn_swin/
| | ├── cascade_rcnn_swin_large.py
| | ├── cascade_rcnn_swin.py
| | ├── cascade_rcnn.py
| | ├── dataset.py
| | ├── runtime.py
| | └── scheduler.py
│ ├── faster_rcnn/
| | ├── faster_rcnn_r152_fpn_dconv_c3-c5_1x_coco.py
| | ├── faster_rcnn_r152_fpn_1x_coco.py
| | ├── faster_rcnn_r50_fpn_1x_coco.py
| | ├── faster_rcnn_r50_fpn.py
| | ├── dataset.py
| | ├── default_runtime.py
| | └── schedule_1x.py
| └── inference.ipynb
├── ensemble/
│ └── Ensemble.ipynb
├── YOLOv5/
│ ├── data/
| | └── coco_trash.yaml
│ ├── runs/
| | ├── hyp.yaml
| | └── opt.yaml
└── inference.ipynb
eda/
├── eda.ipynb
└── eda-2.ipynb
utils/
| └── inference_checker/
| └── main.py
| └── trainset_check/
└── └── main.py
baseline/mmdetection/cascade_rcnn
: config files for Cascade R-CNN modelbaseline/mmdetection/faser_rcnn
: config files for Faster R-CNN modelbaseline/mmdetection/inference.ipyb
: inference code for mmdetection librarybaseline/ensemble/Ensemble.ipynb
: ensemble codebaseline/YOLOv5/data/coco_trash.yaml
: converted Trash dataset to YOLO data formbaseline/YOLOv5/runs
: config file of our modelbaseline/YOLOv5/inferece.ipynb
: inference code for YOLOv5 libraryeda/eda.ipynb
: result of EDAeda/eda-2.ipynb
: another result of EDAutils/inference_chcker/main.py
: python program for visualization of result of inferenceutils/trainset_check/main.py
: python program for visualization of training set
- Linux version 4.4.0-59-generic
- Python >= 3.8.5
- PyTorch >= 1.7.1
- conda >= 4.9.2
- tensorboard >= 2.4.1
- CPU: Intel(R) Xeon(R) Gold 5220 CPU @ 2.20GHz
- GPU: Tesla V100-SXM2-32GB
git clone https://github.com/open-mmlab/mmdetection.git
: install mmdetection library
git clone https://github.com/ultralytics/yolov5.git
: install YOLOv5 library.
mmdetection
- mmdetection 라이브러리 clone 후 configs file 실행
example cd mmdetection
python tools/train.py baseline/mmdetection/cascade_rcnn/cascade_rcnn_swin_large.py
YOLOv5
example
cd YOLOv5
python train.py --img 1024 --batch 4 --epochs 50 --data baseline/data/coco_trash.yaml --weights yolov5x6.pt
Ensemble
- baseline/ensemble/Ensemble.ipynb 파일 실행
- target folder 생성 후 ensemble 하고자 하는 파일 target1.csv, target2.csv 형식으로 저장
- ipynb 파일 run (Weighted Boxes Fusion)
cd utils/inference_checker
python main.py
open submission file (command or control + O)