自适应复杂背景干扰的运动目标检测算法
2017-03-26王东京张宝辉陈弘原王润宇吴旭东
王东京,张宝辉,陈弘原,王润宇,吴 杰,吴旭东
自适应复杂背景干扰的运动目标检测算法
王东京1,张宝辉2,陈弘原1,王润宇2,吴 杰2,吴旭东2
(1. 南京理工大学 电子工程与光电技术学院,江苏 南京 210094;2. 北方夜视科技集团有限公司南京研发中心,江苏 南京 211106)
基于视频图像的运动目标检测,是根据目标的像素特征来判别出相对于背景运动的目标,当图像背景动态变化时,将难以区分背景和运动目标的像素特征,易造成检测错误。复杂背景下的运动目标检测是一大难点,目前主流的运动目标检测算法在背景灰暗、水面波动、气流颤动等复杂背景干扰下,难以准确地检测出运动目标。针对上述问题,提出一种自适应复杂背景干扰的运动目标检测算法,采用新的前景判断和背景模型更新方法,同时设计了一种创新型自适应阈值更新方法,当视频背景变化时,自动更新阈值。该算法增强了对复杂背景、镜头抖动的抗干扰能力,通过各种视频测试,背景点检测正确率达到0.9958,前景点检测正确率达到0.8012,极大提高了前景检测率,而且该算法满足高实时性要求,对复杂背景下的运动目标检测有显著效果。
运动目标检测;复杂背景;模型更新;自适应阈值
0 引言
在数字图像处理和计算机视觉领域中,运动目标检测是目标分类、识别、跟踪[1]等后期视频图像处理的基础和关键。运动目标检测主要分为光流法[2]、帧差法和背景差分法。相对于光流法和帧差法,背景差分法具有检测连续性强、准确度高、对背景变化鲁棒性[3]强等优点,因此,基于背景差分法下的各种运动目标检测算法成为研究的焦点。
传统算法中,基于混合高斯模型(Gaussian Mixture Model,GMM)[4-5]的运动目标检测算法是应用最为广泛的算法,GMM对每个像素点建立多个高斯模型作为背景模型,适用于复杂背景的建模。由Martin Hofmann等人在2012年提出一种引入控制论思想的检测算法(Pixel-Based Adaptive Segmenter,PBAS)[6],采用与SACON[7]算法相似的背景建模方法,收集前帧像素以及梯度幅值作为背景模型,该算法检测准确度高,对缓慢的光照变化具有较好的鲁棒性。但是,这两种算法的计算复杂度高,实时性不好,背景建模速度慢。
Olivier Barnich等人提出的一种快速运动目标检测算法(Visual Background Extraction,ViBe)[8],具有算法复杂度低、实时性高、建模速度快等优点,但是会产生鬼影问题(鬼影是指静止的物体离开后,原来它静止的位置被误检为前景点),并且易受到复杂背景变化的干扰。
本文在ViBe算法的基础上提出一种新的运动目标检测算法(Adaptive Complex Background Segmentation,ACBS),能更好地克服背景灰暗、水面波动、气流颤动等复杂背景的干扰,同时能够更好地消除视频镜头抖动的影响。ACBS算法完整的检测流程如图1所示,主要分为3个步骤:背景点建模、前景点分割、背景模型更新。ACBS采用了ViBe的背景建模方式,在前景点分割、背景模型更新和阈值更新方面提出了新的方法。
图1 ACBS算法框图
1 ACBS算法介绍
1.1 背景点建模及前景检测
基于背景差分法[9]的运动目标检测算法是将视频序列中每一帧图像像素点的颜色信息与建立好的背景模型相比较,检测出与背景模型颜色信息不匹配的像素点,即为前景点。背景模型的建立是实现算法的第一步,ACBS采用像素级建模方式,对任一像素点X,建立它的背景模型为:
(X)集合中的个样值在|(X)±10|范围内随机抽取,其中(X)为第一帧图像像素点X的像素值,通过随机抽取的样值来模拟检测过程中随机噪声对像素点的影响。相比其它算法需要多帧图像初始化背景模型,ACBS仅用一帧图像初始化背景模型更加简单高效。
视频图像经过检测后输出结果为二值化图像,黑色为背景点,白色为前景点。在前景检测方面,通用的方法如下:首先将像素点X所有的通道像素值相加求和为,再将背景模型中单个样值M(X)所有的通道像素值相加求和为b,最后根据两值之差的绝对值|-b|是否在设定的阈值范围之内来判断像素点X是否和样值M(X)匹配,如果像素点X与背景模型中样值匹配的数目超过设定的值,则判断该点为背景点,否则为前景点。这种检测方法虽然计算简单,但是检测不精确,因为当像素点X和样值M(X)的颜色信息不同时,它们所有的通道像素值之和仍然可能相近,所以该像素点可能被误判为与样值M(X)匹配,从而被判断为背景点。
如果某像素点X的颜色信息与背景模型样值M(X)不同时,它们的所有通道值像素必然会有部分不相等,本文提出的前景点检测方法正是基于这个特征,将每个像素点所有的通道像素值分解为独立的单通道值,然后分别和背景模型样值M(X)的单通道值相比较,以此来判断该点颜色信息是否和M(X)匹配。设像素点X有个通道值(如RGB颜色空间中,每个像素点有R、G、B三个通道值),表示为:
则像素点X背景模型中每一个样值M(X)也有个通道值,表示为:
将像素点X的单个通道值分别与背景模型样值的单个通道值相比较:
式中:d为设定的匹配阈值,通道值之差在阈值范围内时,认为该点的通道值与M(X)的通道值匹配,相反,则判断为不匹配。像素点X通道值匹配的数目决定了该像素点是否匹配背景模型样值M(X):
式中:D(X)为1时,表示像素点X与该点背景模型样值M(X)匹配,将像素点X的像素值(X)按照式(4)、(5)和背景模型(X)中的样值逐一比较,当与背景样值匹配数目达到设定的阈值r时,像素点X则为背景点,否则判断为前景点:
式中:(X)为输出的二值化像素值,背景点像素值为0,前景点像素值为255。此方法检测更加精确,特别是当运动目标和背景颜色相接近时,能更加完整地检测出运动目标。
1.2 背景模型更新
在整个视频序列检测过程中,视频背景会受外界影响发生变化,所以背景模型需要不断更新,背景模型更新是将(X)中的样值按照某种规律更新为新值,从而适应新的背景。传统的背景模型更新方法分为保守更新和自由更新,保守更新只更新背景点的背景模型,不更新前景点的背景模型,这样会使被误检为前景点的像素点一直保持为前景点,造成死锁现象;自由更新对背景点和前景点的背景模型同时更新,如果前景点背景模型更新速率太快,会使移动缓慢的前景目标融入背景,而且短暂停留的前景目标也会被立即融入背景,造成目标检测的不连续性。
为了避免死锁现象,同时保证目标检测的连续性,本文算法采用保守更新和前景点梯度概率更新相结合的方式来更新背景模型。视频序列刚开始检测时,前景点模型更新概率较大,更新速率快,有利于快速消除初始鬼影,随着检测帧数的增加,前景点模型更新概率呈梯度式减小,更新速率变慢,所以被检测为前景的目标在短时间内不会被融入背景,保证了目标检测的连续性。
在目标检测过程中,将背景模型(X)中匹配频率较高的样值排列在模型的前半部分,匹配频率低的样值排列在后半部分,匹配频率低的样值将被优先更新。某像素点X被判断为背景点时,从该点背景模型(X)后半部分样值中随机抽取一个样值M(X),该样值被当前像素值(X)替换的概率为b,背景点模型更新概率b取值越大,模型更新速率越快;当像素点X被判断为前景点时,采用梯度概率更新的方式更新前景点模型,从该点背景模型(X)中随机抽取一个样值M(Xi),该样值被前景点像素值(X)更替的概率为f,更新概率f随视频序列的帧数呈梯度式减小。设g为设定的梯度因子,为当前检测的帧数,g的值更新为:
f的值随g更新为:
式中:max用来设定前景点模型最小更新概率。
1.3 匹配阈值的自适应更新
在视频检测过程中,当视频背景发生突变时,背景模型更新机制来不及反应,无法及时更新背景模型,导致变化后的背景点像素值(X)与背景模型样值M(X)之差超出固定阈值d的范围,从而判定该背景点不再匹配背景模型,被误检为前景点。
为了提高算法对复杂背景的抗干扰能力,本文设计了一种新型自适应阈值更新方法,阈值d随视频背景变化自适应更新,使变化的背景点像素值与背景模型样值之差在新的阈值范围之内,从而变化的背景点仍然匹配背景模型,被检测为背景点,消除了背景变化的干扰。
当视频背景变化时,检测到的前景点数目必然会改变,本文提出的阈值自适应更新正是基于前景点数目变化来自动调整匹配阈值d,d随前景点数量增加线性递增,使背景点的变化在更大阈值范围内,反之,d随前景点数量减少线性递减,使被融入背景的前景点与背景模型样值之差超出阈值范围,从而被重新检测为前景点。在检测过程中,相隔帧统计一次检测到的前景点数目r,当检测到的前景点数目与上次统计值之差超过设置的门限h时,对匹配阈值d进行更新:
式中:(X)表示前景点像素值;M(Xi)是该前景点背景模型中随机抽取的一个样值;min是d的最小值,a为阈值系数。的取值与背景点更新概率b和阈值r相关:
=(r+1)/b(10)
在前景点变化数目超过门限h的情况下,相隔帧,对匹配阈值d更新一次,d的更新使误检的前景点被重新检测为背景点,之后每一帧,该背景点模型中的某个样值M(X)被变化后的像素值(X)更新的概率为b,帧过后,理论上该背景点模型中有b×个样值被(X)替代,被替代的样值个数大于阈值r,所以只要该背景点像素值(X)不变化,下一次匹配阈值d的更新不再影响该点被检测为背景点。
2 ACBS算法检测复杂背景视频
本部分展示了ACBS算法在各种复杂背景下的检测效果,体现本文算法对复杂背景的抗干扰能力,并与其它算法检测结果进行比较分析,实验中选取了几类典型的视频进行测试。
第一类视频背景中存在动态背景的干扰,实验结果如图2和图3所示。图2(a)为视频中的原始图像,喷泉作为动态背景对运动目标的检测带来干扰,图2(b)、(c)、(d)分别为GMM-Zivkovic[10]、ViBe和ACBS三种算法的检测结果,其中GMM-Zivkovic采用高斯混合模型建立背景模型,而ViBe和ACBS利用第一帧原始图像来建立背景模型,所以动态喷泉在建模的时候,已经被当作背景。可以看出图2(b)中除了运动的汽车之外,还存在很多误检的前景点,图2(c)、(d)中除了运动的汽车之外,几乎没有其它误检的前景点,表明ViBe和ACBS的背景建模方式对喷泉干扰的压制效果非常好,同时ACBS对汽车轮廓的检测相比ViBe更加完整;图3(a)为带有波动湖面为背景的原始图像,相比图2的喷泉干扰更加复杂,干扰面积更大,(b)、(c)、(d)分别为GMM-Zivkovic、ViBe和ACBS对湖面运动目标检测的结果,明显可以看出,ACBS的检测结果中误检前景点最少,相比另外两种算法,ACBS随湖面背景的变化,能够自适应调整匹配阈值,提高了对湖面变化的抗干扰能力。
第二类视频选取两组雨雪天气下的监控视频,实验结果如图4和图5所示。图4(a)为原始视频图像,雨雪天气的原因使视频背景整体偏暗,由于检测是基于目标和背景模型的颜色信息进行的,灰暗背景严重影响运动目标的检测。ACBS将像素点所有单通道像素值分别和背景模型样值的单通道像素值进行单一比较,这种前景检测方法能够很好地克服灰暗背景下对目标检测不完整的问题。图4(b)、(c)、(d)分别为GMM-Zivkovic、ViBe和ACBS在灰暗背景下对移动汽车的检测结果,ACBS对汽车检测的完整性远高于另外两种算法;图5实验对原始图像(a)中的两个运动目标进行检测,两个目标分别标注为1、2,其中1号目标距离镜头较近,体积相对较大,2号目标距离镜头较远,体积相对较小。从图5(b)、(c)可以看出,GMM-Zivkovic、ViBe对1号目标的检测结果非常不完整,而且几乎检测不到2号目标,图(d)为ACBS的检测结果,对两个目标的检测都非常完整清晰。
图2 喷泉视频检测结果
图3 湖面视频检测结果
第三类视频选取带有气流颤动干扰的远景视频,实验结果如图6所示。原始图像(a)中有三个运动的目标,同时整个视频背景受到气流颤动干扰造成图像画面模糊。图(b)、(c)、(d)分别为GMM-Zivkovic、ViBe和ACBS的检测结果,三种算法都精确检测出了远处的运动目标,但是很明显(b)、(c)的检测结果出现很多误检的前景点,由于ACBS采用前景点梯度概率更新方法,对前景点的背景模型进行更新,所以被误检的前景点会被融入背景,从图(d)可以看出ACBS检测结果中没有误检的前景点。
第四类视频选取镜头移动情况下实时采集的红外视频[11],视频背景随镜头移动而变化,导致变化的背景点不再匹配原来的背景模型,从而被检测为前景点。当背景变化时,ACBS通过自适应调整匹配阈值,使背景点变化在新的阈值范围内,仍然匹配原来的背景模型,并且被误检的前景点可以通过前景点背景模型更新,再次融背景,这提高了ACBS抑制镜头移动干扰的能力。实验中,通过选取背景变化幅度不同的两帧图像来测试算法抵抗镜头移动干扰的能力,实验结果如图7所示。图(a)和(e)为红外视频序列中的原始图像,分别取自镜头移动幅度较小和移动幅度较大的时候,(b)、(c)、(d)分别为GMM-Zivkovic、ViBe和ACBS对图(a)的检测结果,(f)、(g)、(h)分别为GMM-Zivkovic、ViBe和ACBS对图(e)的检测结果。当镜头移动幅度较小时,(b)中出现的误检前景点相比(c)、(d)是最多的,而(d)中没有误检的前景点;当镜头移动幅度较大时,(f)、(g)中出现大量误检的前景点,而(h)中只出现少量误检的前景点,几乎可以忽略。检测结果表明,ACBS算法抵抗镜头移动干扰的能力远优于GMM-Zivkovic和ViBe。
图4 雨雪天气视频1检测结果
图5 雨雪天气视频2检测结果
图6 气流颤动视频检测结果
图7 红外视频检测结果
3 ACBS算法性能评估
为了进一步验证本文算法的有效性,给出本文算法对Change Detection.net[12]视频库中六类视频的测试结果,并和同类算法相比较,这六类视频分别为Baseline、Dynamic background、Camera jitter、Intermittent object motion、Shadows、Thermal,这些视频包含了生活中常见的复杂场景。
3.1 算法参数设置
ACBS涉及多个参数设置,合理的参数设置才能发挥算法的最优性能。在测试算法参数的实验中,选取ChangeDetection.net视频库中的视频为测试对象,统计每次改变参数后的前景检测准确率Precision,该值由下式计算:
Precision=P/(P+P) (11)
式中:P为检测正确的前景点数;P为检测错误的前景点数。参数测试结果如图8所示,图中(a)~(h)分别描述了8个参数对ACBS前景检测准确率的影响。
根据图8测试结果,ACBS参数设置如下:=20,背景模型样值个数取决于视频背景的复杂度,背景变化越复杂,背景模型需要记忆的背景样值越多,的值相应增大,反之,背景简单,的值相应减小,当取20时,能满足各种复杂背景的建模;d=20,初始化匹配阈值d的设置要保证运动目标不在背景模型的匹配范围内,通过统计不同颜色特征运动目标像素值与背景点像素值的绝对差,取其最小值赋给d;min=10,d随背景变化自适应更新,为了防止d无限制减小,min用来限定d的最小值;b=0.1,b决定了背景点模型更新速率,b越大,算法适应新背景越快,但是背景模型的记忆能力下降,降低了算法对复杂背景的抗干扰能力;r=2或4时,如图8(e)所示,算法检测准确率较高,但是r=2时,所需匹配背景模型的样值更少,算法运行速度更快;g=32,梯度因子g决定了f值递减速度,g越大,初始鬼影消除速度越快,但是前景目标也更容易融入背景;max=200,前景点模型更新概率f最小值取决于max,该值越大,前景点融入背景越慢,反之该值越小,前景点融入背景越快;a=0.125,a为匹配阈值自适应更新系数,由图8(h)可知,a取0.125时,检测效果最佳;=30,b和r已知,参数由公式(10)计算得到;ACBS参数设置在小范围内浮动时,对算法的综合性能影响较小。
图8 ACBS参数设置
3.2 算法检测效果评估
ChangeDetection.net提供了多项参数标准来评估运动目标检测算法,其中包含参数Specificity(SP,指定区域背景点检测正确率)、False Negative Rate(FNR,背景点检测错误率)、Precision(前景点检测正确率)、False Positive Rate(FPR,前景点检测错误率)、Percentage of Wrong Classification(PWC,错误检测比例),这5项参数从不同方面评估了算法的检测效果。
ACBS对6类视频的测试结果如表1所示,表中列出了各类视频检测结果的评估参数,并且计算了每项参数的平均值,根据表1中数据显示,红外视频的前景检测正确率Precision为0.9299,在6类视频中最高,而最低的是动态背景视频,检测正确率为0.6574。
ACBS与其它算法性能参数对比如表2所示,其中每种算法的各项参数取自该算法对6类视频检测评估参数的平均值。从表2中数据可以看出ACBS前两项参数SP、FPR优于列出的所有算法,分别为0.9958、0.0048,前景点检测正确率Precision为0.8012,仅比PBAS低0.0148。ACBS的FNR参数表示的背景点检测错误率比较高,原因在于ChangeDetection.net提供的评估标准中将已经停止的运动目标一直分类为前景点,这不符合运动目标检测的含义,完全停止运动的目标最后应该融入背景,不再被检测为前景点。综合分析表2中的数据,ACBS算法的综合性能明显优于其它算法,其它八种算法背景点检测正确率SP的平均值为0.9819,ACBS相比平均值提高了1.39%,前景点检测正确率Precision的平均值为0.7267,ACBS相比平均值提高了7.45%。
表1 ACBS对六类视频测试结果
表2 ACBS与其它算法评估参数对比
3.3 算法实时性比较
ACBS不仅提高了对复杂背景的抗干扰能力,而且能够高速运行,满足高实时性要求。为了对比各种算法的实时性,在相同的运行环境下,统计不同算法处理相同视频图像所耗费的时间和计算机资源,从时间和空间上分析算法的复杂度。所有算法均在CPU型号为i5-2450M,2.5GHz的计算机上单线程运行,视频图像大小为768×576,每种算法的统计结果如表3所示。
表3中列出的3个参数反应了算法的时间和空间复杂度,分析表中数据可知,ACBS和ViBe对CPU的占用率较小,检测速率快,内存占用小,无论在时间和空间复杂度上都远小于其它两种算法,其中ACBS内存占用最小,在运行速率上比ViBe慢一点。由于ACBS较高的运行速度和较小的内存占用,使ACBS更加容易移植到嵌入式平台上工作,满足各种特殊场合下的实时性要求。
表3 算法实时性对比
4 结论
本文提出一种自适应复杂背景干扰的运动目标检测算法,前景检测采取多通道像素分离比较的方法,能更精确检测出与背景颜色信息相近的运动目标;背景模型更新方面,更新背景点模型的同时,结合前景点梯度概率更新方法,提高了算法对背景变化的鲁棒性;最后设计了一种新型的阈值自适应更新方法,通过统计前景点数目变化,自动更新阈值,提高了算法对复杂背景的抗干扰能力。通过实验测试,ACBS算法对运动目标的检测正确率相比同类算法平均值提高7.45%,背景检测正确率提高1.39%,是一种实时性好、检测准确率高的运动目标检测算法。
[1] 杨智雄,余春超,严敏, 等.基于特征融合的粒子滤波红外目标跟踪算法[J].红外技术,2016,38(3):211-217.
YANG Zhixiong, YU Chunchao, YAN Min, et al. Particle Filter Infrared Target Tracking Algorithm Based on Feature Fusion[J]., 2016, 38(3): 211-217.
[2] 李倩倩, 刘彦隆. 先验信息光流法在运动目标检测中的应用[J].火力与指挥控制, 2015(10):156-160.
LI Qianqian, LIU Yanlong. Based on Optical Flow Method with Priori Information in the Application of Detecting Moving Target Tracking[J]., 2015(10):156-160.
[3] Shen Y, Hu W, Yang M, et al. Real-time and Robust Compressive Background Subtraction for Embedded Camera Networks[J]., 2016, 15(2): 406-418.
[4] Hu X, Zheng J. An Improved Moving Object Detection Algorithm Based on Gaussian Mixture Models[J]., 2016, 6(7): 449-456.
[5] Zeng Z. Moving Object Extraction Using the Improved Adaptive Gaussian Mixture Model and Shadow Detection Model[J]., 2015, 12(14): 5515-5522.
[6] Hofmann M, Tiefenbacher P, Rigoll G. Background segmentation with feedback: The Pixel-Based Adaptive Segmenter[C]//, 2012: 38-43.
[7] Wang H, Suter D. Background Subtraction Based on a Robust Consensus Method[C]//, 2006: 223-226.
[8] Barnich O, Van D M. ViBe: a universal background subtraction algorithm for video sequences[J]., 2011, 20(6): 1709-1724.
[9] 孙丰, 秦开怀, 孙伟, 等. 一种针对移动相机的实时视频背景减除算法[J].计算机辅助设计与图形学学报, 2016,28(4):572-578.
Sun Feng, Qin Kaihuai, Sun Wei, et al. A Real-Time Background Subtraction Algorithm for Freely Moving Cameras[J]., 2016, 28(4): 572-578.
[10] Zivkovic Z, Heijden F V D. Efficient adaptive density estimation per image pixel for the task of background subtraction[J]., 2006, 27(7): 773-780.
[11] 解婷,陈忠,马荣毅. 一种基于PGF、BEMD和局部逆熵的新型红外小目标检测方法[J].红外与毫米波学报,2017,36(1):92-101.
Xie Ting, Chen Zhong, Ma Rongyi. A novel method for infrared small target detection based on PGF, BEMD and LIE[J]., 2017, 36(1): 92-101.
[12] N. Goyette, P.-M. Jodoin, F. Porikli, et al. Change detection.net: A new change detection benchmark dataset[C]//(-2012)-2012, 2012: 16-21.
Moving-target Detection Algorithm Adapting Complex Background Interference
WANG Dongjing1,ZHANG Baohui2,CHEN Hongyuan1,WANG Runyu2,WU Jie2,WU Xudong2
(1.,,210094,; 2.,,,211106,)
Video-based moving-object detection is according to the pixel characteristics of the target to determine the target that is moving relative to the background. When the background of the image changes dynamically, it will be difficult to distinguish the pixel characteristics between the background and the moving target, which is prone to detection error. Moving target detection in a complex background has been a challenging problem until now. The mainstream algorithm of moving target detection still cannot accurately detect moving targets under complex backgrounds such as dark background, water surface fluctuation, and airflow quiver. Aiming at the above problems, a novel moving-target detection algorithm was proposed for adapting to complex background interference. The algorithm adopted a new standard of classifying the foreground and a new method of updating the background model. At the same time, a creative method was put forward to update the threshold, which would automatically adjust the size of the threshold according to the change of background. The algorithm enhanced the ability to resist the interference of the complex background and camera shake. According to various video tests, the accuracy rate of background detection reached 0.9958.On the other hand, the accuracy rate of foreground detection reached 0.8012. Obviously, it is a great progress on foreground detection. Besides, the novel algorithm has high work-efficiency and has a significant effect on the extraction of moving objects in a complex background.
moving target detection,complex background,updating model,adaptive threshold
TP391
A
1001-8891(2017)11-1024-08
2017-06-28;
2017-11-02.
王东京(1992-),男,硕士,主要从事红外图像处理方面的研究。
云南省科技厅院士自由探索项目专项科研资助(2016HA009)。