推动计算机视觉和视觉AI发展的四大关键趋势

作者: 日期:2020-04-04 10:16:28

产业智能官

EVA act视觉系统设计

本文讨论了推动视觉应用快速发展和影响行业未来的关键趋势,解释了这些趋势背后的推动因素,并强调了对技术供应商、解决方案开发者和最终用户的关键影响。

早在2011年嵌入式视觉联盟(EVA)成立时,其创始公司就认为,在广泛的市场范围内,在实用计算机视觉技术和解决方案领域的投资、创新和部署,将很快出现前所未有的增长。在不到十年后,这一预测就真正实现了。在过去的六年中,美国和中国在计算机视觉公司领域的投资都在加速,过去六年的投资额增长了100倍,并且增长速度没有任何放缓的迹象(见图1a)。

图1a:全球在计算机视觉公司领域的投资显著增加,并且没有放缓迹象。(来源:Woodside Capital/Crunchbase)

这些投资正在刺激这些公司及其合作伙伴和客户加速在视觉领域的研究、开发和部署活动。EVA会定期对视觉开发者社区就各种主题开展调查,最新调查结果表明,93%的被调查组织表示,未来一年中在视觉领域的投入会增加(其中61%表示会大幅增加)(见图1b)。

图1b:2019年,开发者在视觉领域的投入将显著增加。(来源:EVA)

预计这些增加的活动将转化为收入的增加;例如,Tractica最近发布的一份市场研究报告预测,从现在到2025年,计算机视觉市场(包括硬件、软件和服务,见图1c)的收入将增加25倍,到2025年将超过260亿美元。

图1c:全球范围内对计算机视觉相关公司的投资,将驱动这些公司未来的收入大幅增长。

(来源:Tractica)

其中,有四大关键趋势正在驱动这些增长,它们分别是:(1)深度学习;(2)3D传感;(3)快速、便宜、节能的处理器;(4)硬件和软件的普及化。

趋势一、深度学习

传统上,计算机视觉应用依赖于专用的算法,这些算法经过精心设计以识别特定的特征(如边缘、角落、物体)。然而最近,卷积神经网络(CNN)和其他深度学习方法已经在各种图像理解任务上,表现得优于传统算法。与传统算法相比,深度学习方法是通过实例训练的通用学习算法,来识别特定的特征,包括物体类型和位置。深度神经网络(DNN)已经改变了计算机视觉领域,其在识别物体、在一帧图像内定位物体以及确定哪个像素属于哪个物体等功能上,都提供了优越的结果。即使是像光流和立体匹配这样的已经用传统技术能很好地解决的问题,现在也可以用深度学习技术找到更好的解决方案。

此外,基于深度学习的视觉处理方法,在解决许多问题上都优于传统的计算机视觉算法。ImageNet图像识别挑战赛获奖者的结果表明,从几年前开始,在相同的任务和相同的数据集中,深度学习在识别物体方面的准确性开始超过典型的人类功能(见图2a)。深度神经网络也被训练、以填补照片中缺失的补丁,与能够熟练处理图片的操作员的技能相匹配,同时能够比人更快地提供处理结果。而且,训练有素的神经网络甚至开始产生远超越技术娴熟的人类所能做出的成就,例如从非常差的曝光照片中产生可接受的图像(见图2b)。

图2a:现在深度学习算法在图像中精确识别物体的能力,已经能够与人类的能力相匹配。(来源:www.eff.org/ai/metrics)

图2b:在某些情况下,深度学习算法可以产生超出人类能力的结果。(来源:Learning to See in the Dark, Chen Chen, Qifeng Chen, Jia Xu and Vladlen Koltun, CVPR 2018)

因此,不出所料,计算机视觉开发人员正越来越多地将深度学习技术添加到他们的工具箱中(见图3)。EVA最近的调查结果显示,59%的视觉系统和解决方案开发者已经在使用DNN,比两年前的34%大幅增加。28%的人计划在不久的将来使用DNN用于视觉智能。总体来看,87%的开发者已经使用或计划使用神经网络来执行计算机视觉功能。

