0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图像处理应用中深度学习的重要性分析

454398 来源:act视觉系统设计 作者:act视觉系统设计 2020-12-13 11:24 次阅读

作者:Martin Cassel,Silicon Software

工业应用中FPGA 上的神经元网络(CNN)

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

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

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

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

图1:传统图像处理及深度学习的适用范围对比。

传统图像处理 深度学习
典型应用 典型应用
尺寸测量
代码读取
有/无检测
机器人引导
印刷检测
汽车
电子
表面检测(裂纹、划痕)
食品、植物、木材检测
塑料、注塑成型
织物检测
医疗成像
农业
典型特征 典型特征
对目标有严格要求
方向固定
客户提供容差范围内的正式规格
可靠性100%
目标可变
方向可变
客户提供模糊的规格,提供Good和Bad零件的样本
可靠性99%

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

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

速度与精度

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

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

图3:《对用于实际应用的深层神经网络模式的分析》,Alfredo Canziani、Adam Paszke、Eugenio Culurciello (2017)

推断应用中的FPGA 和SoC

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

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

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

图4:FPGA 的性能大约是GPU 性能的7.3倍

优化FPGA 资源

在深度学习领域,存在各种不用降低分类质量就能节省资源的方法。其中之一是通过图像缩放来降低数据吞吐量,或者改变数据位深:我们的项目经验表明,数据的位深对后来的预测精度影响甚微。将数据位深32位浮点数降为8位定点数或整数,可以让FPGA将节省下来的资源用于更大的网络架构,或实现更高的数据吞吐量,从而实现处理速度的提升,这对例如焊缝检测或机器人技术这类应用非常有意义。通过类似的预处理降低数据量,让更适合FPGA的小型网络的使用成为可能,这样的网络通常足以处理缺陷特征较少的简单分类任务。

32 位浮点GPU 虽然拥有更高的计算精度,但这一点对深度学习的推断而言无关紧要,在FPGA中使用8位定点运算的网络,能为大多数深度学习应用提供足够精确的预测精度,误差几乎可以忽略不计。如果需要特别高的计算精度,可以采取一种资源折中策略,在更大的FPGA 上使用16位定点运算。

现在已经有了能完美满足工业生产的高速处理需求的解决方案,通常使用高性能图像采集卡或者嵌入式视觉设备,例如使用大型FPGA和高分辨率传感器智能相机。利用多种多样的FPGA 资源,可以处理更复杂的架构以及应用。有了更高的数据带宽,能够在FPGA上对整幅图像进行处理,或进行额外的图像预处理以及后期处理,例如对GigE Vision相机的最大数据输出带宽的深度学习运算也完全能够满足。

结语

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

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21308

    浏览量

    593119
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4415

    浏览量

    126642
  • 图像处理
    +关注

    关注

    26

    文章

    1224

    浏览量

    55812
  • 深度学习
    +关注

    关注

    73

    文章

    5236

    浏览量

    119895
收藏 人收藏

    评论

    相关推荐

    GPU在深度学习中的应用与优势

    人工智能的飞速发展,深度学习作为其重要分支,正在推动着诸多领域的创新。在这个过程中,GPU扮演着不可或缺的角色。就像超级英雄电影中的主角一样,GPU在深度
    的头像 发表于 12-06 08:27 707次阅读
    GPU在<b class='flag-5'>深度</b><b class='flag-5'>学习</b>中的应用与优势

    Python中进行特征重要性分析的9个常用方法

    重要性分析可以识别并关注最具信息量的特征,从而带来以下几个优势: 改进的模型性能 减少过度拟合 更快的训练和推理 增强的可解释性 下面我们深入了解在Python中的一些特性重要性分析
    的头像 发表于 10-16 11:09 376次阅读
    Python中进行特征<b class='flag-5'>重要性</b><b class='flag-5'>分析</b>的9个常用方法

    Python如何进行特征重要性分析

    特征重要性分析用于了解每个特征(变量或输入)对于做出预测的有用性或价值。目标是确定对模型输出影响最大的最重要的特征,它是机器学习中经常使用的一种方法。
    发表于 10-13 12:32 172次阅读
    Python如何进行特征<b class='flag-5'>重要性</b><b class='flag-5'>分析</b>

    电源设计的重要性

    上传PCB/Gerber文件后,点击 一键DFM分析 ,即可根据生产的工艺参数对设计的PCB板进行可制造分析。 华秋DFM软件是国内首款免费PCB可制造和装配
    发表于 09-08 14:43

    深度学习在医学图像分割与病变识别的应用实战

    地观察和分析。然而,医学图像常常具有复杂的结构、噪声干扰和不同的病变特征,使得传统的图像处理方法难以取得令人满意的结果。基于深度
    发表于 09-04 11:11

    OpenCV库在图像处理深度学习中的应用

    本文深入浅出地探讨了OpenCV库在图像处理深度学习中的应用。从基本概念和操作,到复杂的图像变换和深度
    的头像 发表于 08-18 11:33 485次阅读

    什么是深度学习算法?深度学习算法的应用

    。 在深度学习中,使用了一些快速的算法,比如卷积神经网络以及深度神经网络,这些算法在大量数据处理图像识别上面有着非常
    的头像 发表于 08-17 16:03 1468次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法作为其中的重要组成部分,不仅可以为诸如人工智能、图像识别以及自然语言处理等领域提供支持,同时也受到了越来越多的关注和研究。在本
    的头像 发表于 08-17 16:02 6797次阅读

    深度学习视角下的猫狗图像识别实现

    包括数据集的准备、模型构建和训练过程,并探讨了该技术在实际应用中的潜在价值。 随着深度学习技术的不断发展,图像识别已经成为其中的一个重要应用领域。猫狗
    的头像 发表于 08-15 10:38 1907次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>视角下的猫狗<b class='flag-5'>图像</b>识别实现

    如何使用机器学习处理图像

    图像处理是利用复杂的算法对图像进行技术分析。在图像处理中,
    的头像 发表于 07-24 15:00 455次阅读

    PCB印刷电路板打样的重要性

    似乎是一个额外的步骤,但PCB打样会在您开始全面生产运行之前对印刷电路板进行预生产分析。那么,PCB打样在电子产品研发过程中有哪些重要性呢? 1.加快整体生产 高度准确的PCB原型有助于最大限度地减少
    发表于 06-07 16:37

    深度学习中的图像分割

    深度学习可以学习视觉输入的模式,以预测组成图像的对象类。用于图像处理的主要
    的头像 发表于 05-05 11:35 831次阅读

    机器学习管道的重要性

    从数据提取和预处理到模型训练和调优,模型和部署的分析将在主流设计中的单个实体中运行。这意味着将使用相同的脚本提取、清理、准备、建模和部署数据。由于机器学习模型通常比其他软件应用程序包含的代码少得多,因此将所有资源保存在一个地方非
    的头像 发表于 05-04 09:55 489次阅读

    [1.5.1]--1.5.1图像处理应用领域学习视频

    图像处理图像识别
    jf_75936199
    发布于 :2023年04月28日 01:07:36

    理解如何处理计算机视觉和深度学习中的图像数据

    在过去几年从事多个计算机视觉和深度学习项目之后,我在这个博客中收集了关于如何处理图像数据的想法。对数据进行预处理基本上要比直接将其输入
    的头像 发表于 04-26 11:57 495次阅读
    理解如何<b class='flag-5'>处理</b>计算机视觉和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>中的<b class='flag-5'>图像</b>数据