行人检测作为目标检测技术的一种,已在智能交通、智能监控、人机交互以及军事等领域得到了广泛的应用。行人检测可以视为特征提取和分类器设计相结合的过程,其目标是从一个未知的视频或图像序列中,自动分析检测出其中存在的目标物体。采用行人检测的智能图像信息分析技术,可有效处理目标检测相关的图像理解和模式识别中的不确定性问题。不同于刚性目标有固定的形状和空间结构,行人目标存在着形变、部分遮挡和观察角度变化等问题会影响检测效果。随着计算机性能和传感器技术的不断改进和提高,近年来行人检测在机器视觉领域得到了广泛关注。
目前,较为经典的行人检测方法有Dalal等[1]提出的HOG图像描述子与SVM分类器结合的行人检测算法; Piotr等[2]提出的快速行人检测方法; Tang等[3]利用可变部件模型 (deformable part models, DPM) 检测粘连现象严重的行人方法以及Wang等[4]提出的基于HOG-LBP特征的行人检测方法。这些方法均为特征提取与分类器设计相结合的行人检测方法,研究的重点是如何有效地表示行人的整体特征、部位特征或者局部块特征。其中方向梯度直方图特征是目前广泛使用的行人特征表示,但是方向梯度无法刻画人眼视觉敏感度且信息冗余度大。
使用方向梯度直方图 (histogram of oriented gradient, HOG) 及其改进方法作为特征的行人检测[1, 4-6]取得了较大成功。Dalal等[1]最先将HOG图像描述子与线性支持向量机 (linear support vector machine, SVM) 结合,成功实现了行人检测;Wang等[5]成功地将HOG与局部二值模式 (local binary pattern, LBP) 融合作为特征实现行人检测,弥补了单独使用LBP特征进行图像描述造成的边缘方向信息缺失的缺点。许多研究团队将HOG进行改进并用于行人检测中,提升了算法的精度和实时性。Walk等[6]使用改进的HOG特征,即HOF和局部自相似性 (color self-similarity, CSS) 特征进行图像描述,使用HIKSVM分类器实现行人检测。Ouyang等[5]先使用卷积神经网络 (convolutional neural network, CNN) 确认候选窗口位置,然后使用HOG与CSS结合的方法达到行人检测的目标。HOG基于梯度信息并允许块间相互重叠,因此,对光照变化和偏移不敏感,能有效地刻画人体的边缘特征。然而,大量的重叠和直方图统计,使得HOG特征维度偏高,导致特征的计算速度慢,进而影响实时性。单独使用HOG特征进行描述,还存在遮挡处理能力较差,未利用颜色、形状和纹理等特征等问题。
局部二值模式 (local binary pattern, LBP) 首先由T. Ojala, M.Pietikäinen, 和D. Harwood在1994年提出,作为一种用来描述图像局部纹理特征的算子,用于纹理特征提取时,具有旋转不变性和灰度不变性等显著的优点,而且提取的特征是图像局部的纹理特征。在行人检测中,HOG-LBP-HIKSVM结合的模式取得了不错的效果,在人脸识别中也是广泛应用。在原始LBP算子的基础上,国内外研究人员提出了一些改进模式,提高了LBP算子的边缘检测性能。Ojala等对LBP算子进行了改进,将3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域。改进后的LBP算子,允许在给定半径的圆形邻域内,有任意多个像素点。从而得到了诸如半径为R的圆形区域内含有P个采样点的LBP算子。Maenpaa等将LBP算子进行了扩展,提出了具有旋转不变性的LBP算子,即不断旋转圆形邻域得到一系列初始定义的LBP值,取其最小值作为该邻域的LBP值,这种描述方法可以很好地捕捉到图像中的细节。为了解决二进制模式过多的问题,以提高统计性,Ojala等[7]提出了采用一种等价模式 (uniform pattern) 来对LBP算子的模式种类进行降维,实验结果表明,通过这样的改进,二进制模式的种类大大减少,而不会丢失任何信息。然而,LBP及其改进算子无法区分邻域像素点与中心像素点像素值相等,或者邻域像素点像素值大于中心像素点像素值2种情况,且存在特征谱维数较高,对噪声鲁棒性差等缺陷。
为此,本文针对上述HOG-LBP-HIKSVM行人检测模式中存在的问题,提出了一种改进的CoHOG-LQC-HIKSVM方法,并将其应用到行人检测中。其中分别利用积分图计算共生梯度方向直方图 (co-occurrence histograms of oriented gradient, CoHOG)[8]和局部量化编码 (local quantization code, LQC)[9]方法,提取原始图像的边缘特征和纹理谱特征,并对LQC纹理特征谱进行CoHOG运算,得到局部量化编码下的共生梯度方向直方图。然后将原始图像的LQC特征、基于LQC纹理特征谱的CoHOG以及原始图像的CoHOG融合,得到最终的图像描述子,使用主成分分析 (principal component analysis, PCA) 方法降维。最后使用直方图交叉核支持向量机 (histogram intersection kernel support vector machine, HIKSVM) 分类器实现行人检测。改进的CoHOG-LQC方法在降低纹理特征维度的同时,不丢失图像边缘和方向信息,对包含噪声的图像具有鲁棒性,能提高图像结构利用率,可以获得令人满意的检测结果。
针对行人检测时局部纹理特征描述子描述图像边缘、空间结构信息和方向信息的能力与检测精度的强相关性,本文采用基于改进CoHOG与LQC结合的行人检测算法,其优势在于:
1) 运用局部量化编码的算法描述原始图像的纹理特征,在大幅降低特征维度的同时,并不损失任何纹理信息;
2) 使用共生梯度方向直方图可更为精确地表示原始图像的局部细节特征,通过“梯度对”能更好地描述空间梯度特性,对光照、旋转和偏移具有鲁棒性;
3) 运用基于局部量化编码生成的纹理特征谱下的共生梯度方向直方图,描述纹理特征图的空间梯度特性,可保留纹理特征谱的局部细节特征和空间特征;
4) 融合上述3种特征的图像描述子并使用主成分分析方法降维,在保留原始图像及纹理特征谱特征的同时,能降低特征维度,提升运算效率。算法流程如图 1所示。
1 局部量化编码 1.1 局部二值模式由图 2可以看出,标准的LBP算法包含3个主要步骤。首先,通过对比中心像素点像素值,二值化 (0或1) 邻域像素值;然后,对二值化后的邻域像素值进行编码来表示中心点的局部结构模式,并将此编码转换为十进制;最后,对LBP编码后的每个像素点建立直方图,用以表示原始图像对应的纹理图像。
通常情况下,LBP编码策略可以表示成如下形式:
(1) |
式中,gc表示中心像素灰度值,gp(p=0, 1, …, P-1) 表示半径为R的邻域像素的灰度值,P为邻域像素的个数。前已提到,虽然LBP对光照变化具有鲁棒性,但是二值量化过程仍然会丢失像素点灰度值的细节信息。因此,增加局部量化级别能够增强LBP的区分能力。
1.2 局部量化编码在传统LBP及其改进算法中,局部邻域像素集内的每个像素都需要和其中心像素比较,得到二值化编码。想要增加此区域的量化等级,我们需要定义一系列的量化阈值 (σ1, σ2, σ3, σ4,…)。确定这些量化阈值之后,局部邻域像素集上的像素将会被分类到不同的量化等级内。邻域像素在第i个量化级内的数量 (qi) 可按下式计算:
(2) |
式中,gc表示中心像素灰度值,gp(p=0, 1, …, P-1) 表示半径为R的邻域像素的灰度值,P为邻域像素的个数。σi表示第i个量化阈值。Ojala等[7]指出,对于没有落入像素中心的邻域像素,可以使用双线性插值估计。可以看出,计算 (qi) 等价于统计量化到第个量化集的邻域像素的数量。定义LQC如下:
(3) |
式中,Q表示邻域量化等级数量。
作为一种基础特征的中心像素的灰度值,仍然包含分类特征信息。因此,本文也将中心像素的全局量化等级并入LQC中:
(4) |
式中,qc表示中心像素量化级。本文采用等分灰度直方图的方式量化中心像素值,以十进制编码方式替代二进制编码方式对LQC进行编码,因此,中心像素量化级qc可以表示为从0到9的集合。不同于邻域像素使用的局部量化处理方式,中心像素的量化处理选用全局量化方法。此举旨在将qc用于全局图像范围内描述局部灰度值。
从图 2可见LQC的编码过程,其中每个立方体代表一个像素,立方体的高表示其对应像素的灰度值。从图 2还可以看出,邻域像素灰度值被量化为4个等级。此时,每一量化级内的邻域像素数量qi(i=1, 2, 3, 4) 可以统计获得,分别为1、2、2、3。最后,我们忽略末尾数3也就是量化级的第一级,合并不同量化级包含的邻域像素数量,便可得到十进制LQC编码形式122。
图 2中展示了具有相同LBP编码,但是不同LQC编码的邻域,这是因为LQC的算法结构可以精确描述邻域像素在各个局部量化级的分布状态。由此可知,LQC适用于旋转不变纹理特征的描述。
本文采用动态量化阈值选取方法确定阈值,定义基准阈值为:
(5) |
式中,Nc为纹理图像中所有中心像素的数量。于是本文量化阈值 (σ1, σ2, σ3, σ4, …) 可简化为 (0, Δ, 2Δ, 3Δ, ……)。
2 基于LQC纹理特征谱的CoHOG 2.1 共生梯度方向直方图CoHOG将HOG中关于方向直方图的划分进行了扩展,即原始HOG特征中像素的梯度可划分为9个方向区域。这样,在每个cell中,可提取出一个9维直方图。在改进的CoHOG中,将每个像素点的梯度方向进行成对组合,使得每个像素点都与其相邻的像素点之间的梯度方向进行组合,同时将原先的梯度方向划分,从9个改成了8个,范围也从0°~180°拓展为从0°~360°,即每45°划分为一个方向区域,如图 3所示。由于以2个像素点组成1对共生梯度方向,所以总共有即64个方向组合。
由图 3可见,计算经典HOG特征时将样本图像分割为若干个小块 (block),每块由相邻的4个单元 (cell) 组成,而每个单元又由8×8个像素组成,块与块之间采用重叠2个单元的形式进行滑动。于是,图像中像素点 (x, y) 的水平方向和垂直方向的梯度可分别表示为:
(6) |
则得到像素点 (x, y) 处的梯度幅值和梯度方向的计算公式分别为:
(7) |
统计所有像素点各个方向的直方图特征,可得到每个单元的直方图特征,进而可得到每块的直方图。最后,顺序级联每块的直方图特征, 可得到整幅图像的整体HOG特征。再统计各方向组合像素对,统计各组合像素对个数,最终可生成共生梯度方向直方图。
2.2 基于LQC纹理特征谱的CoHOG原始图像的LQC纹理特征谱,可有效表述图像的纹理特征。对LQC特征谱的空间分布特性以及边缘进行描述,可视为图像的LQC纹理特征谱以共生方向梯度直方图为描述子的深度表达。基于LQC纹理谱特征的CoHOG运算流程见图 1。
综上,如图 1所示,在获得原始图像的LQC特征、基于LQC纹理特征谱的CoHOG以及原始图像的CoHOG按顺序级联方式融合特征之后,可得到最终的图像描述子,再使用主成分分析方法对得到的特征进行降维,最后使用HIKSVM分类器实现行人检测。
3 实验结果及分析 3.1 实验结果为验证本文方法的有效性,分别以公开发表的MIT行人数据库、Caltech行人数据库和INRIA行人数据库作为实验素材进行行人检测实验,图 4至图 6为本文提出方法在上述3个行人数据库中的检测结果。
3.2 实验分析图 4为MIT行人数据库,该数据库为较早公开的行人数据库,共924张行人图片,肩到脚的距离约80像素。该数据库只含正面和背面2个视角,无负样本,未区分训练集和测试集。本文采用8:2的交叉校验法分配学习与测试样本。从图中可以看出,使用本文方法可精确检测行人,由于该数据库背景及前景简单,所以各对比方法均能取得较好的检测结果。
图 5为Caltech行人数据库,该数据库是目前规模较大的行人数据库,采用车载摄像头拍摄,约10个小时左右,视频的分辨率为640×480,30帧/秒。标注了约250 000帧,350 000个矩形框,2 300个行人,另外还对矩形框之间的时间对应关系及其遮挡的情况进行标注。该数据集分为set00~set10,本文使用其中set00~set05作为训练集,set06~set10作为测试集进行对比试验。由图可见,本文方法可精确检测行人,且对复杂背景、图片噪声以及部分遮挡鲁棒性强。
图 6为INRIA行人数据库,该数据库是目前使用最多的静态行人检测数据库,提供原始图片及相应的标注文件。训练集有正样本614张,负样本1 218张;测试集有正样本288张,负样本453张。图片中人体大部分为站立姿势且高度大于100个像素。图片主要来源于GRAZ-01、个人照片及Google。实验结果表明使用本文方法可有效检测行人,在多行人状态、重叠及遮挡情况下,都可取得良好的检测效果。由于本文对比的所有行人检测方法,在MIT行人数据库上都能取得良好的效果,所以这里不加说明,本文方法对比CoHOG、HOG-LBP以及CoGMuLBP[10]3种行人检测方法的平均检测正确率对比曲线如图 7所示。
4 结论本文提出了一种基于改进CoHOG-LQC的行人检测算法。以原始图像的局部量化编码特征、基于局部量化编码纹理特征谱的共生方向梯度共生直方图以及原始图像的共生方向梯度直方图描述子,按顺序级联方式融合并使用PCA对得到的特征进行降维,最后使用直方图交叉核支持向量机分类器实现行人检测,充分利用了图像纹理、边缘和结构信息。试验结果表明,对于包含多行人重叠以及噪声和遮挡情况下的行人检测,本文提出算法有显著的优越性。
[1] | Dalal N, Triggs B. Histograms of Oriented Gradients for Human Detection[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, IEEE Computer Society, 2005:886-893 |
[2] | Dollar P, Wojek C, Schiele B, et al. Pedestrian Detection:An Evaluation of the State of the Art[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2012, 34(4): 743–761. DOI:10.1109/TPAMI.2011.155 |
[3] | Tang S, Andriluka M, Schiele B. Detection and Tracking of Occluded People[J]. International Journal of Computer Vision, 2014, 110(1): 58–69. DOI:10.1007/s11263-013-0664-6 |
[4] | Wang X, Han T X, Yan S. An HOG-LBP Human Detector with Partial Occlusion Handling[C]//2009 IEEE 12th International Conference on Computer Vision, 2009:32-39 |
[5] | Ouyang W, Wang X. Joint Deep Learning for Pedestrian Detection[C]//Proceedings of the IEEE International Conference on Computer Vision, 2013:2056-2063 |
[6] | Walk S, Majer N, Schindler K, et al. New Features and Insights for Pedestrian Detection[C]//2010 IEEE Conference on Computer Vision and Pattern Recognition, 2010:1030-1037 |
[7] | Ojala T, Harwood T. A Comparative Study of Texture Measures with Classification Based on Featured Distributions[J]. Pattern Recognition, 1996, 29(1): 51–59. DOI:10.1016/0031-3203(95)00067-4 |
[8] | Watanabe T, Ito S, Yokoi K. Co-Occurrence Histograms of Oriented Gradients for Pedestrian Detection[C]//Pacific Rim Symposium on Advances in Image and Video Technology, 2009:37-47 |
[9] | Zhao Y, Wang R G, Wang W M, et al. Local Quantization Code Histogram for Texture Classification[J]. Neurocomputing, 2016, 207: 354–364. DOI:10.1016/j.neucom.2016.05.016 |
[10] | Alpaslan N, Turhan M M, Hanbay D. Determining Noise Performance of Co-Occurrence GMuLBP on Object Detection Task[C]//Sixth International Conference on Machine Vision, 2013:90671Y-90671Y-5 |