架构总览
海思3519A芯片的架构:
系统设计架构图
因为嵌入式板卡上不能进行编译,只能执行指令和运行编译后的执行文件,所以要采用Linux服务器和3519A板卡的交叉编译方式。
设计流程
华为海思官方推荐的是Windows+Linux+Hi3519A共同编译,分工如下流程:
1.Windows:进行模型的转换和仿真。RuyiStudio
2.Linux:使用交叉编译进行编译。arm-himix200-linux
3.Hi3519A:板卡进行最后的运行。
这里声明下,我这边采用的是Windows和Linux之间通过shell连接,Linux和Hi3519A之间通过nftp文件传输系统进行连接,Hi3519A和Windows之间是通过串口进行连接。
准备阶段
1. Hi3519A板卡点亮
2. Linux和Windows开发和运行环境搭建
开发过程
1. 要将自己的YOLO模型的权重文件与cfg文件转化为caffe的权重与结构文件。此过程中需要安装caffe并修改重新编译使得caffe支持特殊网络层。
https://blog.csdn.net/avideointerfaces/article/details/89111955
2.打开SDK中提供的sample文件,将caffe模型转化为海思可以识别的.wk文件。
https://blog.csdn.net/qq_34533248/article/details/102496209
3.完成wk文件的功能仿真与指令仿真,简单分析仿真代码与修改方法。
https://blog.csdn.net/qq_34533248/article/details/102497297
4.将有关nnie的sample 进行修改并make ,并分析与修改部分代码,传输到开发板进行调试
https://blog.csdn.net/qq_34533248/article/details/102498143
5.将相关sample代码重构并封装成API(施工中…)
6.重构从摄像头读取图像并将推理结果显示出来的sample(未完成)
注意事项:
1. 因为3519A板卡只支持cafffe框架且是v1.0最基础版本,所以需要将yolov3模型转化成.caffemodel格式。
板卡上
2. 华为海思3519A给的SDK里面没有yolov3的Demo例子,这点还需要自己整。