一种基于多特征融合级联分类器的车辆检测算法
2018-07-18周行陈淑荣
周行,陈淑荣
(上海海事大学信息工程学院,上海 201306)
0 引言
当前,基于计算机视觉的智能交通系统(ITS)在道路交通监管中越发重要,而基于视频图像的车辆检测技术是其中的关键环节。常用的视频车辆检测方法有模板匹配法、光流法、统计学习法等,其中模板匹配法因计算量大往往效率较低,光流法计算复杂且抗噪性较差,而基于特征提取和分类器的统计学习法识别率较高因而使用较多。车辆检测中常用的特征主要有方向梯度直方图(HOG)、局部二值模式(LBP)、边缘方向直方图(EOH)、Haar-like、Gabor等。文献[1]基于 HOG特征和支持向量机(SVM)实现了车辆检测,计算量小,但特征过于单一易受外界环境干扰;文献[2]利用形状和纹理的融合特征和SVM进行车辆检测,通过选取最佳降维区间,降低了误检率;文献[3]将HOG特征与Haar-like特征融合,结合AdaBoost分类器进行车辆检测,提高了识别率,但泛化性能不够好;文献[4]用Haarlike特征和AdaBoost分类器检测后再用HOG特征和SVM分类器对车辆检测结果再确认,排除误检区域,提高了准确率,但实时性不够好。上述文献的车辆检测算法通常能适用于较多场景,但在过强或过弱光照环境中,监控视频图像因亮度、对比度过强或过弱易使车辆轮廓特征丢失,从而导致较高的车辆漏检误检率。
单一特征易受环境因素干扰导致车辆误检,为了平衡强、弱光照环境下车辆检测的准确率、误识率和实时性,本文根据HOG、LBP特征对光照变化的良好适应性,结合颜色特征鲁棒性好且计算量小的特点,融合HOG、LBP和颜色特征形成新特征;采用主成分分析(PCA)方法进行降维;利用Gentle AdaBoost[5]与SVM[6]组成的级联分类器对视频中的车辆进行检测,能有效检测正常光照、强光照和弱光照环境中的车辆。
1 算法理论
首先输入一段视频并将其分成帧图像,用高斯滤波器平滑去噪,接着采用多尺度缩放加滑动窗口扫描的方式对帧图像进行遍历搜索并提取窗口特征,特征融合后进行PCA降维,通过训练好的级联分类器进行分类,最后输出车辆检测结果。算法流程图如图1所示。
1.1 提取车辆HOG特征
HOG特征能较好地描述车辆的轮廓形状,克服强、弱光照场景中车辆亮度的变化,对光照不敏感。车辆HOG特征提取首先计算图像中所有像素点在水平方向和垂直方向的梯度,如式(1)和(2):
图1 算法流程图
式中Gx(x,y)、Gy(x,y)和H(x,y)分别表示像素点(x,y)的水平方向梯度、垂直方向梯度和像素值,梯度大小G(x,y)和方向α(x,y)如式(3)和(4):
将图像分割成多个8×8像素的细胞单元(cell)并为每个cell构建方向梯度直方图,采用9个bin的直方图对梯度信息进行统计,cell里每个像素的梯度方向在直方图中进行投影且梯度大小为投影的权值;再将每2×2个cell共36维特征向量组成大的块(block)并求其方向梯度直方图向量,对每个block进行L2-norm归一化从而得到块描述符;最后将所有块的特征向量组合在一起,生成15×11×36=5940维的HOG特征向量。图 2(a)为原始图像,图 2(b)、2(c)分别为 HOG 特征及其逆变换的恢复图像。从图2(c)可看出,HOG特征对光照不敏感,但车辆轮廓特征出现了明显丢失,易造成车辆的漏检误检。因此,利用单一HOG特征进行车辆检测会导致较高漏检误检率。
图2 原始图像、HOG特征及其逆变换图像
1.2 提取车辆LBP特征
LBP运算符能较好描述车辆的局部纹理特征,对光照变化具有较强鲁棒性。将各个像素灰度值gc分别与其邻域像素灰度值 g1、g2、g3、g4、g5、g6、g7、g8进行比较,如果邻域像素灰度值大于中心像素灰度值,则该邻域像素位置的灰度值记为1,否则记为0,纹理T定义如式(5):
将得到的二进制字符串转换为十进制,各中心像素的LBP值如式(7):
LBP等价模式占全部模式很小比例却能表示9成以上的纹理特征,车辆等价模式的LBP特征提取需先将图像划分成多个16×16的cell并计算其中每个像素点的LBP值;其次计算每个cell的统计直方图,其维度由原来的256维减少为59维,将统计直方图进行归一化处理;依次连接起来形成了8×6×59=2832维的LBP特征向量。
图3 原始图像及LBP特征
图 3(a)、3(b)分别为原始图像及其 LBP 特征。从图3(b)可看出,LBP特征对弱光照具有良好的适应性,能较好地描述车辆的局部纹理,可减少车辆局部轮廓特征的丢失。因此,融合HOG和LBP特征将有效提高非正常光照环境下车辆检测的识别率。
1.3 提取车辆颜色特征
车辆局部轮廓特征丢失,可借助颜色这一全局特征辅助检测,其对视角、方向和尺寸的依赖度小,进一步降低漏检误检率。颜色矩[7]能简单有效地表示车辆的颜色特征,由于低阶矩包含了图像大部分颜色信息,用一阶矩(均值)、二阶矩(方差)和三阶矩(偏斜度)可以表达图像的颜色分布。为了降低光照变化对车身颜色的影响,在HSV颜色空间下提取车辆低阶颜色矩特征。将RGB图像转换到HSV颜色空间并分别计算H、S、V 三通道的一阶矩μi、二阶矩σi和三阶矩si,如式(8)~式(10):
其中pi,j表示图像第i个颜色通道分量中第j个像素出现的概率,N表示图像像素个数;将其组合构成16×12×3×3=1728 维的颜色特征。
1.4 多特征融合
为减少非正常光照环境下车辆局部轮廓特征的丢失,降低漏检误检率,将上述提取的HOG特征、等价模式的LBP特征和低三阶颜色矩特征进行串行融合,得到一个区分性更强的综合特征。
1.5 PCA降维
式中m为样本数量,n为特征维数,xi为第i维特征;利用奇异值分解计算协方差矩阵的特征值和特征向量并将特征值按从大到小的顺序进行排列如式(12):
式中U为协方差矩阵的所有特征向量,V是U的
多特征融合使特征向量大幅升高至10500维,为了消除大量冗余信息、加快运算速度,采用PCA对融合特征进行降维。PCA通过某种线性投影将高维数据映射到低维空间中,用尽量少的数据维度最大限度表示原数据的特性。首先计算出融合特征的均值μ并归一化;其次计算融合特征的协方差矩阵Cov如式(11):酉矩阵,S对角线上的元素为奇异值;保留U的前k列特征向量如式(13):
最后依据降维结果重构原数据,还原初始数据xa如式(14):
其中z为降维后的样本。
1.6 Gentle AdaBoost与SVM构成的级联分类器
AdaBoost[8]算法核心是弱分类器的加权组合和样本权重的更新,其中Gentle AdaBoost的权重更新方式更加平滑,在速度和性能上能取得更好的效果[5],实验采用Gentle AdaBoost训练强分类器。但当车辆被错分时因增加权重,使算法在后续过程过于关注被错分的样本,易导致过拟合现象且增加时间消耗。因此在Gentle AdaBoost级联结构的最后三层增加了泛化能力和鲁棒性较强的SVM,有效降低了误识率,提升了级联分类器的整体性能。级联分类器结构如图4所示。
图4 级联分类器结构图
2 算法步骤
(1)输入交通监控视频,分成帧图像,用高斯滤波器平滑去噪;
(2)采用多尺度滑动窗口法,遍历帧图像;
(3)提取车辆HOG特征、等价模式的LBP特征和低三阶颜色矩特征;
(4)将提取的3种车辆特征串行融合;
(5)依次计算融合特征的均值、协方差矩阵的特征值和特征向量,取前k个主成分后得到降维数据;
(6)使用Gentle AdaBoost强分类器和SVM强分类器组成的级联分类器进行特征分类;
(7)输出车辆检测结果。
3 实验结果与分析
为了验证本文算法的性能,在MATLAB R2015a的环境下进行实验,PC配置为Intel酷睿i5-6200U,2.4 GHz CPU和8G内存。实验使用的正样本来自UIUC车辆库和MIT-CBCL数据库,共计1200张,尺寸统一归一化至128×96;负样本选取的是包含行人、建筑、道路等在内的非车辆图片,共计2500张,尺寸不小于正样本。检测过程选取强光照、正常光照和弱光照3种不同光照强度的视频作为测试样本,提取出600幅帧图像作为最终的测试样本集。
车辆检测算法性能的评价指标通常有检测率、误识率和时间消耗等,检测率TPR和误识率FPR分别如式(16)和(17):
其中TP表示检测正确的车辆数量;FN表示漏检的车辆数量;FP表示误识的非车数量;TN表示检测正确的非车数量。
3.1 Gentle AdaBoost-SVM级联层数选取
训练过程中每个强分类器的目标检测率设定为99%,虚警率设定为50%,得到一个共15层的Gentle AdaBoost强分类器。为了提升分类器的泛化性能和减少时间消耗,在级联结构的末尾使用SVM强分类器,SVM级联层数影响着级联分类器的判别能力,表1为不同的SVM级联层数在车辆误识率方面的比较结果。
表1 不同的SVM级联层数误识率比较
SVM级联层数的增多会增加时间消耗,实验在级联结构的最后三层使用SVM分类器,降低了误识率。
3.2 3种分类器性能比较
表2为 Gentle AdaBoost、SVM 和 Gentle AdaBoost-SVM分类器的性能比较结果。
表2 3种分类器性能比较
可见,Gentle AdaBoost-SVM的性能优于另两种分类器,因此选其作为实验最终的分类器。
3.3 4种车辆检测算法实验结果与分析
实验将本文算法分别与基于HOG特征的SVM算法、基于HOG-LBP特征的SVM算法和基于HOG-类Haar特征的AdaBoost算法进行比较,强光照、正常光照和弱光照环境下的车辆检测结果分别如图5、图6和图7所示。
图5 强光照环境4种算法的车辆检测结果
图6 正常光照环境4种算法的车辆检测结果
图7 弱光照环境4种算法的车辆检测结果
其中(a)为 HOG+SVM 算法,(b)为 HOG-LBP+SVM 算法,(c)为 HOG-类 Haar+AdaBoost算法,(d)为本文算法,实验结果表明本文算法在不同光照强度环境下均能有效降低车辆漏检误检率。
为了验证本文算法在不同光照强度环境中的有效性,将本文算法分别与HOG+SVM算法、HOG-LBP+SVM算法和HOG-类Haar+AdaBoost算法的性能指标进行比较。表3是4种算法检测率和误识率的比较结果。
表3 4种车辆检测算法检测率、误识率比较(%)
可见,强光照、正常光照和弱光照3种不同光照强度环境中本文算法较其他三种算法在检测率和误识率方面性能都有明显提升。
时间消耗评价指标对比结果如表4所示。
相比之下,本文算法的训练耗时虽略长于基于HOG特征的SVM算法,但由于分类器是离线训练的,不影响检测耗时。由于本文算法采用Gentle AdaBoost与SVM构成的级联分类器,以及多尺度滑动窗口法遍历帧图像,本文算法平均检测耗时要略多于基于HOG-类Haar特征的AdaBoost算法,但本文算法漏检率和误识率更低。
表4 4种车辆检测算法的耗时比较
4 结语
针对强、弱光照环境中监控视频因亮度、对比度过强或过弱使车辆轮廓特征丢失而出现的车辆漏检误检情况,建立了一种基于多特征融合级联分类器的抗光照车辆检测算法。融合HOG特征、等价模式的LBP特征和低三阶颜色矩特征表征车辆特征,减少了车辆局部轮廓特征的丢失;通过PCA降维,减少了冗余信息,提高了检测效率;利用由Gentle AdaBoost与SVM构成的级联分类器,降低了车辆误识率,提升了泛化能力,且满足实时性的要求。