(见图1a)。
图1a:全球在计算机视觉公司领域的投资显著增加,并且没有放缓迹象。
这些投资正在刺激这些公司及其合作伙伴和客户加速在视觉领域的研究、开发和部署活动。EVA会定期对视觉开发者社区就各种主题开展调查,最新调查结果表明,93%的被调查组织表示,未来一年中在视觉领域的投入会增加(其中61%表示会大幅增加)(见图1b)。
图1b:2019年,开发者在视觉领域的投入将显著增加。
预计这些增加的活动将转化为收入的增加;例如,Tractica最近发布的一份市场研究报告预测,从现在到2025年,计算机视觉市场(包括硬件、软件和服务,见图1c)的收入将增加25倍,到2025年将超过260亿美元。
图1c:全球范围内对计算机视觉相关公司的投资,将驱动这些公司未来的收入大幅增长。
其中,有四大关键趋势正在驱动这些增长,它们分别是:(1)深度学习;(2)3D传感;(3)快速、便宜、节能的处理器;(4)硬件和软件的普及化。
趋势一、深度学习
传统上,计算机视觉应用依赖于专用的算法,这些算法经过精心设计以识别特定的特征(如边缘、角落、物体)。然而最近,卷积神经网络(CNN)和其他深度学习方法已经在各种图像理解任务上,表现得优于传统算法。与传统算法相比,深度学习方法是通过实例训练的通用学习算法,来识别特定的特征,包括物体类型和位置。深度神经网络(DNN)已经改变了计算机视觉领域,其在识别物体、在一帧图像内定位物体以及确定哪个像素属于哪个物体等功能上,都提供了优越的结果。即使是像光流和立体匹配这样的已经用传统技术能很好地解决的问题,现在也可以用深度学习技术找到更好的解决方案。
此外,基于深度学习的视觉处理方法,在解决许多问题上都优于传统的计算机视觉算法。ImageNet图像识别挑战赛获奖者的结果表明,从几年前开始,在相同的任务和相同的数据集中,深度学习在识别物体方面的准确性开始超过典型的人类功能(见图2a)。深度神经网络也被训练、以填补照片中缺失的补丁,与能够熟练处理图片的操作员的技能相匹配,同时能够比人更快地提供处理结果。而且,训练有素的神经网络甚至开始产生远超越技术娴熟的人类所能做出的成就,例如从非常差的曝光照片中产生可接受的图像(见图2b)。
图2a:现在深度学习算法在图像中精确识别物体的能力,已经能够与人类的能力相匹配。
因此,不出所料,计算机视觉开发人员正越来越多地将深度学习技术添加到他们的工具箱中(见图3)。EVA最近的调查结果显示,59%的视觉系统和解决方案开发者已经在使用DNN,比两年前的34%大幅增加。28%的人计划在不久的将来使用DNN用于视觉智能。总体来看,87%的开发者已经使用或计划使用神经网络来执行计算机视觉功能。
图3:87%的开发者已经使用或计划在不久的将来使用神经网络来执行计算机视觉功能。
趋势二、3D传感
2D图像传感器能够在许多嵌入式视觉系统设计中,实现巨大的视觉能力。然而,它们无法辨别物体与传感器之间的距离,这将导致某些视觉功能的实现非常困难或是无法实现。例如,手势接口实现。识别运动的能力,包括上下、左右和前后,能够大大扩展系统能够解读的手势的多样性、丰富性和精确性。或者是人脸识别情况(见图4):深度传感在“确定被识别的物体是真实的人脸而非人脸的照片”方面,也很有价值。
ADAS(汽车高级驾驶辅助系统)和其他受益于3D传感器的半自动和全自动设备应用也非常丰富。例如,你可以很容易地想象,在公路上,你不仅能够确定另一辆车或物体在你的前方或后方,而且还能准确地辨别它与你之间的距离。准确地确定车辆与限速标志之间的距离,对于确定多久必须把车速降下来、进而避免罚单同样非常有用。
同样,用于3d打印的3D物体扫描也是一个重要的应用案例。幸运的是,最近将3D光学传感器引入手机和汽车等大批量生产应用中,不但加速了创新,而且使尺寸、成本和3D传感的复杂性都有所降低(见图5)。3D相机模块通常包括某种形式的红外照明,其同样得益于最近显著的成本降低趋势,它在低光环境中以及在监控戴太阳镜的车辆驾驶员的注意力方面,非常有用。
图5:最新一代小型、低成本、低功耗3D相机实现了强大的视觉部署它们的红外照明模块同样越来越具有成本效益。
在微软Kinect游戏机外设首次亮相8年后,现在3D相机模块已经准备好部署在成本和功率敏感的应用中。计算机视觉开发者正在对3D传感采取积极行动和积极预测。EVA最近的调查显示,近30%的开发者已经在使用3D传感,26%的开发者计划近期内在其项目中采用3D传感功能(见图6)。
图6:55%的受访开发者表示,他们已经开始使用或计划近期在他们的计算机视觉项目中加入3D传感技术,该比例比去年增加了4%。
趋势三、更好的处理器
推动强大而广泛的视觉感知可部署性的最重要因素,是更好的处理器。“更好”是指更高的性能、更低的成本、更低的功耗,以及其他关键因素的改进。视觉算法对计算性能要求很高,各种嵌入式系统通常需要满足低成本和低功耗的要求。在数字无线通信和以压缩为中心的消费视频设备等其他应用领域,芯片设计人员通过使用专用协处理器和加速器,获得高性能、低成本和低功耗的极具挑战性的组合,从而实现应用中最苛刻的处理任务。然而,这些协处理器和加速器通常不能由芯片用户编程。
在很多标准应用中,这种权衡通常是可以接受的,因为在这些应用中,不同设计者使用的算法具有很强的通用性。然而,在视觉应用中,并没有标准来约束算法的选择。此外,视觉算法发展迅速,并且变化频繁。
因此,实现高性能、低成本、低功耗和可编程性的结合,是一项非常具有挑战性的工作,通常需要在异构计算体系结构中通过组合多种类型的处理器(cpu、gpu、fpga、DsP等)来实现。
基于机器学习的视觉处理,无论对于预先培训还是随后的推理任务而言,从计算和存储需求来看,都是资源密集型的工作。幸运的是,视觉处理器正在以惊人的速度发展,一方面开发速度非常快,另一方面来自数量庞大且仍在增长的技术供应商方面的竞争压力。例如,现在有50多家公司同时在为深度学习推理和/或训练开发处理器。在过去的几年中,深度学习加速的处理能力,已经有了两个数量级的提升,这些性能的提升与多方技术进步相结合,将使处理器的处理能力呈指数级增长。
EVA最近在开发者调查中收集的数据显示,深度学习专用处理器的采用显著增加;近1/3的受访者表示现在正在使用深度学习专用处理器,而两年前这一比例只有19%(见图7,由于调查对象要求标记所有他们的项目使用的处理器,所以总数超过100%)。这种趋势尤其令人震惊,因为在几年前,深度学习专用处理器还根本不存在。同样需要注意的是,其他处理架构通常用于各种视觉任务。
图7:被调查的开发者在他们的计算机视觉设计中使用的多种处理结构。
趋势四、软件和硬件的普及化
“普及化”意味着开发有效的计算机视觉系统和应用、以及大规模部署这些解决方案,正在快速变得越来越容易。为什么?主要有以下三大原因:
第一、深度学习使非专家能够使用样本图像数据(与手工设计的代码相比)更容易地创建功能性视觉系统。
第二、有了更高性能、更低成本的处理器和有效的开发工具。
第三、作为边缘处理的辅助或替代,云计算越来越普遍。
前两点已经讨论过,但第三点值得注意。云计算作为基于边缘视觉处理方法的辅助(如果不是替代的话),正变得越来越普遍。
“云vs边缘计算vs两者混合”的拓扑决策通常并不简单,“正确”的答案因应用和公司的不同而不同,甚至同一公司内的不同项目之间也不同(见图8)。
图8:边缘计算和云计算的性能比较。星星越多,优势越大。
云计算的有利因素包括:
上市时间:云计算的软件开发通常比嵌入式平台的软件开发更快捷、更容易。
可升级性:在限制范围内,用户可以轻松升级到更高性能的处理器、更大的内存容量、更多的硬盘存储、更新的操作系统和中间件版本等。当然用户也不能在云中升级所有东西,例如不能升级图像传感器。
准确性:用户可以在云中获得巨大的计算能力,因此可以运行更大的神经网络,也就是运行更复杂的算法,包括能够根据需要利用突发的额外处理能力。
分布式设备之间的协作:例如,如果你正在跟踪城市中行驶的车辆,那么就有必要在一个地理区域内收集信息。虽然云并不是实现这一点的唯一途径,但它能很方便地将来自许多分散边缘节点的信息结合起来。
设备成本:更低的物料清单成本、更小的电池等。当然以边缘为中心的方法有其自身优势。
无需经常性成本:不必为每次使用云计算处理、内存和存储资源支付费用。
网络连接性:通常根本不需要,或是不会经常需要。
带宽和延迟:当需要网络连接时,带宽和延迟要求会降低,因为在进入云传输之前,很大一部分数据处理已经在边缘设备上完成了。
隐私和安全:原始数据在边缘设备上处理,通常会立即丢弃。唯一能进入云端的信息是元数据,而且通常是匿名的。
EVA最新的开发者调查结果不出所料地显示,大多数受访者至少在边缘设备上做了一些神经网络推理(见图9,由于调查对象要求标记所有他们的项目使用的处理器,所以总数超过100%)。然而,近一半的受访者也在云中进行部分或全部推理。
图9:多数受访者至少在边缘设备上做了一些神经网络推理,近一半的受访者也在云中进行部分或全部推理。