行人检测“Pedestrian detection at 100 frames per second”

文章使用的特征是ICF,并在训练阶段进行多尺度的模型训练,将检测时间转移到训练上进行提速。
ChnFtrs检测器
Dollar提出的ICF与DPM的效果可以媲美,ICF对滤波器响应进行简单的矩形加和,行人检测使用了6 quantized orientations, 1 gradient magnitude 和 3 LUV color channels,如下图所示:
行人检测“Pedestrian detection at 100 frames per second”_第1张图片
使用矩形特征构建决策树,之后加权成一个强分类器,决策树及其权值使用AdaBoost学习。强分类器包含2000个弱分类器,特征从30000个矩形特征池中筛选,训练开始时有5000个负样本并bootstrap两次,每次增加5000个困难负样本。
ChnFtrs方法能与DPM媲美的原因:特征是学来的。

改进的多尺度检测方法
行人检测“Pedestrian detection at 100 frames per second”_第2张图片
1.原始的目标检测方法是对每个尺度和位置都训练一个分类器,对于一个待检测位置,计算每个分类器的响应,选择相应最大的之后进行NMS,但尺度的数量通常有50个之多,训练量很大。
2.传统的方法是训练一个模型,缩放N次图像进行检测,缺点是训练模型的尺度不好选取,且在检测时需缩放图像多次。
3.FPDW:缩放N/K次图像,计算对应尺度的特征,之后用这些尺度的特征估计剩余N-N/K个尺度的特征。临近尺度的响应使用下式进行拟合:
这里写图片描述
s是缩放因子(新检测窗口的高度是老窗口高度乘以s),r(s)是特征响应比,其余参数均为经验值。
4.本文的方法VeryFast,将FPDW反过来。由于可以估计尺度间的特征响应,可以调整stump分类器。强分类器由决策树构建,每个决策树包含3个stump分类器,每个stump分类器由一个通道索引,一个矩形和一个决策阈值定义。当用s缩放stump分类器时,通道索引固定,缩放矩形s倍,更新阈值t=t*r(s)。根据这个思想,可以训练一个典型分类器,之后转换成K个分类器,之后只需训练N/K(~5)个分类器,测试时把N/K个分类器转换为N个分类器,计算ICF后使用N个分类器计算响应。训练的五个模型如下图所示:
行人检测“Pedestrian detection at 100 frames per second”_第3张图片

Soft cascade加速
AdaBoost分类器有2000个弱分类器,传统方法每个弱分类都要通过,Dollar使用了soft cascade在检测时进行加速,即当某级的响应低于给定阈值时停止检测。

stixels
stixel world model”的本质是检测出图像上的柱状物(column,行人也算是柱状物),并且估计出柱状物的低端像素(bottom pixel)和顶端像素(top pixel),将这些像素点标记出来就围成了行人出现的可能区域,作者之前在《Stixels esitimation without depth information》这篇文章中就希望可以将这种思想与物体的检测结合起来,但当时并没有实现,作者在本文中将“stixel world model”与行人检测完美的结合在了一起,这是其中一个贡献。

你可能感兴趣的:(行人检测“Pedestrian detection at 100 frames per second”)