基于图像小块的物体识别方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章基于小块的物体识别方法
2.1基本思想和优缺点
在众多物体识别方法中,基于图像小块(patch)的方法得到研究者们的青睐。简单来说,它在训练图片中选取一些小块作为单位,在小块上进行一些图像的基本操作,得到描述小块的特征;然后存储这些特征以供识别时使用。以机器学习的术语来说,它是典型的基于实例的学习,训练过程很短,甚至几乎等同于简单存储;而识别过程相对花时相对较长。然而相比更为复杂的基于物体部分进行识别的方法,这些时间还是相当短的。
2.1.1优点
基于图像小块(patch)的方法有以下几点优势。首先。它对于图像的表示比较干净灵活,目_抗各种变换(不仅仅是仿射变换,还有各种变形变换)能力强。选取小块的动作本身就能达到抗平移变换的效果,在小块上做适当的特征提取(如提取直方图)更能够抵抗小变形;相比之下旋转变换的解决更难一些,然Ifu这可以通过存储多个不同朝向的小块来解决。
其次,应用这种方法,在识别前不需要做分割(segmentation)或者其它任何预先的对于图像的语义解释,如边界抽取以获得不间断的闭合曲线边界。众所周知图像分割是著名的难解问题,边界抽取若没有适当的先验知识也是非常困难的;物体识别如果基于这些并不成熟方法的结果,则显然会进一步降低性能。不如直接使
用patch进行识别来的高效。
再次,小块方法不需要对数据做统计推断,速度快,稳定性好,没有陷入局部极小值的危险。与小块方法相联的机器学习算法往往相当简单,如K近邻,如SVM;相比之下基于部分的方法则更多地依赖于物体结构上的全局约束以解决局部的二义性问题,因此需要大量无法得到精确解的统计推断过程及相应复杂的近似算法。不幸的是,在大部分情况下这种推断既费时,又不讨好,得到的往往不是最优解。
最后,从实用的角度上看,小块方法实现简单方便,原理清晰易懂,综合性能也最好。如在Caltech-101数据库上结果最好的是伯克利大学所做的SVM-KNN[30] 这个是基于patch的。具体来说,这个算法准备了一些滤波器,在图像的patch上抽取滤波响应的直方图得到直方图特征;然后使用此特征计算两两照片之间的相似度,做成SVM的核并用直方图特征进行训练得到的。
2.2.2 Patch的选择方案
另一个困扰基于小块的物体识别方法的基本问题是patch如何选择。一张中等大
小的图像往往就包括成十万上百万的图像小块,将它们全部选中作为特征将会严重降低系统效能,包括1)识别速度下降2)存储量上升3)大量背景或者单色小块会降低系
统正确率。
针对此问题,Poggio等人使用了相当简单的办法:随机抽取小块。这种办法
能达到极快的速度,但是严格说来这种不顾图像内容预先决定的办法没有道理。
另有一些人采用机器学习的方法对patch进行选择;然Ifu由于patch的基数非常之大
(百万量级),光全部抽出来就要花时间,目‘无论是多快多简单的机器学习算法比
如K-Means C O (NK)的复杂度),都无法以高效率完成选择任务。
另一方面,许多人也注意到这个问题的视觉属性,Ifu采用视觉的方式来选
择小块。一个比较流行的方式是采用兴趣点检测(interest point detector)。在抽
取patch之前,先使用一些预先定义好的滤波器对图像进行处理,得到滤波器响应的
极大/极小点作为小块抽取的中心。著名的SIFT [7]就是这样找到这样的特征点的,另
外,还有一些其它的兴趣点检测方法,相关文献可见[}3} o
然Ifu相比物体识别,这样的做法对于图像匹配可能更为适用些。由于检测算法先于图像Ifu存在,它所使用的滤波器类别都是事先定好的,带有强烈的先验知识
和偏向。特别像如「5]这样的局部检测器,以某像素点为中心以圆域向四周扩展,直
到圆域内的某种统计特征(嫡)开始上升为止,更像是只为轮子Ifu设的特定目的检测器。这就与物体识别的根本宗旨,即一般性和普遍性,相违背。
在这里,本文就此问题提出了一种新方法。我们都有相似的“注意力(attention)被
吸引过去”的经验,即人类在观察图像时,总会被一些关键部分吸引过去,Ifu忽略掉
大部分的单色区域或者重复性区域。借鉴这个思路,可以先抽取值得注意的区域,再在这些区域上抓取小块。Ifu抽取值得注意的区域,我们可以使用自相似方法以避
免先验的混入。
算法上来说,给定一个像素点,我们以此为中心取一个小块,并和周围的小块相比较,得到此小块和周围相似性的度量。这样相似性低的点就有可能是关键点,抓patch会比较有利。为了进一步降低计算代价及减少连片出现的低相似度点,我们
在逐点算相似性之前,还做了边缘提取,并在之后的比较时只选取那些以边缘点为中心的patch。这一步的实验结果可见图2.2 0