发明内容
为了克服已有的行人检测方法的训练速度较低、误检率和漏报率较高的不足,本发明提供一种能够有效减少训练速度、降低漏报率和误检率的基于改进的HOG特征和PCA的行人检测方法。
本发明解决其技术问题所采用的技术方案是:
一种基于改进的HOG特征和PCA的行人检测方法,所述行人检测方法包括以下步骤:
1)采用HOG特征块模块提取训练正样本图像中行人梯度信息集中区域的HOG特征作为改进的HOG特征,所述训练正样本图像有m个;
2)针对上述改进特征矩阵,采用PCA算法,得到用于降低特征维数处理的投影矩阵B,具体过程如下:
2.1)针对训练样本特征矩阵中的每个训练正样本xi,i=1,...,m,计算平均向量:
2.3)计算C的特征值和特征向量bi,选择K个最大的特征向量作为特征子空间的基,由这些基组成投影矩阵B:B=[b1,b2,...,bK]T;
3)提取训练样本的改进型HOG训练特征矩阵P,利用投影矩阵B进行降维处理,得到最终训练特征矩阵P′:P′=P×B,利用P′训练支持向量机SVM分类器;
4)对于任一检测样本,提取改进型HOG特征向量y并利用投影矩阵B降维,得到最终用于检测行人的特征向量y′:y′=y×B。将y′输入步骤3)中训练得到的SVM分类器进行行人的检测。
进一步,所述步骤3)中,所述支持向量机SVM分类器中,核函数为高斯径向基核函数:
其中,
k为训练样本的特征维数。
再进一步,所述步骤1)中,梯度信息集中区域为图像中间区域。
更进一步,所述步骤1)中,所述HOG特征块模块为高宽比(H∶W)为1∶1,16×16像素大小的块,块中平均分割而成的四个单元像素大小为8×8,计算样本HOG特征时所用步长为8个像素。当然,也可以采用其他方式。
本发明的有益效果主要表现在:能够有效减少训练速度、降低误检率和漏报率,提高行人检测率。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图6,一种基于改进的HOG特征和PCA的行人检测方法,所述行人检测方法包括以下步骤:
1)采用HOG特征块模块提取训练正样本图像中行人梯度信息集中区域的HOG特征作为改进的HOG特征;
2)采用PCA算法进行降低维数处理,得到改进型HOG特征和PCA算法级联后的新的特征提取算法所提取的特征向量;
3)利用步骤1)和2)所述新特征提取方法提取训练样本的特征向量进行分类器的训练;
4)将检测样本利用步骤1)和2)所述新特征提取方法提取的特征输入步骤3)中训练得到的SVM分类器,进行行人检测。
本实施例的HOG特征提取算法:用I(x,y)表示图像I在像素点(x,y)处的灰度值。HOG特征是针对图像某个矩形区域中的梯度方向与强度而定义的一种特征,其计算过程如下:
Gx(x,y)=I(x+1,y)-I(x-1,y), (1)
Gy(x,y)=I(x,y+1)-I(x,y-1), (2)
其中,Gx、Gy分别表示像素点(x,y)处的水平方向和垂直方向的梯度幅值,G(x,y)表示像素点(x,y)处梯度大小,α(x,y)表示像素点(x,y)处的梯度方向。
HOG特征将
的梯度方向均匀分成9个区间(bin)。我们用V
k(x,y)表示像素点(x,y)在第k个方向的幅度大小,那么:
其中,bink表示梯度方向的第k个方向区间。这样,每个像素点(x,y)处的梯度特征可以用一个9维的向量Vk(x,y)来表示。
HOG特征是针对图像的某个矩形区域中的梯度方向和强度的统计信息而定义的。目前对于样本特征提取时主要用的HOG特征块模板有下面两种:一种是由Dalal等人提出的大小固定,高宽比(H∶W)为1∶1的块,如图3(a)所示。另一种是由Zhu等人提出大小变化的块,其高宽比(H∶W)为分别为1∶2、1∶1、2∶1,如图3(b)所示。其中采用大小可变块的HOG特征块模板虽然增加了HOG的特征数量对检测结果有所提高,但是训练和检测速度较慢。因此采用由Dalal等提出HOG特征提取方法:将样本分为16×16像素大小的块,每个块平均分为4个单元,每个单元的大小为8×8像素。每个单元的特征是其内部64个像素的特征向量之和。
为了消除光照等因素的影响,对块内的每个单元进行归一化处理:
其中,
表示第m个单元
中的第k个区间的累积强度在
所属的块B中所占的比例。ε为一个较小的数,是为了避免分母为零的情况的出现。从式(6)可知,每个单元提取的特征向量为9维,每个块的特征为将四个单元的特征级联得到的36维向量。
本实施例中,正样本图像中含有行人,负样本图像中不含有行人;在对正样本进行梯度信息计算时发现,正样本中行人的梯度信息主要集中在样本的中间区域,如图4。两边的梯度信息不仅对正负样本分类没有任何帮助,反而会产生干扰。
鉴于HOG特征是在梯度信息的基础上提出的,因此我们只提取样本中梯度信息集中区域(图5)的HOG特征来代替提取整幅样本的HOG特征。即对于本实施例采用的大小为128×64像素的样本来说,只需提取中间128×32像素大小区域的HOG特征。这样,对于本实施例采用的块大小为16×16像素,步长为8个像素的HOG特征提取算法而言,所提取的总特征数将会降低一半以上。
PCA是一种统计分析方法。它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主元的目的是将高维数据投影到较低维空间。在图像识别领域,PCA算法被非常成功地应用于人脸识别。
PCA基于二阶矩矩阵,即相关矩阵的频谱分析。相关矩阵从统计上表征了一个随机向量。在图像编码领域,PCA被称为是Karhunen-Loeve变换(KLT)——基于相邻像素或像素群相关性提取的数据压缩最优方案。PCA通常是通过最优化一些信息准则派生的,如最大化投影方差或最小化重建误差等。通过计算输入向量的协方差矩阵的特征值和特征向量,PCA将一个高维的输入向量线性地转换为一个各维不相关的低维向量。
进行PCA的对象是对行人样本所提取的HOG特征。在我们所得到的HOG特征中,其中的某些维数并不具有区分性,这些维数的存在不仅使得整个特征空间非常庞大,使得训练速度过长,而且降低了样本识别率。参照图6,PCA算法如下:
假设我们有m个训练正样本:
2.1)针对每个样本x
i,i=1,...,m,计算平均向量:
2.3)计算C的特征值和特征向量bi,选择K个最大的特征向量作为特征子空间的基,由这些基组成的投影矩阵B:B=[b1,b2,...,bK]T。
2.4)对于任一检测样本x′,其特征的提取算法为:
去均值:
投影到特征子空间,得到PCA特征向量:x″=x′·B。
采用的样本集为归一化为128×64的Inria样本集。Inria样本集的特点在于正样本中的行人比较具有多样性,不单一,能很好地表示多种行人模型。
在进行训练和检测时,我们用1500幅不重复正样本和900幅不重复负样本组成训练集;用另外300幅不重复正样本和不重复负样本来进行检测。这些样本的分辨率均归一化为128×64。
本实施例采用SVM分类器。核函数为高斯径向基核函数:
其中,
k为训练样本的特征维数。实验1~4所用的支持向量数分别为1524、1382、718和732。
实验1:基本型HOG特征:
利用基本型HOG特征训练并测试样本库中的样本集:
(1)通过提取训练样本的HOG特征:
块大小为16×16像素,均分得到的单元大小8×8像素,步长为8个像素;
(2)利用训练样本集提取的HOG特征训练SVM分类器,得到行人分类器;
(3)利用测试样本集和训练得到的分类器进行测试。
实验结果见表1。
实验2:改进型HOG特征:
本实验中训练和测试的基本流程同实验1。但实验2只对梯度特征较明显和集中的区域进行了HOG特征提取,而不是对整幅图像进行特征提取。这样可以降低特征维数,减少计算时间,并取得更好的分类结果。实验结果见表1。
实验3:基本型HOG特征结合PCA降维:
在利用PCA算法对HOG特征进行降维之前,我们直接对整幅128×64样本所构成的8192维向量进行了PCA特征提取分类实验。实验中所提取的高维(2000维),中维(1000维)和低维(500维)特征的分类结果都非常不理想,分类正确率都只有50%左右。这主要是因为样本库中每个行人样本姿态的多样性和行人着装颜色的差异性等使得直接由行人样本转化成的图像向量离高斯分布较远,不适用PCA。但每个行人样本所提取的HOG特征能较好地接近高斯分布。因此本实施例中利用PCA对行人样本所提取的HOG特征进行降维。
利用PCA算法对提取的基本型HOG特征进行降维:
(1)提取1500幅训练正样本的基本型HOG特征,得到1500个3780维的样本特征向量。
(2)对这些特征向量进一步进行PCA特征提取,选择最优最具分类能力的特征向量。经过我们反复验证,选择最优特征维数为K=500。具体实验结果见表1。
表2列出了对基本型HOG特征进行降维,K取不同值时得到的实验结果。
实验4:改进型HOG特征结合PCA降维
利用PCA算法对提取的HOG特征进行降维:
(1)提取1500幅训练正样本的改进型HOG特征,得到1500个1620维的样本特征向量。
(2)对该特征空间进行PCA特征提取,选择最优最具分类能力的特征向量。经过我们反复验证,选择最优特征维数为K=322。具体实验结果见表1。表2列出了对改进型HOG特征进行降维,K取不同值时得到的实验结果。
表1、四种特征提取算法的分类结果
项目 |
维数 |
检测率 |
漏报率 |
虚警率 |
实验1:基本型HOG特征 |
3780 |
93.5%(561/600) |
3.3333% |
9.6667% |
实验2:改进型HOG特征 |
1620 |
95%(570/600) |
1.3333% |
8.6667% |
实验3:基本型HOG结合PCA特征 |
500 |
96.8333%(581/600) |
3.3333% |
3% |
实验4:改进型HOG结合PCA特征 |
322 |
96.6667%(580/600) |
1.3333% |
5.3333% |
表2、PCA对两种HOG特征不同降维维数的分类结果
表1和表2中的漏报率为300个检测正样本中每个样本被错误分类的概率,虚警率为300个检测负样本中每个样本被错误分类的概率,检测率为全部600个检测样本(包括正、负样本)中每个样本被正确分类的概率。
通过比较表1中的实验1和实验2,可以发现实验2中单个样本的HOG特征维数为1620维,而实验1为3780维。即,改进型HOG特征提取减少一半以上的特征维数。通过两个实验的漏报率和虚警率的比较,我们发现,改进型HOG特征提高了整个样本的正确检测率:正样本漏报率从3.3333%降低为1.3333%,负样本的虚警率从9.6667%降低为8.6667%。从而,改进型HOG特征提取从实时性能和分类性能上都较基本型HOG特征有较大的改进。
比较实验1和实验3,实验2和实验4,我们发现通过PCA降维,单个样本的维数都较原来的维数降低了很多,分别从3780维降低为500维,从1620维降低为322维。而且从样本检测率的比较可以看出,基本型HOG特征和改进型HOG特征的漏报率在降维前后没有变化,而虚警率有所降低,分别从原先的9.6667%和8.6667%降低为3%和5.3333%。这说明PCA能在保证并优化样本检测率的前提下对提取的HOG特征进行有效降维。
从表2我们发现,改进型HOG特征的最佳降维维数322维要低于基本型HOG的500维。两种最佳降维维数的分类结果表明:尽管基本型的虚警率要低于改进型,但改进型的漏报率比基本型低。相对虚警率,行人检测更侧重于漏报率的降低。而且在提取的维数较低时,如100维,改进型的降维特征分类效果要明显好于基本型,检测率分别为95.3333%和93.1667%。因此,改进型HOG结合PCA的算法比基本型HOG结合PCA的算法在特征维数,漏报率和低维分类效果上都要优越。
综上所述,本实施例提出的改进型HOG结合PCA的行人特征提取算法相比基本型HOG特征提取算法来说不仅大幅降低了特征维度,减少了SVM的训练时间,还提高了行人样本的检测正确率。