公司玩了大半年的嵌入式AI平台,现在产品进入量产模式,也接触了很多嵌入式方案,有了一些心得体会,本人不才,在这里介绍一下一款简单易用的嵌入式AI方案——Movidius Myriad 2 VPU(MA2450) 和 Myriad X VPU(MA2485)。这里本人重点提示:简单易用的嵌入式AI。现在好多家半导体厂商已经推出嵌入式AI平台,比如华为海思今年4月份发布的Hi3559A,这个样品超过100美金/片,集成寒武纪AI核(遗憾不是最新的版本,因为最近寒武纪又发布最新的AI版本,同时还集成大名鼎鼎Cadence的 4核DSP);赛灵思Xilinx的FPGA—— Zynq 7020,ZU2CG开发难度大,价格不菲,还有其他家的ARM+FPGA方案也不便宜,开发难度也不小;英伟达的GPU——JETSON TX2,TX2核心板英伟达自己生产,价格太贵,不适合产品小型化生产;TI 的TDA2x系列和DAVINCI系列最新的DM505,以及后续的版本,专注辅助驾驶ADAS,他的64bit浮点DSP C66X+EYE也支持深度学习(不要小瞧这个EYE,深度学习方面一个EYE可比2个C66X 浮点DSP还牛),不过功耗太高,软件资源也不好搞到,海掏买美国D3公司DEMO板价格不菲,而且没技术支持开发周期过长,价格也不便宜。鉴于本公司的资源(小公司),我们选择了Intel的Movidius Myriad 2,在软件资源方面,Intel推出神经计算棒的免费NCSDK,这个软件资源让很多公司看到嵌入AI领域的希望,这一手Intel做得不错,很多公司都在嵌入式开发板树莓派3上面加这个神经计算棒学习,销售比较火爆。当然如果要拿到完整的MDK,直接使用Myriad 2 VPU和Myriad X VPU做控制器(比如直接使用片上LEON4运行客户软件,直接接CMOS SENSOR,接网口芯片,4K H.264和H.265编解码,USB,PCIE,SPI,I2C,UART控制等等),那就得花超过100---400万RMB不菲的门槛费,这些就是中大型公司的玩法,这点钱无所谓。

Movidius Myriad 2 VPU (Vision Processing Unit——视觉处理器)被称作为“第三次影像革命的开端”的芯片方案。Movidius 已经被Intel收购,Intel Movidius Myriad 2 VPU可在不同目标应用中提供低功耗、高性能的视觉处理解决方案,其中包括嵌入式深度神经网络、位姿估计、室内导航、3D深度感应、3D制图(3D扫描建模),视觉惯性测距,以及手势/眼部跟踪,基于深度学习的环境感知。

安防巨头海康和大华把Movidius Myriad 2(MA2450)视觉处理单元应用于视频监控摄像头,在完成监控和录制等传统任务外,提供人群密度监测、立体视觉、面部识别、人数统计、行为分析以及检测非法停放车辆等先进的视频分析功能。Myriad 2为大疆最近发布的首款迷你无人机Spark提供了视觉智能技术,该无人机早就大批量生产。

这颗芯片被一分为二,其中一部分有12个SHAVE 128位处理器,专为影像处理负载做优化,每颗都运作在600MHz的频率下,而且有超频潜能,第一代的180MHz显然是不够看的;与这些处理器相匹配的是Movidius称之SIPP过滤器(Streaming Inline Processing Pipeline filters)的硬件加速器——这玩意儿可完成一些预设的影像处理任务,比如将来自不同类型摄像头的数据融合到一起,或者将多个视频内容接合到一起;另外还有2个32位RISC处理器用于芯片管理,这就是LEON4(LEON是一款32位RISC处理器,支持SPARC V8指令集,由欧洲航天总局旗下的Gaisler Research开发、维护,目的是摆脱欧空局对美国航天级处理器的依赖。LEON的主要产品线包括LEON2、LEON3、LEON4)。SHAVE这一端对原始影像数据做计算处理,OEM厂商可以选择不同的方案;SIPP则可协力处理通常任务;集中型的寄存器结构令芯片两侧可同时对相同的数据做处理。这些对于降低延迟是相当有价值的。

鉴于这样的架构设计,Myriad 2 VPU芯片面积是6.5mm,厚度1mm,具体的性能则是可以48fps的帧率同时处理来自12个1300万像素摄像头的数据,以60fps拍摄4K视频自然也是毫无压力,功耗低于0.5W(台积电28nm HPC工艺)。按照El-Ouazzane的说法,相比能够提供同等效果的GPU,Myriad 2的功耗低了最少10倍。

深度学习框架方面,支持Caffe,Caffe的全称是Convolutional Architecture for Fast Feature Embedding,作者是博士毕业于伯克利的浙江人贾扬清,它是一个清晰、高效的开源深度学习框架,核心语言是C++,支持命令行、Python和Matlab接口,既可以在CPU上运行也可以在GPU上运行。同时也支持Google的TensorFlow。所以C/C++、Python程序员可以快速切入深度学习的架构去工作。所以说,支持深度学习易用的嵌入式平台,非VPU莫属。前面提到的Intel Movidius神经元棒,包括他们提供的免费NCSDK软件包,可以满足那些C/C++程序员、Python程序员轻松在WIN下直接开发AI软件,也可以在ubuntu下直接开发软件,很方便,而在嵌入式前端,同样也可以支持NCSDK软件包,玩得好Caffe和TensorFlow应该很快上手进行算法优化和设计。

