This repository is based on yolov5. https://github.com/ultralytics/yolov5
Some generated codes are based on convert2Yolo. https://github.com/ssaru/convert2Yolo
ChanJong Park (박찬종)
* Email : cjpark137@naver.com
JongWook Bae (배종욱)
* Email : bjonguk@gmail.com
JunYeong Heo (허준영)
* Email : jass9869@naver.com
Model | APval | APtest | AP50 | SpeedGPU | FPSGPU | params | GFLOPS |
---|---|---|---|---|---|---|---|
YOLOv5s | 37.0 | 37.0 | 56.2 | 2.4ms | 416 | 7.5M | 17.5 |
YOLOv5m | 44.3 | 44.3 | 63.2 | 3.4ms | 294 | 21.8M | 52.3 |
YOLOv5l | 47.7 | 47.7 | 66.5 | 4.4ms | 227 | 47.8M | 117.2 |
YOLOv5x | 49.2 | 49.2 | 67.7 | 6.9ms | 145 | 89.0M | 221.5 |
YOLOv5x + TTA | 50.8 | 50.8 | 68.9 | 25.5ms | 39 | 89.0M | 801.0 |
Python 3.8 or later with all requirements.txt dependencies installed, including torch>=1.7
. To install run:
$ pip install -r requirements.txt
You can generate VOC format(.xml) to Yolo format(.txt) with command below before you train your dataset.
$ python generate_dataset.py --img_path /path/dir --label /path/dir --volume 5
Then, you can get (Dataset * 1/5) amount of dataset including images and labels. and it automatically split into train : val = 9 : 1
Training times for YOLOv5s/m/l/x are 2/4/6/8 days on a single V100 (multi-GPU times faster). Use the largest --batch-size
your GPU allows (batch sizes shown for 16 GB devices).
$ python train.py --data nia.yaml --weights yolov5m.pt --batch-size 32 --img 640
To run inference on example images in data/images
:
$ python inference.py --source data/images --weights best.pt --save-xml
* Python
* Cuda
Ubuntu 18.04 LTS
OpenCV 4.4.0
Cuda 10.1
CuDNN 7.6.5
Python 3.8
PyTorch 1.7.1
Nvidia Geforce Titan X 12Gb * 2
Yolo v5
Python
OpenCV