译文Object Detection with Discriminatively Trained Part Based Models.docx
- 文档编号:13368865
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:45
- 大小:3MB
译文Object Detection with Discriminatively Trained Part Based Models.docx
《译文Object Detection with Discriminatively Trained Part Based Models.docx》由会员分享,可在线阅读,更多相关《译文Object Detection with Discriminatively Trained Part Based Models.docx(45页珍藏版)》请在冰点文库上搜索。
译文ObjectDetectionwithDiscriminativelyTrainedPartBasedModels
ObjectDetectionwithDiscriminativelyTrainedPartBasedModels
使用判别训练的部件模型进行目标检测
PedroF.Felzenszwalb,RossB.Girshick,DavidMcAllesterandRevaRamanan
摘要
本文介绍了一个基于混合多尺度可变形部件模型(mixturesofmulti-scaledeformablepartmodel)的目标检测系统。
此系统可以表示各种多变的目标并且在PASCAL目标检测挑战赛上达到了目前最优结果(state-of-the-art)。
虽然可变形部件模型现在很流行,但它的价值并没有在类似PASCAL这种较难的测试集上进行展示。
此系统依赖于使用未完全标注(partiallylabeled)的样本进行判别训练的新方法。
我们提出了一种间隔敏感(margin-sensitive)的难例挖掘方法(data-mininghardnegativeexample),称为隐藏变量SVM(latentSVM,LSVM),是MI-SVM加入隐藏变量后的重新表示。
LSVM的训练问题是一个半凸规划(semi-convex)问题,但如果将正样本的隐藏变量的值指定后,LSVM的训练问题变为凸规划问题。
最终可以使用一个迭代训练方法来解决,此迭代算法不断交替地固定正样本的隐藏变量和最优化目标函数。
关键词
目标识别(ObjectRecognition),可变形模型(DeformableModels),图结构模型(PictorialStructures),判别训练(DiscriminativeTraining),隐藏变量SVM(LatentSVM)
1引言
目标检测是计算机视觉领域内一项基础性的工作。
本论文研究在静态图片中检测并定位某一类目标(例如人或车)的问题。
由于这些类别中的目标外表可能千差万别,使得此项工作变得有些复杂。
而且,变化不仅来自亮度和视角,还有由于目标不是刚体而引起的形变,以及同一类目标的形状和其他视觉上的变化。
例如,人可能穿不同的衣服,做不同的姿势,车可能有不同的形状和颜色。
本文介绍了一个基于混合多尺度可变形部件模型的目标检测系统,它可以表示各种多变的目标。
此模型使用判别程序进行训练,训练过程只需要用到图片集中目标的矩形框(包围盒)(意思是说只需要整个目标的标注信息,不需要各个部件的标注信息)。
训练好的系统既高效又精确,能够在PASCALVOC测试集[11-13]和INRIA人体测试集[10]上达到目前最佳结果。
我们的方法基于图结构(PictorialStructures)框架[15][20]。
图结构使用一系列部件以及部件间的位置关系来表示目标。
每个部件描述目标的一个局部属性,通过部件间的弹簧连接(Spring-likeConnection)表示模型的可变形配置。
可变形部件模型(例如图结构)是目标检测中的优秀方法,但是很难在实际中建立价值。
在一些难度大的数据集上,可变形部件模型经常被一些简单的模型——例如固定(刚体rigid)模版[10]或特征袋(bag-of-features)[44]所超越。
本论文的目标之一就是解决这一问题。
虽然可变形模型可适应很多外表变化,但单个可变形模型还不足以表示一个变化丰富的目标类别。
例如对图像中的自行车外表建模的问题。
自行车有各种类型(例如,山地车,双人自行车,以及19世纪的有一个大轮一个小轮的自行车),并且观察视角也会有不同(例如从前面看和从侧面看),所以本文中的系统使用混合模型来适应这些变化。
我们最终感兴趣的是使用视觉语法(VisualGrammars)对目标进行建模。
基于语法的模型(例如[16][24][45])使用可变层次结构来表示目标,是可变形部件模型的扩展和一般化。
基于语法的模型(grammarbasedmodel)中的每个部件都可以被直接定义,或者根据其他部件进行定义。
此外,基于语法的模型考虑到结构的变化。
这些模型还提供在不同目标类别间共享信息和计算的框架,例如,不同的模型共享可重用的部件。
基于语法的模型是我们的终极目标,现在我们采取了一种研究方法,使用此方法使得我们可以在保证高性能的前提下逐步改进模型,使它变得更丰富。
通过丰富模型来改进性能是非常困难的。
在计算机视觉、语音识别、机器翻译和信息检索领域中,一直以来简单模型都要比复杂模型表现更为出众。
例如,直到最近基于n元语言模型(n-gramlanguagemodel)的语音识别和机器翻译系统才在性能上超过基于语法和词组结构的系统。
根据我们的经验,只有逐步地丰富模型才能保证性能不降低。
之所以简单模型在实际中表现比复杂模型好的原因之一就在于复杂模型很难训练。
对于目标检测,固定模型和特征袋模型很容易使用判别方法(例如SVM)进行训练。
复杂模型很难训练,因为复杂模型经常使用隐藏信息。
例如从只标注了整个目标的包围盒的图片中训练一个基于部件的模型的难题。
因为部件的位置没有进行标注,所以这些信息在训练时只能被当做隐藏(latent或hidden)变量。
如果使用更完全的标注信息可能会训练出更好的模型,但也可能由于未能准确标注出各个部分的位置而导致更差的结果。
通过自动发现有效部件来进行自动部件标注有可能达到更佳的性能。
精细制作标注信息是费时而昂贵的。
Dalal和Triggs的检测器[10](在PASCAL2006目标检测挑战赛上表现最好)使用基于HOG特征的单独滤波器(模版)来表示目标。
它使用滑动窗口方法,将滤波器应用到图像的所有可能位置和尺度。
可以将此检测器看做一个分类器,它将一张图片以及图片中的一个位置和尺度作为输入,然后判断在指定位置和尺度是否有目标类别的实例。
考虑到此检测器只有一个滤波器,我们可以使用β·Φ(x)表示滤波器在某位置的得分,其中β是滤波器参数,x是指定位置和尺度的图片,Φ(x)是x的HOG特征向量。
Dalal-Triggs检测器的主要创新点是提出了一个非常有效的特征。
此论文的第一个创新点是丰富了Dalal-Triggs的模型,我们使用星型结构的部件模型,此模型由一个根滤波器(rootfilter,与Dalal-Triggs的滤波器相似)和一系列部件滤波器(partfilter)以及相应的可变形模型构成。
星型模型在图像特定位置和尺度的得分等于根滤波器在给定位置的得分加上各个部件的得分的总和,每个部件的得分等于此部件在所有空间位置的得分的最大值,部件在某位置的得分等于部件滤波器在此位置的得分减去此位置的变形花费,位置的变形花费衡量了部件偏离其理想位置(这里说的位置是指与根滤波器的相对位置)的程度。
根滤波器和部件滤波器的得分都是由滤波器参数与特征金字塔中一个窗口的特征向量的点积(dotproduct)定义的。
图1显示了人体的星型模型。
图1,单组件人体模型的检测结果。
此模型由一个粗糙的根滤波器(a所示),和几个高分辨率的部件滤波器(b所示)以及每个部件相对于根的空间位置模型(图c所示)组成。
滤波器指定了HOG特征的权重。
图中滤波器的可视化模型显示的是不同方向的正权重。
空间位置模型的可视化图显示的将部件的中心放置到相对根的不同位置的变形花费(越白花费越高,表示部件偏离其理想位置越大)。
在我们的模型中,部件滤波器表示的图像特征是根滤波器所表示的图像特征所在的空间分辨率的两倍,也就是说我们是在多尺度对目标的外表建模。
为了使用未完全标注(partiallylabeled,意思应该是目标的部件没有进行标注,只标注了整个目标)的数据进行模型训练,我们使用了论文[3]中的多实例SVM(MI-SVM)中的一个隐藏变量公式,我们称作隐藏变量SVM(LatentSVM,LSVM)。
在LSVM中,每个样本x使用下面形式的公式进行评分:
其中β是模型参数向量,z是隐藏变量,Φ(x,z)是特征向量。
模型参数β是根滤波器、部件滤波器、变形花费权重串联起来构成的参数向量,z是目标配置参数,Φ(x,z)是特征金字塔中的一个窗口对应的HOG特征和部件变形特征串联起来构成的特征向量。
我们意识到公式
(1)可以处理更通用形式的隐藏信息,例如,z可以用来指定富视觉语法(richvisualgrammar)中的派生词。
本文的第二种模型使用混合星型模型来表示目标类别。
混合模型在指定位置和尺度的得分是各个组件(component)模型在给定位置得分的最大值。
在这种情况下,隐藏变量z表示组件类别及组件配置。
图2展示了自行车的混合模型。
图2,含有两个组件模型的混合自行车模型的检测结果。
这几个例子表明了混合模型的重要性。
第一个组件捕捉自行车的侧视特征,第二个组件捕捉自行车的正视或接近正视特征。
侧视组件模型可以变形来匹配自行车前轮抬起的姿势。
为了通过判别训练来获得好的结果,往往需要使用大量训练样本。
在目标检测中,训练问题是非常不平衡的,因为相比于特定目标来说有更大量的未知的背景。
这就需要我们通过搜索背景数据来找到一个相对少量的潜在的误报(虚警)的负样本集,或者叫做难例(负样本难例,HardNegativeExample)。
Dalal和Triggs在论文[10]中采用了一种对难例进行数据挖掘的方法,但倒回到了1995年前后中用到的自举法(bootstrap)[35][38]。
我们分析了SVM和LSVM训练中的数据挖掘算法,证明使用数据挖掘方法可以收敛到整个训练集上的最优模型。
本文中的目标模型是由滤波器定义的,滤波器可以对特征金字塔中的子窗口进行评分。
我们调查了与论文[10]中的HOG特征类似的特征,并找到了与原特征性能表现相同的维数更低的特征。
通过对HOG特征做主成分分析(PrincipalComponentAnalysis),可以大大减少特征向量的维数,同时不产生显著的信息丢失。
此外,通过分析主特征向量,我们找到了一个容易解释并且可高效计算的低维特征。
本文还分析了PASCAL目标检测挑战赛和其他相似数据集中的一些特定问题。
我们展示了通过目标中部件的位置来估计目标的包围盒的方法,这是通过用最小二乘回归训练的特定模型的预测器来实现的。
我们还展示了一个用来聚合几个目标检测器的输出结果的简单方法。
此方法的基本思想是同一张图片中的某一类目标可以为其他类别的目标提供正例支持或反例驳斥。
我们实现了这一思想,首先训练一个特定类别的分类器,用此分类器对此类别所有检测出的目标进行重新评分,重新评分的依据是该目标的原始得分和用其他类别的分类器对此目标进行评分两者中的最高值。
2相关研究工作
关于目标检测中各种类型的可变形模型已经有了大量研究工作,包括几种可变形模版模型(例如[7][8][21][43]),和各种基于部件的模型(例如[2][6][9][15][18][20][28][42])。
在[18][42]的星座模型中,部件被限制在由兴趣点所确定的稀疏(小的)位置集合中,并且他们的几何分布由高斯分布进行描述。
相反,图结构模型(PictorialStructureModel)[15][20]的匹配问题中,位于稠密位置集之中的部件有各自独立的匹配花费,几何分布由部件两两之间的弹簧连接进行描述。
[2]中的部件拼接模型(patchworkofpartsmodel)也类似,但它清楚地考虑了重叠部件之间如何进行相互作用。
本文中所用的模型很大程度上基于论文[15][20]中的图结构(PictorialStructure)框架。
我们的模型中使用位置和尺度的稠密集,并定义了将部件滤波器放置在每个位置的得分。
部件滤波器之间的几何配置由将每个部件滤波器与根滤波器连接的变形花费(弹簧)来描述,形成了一个星型的图结构模型。
注意我们并不对重叠部件之间的相互作用进行建模,虽然如果对这种相互作用进行建模可能会有好处,但这并不是使用判别程序训练的模型中存在的问题,并且不对相互作用建模的话会大大简化模型与图像进行匹配的问题。
本文中提出的新的局部和半局部特征在改进目标检测方法的性能上起了重要作用,这些特征对光照变化和小的形变具有不变性。
很多最近的目标检测方法使用类小波特征(Wavelet-like)[30][41]或局部归一化的梯度直方图特征[10][29]。
其他的方法,例如[5],从训练图片中学习局部框架词典。
在我们的方法中,以论文[10]中的HOG特征为基础,在不引起性能损失的前提下降低特征维数。
与论文[26]中的方法类似,我们也使用PCA方法对特征进行降维,但我们还注意到获得的特征向量有清晰的结构,并最终找到一个解析特征集。
这就省去了计算稠密特征映射时代价很大的投影步骤。
二维可变形模型不能很好地适应由于视角改变而引起的较大的目标形状和外形变化。
方位图(AspectGraph)[31]是一种经典的描述由于视角改变而引起的变化的方法。
混合模型提供了一种简单的替代方法。
例如,使用多个模型来编码人脸和汽车的正视图和侧视图[36]。
混合模型也被用来描述其他的外表变化,例如目标类别有多个子类别时[5]。
将可变形模型与图片进行匹配是一个复杂的优化问题。
局部搜索方法需要在正确的位置附近进行初始化[2][7][43]。
为了保证全局最优匹配,需要更激进的搜索方法。
其中一个流行的部件模型的搜索方法是将部件的位置约束在一个小的可能位置集合中,此位置集合是根据兴趣点检测得到的[1][18][42]。
星型(树型)图结构模型[9][15][19]允许使用动态规划和广义距离变换方法来高效搜索所有可能的目标配置,不约束每个部件的可能位置,我们使用此方法来匹配模型和图像。
基于部件的可变形模型的参数由每个部件的外表以及描述部件间空间关系的几何模型来确定。
学习模型时可以使用最大似然估计。
在全监督条件下,训练图片中标注了每个部件的位置,所以可以使用简单的方法来学习模型[9][15]。
在弱监督条件下,训练图片中并没有标注每个部件的位置,这时可以使用EM算法[2][18][42]同时估计部件位置和学习模型参数。
判别训练(DiscriminativeTraining)方法通过最小化检测算法在训练集上的失败率来选择模型参数。
这种方法可以直接优化正负样本间的决策边界。
这也就是为什么使用判别训练方法训练的简单模型(例如Viola-Jones[41]和Dalal-Triggs[10]的检测器)可以取得成功的原因。
用判别方法来训练基于部件的模型更加困难,虽然对应的策略已经存在[4][23][32][34]。
隐藏变量SVM(LSVM)与隐条件随机场(HiddenCRF)[32]有关。
然而,在LSVM中我们最大化隐藏的部件位置变量而不是排斥它们,在训练时使用铰链损失(hinge-loss)而不是log-loss。
最终变为一个用来训练的坐标下降算法(coordinatedescent),以及一个可以用超大数据集进行学习的数据挖掘算法。
LSVM可以看做基于能量的模型[27]的一种。
LSVM与多实例学习(MultipleInstanceLearning,MIL)[3]中的MI-SVM的公式是等价的,但我们发现LSVM的公式更适合我们的问题(我们在论文[17]中定义了LSVM,当时还未意识到与MI-SVM的关系)。
此外,之前还有个不同的MIL框架被用来在弱标注的数据集上训练目标检测器[40]。
本文中使用的在训练时对难例进行数据挖掘(Data-miningHardExamples)的方法与SVM中的工作集方法(WorkingSetMethod)(例如[25])有关联。
本文中的方法相对来说更少地遍历整个训练数据集,并且非常适合只有部分能读进内存的超大规模数据集的训练。
目标检测和识别中图像上下文(context)的使用近年来受到越来越多的关注。
一些方法(例如[39])使用低级别的整个图像的特征来定义可能的目标假设。
[22]中的方法使用粗糙但语义丰富的场景表达,包括3D几何。
本文中首先在图像上应用各种目标检测器,用检测结果来定义图像上下文。
这种思想与论文[33]中使用CRF描述目标同时出现的方法相似,但我们使用不同的方法来描述此信息。
我们在论文[17]中介绍了系统的一个初步版本,本文中介绍的系统与[17]中有以下几点不同:
混合模型的引入;使用随机梯度下降算法(StochasticGradientDescent)优化了真正的LSVM目标函数,论文[17]中是用SVM工具包优化目标函数的启发式近似;使用了新的特征,做到既低维又高信息量;通过包围盒预测和上下文再次评分,对检测结果进行后处理。
3模型
我们的所有模型都涉及将线性滤波器应用到稠密特征映射中。
特征映射(featuremap)是一个数组,其元素由从一张图像中计算出来的所有d维特征向量组成,每个特征向量描述一块图像区域。
实际中我们用的是论文[10]中的HOG特征的变体,但这里讨论的框架是与特征选择无关的。
滤波器(filter)是由d维权重向量定义的一个矩形模版。
滤波器F在特征映射G中位置(x,y)处的响应值(response)或得分是滤波器向量与以(x,y)为左上角点的子窗口的特征向量的点积(DotProduct):
我们想要定义在图像不同位置和尺度的得分,这是通过使用特征金字塔来实现的,特征金字塔指定了一定范围内有限尺度构成的特征映射。
(首先通过不断的平滑和子采样计算一个标准的图像金字塔,然后计算金字塔中每层图像的所有特征。
)(实际应用中,通过计算标准图像金字塔来计算特征金字塔,而计算标准图像金字塔则通过不断地平滑和子采样,然后从图像金字塔中的每一层计算出一个特征映射。
)图3展示了特征金字塔。
图3,特征金字塔和其中的一个人体模型实例。
部件滤波器位于根滤波器两倍空间分辨率的金字塔层。
根据参数λ在特征金字塔中进行尺度采样,λ定义了组中层的个数。
也就是说,λ是我们为了获得某一层的两倍分辨率而需要在金字塔中向下走的层数。
实际中在训练时λ=5,在测试时λ=10。
尺度空间的精细采样对于我们的方法获得较高的性能表现非常重要。
[10]中的系统使用单个滤波器来定义整个目标模型,它计算滤波器在HOG特征金字塔中所有位置和层的得分,通过对得分阈值化来检测目标。
假设F是一个w*h大小的滤波器,H是特征金字塔,p=(x,y,l)指定金字塔中l层的位置(x,y),φ(H,p,w,h)表示金字塔H中以p为左上角点的w*h大小的子窗口中的所有特征向量按行优先顺序串接起来得到的向量。
滤波器F在位置p处的得分为F’·φ(H,p,w,h),F’表示将F中的权重向量按行优先顺序串接起来得到的向量。
此后我们使用F’·φ(H,p)代替F’·φ(H,p,w,h),因为子窗口的大小已隐含包括在滤波器F中。
3.1可变形部件模型
我们的星型模型由一个大体上覆盖整个目标的粗糙的根滤波器和覆盖目标中较小部件的高分辨率的部件滤波器构成。
图3显示了特征金字塔中这种模型的一个实例。
根滤波器定义了检测窗口(滤波器所覆盖的特征空间部分的像素)。
部件滤波器被放置在根所在层的λ层之下,该层特征的分辨率是根所在层的特征的两倍。
我们发现用高分辨率特征来定义部件滤波器对获得高识别性能至关重要。
用这种方法部件滤波器可以捕捉相对于根滤波器更精确定位的特征。
例如建立人脸的模型,根滤波器捕捉的是人脸边界这些粗糙边缘信息,部件滤波器可以捕捉眼睛、鼻子、嘴这些细节信息。
含有n个部件的目标模型可以形式上定义为一个(n+2)元组:
(F0,P1,...,Pn,b),F0是根滤波器,Pi是第i个部件的模型,b是表示偏差的实数值。
每个部件模型用一个三元组定义:
(Fi,vi,di),Fi是第i个部件的滤波器;vi是一个二维向量,指定第i个滤波器的锚点位置(anchorposition,即未发生形变时的标准位置)相对于根的坐标;di是一个四维向量,指定了一个二次函数的参数,此二次函数表示部件的每个可能位置相对于锚点位置的变形花费(deformationcost)。
每个目标假设都指定了模型中每个滤波器在特征金字塔中的位置:
z=(p0,...,pn),其中pi=(xi,yi,li)表示第i个滤波器所在的层和位置坐标。
我们这里需要每个部件所在层的特征分辨率都是根滤波器所在层的特征分辨率的两倍,即li层特征是l0层特征的分辨率的两倍,并且li=l0–λ(i>0)。
目标假设的得分等于每个滤波器在各自位置的得分(从数据来看)减去此位置相对于根位置的变形花费(从空间来看)再加上偏差值:
其中,
给出了第i个部件相对于其锚点位置的位移:
(x0,y0)是根滤波器在其所在层的坐标,为了统一到部件滤波器所在层需乘以2。
vi是部件i的锚点相对于根的坐标偏移,所以2(x0,y0)+vi表示未发生形变时部件i的绝对坐标(锚点的绝对坐标)。
而
是变形特征(水平、垂直位移及其平方)。
如果di=(0,0,1,1),则第i个部件的变形花费就是它实际位置与锚点位置距离的平方。
通常情况下,变形花费是位移的任意可拆分二次函数。
引入偏差值是为了在将多个模型组成混合模型时,使多个模型的得分具有可比性。
目标假设z的得分可以表示成点积的形式:
β·ψ(H,z),β是模型参数向量,ψ(H,z)是特征向量,如下:
这就将模型和线性分类器联系起来了,我们使用隐藏变量SVM(LSVM)来学习模型参数。
3.2匹配
在图像中检测目标时,根据各个部件的最佳位置计算每个根位置的综合得分(overallscore),如下:
高得分的根位置定义了一次检测,产生高得分根位置的部件位置定义了一个完整的目标假设。
通过定义每个根位置的综合得分(overallscore),我们可以检测目标的多个实例(假设每个根位置上最多一个实例)。
这种方法与滑动窗口检测器有关联,因为可以认为score(p0)是检测窗口在指定根位置的得分。
我们使用动态规划和广义距离变换(min-convolution)[14][15]来计算部件的最优位置(是根位置的函数)。
此方法非常高效,花费O(nk)时间计算一个滤波器的响应值,n是模型中部件的个数,k是特征金字塔中位置的总数。
我们在此简单介绍一下此方法,细节请参考论文[14][15]。
设
是存放部件i在特征金字塔第l层的响应值的数组。
匹配算法首先会计算这些响应值。
注意Ri,l是滤波器Fi和特征金字塔第l层的交叉相关。
计算完这些滤波器响应值后,对其进行转换来允许具有空间不确定性:
(8)
这种变换会将滤波器高分扩展到邻近位置,同时也将变形花费考虑在内。
Di,l(x,y)值表示将第i个部件的锚点放在l层的位置(x,y)时它对根位置得分的最大贡献值。
转换后的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 译文Object Detection with Discriminatively Trained Part Based Models 译文 Object
![提示](https://static.bingdoc.com/images/bang_tan.gif)
链接地址:https://www.bingdoc.com/p-13368865.html