admin管理员组文章数量:1644030
点击上方“码农的后花园”,选择“星标” 公众号
精选文章,第一时间送达
今天在浏览器中闲逛,无意中发现,为了方便使用YOLO目标检测算法的快捷使用,有网友已经将其做成了Python的外接工具库,提交到了官方的索引库 pypi 上。
现在已经有关于YOLO的各个版本库都已经发布,这意味着我们可以直接使用 pip 一键进行安装,然后导入包,进行方法调用就可以了,真的是太方便了。就是没有源代码,不好进行模型修改和训练了。
不知不觉,YOLOv7都出来了,我记得前段时间美团刚出来YOLOv6,不知道怎么YOLOv7在今年2月份就横空出世,但是拒解释说:这里的7,不是下一代YOLO,而是一个幸运数字,姑且可以看作是一个代号。它的目的是让YOLO全面开花,不仅仅只是做目标检测。
YOLOv7论文相关源码地址:
https:// github/WongKinYiu/yolov7
GitHub - jinfagang/yolov7: 🔥🔥🔥🔥 YOLO with Transformers and Instance Segmentation, with TensorRT acceleration! 🔥🔥🔥
一键pip使用YOLOv7
1.创建虚拟环境和下载安装包
打开命令行,输入以下命令创建python的虚拟环境和相关安装包。
conda create -n yolov5 python=3.8
conda activate yolov5 # 激活虚拟环境yolov5
一键pip安装yolov5,注意:python3.6版本以下的需要提前安装指定版本的 numpy 和 matplotlib,python 版本大于3.7,则可以直接使用 pip 安装。
2.yolov5模型检测detecet、训练trian、验证val和导出export
yolov5 库安装好后,同时会生成 yolov5 的命令行工具,其使用方法与源码中的 detect.py 非常类似。
使用yolov5进行检测detect
yolov5 detect --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream
rtmp://192.168.1.105/live/test # rtmp stream
http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
注意:cpu 的环境下,图片、视频检测都没问题,但是如果使用 gpu 的话,就会报错了,这可能是目前版本的 bug。目前 gpu 的支持还不够完善,像本地视频、网络视频( rtsp 协议)都不支持检测,
使用yolov5进行模型训练
yolov5 train --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64
yolov5m 40
yolov5l 24
yolov5x 16
另外关于 val 和 export 命令的使用,可以通过 --help 来查看其具体支持的参数,如:yolov5 export --help
3.使用yolov5完整检测示例
【不使用CUDA进行加速检测】:首先将官方提供的 yolov5s.pt 模型权重weights下载下来,然后执行下面的脚本。
# 导入模块
import yolov5
# 载入模型
model = yolov5.load('yolov5s.pt')
# 待检测的图片
img = 'https://github/ultralytics/yolov5/raw/master/data/images/zidane.jpg'
# 推理,默认参数
# results = model(img)
# 使用特定尺寸进行推理
# results = model(img, size=1280)
# 数据增强,能够检测出更多的目标,当然也有可能出现误检
results = model(img, augment=True)
# 检测结果数据解析,所属类别、置信度、目标位置信息
predictions = results.pred[0]
boxes = predictions[:, :4] # x1, x2, y1, y2
scores = predictions[:, 4]
categories = predictions[:, 5]
# 显示检测结果
results.show()
# 保存检测结果图片
results.save(save_dir='results/')
检测结果如下所示:
【使用CUDA进行加速检测】: 使用cuda进行加速检测,需要提前下载安装 gpu版本的 pytorch,和原版一样,通过指定参数device来指定cuda加速。
from yolov5 import YOLOv5
# 模型路径
model_path = 'yolov5s.pt'
# 指定参数cuda进行加速
device = "cuda" # or "cpu"
# 模型初始化
yolov5 = YOLOv5(model_path, device)
# 待检测图片
image = 'https://github/ultralytics/yolov5/raw/master/data/images/zidane.jpg'
# 推理,默认参数
results = yolov5.predict(image)
# 使用特定尺寸进行推理
results = yolov5.predict(image, size=1280)
# 数据增强,能够检测出更多的目标,当然也有可能出现误检
# results = yolov5.predict(image, augment=True)
# 多个参数一起使用
# results = yolov5.predict(image, size=1280, augment=True)
# 如果需要检测多张图片的话,可以使用列表
# results = yolov5.predict([image1, image2], size=1280, augment=True)
# 检测结果数据解析,所属类别、置信度、目标位置信息
predictions = results.pred[0]
boxes = predictions[:, :4] # x1, x2, y1, y2
scores = predictions[:, 4]
categories = predictions[:, 5]
# 显示检测结果
results.show()
# 保存检测结果
results.save(save_dir='results/')
Reference: https://zhuanlan.zhihu/p/410743156
精彩推荐:
YOLOv6更快一步,制作自己的数据集训练YOLOv6模型保姆级教程
Yolov3算法实现社交距离安全检测项目讲解和实战(Social Distance Detector)
万字长文,用代码的思想讲解Yolo3算法实现原理,Visdrone数据集和自己制作数据集两种方式在Pytorch训练Yolo模型
版权声明:本文标题:一键Pip下载安装使用YOLO系列目标检测算法,YOLOv7都能Pip ! ! ! 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729380904a1199118.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论