yolov5模型从发布到现在都是炙手可热的目标检测模型,被广泛运用于各大场景之中。因此,我们不光要知道如何进行yolov5模型的训练,而且还要知道怎么进行部署应用。在本篇博客中,我将利用yolov5模型简单的实现从摄像头端到web端的部署应用demo,为读者提供一些部署思路。
你与目标检测高手之差一个yolov5模型。yolov5可以说是现目前几乎将所有目标检测tricks运用于一身的模型了。在它身上能找到很多目前主流的数据增强、模型训练、模型后处理的方法,下面我们就简单总结一下yolov5所使用到的方法:
yolov5增加的功能:
yolov5训练和预测的tr两只老虎电子琴谱icks:
在此篇博客中,采用了yolov5源码的datats.py代码中的loadstreams类进行多路摄像头视频流的读取。因为,我们只会用到datats.py中视频流读取的部分代码,所以,将其提取出来,新扫荡波建一个camera.py文件,下面则是camera.py文件的代码部分:
接下来,我们借助detect.py文件对yolov什么是机电一体化5模型进行接口封装,使其提供模型推理能力。新建一个yolov5.py文件,构建一个名为darknet的类,使用函数detect,提供目标检测能力。其代码如下:
此外,还需要提供一个模型配置文件,我们使用json文件进行保存。新建一个yolov5_config.json文件,内容如下:
视频图像文件可以是单独的一张图像,如:”…/images/demo.jpg”,也可以是一个视频文件,如:北京约8221;…/videos/demo.mp4″,也可以是一个视频流地址,如:“rtsp://wowzaec2demo.streamlock.net/vod/mp4:bigbuckbunny_115k.mov”,还可以是一个txt文件,里面包含多个视频流地址,如:
– 有了如此配置信息,通过运行yolov5.py代码,我们能实现对视频今年立秋几时几分几秒文件(mp4、avi等)、视频流地址(http、rtsp、rtmp等)、图片(jpg、png)等视频图像文件进行目标检测推理的效果。
有了对模型封装的代码,我们就可以利用flask框架实时向前端推送算法处理之后的图像了。新建一个web_main.py文件:
通过detect_gen函数将多个视频流地址推理后的图像按照feed_type类型,通过video_feed视频流路由进行传送到前端。
最后,我们写一个简单的前端代码。首先新建一个templates文件夹,再在此文件夹中新建一个index.html文件,将下面h5代码写入其中:
至此,我们利用yolov5模型实现多路摄像头实时推理代码就写完了,下面我们开始运行:
– 在终端中进行跟目录下,直接运行:
然后,会在终端中出现如下信息:
* 接着打开浏览器,输入localhost:5000后,终端没有报任何错误,则就会出现如下页面:
1. 由于没有额外的视频流rtmp/rtsp文件地址,所以就找了一个公开的视频流地址,但是没有办法看到检测效果;
2. 部署的时候,只能使用视频流地址进行推理,且可以为多个视频流地址,保存为stream.txt,用yolov5_config.json导入;
3. 此demo版本为简易版的端到端模型部署方案,还可以根据场景需要添加更多功能。
到此这篇关于用yolov5实现多路摄像头实时目标检测功能的文章就介绍到这了,更多相关yolov5多路摄像头实时目标检测内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-06 02:53:26,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/4e41ef8e2866c1957ab16ba04e0a57a0.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:教你用YOLOv5实现多路摄像头实时目标检测功能.doc
本文 PDF 下载地址:教你用YOLOv5实现多路摄像头实时目标检测功能.pdf
留言与评论(共有 0 条评论) |