基于增量非负矩阵分解的自适应背景模型
【电子与信息科学 / Electronics and Information Science】
背景模型是一种检测运动物体的常用方法.通过将当前帧与背景相减,可以得到前景,以此进行物体分割、检测和追踪[1-5].背景是包含静止物体的场景,如房子、树、墙壁及家具等.前景则是非静止的物体,包括运动的汽车、行走或跑动的人.由于背景随着物体的运动而动态变化,如原本静止的汽车离开了,或者是运动的人静止了,因此,需要自适应地更新背景模型.
当从一系列的帧之中提取背景时,由于这些帧的背景是一致的,可以认为背景是这些帧的主要成分,而前景为稀疏成分.因此,可以采用子空间的方法,如主成分分析(principal component analysis, PCA)[6]和非负矩阵分解(non-negative matrix factorization, NMF)[7],对一系列帧提取其主要成分.这些主要成分就是所需要的背景,通过将一帧在这些成分张成的子空间上进行投影,再重构回来,就可以得到这帧的背景表达.于是,前景可以通过此帧与背景的相减得到.
然而当背景变化时,由于PCA和NMF只能处理静态的数据,因此它们需要将所有帧重新进行分解,这样会非常耗时.监控视频数量的不断增长迫切需要高效率的自适应背景建模算法[8-10].Bucak等[11]提出增量子空间学习的方法,采用重构误差作为目标函数,在求解过程中利用之前得到的子空间信息,自适应地更新子空间,从而加快分解速度,有效对自适应背景建模.然而,Bucak的方法每次只能增量地学习1帧.若需要增量学习多帧,则算法需要执行多次,这样就降低了算法的效率.Cao 等[12]提出利用在线非负矩阵分解(online non-negative matrix factorization, ONMF)来检测和追踪潜在因子.因子是随着数据流而动态变化的,ONMF能较好追踪到变化的因子,成功运用到了主题检测.
本研究利用ONMF算法进行动态的背景建模,称此方法为增量非负矩阵分解(incremental non-negative matrix factorization, INMF).与文献[11]的方法相比,INMF方法能同时处理多帧,因此具有更好的计算效率.实验结果表明,INMF不仅在计算时间上,而且在前景检测上,都要优于NMF.
1 非负矩阵分解
NMF的思想是将一个非负矩阵V近似分解为2个非负矩阵的乘积,即
Vm×n≈Wm×rHr×n
其中, Wm×r和Hr×n都是非负矩阵; r为基向量的个数,一般选择r满足(m+n)r<mn, 以减少数据存储空间.W的r列称为基图像,H的每一列称为系数.
V和WH之间的误差定义为[6]
NMF要解决如下最优化问题
s.t.W≥0,H≥0.
以上最优化问题可用如下迭代公式求解[13]
文献[13]证明了目标函数(1)在上述迭代算法下是非递增的.
2 增量非负矩阵分解
利用传统NMF对数据流进行处理是不现实的.假设在t时刻得到数据V, 并采用NMF算法得到如下分解:
V=WH
在t+1时刻,有新的数据U到达.因此,数据矩阵变为
显然,直接分解非常耗时.因此,需要利用已有的W和H来计算和, 此即为增量学习问题.本研究采用INMF算法对视频流进行增量学习,INMF算法源于文献[12].为此,引入如下引理.
引理1[12] 若V=WH和V=W′H′是V的两个满秩分解,那么存在可逆矩阵P, 满足W=W′P和H=P-1H′.
考虑分解
因此, 1.由于V=WH, 根据引理1建立因子之间的联系为
其中, P为可逆矩阵.于是,分解问题(2)转变为
s.t.
P反映了旧因子W与新因子之间的联系.
为了求解问题(4),考虑如下分解
可得
而意味着通过设置可得问题(4)的解.
由式(3)可得H, 于是问题(2)的解为
更新规则为
由于的大小比要小得多(W比V要小得多),所以采用INMF比采用NMF要快得多.考虑NMF和INMF的计算复杂度,设V∈Rm×n, W∈Rm×r, U∈Rm×p, r<n, 则NMF的计算复杂度为O(mr(n+p)), INMF的计算复杂度为O(mr(r+p)). 由于r<n, 所以INMF比NMF更快.
3 背景模型实验
3.1 实验数据库及实验方法
在背景模型实验中,我们使用PET2001的 “dataset1_camera1” 的视频数据库[14].这段视频时长2 min 2 s,共3 064帧,每帧大小为576×768.为提高计算效率,每帧采样都降到144×192,然后排成144×192=27 648维的列向量.
通过两部分实验比较INMF和NMF的运算时间和重构误差.具体实验设置分别在3.2和3.3小节介绍.所有实验均取r=2, 即只有2个背景基.新到的测试帧v投影到这两个背景基组成的子空间,再用基重构,得到v在子空间的表达为