计算机视觉
图像处理

每秒100帧的行人检测方法

申明:本文为笔者翻阅英文文献后翻译、整理所得,文中所提方法并非笔者原创。如果你想了解更多的细节,更好的把握作者的本意,建议阅读作者的原文。

Pedestrian detection at 100 frames per second, Rodrigo Benenson, Markus Matias, CVPR2012

这篇文章的主要贡献有两点:

(1)提出一种无需图像尺度缩放的目标检测方法:

一般的目标检测方法都需要将输入图像进行缩放处理,从而在各个尺度上进行多次特征提取。Viola 和 Jones则提出对特征进行尺度变换,而无需对图像进行缩放来解决尺度的问题。这种思路并不能直接适用于类似于HOG的特征提取方法,原因是图像的模糊会对HOG特征提取造成一定的影响。文中提出基于梯度方向的特征提取方法,无需图像尺度缩放,并且在特征提取阶段,比常规的基于尺度缩放的方法提速3.5倍。在GPU上,对单张640*480的图片进行测试,该方法获得了50fps的检测速度。相比HOG+SVM在GPU上的检测性能而言,该方法获得了10倍的提速,并且检测质量提高了2倍。

(2)利用stixels进行目标检测:

深度信息对于目标检测而言是一个很好的线索。然而,计算深度图是非常耗时的。作者发现,最近其它研究人员最近发现的的一种名为stixels的深度信息求解方法可以用来对检测算法进行提速。

借助于stixel(一种更好的先验知识),检测空间缩小了44倍,从而使得实际应用过程中的速度性能更好。当采用台式机,CPU+GPU的架构来运行算法时,在不降低检测质量的情况下,获得了135fps的速度。在高端笔记本电脑上获得了80fps的速度。

检测算子(以下简称ChnFtrs)采用了Dollar等人提出的积分通道特征,该特征被研究人员大量评估之后,发现其性能是目前最好的。

积分通道特征,就是在图像的某个矩形区域,求取其内部所有像素的像素值之和,并在此基础上来逼近hog,haar之类的常见特征,从而加速特征的提取。对于行人检测而言,积分通道特征是利用了6个量化的梯度方向,一个梯度幅值,3个LUV颜色通道,从而获得较好的行人检测性能。除了特征之外,作者还提出采用一个两层决策树来进行分类判别。每个树,具有三个树桩分类器(stump clasifier),三个树桩分类器通过权重来线性组合,从而构成一个强分类器。决策树以及权重则是通过离散AdaBoost算法学习得到的。在学习的时候,跟Dollar在他的论文里面提到的一样,强分类器包含2000个弱分类器,特征则从30000个矩形特征池中随机选择。刚开始训练的时候,有5000个负样本,自举(booststrap)两次,每次增加5000个较难分类的负样本。利用INRIA行人检测数据集进行训练和性能评估。为了使得训练速度更快,作者将特征的数量减少4倍(如Dollar在“intrgral channel features-addendum”提到的)。

作者提供了ChnFtrs的两种实现:CPU版本和GPU版本。测试图片为640*480大小,55个尺度,没有采用级联分类器,在CPU(intel i7, 8cores)上达到0.08fps; GPU版本则是在Nvidia GeForce GTX470上进行测试,达到了1.38fps的速度。测试阶段,作者发现,GPU上运行的代码,有一半时间是在做图片缩放,另一半的时间则是在做特征计算和目标检测。

乍眼一看,积分通道特征是很简单的,但却为何要比HOG特征具有更好的性能表现呢?关键在于,HOG特征是人为设定的特征描述算子,而积分通道特征则是通过样本学习,自动选择那些最具有分类鉴别能力的特征。

目前的目标检测算法,大多以滑动窗口为主。基于滑动窗口的目标检测方法,主要有两种思路,一种是特定目标分类检测方法(traditional approach),这种方法可以准确的检测出目标的数量和位置所在。另一种更幼稚点的做法(naive approach)是在每一个待检测位置,每一个尺度,构建一个分类器,在所有位置,所有尺度上寻找最大的函数响应,将最大相应的位置和尺度作为目标的位置和尺度。对于幼稚点的做法而言,需要在各个尺度上训练一个模型(model),通常来讲,尺度的数量,也就是模型的数量约等于50(经验估计值)左右。如图2(a)所示。Traditional approach则只需要训练一个模型,对于各个不同的尺度而言,则只需要将图像进行尺度缩放既可,如图2(b)所示。显然,一个标准的模型+不同的图像缩放尺度等同于若干个不同尺度的模型+无需缩放的图像。Traditional approach看起来是有效的,但它却存在两个问题。首先,标准模型很难界定,尤其是选择在哪个尺度上进行标准模型的训练比较合适,而且该尺度上训练的模型要能在低分辨率尺度和高分辨率尺度上有较好的平衡能力。其次,在检测的时候,我们需要将原图缩放50次,每次缩放后都要重新计算图像特征。

转载注明来源:CV视觉网 » 每秒100帧的行人检测方法

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 1超赞 0无聊 0扯淡 0不解 0路过

评论 3

评论前必须登录!