我希望能够通过这个回答,说明几个概念之间的关系:包括计算机视觉(CV)、传统CV算法、机器学习、深度学习,以及其他可能涉及的概念。
先说最基础的概念,计算机视觉。根据维基百科的定义:
计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。
其中最后一句话,我想稍微做些扩展:计算机视觉的范畴,不仅是进行“图像处理”,还可以用于图像中的“信息抽取”,甚至是图像内容的“创造和生成”。确实,最初的计算机视觉算法,一大部分都关注于图像处理,比如将光学传感器获取的信号转换为人类容易理解的图像;时至今日,寻常场景中的图像处理算法已经非常成熟,所以计算机视觉界的研究兴趣更多地集中在高级语义理解(如分类、检测、分割等问题)甚至是更加困难的图像生成问题上。
如果题主所说的“传统CV算法”指的是这些已经被well-studied,甚至固化为硬件的算法,那么机器学习甚至深度学习(深度学习是机器学习的一个子集)就没有什么用武之地。但是题主举了个SVM的例子,于是我判断,题主也许并没有搞清楚机器学习和传统方法的分界在什么地方,以及为什么计算机视觉领域(甚至整个人工智能领域)需要引入机器学习方法来解决问题。
所有人工智能(包括计算机视觉)问题,大致都可以描述为这样一个数学问题:给定输入 和输出 ,寻找一个合适的函数 ,使得 能够最好地被满足。有些时候,这个函数很容易找出来。例如一张输入输入和输出 是一些关键点在两个不同观测视角下的坐标,而已知这两个视角之间满足某种仿射变换,那么就可以通过将定义为通用仿射变换,随后以这些采样到的关键点作为条件,求解仿射变换中的参数。在这个简单的理论基础上,发展出了若干图像配准算法,例如著名的张正友标定法[1],至今仍然被广泛应用于实际场景。这就是传统CV算法的典型案例。
那么为什么要引入机器学习呢?因为在许多情况下,这个的形式很难被手工定义出来。此时为了解决问题,人们只能进行各种假设,比如 可以通过某种函数形式 去逼近。举一个例子:我们要把一张RGB图像转化为一张灰度图像,但是没有任何方法能够建立在严格的数学证明上。此时,我们只能根据经验定义一个近似的线性函数:,然后根据经验和少量数据来确定其中的系数值 ——如今常用的一组系数是。注意,没有人证明这个线性函数一定是最优的,但是它能够在绝大部分情况下工作得很好,于是这个线性函数就一直沿用下来,成为CV通用的标准。
再说一个更复杂的例子:如果我们要从一张RGB图像 中识别它的语义标签 ,那么至少在当前的科技水平下,我们甚至连应该长什么样都不知道。于是人们采用了统计方法,从图像中抽取若干特征,然后使用来做近似,其中是可以学习的参数。由于特征的维度可能很高,因此最好能有大量的训练样本用于确定参数的值。为了降低这些依赖,人们设计了许多方法,其中题主提到的SVM就是一种基于松弛损失函数的方法,它能够很好地利用有限样本处理高维数据,减少模型的结构风险[2]以及过拟合等副作用。
最后是深度学习。上述机器学习方法,对于特征的设计提出了很高的要求。在计算机视觉领域,本世纪的前10年,见证了大量手工设计的图像特征[3][4],而这些方法在2011年前后遇到了不小的瓶颈。深度学习的思想,是采用更加自由的方式来定义 ,使得它(在数据量充足的情况下)更容易适应不同的问题。倒退10-15年,我们很难想象,一套相同的模型(卷积神经网络或者transformer)能够适应各类不同的视觉问题(如识别类、生成类、恢复类等)。这些都归功于深度学习:它提供了更大的特征空间,并且配套了一系列方法来进行复杂的优化。最后要强调的是,深度学习是机器学习的一个子集,最好不要把两者作为互斥的概念来讨论问题。
如果理解这些内容,我们就能够讨论题面了。传统CV算法和统计学习方法各有特点:前者应用范围受限,但是对数据依赖度低、求解比较稳定;而后者则恰好相反。在实际应用中需要采用什么方法,要看具体场景的特点。当然,不仅是问题本身,容错率、硬件配置、数据的数量和质量等,都会影响算法的选择;而根据场景选择方案,判断什么能做什么不能做,也是AI算法开发人员最需要的技能:这项技能比调参更难,收益也更大得多。
最后我要说,CV是永恒的问题,传统方法是固化下来的方法,而统计学习是暂时性的解决方案,是当前技术水平下的无奈之举——我们很难相信,这些方法会是CV或者AI的最终解决方案。归根结底,如果一个问题能够用传统方法来解决,说明人类对它的理解已经足够深入,因而这些传统方法值得被长期沿用下去(除非某些假设被推翻或者出于计算量等考虑需要做近似)。也就是说,传统方法大概率不会被替代,而现行的统计学习方法必须被替代,只是不知道下次革命会发生在什么时候。
参考
[1]Zhang Z. A flexible new technique for camera calibration[J]. IEEE Transactions on pattern analysis and machine intelligence, 2000, 22(11): 1330-1334.
[2]Vapnik V. The nature of statistical learning theory[M]. Springer science & business media, 1999.
[3]Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004, 60(2): 91-110.
[4]Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//2005 IEEE computer society conference on computer vision and pattern recognition (CVPR'05). Ieee, 2005, 1: 886-893.