嵌入式视觉应用中的机器学习

发布者:Wanderlust123最新更新时间:2018-04-09 来源: 21IC中国电子网关键字:FPGA  嵌入式  机器学习 手机看文章 扫描二维码
随时随地手机看文章

目前嵌入式视觉领域最热门的话题之一就是机器学习。机器学习涵盖多个行业大趋势,不仅在嵌入式视觉 (EV) ,而且在工业物联网 (IIoT) 和云计算中均发挥着极为显赫的作用。对不熟悉机器学习的人来说,很多时候机器学习是通过神经网络创建和训练来实现的。神经网络一语极为宽泛,包含相当数量的截然不同的子类别。这些子类别的名称一般用于识别被实现的网络的具体类型。这些网络均在大脑皮层上建模,在大脑皮层中每个神经元接收输入、处理输入并将其传达给另一个神经元。因此神经元一般由输入层、多个隐藏内部层和一个输出层组成。


图1:简单的神经网络


在最简单的层面上,神经元获得输入,施加权重给输入,然后在加权输入总和上执行传递函数。结果随后传递给隐藏层中的另一个层,或传递给输出层。将一级的输出传递给另一级且不构成循环的神经网络被称为前馈神经网络 (FNN),而那些有反馈、内含定向循环的神经网络则被称为递归神经网络 (RNN)。在众多机器学习应用中极为常用的神经网络是深度神经网络 (DNN)。这类神经网络拥有多个隐藏层,能实现更复杂的机器学习任务。为确定每层使用的权重和偏差值,需要对神经网络进行训练。在训练过程中,该神经网络施加有一定数量的正确输入和错误输入,并使用误差函数教授网络所需的性能。训练深度神经网络可能需要庞大的数据集来正确训练所需性能。


机器学习最重要的应用之一是嵌入式视觉领域,各类系统正在从视觉使能系统演进为视觉引导自动化系统。嵌入式视觉应用与其他更简单的机器学习应用的区别在于它们采用二维输入格式。因此,在机器学习实现方案中,通过使用称为卷积神经网络 (CNN) 的网络结构,因为它们能够处理二维输入。CNN 是一类前馈网络,内置多个卷积层和子采样层以及一个单独的全连通网络,以执行最终分类。鉴于 CNN 的复杂性,它们也归属深度学习类别。在卷积层中,输入图像被细分为一系列重叠的小模块。在进行进一步的子采样和其它阶段之前,该卷积的结果先通过激活层创建激活图,然后应用到最终的全连通网络上。CNN 网络的具体定义因实现的网络架构而异,但它一般会包含至少下列元:


● 卷积 – 用于识别图像中的特征


● 修正线性单元(reLU)- 用于在卷积后创建激活图的激活层


● 最大池化 – 在层间进行子采样


● 全连通 - 执行最终分类


这些元中每一个元的权重通过训练决定,同时 CNN 的优势之一在于训练网络相对容易。通过训练生成权重需要庞大的图像集,其中既有需要检测的对象,也有伪图像。这样能让我们为 CNN 创建所需的权重。由于训练流程中所涉及的处理要求,训练流程一般运行在提供高性能计算的云处理器上。


框架


机器学习是一个复杂的课题,尤其是在每次不得不从头开始,定义网络、网络架构和生成训练算法的时候。为帮助工程师实现网络和训练网络,有一些行业标准框架可供使用,例如 Caffe 和 Tensor Flow。Caffe 框架为机器学习开发人员提供各种库、模型和 C++ 库内的预训练权重,同时提供 Python 和 Matlab 绑定。该框架能让用户无需从头开始即能创建网络并训练网络,以开展所需的运算。为便于重复使用,Caffe 用户能通过 model zoo 共享自己的模型。Model Zoo 提供多种能根据所需的专门任务实现和更新的模型。这些网络和权重定义在 prototxt 文件中。在用于机器学习环境时,prototxt 文件是用于定义推断引擎的文件。


图2:定义网络的 Prototxt 文件实例


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


