香橙派5使用NPU加速yolov5的实时视频推理(一)

这篇具有很好参考价值的文章主要介绍了香橙派5使用NPU加速yolov5的实时视频推理(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

        寒假里,博主完成了树莓派4B搭载yolofastest-V2的ncnn加速,效果挺不错的,但总感觉还是稍微差点意思,于是就购买了一块香橙派5,想要用RK3588芯片自带的NPU来加速深度学习的部署,在2023年3月4日也是完成了香橙派5的NPU加速深度学习部分,其效果也确实非常可观,在画质较低的情况下,运行速度达到了100fps以上,下面是我在B站发布的效果视频点我跳转。这篇博客也是为了总结一下玩香橙派5的时候遇到的坑。

准备材料:

        1、香橙派5

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

        2、一台windows10或windows11的电脑

        3、一个内部带有Ubuntu20.04的移动硬盘(如果没有,也可以用VMware安装个虚拟机也行)。

        3、USB摄像头(某宝上有卖的,啥都可以)用来做视频识别

        4、64G内存卡(烧录了官方的Debian11系统)、HDMI线、显示屏、官方的电源线、键鼠套装

        5、香橙派5官方提供的无线网卡(其他网卡应该也行,只不过当时我买了,即使安装了驱动也没上成网)

        6、散热壳(也是某宝买的,不是官方的)

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 说明:

        关于RKNN,官方给出了两种思路,一种是关于C的,另一种是关于Python的,这里我只介绍Python有关部分。

        在接下来的操作中,一和二是在windows系统上进行操作的,三是在Ubuntu20.04系统上进行的,四是在香橙派5上操作的,大家注意区分!!!

一、使用官方指定的yolov5版本去训练:

        不瞒大家,对于yolov5来说,博主本人在寒假之前也没用过,这个寒假才学会了yolov5的训练和应用,在此之前,我甚至都不知道yolov5还分为多个版本,RKNN官方教程

进入教程后,首先点击框内链接跳转至yolov5的GitHub仓库

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 博主这里跳转过后是403,没关系,我们直接点击yoloV5官方库跳转至如下界面。

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 点击左上角箭头所指区域,搜索c5360f6e7009eb4d05f14d1cc9dae0963e949213,跳转至如下界面,按顺序点击箭头所指区域

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 进入如下界面后,点击Browse fileyolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 这样,我们就找到了正确的版本了

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 把代码保存到本地,接下来,我们点击Releases · ultralytics/yolov5 · GitHub,进入如下界面

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 滚动滑轮大概在界面的中部位置,点击箭头所指区域

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 进入如下界面

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件滑动滚轮到页面底部,下载我们的预训练模型yolov5s.pt

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 然后就是开始我们的yolov5的简单训练了,这里我参考的是这篇博客,这位博主写的很好,对小白很友好小白YOLOv5全流程-训练+实现数字识别_yolov5数字识别_牛大了2022的博客-CSDN博客

        当然了,我们因为选择了不同的版本,会出现一点小的问题,这里我也记录了下来。

        1、这里一定要采用单引号,否则就会报出这个错误ValueError: too many dimensions ‘str‘

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

        2、当出现OSError: [WinError 1455] 页面文件太小,无法完成操作,一般是要去给Anaconda所在的盘符分配一定的虚拟内存,同时把train.py里的'--batch-size'选项调小,我是轻薄本,于是就改成了4,虚拟内存分配了50G,此外,如果多次输出这个错误的话,就尽量不要用python终端去执行命令了,直接修改train.py里面的参数,然后运行train.py

        3、当出现如下错误的时候,不要慌张,可以把所有的np.int修改成np.int_即可

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 4、如果以上错误都解决了的话,已经开始训练了,结果出现下面的错误

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

 这样的话,就要进入loss.py函数,修改两个地方,第一个地方:

for i in range(self.nl):
        anchors = self.anchors[i]

 改为如下所示:

 for i in range(self.nl):
        anchors, shape = self.anchors[i], p[i].shape

第二个地方:

indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1)))  # image, anchor, grid 

改为:

indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1)))  # image, anchor, grid

 以上的错误解决完了就可以训练了。博主我啊,为了写这篇博客,还把这整个操作给又弄了一遍,各位看在这么辛苦的份上,给我点个赞吧。

二、将训练好的best.pt转为best.onnx

        这里,我们再次进入RKNN官方教程这里,按照官方提供的步骤来操作。

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

         这一步一定要等训练完成后,再对export.py进行修改,然后我们要把得出的best.pt复制到export.py同一级文件夹下。

python export.py --weights best.pt --img 640 --batch 1 --include onnx

         我确实报了一大堆警告,最开始我没有去管,后来到了转rknn的时候,出了个大问题

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

这是报的错误

WARNING: The shape inference of prim::Constant type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function.

         我们要到export.py文件里面,把'--opset'选项该成11,再次运行代码,弹出下面的界面,没有了上面说的警告,但还是会有一些警告,博主上网查了一些,说是深度神经网络的网络结构太灵活,网络结构中出现不少if else 语句,需要去掉,这个我没在意,后续也没出啥问题。

