广告

机器学习提升嵌入式视觉应用

时间:2017-07-24 01:57:38 作者:Nick Ni和Adam Taylor,Xilinx 阅读:
机器学习将持续作为众多应用的重要推动因素,尤其是视觉导向的机器人或所谓的“协作机器人”应用。结合处理器核心与可编程逻辑的异质SoC,能打造出高效且可重配置的解决方案。
广告

在目前的嵌入式视觉领域中,最热门的话题之一就是机器学习(machine learning)。机器学习涵盖多个产业重要趋势,不仅是嵌入式视觉(Embedded Vision;EV),而且在工业物联网(IIoT)和云端运算中均发挥极为显著的作用。

对于不熟悉机器学习的人来说,很多时候机器学习是透过神经网络的创造和训练而实现的。神经网络(neural network)一语极为通用,包含大量截然不同的子类别。这些子类别的名称一般用于辨识被实现的具体网络类型。这些网络在大脑皮层上建模,大脑皮层中每个神经元接收输入、处理后并将其传达给另一个神经元。因此,神经元一般由输入层、多个内部隐藏层和一个输出层组成。

在最简单的层面上,神经元取得输入、施加权重给输入,然后在加权输入总和上执行传递函数。其结果随后传递至隐藏层中的另一层,或传递给输出层。将某一阶段的输出传递给另一阶段而不形成一个周期的神经网络被称为“前馈神经网络”(FNN),而那些存在反馈、内含定向周期的神经网络则被称为“循环神经网络”(RNN)。
20170721_Xilinx_TA31P
图1:简单的神经网络

在众多机器学习应用中极为常用的神经网络之一是“深度神经网络”(DNN)。这类神经网络拥有多个隐藏层,能实现更复杂的机器学习任务。为了确定每一层使用的权重和偏差值,必须对神经网络进行训练。在训练过程中,为该神经网络施加一定数量的正确输入和错误输入,并使用误差函数教授网络所需的性能。训练深度神经网络可能需要相当庞大的数据集,才足以正确训练所需性能。

机器学习最重要的应用之一是嵌入式视觉领域,其中,各类系统正从视觉实现的系统演进为视觉引导的自动化系统。相较于其他较简单的机器学习应用,嵌入式视觉应用最主要的区别在于采用二维(2D)输入格式。因此,在机器学习实施方案中,采用称为卷积神经网络(CNN)的网络结构,因为它们能够处理2D输入。

CNN是一种前馈网络,其中包含多个卷积层和子采样层以及一个单独的全连接网络,以执行最终分类。由于CNN的复杂性,它们也被归类在深度学习类别。在卷积层中,输入影像被细分为一系列重迭的小模块(tile)。在进行进一步的子采样和其它阶段之前,来自该卷积的结果先使用启动层建立启动图,然后应用到最终的全连接网络上。CNN网络的具体定义取决于所实施的网络架构,不过,一般通常至少包含下列元素:

‧卷积—用于辨识影像中的特征

‧修正线性单元(reLU)—用于在卷积后建立启动图的启动层

‧最大池化(Max Pooling)—在各层间进行子采样

‧全连接—执行最终分类

这些元素中的每一个权重都经由训练决定,而CNN的优势之一就在于训练网络相对容易。透过训练产生权重需要庞大的影像集,其中既有需要检测的对象,也有伪影像。这样能让我们为CNN建立所需的权重。由于训练过程中所涉及的处理要求,训练流程一般执行于提供高性能运算的云端处理器上。

架构

机器学习是一个复杂的课题,尤其是如果每一次都得从头开始,定义网络、网络架构以及产生训练算法。为了协助工程师实作网络和训练网络,有一些产业标准架构可供使用,例如Caffe和Tensor Flow。Caffe架构为机器学习开发人员提供各种工具库、模型以及具有C++库的预训练权重,同时提供Python和Matlab绑定。该架构能让使用者无需从头开始,就能建立并训练网络,以执行所需的运算。

