图像识别——强大的低功耗嵌入式AI方案海思Hi3519AV100介绍

海思Hi3519AV100是2018年10月在北京安防展展会上第一次进入我们视线的,然后11月初北京一家公司委托我们先研究一下,并从代理拿到初始版本的SDK资料,本人认真看了芯片DATASHEET,当时发觉比公司主推的Hi3519V101+Intel Movidius Myriad 2 MA2450强大,就决定动手做这个芯片方案,为了降低风险,我们只能先出自己的V1.0版本开发板玩玩,等软件工程师和硬件工程师调试SDK软件跑起来,我们才答应北京客户,进行Hi3519AV100项目定制。2019年1月底样机回来,能跑Hi3519AV100 的SDK程序,我们就立刻动手给北京客户定制Hi3519AV100的产品,反而本公司的对外销售的开发板没那么快出来,客户定制优先。本公司2019年3月份才对外出售Hi3519AV100方案的开发板,博客这边一直没多少时间来打理,去年写《图像识别VPU——易用的嵌入式AI支持深度学习平台介绍》里面介绍了Hi3559A这个更强悍的嵌入式AI平台,但是由于海思不对小公司开放SDK资源,我们就没必要这里详细介绍。

时间来到2019年6月,发觉这个上半年推出很多价格适中低功耗嵌入式AI方案,比较有代表性的:

英伟达的JETSON NANO

(JETSON TX1的简化版本,注意是TX1的简化,核心板把价格降低到1000元内,性能是相当不错,不过看到那个散热片我们就不考虑了。当然如果你的产品放在室内使用,这个NANO还是相当不错的,因为性能强大是摆在那里的)

GOOGLE的CORAL USB(TPU)加速棒

)GOOGLE 的CORAL USB 这个TPU性能也是相当强悍,我们还没玩过,不好评论,也是学人家Intel Movidius NCS加速棒模式)

瑞芯微RK3399PRO,RK1808加速棒

(RK3399PRO的AI核就和Hi3519AV100 NNIE的AI相当类似,ARM 方面的性能RK3399PRO比Hi3519V100强悍,功耗比Hi3519AV100大多了,用在室外我们还是不敢拿来给客户做产品,RK1808加速棒也是学人家Intel Movidius NCS加速棒模式)

百度基于赛灵思Zynq的EdgeBoard(比较贵)

还有RISC-V+KPU低成本方案(超级便宜)

加上去年主推的Intel Movidius Myriad X MA2485(今年才发布支持树莓派OpenVINO开发包,本人上个月才在树莓派3和RK3288平台上面跑通车牌识别和人脸识别的例子,基于l_openvino_toolkit_raspbi_p_2019.1.094 包,本公司VPU模组板子正在做)

说实在的,我们小公司精力也有限,有现成的客户定制,就做对应的芯片方案,其他没时间折腾,而且Hi3519AV100软硬件资料SDK比较容易搞到手。详细介绍Hi3519AV100前,我们这里提示一下:

海思芯片命名比较头疼(很多客户反馈),单单在安防监控IPC网络摄像机领域,Hi3519AV100和Hi3519V101、Hi3519V100性能相差非常遥远,我们图-2看到Hi3519AV100不单单是双核CORTEX-A53+IVE,而且增加支持深度学习的NNIE和DSP;Hi3519V101只是CORTEX-A17+CORTEX-A7+IVE组合而已,不带支持深度学习的加速引擎,所以本公司去年推出的Hi3519V101 +VPU,就是必须外加Intel Movidius Myriad 2 MA2450 VPU芯片才能跑Caffe深度学习算法(必须是C/C++程序),而最差劲的Hi3519V100已经停产,这3个Hi3519芯片型号工艺制程不一样,所以性能就不一样。都叫Hi3519,但是后缀的字母和数字不一样,性能相差非常大,很多客户被搞晕了。在做IPC(网络摄像机)产品方面,海思还有一个性价比很高的型号叫Hi3516,这个型号衍生至少9个后缀,性能也相差非常大,这里就不多说了,见海思官网:http://www.hisilicon.com/en/Products/ProductList/Surveillance 。其他拿来做NVR-DVR-机顶盒-手机等等型号这里也不描述,我们这里只关注图像识别的平台。

Hi3519AV100我们可以从下图图-1看看Hi3519AV100应用框图。

图像识别——强大的低功耗嵌入式AI方案海思Hi3519AV100介绍

图-1 Hi3519AV100应用框图

