基于颜色通道区间映射缩减的HOG 行人检测方法
作者: 欧嵬 肖世涛 庞梦雪 王芳 周琳琦
摘要:行人检测在智能监控和自动驾驶等领域需要兼顾精度和实时性。然而,现有技术在处理复杂场景时仍面临计算效率低的问题。该研究采用基于方向梯度直方图(HOG) 的行人检测方法,并通过颜色通道缩减技术,在保留图像关键信息的同时减少计算量。通过一系列实验验证了预处理策略在减轻计算负担和提升检测精度方面的有效性。研究结果表明,该方法在保持检测精度的同时,检测速度提升了 8%,为行人检测技术的发展提供了新的视角和优化方向。
关键词:行人检测;方向梯度直方图;颜色通道缩减;计算效率;特征提取;目标检测
中图分类号:TP181 文献标识码:A
文章编号:1009-3044(2025)01-0027-06 开放科学(资源服务) 标识码(OSID) :
0 引言
行人检测技术基于计算机视觉、红外线[1]、雷达[2]等技术,用于对目标环境进行监测和识别。其核心在于判断环境中是否存在行人,并进一步获取目标的详细信息。这一技术能够结合其他相关技术,如目标重识别和目标跟踪,并广泛应用于自动驾驶、自动监控等领域。近年来,随着人工智能、计算机技术和模式识别的快速发展,以及智能监控和自动驾驶领域对安全性的日益重视,行人检测技术受到了广泛关注并取得了显著进展。
早期的行人检测技术主要基于传统的图像处理和模式识别技术,其主要步骤包括特征提取、训练分类器以及行人识别。研究者们专注于行人特征的提取和分类。例如,在 2002 年和 2003 年,Ojala 和 Jones 等人先后提出了 LBP 特征以及 VJ 检测器[3-5];2005 年,Bo Wu 提出了小边特征(Edgelet) ,能够分块识别人体局部轮廓,从而提高检测的鲁棒性[6]。Walk 等人在 2010 年提出了颜色自相似性特征,他们将128×64的图像分成8×8像素的128 个小块,并统计图像的 HSV 直方图信息[7]。尽管上述方法在理论上是有效的,但它们也存在一定的局限性。例如,LBP 特征的稳定性较差[8];Edgelet 特征存在最优值无法契合的问题[9];以及颜色自相似特征计算量过于庞大,导致实际生产中无法应用。
HOG 检测器作为计算机视觉中的里程碑式算法,具有对光照和视角变化的鲁棒性、计算效率高且易于实现的优势,在多种目标检测任务中得到了广泛应用[10-13]。本研究基于 HOG 算法对行人检测方法进行了深入探讨,提出了一种颜色通道缩减的 HOG 行人检测方案,旨在保持检测精度的同时降低计算复杂度以提高检测速度。在改进方案中,通过颜色通道缩减技术减少了图像的输入,从而降低了计算量。此外,该方法在保持检测精度的同时加快了检测速度,为自动驾驶和智能监控领域的行人检测提供了一种高效且实用的解决方案。
1 颜色通道缩减的 HOG 特征行人检测
本节将依次介绍颜色通道缩减的 HOG 行人检测方案流程,主要包括:图像预处理、颜色通道缩减再量化、特征提取以及支持向量机(SVM) 分类。其中,图像预处理、特征提取和支持向量机分类是 HOG 行人检测方案的经典流程。本研究主要是在图像预处理环节对图像的输入进行颜色通道的缩减,以此减少后续的计算量。因此,在介绍整个实验流程时,颜色通道缩减与再量化被放置在图像预处理和特征提取之间,以方便读者阅读和理解。
1.1 图像预处理
图像预处理的目的是尽可能排除干扰,保证检测的精度与速度,提高识别算法的可靠性。在基于 HOG 原理的图像行人检测中,最常用的图像预处理方法包括 Gamma 变换和灰度化。
灰度化是一个可选的图像预处理操作,因为彩色图像也可以直接计算梯度。对于彩色图像,将 RGB 分量转换为灰度图的公式如公式(1) 所示:
Gray = 0.3*R + 0.59*G + 0.11*B (1)
式中:Gray 表示转换后的像素灰度值,R、G、B 分别为红、绿、蓝颜色通道的值。
伽马(Gamma) 矫正是在图片照度不均的情况下,通过伽马矫正的方式对图片的整体亮度进行调节,从而减少光照对图像的影响。通常,进行 Gamma 标准化的方法主要有两种:平方根法和对数法。本研究采用公式(2) 所示的平方根方法进行伽马标准化。
Y (x,y ) = I (x,y )0.5 (2)
式中:I (x,y )为原像素位置(x,y )上的值,Y (x,y )为伽马标准化后(x,y )位置的值。
1.2 颜色通道缩减再量化
在行人检测中,采集的图像通常为 RGB 图像,共有三种颜色通道:红、绿、蓝。每个颜色通道包含 256 (0 到 255) 个不同的颜色值,这使得图像更加真实和清晰,但也为行人特征的提取和判断带来了巨大的计算负担。颜色通道的缩减指的是将原来的 0 到 255 共 256 个颜色值进行缩减;缩减再量化指的是将缩减后的颜色值从运算结束后的小数值转换为整数值。例如,原来的颜色值为 125,将颜色信息减少到原来的一半时,得到的数值为 62.5,此时需要将其再量化为 62。
本文对输入的静态图片进行信息缩减,使输入的图像在能够进行行人检测的同时减少计算量,即在保持检测准确率的同时缩短计算时间。本文将对输入的图片进行颜色通道的缩减,然后通过再量化减少计算负担,从而提升后续计算速度。接下来的实验中,颜色通道的缩减方式包括以下两种:
第一种是在进行图片颜色缩减时,直接将颜色通道从[0,255]的原始范围映射到一个更小的区间。例如,将[0,255]映射到[0,127],直接将每个颜色值除以2,然后再进行量化。以将颜色信息从[0,255]映射到[0,127]的方式为例,其缩减公式如公式(3) 所示。
pi = ⌊pi/2⌋ (3)
式中:pi 表示图像中每个像素的值, ⌊pi/2⌋ 表示每个颜色值缩小到原来的一半,再进行向下取整。此处进行向下取整的原因是:Python自带的取整方式为向下取整(截断取整) ,即直接舍弃小数点后的部分,仅保留整数部分。经过这种方式处理后,图像会比原图更加暗。这是因为在 RGB 图像中,颜色通道的值范围为0到255,随着值的增大,像素点会变得越来越亮,处理效果如图1所示。
第二种方式是将图像中原本位于一个区间内的颜色值映射为一个固定值。例如,要将原图的颜色信息压缩到原来的一半,只须将区间[ 0,1]内的颜色值映射为0,区间[ 2,3]内的颜色值映射为2,以此类推,直到区间[ 244,255]内的颜色值映射为244。具体的区间到固定值的映射公式如公式(4) 所示。
pi = ⌊pi/2⌋·2 (4)
式中:pi 表示像素点的颜色值, ⌊pi/2⌋ 表示将颜色值缩小为原来的一半并向下取整,最后将 ⌊pi/2⌋ 的结果再乘以2,完成区间到值的映射。在完成颜色区间到值的映射后,处理后的图像与原图像几乎没有差别。颜色值的区间到值映射处理效果如图2所示。
在减少颜色信息的同时,为了保证行人检测的正确性,需要确保图像中的颜色信息被缩减到合适的范围。本文将颜色信息缩减分为三组,分别为:128× 128×128、64×64×64 和32×32×32。在接下来的实验中,将对需要进行 HOG 特征检测的图像先进行颜色信息的压缩,并与原始图像的处理速度和检测正确性进行比较与分析。
1.3 特征提取
1.3.1 基于HOG 的特征提取
HOG 特征的基本算法流程如下:首先,将图像以像素为单位划分为多个小区域;随后,计算并统计每个区域的梯度直方图,通过投影得到一个9维特征向量;最后,将每个小区域的特征组合成一个大区域,并将所有区域的特征描述串联起来,表示该图像的 HOG 特征,从而得到最终分类的特征向量。具体算法流程如图3所示。
HOG 特征提取和计算的主要步骤依次为:空间插值投影、归一化梯度块内的梯度直方图、Gamma 空间标准化和颜色空间标准化、高斯加权、计算梯度值、收集 HOG 特征向量。(x,y ) 像素点的 HOG 特征计算如公式(5) 和公式(6) 所示。
式中:dx、dy 分别为像素点在水平方向上和竖直方向上的梯度值;H (x,y ) 为像素点的梯度幅值大小;梯度方向为θ (x,y ),梯度方向q 的取值区间为[0,π)。
如公式(7) 和公式(8) 所示,梯度算子包括一维和二维算子。
一维算子:[-1,1][-1,0,1],[-1,-8,0,+8,+1] (7)
上述算子已经在文献[14]中进行了测试和验证。假设像素点(x,y )的像素值大小为I (x,y ),梯度分量dx、dy 的计算如公式(9) 所示。
dx (x,y ) = I (x + 1,y ) - I (x - 1,y )
dy (x,y ) = I (x,y + 1) - I (x,y - 1)(9)
1.3.2 高斯权重调整
根据高斯权重理论[15],在一个区域中,越靠近中心的像素值对特征的贡献越大。高斯权重体现在位置的偏向性上,位于区域中心的像素能够更好地表达区域内的信息变化。该理论可以用来调整梯度幅值,从而更有效地进行各单元的 HOG 特征提取。
1.3.3 空间梯度插值投影
在进行梯度方向统计时,梯度方向的范围被限定为[0,180],并将该范围均分为 9 个方向区域。计算每个像素的梯度后,根据其方向和幅值进行方向值统计,并将得到的值加到对应的方向区域上。然而,由于实验中梯度方向通常不在中心点,因此通常使用投影算法,将梯度方向投影到两个相邻方向区域的中心,并将梯度值按比例叠加到这两个区域上。
1.3.4 归一化权重及生成特征向量
对图像进行归一化处理是为了提高检测器在光照变化环境下的稳定性。HOG 特征是由不同区域的特征组合而成的,每个区域内像素点的变化都会引起整体特征的变化。如果某一区域的特征幅值较大,会导致区域间特征值差异过大,从而降低分类能力。为了解决这一问题,可以以区域为单位,对每个区域的特征进行归一化处理,并将各区域的结果组合成最终的特征向量。公式(10) ~(13) 展示了一些常用的归一化方法。
1.4 支持向量机
机器学习被广泛应用于行人检测领域,其中支持向量机(Support Vector Machine,SVM) 和Adaboost方法是最常用的两种方法。1995 年,Cortes 和 Vapnik 提出了支持向量机[16]。支持向量机通过寻找目标类与非目标类之间的最大间隔来划分超平面,该方法性能高、实现简单,并且能够从特征集中选择最相关的描述符,因此在目标检测中非常受欢迎。本文以如图4 所示的二维平面情况来解释支持向量机的分类原理。
式中:方形与圆形代表不同的样本,H 是两种样本的分类线,H1 和H2 是平行于H且经过不同样本的两条直线,H1 和H2 的距离2 /‖w ‖称为分类间距。最优分类线指的是某条分类线,该线能够正确分类两种样本,并使样本的分类间距2 /‖w ‖取到最大值。如上所述,可以推理扩展到更高的维度。设线性可分样本集为{ xi,yi },其中i = 1,2,3...,n,xi ∈ Rd,yi ∈ {-1,+1},在d维空间中的线性判别函数为:g (x,y ) = wx + b,其分类面的定义为w ⋅ x + b = 0。可以使用归一化操作,使得样本都满足约束条件| g(x) | ≥ 1。在这样的约束条件下分类间隔就等于2 ‖w ‖。此时,要让分类间隔最大,就要求‖w ‖或‖w ‖2取到最小值。如果要所有的样本都能正确分类,必须保证公式(14) 所示的条件。