身为想入门的研究人员,最重要的事情就是发表文章。为了督促自己,也为了给大家带去一点思考,偶决定开一个小专题《小超教你写文章》系列,以第一篇翻译为始,以发表一篇文章为终,一步步探究如何写出一篇文章并发表。今天是一个开始,下面是一篇翻译,中科院自动化所关于行人检测的文章,发表在2013年的CVPR上。
20140323:
Robust Multi-Resolution Pedestrian Detection in Traffic Scenes
交通场景下稳定的多分辨率行人检测
Junjie Yan XucongZhang Zhen Lei Shengcai Liao Stan Z. Li
Center for Biometrics and Security Research& National Laboratory of Pattern Recognition
Institute ofAutomation, Chinese Academy of Sciences, China
摘要:
随着分辨率降低而产生的性能明显下降是当前行人检测技术的主要瓶颈。在本文中,我们把不同分辨率下的行人检测当作不同但有联系的问题,并提出一种多任务模型来共同考虑它们的相同点和不同点。这个模型包含分辨率敏感变换(resolution aware transformations)将不同分辨率下的行人放在同样的空间中,在那构造一个通用的检测器以从背景中区分出行人。对于模型学习,我们为学习分辨率敏感变换提出了坐标下降方法,并提出了迭代的基于检测器的可形变部分模型(DPM)。在交通场景中,车辆周围有很多错误接受,因此,我们进一步建立了上下文模型依靠车辆行人关系来减少这些错误接受样本。这个上下文模型即使在车辆注释没有的情况下也可以自动学习。我们的方法对于Caltech Pedestrian Benchmark中的大于30像素的行人将平均丢失率降到了60%,明显优于现在的方法(71%)。
20140324:
1介绍
几十年来行人检测一直是计算机视觉领域的研究热点,因为它在实际应用中,如驾驶辅助和视频监控,有着重要作用。近几年,特别是得益于梯度特征的流行,行人检测领域在效果[6,31,43,41,19,33]和效率[25,11,18,4,10]都有了很大的进步。先进的检测器在高分辨率的参照下(如,INRIA [6])可以达到满意的结果,然而,对于低分辨率的行人(如,30-80像素高,图1)就会碰到困难[14,23]。不幸的是,低分辨率行人在实际应用中通常很重要。例如,驾驶辅助系统需要检测低分辨率的行人来为反映提供足够的时间。
传统的行人检测器通常遵循尺度不变假设:一个由固定分辨率训练得到的基于尺度不变特征的检测器可以通用于所有的分辨率,通过改变检测器[40,4],图像[6,19],或两者[11]的大小。然而,传感器的限定的采样频率对于低分辨的行人会有很多信息损失。尺度不变的假设并不适于低分辨的情况,这会导致随着分辨率的降低检测效果发生灾难性的降低。例如,最好的检测器对于在Caltech Pedestrian Benchmark中大于80像素的行人只有21%的平均丢失率,然而对于30-80像素高的行人会增加到73%。
我们的想法是对于稳定的多分辨率行人检测应该探究不同分辨率之间的关系。例如,低分辨采样包含很多噪声可能在训练阶段对检测器产生误导,高分辨采样中包含的信息可以帮助纠正它。我们认为对于不同分辨率下的行人,不同点存在于局部块的的特征(例如,HoG中单元的梯度直方图特征)中,而整体空间结构保持相同(如,局部外形)。基于这一点,我们提出使用分辨率敏感变换将不同分辨率的局部特征分布到一般的子空间中,这里局部特征的不同被减少,检测器从不同分辨率学习分布的采样特征,因此结构共同点被保留。特别的,我们将流行的形变部分模型(DPM)[19]扩展为多任务DPM(MT-DPM),旨在寻找DPM检测器和分辨率敏感变换的最优结合。我们证明,当分辨率敏感变换固定时,多任务问题可以转化为一个Latent-SVM最优化问题,当DPM检测器在分布空间中被固定时,问题相当于一个典型的SVM问题。我们将复杂的非凸问题转化为两个子问题,并有选择的优化它们。
20140326:
此外,我们提出了一种新的上下文模型来提高在交通场景中的检测效果。有这样一种现象,大量检测者(在我们实验MT-DPM中有33.19%)都是在车辆周围。车辆的定位比行人要简单的多,这就促使我们使用行人车辆关系作为附加信息来判断定位是正确检测还是错误的。我们建立了一个能量模型来共同编码行人车辆和几何上下文,并通过在整幅图像中最小化能量函数来推断检测标记。由于车辆注释在行人标准中不可得到,我们进一步展示一种从实际行人注释和噪声车辆检测中学习上下文模型的方法。
20140403:
我们在有挑战性的Caltech PedestrianBenchmark[14]上进行实验,并比起过去的[14]中提到的9个分实验的结果有了显著的提高。对于比30像素高的行人,我们的MT_PM降低了8%且我们的上下文模型进一步降低了3%平均丢失率,比起过去方法的表现。
文章的接下部分安排如下:2部分回顾了相关的工作。多任务检测器和行人车辆上下文模型分别在3和4部分讨论。第5部分展示了实验,且最后在第6部分我们总结了文章。
2.相关工作
对于行人检测的研究,有一个很长的历史。大部分现在的检测方法都基于统计学习和滑动窗口扫描,较流行的有[32]和[40]。大量的提高来自稳定的特征,诸如[6,12,25,3]。也有一些文章将HOG与其他特征[43,7,45,41]混合来提高性能。一些文章将注意力集中于行人检测中的特殊问题上,包括遮挡处理[46,43,38,2],速度[25,11,18,4,10],和新场景中的检测器变换[42,27]。我们参考了关于行人检测的详细调查[21,14]。
20140407:
分辨率相关问题在最近的评价中引起了注意。[16]发现行人检测性能依赖于训练样本的分辨率。[14]指出行人检测性能随着分辨率降低而降低。[23]在一般的物体检测任务中发现了相似的现象。然而,针对这个问题的相关工作却很有限。最相关的工作是[33],它对于高分辨率行人使用根和部分滤波器,而对于低分辨率行人,只使用严格的根滤波器。[4]提出对每一个检测尺度使用一个单独的模型,但那文章主要集中在速度上。
我们的行人检测器建立在流行的DMP(形变部分模型)[19],将严格根滤波器与形变部分滤波器结合来进行检测。DPM只对于高分辨率目标有良好性能,但我们的MT-DPM将它扩展到了低分辨率的情况。学习过程中的坐标倾斜过程是受可控部分模型[35,34]启发,它训练共同的部分基础来加速检测。注意到[34]学习的是共同滤波器基础,我们模型学习的是共同分类器,所以结果公示截然不同。[26]也提出一个多任务模型来处理数据库偏差。本文中多任务模型的想法是受不同域内人脸检测的工作的启发,如[28,5]。
20140410:
上下文已经在行人检测中得到应用。[24,33]在相机与地平面平行的假设下获得几何约束。[9]将相邻区域的直观表现作为上下文。[8,36,29]在多类目标检测中利用相互间的空间关系。据我们所知,这是第一次利用行人-车辆关系来提高在交通场景中的行人检测。
3.多任务形变部分模型
直觉上有两种策略来处理多分辨率检测问题。一种是将不同分辨率下的样本组合起来训练一个单独的检测器(图2(a)),另一种是在不同的分辨率下训练单独的分类器(图2(b))。然而,两种策略均不完美。第一种考虑了不同分辨率间的共同点,但它们的不同点被忽略了。从不同区域中的采样会增加检测边界的复杂性,而这可能超出单个线性分类器的能力。相反,多分辨率检测模型将不同分辨率下的行人检测当做独立的问题,则它们之间的关系就被忽略了。低分辨率行人的不可靠特征可能会误导学习的检测器,并且使它很难适用于异常的测试样本。
20140415:
在这一部分,我们介绍一种多分辨率检测方法,通过考虑不同分辨率下样本之间的关系,包括相同点和不同点,它们有一种多任务策略同时获得。考虑到不同分辨率下的不同点,我们使用分辨率敏感变换将不同分辨率下的特征分布到一个共同的子空间中,在那里它们具有相似的分布。一个共用的分类器在这个分辨率不变子空间中通过来自所有分辨率的样本所训练,以获得结构上的共同点。很容易发现前两种策略均是这种多任务策略的特殊情况。
特别是,我们将这个想法用到了流行的DPM检测器上,并为DPM提出了一种多任务形势。这里我们两种分辨率划分(低分辨率:30-80像素高,和高分辨率:比80像素高,如[14]中建议的那样)。注意到这种策略在其他基于线性分类器的局部特征上和在更多分辨率划分上的扩展是直截了当的。
3.1 分辨率敏感变换模型
为了简化记号,我们引入基于矩阵的表示来代表DPM。假设图像I和m个部分位置集合,第i个部分的HOG特征是一个
140503:
维的张量,其中,是部件的HOG单元(cells)的高和宽,而是单元的梯度直方图特征向量的维度。我们将整理为矩阵,其中每一列代表单元中的特征。进一步连接为一个大矩阵。的列数表示为,表示部件和根中单元(cell)的总数目。这一步的说明在图3中显示。检测器中的表面特征滤波器用同样的方法连接为一个的矩阵。不同部分的空间特征连接为一个向量,空间优先参数表示为。有了这些表示,DPM检测模型[19]可以表示为:
(1)
其中是迹运算,定义为矩阵主对角线上的元素的和。假定根位置为,所有的部件位置都是隐藏变量,且最后的得分为,其中是跟位置固定为时最可能的部件位置配置。这个问题可以通过动态编程[19]有效解决。使用混合(Mixture)可以增加弹性,但为了表达简单我们忽略了它,但在方程中加入混合是直接的。
在DPM中,行人有几个部件(parts)组成,且每部件都由cells组成。当行人分辨率变化时,部件的结构和HOG cell的空间关系保持不变。不同分辨率间的唯一不同出现在evert cell的特征向量中,因此分辨率敏感变换(resolution aware transformations)和就定义在它上。和的维数为,它们将低和高分辨率样本从
140504:
原始的维特征空间变到维子空间。不同分辨率下的特征被映射到相同的子空间,这样可以共用同一个检测器。我们仍然将在映射后的分辨率不变子空间中的学习后的外表参数表示为,是一个的矩阵,且与为同样的大小。在MT-DPM中一组部件(part)位置的得分被定义为:
(2)
上面定义的模型为描述不同分辨率的行人提供了可变性(冗余性,弹性,flexibility),但也带来了一些挑战,因为,,,均未知。在接下来的部分,我们展示了多任务模型用于学习的目标函数(objective function),并且展示了最优化(optimization)的方法。
3.2 多任务学习
目标函数是受原始单任务DPM的启发。它的矩阵形式可以写为:
(3)
其中,是Frobenius(佛罗贝尼乌斯)范数,且。为1如果是行人,为-1如果为背景。前两个部分用来规则化检测器参数,最后一个部分在DPM检测中是铰链损失(hingeloss)。是使的检测得分最大化的部件配置。在学习阶段,部件位置被当做隐藏变量(latent variables),且这个问题可以通过Latent-SVM优化[19]。
对于多任务学习,不同任务间的关系应该考虑。类比最初的DPM,MT-DPM可用公式表示为:
(4)
其中和表示高分辨率和低分辨率训练集,包括行人和背景。由于空间部分直接用于不同分辨率中的数据,它可以单独规则化。和用于表示检测损失并规则化参数,和。和拥有同样的形式,我们以为例子。它可以写成:(5)
其中,常规项是维矩阵,且与原始特征矩阵有相同的维数。由于和在计算外表得分时被完整的用于表面特征,我们把它们当做整体的并一起调整它们。第二项是分辨率敏感检测(resolution aware detection)的检测损失,对应于公式2中的检测模型。参数和在和中得到共用。注意到更多的分辨率部分可以在公式4中得到自然处理。
在公式4中,我们需要找到,,和的最优组合。然而,公式4在它们均自由的情况下是非凸的。幸运的是,我们发现,给定两个变化,这个问题转化为一个标准的DPM问题,而给定DPM检测器,它可以变形为一个标准的SVM问题。我们采用坐标下降算法来迭代优化这两个子问题。
当和固定时,我们可以将特征映射到公共空间,在那DPM检测器可以进行学习。我们将表示为,记为。对于高分辨率样本,我们将记为,对于低分辨样本我们将记为。公式4可以表示为:
(6)
这与公式3中的最优化问题有相同的形式,Latent-SVM解决方法在这可以使用。一旦求得公式6的解,就可以由求出。
当和固定时,和是独立的,因此最优化问题被分解为两个子问题,和。由于它们有相同的形式,这里我们只给出最优化的细节。
给定和,我们首先推断每一个训练样本的部件位置,通过寻找一个部件配置使公式2最大化。记为,为,及为,则公式4的问题变为:
(7)
公式7与标准SVM之间的唯一区别是一个附加项。由于在优化中是一个常量,它可以被当做的一个附件维度。这么看来,公式7可以通过一种标准的SVM解决方法解出。我们得到后,就可以通过计算得到。
140505:
3.2.3训练细节
要开始坐标下降算法的循环,需要给或赋初值。在我们的实现中,我们从随机聚合成的高和低分辨率块(patches)中计算HOG特征的PCA,并使用前个主向量分别作为和的初始值。我们使用[19]中的HOG特征并舍掉最后那个截断(限幅,truncation)项,因此在我们实验中=31。维数决定了保留多少信息用于共享。在实验中,我们测试了的影响。在最优化公式6和公式7时的解决方法基于[22]。坐标下降循环的最大次数被设为8。对于高分辨率模型,HOG中的bin大小设为8,对于低分辨率模型,设为4.根滤波器包含个HOG胞元(cells)对于高和低分辨率检测模型均是如此。
4交通场景中的行人-车辆上下文
在交通场景中,很多检测均位于车辆周围(对于我们在CaltechBenchmark上的MT-DPM检测,有33.19%),如图4所示。使用行人-车辆关系来推断检测是否正确是可能的。例如,如果在图4中,我们知道车辆的位置,则在车辆上方的检测,及在车辆轮子位置的检测就可以放心地排除。幸运的是,车辆比起行人更容易定位,这一点在以前的工作(例如PalscalVOC[17],KITTI[20])中已得到证实。由于使用手工法则很难处理这种复杂的关系,我们建立了一个上下文模型并从数据中自动学习它。
我们将行人和车辆间的关系划分为5种,包括:上方(above),邻近(next-to),下方(below),重叠(overlap),和远离(far)。我们将行人-车辆上下文特征记为。如果行人检测和车辆检测有前四种的其中一种关系,相应的维度被定义为,其他维度继续保持为0.如果行人检测和车辆检测太远或没有车辆,相应的行人-车辆特征的所有维度为0.这里,,且,其中,分别为车辆检测和行人检测的中心坐标。用于将检测得分归一化到[0,1]。由于左右对称,对采取了取绝对值操作。而且,正如[33]中指出的,在假设相机与地平面平行的情况下,行人的坐标和尺寸之间也存在联系。我们进一步定义这种行人检测几何上下文特征为,其中,,分别为检测得分,中心和检测的高度,且和被图像高度归一化。
为了充分编码(encode)上下文,我们在整幅图像上定义模型。上下文得分为所有行人检测得分的总和,且每一个行人检测得分被分为它的几何和行人-车辆得分。假设在一幅图像中有个行人检测且有个车辆检测,这个图像的上下文得分定义为:
(8)
其中和为几何上下文和行人-车辆上下文的参数,这就保证了真正(truth)检测具有比其他任何一种检测假设都大的得分。
给定初始的行人和车辆检测和,则一个检测时正确检测还是误检由最大化上下文得分决定:
(9)
其中和为二进制值,0表示误检,1表示正确检测。公式9是一个整数规划问题,但当固定时就变得平凡(trivial),因为它等于独立最大化每个行人。在典型的交通场景中,车辆的数目是有限的。例如,在Caltech Pedestrain Benchmark中,在同一场景中没有超过8辆车辆的,因此这个问题可以由不超过个一般(trivial)子问题来解决,这一点在实际应用中非常有效。
对于线性特性,公式9等价于:
(10)
公式10提供一种自然方法来进行最大-边界学习。我们用来表示。给定车辆和行人的正确假设,一个标准的结构SVM(structuralSVM)[39]就可以在这用来特别地学习,通过解决下面的问题:
(11)
其中和是第k幅图像中任意的行人和车辆检测,而和为实际值。为行人检测假设和实际值间的Hamming损失。基于行人的应用中的难点在于在公共行人数据库中只有行人的真实值是已知的,而车辆标注并未给出。为了解决这个问题,我们使用噪声车辆检测结果作为的初始值,并将学习上下文模型和推断车辆检测是否正确结合起来,通过优化下面问题:
(12)
其中是的一个子集,它反映了当前车辆检测的参考通过最大化整体上下文得分。公式12可以通过反复优化模型参数和车辆标记解决。在学习阶段,最初的就是MT-DPM的行人检测结果。
140506:
5实验
实验是在Caltech Pedestrian Benchmark[14]上进行的。依照实验协议,00组到05组用来训练而06组到10组用来测试。我们使用ROC或平均漏检率(mean miss rate)来比较方法,如[14]中建议的那样。有关这个测试集(benchmark)的更多细节,请参考[14]。在不同的情况下,在benchmark上有多种子实验来比较检测器。由于空间有限,我们只展示(report)
140507:
最相关的,并将其它子实验的结果放在补充材料中。我们强调我们的方法在9个子实验中均明显优于[14]中测试的17种方法。
在接下来的实验中,我们测试了MT-DPM中子空间维度的影响,然后对于低分辨率检测比较了它和其它方法。上下文模型的贡献也在不同的FPPI下得到证实。最后我们比较了与其他主流方法的效果。
5.1 MT-DPM中的子空间维度
在MT-DPM中,映射公共子空间的维度反映了不同分辨率下相同点和不同点间的权衡。较高的维度子空间可以包含更多的不同点,但可能会损失一些相似性。我们以间隔2测试了从8到18间的参数,并在大于30像素的行人上测试效果。我们展示平均丢失率(mean miss rate),如图5中展示的。MT-DPM在维度被设为16时达到最低漏检率(丢失率),且会在14和18间趋于稳定。在接下来的实验中,我们将它固定为16.
140508:
5.2 与其他检测策略(strategies)的比较
我们比较用于多分辨率检测时,MT-DPM和其它策略的不同。所有的检测器均是基于DPM算法的,并用于初始图像,除非特殊声明。比较的方法包括:(1)DPM在高分辨率行人上训练的(2)DPM由高分辨率行人训练的且分别由1.5,2.0,2.5倍变换大小的图像测试;(3)基于低分辨率行人训练的DPM(4)在高和低分辨率数据上共同训练的DPM(图2(a))(5)多分辨率DPMs分别在高和低分辨率上独立训练,且它们的结果是融合的(图2(b))。
高于30像素的行人的ROCs曲线在图6中展示。高分辨率模型不能直接检测低分辨率行人,但一些低分辨率行人可以通过改变图像大小来检测。然而,误检率(false positives)也会增加,这可能影响性能(参照图6中的HighResModel-Image1.5X,HighResModel-Image2.0X,HighResModel-Image2.5X)。低分辨率DPM优于高分辨率DPM,因为低分辨行人多于高分辨率行人。将高分辨率和低分辨率结合起来一般都会有效,但提高取决于策略。将低分辨和高分辨率数据混合起来训练单个分类器要优于训练两个独立的分类器。通过探究不同分辨率样本间的关系,我们的MT-DPM优于其它方法。
5.3 上下文模型的提高
我们在MT-DPM检测中使用上下文模型,且独立优化每幅图像。在0.01,0.1,和1FPPI时的丢失率(miss rate)对于大于30像素的行人在图7中展示。上下文模型在0.1FPPI时将miss rate从63.05%降到了60.87%。上下文的提高在允许更高误检率(false positive)时更加明显,例如在1FPPI时miss rate会有一个3.2%的降低。
5.4 与现有算法的比较
在这一部分,我们比较提出的算法和在[14]中评估的其它现有算法,包括:Viola-Jones[40],Shapelet[44],LatSVM-V1,LatSVM-V2[19],PoseInv[30],HOGLbp[43],HikSVM[31],HOG[6],FtrMine[13],MultFtr[44],MultiFtr+CSS[44],Pls[37],MultiFtr+Motion[44],FPDW[11],FeatSynth[1],ChnFtrs[12],MultiResC[33].我们算法的结果被标记为MT-DPM,和MT-DPM+Context。由于这里空间有限,我们只能展示多分辨率行人(图8(a),大于30像素),低分辨率(图8(b),30-80像素高),适当大小的(图8(c),高于50像素)(其它子实验的结果在补充材料里)的结果。我们的MT-DPM明显优于其它现有算法,在所有三个实验中,至少有6%的mean missrate的提高。采用的上下文模型进一步提高算法3%的性能。由于[9]的ROC曲线不可得到,它的性能没有在这里展示。但,如[9]中所述,它在合适大小的情况下得到48%的mean missrate,而我们的方法可以降低到41%。与我们最相关的算法就是MultiResC[33],其中也是用了多分辨率模型。我们的方法对于多分辨率检测超出它11%的性能,这可以证明我们方法的优势。
5.5 实验细节
训练好的MT-DPM检测器可以从很多DPM的算法中得到速度上的改进。尤其是,在我们的实验中,我们基于实验[15]编制了FFT代码,用于快速卷积运算。在一般PC上,处理一帧图像的时间少于1s,包括高分辨率和低分辨率行人检测,车辆检测,和上下文模型。使用并行编程或通过先验信息修改搜索空间可以得到更大的加速。
6结论
在本文中,我们提出了一种Multi-Task DPM检测器来一起对不同分辨率间的相同和不同进行编码,并在多分辨率行人检测中得到了鲁棒的性能。行人-车辆关系被建模用来推断交通场景中的正确或错误检测,并且我们展示了如何从数据中自动学习训练检测器。在有挑战性的Caltech Pedestrian Benchmark上的实验表明了相较其他现有方法性能上的提高。我们的未来工作是探究更多空间相关信息并将现有模型推广到一般物体检测任务中去。