Hi3519AV100是一颗面向监控 IP 摄像机、运动相机、全景相机、后视镜、航拍无人机、双目机器人等多个产品领域推出的高性能、低功耗的 4K Ultra HD Mobile Camera SOC(台积电12nm工艺)。

Hi3519AV100 MIPI接口4-LANE模式可以同时接3个CMOS SENSOR, 2-LANE模式可以同时接5路CMOS SENSOR。内置高性能全景拼接引擎,可实现4K级的2~4实时视频全景拼接。主摄像头 ISP0支持4K x 2K(3840 x 2160)@30fps 编码,用于 SD 卡存储 + 1080p@30fps 子码流编码并通过网口或 USB 送给无线传输模块。ISP1/2 接向双目摄像头,采用 DPU 模块提取双目深度图,送飞控 MCU 用于避障。ISP3/4 接朝下的单目或双目摄像头,在 向量DSP 运行 SLAM 算法,计算结果送飞控MCU 用于悬停。

NNIE (寒武纪AI核)是一个强大的可编程神经网络推理引擎,用于运行人脸识别/检测、目标检测或手势识别算法。

图像识别——强大的低功耗嵌入式AI方案海思Hi3519AV100介绍

图-2 Hi3519AV100芯片内部结构图

从上图-2我们可以看到Hi3519AV100还是比较强悍的:

1、2*ARM Cortex A53@1.5GHz,32KB I-cache,32KB Dcache /256KB L2 cache

2、支持 Neon 加速,集成 FPU 处理单元

3、DSP集成Tensilica Vision P6 DSP@630MHz,32KB I-Cache/32KB I-RAM/512KB Data RAM, 0.3Tops 神经网络运算性能,支持 Huawei LiteOS

4、支持DDR4

图像识别的芯片现在最差的都得备DDR3的内存了,而Hi3519AV100是外接DDR4 内存芯片,深度学习访问内存速度是很关键的指标,DDR3还是比较落后。

5、NNIE

支持 AlexNet、VGG、ResNet、GoogLeNet 等多种分类神经网络

支持 Faster R-CNN、SSD、YoloV2 等多种目标检测神经网络

2.0Tops 神经网络运算性能

支持完整的 API 和工具链(编译器、仿真器),易于适配客户定制网络

(做过深度学习算法的朋友对上面列的算法应用很熟悉了,呵呵)

Hi3519AV100板上集成NNIE核支持深度学习:

加速引擎 NNIE 是一款基于 CNN、RCNN 等神经网络结构的深度学习专用加速器,可

用于图片分类、目标检测等应用场景。

NNIE性能:

支持深度学习算法AlexNet、VGG、ResNet、GoogLeNet 等多种分类神经网络

支深度学习算法Faster R-CNN、SSD、YoloV2 等多种目标检测神经网络

2.0Tops 神经网络运算性能

支持完整的 API 和工具链(编译器、仿真器) ,易于适配客户定制网络

NNIE 加速引擎特性如下:

支持 N * N 卷积

支持 Pooling(Max 和 Average)

支持 Stride

支持 Pad

支持激活函数(Relu、Sigmoid 和 TanH)

支持 LRN 运算

支持 BN(Batch Normalization)

支持向量与矩阵的乘加运算(Inner Product)

支持 Concat

支持 Eltwise

支持 8bit 的数据与参数模式

支持数据与参数位宽可配置

支持参数压缩和参数稀疏

支持输入图像为单通道(灰度图)和三通道(RGB 格式)

支持图像预处理(均值化和像素值缩放)

支持图像批处理

支持中间层结果上报

在海思SDK开发包的路径:Hi3519AV100R001C02SPC010\ReleaseDoc\zh\01.software\board\SVP下面,有一个《HiSVP 开发指南.pdf》和《HiSVP API 参考.pdf》

(提示:这些资料不得对外随便公布,必须采购华为海思Hi3519AV100芯片得到代理授权拿到资料,才能在公司内部公开的,所以本人也遵守一定原则)

图像识别——强大的低功耗嵌入式AI方案海思Hi3519AV100介绍

图-3 Hi3519AV100 NNIE介绍1

图像识别——强大的低功耗嵌入式AI方案海思Hi3519AV100介绍

图-4 Hi3519AV100 NNIE介绍2

图像识别——强大的低功耗嵌入式AI方案海思Hi3519AV100介绍

图-5 Hi3519AV100 NNIE开发流程

