“之前讨论过,虽然模板匹配提供了一种直接查找精确模式的方法,但当要寻找的物体与模板不完全匹配时,它很快就会遇到问题。这种敏感性表明了计算机视觉系统在尝试识别图像中的物体时面临的更普遍、更基本的问题。了解这些难题对于理解为何常常需要更先进的技术来说是很有用的。”接下来,我们来看一些使得物体识别对计算机而言成为一项复杂任务的常见因素:视角变化一个物体从不同角度看,外观可能截然不同。设想一个咖啡杯:从侧面看,它有一个把手和圆柱形。从正上方看,它像一个圆(或两个同心圆)。从下方看,它可能像另一个圆。一个为侧视图设计的简单模板在从上方观察时将无法找到这个杯子。人类可以轻松处理这种情况,但计算机算法需要能够适应这些视角变化。尺度变化物体离相机越近显得越大,离相机越远显得越小。我们的模板匹配方法在此方面遇到了困难。一个固定大小的汽车模板将只能匹配图像中特定尺寸的汽车。一个通用的物体识别系统需要识别物体,而不管它们在图像帧中显得多大或多小。光照变化物体外观受光照条件的影响很大。亮度: 同一个物体在阳光直射下可能显得明亮,而在阴影中则非常暗。这会大幅改变像素值。方向: 光线从不同方向照射到物体上,会产生不同的阴影和高光,改变其感知到的形状和纹理。颜色: 光源的颜色(例如,温暖的室内光与冷调的日光)会影响物体感知到的颜色。算法必须能够在光照有这些大的变化下识别物体。形变并非所有物体都是刚性的。想想识别一只猫。猫可以蜷缩成一团、伸展、端坐或行走。它的形状变化很大。识别可变形物体需要能考虑到这些形状变化的模型,这远超简单的模板匹配。遮挡现实中的物体常常被其他物体部分遮挡。你可能只看到柜台后的人的一部分、树后的汽车,或桌上被文件部分盖住的书。物体识别系统需要能够在物体只有一部分可见时也能识别它。这是一个重要的难题,因为可见特征可能有限或模糊。背景杂乱物体很少出现在单一、统一的背景中。它们通常位于复杂的场景内。将感兴趣的物体与周围的“杂乱”区分开可能会很困难,特别是如果背景与物体本身具有相似的颜色或纹理。想象一下试图在一堆叶子中找到一片特定的叶子,或者在一张米色地毯上找到一件米色毛衣。类内变化同一类别内的物体外观可能大不相同。设想“椅子”这个类别。有办公椅、餐椅、扶手椅、凳子、懒人沙发以及无数其他变体。它们的形状、大小、颜色、材料和风格各异。一个识别系统需要足够通用,以识别所有这些不同的实例都属于“椅子”类别,尽管它们在视觉上多种多样。“这些难题表明了为何物体识别是一个复杂的研究方向。像模板匹配这样的简单方法提供了一个起点,但它们对于大多数应用来说过于脆弱。由视角、尺度、光照、形状、遮挡、杂乱和物体固有多样性引起的问题,使得更精巧的方法成为必需。如前所述,许多现代解决方案很大程度上依赖机器学习技术来学习模式并构建对这些变化抵抗力更强的模型,这在您后续的学习中可能会遇到。”