而2017年推出的Movidius Myriad X(MA2485)超级NB,Myriad X将提供十倍于Myriad 2同样功率范围内深层神经网络(DNN)的性能。

Myriad X 有4个可C编程的128位VLIW矢量处理器和可配置的MIPI通道,并扩展了2.5 MB的芯片内存和更多的固定功能成像/视觉加速器。就像在Myriad X中发现的一样,Myriad X的矢量单位都是专有的SHAVE (流混合的架构矢量引擎)处理器,对计算机视觉工作负载进行了优化。Myriad X也支持最新的LPDDR4,MA2085变体只配置了外部存储器接口。

Myriad X的另一个新功能是4K硬件编码,4K在30Hz(H.264/H.265)和60 Hz(M/JPEG)支持。从接口上看,Myriad X带来了USB 3.1和PCIe 3.0支持,这两个都是Myriad VPU家族新支持的接口。与Myriad 2一样,所有这些都是在同一个小于2W的功率范围中完成的,更具体地说是在1W以内,使用台积电16nm FFC工艺。所以说,在如此低功耗下就能完成很多视频处理和深度学习,前面提到的几个平台根本无法做到。

从目前前端图像识别市场反馈的角度看,这个Myriad 2 VPU(MA2450) 和 Myriad X VPU(MA2485)芯片出货量比较大。还有在开发板-学习板方面,便宜的树莓派3,树莓派3+都可以直接拿神经计算棒进行深度学习算法开发,简单易用。如果是产品设计方面,本公司的VPU模组和ARM + VPU方案也可以快速出产品。以下是在本公司的HI3516D+VPU和Hi3519V101+VPU板子上面测试的结果图:

本公司开发的AI平台,是ARM+VPU组合模式,我们低端使用华为海思Hi3516A/D + VPU和高端使用Hi3519V101+VPU,国产和进口的组合,因为海思Hi3516A/D和Hi3519V101支持H.264/H.265编解码,带有ISP,还带有一个IVE(智能视频分析算法加速器,确切的说是传统机器视觉算法加速器),然后再加上Intel Movidius 这个支持深度学习的VPU,就是我们ARM+VPU支持深度学习平台。也就是说我们的平台同时支持传统机器视觉算法+深度学习算法,而且还支持H.265编解码,海思Hi3516A/D和Hi3519V101的IVE支持的功能如下:

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

★Filter:支持 5x5 模板滤波。

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

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

★Sobel:支持 5x5 模板 Sobel-like 梯度计算。

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

★Erode:支持 5x5 模板腐蚀。

★Dilate:支持 5x5 模板膨胀。

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

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

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

★Integ:支持积分图计算。

★Hist:支持直方图统计。

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

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

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

★Bernsen:支持 Bernsen 二值化。

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

★CCL:支持连通区域标记。

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

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

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

★LKOpticalFlow:支持 LK 光流跟踪。

★STCorner:支持 ShiTomasi 角点检测。

★GradFg:支持梯度前景运算。

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

★ANN_MLP_Predict:支持 ANN_MLP 预测。

★SVM_Predict:支持 SVM 预测。

★支持单独进行软复位。

★支持 128bit AXI 总线和 32 bit APB 总线。

★支持链表级中断、节点级中断和超时中断。

★支持 SP 400、 SP420 (semi-plannar 420)、 SP422 (semi-plannar 422)、 package、

planar 等输入格式。

★支持 SP 400、 SP420、 SP422、 package、 plannar 等输出格式。

这些功能直接集成在芯片内部,通过加载LIB和函数调用就可以使用了,不需要ARM来运算。搞过传统算法的人对上面列的内容应该很熟悉,这里就不累赘。

至于Hi3519V101+VPU的开发攻略,本人不打算写了,因为海思的SDK包里面的手册就写得很详细了,VPU移植到ARM平台的NCSDK软件Intel官网也有,本人现在没有深入去研究,都是员工在搞,在这里写出来就比较班门弄斧。

下图就是Hi3519V101 SDK的里面的文档,看了这些详细的文档,有点嵌入式底子的工程师应该知道如何搭建环境、编译、和烧写了。

下面图片是我们自己做的嵌入式VPU模块和嵌入式Hi3519V101+VPU核心板硬件,没有硬件平台支持,再好的算法也不能转化价值。还有这个VPU支持Google的TensorFlow,这个对Python程序员应该很快进入嵌入式AI开发角色,而不是停留在PC端和服务端,现在很多大公司和有前沿实力的创业公司都往前端布局,嵌入式AI平台会越来越火,特别是LPDDR5出来的时候,会使嵌入式AI芯片的带宽大大提升,这样更加支持算法度更复杂的深度学习算法。

(项目双赢合作,联系QQ:2505133162)