我们从以上3个图片可以看到一些深度学习的算法的知识,深度学习模式训练和开发都是在PC端或者借助云端来处理,而最终程序是放在SoC Hi3519AV100板子上面运行,总之内容很多很大,这里就不搬弄过来了。

Hi3519AV100板上集成向量DSP:

向量DSP (Tensilica Vision P6 DSP@630MHz, 0.3Tops 神经网络运算性能)是给视觉处理加速的专用处理器,具有可编程的能力,基于 DSP 既可以开发供智能分析算法用的一系列基础运算功能,也可以实现复杂的算法。Hi3519AV100 支持 1个 向量DSP.

DSP 有如下主要规格点:

支持标量定点和浮点运算;

支持矢量定点和(单精度)浮点运算;

支持直方图统计加速;

支持 Gather/Scatter 操作;

支持 ICache 大小为 32KB,不支持数据 DCache;

支持 32KB 大小的 IRAM;

支持总共 512KB 大小的 DRAM,DRAM0 和 DRAM1 各 256KB;

支持 18 个电平触发中断;

支持 Input Queue 和 Output Queue;

支持内置 IDMA 用于在片上 DRAM 和 DDR 之间交换数据;

支持 JTAG 调试。

Hi3519AV100板上集成DPU:

DPU(Depth Process Unit)对输入的左图像和右图像经过校正和匹配计算得出深度图。

DPU 有如下主要规格点:

支持校正和匹配,可同时使用,也可单独使用;

支持左图和右图同时校正;

支持最大分辨率 1080P;

支持最大搜索视差数目 224;

支持起始视差可配置,范围 0~64;

只支持单分量输入;

支持亚像素深度图输出;

只支持以右图为参考图像,左图作为搜索图像;

匹配支持左图宽度大于右图宽度;

校正支持左图和右图分辨率不同,输入输出分辨率不同。

Hi3519AV100板上集成IVE:

IVE (Intelligent Video Engine)模块提供智能分析算法中所用到的一系列基础运算功能,以及部分耗时较大的特殊功能,是智能分析系统中的硬件加速模块。支持 IVE 2.1 智能算子,支持特征点检测、光流、计算机形态学处理等多种算子硬件加速。

IVE 模块支持如下功能特点:

DMA:支持直接拷贝、间隔拷贝、内存填充。

Filter:支持 5×5 模板滤波。

CSC:支持 YUV2RGB、YUV2HSV、YUV2LAB、RGB2YUV 颜色空间转换。

FilterAndCSC:支持 5×5 模板滤波和 CSC 的复合功能。

Sobel:支持 5×5 模板 Sobel-like 梯度计算。

MagAndAng\Canny:支持 5×5 模板梯度幅值和幅角计算、Canny 边缘提取。

Erode:支持 5×5 模板腐蚀。

Dilate:支持 5×5 模板膨胀。

Thresh\Thresh_S16\Thresh_U16:支持图象阈值化处理。

And\Or\Xor:支持两幅图象相与、或、异或。

Add\Sub:支持两幅图象相加权加、减。

Integ:支持积分图计算。

Hist:支持直方图统计。

Map:支持对图像通过 256 级 map 映射赋值。

16BitTo8Bit:支持 16bit 数据到 8bit 数据线性转换。

OrdStatFilter:支持顺序统计量滤波:中值滤波、最大值滤波、最小值滤波。

NCC:支持两相同大小图像互相关系数计算。

CCL:支持连通区域标记。

GMM:支持灰度图与 RGB 图的混合高斯背景建模。

LBP:支持简单局部二值模式计算。

NormGrad:支持归一化梯度计算。

LKOpticalFlow:支持 LK 光流跟踪。

STCorner:支持 ShiTomasi 角点检测。

GradFg:支持梯度前景运算。

MatchBgModel\UpdateBgModel:支持背景匹配、背景更新。

ANN_MLP_Predict:支持 ANN_MLP 预测。

SVM_Predict:支持 SVM 预测。

SAD:支持分块计算两幅图像对应像素差值绝对值的累加和。

Resize:支持双线性、区域图像缩放。

GMM2:支持灰度图、RGB 图的快速混合高斯背景建模。

CNN_Predict:支持卷积神经网络计算。

支持单独进行软复位。

支持 SP400、SP420 (semi-plannar 420)、SP422 (semi-plannar 422)、package、planar

等输入格式。

支持 SP400、SP420、SP422、package、plannar 等输出格式。