基于可编程逻辑的解决方案,例如异构赛灵思 All Programmable Zynq® -7000 SoC(片上系统)和 Zynq® UltraScale+™ MPSoC 等多处理器片上系统 (MPSoC) 越来越广泛地用于嵌入式视觉应用。这些器件将可编程逻辑 (PL) 架构与处理系统 (PS) 中的高性能ARM® 内核完美组合在一起。这种组合形成的系统拥有更快的响应速度,极为灵活便于未来修改,并且提供了高能效解决方案。对许多应用来说低时延决策与响应循环极为重要。例如视觉引导自主机器人,响应时间对避免给人员造成伤害、给环境造成破坏至关重要。缩短响应时间的具体方法是使用可编程逻辑实现视觉处理流水线和使用机器学习推断引擎实现机器学习。在这方面使用可编程逻辑,与传统解决方案相比可减少系统瓶颈问题。在使用基于 CPU/GPU 的方法时,运算每一阶段都需要使用外部 DDR,因为图像不能在有限内部缓存内的功能间传递。可编程逻辑方法使用内部 ARM 按需提供缓存,允许采用流媒体方法。避免在 DDR 内存储中间元不仅可降低图像处理的时延,而且还能降低功耗,甚至提高确定性,因为无需与其他系统资源共享访问。


使用赛灵思提供的 reVISION™ 堆栈,在异构 SoC 中能轻松实现图像处理算法和机器学习网络。基于 SDSoC™ 工具,reVISION 能同时支持传统图像应用和机器学习应用。在 reVISION 内部,同时支持 OpenVX 和 Caffe 框架。为支持 OpenVX 框架,内核图像处理功能可被加速到可编程逻辑中,以创建图像处理流水线。同时机器学习推断环境支持可编程逻辑中的硬件优化库,以实现执行机器学习实现方案的推断引擎。


reVISION 提供与 Caffe 的集成,这样实现机器学习推断引擎就如同提供 prototxt 文件和经训练的权重一样简单,框架负责处理其余工作。然后使用 prototxt 文件对运行在处理系统上的 C/C++ 调度器进行配置,以加速可编程逻辑中硬件优化库上的神经网络推断。可编程逻辑用于实现推断引擎,内含 Conv、ReLu 和 Pooling 等功能。


机器学习推断引擎实现方案中使用的数值表示系统也对机器学习性能有重要作用。机器学习应用正越来越多地使用更高效的降精度定点数值系统,例如 INT8 表达式。与传统的浮点 32 (FP32) 方法相比,使用定点降精度数值系统不会造成显著的精度下降。因为与浮点相比,定点数学在实现难度上也明显更低,转而采用 INT8 能在一些实现中提供更高效、更快速的解决方案。使用定点数值系统对在可编程逻辑解决方案中的实现方案而言相当理想,reVISION 在可编程逻辑中能与 INT8 表达式协同工作。这些 INT8 表达式方便在可编程逻辑中使用专门的 DSP 模块。在使用相同的内核权重时,这些 DSP 模块架构能实现最多两个并发 INT8 乘法累加运算供执行。这样不仅能提供高性能实现方案,而且还能够降低功耗。只要采用,可编程逻辑的灵活性也还便于实现进一步降精度定点数值表达系统。


真实性


在真实环境中,reVISION 堆栈能带来明显优势。在嵌入式视觉应用中使用机器学习的应用实例之一,如车辆避碰系统。在 reVISION 中针对赛灵思 UltraScale+ MPSoC 并开发相关应用,使用 SDSoC 在可编程逻辑中按需为各项功能加速以达到优化性能,能明显改善响应性。在都用于实现 GoogLeNet 解决方案的条件下,将 reVISION MPSoC 的响应时间与基于 GPU 的方法进行对比,差异相当明显。reVISION 设计能在 2.7ms 内发现潜在的碰撞事件并启动车辆制动(使用的批量规模为 1),而基于 GPU 的方法则需要用时49ms-320ms(具体取决于其实现方案)(对大批量规模)。GPU 架构需要大批量规模才能实现合理的吞吐量,但会以牺牲响应时间为代价,而 Zynq 在批量规模为 1 的情况下也能以极低时延实现高性能。这种反应时间上的差异可以决定碰撞发生与否。


