-
行人检测是计算机视觉、智能交通等领域的研究热点和备受关注的前沿方向[1],尤其是复杂场景下的行人检测一直都是该方向的研究难点。近年来,深度传感器日益得到关注与应用,相比于传统光学摄像头,深度传感器对外界光照不具有依赖性,可通过距离信息获取物体之间更加丰富的位置关系;深度信息提高了对目标图像的分割、标记、识别与跟踪等应用的效率。本文以微软Kinect深度传感器[2]为切入点,研究基于颜色和深度图像的室内空间场景运动目标检测方法。
在室内空间场景中,光线不足、光照变化、阴影和复杂的背景会对行人检测与跟踪结果产生重要影响,而深度传感器获取的颜色和深度(RGB-Depth,RGBD)数据对该问题提供了新的解决思路。目前,基于深度传感器的行人检测研究主要包括两个方面,一是基于背景学习的方法,如Schiller和Koch提出的RGBD数据融合混合高斯模型(model of Gaussian,MoG)[3]和Fernandez-Sanchez等人提出的基于Depth-Extended Codebook(DECB)进行行人检测方法[4];二是基于特征检测算子的方法,如Spinello和Arras提出的深度直方图特征(histogram of depth, HOD) [5]、Li等人提出的深度差值直方图特征(histogram of depth difference, HDD)[6],以及Wang等人提出的金字塔深度自相似性特征(pyramid depth self-similarities, PDSS)[7]等。然而,前一类方法依赖于视频序列头几十帧的背景知识,且帧的数量决定检测质量,若前几帧存在运动目标,会对检测结果产生干扰;后一类方法存在计算量大的问题,同时训练样本的不足也会影响行人检测结果。
针对上述问题,本文基于彩色和深度图像,通过分析复杂场景特征,包括光线正常、光线不足和光线突变3种不同光照条件下的特征,以及运动目标与背景具有相似性纹理的特征,充分发挥彩色图像和深度图像在不同场景下各自优势,完成前景运动目标提取。
HTML
-
ViBe(visual background extractor)是一种像素级的背景建模或前景检测算法,其原理相对简单,计算效率高,不需要进行先验视频帧训练,并能快速有效地抑制伪影和由于相机晃动对前景检测噪声的影响,因此具有很好的检测性能。Barnich等人指出ViBe算法的前景检测准确率要明显优于基于单高斯模型、混合高斯模型、码本、贝叶斯等模型,对于640×480大小的图像可达到200帧/s的检测速度,与准确率略低的贝叶斯模型相比较提高了近20倍的处理速度[8-9]。
ViBe算法包括背景模型初始化与背景模型更新两个节点,在初始化阶段,背景模型为每一个背景像素点构建了一个样本集;在更新阶段,将每一个新的像素值和样本集进行比较,判断其是否为背景点。具体如下:
1) 模型的初始化方法。ViBe初始化就是构建像素点样本集的过程,由于一帧图像不可能包含像素点的时空分布信息,因此充分利用相近像素点具有相近时空分布的特征,具体来讲就是:对于一个像素点,随机选择相邻像素点的值作为模型样本值,如下式所示:
式中,M(x)为图像在x处的像素值;vi是索引为i的背景样本值。而初始化背景模型则表示为:
式中,NG(x)为邻居点(默认为周边8个领域),ViBe算法从NG(x)随机选择20个样本值用于初始化背景模型。这种初始化方法的优点是对于噪声的反应比较灵敏,计算量小、速度快,可以很快地对运动物体进行检测,缺点是容易引入Ghost区域。
2) 模型的更新策略。ViBe算法采用的是前景点计数与随机更新方法。若某个像素点与初始化样本比较,至少满足与N个样本点的距离小于阈值R,则将其更新为背景点。像素对比方法采用灰度图像的欧氏距离计算。假设p(x)为待更新像素,那么随机地从样本模型M(x)中选择一个样本用p(x)替换,为保持像素邻域空间的一致性,同样将邻域NG(x)中随机的像素点也更新为p(x)。
然而,ViBe方法也存在以下几方面的问题:①对于光照变化明显和存在大量噪声的夜间场景,可能导致大面积的背景点被误认为是前景点,且需要较长帧数恢复;②由于可能采集了运动物体的像素作为初始化样本集,导致产生伪影区域;③在模型更新阶段,采用像素灰度特征进行颜色距离计算,对于背景结构复杂且运动前景面积较大时,背景纹理易渗透到检测的前景中,从而导致产生大量误检测像素。
-
针对ViBe算法的问题,许多学者提出了能适应缓慢光照变化与快速光照变化的背景提取方法,常见的模型包括混合高斯模型与核密度估计的模型。混合高斯模型通过统计像素亮度的变化情况描述多个背景模式,核密度估计模型则采用非参数化像素亮度估计每个背景的分量。还有一些方法考虑光照变化特征,包括简单的光照强度标准化[10]、颜色空间分析[11]、非颜色特征(比如边缘[12]、纹理[13-14]、等高线[15]等)。对于上述方法,光照强度标准化特征无法解决局部光照变化问题,由于不同的物体具有不同的表面特征,将导致难以准确获取颜色空间与非颜色特征。若引入深度传感器的深度信息,可忽略光照变化带来的负面影响,将提高背景提取的准确率。然而,用户级深度传感器(比如Kinect)获取深度值的距离有限,当扫描距离越长,对应的精度也会降低,因此提出了融合彩色信息和深度信息的ViBe(RGBD+ViBe)算法,起到扬长避短的作用,充分发挥彩色图像的颜色、纹理特征以及深度图像的距离特征。
在RGBD+ViBe算法的更新阶段,判断新的像素值是否更新为前景,需综合颜色空间和深度空间特征,同时建立两者之间的关联关系时,应考虑室内空间场景的复杂特性。本文主要考虑光照的特性,总体来说可以划分为3种场景:①在光照正常的环境下,假设1~8 m为深度传感器的有效范围,即在此范围内深度值是可信的,那么此时颜色与深度的可信度具有一致性,当扫描范围小于1 m或大于8 m时,深度值具有低可信度,而像素值具有高可信度;②在光线不足的环境下,难以区分相邻空间或者前后时序相同空间的颜色变化,此时颜色信息具有低可信度,而深度信息具有高可信度;③在发生光照变化的环境下,彩色图像的像素值会发生较大变化,而深度图像的深度值并不会因光照的变化而变化,此时应以深度值作为背景提取的主要参考依据,直到光照保持稳定。
在计算是否为前景像素之前,首先需要判断光照环境,对于光照强度准确的变化检测,Hwang等人指出在室外环境下CIELAB和RGB的变化检测结果要优于其他色彩空间,而对于室内场景CIELAB则要优于RGB或灰度等色彩空间的检测结果[16],因此本文选择CIELAB色彩空间计算光照强度变化值ΔE,表达式为:
式中,L表示颜色的亮度,取值范围是[0, 100];a表示从红色到绿色的范围,取值范围是[127, -128];b表示从黄色到蓝色的范围,取值范围是[127, -128]。同时,在区别正常和昏暗的光照条件时,以L作为判断条件,当L≥ε时,为光照正常;当L < ε时,则认为光线不足,ε值的选取视实验环境而定,在本文中设定为30。
对于场景①,颜色信息和深度信息都具有较高可信度,判断为背景像素的表达式为:
其中,xt是指在t时刻的像素x;ΔC=color_dist(xt-xt-1),计算相邻帧同一像素间的颜色距离,由式(3)可得到;ΔD=depth_dist(xt-xt-1),计算相邻帧同一像素间的深度距离差值。
对于场景②,颜色信息具有低可信度,而深度信息具有高可信度,仍可采用式(4)作为前景像素提取的参考依据。
对于场景③,即使深度距离差值满足条件β,光照变化干扰了背景像素的判断,因此需要对式(4)进行扩展,得到:
其中,判断表达式(ΔC>α∩ΔD < β)充分考虑光照变化的影响,对于该情况不仅参考深度值的变化,同时也考虑了前面两种情况。
然而,式(5)假设前提为深度信息的获取准确,在实际数据获取过程中发现,越是复杂的背景,产生的噪声数据越多,许多本来是背景像素的点被认为是前景点,如图 1所示。基于加权联合滤波器和坡度深度补偿滤波器的去噪方法仅针对单帧影像,未考虑相邻帧图像在时间和空间域的关系,因此难以提供准确的相似更新信息。而彩色图像的颜色和纹理信息能有效补充判断是否为噪声数据,那么需要融合颜色信息进行更新工作,对式(5)进一步完善,则得到:
因此,表达式(6)为最终前景像素判断的参考依据,不仅考虑了光照变化因素,也减少了噪声数据对运动目标提取结果产生的影响。在本文的实验环境下,α和β值分别设置为0.8和1.3。
-
为了验证本文提出方法的鲁棒性,本文在3种不同光照环境下进行前景提取和行人目标检测实验,分别为光照正常的情况、光线不足的情况以及光照突然发生变化的情况。对于上述3种不同类型的实验环境,分别采集了不同的数据集,其中,对于普通光照情况,记录为Bright-Test;对于光线不足的情况,记录为Dark-Test;对于光照突然变化的情况,记录为Change-Test。对于Bright-Test,采集了380帧存在行人的RGBD数据,其中共标记了1 036个行人目标;对于Dark-Test,采集了400帧RGBD数据,并标记了1 000个行人目标;对于Change-Test,采集了200帧RGBD数据,并标记了500个行人目标,具体数据统计情况见表 1。本文采用的图像标记工具是Dollár等人研发的Matlab标记软件[17]。
实验环境 #帧数 标记行人数目 Bcenter-Test 620 1 036 Dark-Test 403 290 Change-Test 250 223 Table 1. Experiment Data
-
该实验针对本文提出的深度信息约束下的前景运动目标检测方法进行有效性验证。目前,融合了颜色和深度信息,并取得较好实验结果的前景目标检测方法主要有RGBD+MoG方法[3]和DECB[4],由于DECB方法基于样本训练,样本数据以及参数的选择对实验结果有较大影响,因此本文仅与RGBD+MoG方法进行实验结果对比。测试数据即§3.1中提到的3种不同类型的数据集,包括光照正常、光线不足以及光照变化的场景。第1种类型的测试结果如图 2、表 2所示,第2种类型的测试结果如图 3、表 3所示,第3种类型的测试结果如图 4、表 4所示。
方法 F值 155帧 171帧 241帧 276帧 Color+ViBe 0.427 0 0.415 9 0.312 8 0.559 7 Depth+ViBe 0.744 6 0.633 6 0.663 1 0.742 7 RGBD+MoG 0.761 0 0.761 0 0.622 1 0.710 4 本文方法 0.786 5 0.816 5 0.679 2 0.774 2 Table 2. The F Value Comparison Based on Bright-Test Data
方法 F值 20帧 33帧 127帧 246帧 Color+ViBe 0.285 6 0.297 8 0.205 8 0.231 0 Depth+ViBe 0.453 7 0.320 4 0.415 6 0.382 4 RGBD+MoG 0.592 4 0.529 5 0.620 9 0.543 8 本文方法 0.496 5 0.616 5 0.659 2 0.674 2 Table 3. The F Value Comparison Based on Dark-Test Data
方法 F值 100帧 150帧 160帧 200帧 Color+ViBe 0.430 9 0.353 6 0.151 8 0.270 0 Depth+ViBe 0.683 6 0.632 2 0.693 4 0.650 5 RGBD+MoG 0.446 3 0.380 5 0.402 1 0.314 0 本文方法 0.686 2 0.656 5 0.709 2 0.664 2 Table 4. The F Value Comparison Based on Change-Test Data
为了验证本文提出方法的有效性,采取文献[9]的评价指标。对于图像中每一个像素,对应两种分类:背景和前景,因此对于像素分类的正确性评价指标包括召回率、准确率和F值。
其中,“正确分类的前景像素”是指基于前景检测方法结果中正确检测为前景的像素;“真实的前景像素”是指人工标记的正确分类的前景像素;“标记为前景的像素”指基于运动检测方法得到前景像素检测结果;F值常作为综合指标平衡地反映召回率和准确率。
图 2-4分别为3种场景下的前景检测效果图,而表 2-4则为对应的F值计算结果。对于图 2中的第171帧的检测效果,在正常光照条件下,由于受到颜色相似性的影响,基于Color+ViBe方法将本应属于用户前景的像素被误认为是背景;同时,由于受到深度数据噪声的影响,基于Depth+ViBe方法将实为背景的像素误认为是前景像素;而RGBD+ViBe方法对两者进行了有效的补充,并取得了较好的检测结果。对于第241帧,由于光照有细微的变化,导致基于RGBD+MoG方法的检测效果有较明显下降,主要是由于光照细微变化导致已确定的MoG参数无法估计新的变化值,因此需要对参数进行重新估计,而基于ViBe的检测结果并未受到影响。从表 2可以看出,RGBD+ViBe方法在第155、171、241和276帧的F值,即准确率和召回率的综合指标要优于其他几种方法,而Color+ViBe方法的性能相对较弱。
图 3为光线不足情况下的前景检测效果图。受到光照影响,运动目标的纹理颜色和背景的颜色更为相似,所以造成基于Color+ViBe方法的检测结果较差;一方面,由于在初始场景中静止的行人成为了运动目标,导致产生伪影,而ViBe方法需消耗较多帧才能对伪影进行剔除,因此对第20帧的彩色图像和深度图像进行前景检测,基于ViBe的3种方法检测结果都差强人意,而RGBD+MoG方法对伪影的处理取得了最好的效果,但其在头几帧学习背景模型,对于新运动目标的检测效果差于其他方法。另一方面,当前景运动目标与背景邻近时,深度信息相似的原因,导致基于Depth+ViBe方法会出现前景像素被误认为是背景像素。表 3是综合评价指标F值的计算结果,可以看出在第20帧,RGBD+MoG方法F值最高为0.592 4,明显高于其他3种方法;随着时间的变化,基于RGBD+ViBe方法的F值逐渐升高,在第33、127、246帧都取了最好的前景检测结果,而基于Color+ViBe方法仍存在较多不足。同时,由于该实验数据的前几帧存在运动目标,因此对MoG方法的背景建模产生一定干扰,导致后期检测效果不佳,且F值保持在较低水平。
图 4为光照变化条件下的前景检测效果图,其中第1列100帧为光照正常的RGBD数据与检测结果图,第2列150帧为光照突然变暗时的数据与结果,第3列160帧为光线完全暗下来时的数据与结果,第4列200帧为光照突然变亮时获取的数据与检测结果。从第2列和第4列图像可以看出,光照的突然变化对Color+ViBe方法产生了很大的影响,导致图像中大多数背景像素都被误认为前景像素;而深度图像和融合了深度信息的方法抗光照变化干扰较小,取得了较好结果。对于RGBD+MoG方法,由于图像序列前几帧包含运动目标,因此对后期前景检测产生较大干扰;同时,Schiller和Koch在融合颜色和深度特征时添加了置信度,那么对于光照变化的场景,则以深度图像为主要参考对象。
从表 4的F值计算结果可以看出,本文提出的RGBD+ViBe方法在该环境下的检测效果比Depth+ViBe方法有略微的提升,而与RGBD+MoG方法相比则有较大提升。
综上所述,本文提出的RGBD+ViBe方法不仅能有效解决深度数据产生的噪声影响问题,也能很好地改善光照变化对运动目标检测结果产生的影响;同时,相比于其他融合了深度数据的方法,比如RGBD+MoG,能取得更好的检测效果。因此,基于RGBD+ViBe方法的前景检测结果对后期行人检测提供了重要的数据支持,是准确运动行人目标提取的重要保障。