一 特征提取
1.1 矩特征
矩特征主要表征了图像区域的几何特征,又称为几何矩, 由于其具有旋转、平移、尺度等特性的不变特征,所以又称其为不变矩。在图像处理中,几何不变矩可以作为一个重要的特征来表示物体,可以据此特征来对图像进行分类等操作。
矩特征是目前特征提取过程中效果比较理想的方法 矩实际上是图像灰度相对于图像质心的统计情况反映, Hu在1961 年首先提出了矩不变量的概念,并阐述了 7 个不变矩的公式, Li利用 Fourier-Mellin 变换的不变性推导出一种构造任意阶矩不变量的方法 并指出 Hu 矩就是它的一个特例,Zernike 在 Hu 的 7 个不变矩的基础上做了进一步改进 提出了一组完备正交多项式{Vnm (x, y)},图像的 Zemike 矩实际上是图像在该正交多项式上的投影; D Shen 和 H H S 利用小波变换构造了具有旋转不变性的目标图像特征小波矩,小波矩结合了小波和矩的特性,其不仅可以得到图像的全局特征,也可以得到图像的局部特征,因而在识别相似形状的物体时有更高的识别率[1]。下面主要叙述HU矩和Zernike矩。
与手工计算一个特征集不同的是,多层感知器提供一种合适的特征提取方法通过它的隐藏层,以便于特征在训练过程中调整到数据集。Fukushima提出了用LRF特征的前馈神经网络,后来被Wohler and Anlauf应用到行人分类器上,是一种特别吸引人的2维图像分类方法。与标准的多层感知器形成对比的是,在隐藏层的神经细胞仅仅与输入图像的受限局部区域,被称为局部接受域(见图三)。隐层分为多个分支,一个分支的所有的神经元共享同样的权重集。局部连通和权重共享性有效地降低了训练阶段需要确定的权重数量,从而允许相对小型的训练集得到高的尺寸。
We further investigate the concept of LRFs by extracting the output of the hidden layer of a (once trained) NN/LRF as features subject to classification by generic classification methods (other than neural networks). Preliminary experiments have shown receptive fields of size 5X5 to be optimal, shifted at a step size of 2 pixels over the input image of size 18 X36. The number of branches is varied within the values of {8; 16; 24; 32} during parameter optimization.
我们进一步研究通过提取一个NN/LRF的隐层输出作为特征LRFs提取输出的隐层受通用分类分类方法(除了神经网络)限制的LRF的概念。初步实验显示出的接受域大小的5X5为最佳,每一步改变2个像素在大小为的18 X36输入图像。在参数优化过程中分支的数量在{8; 16; 24; 32}中变化[4]。
我下载参考文献[4]中LRF的参考文献,这些文献中也有讲到local receptive fields的,但是也只是描述NN/LRF的应用,并没有叙述LRF的概念,如何得到的,其中有一些是讲到了local features和spatio-temporal receptive fields的,LRF多是与NN结合起来用,与我们的框架不符,可以不考虑增加LRF特征。
1.3 Edgelet特征[5][6]
Edgelet特征描述的是人体的轮廓特征,但是它描述的是人体局部轮廓的特征,包括的形状有直线、弧线等,它将人体分为几个部分来训练,比如:全身、头肩部、腿部和躯干部等,每个部分都使用adaboost算法训练一个强分类器;在分类时,利用四个部分的联合概率来判断。由于该算法采用的是人体的局部特征,所以在出现遮挡的情况下仍然有很好的表现,缺点是特征的计算比较复杂。
Wu Bo提取图像的edgelet特征用于检测静态图像中的人体,对组成人体的各个部分分别建立模型,每一个edgelet描述人体的某个部位的轮廓,然后再用adaboost算法筛选出最有效的一组edgelet来描述人的整体。
如图3.1所示,Wu Bo定义了三种edgelet,包括直线型、弧形和对称型。每一个edgelet由一组边缘点构成,是一条具有一定形状和位置的线段。对于图像中任意的位置,根据该位置是否具有和某edgelet形状相似的边缘,就可以得到一个响应值。如果边缘的形状与edgelet越相似,那么响应值就越高。
edgelet在某个位置(x,y)上的响应值可以这样计算。
这种方法分别检测窗口的局部区域,然后再综合这些区域的检测结果来做最终的判决。这类方法的优点在于能更好地处理遮挡以及行人姿势的多样性。主要问题在于,如何定义局部以及如何整合来自多个部位检测器的信息。
其中,K是点的数目。(ui ,vi)是该点在edgelet中的位置。Ie(x+ui,y+vi)是图像中对应该点的边缘强度,Ne(x+ui,y+yi),ni表示图像中(x+ui,y+vi)点的梯度的法向量和edgelet中该点的法向量的内积。
综上,可以得到edgelet相对于整体特征有其自身的优点,这种方法以检测局部为基础,在得到了各个局部的检测结果后,再分析各局部之间的相互关系来得到最终的检测结果。这种方法的优点在于能更好地处理遮挡以及行人姿势的多样性。这种方法的主要问题是,怎样定义局部和怎样整合来自多个局部位置的分类器的信息。
1.4 Shapelet特征[7]
2007年Sabzmeydani[20]提出了基于Shapelet特征的目标检测算法,其相较于Dalal提出的基于Hog特征的算法将误检率进一步降低了整整10倍。该算法最核心的思想是利用机器学习的方法自动地生成自适应的局部特征。Shapelet特征是一系列mid-level特征的集合。这些特征集中描述图像的局部区域特征,并通过Adaboost集中训练low-level的梯度信息组合构建而成。以往的物体检测算法其主要的一个缺点就是在于使用固定的特征描述模型,其弊端在于特征的形成缺乏自适应性,很多情况下可能会丢失一些具有判别力的细节信息,而机器学习往往只是利用来设定分类器的参数或者选择特征的;相对的,在基于Shapelet特征的算法中,特征本身就是通过机器学习,由很多low-level的梯度信息组合而来的,是机器学习在目标检测中更为彻底与深入的应用。
该算法的核心思想就是,两次利用Adaboost算法:第一步,着眼于(静态)图像局部,对于图像局部区域内所有的低级特征(Low-Level,如最简单的边缘梯度特征等)进行第一次的Adaboost训练,训练以后得到低级特征的加权和,即为Shapelet特征;然后,第二次使用Adaboost在所有求得的Shapelet特征中进行训练,选择最优秀的弱分类器组合而得最终的强分类器。
基于Shapelet特征的训练过程包括以下三步:
第一步,输入训练样本图片,计算每幅图像在不同方向上的梯度值,Sabzmeydani使用了{0°,45°,90°,135°}四个方向,然后进行平滑滤波。每个low-level特征包括位置、方向、以及强度大小三个信息。这些low-level的梯度值用来构建Shapelet特征。
第二步,求取Shapelet特征。在每个子窗口内,通过Adaboost选择部分区分样本类别能力优秀的部分low-level特征来构建mid-level的Shapelet特征。每个子窗口都可以以此得到一个Shapelet特征,每一个Shapelet特征都比直接的low-level特征的区分能力要强,它是子窗口内不同方向不同位置的梯度的组合。
第三步,训练最终的强分类器。单一的Shapelet特征仅仅描述图像的一个局部区域的轮廓信息,因此它的分类能力是非常有限的。我们将之前所有求得的Shapelet特征作为输入,第二次利用Adaboost进行训练来构造最终的强分类器。
Shapelet特征通过先着眼于局部的小特征集,从底层特征通过机器学习得出中层特征(Mid-Level)的方法,尝试获得更多更有用的细节信息,而无需同时考场所有的低层特征。Shapelet特征的特性:简单、低维;由目标物体学习而来,对其他类别的物体具有排他性;具有比较强的判别能力;局部同样有效:可将整体分为各部分分别提取特征[5]。
我们的行人检测的主体框架和这些论文的行人检测主体框架是一致的,差别在于两个方面:一,特征提取我们的是单一的矩形HOG特征并没有和其他特征如shapelet特征融合,没有用到高斯权重和三线性插值,也没有尝试圆型HOG特征,而有一些论文就做了一些相关工作;二,我们的分类器只是标准的adaboost级联(GAB级联),只是adaboost的弱分类器是用二叉树来实现的,而上述论文中有的adaboost分类器的弱分类器用SVM实现,有的分类器用adaboost和决策树结合来实现,有一些是标准的adaboost级联。