总结


机器学习将继续成为众多应用的重要推动因素,尤其是在视觉导向机器人或所谓的“协作机器人”中。将处理器内核与可编程逻辑结合的异构 SoC, 能创建非常高效、极具响应性且可重配置的解决方案。像reVISION 这样的堆栈的推出,首次将可编程逻辑的好处带给了更广阔的开发者社群,同时还缩短了解决方案的开发时间。

关键字:FPGA  嵌入式  机器学习 引用地址:嵌入式视觉应用中的机器学习

上一篇:政策扶持 国内医疗器械行业整体步入高速增长阶段
下一篇:世界首创性成果:会变色的“心脏芯片”问世

推荐阅读最新更新时间:2024-05-03 02:43

Altera最新Nios II嵌入式评估套件展示独特FPGA能力
设计实例突出了硬件加速和远程硬件更新功能 2007年12月4号,北京 ——Altera今天宣布开始提供新的Cyclone III版Nios II嵌入式评估套件。Nios II评估套件是功能丰富的低成本平台,为嵌入式设计人员提供快捷简单的实践方式来评估Nios II处理器、SOPC Builder系统设计软件及其定制应用软件。 在独特的树脂玻璃箱中,Nios II 评估套件含有一块Cyclone III入门电路板和触摸屏LCD,通过屏幕触摸,支持开发人员启动网络和音频图像处理等实例应用软件。对于刚开始FPGA处理器设计的软件开发人员,它还是理想的开发平台。 套件包括为嵌入式软件开发提供的Nios II嵌入式设计包(EDS),7个
[嵌入式]
腾讯提出共享AI,同声传译亮相惊艳全场
在昨日举办的 腾讯 2017全球合作伙伴大会上,腾讯 AI  Lab披露了AI发展布局的最新动态。本文整理了四个重磅演讲的干货内容,包括腾讯AI的发展路线图、游戏AI研究的挑战与应对、多媒体AI从图片到视频的演进,及惊艳全场的同声传译产品,以飨读者。完整文章可到官网阅读。   一、腾讯AI路线图:共享AI是大势所趋   《共享AI:让AI无处不在》 演讲人:腾讯AI Lab主任 张潼博士   张潼博士的演讲勾勒了AI行业未来发展的路线图:共享AI的三大关键元素:企业共享研究应用成果、行业共享发展平台,到学界共享新思路的「共享AI时代」。     「在设定AI Lab作为企业级AI实验室的愿景时,我们希望能代表腾讯打造世界级
[嵌入式]
嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(四)
一、移植环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器: arm-linux-gcc-4.3.2.tgz u-boot: u-boot-2009.08.tar.bz2 二、移植步骤 上接: u-boot-2009.08在2440上的移植详解(三) 在这一篇中,我们首先让开发板对CS8900或者DM9000X网卡的支持,然后再分析实现u-boot怎样来引导Linux内核启动。因为测试u-boot引导内核我们要用到网络下载功能。 7)u-boot对CS8900或者DM9000X网卡的支持。 u-boot-2009.08版本已经
[单片机]
<font color='red'>嵌入式</font>Linux之我行——u-boot-2009.08在2440上的移植详解(四)
物联网/人工智能/机器学习和云计算离不开大数据
物联网 、 人工智能 /机器学习和 云计算 的融合将以人们无法想象的方式影响商业和工业运营。但有一件事是显而易见的,就是会有更多的数据。而数据本身将成为自己的变革力量。   幸运的是,大量云存储的可用性使得收集和访问这些数据成为可能,并且使诸如机器学习和分析的日益复杂的数据处理技术变得更加可行并且必要。当这些数据通过智能软件联网并得到支持时,就会有更多的变化。以下是行业专家预测的一些近期效应:   1.数据将越来越脱离其起源地 设施运营商利用从传感器获得的实时数据可以监控系统性能的各个方面,可以与其管理的资产进行物理分离。当管理人员能够获得全面的实时性能数据和自动控制时,远程控制的数据中心变得更加可行。这反过来又使数据中心位于具有
[嵌入式]
只有想不到,没有嵌不到,嵌入式系统科普
如今,物联网、AI、5G的发展都离不开嵌入式系统,它就好比一个乐高拼图,只要你会“玩”,就会发生意想不到的性能。那么到底什么是嵌入式系统?下面就给大家科普一下。 想要了解它的组成就先要知道它是如何成长的。 第一个微处理器诞生于20 世纪70 年代初,是由成立3年的Intel推出的4004CPU,4位微处理器,10微米工艺。如今,嵌入式系统发展已有50年的历史,大体上历经了四个阶段: 一、无操作系统阶段 基于初单片机上,多数以编程控制器的形式出现,这一时期,一般没有操作系统相关支持,只有通过汇编语言对系统进行直接的控制,当然在相关运行结束之后再清除内存。 主要特点是:系统机构和功能相对都比较单一,处理效率较低、储
[嵌入式]
只有想不到,没有嵌不到,<font color='red'>嵌入式</font>系统科普
FPGA实现的FIR算法在汽车动态称重仪中的应用
引言   车辆在动态称重时,作用在平台上的力除真实轴重外,还有许多因素产生的干扰力,如:车速、车辆自身谐振、路面激励、轮胎驱动力等,给动态称重实现高精度测量造成很大困难。若在消除干扰的过程中采用模拟方法滤波,参数则不能过大,否则将产生过大的延迟导致不能实现实时处理,从而造成滤波后的信号仍然含有相当一部分的噪声。所以必须采用数字滤波消除干扰。 FIR滤波的原理及实现   本文采用FIR数字滤波,其原理如公式1所示。   Y(n)= (1)   其中h(k)为系统滤波参数,x(n)为采集的信号,Y(n)为滤波后的输出信号。   FIR滤波器的h(n)0≤n≤N-1   H(z)= (2)   在本文中N=17。由于h(n
[应用]
嵌入式开发人才的未来发展方向
随着无人机、无人驾驶、可穿戴设备、智能家居、智能城市等相关产业技术产品的创新应用及需求不断涌现,嵌入式系统、基础芯片、各类传感器及软件的应用越来越加深入和广泛。嵌入式系统因其体积小、可靠性高、功能强、灵活方便等许多优点,对各行各业的技术改造、产品更新换代、加速自动化进程、提高生产效率等方面起到了极其重要的推动作用。尤其是近年来,智能硬件铺天盖地的出现,一时间让人们彻底改变了过去对嵌入式系统应用的认识! 除了当下火热的智能硬件之外,一起来看看其他的嵌入式应用领域和所需要的技术!看完之后相信你对嵌入式的发展方向会有一个全面的认识。   物联网   物联网在国际上又称为传感网,这是继计算机、互联网与移动通信网之后的又
[嵌入式]
德承重磅登场Embedded World 2022展示多元嵌入式运算解决方案
2022年6月15日 — 强固型嵌入式电脑品牌 – Cincoze 德承,将于 2022年6月21日至6月23日在德国Embedded World 2022以「智能制造全方位的边缘运算解决方案」为主轴,隆重登场。 现场规划三大展示区,「Rugged Embedded Fanless Computers」边缘运算解决方案-提供严苛的工业环境下所需要的边缘运算解决方案、「Embedded GPU Computers」GPU运算解决方案-满足需要大量实时图像运算处理的机器视觉与AI深度学习的GPU运算解决方案以及「Modular Panel PC & Industrial Monitors」显示运算解决方案-针对人机操作界面(HM
[嵌入式]
德承重磅登场Embedded World 2022展示多元<font color='red'>嵌入式</font>运算解决方案
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved