xjc-beyond sliding windows-Object Localization by Efficient Subwindow Search

摘要
绝大多数成功的物体认知系统都依赖于二值分类,但它们只是判断一个物体当前存在还是不存在,不给出实际物体的位置信息。为了实现定位,人们可以利用动滑窗口的方法,但是这种方法由于分类器函数必须评估大量的候选子窗口,会大大增加计算量。
在这篇文章中,我们提出一种简单但是非常强大的分支限界法。它能使基于所有可能的子图像的大类分类函数效率最大化。它将求解全局最优化问题的时间转换成亚线性的。我们可以论证这个方法是适用于不同的对象检测和检索情况。我们已经取得成功的加速方法允许使用分级器来进行定位。相比起来,原先的一些方法,例如SVMs利用基于卡方距离的空间金字塔或最近邻分级器来实现这一任务,运算起来非常缓慢。
1.引言
最近几年,在对自然图片分类认知领域的研究有巨大的进步。识别率在95%以上是规则而不是在许多数据集合上的例外。然而,在它们基本形式中,许多最先进的方法只是解决二值分类问题。只是判断一个物体当前存在还是不存在,但不给出物体在照片中的准确定位。
物体定位对于自动理解图片是很重要的,比如将物体与背景分隔开,或者分析一幅图中不同物体的空间关系等。为了将这个功能加入到一般情形的物体分类系统中,滑动窗的方法是目前最先进的。绝大多数在图像识别与物体分类挑战成功的定位技术都基于滑动窗口检测技术。滑动窗算法将定位视为局部检测,在子图像之后,应用一个分类器函数,取最大的分类得分窗口作为显示一个物体在这一地区存在的位置。然而,一张320 * 240的低分辨率图片包含多于十亿矩形子图像。通常地,子图像的数目随着n的四次方成指数增加,这就使得计算起来特别费时。相反地是,倘若人们用启发式的搜索来加快搜索,这会增加定位错误或者定位缺失。
在这篇文章中,我们提出一种物体定位方法,没有上述的缺点。它基于分支限界法来找到所有子图像质量函数的全局最优解,返回与使用滑动窗口方法相同的物体的位置。同时,它比图像的候选区域,甚至像素点需要更少的分级器,更特别的是,它的运行时间是线性或者更快。
ESS这个方法的详细内容在第二部分解释。ESS通过局部定位或者分级器的局部图片搜索进行物体定位,这种方法在以前是无法使用的,因为它们太慢或者在分类得分中生成出许多最大值。我们在第3到5部分会描述我们的方法,论证它的先进性。首先,我们给出其他物体定位的方法和这些方法同ESS之间的联系。
1.1、基于滑动窗口的物体定位
在文学中,物体定位有许多不同的定义方法。特别地,它们在形式上不同。一幅图中物体定位通过它的中心点,等高线,边界框,或者按像素尺寸分割来描述。接下来,我们只研究在物体周围寻找边界框 这种定位技术。这是在参数简单性和对随后场景的理解表达能力之间的一个合理的妥协。这种方法的一个额外的优点是边界框定位比按像素分割更容易提供地面实况的注释。
在研究用边界框对物体定位的领域内,滑动窗口方法使用了许多年。他们估计质量函数f,分级器的得分,取最大值作为物体的定位点。在形式上,我们写出如下表达形式:
R_obj=〖argmax〗_(R⊆I) f(R)
其中R包含图片I中的所有矩形域。因为n*n的图片中矩形的数目是n的四次方,最大值通常不能穷尽出来。相反地是,许多启发式搜索被提出来用以加速搜索。特别地,这里面包含减少必要函数估计数量,由于只通过搜索粗网格的矩形的位置和只有某些固定大小的作为候选的矩形而造成的。作为选择地是,局部最优化方法而不是全局方法能够应用,首先通过鉴别图片中有可能是的区域,然后从那里通过离散梯度值上升过程使质量函数f最大值化。
简化的搜索技术通过牺牲定位的鲁棒性来获得可接受的搜索速度。他们潜在的假定是质量函数是平滑的并且变化是平缓的。这会导致错误的估计或者完全错过物体位置,尤其是如果分级器函数的最大值是在参数空间中的急剧的最高点上取得。然而,这样一个最大值正是我们想要通过更精确可靠的物体定位来实现的。
2、高效的子窗口搜索
与近似方法作为对比,,ESS方法保证能够寻找到全局最大的区域,并且不依赖f的质量景观形状。同时,ESS运算非常快,,因为它依赖于分支限界搜索而不是穷尽搜索。这一优势使得它可以使用更复杂更好的分类器。
ESS也和以前物体定位的分支限界方法不同,因为它在选择质量函数时是非常灵活的。以前的方法会受到寻找简单的参数物体像线和圈的限制,或者是受到近邻分类使用固定L^2之间的距离特性,在一个图像集的原型中的限制。据我们所知,ESS是当今唯一的高效的方法,能够对任意物体找到全局最优的位置同时结果又和穷尽的滑动窗口搜索近似相等。
2.1、分支限界搜索
ESS内在的直觉如下所示,即使有许多候选的区域供我们搜索,只有很少一部分能够包含物体的距离。这对所有候选区域评估质量函数来说是非常浪费的。相反,人们应该直接将目标搜索定位到得分最高的区域,忽视剩下可能的搜索空间。
分支限界的架构是目标搜索。它将参数空间分裂成不相交的子集,同时维持所有子集最大质量的边界。使用这种方法,大部分低于之前计算保证分数的参数空间可以在搜索过程中早早地丢弃。
对于ESS,参数空间是一幅图片中所有可能的矩形集合,它的子集通过采取对候选的矩形值的限制形成。我们用高低左右四个坐标参数化来表示长方形。将不确定性用间隔值来体现而不是用每个坐标点。这将矩形集合有效的表示成矩阵,在图一中列举出来。
对于每个矩阵集合,我们计算一个得分最高的边界,其质量函数在任何一个矩形框中都能适用。当ESS检测到一个同所有剩余的上界候选区域得分至少一样的矩形框时,它就会终止。这保证能够找到全局最大值。如果能获得足够紧密的边界,复杂性表明,ESS能够比最坏的情形更快的收敛于全局最优解。在我们的实验中,复杂度是O(n^2)而不是O(n^4).
ESS用最佳优先方法进行搜索,总是检查哪些看起来最有希望是的矩形集合。候选集合按照最大的坐标分成一半,因此形成两个分开的候选集合。如果与最有希望的矩形集合包含单独的一个矩形并且保证这是全局最高得分,那么搜索就不再进行下去。算法一给出了ESS使用一个优先队列来控制搜索状态的伪代码。
提供两个额外的扩展的基本搜索方案功能:喜欢特定形状的盒子可以在f中加入几何惩罚项。例如,高斯分布最大值在某一尺寸大小或者某一长宽比的矩形中取到。当然,这一项必须将f的边界值考虑在内。
为了在一幅图中找到多目标物体定位,最佳优先搜索可以重复执行。无论何时,一个物体被找到,相应的区域会从图片中移除直到最后全部搜索完。与找到最佳位置后继续简单地搜索作对比,这种方法避免了在滑动窗口搜索中经常使用的非极大值抑制。
2.2、边界的质量函数
对于给定的质量函数f,为了使用ESS,我们需要一个f ̀,限定f的边界取值。用R表示矩形,用花R表示矩形的集合,边界必须满足下面两个条件
f ̂(R)≥max┬(R∈R)⁡f(R)
ii) f ̂(R)=f(R)
条件一确保f ̀是f的上边界,条件二保证算法给出的最优解。
注意到对任何f,f ̀都有连续边界。一方面,我们可以通过穷尽搜索去得到条件一中准确的等式;另一方面,我们可以通过将f ̀设定为一个大的常数除了单独的矩形。一个好的边界能够在这些极端条件下定位到,同时可以保证快速地收敛。在接下来的部分中,我们会展示对于不同的f如何给定不同的f ̀。
3、应用一:通过视觉词袋模型定位非刚性的物体
我们首先论证ESS在一般物体分类定位中的现状。充分利用视觉词袋模型:对每个训练图片I^1,…,I^N,我们提取出局部图象描述符,比如SIFT。利用视觉词袋原型的codebook算法,结果描述符是量化矢量。我们获得位置的关键点x_j^i和离散聚集索引c_j^i∈{1,…,K}。
我们用图片的集群直方图来表示图片或者区域,通过直方图来计算每个聚集索引发生的特征点。训练图片的直方图用于矢量向量机。为了分类一个新的图像中是否含有物体,我们构造它的直方图h,基于SVM决策函数的值来决定判断。尽管简化了,这个方法的变体在物体分类中仍然取得很大成功。
3.1、构造质量范围
为了定位,首先在直方图上假设一个核线性。在它的规范形式中,与之相关的支持向量机决策函数是f(I)= β+∑_i▒〖α_i 〈h,h^i 〉 〗,h^i表示训练样本的直方图,α_i,β是权重和斜率。因为内积的线性,我们可以重新将表达式写成下面的式子,
f(I)= β+∑(J=1)^N▒w(c_j )
这个式子,用R中的特征点求和来估计f。当我们只对R中的f最大值感兴趣时,我们可以忽略斜率β。
那么现在构造f ̀作为f的矩形集合的边界是就很简单了。f=f^++f^- f^+表示所有正的加数,f^-表示所有负的加数。如果我们用R_max表示最大的矩形,用R_min表示最小的矩形,那么等式可以改写成下面所示
(f ̀(R)= f^+ (R_max )+ f^- (R_min)) ̀
同时,我们参数化的矩阵能够高效的计算R_max和R_min的位置。遍历图一中每个个体坐标间隔的极小值到极大值。利用积分图像,我们可以估计f^+和f^-,因此可以估计f ̀的时间操作。因为估计时间独立于R中包含的矩形数目,这也是我们ESS方法为什么如此快速的原因。
3.2、实验
视觉词袋模型忽视图片中所有特征值点的空间关系。这在几何体中的总的不变性,形状和视角使视觉词袋模型分类器尤其是能够检测对象类,对于许多动物,在看起来一样的情况下显示大量的方差。我们可以利用形状主导的几何信息的情形,这在第四部分进行解释。
3.2.1、PASCAL VOC 2006 数据集
在第一组实验中,我们用PASCAL VOC 2006 数据集测试了基于视觉词袋模型猫狗分类的定位。这个数据集包含5304个现实图片并且一共有10类大约9507个物体。这组数据集被分成两部分,一部分是用来训练,我们所有的算法都在上面实现;另一部分是测试部分,它被保留下来为了最后的评估。
为了视觉词袋模型的展示,我们从关键位置中和规则的格子中提取出特征值,然后用1000背景建模算法,通过K平均算法生成的一个随机的50000注释符的子集。对于积极训练的例子SVM,我们用数据集提供的地面实况边界框。对于消极训练的例子,我们从图像负类标签和对象以外的积极区域标记图像取样本框区域。
为了测量系统在单纯定位任务的运行情况,我们只将ESS适用于测验图像,其中包含被定位的物体。对于每个图像,我们返回一个最佳的物体位置并且评估得分:如果检测盒子与真实的盒子之间重叠部分至少有50%,我们就认为这个检测的边界框是一个正确的匹配。对于每一个检测分配一个信心分数,我们对整幅图片的质量函数设定一个值。图2中包含了结果的准确率和召回率图。曲线的最右边的点对应于每一个图像返回的一个对象。在这一点上的操作上,所有返回的猫边界框大约有55%是正确的和所有返回的狗边界框大约有47%是正确的。将曲线移向左边,只有得分高的物体才包括在内。这增加了定位的准确性。
目前,还没有人发表在PASCAL VOC数据集上单纯定位的结果,我们也完成更常见的定位和检索相结合的评估方法。这个方法使用与所有检测数据集,无论图片中是否包含物体。这个算法的任务是避免分配较低信心分数而造成假正性。算法的性能是在由PASCAL VOC挑战中提供的评估软件测量的:准确率和召回率曲线,计算平均准确率,是在不同时间间隔的最大精度。图1是结果,展示了ESS在VOC2006或之后的出版物中改进了最佳结果。要注意的是,在图1中的平均精度与图2中没有可比性,因为实验中用的测试数据集合不一样。
3.2.2、PASCAL VOC 2007 挑战
一个比PASCAL VOC 2006更大、更具有挑战性的数据集。它由9963张图片包含24640个物体样例组成。我们同上述方法一样,训练我们的系统,只不过是用2007这个数据集合对多视角的物体进行定位。在这次挑战中,参与者无法获得地面真理的测试数据,但是必须提交他们的定位结果,然后组织者对这些结果进行评估。这种评估形式允许在一个公平的基础上比较不同的方法,不太可能使算法调整到特定的数据集。
ESS在这些分类中明显地比其他的方法要好,它在猫和狗的分类的平均精度得分分别是0.24,0.162,而第二名则分别是0.132,0.126.通过采用一个更好的基于图像的排序算法,我们能够将得分分别提高到0,331和0.177.后面的结果是正在进行的第二轮竞争的一部分。
此外,我们用在2007训练库中训练的系统,在2006测试集合中评估它的表现。结果在图2中显示。这个结合比在2006数据中的训练达到了更高的查全率和查准率,显示了我们的ESS算法在词袋挑战中适用很好,并且能够在2007年的数据集做出积极的使用更多的训练图像。 
3.3定位速度
因为我们用滑动窗口的方法优化质量函数,通过穷举图片中所有矩形的质量函数可以得到相同的分数。然而,这只具有理论可能性,因为在实际中这种方法非常慢。因为绝大多数的图片尺寸在500*333和640*480像素点之间,对于每张图,一个穷尽的滑窗分级器平均大概需要100亿个分级器评估。与这种方法形成对照,ESS需要的分级器少于20000个,平均每一像素点值只需少于0.1个评估。这导致在一台CPU为2.4GHz的电脑上搜索每张图片的时间在40ms以下。建立一个这样可观运算速度的滑动窗口分级器会将空间精度的需求减少到20*20像素点,如图3所示。
4、应用二:用空间金字塔算法定位刚性物体
对于刚性和人造的物体比如汽车和建筑物,在前面的章节中介绍了比视觉词袋模型更好的表现方式。尤其是对特征的空间金字塔分层非常成功。这些方法是用不同尺寸大小的矩形框去覆盖图片并且计算每个格子的直方图这种方式形成的。文献14中有更加详细的介绍。
空间金字塔算法在定位时非常成功,但是它们受限于金字塔的数目(一般是2或3)。此外,为了使算法的复杂性在一个可以接受的水平上,启发式剪枝技术是很有必要的。在接下来的内容了,我们展示了ESS算法是如何克服这种限制并且比使金字塔细粒度在10水平同时没有丢失有前可能存在对象的位置的风险。
4.1、空间金字塔内核的分类
我们在空间金字塔分布直方图中充分利用线性核的支持向量机分类器。决策函数用下式进行计算:
f(I)= β+∑(l=1)^L▒∑█(i=1…l@j=1,…l)▒∑(K=1)^N▒〖α_K^(l(i,j)) 〈h(l,(i,j),) h_(l,(i,j))^k 〉 〗
h_(l,(i,j),)表示落入(i,j)格子中的图片I的所有特征点的直方图。α_K^(l(i,j))是SVM学习每个直方图的系数。
由于内积的线性,我们可以将上式转变成每点贡献值累和的形式并用来评估子图像:
f(R)= β+∑(m=1)^n▒∑(l=1)^L▒∑█(i=1…l@j=1,…l)▒w(c_m)^(l,(i,j))
当特征点x_m有类标号c并且落入R中第l个水平坐标(i,j)的格子时,w_(c_m)^(l,(i,j))=∑k▒〖α_K^(l(i,j)) h(l,(i,j);c)^k 〗。否则,我们把w_c设置为0.同以前一样,我们可以忽略斜率β。
同等式2做个比较,我们可以看出等式5是视觉词袋模型贡献的累加和。正如在前面一节解释的那样,我们对这些参数进行约束:对于每个给定的矩形集合R,我们计算一个网格最大可能值和最小可能值,用R_max和R_min表示。将落入R_max中所有的正权值特征点加起来我们可以得到最大值,将所有落入R_min负权值特征点加起来我们可以得到最小值。决策函数f的最大值可以通过将所有层次和单元的边界加起来。如果我们用两个积分图像,估计f的复杂度就变为常数。这表明对空间金字塔表示,高效的分支限界搜索方法是可能的。
4.2、伊利诺斯汽车数据集
我们用伊利诺斯汽车数据集进行测试,这是一个单一视角的刚性物体图片。一共有1050个训练图片固定尺寸是100*40像素点。有550个是汽车的侧视图,剩下的是其他场景或对象。有两个不同解决方法的两组测试数据集。第一组是由170张图片组成,包含从侧面拍的200辆汽车,每个图片占100*40个像素点。第二组是由107张图片组成,包含139辆汽车,尺寸在89*36和212*85之间。我们使用数据集的原始设置,任务只是单纯的定位。地面实况注释和评价软件都由数据集的创造者提供。
4.3、实验
从伊利诺斯汽车数据集中,我们提取出特征值注释符,在稠密的像素点上并利用它因为训练图片要么已经恰好地显示一个汽车要么没有,所有我们不需要附加的边界框信息,也不用再对整幅图片中用空间金字塔内核支持向量机训练。我们在L=1和10之间改变金字塔层次。因此,最精密的金字塔使用从1*1到10*10的所有格子,一共产生了385个局部的直方图。图4展示了一个来自训练集合的样例,学习分类器的权重是不同的金字塔水平,通过他们直方图的总能量而形象化。在粗糙水平下,相比于汽车的上半部分,更多的重量分配在汽车的下半部分。在精密的金字塔水平下,在车轮处具体特点的区域变得很有差别然而在上面和下面的角落差别可以忽略。
在测试的时候,如同在2.1部分所描述的,我们在每幅测试图片中搜索最好的三张汽车子图片。对于每一次检测,我们都用质量得分作为信心分数。和伊利诺斯汽车数据集共同之处是,我们用准确率-召回率曲线来评估系统的表现。图5向我们展示了不同金字塔水平的曲线。表2是同当前发表的使用ESS方法的结果相比较,准确率等于召回率的每一点处的错误率。注意到相同的数据集也被用于许多其他设置,如使用不同的训练集或评价方法。因此,结果没有可比性,我们也没有包含它们。
表格显示平滑的视觉词袋内核算法适用于单一规模测试集但不适用于多种规模的数据集。使用ESS和更精细的空间网格可以提高错误率,达到这个水平,优于所有以前公布的方法,在多尺度数据集和只有一个单一的规模数据集方面。
注意到对于单一规模测试集,一个固定尺寸100*40的直接滑动窗口方法,计算起来也是可行的。然而,这并没有优于ESS,因为ESS需要更少的分离器评估,同时允许同样的学习模型应用到多尺度的测试集,而不用再次训练。
5、应用三:用χ^2距离测量图像检索
ESS能够应用到许多领域而不仅仅是物体定位。在接下来的内容中,我们会简要描述一下我们怎样用ESS来进行图像检索,从一个基于只匹配目标图片一部分的数据集中检索图片。这不仅可以让我们搜索物体和人们,还可以搜索互联网图像集合或视频档案中的商标符号。
5.1、χ^2内核图像相似
我们采用类似文献22那样的按例查询框架,这种方法查询是图像的一部分,我们对在所有帧或场景的视频包含相同的对象感兴趣。为此,我们使用ESS做一个完整的近邻比较所有数据库的查询和所有的箱子图片。相比以前的方法,这允许系统依赖于任意的相似度量之间的区域, 而不仅仅是数量的并发特性。在我们的例子中,我们选择χ^2距离,这在基于直方图的检索和分类任务中展示了非常优越的性能。
为了解决在一个优化框架的检索问题,我们首先定义局部相似性,在视觉词袋直方图的查询区域h和图片I之间,
检索任务是识别出最高局部相似性和该区域内最佳匹配的查询的N张图片。
因为locsim包含一幅图片中所有子区域的最大值,所以我们可以用ESS来计算它。为了构造必须的范围,我们首先注意到在矩形R的集合中,每个直方图的值都可以落到上界Rmax中或下界Rmin中。
5.2、对于多图像同步的ESS
ESS的直接应用包括搜索每个图像中排名最好的区域,然后根据他们的分数,我们可以确定N的最大值。不过,我们可以获得更多有效的搜索,通过结合N最佳得分和一个最佳优先搜索的最大化区域R。这是通过添加开始状态,在开始搜索之前,将所有图片置于优先队列。在运行期间,所有的候选区域,根据它们同查询的相关性同时进入一个序列。搜索状态不包含有希望的候选区域,并且总是呆在队列的底部,可能永远不会扩大。每当一个最佳匹配被发现,对应于这个图像的状态从搜索队列中移除,搜索队列一直持续到N个区域都被检测完毕。在我们的实验中,当N被设定为整个数据库图像总数的1%时,合并后的搜索速度比顺序搜索要快40到70倍。
5.3、实验
 我们展示了ESS局部检索的性能,通过将它应用于10143年关键帧的完整特性的电影“菲利斯的休息日”。每一帧大小是880*416个像素点。对于每个给定的序列,多重图像ESS用于返回包含最相似区域的100张照片。图6显示了一个查询区域和一些搜索结果。因为关键帧,在同一个场景中往往看起来非常相似,我们只显示一个图像每一幕。 ESS能够可靠地识别红色翅膀的标志在不同的场景中,不管强劲的背景变化,100帧中只有4出错误。第一个错误发生在第88帧位置处。每张返回图像所需的搜索时间不到2秒。在输出图片的数量上缩放比例是线性的,图像数据库中的图片数量是次线性的。
6、总结
我们论证了如何快速地定位和同穷尽一幅图片中所有矩形区域质量函数结果类似的局部检索方法。滑动窗口法也有相同的目的,但是在实际中,滑动窗口法不得不借用二次抽样技术和估计来获得合理的速度。与之对比,我们的方法在搜索过程中保持全局最优,这保证了不会丢失质量函数的最大值。
速度上的增加和鲁棒性使得最佳定位分类器在伊利诺斯汽车数据集, the PASCALVOC 2006数据集和2007 这些挑战中都显示出了非常出色的结果。我们同时也展示了如何表示附加的特性,比如形状罚数和如何在线性的时间里搜索大的图像收集库。
在以后的工作中,我们打算研究ESS在基于内核分类器的适用性。我们也会从事于其他参数形状的研究,比如方形,圆形,椭圆形。这些在生物上,医学上,或者工业上的机器视觉中都有更多的应用,当然,在这些方面,高速和准确是非常重要的因素。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值