深度学习为机器视觉技术带来新的突破口

作者:admin    发布时间:2019-05-22    浏览量:
工业应用中FPGA 上的神经元网络(CNN)

深度学习应用凭借其在识别应用中超高的预测准确率,在图像处理领域获得了极大关注,这势必将提升现有图像处理系统的性能并开创新的应用领域。

利用卷积神经网络(Convolutional Neural Network, CNN) 等深层神经网络的解决方案,可以逐渐取代基于算法说明的传统图像处理工作。尽管图像预处理、后期处理和信号处理仍采用现有方法进行,但在图像分类应用中(缺陷、对象以及特征分类),深度学习变得愈加重要。

利用深度学习处理某些任务更简单,效果更好,甚至某些任务只能用深度学习方法来解决。深度学习正在逐渐威胁传统图像处理方法的地位——特别是处理任务中包含有复杂变量时(如反射面、光照不佳的环境、光照变化或移动的对象)。

深度学习具有平移不变性的优点,这部分使用传统处理方式需要大量的投入。但如果需要对图像中的对象或错误进行定位、标定、代码读取或后期处理,则传统算法更具有优势。

深度学习包括神经网络的训练和学习、网络的实现和推断运算、网络的CNN 算法在图像上的执行与分类结果的输出。用于训练的数据越多,分类的预测精度就会越高。由于数据量庞大,训练神经网络时通常选用GPU。

速度与精度

训练数据越多,预测精度越高

训练数据越多,预测精度越高。

基于各种不同技术的处理器,是否都能满足工业图像处理中的特殊需求呢?CNN应用必须执行快速(推断)同时满足极低的时延。在满足处理速度的同时,还要满足高带宽、低发热、实时性以及供货周期长这些需求,仅仅使用传统CPU 或GPU 是难以实现的,它们通常可以为非工业领域的图像处理任务提供更合适的解决方案,在这些领域的识别任务尽管同样复杂,但相对较低的数据吞吐性能即可满足需求。各个平台之间区别很大,仅从技术指标方面就能看出,它们无法应用于高要求的任务。尽管GPU 的推断耗时比CPU 或特殊芯片短得多(如TPU -TensorFlow Processing Units、TensorFlow 处理单元以及Intel Movidius处理器),但是其数据吞吐量这项指标只能达到大约每秒50MB这样一个较低的水平。

在通常的图像处理应用中,只需要对少数几个特性进行分类,因此选择小型或中型网络通常就足以应对,AlexNet、SqueezeNet 或MobileNet 都是这类网络的典型代表。这几种网络类型在机器视觉领域,预测精度、网络大小和计算速度以及带宽这几方面有着良好的平衡。这里可以很明显地看到,通过选择合适的网络,可以在牺牲小部分检测精度的同时,获得数据吞吐量方面的极大提高,同时也为优化资源和提高分类质量提供了可能性。

推断应用中的FPGA 和SoC

FPGA 的性能大约是GPU 性能的7.3倍

FPGA 的性能大约是GPU 性能的7.3倍

在很多图像处理任务的需求中,特别是机器视觉领域,FPGA可以作为独立处理单元或与ARM 处理器一起构成SoC。FPGA 具有高度并行处理能力、稳定的图像采集能力以及相对于CPU 和GPU更高的运算性能、图像帧率和带宽。基于FPGA的CNN应用可完成高带宽的分类工作,这尤其适用于高速在线检测。

FPGA支持直接在图像采集卡或在嵌入式视觉设备上处理图像数据——从采集到输出以及外围设备控制——且无任何CPU占用,这个特点让FPGA特别适用于高强度运算的应用,如CNN。因此未配备GPU 的小型PC 也能使用,从而可降低整体系统成本。在工业环境温度下,FPGA的能效比GPU高十倍,是嵌入式设备的理想之选,这显著扩大了深度学习在工业4.0 以及无人机和自动驾驶领域的应用。

GPU拥有更高的计算精度和更高的预测精度,但这些是以更短的供货周期、更高的功耗以及更低的数据吞吐量为代价的。在一个示范性的对比中,基于FPGA的解决方案的数据处理性能是使用GPU的类似解决方案的7.3倍左右。

与传统图像处理相比,深度学习应用需要在训练方面投入较多时间,但是相较其带来的可靠性和处理速度,这些投入是值得的。图像采集卡和(嵌入式)视觉设备上所使用的FPGA技术,令神经网络应用于工业级应用成为可能,这需要强大的实时处理能力、低延迟(实时在线检测)、高数据吞吐量、高带宽和低功耗低发热(嵌入式视觉应用),以及高分辨率。FPGA 及图像采集卡较长的供货周期保障了投资安全性,同时由于系统可快速的整合且整体系统成本较低,用户可以节省长期支出。

相关新闻推荐

关注官方微信

微信二维码
版权所有 深圳市如虎科技有限公司 Copyright © 2018-2019 Tigervs.Com All Rights Reserved 粤ICP备19029139号-1