图3:87%的开发者已经使用或计划在不久的将来使用神经网络来执行计算机视觉功能。(来源:EVA)

趋势二、3D传感

2D图像传感器能够在许多嵌入式视觉系统设计中,实现巨大的视觉能力。然而,它们无法辨别物体与传感器之间的距离,这将导致某些视觉功能的实现非常困难或是无法实现。例如,手势接口实现。识别运动的能力,包括上下、左右和前后,能够大大扩展系统能够解读的手势的多样性、丰富性和精确性。或者是人脸识别情况(见图4):深度传感在“确定被识别的物体是真实的人脸而非人脸的照片”方面,也很有价值。

图4:人脸识别(上图)和视觉同步定位和映射(下图)是3D图像传感所实现的众多功能中的两个。(来源:appleinsider.com/pcc.disam.etsii.upm.es)

ADAS(汽车高级驾驶辅助系统)和其他受益于3D传感器的半自动和全自动设备应用也非常丰富。例如,你可以很容易地想象,在公路上,你不仅能够确定另一辆车或物体在你的前方或后方,而且还能准确地辨别它与你之间的距离。准确地确定车辆与限速标志之间的距离,对于确定多久必须把车速降下来、进而避免罚单同样非常有用。

同样,用于3D打印的3D物体扫描也是一个重要的应用案例。幸运的是,最近将3D光学传感器引入手机和汽车等大批量生产应用中,不但加速了创新,而且使尺寸、成本和3D传感的复杂性都有所降低(见图5)。3D相机模块通常包括某种形式的红外照明,其同样得益于最近显著的成本降低趋势,它在低光环境中以及在监控戴太阳镜的车辆驾驶员的注意力方面,非常有用。

图5:最新一代小型、低成本、低功耗3D相机实现了强大的视觉部署(上图);它们的红外照明模块同样越来越具有成本效益(下图)。(来源:Microsoft/Intel/Occipital/Yole Développement)

在微软Kinect游戏机外设首次亮相8年后,现在3D相机模块已经准备好部署在成本和功率敏感的应用中。计算机视觉开发者正在对3D传感采取积极行动和积极预测。EVA最近的调查显示,近30%的开发者已经在使用3D传感,26%的开发者计划近期内在其项目中采用3D传感功能(见图6)。

图6:55%的受访开发者表示,他们已经开始使用或计划近期在他们的计算机视觉项目中加入3D传感技术,该比例比去年增加了4%。(来源:EVA)

趋势三、更好的处理器

推动强大而广泛的视觉感知可部署性的最重要因素,是更好的处理器。“更好”是指更高的性能、更低的成本、更低的功耗,以及其他关键因素的改进。视觉算法对计算性能要求很高,各种嵌入式系统通常需要满足低成本和低功耗的要求。在数字无线通信和以压缩为中心的消费视频设备等其他应用领域,芯片设计人员通过使用专用协处理器和加速器,获得高性能、低成本和低功耗的极具挑战性的组合,从而实现应用中最苛刻的处理任务。然而,这些协处理器和加速器通常不能由芯片用户编程。

在很多标准应用中,这种权衡通常是可以接受的,因为在这些应用中,不同设计者使用的算法具有很强的通用性。然而,在视觉应用中,并没有标准来约束算法的选择。此外,视觉算法发展迅速,并且变化频繁。

因此,实现高性能、低成本、低功耗和可编程性的结合,是一项非常具有挑战性的工作,通常需要在异构计算体系结构中通过组合多种类型的处理器(CPU、GPU、FPGA、DSP等)来实现。

基于机器学习的视觉处理,无论对于预先培训还是随后的推理任务而言,从计算和存储需求来看,都是资源密集型的工作。幸运的是,视觉处理器正在以惊人的速度发展,一方面开发速度非常快,另一方面来自数量庞大且仍在增长的技术供应商方面的竞争压力。例如,现在有50多家公司同时在为深度学习推理和/或训练开发处理器。在过去的几年中,深度学习加速的处理能力,已经有了两个数量级的提升,这些性能的提升与多方技术进步相结合,将使处理器的处理能力呈指数级增长。

