7 Star 0 Fork 0

openEuler2020 / 35-win300

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

35-win300

介绍

TOPIC_ID:35, TEAM_ID:1473826747, TEAM_NAME:win300.

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

软件架构

目录说明:

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

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

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

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

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

**硬件环境:**Firefly-RK3399开发板

**开发环境:**Ubuntu16.04,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

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

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

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

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

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

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

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

使用说明

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

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

3、准备容量8G以上的U盘,挂载于开发板/mnt目录。

4、将Qt编译产生的可执行文件放至开发板/mnt目录。

5、利用脚本处理视频为图像帧。

6、将处理过的视频帧放至开发板/mnt/img3目录。

7、利用脚本将处理过的图像合成视频。

空文件

简介

TOPIC_ID:35, TEAM_ID:1473826747, TEAM_NAME:win300. 展开 收起
Makefile 等 5 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/openeuler2020/team-1473826747.git
git@gitee.com:openeuler2020/team-1473826747.git
openeuler2020
team-1473826747
35-win300
master

搜索帮助