一种基于小波分析的codeword算法改进

时间:2022-10-10 12:29:42

一种基于小波分析的codeword算法改进

摘 要:本文分析了基于codeword的行为检测算法,阐述了该算法的优劣,并在此算法的基础上提出了一种改进算法,对改进算法的实现和优势进行了阐述。

关键词:行为检测 codeword 前景分离

中图分类号:TH391 文献标识码:A 文章编号:1672-3791(2014)06(a)-0016-02

行为检测系统得到越来越广泛的应用,其系统的有效性在一定程度上依赖于获取的图像信息,也就是对运动目标的检测,可以理解为前背景分离,是指针对在背景不变的情况下,把监控场景中运动的物体从背景里提炼出来作为前景。本文对基于codeword建模的检测算法进行了分析,但该算法在前背景分离的完整性、精确性、实时性、对噪音和阴影的消除、抗光照变化、抗背景扰动(树叶摇摆、运动物体的短暂停留等等)等方面有一定的局限,基于此,我们提出一种改进算法,力求尽可能完美地检测出运动物体。

1 运动目标检测

1.1 简介

一般来讲,大多数的运动目标检测算法可分为三大部分:建立背景模型、通过各帧与背景模型的差异分离出前景、以及更新背景模型。在这个过程中使用不同的方法就构成了各种前背景分离算法。

codeword模型是一种非常优秀的前背景分离算法,它是针对混合高斯模型的缺点而提出来的。混合高斯模型对背景的快速变化适应性差,不能敏锐地检测出不明显的或者突然出现的运动物体,为了解决这些问题,有人提出了codeword模型。

1.2 codeword模型的建立

codeword算法用一个相对较长的观测期来建立背景模型,给每一个像素都建立一个codeword,在观测期中采集的样本根据其颜色和亮度被集群到不同的codeword里面。我们用来表示一个像素点的训练序列,它由N个GRB向量组成:={x1,x2,…,xN};用={c1,c2,…,cL}来表示有L个codeword的codebook。对于每一个codeword ci,i=1…L,都由一个GRB向量vi=(Rˉi,Gˉi,Bˉi)和一个元组auxi=〈i,i,fi,λi,pi,qi〉组成,元组auxi中各个元素的定义如下:

,为被集群到这个codeword中的所有像素中的最小和最大亮度值;f为该codeword被访问的频率;λ为训练期内该codeword最长未被访问的时间,记作MNRL(maximum negative run-length);p,q为该codeword第一次和最后一次被访问的时间。

(1)L0,Φ(空集)。

(2)for t=1…N。

①xt=(R,G,B),I2R2+G2+B2

②根据条件(a)、(b)在={ci|1≤i≤L}内寻找匹配xt的codeword cm

(a)colordist(xt,vm)≤ε1

(b)brightness(I,〈m,m〉) = true

③如果=Φ,或者匹配不成功,则L L+1。创建一个新的codeword cL

VL(R,G,B)

auxL〈I,I,1,t-1,t,t〉

④否则更新所匹配的codeword cm

Vm=(R-m,G-m,B-m),auxm=〈m,m,fm,λm,pm,qm〉

Vm(fm R-m+R/fm+1,fm Gˉm+G/fm+1,fm B-m+B/fm+1 )

auxm〈min{I,m},max{I,m},fm+1,max{λm,t-qm},pm,t〉

end

对每一个codeword ci,i=1,…,L,重设λimax{λi,N qi}。

codeword算法满足许多测评标准,前景分离的精确性、对背景扰动的适应性、抗光照变化等等,但是codeword算法最大的缺陷是实时性差,运行速度太慢。针对这个缺点,本文对原始的codeword作了少许改动(见图1、图2)。

2 改进算法的提出和实现

2.1 改进算法的基本思想

从运行结果可以看到,codeword算法虽然有较强的抗干扰能力,对阴影的变换也能有效防范,灰度图能准确有效的反应实际图像场景。但其本身也有缺陷,缺陷主要是实时性差,运行速度较慢。

针对这个缺点,本文对原始的codeword作了改进。改进思想如下:原始的codeword算法以像素点的方式处理,每个像素都有一个codeword,改进后的算法以块的方式处理,把原算法中每四个像素点当作一个块来处理,也就是原算法中的四个codeword变成了改进算法中的一个新的codeword(块),之后对块进行检测识别。

2.2 改进算法的实现

结合经典codeword模型,本文提出的改进codeword模型算法步骤如下:

某些codeword可能包含运动的前景物体和噪音而需要去除。通过MNRL(λ)这一参数来提炼codebook模型,以M和TM表示背景模型和阈值,通过TM设定为训练帧数的一半,即N/2,判断条件为M={cm|cm∈∧λm≤TM}。

在上面的算法步骤中提到的两个判断匹配的条件(a)、(b)的计算过程如下。假设获取到的像素为xt=(R,G,B) 以及codeword ci其vi=(R-i,G-i,B-i),我们有如下公式:

||xt||2=R2+G2+B2,

||vi||2=R-i2+G-i2+B-i2,

〈xt,vi〉2=(R-iR+G-iG+B-iB)2

颜色差异δ通过以下公式计算

p2=||xt||2 cos2θ=〈xt,vi〉2/||vi||2,

colordist(xt,vi)2=δ2=||xt||2―p2.

亮度差异判断条件为:

如果Ilow≤||xt||≤Ihi,brightness(I,〈, 〉)为真;否则为假

Ilow = α,Ihi = min{β,/α}。其中α1

建立了背景之后,下一步就是分离前景,具体算法如下:

x=(G,R,B),I2R2+G2+B2

对于经过提炼后的codeword模型中的所有codeword,寻找一个匹配如下两个条件的cm:

colordist(x,cm)≤ε2

brightness(I,〈m,m〉)=true

使用构建背景模型算法中的更新方法更新匹配的codeword。

如果没有匹配,则x为前景,否则为背景。

其中It(x,y)为当前图像中坐标为(x, y)的像素值,Ib(x,y)为背景图像像素值,Bt(x,y)为前景的二值图像,Th为阈值。简单的背景相减分离出的前景相当粗糙,但是却能告诉我们清楚的边缘信息。

3 改进算法的测试

改进算法的运行结果如下图,通过结果对比,新算法能提高系统运行性能,系统内存占用明显减少,运行速度明显增快,能比较清晰的反映出画面中运动目标的状态,但是处理之后的画面比原本的粗糙(见图3、图4)。

参考文献

[1] 谷军霞,丁晓青,王进生.行为分析算法综述[J].中国图像图形学报,2009,19(3):377-387.

[2] 郁映卓.基于人体运动特征的异常行为检测和姿态识别[D].西安电子科技大学,2011.

[3] 武松林.基于坐姿的多人行为识别与分析方法研究[D].延边大学,2010.

[4] 吴登峰.多小波变换及其在数字图像处理中的应用[D].吉林大学,2005.

上一篇:准确找寻班级管理中的教育盲点 下一篇:企业DLP解决方案