EVA最近在开发者调查中收集的数据显示,深度学习专用处理器的采用显著增加;近1/3的受访者表示现在正在使用深度学习专用处理器,而两年前这一比例只有19%(见图7,由于调查对象要求标记所有他们的项目使用的处理器,所以总数超过100%)。这种趋势尤其令人震惊,因为在几年前,深度学习专用处理器还根本不存在。同样需要注意的是,其他处理架构通常用于各种视觉任务。

图7:被调查的开发者在他们的计算机视觉设计中使用的多种处理结构。(来源:EVA)

趋势四、软件和硬件的普及化

“普及化”意味着开发有效的计算机视觉系统和应用、以及大规模部署这些解决方案,正在快速变得越来越容易。为什么?主要有以下三大原因:

第一、深度学习使非专家能够使用样本图像数据(与手工设计的代码相比)更容易地创建功能性视觉系统。

第二、有了更高性能、更低成本的处理器和有效的开发工具。

第三、作为边缘处理的辅助或替代,云计算越来越普遍。

前两点已经讨论过,但第三点值得注意。云计算作为基于边缘视觉处理方法的辅助(如果不是替代的话),正变得越来越普遍。

“云vs边缘计算vs两者混合”的拓扑决策通常并不简单,“正确”的答案因应用和公司的不同而不同,甚至同一公司内的不同项目之间也不同(见图8)。

图8:边缘计算和云计算的性能比较。星星越多,优势越大。

云计算的有利因素包括:

上市时间:云计算的软件开发通常比嵌入式平台的软件开发更快捷、更容易。

可升级性:在限制范围内,用户可以轻松升级到更高性能的处理器、更大的内存容量、更多的硬盘存储、更新的操作系统和中间件版本等。当然用户也不能在云中升级所有东西,例如不能升级图像传感器。

准确性:用户可以在云中获得巨大的计算能力,因此可以运行更大的神经网络,也就是运行更复杂的算法,包括能够根据需要利用突发的额外处理能力。

分布式设备之间的协作:例如,如果你正在跟踪城市中行驶的车辆,那么就有必要在一个地理区域内收集信息。虽然云并不是实现这一点的唯一途径,但它能很方便地将来自许多分散边缘节点的信息结合起来。

设备成本:更低的物料清单成本、更小的电池等。当然以边缘为中心的方法有其自身优势。

如果被测量的物体不是静止的,而是在运动状态,那么一定要考虑运动模糊对图像精度(模糊像素=物体运动速度*相机曝光时间),这也不是软件能够解决的。

五、软件的测量精度

在测量应用中软件的精度只能按照1/2—1/4个像素考虑,最好按照1/2,而不能向定位应用一样达到1/10-1/30个像素精度,因为测量应用中软件能够从图像上提取的特征点非常少。

机器视觉的运动速度和测量精度在整个产品中占有重要的位置,运动速度快慢以检测能力是成反比的,运动越快检测的质量效果相对较差,因此提高运动精度和检测细节很重要。而且机器视觉易于实现信息集成,是实现计算机集成制造的基础技术。

使用机器视觉系统五个主要原因:

重复性——机器可以以相同的方法一次一次的完成检测工作而不会感到疲倦。与此相反,人眼每次检测产品时都会有细微的不同,即使产品时完全相同的。

精确性——由于人眼有物理条件的限制,在精确性上机器有明显的优点。即使人眼依靠放大镜或显微镜来检测产品,机器仍然会更加精确,因为它的精度能够达到千分之一英寸。

速度机器能够更快的检测产品。特别是当检测高速运动的物体时,比如说生产线上,机器能够提高生产效率。

客观性——人眼检测还有一个致命的缺陷,就是情绪带来的主观性,检测结果会随工人心情的好坏产生变化,而机器没有喜怒哀乐,检测的结果自然非常可观可靠。

成本——由于机器比人快,一台自动检测机器能够承担好几个人的任务。而且机器不需要停顿、不会生病、能够连续工作,所以能够极大的提高生产效率。

机器视觉系统的特点是提高生产的柔性和自动化程度。在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。