diff --git a/README.md b/README.md index 92667912..3de7eb3e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,94 @@ # yolov7 -Implementation of "YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors" + +Implementation of paper - [YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors]() + + + +## Performance + +MS COCO +
Expand + +| Model | Test Size | APtest | AP50test | AP75test | batch 1 fps | batch 32 average time | +| :-- | :-: | :-: | :-: | :-: | :-: | :-: | +| **YOLOv7** | 640 | **51.4%** | **69.7%** | **55.9%** | 161 *fps* | 2.8 *ms* | +| **YOLOv7-X** | 640 | **53.1%** | **71.2%** | **57.8%** | 114 *fps* | 4.3 *ms* | +| | | | | | | | +| **YOLOv7-W6** | 1280 | **54.9%** | **72.6%** | **60.1%** | 84 *fps* | 7.6 *ms* | +| **YOLOv7-E6** | 1280 | **56.0%** | **73.5%** | **61.2%** | 56 *fps* | 12.3 *ms* | +| **YOLOv7-D6** | 1280 | **56.6%** | **74.0%** | **61.8%** | 44 *fps* | 15.0 *ms* | +| **YOLOv7-E6E** | 1280 | **56.8%** | **74.4%** | **62.1%** | 36 *fps* | 18.7 *ms* | + +
+ +## Installation + +Docker environment (recommended) +
Expand + +``` +# create the docker container, you can change the share memory size if you have more. +nvidia-docker run --name yolov7 -it -v your_coco_path/:/coco/ -v your_code_path/:/yolov7 --shm-size=64g nvcr.io/nvidia/pytorch:21.08-py3 + +# apt install required packages +apt update +apt install -y zip htop screen libgl1-mesa-glx + +# pip install required packages +pip install seaborn thop + +# go to code folder +cd /yolov7 +``` + +
+ +## Testing + +[`yolov7.pt`]() + +``` +python test.py --data data/coco.yaml --img 640 --batch 32 --conf 0.001 --iou 0.65 --device 0 --weights yolov7.pt --name yolov7_640_val +``` + +You will get the results: + +``` + Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.51206 + Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.69730 + Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.55521 + Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.35247 + Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.55937 + Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.66693 + Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.38453 + Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.63765 + Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.68772 + Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.53766 + Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.73549 + Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.83868 +``` + +## Citation + +``` +@article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint}, + year={2022} +} +``` + +## Acknowledgements + +
Expand + +* [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet) +* [https://github.com/WongKinYiu/yolor](https://github.com/WongKinYiu/yolor) +* [https://github.com/WongKinYiu/PyTorch_YOLOv4](https://github.com/WongKinYiu/PyTorch_YOLOv4) +* [https://github.com/WongKinYiu/ScaledYOLOv4](https://github.com/WongKinYiu/ScaledYOLOv4) +* [https://github.com/Megvii-BaseDetection/YOLOX](https://github.com/Megvii-BaseDetection/YOLOX) +* [https://github.com/ultralytics/yolov3](https://github.com/ultralytics/yolov3) +* [https://github.com/ultralytics/yolov5](https://github.com/ultralytics/yolov5) + +