为了便于重复使用,Caffe的使用者能通过model zoo共享自己的模型。Model Zoo提供多种能根据所需的专门任务实作和更新的模型。这些网络和权重定义在prototxt档案中。在用于机器学习环境时,prototxt档是用于定义推论引擎的档案。
20170721_Xilinx_TA31P2
图2:定义网络的Prototxt档案实例

实现嵌入式视觉和机器学习

基于可编程逻辑的解决方案越来越广泛地用于嵌入式视觉应用,例如异质的赛灵思(Xilinx) All Programmable Zynq-7000 SoC和Zynq UltraScale+MPSoC等多处理器SoC(MPSoC)。这些组件结合了可编程逻辑(PL)架构以及处理系统(PS)中的高性能ARM核心。这种组合形成的系统能够拥有更快的响应速度、极其灵活以便于未来修改,并且提供了高能效解决方案。

对于许多应用来说,低延迟的决策与反应时间极为重要,例如视觉导向的自主机器人,其响应时间对于避免对人员造成伤害、对环境造成破坏至关重要。增加反应时间的具体方法是使用可编程逻辑,实作视觉处理流水线,以及使用机器学习推断引擎实现机器学习。

相较于传统的解决方案,在这方面使用可编程逻辑,能够减少系统瓶颈问题。在使用基于CPU/GPU的方法时,每一阶段的运算都必须使用外部DDR,因为影像不能在有限的内部快取功能之间传递。可编程逻辑途径让内部RAM得以按需要提供缓冲,从而实现串流的方法。如此则可免于在DDR内储存中介元素,不仅减少图像处理的延迟,同时也降低了功耗,甚至提高了确定性,因为无需与其他系统资源共享存取。
20170721_Xilinx_TA31P3
图3:实现可编程逻辑的好处

在异质SoC中实现图像处理算法和机器学习网络,可透过诸如reVISION堆栈等工具来实现。reVISION能同时支持传统影像应用,以及基于SDSoC工具的机器学习应用;reVISION并同时支持OpenVX和Caffe Framework。为了支持OpenVX架构,核心的图像处理功能可被加速至可编程逻辑中,以建立图像处理管线。同时,机器学习推论环境支持可编程逻辑中的硬件优化工具库,以实现执行机器学习实作方案的推论引擎。
20170721_Xilinx_TA31P4
图4:reVISION堆栈

reVISION并提供与Caffe的整合,如此,实现机器学习推论引擎,就像是提供prototxt档案和经训练的权重一样简单,并由架构负责处理其余的工作。然后再用prototxt档案对执行于处理系统上的C/C++调度器进行配置,以加速可编程逻辑中硬件优化工具库上的神经网络推论。可编程逻辑用于实现推论引擎,其中包含Conv、ReLu和Pooling等功能。
20170721_Xilinx_TA31P5
图5:Caffe流程整合

机器学习推论引擎实作方案中所使用的数值显示系统,也对机器学习的性能发挥重要影响。越来越多的机器学习应用采用更高效的较低精确度定点数值系统,例如INT8表达式。相较于传统的浮点32(FP32)途径,使用较低精确度的定点数值系统并不会造成明显的精确度降低。因为与浮点运算相较,定点数学更易于实现,转而采用INT8则能在一些实作中提供更高效且快速的解决方案。

对于在可编程逻辑解决方案中进行实作而言,使用定点数值系统十分理想,例如,reVISION能够在可编程逻辑中与INT8表达式协同工作。这些INT8表达式便于在可编程逻辑中使用专用的DSP模块。在使用相同的核心权重时,这些DSP模块架构能实现最多两个同步的INT8乘法累加运算进行。这样不仅能提供高性能的实作方案,而且还能降低功耗。可编程逻辑组件的灵活性也便于实现进一步降低精确度的定点数值表达系统。
20170721_Xilinx_TA31T1
表1:不同权重表现的网络精确度

真实世界性能

