读“B.Wu, R. Nevatia. Detection of Multiple,Partially Occluded Humans in a Single Image by Bayesian Combination of Edgelet Part Detectors[C], ICCV,2005.” 笔记


论文主要贡献点

  • 提出一种能够很好刻画非刚体目标轮廓的特征算子,小边特征。

  • 该论文中方法将人体分为若干部件分别检测,能够处理人体的部分遮挡问题。

  • 在之前的人体部件检测方法中,对于部件检测的结果的combine方式往往都是针对于单个个体的,而没有考虑到整体的分布。因此该论文中对人体部件检测到的结果构建Joint Likelihood function,能够更好的降低误检率和虚警率。


小边特征

小边特征算子是由较短的线段或者曲线构成的,比如以下几种小边特征

基于人体部件检测子的行人检测

edgelet.png

使用区域与小边特征算子的相似度,作为该像素点对应于该特征算子的特征,也称为图像与小边特征在该像素点的亲和度(affinity)。

假设图像的边缘图像为处和小边特征算子的亲和度为:

$$ S(p)=\frac{1}{l}\sum_{j=1}^lM(p+u_j)||. $$ ^i(p+u_j),n_j^e>

这样大小为的Sobel算子得到。

由于这里的小边特征在文中使用时是用来构建弱分类器,因此为了速度,没必要计算的太准确,所以上式中正交向量的内积就可以近似得到。

将方向向量在量化为6个区间,计算两个方向向量所在区间间隔,按如下近似方向向量内积:

分别表示边缘图像和小边点对应的量化后的值,那么亲和度可如下计算:

文中使用的小边特征算子包括4-12个像素点,有线段,1/2圆周,1/4圆周,1/8圆周,以及这些小边与其对称小边组成的对称对。在维特征,虽然没有具体说选择的小边特征算子是什么。个人认为在使用小边特征时应该先构造一定量的小边特征算子,然后再提取小边特征。


部件检测子
文中将人体分成3个部件:Head-shoulder,Torso,Legs,然后加上整体Full-body构造了四个检测器。每个检测器都是使用nested cascade detector(参见嵌入级联检测器)。

人体部件的定义图示:

基于人体部件检测子的行人检测

bodyparts.png


多人联合似然函数

首先定义状态变量。这样所谓的状态变量记录的就是真实行人的位置和大小信息。

然后定义观测变量个人检测到的状态,同样使用位置和大小刻画。

现在检测到观测变量,可以使用最大化后验概率(MAP)计算。

中的个体并不能保证是相互独立的,所以不能直接对个体进行运算。

现在通过部件检测子,将行人个体拆分成部件,那么状态变量分别对应不同部件检测到的个数。

将人体拆分成部件之后可以去掉遮挡的部件,使剩下的部件尽可能的相互独立,然后就可以使用概率的乘法公式了。

假设

  1. 所有的行人行走在一个平面上

  2. 相机拍摄角度是俯视

根据假设,我们可以认为如果一个行人中心点的y坐标越小,其深度值越高,即离摄像头越远(这里图像的坐标是从左上角开始的)。

基于人体部件检测子的行人检测

3Dassumption.png

于是通过目标区域的重叠程度可以判断是否发生重叠,发生重叠之后可以通过深度信息判定哪个部件被遮挡,进而将被遮挡的部件去除。去除了遮挡部件的状态变量可以表示为部件的个数。

这样,公式(1)可以写成

那么每个部件下的条件概率该如何计算呢?以的概率。这相当于一个检测问题,包括正确检测和错误检测。错误检测包括误检和漏检,而正确检测又需要考虑和对应真实部件的匹配的概率问题。

其中定义如下:

反映的是正确检测和错误检测的相对重要性。

现在还有一个问题,如何确定匹配对?
文中使用的是最小距离匹配,计算检测部件


行人检测方法主要过程

  1. 分别对各个部件训练检测子

    • 对训练集提取小边特征

    • 使用Real AdaBoost训练强分类器

    • 使用强分类器训练nested cascade detector

  2. 使用各个部件的验证集初始化参数

    • 匹配检测部件和真实部件

    • 统计正确检测集,误检集合漏检集

    • 由匹配对间的距离学习高斯分布

  3. 使用4种检测子扫描待检测图像,检测到四种部件的集合

  4. 将部件检测子检测到的结果与初始化的状态进行匹配

  5. 循环 i=1 to m (m是检测到的行人个数)

    • 计算联合似然函数值

    • 如果

  6. 输出作为最终的检测结果


补充与分析

  • 目标遮挡: 如果检测到的一个部件的重合区域占了该部件的,则认为该部件被遮挡

  • 由于摄像头的视角是俯视的,所以如果一个行人被捕捉到,最起码其Head-Shoulder部件一定能被检测到,所以在搜索过程的初始化阶段,选择作为初始状态

  • 该算法可以认为是使用检测行人目标,然后通过使四个部件检测子的结果得到联合似然函数值最大去剔除其中错误检测的部分


相关文章: