2022-12-05如何在rv1109~rv1126开发板上部署自己的yolov3模型?


这里面涉及到了C++的知识,本人目前才开始接触,刚学完最基础的部分,所以相关的语言表达可能不太正确,还请大家多多指教(这部分内容也不够细致,主要是提醒一下自己,方便之后继续)

1、获取yolov3模型

本人此次使用的是用自己收集的数据训练的yolov3模型,用于实现识别图片中人物的跌倒和其他行为的作用,只用了少部分数据进行训练,是一个很糙的模型,主要为了熟悉整个流程,作为方法说明,具体方法的参考链接如下:
https://blog.csdn.net/LJ1120142576/article/details/127681902

**注意:**此处获得的模型是.pt格式的,记得转换为.weights格式的模型(这个在Yolov3的程序里面可以找到对应的功能)

2、模型转换(.weights→.rknn)

这一部分的转换,可以参考官方程序说明进行

注意
①一定要注意模型的格式是.weights,否则模型转不了,总会报错(血的教训啊)
②注意程序中的参数和训练过程的参数保持一致

3、C++编译

这一部分也可以参考官方文档进行(这个代码是我写的时候才发现的,没有自己运行过,有需要的小伙伴可以自己运行一下),我使用了另一份代码实现了整个过程,但是都大同小异,有需要的也可以尝试

4、在rv1109~rv1126上运行yolov3模型

将第三步获取的模型的相关文件,移动到rv1109~rv1126板子上(./userdata/路文件内容如下:
在这里插入图片描述
其中model文件下是.rknn模型和需要测试的图片
执行以下代码便可以实现模型的功能

./rknn_yolov3 ./model/XXX.rknn ./model/XXX.jpg

最后有一个out.jpg便是最终的结果

因为写的时候时间比较匆忙,做一下说明
1)内容不够详细,主要是为了提醒自己整个流程,因为一些事现在要耽搁一段时间,方便之后继续进行
2)我在部署模型之前,开发板的各项环境都已经配好了,所以关于这一部分,我也没有真正实战过,需要之后补充一下这部分的知识
3)虽然整体实现了部署的目标,但是还有很多的方面需要了解和实现,主要有以下几部分
①如何在实时的视频流中实现跌倒检测的功能
②时间和精度的评估和衡量
③最后结果的解释说明等要弄得100%清楚

猜你喜欢

转载自blog.csdn.net/LJ1120142576/article/details/128189999