0


树莓派5B利用AI_KIT跑YOLOV8(平均帧速率可达134fps)

先看一下效果:

可以看到平均帧数可达134。

硬件介绍:

一、树莓派环境初步安装:

参考:分享个人树莓派5B安装AI Kit Hailo-8(L)的环境的经历_树莓派 和 hailo 8l-CSDN博客

在这一步主要是执行:

sudo apt install hailo-all

这将安装以下依赖项:

  • Hailo内核设备驱动程序和固件
  • Hailo中间件软件
  • Hailo Tappas核心后处理库
  • rpicam-appsHailo后处理软件演示阶段

二、YOLOV8模型训练:

参考:

YOLOv8教程系列:一、使用自定义数据集训练YOLOv8模型(详细版教程,你只看一篇->调参攻略),包含环境搭建/数据准备/模型训练/预测/验证/导出等_yolov8训练自己的数据集-CSDN博客

如果没有本地GPU可以利用云端免费GPU来加快训练。参考:训练YOLOv5模型(云端GPU)_哔哩哔哩_bilibili 。

三、模型转换:PT转ONNX

由于AI_KIT Hailo使用的是HEF模型,使用我们需要将训练得到的.pt模型文件转化成HEF模型文件,这里我们需要先转化成ONNX模型

    在你的电脑上,使用指令:
yolo export model=./best.pt imgsz=640 format=onnx opset=11 

注意imgsz为你自己训练时的图像输入大小,通常为640,如果你训练时更改了这里也需要更改。

四、模型转换:ONNX模型转HEF模型

这一步后比较麻烦,需要一些耐心。

1.首先我们需要准备一个linux_x86_64的系统,我们可以下一个乌班图虚拟机来达到要求:

打开乌班图系统输入:

uname -m

可以看到符合要求。

2.安装Hailo数据流编译器,这里需要注册Hailo并登录,下载软件。

进入Hailo官网注册账号,

如下进行下载选择并下载:

安装Model zoo,这里需要注册Hailo并登录,下载软件。

如下进行下载选择并下载:

得到如下两个文件:

将这两个文件放入虚拟机中。 在虚拟机中执行:

pip install hailo_dataflow_compiler-3.28.0-py3-none-linux_x86_64.whl 
pip install hailo_model_zoo-2.12.0-py3-none-any.whl 

这一步需要下载资源需要时间较长,如果发现下载过慢可进行换源下载。

 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果虚拟机无法上网请参考:虚拟机下Ubuntu上网设置_ubuntu虚拟机怎么连接网络-CSDN博客

安装完成后输入:

hailomz -h

看到如下证明安装成功:

3.安装hailo_model_zoo github文件

虚拟机输入:

git clone https://github.com/hailo-ai/hailo_model_zoo.git

下载coco数据集:

python hailo_model_zoo/datasets/create_coco_tfrecord.py val2017
python hailo_model_zoo/datasets/create_coco_tfrecord.py calib2017

由于这个数据非常大所以需要确保虚拟机有足够的空间(大约需要35g),可以使用gparted来进行虚拟机硬盘扩容。扩容参考:【转】Linux虚拟机vmware中使用gparted调整磁盘大小并设置swap分区 - 一棵梧桐树 - 博客园

如果不想使用YOLOV8官方模型来转化可以不下载。

4.执行转化

将hailo_model_zoo/hailo_model_zoo复制到你的python环境下(一般在.local/lib/python3.8/site-packages/)

输入:

hailomz compile yolov8n --ckpt=best.onnx --hw-arch hailo8n --calib-path weights/test/images/ --classes 1 --performance

请将各个参数更换成你自己的参数:

yolov8n :模型训练的参照
--ckpt=best.onnx :你自己的best.pt转化的.onnx模型
--hw-arch hailo8l :你购买的ai_kit硬件型号
--calib-path weights/test/images/ :校准的图像路径
--classes 1 :模型检测类别的数量

这个过程需要时间较长请耐心等待。

pir

由此得到了我们所需要的HEF模型文件。

五:模型部署

1.硬件安装与检测:https://www.raspberrypi.com/documentation/accessories/ai-kit.html#about

  1. 环境与库包,在树莓派上克隆存储库,输入:
git clone https://github.com/hailo-ai/hailo-rpi5-examples.git

进入存储库目录:

cd hailo-rpi5-examples

直接运行环境配置脚本:

source setup_env.sh

在python虚假环境中安装依赖包:

pip install -r requirements.txt
sudo apt install -y rapidjson-dev

资源下载与处理编译:

./download_resources.sh
./compile_postprocess.sh

之后便可在树莓派上运行了:

python basic_pipelines/detection.py --labels-json resources/my-labels.json --hef resources/my.hef -input resources/fish1.mp4 --show-fps  --dump-dot
python :python执行代码
basic_pipelines/detection.py :识别代码地址
--labels-json resources/my-labels.json :类标签地址,参考resources/barcode-labels.json
--hef resources/my.hef :模型文件地址
-input rpi :输入源:rpi为树莓派内嵌摄像头;/dev/video2为USB摄像头(偶数);resources/fish1.mp4视频输入
--show-fps  :显示帧数
--dump-dot  :将管道图转储到dot文件

开始识别,由于我测试的输入源最大为30fps,所以跑出来稳定在30fps,从树莓派社区与Hailo社区可以看到:我们将批处理大小设置为8,输入大小设置为640x640,输入视频帧速率设置为240 fps。达到的推理速度为136.7 fps,对于大多数应用场景来说都是异常快的。

相关参考连接:
Hailo · GitHub

Getting Started with Seeed Studio Wiki Platform | Seeed Studio Wiki

https://www.raspberrypi.com/documentation/accessories/ai-kit.html#about

The World’s Top Performing Edge AI Processor For Edge Devices

https://www.youtube.com/watch?v=mVNrEVpvvuc&t=58s

标签: YOLO

本文转载自: https://blog.csdn.net/wallwayj/article/details/142672678
版权归原作者 (●'◡'●)知 所有, 如有侵权,请联系我们删除。

“树莓派5B利用AI_KIT跑YOLOV8(平均帧速率可达134fps)”的评论:

还没有评论