积分通道特征(一)

    最近一段时间或多或少地阅读、调试以及Code了一些有关积分通道特征的的文章和代码。闲极无聊,这里大致谈谈积分通道的一些个人理解。希望对有些人有所帮助。

    首先,说明下。本文主要谈谈对Piotr Dollar在BMVC09, ECCV2010,CVPR2012以及PAMI2014上发表的一些文章的理解。如果一些人碰巧需要阅读、使用一些有关积分通道的知识,可以将就凑合着看看,帮助理解。

这里也给出Piotr Dlloar大牛的主页,有兴趣的童鞋可以去网页找些代码,论文什么的。

链接为http://vision.ucsd.edu/~pdollar/

----------------------------------*****************----------------------------------------------

    下面,言归正传,首先我主要谈谈Dollar发表在BMVC09上面的一篇文章《Integral Channel Features》的一些见解。

    在介绍这篇文章之前,当然要先讲讲这篇文章的优点。用作者的话就是:1)通过使用Cascade结构分类器能够产生较快的检测速度;2)参数少、设置简单;3)充分整合了图像不同方面的资源。说白了,我认为就两点:1)和HOG比,具有较快的速度以及较好的检测性能;2)与DPM比,虽然性能上有一定的差距,但是速度较快,设计简单。其核心思想就是从海量的特征中用AdaBoost选择具有区分力的特征。那么,我们就从特征和分类器两个方面介绍一下这个积分通道特征。

一、特征

    该论文的核心点其实就是积分通道特征的提取。图1给出了几种不同类型的通道特征。本文使用了图像的LUV三通道特征、梯度幅度特征以及六个方向的梯度直方图特征等共计十个特征。LUV特征为图像的颜色通道特征,正常图像我们一般看作RGB三通道组成,对RGB三通道进行一定的数学转换就可以得到LUV三通的特征,这里就不在详细介绍了。梯度幅度特征其实也就是dx和dy的平方和开根号。梯度直方图特征一般而言是根据梯度的幅度和梯度的方向得到,即根据梯度的方向将梯度的幅度投影到指定的几个方向形成的。

图1 几种不同类型的积分通道特征

    当我们对一幅图像求完这十个通道特征之后,下面一个问题就是我们怎么让分类器来选择这些通道的特征。有做过人脸检测经验的同学可能会想到类似Haar特征的结构。这篇文章其实没有用类似Haar这种结构,只是简单的对随机取定的矩形框内的像素求和。至于原因,我认为可能是Haar特征更适合人脸这种结构更固定的结构吧。采用求和的方式的好处是显而易见的:可以采用积分图结构来为后面分类器的特征提取节约时间。那么,对于训练样本(一般尺度为128*64大小)而言,这种随机矩形框的数量将会很大,得到的候选特征也将很大。这里有两个减少候选特征的措施:1)排除过小的矩形框(像素个数少于25的矩形框),原因可能为该矩形框相对于模板而言过小,其无法包含有用的统计信息,更多的可能是噪声;2)随机取剩余矩形框中的10%什么的,由于相邻矩形框之间存在很大的冗余信息,这样随机选取10%的矩形框依然可以表示整体的特征。那么这样做之后,剩余的特征个数可能就剩几万个了,在这个数量级的特征中寻找有用的有区分力的特征对于分类器而言便是小菜一碟,即速度相对而言能够很快。

二、分类器

    该论文选用的分类器结构参考的是07发表在NIPS上面的MIP一文(一种soft-cascade结构),并引进了二叉树的结构。这篇文章如果后面有时间会介绍(主要是速度上面有提升)。其实分类器这一块相对于特征的提取而言并没有那么重要。对于一个初学者或者是不太了解上述分类器结构的同学,可以简单地使用Viola等04年发表的人脸检测中使用的Cascade结构的AdaBoost分类器,看看前期效果。如果了解之后可以再进一步了解上面我说的分类器或者参考代码什么的也行。

    MIP文章的全名为《Multiple-Instance Pruning For Learning Efficient Cascade Detectors》,有兴趣的可以在谷歌上面搜索下载自己看看。

三、总结

    其实该篇文章的思想很简单,但是取得了还不错的效果。从其后来又发表的论文来看,这种结构能够取得和DPM相当的性能。所以我认为相对于DPM的理论复杂、编程相对较难而言,这种结构更适合用于实际中的物体检测。其具体性能曲线请参见其论文。





你可能感兴趣的:(adaboost,行人检测,积分通道)