semiplannar 什么是_图像识别VPU——易用的嵌入式AI支持深度学习平台介绍相关推荐

  1. 图像识别VPU——易用的嵌入式AI支持深度学习平台介绍

    公司玩了大半年的嵌入式AI平台,现在产品进入量产模式,也接触了很多嵌入式方案,有了一些心得体会,本人不才,在这里介绍一下一款简单易用的嵌入式AI方案--Movidius Myriad 2 VPU(MA ...

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

    强大的低功耗嵌入式AI方案海思Hi3519AV100介绍 海思Hi3519AV100是2018年10月在北京安防展展会上第一次进入我们视线的,然后11月初北京一家公司委托我们先研究一下,并从代理拿到初 ...

  3. 06.图像识别与卷积神经网络------《Tensorflow实战Google深度学习框架》笔记

    一.图像识别问题简介及经典数据集 图像识别问题希望借助计算机程序来处理.分析和理解图片中的内容,使得计算机可以从图片中自动识别各种不同模式的目标和对象.图像识别问题作为人工智能的一个重要领域,在最近几 ...

  4. 深度学习术语_您应该意识到这些(通用)深度学习术语和术语

    深度学习术语 术语 (Terminologies) 介绍 (Introduction) I've recently gone through a set of machine learning-bas ...

  5. 疲劳驾驶样本集_无人驾驶技术入门(十六)| 初识深度学习之交通标志分类

    前言 在上两期的<无人驾驶技术入门>中,我以车道线检测为例,介绍了计算机视觉领域一些基本的算法.应用图像处理算法和调试算法阈值,就能实现车道线的检测和跟踪. 车道线检测.跟踪的项目,主要是 ...

  6. retinanet 部署_目标检测RetinaNet_飞桨-源于产业实践的开源深度学习平台

    目标检测-RetinaNet 类别 计算机视觉(PaddleCV) 应用 图像搜索 安防监控 自动驾驶 智慧城市 机器人视觉 模型概述 经典的一阶段框架,由ResNet主干网络.FPN结构.和两个分别 ...

  7. matlab能做深度图像的识别吗,Matlab图像识别/检索系列(6)-10行代码完成深度学习网络之基于CNN的图像分类...

    在Matlab2017中,完成一个使用CNN网络进行分类的示例非常简单.为了便于创建图像集,Matlab2015引入了ImageDatastore对象,实现函数为imageDatastore,该函数可 ...

  8. 全文检索技术_中药图片拍照识别系统,爬虫、深度学习技术android app 源码分享...

    说明 当前项目是中药识别APP的后端工程,提供纯数据接口:移动端请移步中药图片拍照识别系统-移动APP端. 项目介绍 本项目包含五个模块: admin:服务器端 medicine-collection ...

  9. java五子棋代码详解_代码详解:Java和Valohai的深度学习之旅

    全文共10735字,预计学习时长22分钟或更长 有一款生命周期管理工具(也称云服务)叫做Valohai,它有着友好的用户界面和简洁的布局设计. 许多有关Valohai的案例和文档都是基于Python和 ...

最新文章

  1. SQL点滴1—SET QUOTED_IDENTIFIER OFF语句的作用
  2. java 获取键盘事件,java获取键盘事件
  3. Angular filter test
  4. 操作系统基础:存储管理知识笔记(一)
  5. preview窗口 unity_Unity3D在Preview中打印日志的方法
  6. 数字化转型 数字分析_数字化转型背后的公司领先于开放的领导者
  7. 每天快走一小时,身体会有什么变化?
  8. UVA1368 UVALive3602 ZOJ3132 DNA Consensus String【贪心】
  9. ubuntu中文乱码--添加中文字符集
  10. [csp-201809-4]再卖菜 差分约束or记忆化搜索
  11. QT QComBox详细用法 自定义QComboBox控件
  12. python使用wxpy轻松实现微信防撤回
  13. splice,splite,slice的区别
  14. 【导航链接】计算机科研学习
  15. [思考的乐趣] 有趣的莫比乌斯带
  16. 激活函数,优化技术和损失函数
  17. 通过4A系统登录服务器,JD-4A 统一身份管理系统
  18. 117页智慧管廊数字管道建设整体技术方案
  19. HTML菜单栏点击后变色,菜单怎么实现点击后变色_html/css_WEB-ITnose
  20. 飞思网巡软件系列 产品安装手册

热门文章

  1. Clickhouse入门学习、单机、集群安装部署
  2. Windows10 邮箱批量导入联系人
  3. pyscripter支持python什么版本_PyScripter|PyScripter(Python集成开发环境)下载v3.4.2.0官方版64位/32位 - 欧普软件下载...
  4. C++入门:构造函数,析构函数,拷贝构造函数,运算符重载详解
  5. 电子邮件营销有哪些方法?
  6. HBuilder webApp开发(十)在线差异化升级
  7. python乘法函数_乘积(python乘法函数)
  8. 你知道豆瓣电影是怎么评分的吗?(实战篇—手把手教你分析豆瓣电影)
  9. 修改谷歌浏览器缓存位置总结
  10. ps打开图片的三种方式 同步部分基本操作方式