yolo npu,香橙派5,YOLO,人工智能,嵌入式硬件

         之后,在export.py的同级目录下,就会生成best.onnx这个文件,我们需要做的就是把这个文件copy到我们的Ubuntu20.04系统里面,进行处理。文章来源地址https://www.toymoban.com/news/detail-782606.html

写不开了,大家可以跟着看第二篇

到了这里,关于香橙派5使用NPU加速yolov5的实时视频推理(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【目标检测】YOLOv5推理加速实验:TensorRT加速

    前两篇博文分别讨论了YOLOv5检测算法的两种加速思路:采用多进程或批量检测,不过效果均收效甚微。本问将讨论使用TensorRT加速以及半精度推理/模型量化等优化策略对检测加速的实际影响。 测试图片分辨率:13400x9528 GPU:RTX4090 Cuda:11.7 YOLOv5版本:最新版(v7.0+) 检测策略:将

    2024年02月05日
    浏览(43)
  • rk3588使用npu进行模型转换和推理,加速AI应用落地

    本文完成于2022-07-02 20:21:55 。博主在瑞芯微RK3588的开发板上跑了deepsort跟踪算法,从IP相机中的server拉取rtsp视频流,但是fps只有1.2,和放PPT一样卡顿,无法投入实际应用。本来想使用tensorrt进行加速推理,但是前提需要cuda,rk的板子上都是Arm的手机gpu,没有Nvidia的cuda,所以这条

    2023年04月12日
    浏览(31)
  • 【目标检测】YOLOv5多进程/多线程推理加速实验

    最近在研究如何让YOLOv5推理得更快,总体看来,主要有以下这些思路: 使用更快的 GPU,即:P100 - V100 - A100 多卡GPU推理 减小模型尺寸,即YOLOv5x - YOLOv5l - YOLOv5m - YOLOv5s - YOLOv5n 进行半精度FP16推理与 python detect.py --half 减少–img-size,即 1280 - 640 - 320 导出成 ONNX 或 OpenVINO 格式,获

    2023年04月14日
    浏览(31)
  • Yolov5口罩佩戴实时检测项目(模型剪枝+opencv+python推理)

    如果只是想体验项目,请直接跳转到本文第2节,或者跳转到我的facemask_detect。 剪枝的代码可以查看我的github:yolov5-6.2-pruning 第1章是讲述如何得到第2章用到的onnx格式的模型文件(我的项目里直接提供了这个文件)。 第2章开始讲述如何使用cv2.dnn加载onnx文件并推理yolov5n模型

    2023年04月08日
    浏览(29)
  • Jetson AGX Xavier实现TensorRT加速YOLOv5进行实时检测

    link 上一篇:Jetson AGX Xavier安装torch、torchvision且成功运行yolov5算法 下一篇:Jetson AGX Xavier测试YOLOv4         由于YOLOv5在Xavier上对实时画面的检测速度较慢,需要采用TensorRT对其进行推理加速。接下来记录一下我的实现过程。  如果还没有搭建YOLOv5的python环境,按照下文步骤

    2024年02月10日
    浏览(27)
  • Yolov5对本地视频进行推理时,实现跳帧检测,提高推理效率

    今天在使用Yolov5的detect.py对本地视频进行推理时,发现推理速度受硬件性能影响比较大,为提高检测效率,在部分没必要逐帧检测的情况下,可以考虑设置跳帧检测。 对detect.py观察了一番之后,发现视频读取靠的是dataloaders.py库,于是继续观察。 最终得出了以下解决方案:

    2024年02月12日
    浏览(40)
  • 吸烟检测从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 检测效果 由上图我们可以看到,使用YOLOV5完成了吸烟的目标识别检测,可以达到mAP可达85.38%。通过对吸烟的自动检测可以方便商场、医院、疗养院等公共场合进行禁

    2024年02月09日
    浏览(40)
  • 用python的socket通信将Yolov5的USB摄像头实时推理结果发送给另一台电脑

    将配置yolov5的电脑当客户端,局域网内的另一台电脑当服务端,利用python的socket通讯,将客户端Yolov5的USB摄像头实时推理结果发送给另一台电脑的服务端。 一、修改Yolov5的detect.py文件,启动客户端 1.1在文件前添加 import socket #include 1.2在 LOGGER.info前添加以下代码 # Print time (

    2024年02月09日
    浏览(35)
  • 烟雾和火灾检测从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 图片检测效果 视频检测效果 针对住宅、加油站、公路、森林等火灾高发场景,可以自动检测监控区域内的烟雾和火灾,帮助相关人员及时应对,最大程度降低人员

    2024年02月11日
    浏览(37)
  • 智能零售柜商品识别从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 检测效果 智能零售柜商品识别,当顾客将自己选购的商品放置在制定区域的时候,能精准地识别每一个商品,从而能够返回完整地购物清单及计算顾客应付的实际商

    2024年02月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包