部分算子支持读写地址非 16-byte 对齐。

在海思SDK开发包的路径:Hi3519AV100R001C02SPC010\ReleaseDoc\zh\01.software\board\SVP下面,有一个《HiIVE API 参考.pdf》;解压SVP_PC.rar里面的HiIVE_PC_V2.1.0.7_64bit.tar.gz,也得到《HiIVE工具使用指南.pdf》

(提示:这些资料不得对外随便公布,必须采购华为海思Hi3519AV100芯片得到代理授权拿到资料,才能在公司内部公开的,所以本人也遵守一定原则)

Hi3519AV100视频输入接口介绍:

支持 12-lane Image Sensor 串行输入,支持 MIPI/subLVDS/HiSPI/SLVS-EC 多种接口;

最大可支持 5 路 Sensor 串行输入;

支持12-lane/8-lane+4-lane/4-lane+4×2-lane等多种组合方式;

最大输入分辨率:7680×4320;

支持 10/12/14 bit Bayer RGB DC 时序视频输入;支持 BT.656、BT.1120 视频输入;

支持通过 MIPI 虚拟通道输入 1~4 路 YUV。

Hi3519AV100 ISP与图像处理介绍:

ISP 支持多路时分复用,可处理多路 sensor 输入视频;

支持 3A(AE/AWB/AF)功能,3A 参数用户可调节;

支持去固定模式噪声(FPN);

支持两帧曝光 WDR 及 Local Tone Mapping,支持强光抑制、背光补偿;

支持坏点校正、镜头阴影校正;

支持多级 3D 去噪,提供优秀的低照度图像效果,去除运动拖尾和色噪;

支持 3D-LUT 色彩调节;

支持图像动态对比度增强及边缘增强处理;

支持色差校正(CAC)及去紫边;

支持去雾;

支持 6-Dof 数字防抖及 Rolling-shutter 校正;

支持镜头畸变几何校正及鱼眼矫正;

支持图像 90 度/270 度旋转;

支持图像 Mirror、Flip;

支持多路缩放输出,缩放倍数:1/15.5~16x;

支持最大 8 个区域的编码前处理 OSD 叠加;

提供 PC 端 ISP 调节工具。

Hi3519AV100其他功能介绍

支持H.264/H.265编码和解码;

支持HDMI2.0输出接口;

支持视频拼接硬件加速引擎;

支持音频接口,集成 Audio codec,支持 16bit 语音输入和输出;

支持音频编码和解码;

支持1000M网口;

Hi3519AV100功耗

台积电12nm工艺;(这个12nm工艺确实很不错)

典型场景(4K x 2K(3840 x 2160)@30fps编码+ 神经网络算法)功耗:1.9W

支持多级省电模式;

最大功耗场景:环境温度70°,结温110°,运行4K +神级网络等等模块全部打开:功耗2.9W,不过这种情况几乎很少出现。

Hi3519AV100工作温度

温度范围:-25°C——70°C,商业级,本公司高低温实际测试结果。

Hi3519AV100 SDK包

Hi3519AV100的SDK包需要安装在ubuntu16.04 LST 64bit环境,这里就不累赘,SDK包里面有介绍如何安装SDK,简单的几个命令。不过这里还是提醒一下从来没安装过海思SDK包的朋友,由于在ubuntu16.04 LST 64bit环境,下面几个命令需要做的:

使用root登录ubuntu,

1、./sdk.unpack: run_command_progress_float: not found dpkg-reconfigure dash,选择no

2、/bin/sh: /opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-size: No such file or directory

apt-get install lib32z1-dev

3、”mkimage” command not found – U-Boot images will not be built

apt-get install u-boot-tools

4、/usr/bin/ld: cannot find -lncurses

apt-get install libncurses5-dev

5、makeinfo: command not found

apt-get install texinfo

最后提到Hi3519AV100 SDK包里面的SVP_PC

1) HiIVE_PC_Vx.x.x.x.rar

IVE PC端组件包,包含/tool目录,文档《HiIVE工具使用指南.pdf》

2) HiSVP_PC_Vx.x.x.x.rar

SVP PC端组件包,包含include/lib/sample/tool

3) HiDPU_PC_Vx.x.x.x.rar

DPU PC端组件包,包含tool

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:图像识别——强大的低功耗嵌入式AI方案海思Hi3519AV100介绍 https://www.yhzz.com.cn/a/15237.html

上一篇 2023-05-12
下一篇 2023-05-12

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。