海思AI芯片(Hi3516DV300/CV500)开发(1.资料介绍)

本文介绍了海思SVP平台,包括SVP硬件资源、开发框架和NNIE硬件单元。详细阐述了NNIE的开发流程,从Caffe模型训练到仿真器评估。还提到了Hi3516CV500的SDK内容,包括开发工具、交叉编译器和AI相关工具。

目录

1、SVP资料介绍

1.1 SVP 简介

1.2 开发框架

1.3 开发流程

2、Hi3516DV300/CV500SDK内容介绍


1、SVP资料介绍

1.1 SVP 简介

SVP(Smart Vision Platform)是海思媒体处理芯片智能视觉异构加速平台。该平台包含了CPU、 DSP、 NNIE(Neural Network Inference Engine)等多个硬件处理单元和运行在这些硬件上 SDK 开发环境,以及配套的工具链开发环境。软件开发接口介绍请参考“ReleaseDoc\zh\01.software\board\SVP\HiSVP API参考”。不同芯片下的 SVP 硬件资源如图1-1

                                                                                            图1-1

本项目采用的是Hi3516DV3100, 所以后续文章都是基于款芯片NNIE的进行SVP开发。 3516DV里面的硬件NNIE(Neural Network Inference Egine)是海思媒体 SoC 中专门针对神经网络特别是深度学习卷积神经网络进行加速处理的硬件单元,可以定点并行运算来进行深度学习算法模型推理,支持现有大部分的公开网络,如 Alexnet、 VGG16、 Googlenet、 Resnet18、Resnet50 等分类网络, Faster RCNN、 YOLO、 SSD、 RFCN 等检测网络,以及 SegNet、 FCN 等场景分割网络。目前 NNIE 配套软件及工具链仅支持以 Caffe 框架,使用其他框架的网络模型需要转化为 Caffe 框架下的模型。

1.2 开发框架

SVP 开发框架如图1-2所示。目前 SVP 中包含的硬件处理单元有 CPU、 vision DSP、NNIE,其中某些硬件可能有多核。不同的硬件有不同的配套工具链,用户的应用程序需要结合这些工具的使用来开发。
 

                                                                                            图1-2

1.3 开发流程

以 Caffe 框架上训练的模型为例, NNIE 的开发流程如图 1-3 所示。在 Caffe 上训练、使用 NNIE 的 mapper 工具转化都是离线的。通过设置不同的模式, mapper 将*.caffemodel 转化成在仿真器、仿真库或板端上可加载执行的数据指令文件。一般在开发前期,用户可使用仿真器对训练出来的模型进行精度、性能、带宽进行初步评估,符合用户预期后再使用仿真库进行完整功能的仿真,最后将程序移植到板端。       
 

                                                                                            图1-3

2、Hi3516DV300/CV500SDK内容介绍

                                                                                            图2-1

1)Hi3516C V500R001C02SPC010 它的子目录software\board下面有3516CV500的软件开发工具包:Hi3516C V500R001C02SPC011\01.software\board\Hi3516CV500_SDK_V2.0.1.1.tgz非常重要。  此外01.software\pc子目录下一些如uboot烧写,tune PQ之类的工具。

2)ReleaseDoc.rar 开发手册。

3)toolchain.part1.rar和toolchain.part2.rar 它是交叉编译器( 解压part1,part2 会跟着自动解压),运行linux环境中 。

4)它解压后有个和AI相关的重要目录:SVP_PC\HiSVP_PC_V1.2.2.2.tgz, 里面有nnie的转换,仿真等工具软件。


海思AI芯片(Hi3516DV300/CV500)开发(2.RuyiStudio安装)

海思AI芯片(Hi3516DV300/CV500)开发(3.搭建Linux开发环境)


### Hi3516DV300 YOLO 实现方案 #### 背景概述 Hi3516DV300 是一款由海思推出的嵌入式 AI 处理器,广泛应用于视频监控领域。其内置 NNIE(Neural Network Inference Engine),能够高效运行神经网络推理任务。YOLO(You Only Look Once)是一种实时目标检测算法,在嵌入式设备上的应用需求日益增长。 以下是基于 Hi3516DV300 的 YOLO 实现方案: --- #### 工程源码与工具链支持 可以参考开源项目 `hi3516dv300_nnie-yolov3-demo` 提供的工程源代码[^1]。该项目实现了 YOLOv3 在 Hi3516DV300 上的具体部署流程,包括模型转换、编译环境搭建以及实际测试案例。 --- #### SDK 内容说明 根据官方文档描述[^2],Hi3516DV300/CV500 SDK 中包含了以下核心组件: - **NNIE 推理引擎**:用于加载并运行经过优化的目标检测模型。 - **图像处理库**:提供基础的图像预处理功能,如缩放、裁剪等操作。 - **示例程序**:提供了多个针对不同应用场景的样例代码,便于开发者快速上手。 这些资源对于理解如何配置开发环境至关重要。 --- #### 完整实现路径 为了成功部署 YOLO 模型至 Hi3516DV300 平台,需遵循如下技术路线图][^[^34]: 1. **选择合适的 YOLO 版本** - 当前主流版本有 YOLOv3 和 YOLOv5。由于硬件兼容性和性能考量,推荐优先尝试 YOLOv3。 2. **模型转换** - 将训练好的 PyTorch 或 TensorFlow 格式的 YOLO 模型导出为 ONNX 文件。 ```bash python export.py --weights yolov3-spp.pt --img-size 640 --batch-size 1 ``` - 使用 Caffe 进一步将 ONNX 文件转化为 `.prototxt` 和 `.caffemodel` 文件。 3. **适配 NNIE 格式** - 利用 RuyiStudio 工具导入上述生成的 Caffe 模型文件,并将其转为适合 Hi3516DV300 的 `.wk` 模型格式。 - 继续通过交叉编译工具链把 `.wk` 文件进一步加工成最终所需的 `model.o` 文件形式。 4. **集成到应用程序中** - 修改 sam_comm_nnie.c 文件中的绘图逻辑部分来满足自定义显示效果的需求[^4]。 - 编写主控程序调用 NNIE API 执行预测过程,并解析返回的结果数据。 5. **验证与调试** - 借助 MobaXterm 等远程终端软件连接到开发板进行联调工作。 - 对整个流水线进行全面的功能性检验直至达到预期精度指标为止。 --- #### 总结 综上所述,借助公开可用的学习材料和技术手段完全可以顺利完成 Hi3516DV300 设备之上关于 YOLO 类别物体识别系统的构建作业。希望以上分享能给正在探索此方向的朋友带来一定启发作用! ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值