在嵌入式视觉应用中使用机器学习的应用实例之一是车辆的避免碰撞系统。以reVISION堆栈针对Xilinx UltraScale+MPSoC开发相关应用,使用SDSoC为可编程逻辑的各项功能进行加速,以达到优化性能,能明显提高反应程度。在用于实施GoogLeNet解决方案的条件下,比较reVISION MPSoC的反应时间以及基于GPU的途径发现,二者差异相当明显。reVISION 设计能在2.7ms的时间内发现潜在的碰撞事件并启动煞车(使用批次规模为1),而基于GPU的方法则需要49ms~320ms的时间(大批次规模),具体取决于实作方案。GPU架构需要大批次的规模才能实现较合理的吞吐量,但其代价是牺牲反应时间,而Zynq在批次规模为1的情况下也能以极低延迟实现高性能。这种反应时间上的差异可能就决定了是否发生碰撞。

结语

机器学习将持续作为众多应用的重要推动因素,尤其是视觉导向的机器人或所谓的“协作机器人”(cobot)应用。结合处理器核心与可编程逻辑的异质SoC,能打造出十分高效、反应快且可重配置的解决方案。

EETC wechat barcode


关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 全球制造业趋向复苏,斑马技术数字化转型实践者 2024年《全球制造愿景研究报告》显示,约6成的受访者(全球61%,亚太68%)预见到,2029年AI将成为促进增长的主要动力,这一比例相较于2024年的4成左右(全球41%,亚太46%)有所上升。同时,随着AI应用的激增,约有9成受访者(全球92%,亚太87%)将数字化转型作为战略重点,这表明制造商对AI应用的激增以及数字化转型的重视程度不断提高。
  • 益思芯科技:面向智慧家庭的FTTR光网络芯片 FTTR技术能为家庭用户提供了超千兆、全屋覆盖无死角的极致网络体验,显著提升了家庭宽带体验。
  • 笛思科技:从无线通信到边缘推理算力的创新之路 无线通讯最大的愿景,是用一张网覆盖整个人类社会,这对整个社会来讲是最经济、效率最高并且成本最低的方式。
  • 上海在RISC-V领域有多强? 经过十年的发展、上海已经成为我国RISC-V领域里企业、人才、资源最集聚的地区,也是全球RISC-V创新发展的前沿阵地。
  • 斑马技术:引领数字化转型,重塑行业格局 随着‘数字中国’战略的推进及工业数字化的进程,国家对细分行业提出了前所未有的、更多更细致的监管要求,这既是挑战,也蕴含着机遇……
  • 蓝牙信道探测技术:如何实现±50厘米的精确度? 如今,蓝牙技术已深深融入我们的日常生活之中,无处不在,在音频传输、数据传输、位置服务以及设备网络等四大领域中发挥着重要作用。分析师数据显示,到2028年,预计每年将有 75 亿台蓝牙设备出货,未来五年的复合年增长率 (CAGR) 将达到 8%。
  • 全球折叠屏手机快速增长,中国品牌压 • 得益于西欧、关键亚洲市场和拉丁美洲市场的增长,以及中国品牌的持续领先,全球折叠屏手机出货量在2024年第二季度同比增长了48%。 • 荣耀凭借其在西欧特别强劲的表现,成为最大的贡献者,成为该地区排名第一的品牌。 • 摩托罗拉的Razr 40系列在北美和拉丁美洲表现良好,为其手机厂商的出货量贡献了三位数的同比增长。 • 我们预计,头部中国手机品牌厂商的不断增加将至少在短期内抑制三星Z6系列在第三季度的发布。
  • AI网络物理层底座: 大算力芯片先进 AI技术的发展极大地推动了对先进封装技术的需求,在高密度,高速度,高带宽这“三高”方面提出了严苛的要求。
  • 奕斯伟计算DPC 2024:发布RISAA(瑞 奕斯伟计算2024首届开发者伙伴大会以“绿色、开放、融合”为主题,从技术创新、产品应用、生态建设等方面,向开发者、行业伙伴等相关方发出开放合作倡议,加速RISC-V在各行各业的深度融合和应用落地,共同推动RISC-V新一代数字基础设施生态创新和产业发展。
  • 重磅发布:Canalys 2024年中国云渠道 2024年 Canalys 中国云计算渠道领导力矩阵冠军厂商分别是:阿里云、华为云和亚马逊云科技(AWS)
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了