海思3559使用Yolov3进行目标检测

1、实验环境
Ubuntu虚拟机+一根网线+USB转串口+小相机(支持IMX334等,可以查看)
2、资料准备
《HiMPP V4.0 媒体处理软件开发参考.pdf》
这个资料主要介绍了图像是通过什么方式进行输入,处理,以及输出的。
VI-VPSS-VO,VENC和VDEC,VGS画图等
《HiSVP开发指南.pdf》
这个资料主要介绍如何使用NNIE模块进行图像处理,以及ruyistudio的安装和使用教程。
《HiSVP API 参考.pdf》等
API等资料可以编写代码的时候在重点关注。

推荐想学习的朋友看一下刘山老师的博客,很有帮助。

本教程只是使用预训练的Yolov3模型生成的.wk文件,只能作为一个初学者入门。真正要学会掌握需要很长的路去学习。由于ubuntu下的vim开发不够熟练,所以我是在ubuntu下安装了一个vscode编译器进行开发。
3、整体思路
借鉴RFCN的输入输出模式进行修改即可。
在这里插入图片描述
4、具体实现
三板斧
1>模型初始化
2>硬件初始化
3>软件参数初始化
软件参数初始化里面,如果今后要修改模型,需要将对应的软件参数进行修改
在这里插入图片描述
SAMPLE_COMM_IVE_StartViVpssVencVo函数在common里面,主要实现vi-vpss-vo的绑定操作。
在这里插入图片描述
SAMPLE_COMM_SYS_GetPicSize函数主要得到图像的大小
这里用的是Yolov3,需要修改为416*416
该SAMPLE_SVP_NNIE_My_Yolov3_ViToVo函数是由RFCN对应的函数进行简单修改得到的。
在这里插入图片描述
HI_MPI_VPSS_GetChnFrame是从一个通道获取到图像数据,YOLOv3是通过两路(上文结构已说明),所以使用两个HI_MPI_VPSS_GetChnFrame
在这里插入图片描述
在这里插入图片描述
获取完图像数据之后,模型的参数主要通过SAMPLE_SVP_NNIE_My_Yolov3_Proc完成,里面主要通过前向传播的函数SAMPLE_SVP_NNIE_Forward以及SAMPLE_SVP_NNIE_Yolov3_GetResult函数,得到了pstSwParam的结构体的结果,里面有strect,包含4个值,但是yolov3的参数结构体没有定义,需要定义一下。
在这里插入图片描述
在这里插入图片描述
得到最终的检测框strect,需要经过SAMPLE_SVP_NNIE_RoiToRect函数,里面有VGS的模块,该模块主要功能如下所示:
在这里插入图片描述
5、如何编译:
将cfg.mak.multicore改为cfg.mak即可在svp中的multi-core中进行编译
在这里插入图片描述
6、实验结果
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dx0014

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值