前景探测 是 计算机视觉 和 图像处理 的主要任务之一。其任务是检测图像序列之间的变化。背景减除 是任何可以提取出图像前景的技巧,以备进一步处理(物体识别等)
许多应用不需要知道图像序列中所有的运动发展,但只需要知道场景中变化的信息,因为我们对图像中感兴趣的区域是前景中的物体(人、车、文字等)。在图像预处理之后(可能包含图像去噪,以及后处理,如图像变形(morphology)等)物体定位需要用到这样的技巧。
检测前景把前景从背景中区分出来。这是一系列分析固定摄像机,实时视频序列的一套方法。
描述
所有检测技巧都基于对背景图片的建模,即设定背景,并检测变化。定义背景可能非常困难,特别是它含有形状、阴影、移动物体时。在定义背景时,我们假设静态物体的颜色和光强可能随着时间变化。
应用这些技巧的场景可以非常广泛。可能是变化非常剧烈的序列,如图片的光照、内部、外部、质量、噪音等变化特别剧烈的情况。除了实时处理之外,系统需要适应这些变化。
一个很好的前景检测系统应该可以:
- 建立(估计的)背景模型
- 不受光照变化,重复移动(树叶、波、阴影)和长时间变化的影响。
背景减除
背景减除被广泛应用于静态摄像头在视频中检测移动物体。这种方法背后的理由是从当前帧和参考帧之间的差检测出移动的物体。参考帧也称为“背景图像”,或者“背景模型”。如果图片来自视频流的一部分,背景减除基本上已经做好了。背景减除提供了计算机视觉应用中许多重要的线索,例如监控跟踪或者人类姿势估计。
背景减除通常基于静态背景假设,可能在真实环境下不能满足。在室内场景中,反射或者动态图像可能导致背景变化。类似的,气候带来的风、雨、光照,也会使得室外场景的背景建模变得困难1。
时域平均过滤
时域平均过滤在 Velastin 被提出。这个系统 从前几帧中所有像素的中位数 估计背景模型。这个系统用前几帧的像素值作为缓冲区,更新每一幅图像的中位数。
为了对背景建模,系统查看在某一个给定时间段的所有图片,,称为 训练时间。在这里,我们只需要显示图片,一个一个像素地找出中位数,就得到了背景模型。
在训练周期之后,对每一个新的帧,每一个像素值与输入值相比较。如果输入像素值在阈值内,像素被认为是在背景模型中,这个值被包含在像素缓冲区中。否则,这个值被认为是前景,不放在缓冲区里。
这个方法不可以被认为特别有效,因为他没有严格的统计基础,并且缓冲区的计算代价昂贵。
传统方法
一个强壮的背景去除算法应该可以处理光线变化、杂乱的重复运动、以及长时间场景变化2 下面的分析假设视频序列是函数 V ( x , y , t ) V(x, y, t) V(x,y,t),其中 t t t 是时间维度。 x x x 和 y y y 是像素位置变量,例如 V ( 1 , 2 , 3 ) V(1, 2, 3) V(1,2,3) 是视频序列中 t = 3 t=3 t=3 时位于 ( 1 , 2 ) (1, 2) (1,2) 像素位置的强度。
使用帧差
运动检测算法从分割开始,前景或运动物体与背景分开。最简单的方法是把一个图像作为背景,然后把 t t t 时刻的图像 I ( t ) I(t) I(t) 与背景图像 B B B 进行比较。这里用简单的算术计算,我们可以用计算机视觉中的图像减法技术分割出 I ( t ) I(t) I(t) 中的像素。我们记像素值为 P [ I ( t ) ] P[I(t)] P[I(t)],把它与相同位置的背景像素值 P [ B ] P[B] P[B] 相减。
用数学公式写出来,如下:
P
[
F
(
t
)
]
=
P
[
I
(
t
)
]
−
P
[
B
]
P[F(t)] = P[I(t)] - P[B]
P[F(t)]=P[I(t)]−P[B]
背景假定为
t
t
t 时刻的帧。这个图像差只会显示出两帧之间有差别的像素。尽管我们看上去去除了背景,这个方法只适用于前景是移动的,背景是静态的情形 23。 阈值 “
Threshold
\text{Threshold}
Threshold” 可以改进得出的图像差。
∣
P
[
F
(
t
)
]
−
P
[
F
(
t
+
1
)
]
∣
>
Threshold
|P[F(t)] - P[F(t+1)]| > \text{Threshold}
∣P[F(t)]−P[F(t+1)]∣>Threshold
这意味着图像像素强度的差被“阈值掉”或者说,根据阈值过滤了4。这个方法的精度依赖于运动物体的场景中的速度。快速运动的物体可能需要高阈值。
平均过滤
为了计算出只含有背景的图片,可以通过平均化前序图片。在
t
t
t 时刻背景图片可以通过
B
(
x
,
y
,
t
)
=
1
N
∑
i
=
1
N
V
(
x
,
y
,
t
−
i
)
B(x, y, t) = \frac1N \sum_{i=1}^N V(x, y, t-i)
B(x,y,t)=N1i=1∑NV(x,y,t−i)
得出,其中
N
N
N 是前序图片的均值。这里平均是值给定图片对应像素的平均。
N
N
N 可以依赖于视频的速度(视频中图片每秒的图像数)以及视频的运动量5。在计算背景
B
(
x
,
y
,
t
)
B(x,y,t)
B(x,y,t) 之后,我们可以把
t
t
t 时刻图像
V
(
x
,
y
,
t
)
V(x,y,t)
V(x,y,t) 减去它,并且用阈值过滤。得到的前景是
∣
V
(
x
,
y
,
t
)
−
B
(
x
,
y
,
t
)
∣
>
Th
|V(x,y,t) - B(x,y,t)| > \text{Th}
∣V(x,y,t)−B(x,y,t)∣>Th
这里
Th
\text{Th}
Th 是阈值。类似的,我们可以用中位数取代平均值,用于计算
B
(
x
,
y
,
t
)
B(x, y, t)
B(x,y,t)。
使用全局和随时间不变的阈值(对每一个图片都用相同的 Th \text{Th} Th)可能会妨碍上面两种方法的精度。
运动 Gauss 平均
这个方法中, Wren 等人 6 提出在最近的 n n n 帧图像上拟合一个 Gauss 概率密度函数 (pdf)。为了避免在每一个新帧 t t t 上都重新拟合一个 pdf,计算了一个运动(或者说,是在线累积)平均。
每一个像素的 pdf 由均值
μ
t
\mu_t
μt 和方差
σ
t
2
\sigma^2_t
σt2 描述。下面是一种可能的初始条件(一开始假设所有像素都是背景):
μ
0
=
I
0
,
σ
0
2
=
<
某一默认值
>
\mu_0 = I_0,\qquad\sigma_0^2 = \left<\text{某一默认值}\right>
μ0=I0,σ02=⟨某一默认值⟩
这里
I
t
I_t
It 是
t
t
t 时刻像素的强度。为了初始化方差,我们可以用每一个像素周围小区域的的
x
x
x 和
y
y
y 方向的方差。
注意到背景可能随着时间变化(例如照明或者非静态背景物体)。为了适应这种变化,对每一个时间
t
t
t,每一个像素均值和方差都需要更新,如下:
μ
t
=
ρ
I
t
+
(
1
−
ρ
)
μ
t
−
1
σ
t
=
d
2
ρ
+
(
1
−
ρ
)
σ
t
−
1
2
d
=
∣
(
I
t
−
μ
t
)
∣
\mu_t = \rho I_t + (1-\rho) \mu_{t-1}\\ \sigma_t = d^2\rho + (1-\rho) \sigma^2_{t-1}\\ d = |(I_t - \mu_t)|
μt=ρIt+(1−ρ)μt−1σt=d2ρ+(1−ρ)σt−12d=∣(It−μt)∣
这里
ρ
\rho
ρ 决定了拟合 pdf 的时间窗口(通常取
ρ
=
0.01
\rho = 0.01
ρ=0.01)
d
d
d 是像素的欧式距离。
现在可以对每一个像素进行分类,如果落在置信区间内,则可以作为背景,否则作为前景:
∣
(
I
t
−
μ
t
)
∣
σ
t
>
k
→
前景
∣
(
I
t
−
μ
t
)
∣
σ
t
≤
k
→
背景
\frac{|(I_t-\mu_t)|}{\sigma_t} > k \rightarrow \text{前景}\\ \frac{|(I_t-\mu_t)|}{\sigma_t} \le k\rightarrow \text{背景}\\
σt∣(It−μt)∣>k→前景σt∣(It−μt)∣≤k→背景
这里的参数
k
k
k 是自由阈值(通常取为
k
=
2.5
k=2.5
k=2.5)。更大的值允许变化更大的背景。比较小的
k
k
k 增加了背景加入前景的可能性。
一种变形是,像素分布只在被分类为背景时更新。这是防止新的前景物体影响背景。均值的更新公式如下:
μ
t
=
M
μ
t
−
1
+
(
1
−
M
)
(
I
t
ρ
+
(
1
−
ρ
)
μ
t
−
1
)
\mu_t = M\mu_{t-1} + (1-M) (I_t\rho + (1-\rho)\mu_{t-1})
μt=Mμt−1+(1−M)(Itρ+(1−ρ)μt−1)
这里,当
I
t
I_t
It 被认为是前景时,
M
=
1
M=1
M=1;否则
M
=
0
M=0
M=0。所以,当
M
=
1
M = 1
M=1 时,即像素的前景时,均值保持不变。从而,一个像素变成前景时,只有当像素接近时才有可能把它变回背景。然而,这个方法有几个问题:它仅在所有像素一开始都是背景的情况下奏效(或者前景像素被标记出来)。同时,它不能处理渐变的背景:如果一个像素长时间被认为是前景,背景强度一定变化了(因为光照有变化)。从而,如果一个前景物体消失了,新的背景强度可能不会被识别。
背景混合模型
混合 Gauss 方法把每一个像素都当作 Gauss 的混合,并且用在线近似更新这个模型。在这个技巧里,假设每一个像素强度值可以由一个 Gauss 混合模型给出7。一个简单的启发决定了哪些强度最有可能是背景。然后,像素不满足这些条件的就是前景。前景像素由二维连通区域分析分类7。
在任意时刻
t
t
t,某一个像素的历史是:
X
1
,
…
,
X
t
=
{
V
(
x
0
,
y
0
,
i
)
:
1
≤
i
≤
t
}
X_1, \ldots, X_t = \{V(x_0, y_0, i): 1 \le i \le t\}
X1,…,Xt={V(x0,y0,i):1≤i≤t}
这个历史可以用
K
K
K 个 Gauss 分布建模:
P
(
X
t
)
=
∑
i
=
1
K
ω
i
,
t
N
(
X
t
∣
μ
i
,
t
,
Σ
i
,
t
)
P(X_t) = \sum_{i=1}^K \omega_{i,t} N(X_t | \mu_{i,t}, \Sigma_{i, t})
P(Xt)=i=1∑Kωi,tN(Xt∣μi,t,Σi,t)
其中
N
(
X
t
∣
μ
i
,
t
,
Σ
i
,
t
)
N(X_t | \mu_{i,t}, \Sigma_{i,t})
N(Xt∣μi,t,Σi,t) 是正态分布密度函数。
(!!!这段 Wikipedia 自己都不知所云,只是在抄论文中的一些数学公式!!!)
当初始化参数选定了之后,可以做出第一个前景检测器,然后更新参数。超过阈值
T
T
T 的第一个 B Guass 分布保留作为背景分布
B
=
argmin
b
(
∑
k
=
1
b
w
k
>
T
)
B = \text{argmin}_b \left( \sum_{k=1}^b w_k > T\right)
B=argminb(k=1∑bwk>T)
(!!!这段 Wikipedia 自己都不知所云,只是在抄论文中的一些数学公式!!!)
调研
下面是一些调研文章:
- MOG 背景减除8
- 子空间学习背景减除9
- 统计背景减除 1011
- 模糊背景减除12
- RPCA背景减除1314 (参考强壮主成分分析)
- 动态 RPCA 背景前景分离 15 (参考强壮主成分分析)
- 背景前景分离为低秩矩阵的和 16
- 传统和现代背景减除方法 1718
应用
- 视频监控
- 光学运动捕捉
- 人机交互
- 内容视频编码
- 交通监控
- 实时运动姿势识别
参考
- Gauss 适应
- Teknomo-Fernandez 算法
- 三维数据获取和物体重建
- PBAS
- 感兴趣区域
- SOBS
- ViBe
文献
M. Piccardi (October 2004). Background subtraction techniques: a review (PDF). IEEE International Conference on Systems, Man and Cybernetics. 4. pp. 3099–3104. doi:10.1109/icsmc.2004.1400815. ↩︎
B. Tamersoy (September 29, 2009). “Background Subtraction – Lecture Notes” (PDF). University of Texas at Austin. ↩︎ ↩︎
B. Patel; N. Patel (March 2012). Motion Detection based on multi-frame video under surveillance systems. Vol. 12. ↩︎
N. Lu; J. Wang; Q. Wu; L. Yang (February 2012). An improved Motion Detection method for real time Surveillance. ↩︎
Y. Benezeth; B. Emile; H. Laurent; C. Rosenberger (December 2008). Review and evaluation of commonly-implemented background subtraction algorithms (PDF). International Conference on Pattern Recognition. pp. 1–4. doi:10.1109/ICPR.2008.4760998. ↩︎
C. Wren; A. Azarbayejani; T. Darrell; A. Pentland (July 1997). Pfinder: real-time tracking of the human body (PDF). IEEE Transactions on Pattern Analysis and Machine Intelligence. 19 (7): 780–785. doi:10.1109/34.598236. hdl:1721.1/10652. Archived from the original (PDF) on 2007-06-09. ↩︎
C. Stauffer; W. Grimson (August 1999). Adaptive background mixture models for real-time tracking (PDF). IEEE Computer Society Conference on Computer Vision and Pattern Recognition. 2. pp. 246–252. doi:10.1109/CVPR.1999.784637. ↩︎ ↩︎
T. Bouwmans; F. El Baf; B. Vachon (November 2008). Background Modeling using Mixture of Gaussians for Foreground Detection – A Survey. Recent Patents on Computer Science. 1: 219–237. ↩︎
T. Bouwmans (November 2009). Subspace Learning for Background Modeling: A Survey. Recent Patents on Computer Science. 2 (3): 223–234. doi:10.2174/1874479610902030223. ↩︎
T. Bouwmans (January 2010). Statistical Background Modeling for Foreground Detection: A Survey. Chapter 3 in the Handbook of Pattern Recognition and Computer Vision, World Scientific Publishing. pp. 181–199. doi:10.1142/7297. ↩︎
T. Bouwmans (September 2011). Recent Advanced Statistical Background Modeling for Foreground Detection: A Systematic Survey. Recent Patents on Computer Science. 4 (3): 147–176. doi:10.2174/1874479611104030147. ↩︎
T. Bouwmans (March 2012). Background Subtraction For Visual Surveillance: A Fuzzy Approach. Chapter 5 in Handbook on Soft Computing for Video Surveillance. Chapman & Hall/CRC Cryptography and Network Security Series. 20123846. pp. 103–134. doi:10.1201/b11631-6. ISBN 978-1-4398-5684-0. ↩︎
T. Bouwmans (March 2012). Robust Principal Component Analysis for Background Subtraction: Systematic Evaluation and Comparative Analysis (PDF). Chapter 12 in Book on Principal Component Analysis, INTECH: 223–238. ↩︎
T. Bouwmans; E. Zahzah (2014). Robust PCA via Principal Component Pursuit: A Review for a Comparative Evaluation in Video Surveillance. Special Issue on Background Models Challenge, Computer Vision and Image Understanding. 122: 22–34. doi:10.1016/j.cviu.2013.11.009. ↩︎
N. Vaswani; T. Bouwmans; P. Narayanamurthy (2017). Robust PCA and Robust Subspace Tracking. Preprint. 35 (4): 32–55. arXiv:1711.09492. Bibcode:2017arXiv171109492V. doi:10.1109/MSP.2018.2826566. ↩︎
T. Bouwmans; A. Sobral; S. Javed; S. Jung; E. Zahzah (2017). Decomposition into Low-rank plus Additive Matrices for Background/Foreground Separation: A Review for a Comparative Evaluation with a Large-Scale Dataset. Computer Science Review. 23: 1–71. arXiv:1511.01245. doi:10.1016/j.cosrev.2016.11.001. ↩︎
T. Bouwmans. Traditional Approaches in Background Modeling for Static Cameras. Chapter 1 in Handbook on “Background Modeling and Foreground Detection for Video Surveillance”, CRC Press, Taylor and Francis Group. ↩︎
T. Bouwmans. Recent Approaches in Background Modeling for Static Cameras. Chapter 2 in Handbook on “Background Modeling and Foreground Detection for Video Surveillance”, CRC Press, Taylor and Francis Group. ↩︎