Content area
Full Text
1 引言
运动目标的背景建模是机器视觉和智能视频处理的研究热点和难点之一, 它的目标是将变化区域从视频序列中提取出来, 有效检测运动目标为后续研究工作如对象跟踪[1-2]、目标分类、行为分析、行为理解等应用理解起着重要作用。目前常用的检测方法主要有帧差法[3]、光流法[4]、背景差分法[5]等。帧差法用两帧或几帧进行差分运算获取运动目标, 提取效果与运动目标的速度和帧速有关, 运算速度快, 但不适用于静止或速度过慢的目标检测。光流法源自光流场, 根据连续多帧视频序列和各像素点运动量差异获取运动目标, 检测效果较好, 但算法复杂度高、计算量大, 难以满足实时性的要求。相比前两者, 背景差分法将输入图像与背景模型做差分获取运动目标, 算法具有开销小、速度快、精度高、提取目标准确等优点, 成为目前运动目标检测最常用的方法。
背景差分法的检测性能主要取决于稳健的背景模型, 背景模型的建立和更新算法直接影响最终目标的检测效果。国内外很多学者对背景建模技术进行了深入研究[6-10], 主要分为参数化方法和非参数化方法两类。参数化方法, 如单高斯背景模型(single Gaussian background model, SGM)、混合高斯背景模型(mixed Gaussian background model, MOG)[11-12]等。其中, 单高斯背景模型为每个像素值的分布建立了用单个高斯分布表示的模型, 适用于单模态背景, 当背景较为复杂或背景像素为多峰分布时, 模型自适应差、检测率不完整。混合高斯背景模型具有多个高斯分布, 处理背景像素为多峰分布时效果较好, 但参数调整困难、计算复杂度高、实时性不强。非参数方法, 如CodeBook[13]、ViBe[14]、PBAS[15]等, 其中, CodeBook为视频序列中每个像素建立时间序列模型, 能很好地处理时间起伏, 计算量小, 但内存消耗量大, 易造成码字更新错误, 动态适应能力较差。ViBe依据相邻像素点空间分布特性, 用单帧视频初始化背景模型, 采用随机替换策略更新背景模型, 建模速度快, 对噪声和亮度变化等具有一定的鲁棒性。PBAS结合了SACON和ViBe两个算法的优势, 但判断阈值和更新率计算复杂度高, 实时性较差。
本文提出了一种基于视频序列像素值、频数、更新时间和自适应敏感度多种特征融合的背景建模方法, 利用单帧图像中像素邻域相关性建立初始背景模型, 在更新背景模型的过程中依据视频序列的多种特征融合快速消除初始背景模型中可能会产生的ghost区域, 利用实际背景在动态变化中产生的反馈信息自适应调整阈值, 在复杂场景中提取运动目标具有较强的适应性和鲁棒性。
2 基于多特征融合的背景建模方法
本算法用邻域像素初始化背景模型, 通过新获取像素更新背景模型, 比对背景模型和当前输入像素值检测前景目标, 分为三方面:模型的工作原理、初始化和更新策略。
2.1 模型工作原理
背景建模中, 常用的特征信息包括颜色、形状、纹理等特征, 如Nummiafo等人利用目标的颜色信息对目标进行跟踪, Vignon等人利用目标的形状信息来跟踪目标。这些算法虽然考虑了背景模型对场景变化的适应性, 但忽略了特征退化时模型更新策略的适应性, 导致对场景变化敏感的特征不能及时更新, 其可分辨性持续降低, 制约了算法性能。本文提出融合样本像素值、频数、更新时间和自适应敏感度的多特征背景建模方法。
视频序列图像中同一位置的像素点在时间轴上的观测值可以构成一个序列V(xi)={x1, x2, ..., xt}。其中xi代表图像中一帧的某一像素, t和i代表时间, V(xi)代表xi点处的像素值。给一帧中的每一个像素序列建立一个四元多特征样本集:
\( M\left( {{x_i}} \right) = \left\{ {P\left( {{x_i}} \right), F\left( {{x_i}} \right), T\left( {{x_i}} \right), S\left( {{x_i}} \right)} \right\}, \)
其中:
\( P\left( {{x_i}} \right) = \left\{ {{p_1}, {p_2}, \cdots, {p_N}} \right\} \)
为xi处背景像素值样本集, N为样本集大小;
\( F\left( {{x_i}} \right) = \left\{ {{f_1}, {f_2}, \cdots, {f_N}} \right\} \)
为xi处背景样本集中每个样本的频数;
\( T\left( {{x_i}} \right) = \left\{ {{t_1}, {t_2}, \cdots, {t_N}} \right\} \)
为xi处背景样本集最近一次更新时间;
\( S\left( {{x_i}} \right) = \left\{ s \right\} \)
为xi像素的自适应敏感度。
模型的工作原理是假设所有背景像素值都分布在多特征样本集M(xi)内部, 而前景像素值分布在外部, M(xi)构成了判别前景背景像素的边界, t时刻输入的V(xt)通过式(1)判断输入像素值是否为背景像素:
\( V\left( {{x_t}} \right) = \left\{ \begin{gathered} foreground, \left\{ {V\left( {{x_t}} \right) \cap M\left( {{x_i}} \right)} \right\} < S\left( {{x_i}} \right) \hfill \\ background, \left\{ {V\left( {{x_t}} \right) \cap M\left( {{x_i}} \right)} \right\} \geqslant S\left( {{x_i}} \right) \hfill \\ \end{gathered} \right.。\)(1) 2.2 模型的初始化
传统的背景建模方法初始化背景模型通常需要对10帧以上的图像采样才能初始化样本模型, 不仅计算量大还会导致前几帧无法找到运动目标。本算法取视频序列的第一帧就可完成对模型的初始化, 降低了采样的复杂性。视频中的一帧图像, 不同区域内的像素在位置和灰度级上具有较强的一致性和相关性, 如图 1(a)所示, 选取视频第一帧中区域A(蓝色方框标记, 中心坐标为188, 96)和区域B(红色方框标记, 中心坐标为165, 35)的5×5邻域像素灰度值, 如图 1(b)、图 1(c)所示。区域A较为平滑, 中心像素与邻域像素具有较强相关性; 区域B中出现了边缘, 周围像素和中心像素出现了较大的差异, 但仍有部分像素与中心像素具有较强的相关性。算法利用像素邻域相关性初始化背景模型样本集。
[Image omitted: See PDF]
用第一帧图像初始化背景模型, 取像素x1的5×5邻域像素{di(x1)|i=1, ..., 24}中满足式(2)的像素值为P(x1)初始样本集:
\( {p_i} = \left\{ {V\left( {{x_1}} \right), {d_i}\left( {{x_1}} \right)|d\left( {{x_1}} \right) \in \left| {{d_i}\left( {{x_1}} \right)-V\left( {{x_1}} \right)} \right| < s} \right\}, \)(2)
此时: \(F\left( {{x_1}} \right) = \left\{ {{f_i} = 1|i = 1, \cdots, N} \right\}\) ,
\( T\left( {{x_1}} \right) = \left\{ {{t_i} = 1|i = 1, \cdots, N} \right\}。\)
N满足:
\( N = count\left( {P\left( {{x_i}} \right)} \right)。\)(3)
像素的阈值S(x1)满足:
\(...