基于机器学习的车辆检测算法研究方法概述
1 背景、意义、分类和应用
1.1 问题的背景与意义
- 序列图像的运动分析主要包括运动目标的检测、跟踪、分类及行为理解几个过程。检测是基础与前提。
- 运动目标检测是从序列图像中将运动变化区域从背景图像中分割提取出来。
- 运动目标检测结果,将对运动目标分类、跟踪以及行为理解等后续处理产生重要影响。
1.2 目标检测分类
按不同标准将运动目标检测方法分类
- 摄像机数目:单摄像机、多摄像机
- 摄像机是否运动:摄像机静止、摄像机运动
- 场景中运动目标数目:单目标、多目标
1.3 应用
- 军事公安方面:在军事方面主要用于导弹的精确制导,可疑目标的检测与跟踪。公安业务图片的判读分析,生物识别,不完整图片的复原,以及智能交通监控,事故分析等。
- 工业方面:具备视觉、听觉和触觉功能的智能机器人的成功应用。
- 生物医学工程方面的应用:各种细胞的运动分析检测和判别
- 智能交通方面:通过对交通情况的实时监控,利用图像处理技术对各种情况做出准确的判断。
- 体育方面:对运动员在比赛或者是训练的技术动作的视频进行分析,得出精确的运动参数进行分析。
2 基本算法
车辆检测方法
(1)帧间差分法(Temporal difference)
通过比较相邻的2或3帧图像差异实现,实现场景变换检测,对动态环境有较强适应性,单检测精度不高,难获得目标精确描述。
(2)背景减除法(Background subtraction)
适用于摄像机静止情形,其关键是背景建模,性能与监控场景复杂情况和系统要求有关,典型算法有中值模型、自适应模型、高斯模型、多模态均值模型。
(3)光流法(Optical flow)
可用于摄像机运动情形,提取目标完整信息(包括运动信息),计算复杂度高,抗噪性能差。在摄像机固定的情况下应用较少。
2.1 帧间差分法
通过比较相邻的2或3帧图像差异实现,实现场景变换检测,对动态环境有较强适应性,单检测精度不高,难获得目标精确描述。
D t ( x , y ) = { 1 , ∣ I t ( x , y ) − I t − 1 ( x , y ) ∣ > T 0 , o t h e r w i s e , T = 60 D_t(x,y)= \begin{cases} 1, & |I_t(x,y)-I_{t-1}(x,y)|>T \\ 0, & otherwise \end{cases} ,T=60 Dt(x,y)={1,0,∣It(x,y)−It−1(x,y)∣>Totherwise,T=60
2.2 背景减除法
适用于摄像机静止情形,其关键是背景建模,性能与监控场景复杂情况和系统要求有关,典型算法有中值模型、自适应模型、高斯模型、多模态均值模型。
背景减除法流程图
2.2.1 中值模型(Median Model)
B
t
(
x
,
y
)
=
1
K
∑
j
=
t
−
K
t
−
1
I
j
(
x
,
y
)
B_t(x,y)={1\over K}\sum_{j=t-K}^{t-1}I_j(x,y)
Bt(x,y)=K1j=t−K∑t−1Ij(x,y)
D
t
(
x
,
y
)
=
{
1
,
∣
I
t
(
x
,
y
)
−
B
t
(
x
,
y
)
∣
>
T
0
,
o
t
h
e
r
w
i
s
e
D_t(x,y)= \begin{cases} 1,& |I_t(x,y)-B_t(x,y)|>T\\ 0,& otherwise \end{cases}
Dt(x,y)={1,0,∣It(x,y)−Bt(x,y)∣>Totherwise
T
=
60
,
K
=
3
T=60,K=3
T=60,K=3
2.2.2 自适应背景模型
B 1 ( x , y ) = I 1 ( x , y ) B_1(x,y)=I_1(x,y) B1(x,y)=I1(x,y)
B t ( x , y ) = α I t ( x , y ) + ( 1 − α ) B t − 1 ( x , y ) B_t(x,y)=\alpha I_t(x,y)+(1-\alpha)B_{t-1}(x,y) Bt(x,y)=αIt(x,y)+(1−α)Bt−1(x,y)
D t ( x , y ) = { 1 , ∣ I t ( x , y ) − B t ( x , y ) ∣ > T 0 , o t h e r w i s e D_t(x,y)= \begin{cases} 1,&|I_t(x,y)-B_t(x,y)|>T\\ 0,&otherwise \end{cases} Dt(x,y)={1,0,∣It(x,y)−Bt(x,y)∣>Totherwise
T = 60 , α = 0.03 T=60,\alpha=0.03 T=60,α=0.03
2.2.3 双背景模型
M b ( x , y ) = { 1 , D i f b ( x , y ) > T b 0 , o t h e r w i s e M_b(x,y)= \begin{cases} 1,&Dif_b(x,y)>T_b\\ 0,&otherwise \end{cases} Mb(x,y)={1,0,Difb(x,y)>Tbotherwise
M t ( x , y ) = { 1 , D i f t ( x , y ) > T t 0 , o t h e r w i s e M_t(x,y)= \begin{cases} 1,&Dif_t(x,y)>T_t\\ 0,&otherwise \end{cases} Mt(x,y)={1,0,Dift(x,y)>Ttotherwise
D ( x , y ) = M b ∧ M t D(x,y)=M_b\land M_t D(x,y)=Mb∧Mt
T b = 60 , T t = 60 T_b=60,T_t=60 Tb=60,Tt=60
2.2.4 最大不相似模型
D
t
(
x
,
y
)
=
{
1
,
∣
N
t
(
x
,
y
)
−
I
t
(
x
,
y
)
∣
∨
∣
M
t
(
x
,
y
)
−
I
t
(
x
,
y
)
∣
>
M
D
t
(
x
,
y
)
0
,
o
t
h
e
r
w
i
s
e
D_t(x,y)= \begin{cases} 1,&|N_t(x,y)-I_t(x,y)|\lor|M_t(x,y)-I_t(x,y)|>MD_t(x,y)\\ 0,&otherwise \end{cases}
Dt(x,y)={1,0,∣Nt(x,y)−It(x,y)∣∨∣Mt(x,y)−It(x,y)∣>MDt(x,y)otherwise
N
t
:
最
小
灰
度
值
,
M
t
:
最
大
灰
度
值
,
M
D
:
最
大
帧
间
差
N_t:最小灰度值,M_t:最大灰度值,MD:最大帧间差
Nt:最小灰度值,Mt:最大灰度值,MD:最大帧间差
2.2.5 混合高斯模型
为了描述分布形式更加复杂的背景,特别是在有微小重复运动的场景,如摇动的树叶、灌木丛、旋转的风扇、海面波涛、雨雪天气、光线反射等,有必要应用到多模态的分布形式。Stauffer等用多个单高斯函数来描述场景背景,并且利用在线估计来更新模型,可靠地处理了光照缓慢变化、背景混论运动(树叶晃动)等影响。
3 改进算法
融合分块帧差
将帧间差分得到灰度图 D t ( x , y ) D_t(x,y) Dt(x,y)分成不重复的I个子块,对于每个子块中的每个像素点的灰度值和阈值T比较。若满足大于T,则认为是前景像素点,该子块的前景像素点个数加1,若达到设定的前景像素个数阈值TH,则认为该子块为前景目标。
4 工程应用存在的问题
- 场景光照的变化
- 运动阴影的干扰
- 动态背景的影响