1、【机器视觉】传统计算机视觉技术落伍了吗?不,它们 是深度学习的新动能新机器视觉2020-01-30 原文深度学习崛起后,传统计算机视觉方法被淘汰了吗?Deep Learning vs. Traditional Computer VisionNiall O Mahony, Sean Campbell, Anderson Carvalho, Suman Harapanahalli, Gustavo Velasco Hernandez, Lenka Krpalkova, Daniel Riordan, Joseph WalshIMaR Technology Gateway, Institute of
2、 Technology Tralee, Tralee, Irelandniall.omahonyresearch.ittralee.ie论文链接:https:/arxiv.Org/ftp/arxiv/papers/1910/1910.13796.pdf深度学习扩展了数字图像处理的边界。然而,这并不代表在深度学习崛起之前 不断进展进步的传统计算机视觉技术被淘汰。近期,来自爱尔兰垂利理工学院 的争辩者发表论文,分析了这两种方法的优缺点。该论文旨在促进人们对能否保留经典计算机视觉技术学问进行争辩。此外,这 篇论文还探讨了如何结合传统计算机视觉与深度学习。文中提及了多个近期混 合方法,这些方法既提升了
3、计算机视觉功能,又处理了不适合深度学习的问 题。例如,将传统计算机视觉技术与深度学习结合已经在很多新兴领域流行起 来,如深度学习模型尚未得到充分优化的全视野、3D视觉领域。深度学习VS传统计算机视觉深度学习的优势深度学习的快速进展和设备力量的改善(如算力、内存容量、能耗、图像传感 器辨别率和光学器件)提升了视觉使用的功能和成本效益,并进一步加快了此 类使用的扩展。与传统CV技术相比,深度学习可以挂念CV工程师在图像分 类、语义分割、目标检测和同步定位与地图构建(SLAM)等任务上获得更高 的精确 率。由于深度学习所用的神经网络是训练得到而非编程得到,因进,但也有可能是后退。本论文提到了该争辩的
4、正反方观点,但是假如将来的 方法仅基于数据驱动,那么争辩重点该当放在更智能的数据集创建方法上。 当前争辩的基础问题是:对于特殊使用的高级算法或模型,没有足够的数据。 将来,结合自定义数据集和深度学习模型将成为很多争辩论文的主题。因此争 辩者的输出不只涉及算法或架构,还包括数据集或数据收集方法。数据集标注 是深度学习工作流中的次要瓶颈,需要大量的手动标注工作。这在语义分割中 尤为明显,由于该领域需要精确标注每一个像素。20争辩了很多有用的半自动流程工具,其中一些利用了 ORB特征、多边形变形(polygon morphing)、半自动感爱好区域拟合等算法方法。克服数据缺乏、削减图像分类深度学习模
5、型过拟合现象最简约也最常见的方法 是,利用标签不变的图像变换(label-preserving transformation )人为地扩大数 据集。该过程叫做数据集添加,指基于己无数据通过剪裁、缩放或旋转等方式 生成额外的训练数据。人们期望数据添加步骤需要极少的计算,且可在深度学 习训练流程中实现,这样变换后的图像就不必存储在磁盘中了 数据添加使用 的传统算法方法包括主成分分析(PCA)、噪声添加、在特征空间的样本之间 进行内插或外推,以及基于分割标注建模视觉语境周边物体。(来源于机器之 心,)守制造成工业互联网此使用该方法的使用所需的专家分析和微调较少,且能够处理目前系统中的海 量可用视频数
6、据。深度学习还具备绝佳的机警性,由于对于任意用例,CNN 模型和框架均可使用自定义数据集重新训练,这与CV算法不同,后者具备更 强的领域特定性。以移动机器人的目标检测问题为例,对比这两类计算机视觉算法:传统计算机视觉方法使用成熟的CV技术处理目标检测问题,如特征描述子(SIFT、SUR、BRIEF等)。在深度学习衰亡前,图像分类等任务需要用到特 征提取步骤,特征即图像中好玩、描述性或信息性的小图像块。这一步可 能涉及多种CV算法,如边缘检测、角点检测或阈值分割算法。从图像中提取 出足够多的特征后,这些特征可构成每个目标类别的定义(即词袋)。部 署阶段中,在其他图像中搜索这些定义。假如在一张图像
7、中找到了另一张图像 词袋中的绝大多数特征,则该图像也包含同样的目标(如椅子、马等)。传统CV方法的缺陷是:从每张图像中选择重要特征是必要步骤。而随着类别 数量的添加,特征提取变得越来越麻烦。要确定哪些特征最能描述不同的目标 类别,取决于CV工程师的推断和长期试错。此外,每个特征定义还需要处理 大量参数,全部参数必需由CV工程师进行调整。深度学习引入了端到端学习的概念,即向机器供应的图像数据集中的每张图像 均己标注目标类别。因此深度学习模型基于给定数据训练得到,其中神经 网络发觉图像类别中的底层模式,并日动提取出对于目标类别最具描述性和最 显著的特征。人们普遍认为DNN的功能大大超过传统算法,虽
8、然前者在计算 要求和训练时间方面有所取舍。随着CV领域中最优秀的方法纷纷使用深度学 习,CV工程师的工作流程消灭巨大转变,手动提取特征所需的学问和专业技 能被使用深度学习架构进行迭代所需的学问和专业技能取代(见图1)oFeature Engineering (Manual Extractjon+Selection)Classifier with shlow structure(a)Feature Learning + Classifier (End-to-End Learning) (b)图I: a)传统计算机视觉工作流vs b )深度学习工作流。(图源:8)近年来,CNN的进展对CV领域产生
9、了巨大影响,也使得目标识别力量消灭 大幅提升。这种迸发与算力的提升、训练数据量的添加密不行分。近期CV领 域中深度神经网络架构消灭井喷并得到广泛使用,这从论文ImageNct Classification with Deep Convolutional Neural Networks援用量超 3000 次中 可见一斑。CNN利用卷积核(又称滤波器)来检测图像中的特征(如边)。卷积核是权 重矩阵,这些权重被训练用于检测特定特征。如名字所示,CNN的次要思想 是在给定输入图像上空间性地卷积内核,检查能否消灭检测所需特征。为了用 数值表示消灭某个特征的相信度,神经网络执行卷积操作,即计算卷积核与它
10、和输入图像堆叠区域的点积(卷积核正在查看的原始图像区域叫做感受野)。 为了促进卷积核权重的学习,争辩人员向卷积层的输出添加偏置项,并馈入非 线性激活函数中。激活函数通常是非线性函数,如Sigmoid、TanH和ReLU。 激活函数的选择取决于数据和分类任务的性质。例如,RcLU具备更多生物表 征(大脑中的神经元能否处于激活形态)。因此,在图像识别任务中,ReLU 会得到更好的结果,由于它对梯度消逝问题具备更强的抵制力,而且它能够输 出更稀疏、高效的表征。为了加速训练过程,削减网络消耗的内存量,卷积层后通常跟若一个池化层, 用于移除输入特征中的冗余部分。例如,最大池化在输入上移动窗口,仅输出 窗
11、口中的最大值,从而高效削减图像中的冗余部分,留下重要像素。如图2所 示,深度CNN可能具备多对卷积和池化层。最终,全连接层将上一层压缩为 特征向量,然后输出层利用密集网络计算输出类别/特征的分数(相信度或概率)。将该输出输入到回归函数中,如Softmax函数,它将全部事物映射为向量旦其中全部元素的总和为1。量旦其中全部元素的总和为1。convolution nonlinearitymax poolingconvolution pooling layers图2: CNN构造块。(图源:13)但是深度学习仍旧只是CV领域的工具。例如,CV领域中最常用的神经网络 是CNNo那么什么是卷积呢?卷积广泛
12、使用于图像处理技术。(深度学习的 优点很明确,本文暂不争辩当前最优算法。)但深度学习并非处理全部问题的 万灵药,下文将引见传统CV算法更适合的问题及使用。传统CV技术的优势这部分将具体引见基于特征的传统方法在CV任务中能够无效提升功能的缘 由。这些传统方法包括:尺度不变特征变换(Scale Invariant Feature Transform , SIFT ) 14加速稳健特征(Speeded Up Robust Feature , SURF ) 15基于加速分割测试的特征(Features from Accelerated Segment Test , FAST) 16霍夫变换(Hough
13、 transform ) 17几何哈希(Geometric hashing ) 18特征描述子(如SIFT和SURF)通常与传统机器学习分类算法(如支持向量 机和K最近邻算法)结合使用,来处理CV问题。深度学习有时会过犹不及,传统CV技术通常能够更高效地处理问题,所 用的代码行数也比深度学习少。SIFT,甚至简约的颜色阈值和像素计数等算 法,都不是特定于某个类别的,它们是通用算法,可对任意图像执行同样的操 作。与之相反,深度神经网络学得的特征是特定于训练数据的。也就是说,假 如训练数据集的构建消灭问题,则网络对训练数据集以外的图像处理效果不 好。因此,SIFT等算法通常用于图像拼接/3D网格重
14、建等使用,这些使用不需要 特定类别学问。这些任务也可以通过训练大型数据集来实现,但是这需要巨大 的争辩努力,为一个封闭使用费这么大劲并不实际。在面对一个CV使用时, 工程师需要培育选择哪种处理方案的常识。例如,对流水线传送带上的两类产 品进行分类,一类是红色一类是蓝色。深度神经网络需要首先收集充分的训练 数据。然而,使用简约的颜色阈值方法也能达到同样的效果。一些问题可以使 用更简约、快速的技术来处理。假如DNN对训练数据以外的数据效果不好,怎样办?在训练数据集无限的情 况下,神经网络可能消灭过拟合,无法进行无效泛化。手动调参是格外困难的 事情,由于DNN拥无数百万参数,且它们之间的关系错综简单
15、。也因此,深 度学习模型被批判为黑箱。传统的CV技术具备充分的透亮 性,人们可 以推断处理方案能否在训练环境外无效运转。CV工程师了解其算法可以迁移 至的问题,这样一旦什么地方出错,他们町以执行调参,使算法能够无效处理 大量图像。现在,传统CV技术常用于处理简约问题,这样它们可在低成本微处理器上部 署,或者通过突出数据中的特定特征、添加数据或者协助数据集标注,来限定 深度学习技术能处理的问题。本文稍后将争辩,在神经网络训练中可使用多少 种图像变换技术。最终,CV领域存在很多更具挑战性的难题,比如机器人 学、添加现实、自动全景拼接、虚拟现实、3D建模、运动估量、视频稳定、 运动捕获、视频处理和场
16、景理解,这些问题无法通过深度学习轻松实现,但它 可以从传统CV技术中受益。传统CV技术与深度学习的融合传统CV+深度学习=更好的功能传统CV技术和深度学习方法之间存在明确的权衡。经典CV算法成熟、透 亮 ,且为功能和能效进行过优化;深度学习供应更好的精确 率和通 用性,但消耗的计算资源也更大。混合方法结合传统CV技术和深度学习,兼具这两种方法的优点。它们尤其适 用于需要快速实现的高功能系统。机器学习度量和深度网络的混合已经格外流行,山于这可以生成更好的模型。 混合视觉处理实现能够带来功能优势,且将乘积累加运算削减到深度学习方法 的130-1000分之一,帧率相比深度学习方法有1()倍提升。此外
17、,混合方法使 用的内存带宽仅为深度学习方法的一半,消耗的CPU资源也少得多。充分利用边缘计算当算法和神经网络推断要在边缘设备上运转时,其延迟、成本、云存储和处理 要求比基于云的实现低。边缘计算可以避开网络传输敏感或可确认数据,因此 具备更强的隐私性和平安性。结合了传统CV和深度学习的混合方法充分利用边缘设备上可猎取的异质计算 力量。异质计算架构包含CPU、微把握器协同处理器、数字信号处理器 (DSP)、现场可编程规律门阵列(FPGA)和AI加速设备,通过将不同工作 负载安排给最高效的计算引擎来降低能耗。测试实现证明,在DSP和CPU上 分别执行深度学习推断时,前者的目标检测延迟是后者的格外之一
18、。多种混合方法证明白其在边缘使用上的优势。使用混合方法能够高效地整合来 自边缘节点传感器的数据。不适合深度学习的问题CV领域中存在一些难题,如机器人学、添加现实、自动全景拼接、虚拟现 实、3D建模、运动估量、视频稳定、运动捕获、视频处理和场景理解,它们 很难通过深度学习以可微方式轻松实现,而是需要使用其他传统技术。 下文引见了 CV领域中的一些新兴问题,在这些问题中深度学习面临新挑战, 而经典CV技术能够发挥更大作用。3D视觉3D输入的内存大小比传统的RGB图像大得多,卷积核必需在三维输入空间中 执行卷积(见图3) o因此,3D CNN的计算简单度随着辨别率呈现三次方增长。相比于2D图像处 理
19、,3D CV更难,由于添加的维度使得不确定性也随之添加,如遮挡和不同的摄像头角度(见图4)。下一节将涉及处理多种3D数据表征的处理方案,这些方法具备新架构和预处 理 步 骤, 公 用 于 处 理 上 述 挑 战。几何深度学习(GDL)将深度学习技术扩展到3D数据。3D数据的表征方式 多种多样,总体上可分为欧几里得和非欧几里得。3D欧几里得结构化数据具 备底层网格结构,允许全局参数化,此外,它还具备和2D图像相同的坐标系 统。这使得现有的2D深度学习范式和2D CNN可使用于3D数据。3D欧几 里得数据更适合通过基于体素的方法分析简约的刚性物体,如椅了、飞机等。 另一方面,3D非欧几里得数据不具
20、备网格数组结构,即不允许全局参数化。 因此,将经典深度学习技术扩展到此类表征是格外难的任务,近期52J提出 的Pointnet处理了这个难题。对目标识别有用的连续外形信息经常在转换为体素表征的过程中丢失。使用传 统CV算法,53提出可使用于体素CNN (voxel CNN)的一维特征。这种基 于平均曲率的新型旋转不变特征提升了体素CNN的外形识别功能。该方法使 用到当前最优的体素CNN Octnet架构时取得了极大成功,它在ModcINetlO 数据集上取得了 1%的全体精确率提升。SLAM视觉SLAM是SLAM的子集,它使用视觉系统(而非激光雷达)登记场景中 的路标。视觉SLAM具备摄影测量
21、的优势(丰富的视觉数据、低成本、轻量 级和低能耗),且没有后处理通常需要的繁重计算工作负载。视觉SLAM包 含环境感知、数据婚配、运动估量、位置更新和新路标登记等步骤。对在不同条件(如3D旋转、缩放、光照)中消灭的视觉对象建模,以及使用 强大的迁移学习技术扩展表征以实现zero/one shot learning,是一道难题。特 征提取和数据表征方法可以无效地削减机器学习模型所需的训练样本数量。 图像定位中常使用一种两步方法:位置识别+姿态估量。前者使用词袋方法, 通过累积局部图像描述子(如SIFT)来计算停个图像的全局描述子。每个全 局描述子均被存储在数据库中,一同存储的还有生成3D点云基准
22、图的摄像头 姿态。从query图像中提取出类似的全局描述子,数据库中最接近的全局描述 子可以通过高效搜索检索出来。最接近全局描述子的摄像头姿态可以挂念我们 对query图像进行粗略定位。在姿态估量中,使用Perspective-n-Point (PnP) 113和几何验证等算法更精确地计算query图像的精确姿态。 基于图像的位置识别的成功很大程度上归功于提取图像特征描述子的力量。不 幸的是,在对激光雷达扫描图像执行局部特征提取时,没有功能堪比SIFT的 算法。3D场景由3D点和数据库图像构成。一种方法是将每个3D点与一组 SIFT描述子结合起来,描述子对该当点被三角化的图像特征。然后将这些描
23、 述子平均为一个SIFT描述子,来描述该点的外观。另一种方法基于RGB-D数据构建多模态特征,而不是深度处理。至于深度处 理部分,争辩者接受基于表面法线的着色方法,由于它对多种任务无效且具备 稳健性。另一种使用传统CV技术的替代方法提出基于图的层级描述子Force Histogram Decomposition (FHD),它可以定义对象的成对结构化子部分之间的 空间关系和外形信息。该学习步骤的优势是与传统词袋框架兼容,从而消灭结 合了结构特征和局部特征的混合表征。360度摄像头由于球面摄像头的成像特点,每张图像都能够捕获到36()度全景场景,衰退了 对转向选择的限制。球面图像面临的一个次要挑
24、战是超广角鱼眼镜头导致的严 峻桶形畸变,这添加了受传统人类视觉启发的车道检测和轨迹追踪等方法的实 现简单度。这通常需要额外的预处理步骤,如先验校准(prior calibration)和 dewormingo 60提出的一种替代方法将导航看作分类问题,从而绕过了预处 理步骤,该方法基于原始未校准球面图像找出最优潜在路径方向。全景拼接是该领域的另一个开放性问题。实时拼接方法161使用一组可变形 网格和最终图像,并结合利用稳健像素着色器的输入。另一种方法62将儿 何推理(线和消逝点)供应的精确率和深度学习技术(边和法线图)实现的更高级数据提取和模式识别结合起来,为室内场景提取结构化数据,并生 成规划假设。在稀疏结构化场景中,由于缺乏明显的图像特征,基于特征的图 像配准方法通常会失败。这时可使用直接的图像配准方法,如基于相位相关的 图像配准算法。23争辩了基于判别相关滤波器(DCF)的图像配准技术,证 明基于DCF的方法优于基于相位相关的方法。数据集标注和添加对于CV和深度学习的结合存在一些反对意见,总结为一句话就是:我们需要 重新评估方法,不管是基于规章的方法还是数据驱动方法。从信号处理的传统 角度来看,我们了解传统CV算法(如SIFT和SURF)的运算内涵,而深度 学习无法呈现这些意义,你所需要的只是更多数据。这可以被视为巨大的前