yolov5 简单教程

07/16 10:55
阅读数 4.7K

777

该库代表Ultralytics对未来对象检测方法的开源研究,并结合了以前的YOLO库https://github.com/ultralytics/yolov3在自定义数据集上训练了数千个模型而得到的最佳实践。所有代码和模型都在积极的开发中,如有修改或删除,恕不另行通知。如果使用,风险自负。

85340570-30360a80-b49b-11ea-87cf-bdf33d53ae15
GPU速度测量:使用V100的GPU在超过5000张COCO val2017图像上测量批处理大小为8的平均每张图像的端到端时间,包括图像预处理,PyTorch FP16推断,后处理和NMS。

  • 2020年6月22日PANet更新:新的特性,更少的参数,更快的推理和改进的mAP 364fcfd
  • 2020年6月19日FP16作为新的默认设置,可用于更小的检查点和更快的推断d4c6674
  • 2020年6月9日CSP更新:改进了速度,大小和准确性(归功于@WongKinYiu)。
  • 2020年5月27日:公开发布库。YOLOv5模型是所有已知YOLO实现中最先进(SOTA)的。
  • 2020年4月1日:未来开始发展基于YOLOv3 / YOLOv4的一系列PyTorch模型。

预训练的检查点(checkpoints)

Model APval APtest AP50 SpeedGPU FPSGPU params FLOPS
YOLOv5s 36.6 36.6 55.8 2.1ms 476 7.5M 13.2B
YOLOv5m 43.4 43.4 62.4 3.0ms 333 21.8M 39.4B
YOLOv5l 46.6 46.7 65.4 3.9ms 256 47.8M 88.1B
YOLOv5x 48.4 48.4 66.9 6.1ms 164 89.0M 166.4B
YOLOv3-SPP 45.6 45.5 65.2 4.5ms 222 63.0M 118.0B

** AP测试表示COCOtest-dev2017服务器结果,表中所有其他AP结果表示val2017准确性。
**所有AP编号均适用于单模型单尺度,而没有集成或测试时间增加。通过python test.py --img 736 --conf 0.001进行使用。
**速度GPU测量:进行再现使用一个V100的GPU和一个GCPn1-standard-16实例在超过5000张COCO val2017图像上测量每张图像的端到端时间,包括图像预处理,PyTorch FP16图像推断(批量大小 32 --img-size 640),后处理和NMS。此图表中包括的平均NMS时间为1-2ms / img。通过python test.py --img 640 --conf 0.1进行测试。
**所有检查点均使用默认的设置和超参数训练到300个epochs(无自动增强)。


要求

Python 3.7或更高版本,安装了requirements.txt要求的所有的库和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

83082816-59e54880-a039-11ea-8abe-ab90cc1ec4b0

复现我们的训练

下载COCO,安装Apex并在运行下面命令。在一台有V100的GPU上,YOLOv5s / m / l / x的训练时间为2/4/6/8天(多个GPU的训练速度更快)。使用您的GPU允许的最大--batch-size容量(下面的batchsize是为16 GB设备而设置的)。

$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64
                                         yolov5m                                48
                                         yolov5l                                32
                                         yolov5x                                16

84186698-c4d54d00-aa45-11ea-9bde-c632c1230ccd

复现我们的环境

要访问最新的工作环境(已预安装所有库,包括CUDA / CUDNN,Python和PyTorch),请考虑以下网站:

引用

68747470733a2f2f7a656e6f646f2e6f72672f62616467652f3236343831383638362e737667

原文链接:https://github.com/ultralytics/yolov5

欢迎关注磐创AI博客站:
http://panchuang.net/

sklearn机器学习中文官方文档:
http://sklearn123.com/

欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部