YOLOv5目标检测源码重磅发布了!

https://github.com/ultralytics/yolov5

该存储库代表了对未来对象检测方法的超解析开源研究,并结合了在使用之前的YOLO存储库在自定义客户机数据集上训练数千个模型时所吸取的经验教训和改进的最佳实践https://github.com/ultralytics/yolov3。所有代码和模型都在积极开发中,可能会被修改或删除,恕不另行通知。使用风险自负。             

更新:             

2020年5月27日:公开发布。yolov3 spp(发布协议)是所有已知yolo实现中的SOTA,yolov5系列将在2020年第2/3季度进行架构研究和开发,以提高性能。更新可能包括来自yolov4的CSP瓶颈,以及PANet或BiFPN head特性。             

2020年5月24日:训练yolov5s/x和yolov3-spp。yolov5m/l出现早期过度拟合,并且代码137早期docker终止,原因未知。yolov5l因早期过度拟合而表现不佳yolov3 spp,原因未知。 2020年4月1日:开始开发100%Pythorch可缩放的基于yolov3/4的未来模型组,包括小型、中型、大型和超大型,统称为yolov5。模型将由新的用户友好的基于yaml的配置文件定义,以便于构建和修改。数据集也将使用yaml配置文件。新的训练平台将更简单的使用,更难打破,更强大的训练范围更广的自定义数据集。

专业解析(Ultralytics Professional Support)

基于云的人工智能监控系统实时运行在数百个高清视频流上。边缘人工智能集成到定制的iOS和Android应用程序中,可实现每秒30帧的实时视频推断。

预先训练的检测

 YOLOv5目标检测源码重磅发布了!

**APtest表示COCO test-dev2017服务器结果,表中所有其他AP结果表示val2017精度。      

**所有的精度数字都是针对没有集合或测试时间增加的单模型单尺度。

python test.py --img-size 736 --conf_thres 0.001

**LatencyGPU使用V100 GPU测量平均超过5000张COCO val2017图像的端到端延迟,包括图像预处理、推断、后处理和NMS。

此图表中包含的平均NMS时间为1.6ms/图像。

python test.py --img-size 640 --conf_thres 0.1 --batch-size 16

**所有检查点都训练到300个具有默认设置和超参数(无自动增强)的阶段。

Requirements

Python 3.7或更高版本requirements.txt已安装依赖项,包括torch>=1.5。要安装运行:

$ pip install -U -r requirements.txt

 教程Tutorials

推论Inference

推理可以在大多数常见的媒体格式上运行。如果可用,则自动下载模型检查点。结果保存到./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

To run inference on examples in the ./inference/images folder:

$ 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

Reproduce Our Training

运行下面的命令。yolov5s需要几天的训练,yolov5x需要几周的2080tigpu训练。

$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 16 

Reproduce Our Environment

要访问最新的工作环境(预先安装了所有依赖项,包括CUDA/CUDNN、Python和PyTorch),请考虑: