王 军, 李云伟, 王恺睿
(中国矿业大学 信息与控制工程学院, 江苏 徐州 221116)
弱小运动目标在图像中一般仅占几百甚至几十个像素,检测难度很大[1-3]。现有的目标检测算法,例如LOBSTER[4]、混合高斯模型(GMM)[5]、帧间差分法[6]、背景差分算法[7]等,都难以实现弱小运动目标的准确、高效检测。混合高斯模型在用于运动目标检测时,能够动态更新背景模型参数,具有较强的适应性和目标检测能力,实时性也比较好。但是,它忽略了目标与背景之间的相似程度,仅用固定的阈值来判别目标和背景。当目标与背景相似程度高时,检测准确率较低。
针对上述问题,本文提出一种基于SVD的改进混合高斯模型弱小运动目标检测算法,根据目标与背景之间的相似程度,动态调整GMM的判别阈值,在保证实时性的基础上提高了检测准确度,能够准确且高效地对弱小运动目标进行检测。
(1)
由于无法判断目标出现的时间和方位,因此图像中某个像素属于前景或背景的概率相等,即p(FG)=p(BG),且前景像素概率分布服从均匀分布,即
基于上述假设,可知某像素属于背景的判断条件为
(2)
(3)
式中,μm为第m个高斯模型的均值,ωm为其权重,σm为其标准差,η为高斯概率密度函数。
(4)
(5)
(6)
(7)
一个新的样本是属于前景(目标)还是背景,取决于判别阈值3σ。如果样本与GMM中任意一个高斯模型的马氏距离小于3σ,则该样本被判定为背景,否则该样本被判定为目标,即:
(8)
即便σ每帧均会保持更新[8],但是在图像中,对于背景固定的区域,σ基本上维持不变。当目标与背景相似程度很高时,如果仍然将3σ当作判别阈值,很容易出现目标检测失败的情况。所以,应该根据目标与背景的相似程度,适当调整判别阈值。
为了实现判别阈值根据目标与背景的相似程度进行动态调整,需要有一个合适的量来衡量目标与背景的相似程度。实际场景下,光照呈现出不均匀分布状态,在不同位置,目标的成像在RGB等颜色空间里各通道占比也会存在差异[9-11]。所以,用于衡量相似程度的量,最好能够反映物体颜色特点,且受到光照影响的程度又很小。
根据Lambert光照模型可知,图片中某一像素点的值I(x,y)可以分解为反射成分及其对应的照明成分,公式表述如下:
I(x,y)=R(x,y)L(x,y)
(9)
式中L(x,y)表示光照成分,R(x,y)表示对应的反射成分。L(x,y)是照射方向与物体表面法线方向所成夹角φ的函数,其函数关系如下:
(10)
其中ca表示环境光强度,cp表示光源强度,t表示半影区域强度,t的大小由光源以及场景几何关系决定。用B1、B2和B3表示图像中同一区域在不同光照条件下的图像块。由于上述图像块都属于同一区域,所以,这3个图像块的R(x,y)值相同。根据公式(10),能够得到:
B2=K2·B1
(11)
(12)
B3=K3·B1
(13)
(14)
在局部小区域内,采用正交分解的方法可以对光照强度对结构性特征的影响予以有效分解[12]。在本文中,用奇异值分解(SVD)实现正交分解,将大小为N×N的图像块B进行奇异值分解,B中每个像素点的值是:
B(x,y)=USVT
(15)
U和V均为正交矩阵,它们的列向量组成了B的正交基底。矩阵S是由奇异值(s1,…,sN)按从大到小的顺序排列而成的对角矩阵,奇异值的大小反映了对应正交基底中的列向量对图像块B的贡献程度。
N个奇异值中,数值最大的奇异值代表光照强度,而其他奇异值则代表空间像素之间的相对位置关系。由于最大的奇异值代表光照强度,通过将其他奇异值和最大奇异值求比值的方式能够得到单位亮度水平特征值,即:
(16)
对图像块B1、B2、B3分别进行奇异值分解,得:Bk=UkSkVk,由式(15)、式(16)可得:
S2=K2S1
(17)
S3=K3S1
(18)
将式(17)、式(18)代入式(16)得:
(19)
(20)
根据上述推导可知:同一区域的3个图像块在不同的光照条件下经SVD后求解出的单位水平特征值相同,不受光照条件的影响。因此可以分别计算目标和背景的单位亮度水平特征值fi后组成光照不变特征向量f,通过计算两者光照不变特征向量f之间的距离,就能评估它们的相似程度。
在本文分析中,考虑到奇异值差异较大,故以马氏距离来对特征向量相似性进行衡量[13-15]。马氏距离计算公式如下:
(21)
至此,可以根据目标与背景的光照不变特征向量f之间的马氏距离d来动态调整GMM的判别阈值。根据d的值来动态调整GMM的判别阈值的方法有很多,在本文中,采用一个简单分段函数,根据d的值来动态选取判别阈值σ的倍数k,如式(22)所示。
(22)
当目标与背景过于接近时(d≤2),将判别阈值降低为传统GMM的一半(传统GMM为3σ)。当目标与背景的相似程度很低时(d>10),将判别阈值提高到传统GMM的1.5倍;其余情况根据目标与背景的相似程度动态调整判别阈值。之所以这样选择,是为了将动态调整的判别阈值控制在合理的范围内,防止判别阈值过高或过低导致目标检测算法失效的情况出现。
为验证算法的有效性,在室内环境下采集多段飞行中的羽毛球视频用于实验对比分析。之所以选择室内飞行的羽毛球作为实验对象,是因为羽毛球符合弱小运动目标的特征,而且室内既有与羽毛球相似程度很高的墙体等物体,也有与羽毛球差异很大的其他物体。
图1为视频中的其中一帧,红色方框内为手动提取的目标区域(羽毛球),对该区域内每个像素点进行SVD分解,并求出光照不变特征向量f,然后分别求取f的均值和方差作为目标的特征向量fb和协方差矩阵Σb的对角线值。
图2反映了整幅图像中每个像素点的光照不变特征向量f到目标特征向量fb之间的马氏距离。图中凸起越高表示目标与背景的相似程度越低,反之则表示目标与背景很接近。根据公式(22)中目标与背景之间的距离d的取值范围对整幅图像进行分割,用红色表示d小于2的区域,用黄色表示d值介于2和10之间的区域,用蓝色表示d大于10的区域,分割结果详见图3。
图1 视频中的一帧图像
图2 像素点与目标之间特征向量的马氏距离
图3 阈值分割结果
通过对比图1、图2和图3可知,原图中与羽毛球相似的墙体等区域在分割图中都被标注为红色或者黄色,而与羽毛球差异较大的房门等区域都被标记为蓝色。说明基于SVD分解的特征向量,能够不受光照强度影响,对物体之间的相似性进行准确衡量。
用传统的GMM算法和本文提出的方法对飞行中的羽毛球进行了检测实验,结果如图4和图5所示。图4中,羽毛球与背景差异较大,两种方法都成功的检测到了目标。在图5中,羽毛球与背景相似程度很高,传统的GMM算法完全没有检测到羽毛球,而本文提出的方法依然可以准确检测到羽毛球。
图4 检测实验结果对比(弱小运动目标与背景差异大)
图5 检测实验结果对比(弱小运动目标与背景差异小)
弱小目标检测实验是在普通PC机上完成的,CPU为Intel core i5 4590,操作系统为64位Windows10,编程环境为VisualStudio2017。本文提出的算法对于320×240像素彩色图像进行目标检测时平均耗时低于20 ms,实时性较好。
本文提出了一种基于SVD的改进混合高斯模型弱小运动目标检测算法。运用基于奇异值分解的动态阈值更新方法,根据目标与背景之间的相似程度动态调整GMM的判别阈值,提高特定弱小运动目标检测的准确度。实验结果表明,本文提出的算法对弱小运动目标的检测能力要优于传统方法,能够实现弱小运动目标的准确、高效检测。