分享

RK3399的Yolo-Fastest模型部署

 beginnow1 2022-12-06 发布于广东

Vehicle-Detection-MNN-Yolo-Fastest

介绍

本项目为“openEuler”高校开发者大赛--城市关键路径机动车流量智能化监控项目。本项目利用RK3399与HopeEdge OS,通过深度学习方法对车辆进行实时检测,利用MNN深度学习推理框架与OpenCV实现车辆检测模型的移动端部署,利用检测结果,根据检测目标的欧氏距离判断前后帧检测车辆是否为同一辆车,对车辆进行计数。

源文件:https://github.com/yss9701/Vehicle-Detection-MNN-Yolo-Fastest

2

软件架构

目录说明:

./lib为部署于开发板的动态链接库,需放置于开发板/usr/lib目录下,或放置于其他目录下并指定搜索路径

./src为Qt工程,其中.pro文件需根据主机实际路径更改。

./script为脚本,包括编译脚本、视频处理脚本等。

./model为MNN转换后的模型与量化后的模型及MNN编译产物。

./demo为车辆检测结果展示,视频左上角展示出车辆计数与检测帧率。

硬件环境:Firefly-RK3399开发板

开发环境:Ubuntu20.04.2 Lts,Qt 5.12.9,gcc-linaro-4.9.4-2017.01-x86_64_aarch64-linux-gnu,MobaXterm 11.0

模型训练:TensorFlow-gpu 2.2

模型部署:MNN 1.0.2,OpenCV 3.4.9,protobuf 3.12.0,gcc/g++ 4.9

安装教程

1、利用TensorFlow2.2,搭建Yolo-Fastest模型。将UA-DETRAC数据集处理为VOC格式,对模型进行训练,后对检测头进行剪枝,压缩模型,重训练恢复精度,将模型结构保存与参数分开保存,并进行模型固化,产生pb文件,具体过程可参考此项目

2、在Ubuntu16.04中安装交叉编译工具链安装qt, 安装GCC工具链与protobuf

交叉工具下转地址:https://download./archive/qt/5.12/5.12.9/

交叉编译工具搭建:https://blog.csdn.net/hl1796/article/details/90205218

执行sudo ./auto.sh时,出现Project ERROR: Cannot run target compiler 'aarch64-linux-gnu-g++'.  的报错。是由于用sudo执行会重设环境变量,而sudo的环境变量没有aarch64-linux-gnu-g++的目录路径,可以用sudo -i ./auto.sh表示使用root的权限但环境不变。或者添加环境变量到/etc/sudoers,参考:https://cloud.tencent.com/developer/article/1650340

3、在主机端源码编译MNN,编译产物为模型转换与模型量化工具。

http://www.360doc.com/content/22/1202/16/40492717_1058541855.shtml

4、在主机端源码交叉编译MNN,编译产物为MNN动态链接库。

5、在主机端源码交叉编译OpenCV,编译产物为OpenCV动态链接库,编译脚本为./script/build_3399.sh。

http://www.360doc.com/showweb/0/0/1059122850.aspx

6、利用./script/pb.py进行模型输入尺寸固化,利用MNN进行模型转换与量化,将量化模型通过MobaXterm传送到开发板执行目录。

6、利用Qt Creator编程,交叉编译产生可执行文件,利用MobaXterm传送到开发板。

7、利用./script/video2img.py进行视频处理,将处理过的图像传送到开发板执行目录,执行可执行文件,得到检测与计数结果。

8、利用./script/img2cv.py对检测过的图像处理,合成视频。

记得修改图片尺寸大小,不然会有OpenCV(3.4.9) Error: Assertion failed的报错

还有路径、图片数量需要修改

使用说明

1、烧写HopeEdge OS镜像至开发板。

2、通过MobaXterm利用SSH登录开发板。

3、在Vehicle-Detection-MNN-Yolo-Fastest-main/src/路径建好文件夹img_3跟img_5

4、利用脚本处理视频为图像帧,放到img_3中,文件名00001.jpg依次类推。

5、执行./test运行QT编译好的文件

6、利用脚本将在img_5中处理过的图像合成视频。

参考

MNN

MNN-Yolo-Fastest

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多