GitHub上开源的YOLOv5
代码地址:https://github.com/ultralytics/YOLOv5
该存储库代表Ultralytics对未来的对象检测方法的开源研究,并结合了我们在以前的YOLO存储库https://github.com/ultralytics/yolov3上在自定义客户端数据集上训练成千上万种模型而获得的经验教训和最佳实践。所有代码和模型都在积极开发中,如有更改或删除,恕不另行通知。使用风险自负。
** GPU延迟使用批量大小为32的V100 GPU测量超过5000张COCO val2017图像的每幅图像的端到端延迟,包括图像预处理,PyTorch FP32推理,后处理和NMS。
- 2020年6月9日:CSP更新了所有YOLOv5模型。新模型更快,更小,更准确。感谢@WongKinYiu在CSP中的出色工作。
- 2020年5月27日:公开发布回购协议。YOLOv5模型是所有已知YOLO实现中的SOTA,YOLOv5系列将在2020年Q2 / Q3进行架构研究和开发以提高性能。更新可能包括CSP瓶颈,YOLOv4功能以及PANet或BiFPN头。
- 2020年4月1日:开始开发100%PyTorch,可缩放的基于YOLOv3 / 4的未来模型,该模型具有各种复合比例的尺寸。模型将由新的用户友好
*.yaml
文件定义。新的训练方法将更容易开始,更快地完成,并且对于训练更多种类的自定义数据集将更加强大。
预训练的检查站
** AP 测试表示COCO test-dev2017服务器结果,表中所有其他AP结果表示val2017准确性。
**所有AP编号均适用于单模型单标度,无集成或测试时间增加。通过python test.py --img 736 --conf 0.001
** 再现延迟GPU使用带有一个V100
GPU 的GCP n1-standard-16实例,测量平均超过5000张COCO val2017图像的每个图像的端到端延迟,包括图像预处理,批处理大小为32的PyTorch FP32推理,后处理和NMS。该图表中包括的平均NMS时间为1-2ms / img。由python
test.py --img 640 --conf 0.1
** 复制**所有检查点均使用默认设置和超参数训练到300个纪元(无自动增强)。
要求
requirements.txt
安装了所有依赖项(包括)的Python 3.7或更高版本torch
>= 1.5
。要安装运行:
$ pip install -U -r requirements.txt
推断可以在大多数常见的媒体格式上运行。如果可用,将自动下载模型检查点。结果保存到./inference/output
。
$ python detect.py --source file.jpg # image
file.mp4 # video
./dir # directory
0 # webcam
rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream
http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
要对./inference/images
文件夹中的示例进行推断,请执行以下操作:
$ python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4
Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.4, device='', fourcc='mp4v', half=False, img_size=640, iou_thres=0.5, output='inference/output', save_txt=False, source='./inference/images/', view_img=False, weights='yolov5s.pt')
Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)
Downloading https://drive.google.com/uc?export=download&id=1R5T6rIyy3lLwgFXNms8whc-387H0tMQO as yolov5s.pt... Done (2.6s)
image 1/2 inference/images/bus.jpg: 640x512 3 persons, 1 buss, Done. (0.009s)
image 2/2 inference/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.009s)
Results saved to /content/yolov5/inference/output
重现训练
在下面运行命令。在单台V100上,yolov5s / m / l / x的训练时间为2/4/6/8天(多GPU的速度要快)。
$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights ' '-- batch-size 16
重现环境
要访问最新的工作环境(已预安装所有依赖项,包括CUDA / CUDNN,Python和PyTorch)。