18.luck新利
的意见

嵌入式软件框架要求的愿景

关键因素时要考虑选择嵌入式视觉系统。

受欢迎程度

深度学习技术,如卷积神经网络(CNN)大大提高了精度,因此采用的嵌入式视觉为嵌入式系统。从AlexNet赢得2012 ImageNet大规模视觉识别的挑战(ILSVRC),深度学习改变了市场大大减少图像分类和检测任务的错误率(图1)。深度学习也改变了嵌入式视觉是如何实现的。CNN图不是“程序”——“训练”使用一个软件框架,然后映射到嵌入式视觉硬件。


图1:ImageNet大规模视觉识别的挑战的结果表明,深度学习超越人类的精度水平。

嵌入式视觉系统必须提供GPU的性能等价系统的一小部分力量和死区。嵌入式视觉应用程序高度优化的异构系统,这意味着他们处理单元进行优化的具体任务:一个标量控制单元,一个向量单位为像素处理,一个专门的CNN引擎执行深度学习网络。这些单位,特别是针对嵌入式视觉应用程序进行了优化,为最小的区域提供出色的性能和权力。当评估软件框架对于最终的视觉应用程序,要求在可用性、分辨率,图像映射工具,优化硬件应该考虑的选项。

基础知识:支持软件框架
第一个问题问考虑嵌入式视觉系统时,“哪个软件框架的支持?“并不是所有的软件框架支持的嵌入式视觉系统工具。最好的选择是最受欢迎的,比如咖啡和Tensorflow,但他们不是最初设计时考虑到嵌入式视觉系统。深层神经网络训练一直有针对性的CPU和GPU的解决方案可以很容易地接受32位浮点系数。Khronos组织正在推动一个新的共同的标准,但它不是完全采用。

一些决议面积和性能
嵌入式设计更多考虑在使用一个软件框架培训CNN图嵌入式视觉处理器。设计师必须注意的一些解决CNN计算,可能硬件优化考虑在训练,以及如何最好地利用新的系数或特性映射修剪和压缩技术。

仔细分析的基础上受欢迎的CNN图表,Synopsys对此已确定,许多CNN计算常见分类图可以用8位精度达到良好的精度。然而有一些图表,要求10到12位分辨率达到相同的精度浮点成果GPU。CNN引擎DesignWare EV6x嵌入式视觉处理器使用高度优化的12位乘法(图2)。嵌入式系统需要吝啬在内存大小太多内存增加了成本和功耗。咖啡图与32位浮点输出可以被映射到Synopsys对此12位CNN架构没有精度损失。Synopsys对此CNN引擎也支持8位乘数来支持图形训练了8位。

软件框架开始更多关注嵌入式系统,因此它将成为可能的训练图具体的一些决议。


图2:DesignWare EV6x视觉处理器包括1到4标量和矢量单位以及专用,CNN紧密集成引擎。

图映射工具和特性
图映射工具转换的关键软件框架到适当的输出分辨率的嵌入式视觉处理器。培训期间,图映射工具转换系数和图表的软件框架为部署嵌入式视觉系统识别的格式(图3)。



图3:训练和部署/推论阶段。

硬件优化
设计师可以根据硬件进行优化训练中。说你的硬件是更好的优化一定卷积的大小。例如,如果3×3和5×5旋转MAC利用率比4×4或其他配置,您可以选择使用某些卷积大小在训练中获益。为了获得这些好处,做培训的人必须连接到硬件平台的选择。这往往并非如此。

随着新的CNN图技术提高了准确性,他们还增加层数,因此系数所需的数量。系数要求越多,更多的内存存储、内存传输带宽,和MAC操作是必需的。同样,这些影响权力和模具尺寸。新技术降低系数的数量,同时保留图精度涉及系数修剪和减压。图修剪技术,李子或零系数接近于零。修剪是一个迭代的过程,必须完成的培训,因为它需要访问数据集。修剪可以显著减少对美国有线电视新闻网图计算和带宽。修剪是有效的,嵌入的CNN引擎必须支持减压处理不规则修剪而导致的网络连接。

结论
视觉技术支持范围广泛的应用程序,比如增强/虚拟现实,自动化无人控制,智能监控,提供智能和响应能力。深入学习软件框架为嵌入式视觉实现被嵌入到更大的soc,和应用程序整合深度学习技术将继续是一个有吸引力的视觉方法在特定市场开发人员。充分利用深度学习,软件开发人员需要检查他们正在考虑的软件框架的许多方面,包括最后的硬件部署。



留下一个回复


(注意:这个名字会显示公开)

Baidu