自适应码本

2024-05-10

自适应码本

自适应码本 篇1

背景减除法因为其简单易于实现且鲁棒性强等优点成为众多学者研究的热点。Wren等人提出了单高斯背景建模算法[1],Stauffer等人使用多个高斯模型对背 景建模,提出了混 合高斯背 景建模算 法[2],Toyama等人提出了一种三层的Wallflower方案[3],Haritaolu等人提出了W4方法[4],Kim等人将一种结构化的码本( Code Book) 当作背景模型[5],Elgammal等人通过核密度估计建立了一种非参数化的背景模型[6],Maddalena等人提出了自组织神经元网络模型( SOBS)[7],Barnich等人提出来一种叫Vi Be的算法[8]。

码本背景建模方法的基本思想是分别用编码本描述每一像素点出现的可能为背景的状态,然后根据一定规则从中筛选,确定最终背景状态。这种基于量化和聚类技术构建的码本模型有三方面的优势: 第一,它不需要像混合高斯模型和非参数核密度估计背景模型那样进行大量的概率运算; 第二,相比SOBS模型和Vi Be模型,其码字结构较为简单; 第三,相比Wallflower模型和W4模型,其拥有更多的状态信息。这些优点使得它能在保证实时性的同时,也能较好地处理周期变化的动态背景。但是这种算法也存在着两处不足,一方面码本背景模型只是对单个像素在时间轴上的统计性建模,忽略了领域像素间的空间分布相关性,从而使得背景模型不能精确地反映真实背景,这样在很大程度上影响了运动目标的检测效果; 另一方面,这种算法做了以下假设: 背景像素在RGB空间中是均匀分布在一个圆柱体内,其中RGB空间的三个分量之间是相互独立的,并且这个圆柱体的中心轴指向RGB空间的原点,但这些假设并不完全准确,也对目标检测造成了很大的影响。

Wu等人通过添加时空像素的关联特征,提出了一种基于时空上下文的码本改进方法[9],提高了算法检测的准确度。霍东海等人利用椭球体近似表示背景像素在RGB空间的分布特征,提出了一种基于主成分分析的背景建模算法[10],具有良好的实时性和鲁棒性。黄进等人提出了双梯柱体( double-trapezium cylinder) 的码本背景模型[11],降低了算法的复杂度。姜柯等人提出了一种双重自适应码本模型[12],解决了动态背景的模型自适应问题。郭志涛等人将区域特征分析结合于码本目标检测算法[13], 提高了检测精度。Guo等人将单层码本模型扩展为多层码本模型[14],更好地反映真实的背景模型。薛茹,等人将码本模型进行了块编码[15],增强了算法的实时性。

针对经典码本算法对外界环境自适应能力不足和忽略空间分布相关性等问题,该文提出了一种基于区域信息的自适应码本算法,在经典算法的基础上,利用背景学习率来适应外界光照环境的变化,并结合每个像素周围的空间位置信息,实现近邻像素间码本模型的共享。最终升级了经典码本算法,增强了模型在复杂环境下的鲁棒性。

1 经典码本模型

码本算法采用量化聚类的标准,对一系列图像序列帧的每个相应的像素点进行背景建模。对于建好的模型,每个像素点的码本由一个或多个码字组成。

令X = { x1,x2,…,xN} 代表N帧视频序列图像中同一特定位置的像素点在不同时刻的观测值,码本算法为每个像素建立一个码本M,其中M = { c1, c2,…,cL} ,而每个码本中包含有L个码字ci。在RGB颜色空间中,每个码字ci结构定义如下

式( 1) 中i = 1 ,2 ,…,vi记录所属码字RGB分量的历史均值,分别记录所属码字对应像素的最小和最大亮度值,fi表示该码字匹配成功的次数,λi 表示没有被匹配的最大时间间隔,pi和qi分别表示该码字第一次和最后一次匹配成功的时间。

在RGB颜色空间中,码本算法的思想是假设所有背景像素值都分布在码字圆柱体内部,而前景像素值都分布在圆柱体外部,码字圆柱体的表面构成了决策面,通过决策面来判断所输入的像素是背景像素或者前景像素,从而检测出运动目标,如图1所示。

在模型的建立阶段,在t时刻输入像素xt,将其与该像素的码本里的每个码字进行比较,通过亮度准则与颜色失真准则这两个判别式来决定该码书中是否有与该输入像素xt想匹配的码字,如有则更新该码字,否则新建一个码字。

在背景模型建立后,利用得到的码本对后续帧中各像素进行前景检测,其过程与模型建立过程相似,也用亮度准则与颜色失真准则这两个判别式来进行分类,如果找到一个相匹配的码字,则此像素为背景像素并对这个码字进行更新,否则将此像素归为前景像素并建立一个新的码字。

2 基于区域信息的自适应码本模型

现提出的一种基于区域信息的自适应码本背景减除检测算法,主要分为三个阶段的工作。第一阶段为背景模型的训练阶段,将训练阶段的每个像素的所有背景像素存储到各自所属的码字中,并且不断地更新其码字,从而建立起多模态的背景模型; 第二阶段为前景检测阶段,在该阶段中考虑到像素间的空间相关性,将输入的待检测像素同该像素周围空间的多个码本进行比对,判别该像素在各个码本中为前景还是背景,然后统计所得前景总数,最后根据预设阈值来判断此像素最终到底为前景还是背景; 第三阶段为背景更新阶段,背景更新主要是为了能够适应视频序列中背景的变化,提高前景检测的鲁棒性。

2. 1 背景建立

在码本背景模型的训练阶段,需要通过亮度准则和颜色失真准则来进行分类,亮度准则和颜色失真准则分别用公式( 2) 和式( 3) 表示。背景建模面临许多挑战,其中光照环境的变化尤为突出。不一样的光照强度会在检测中造成误检和漏检,降低了对真实目标的敏感性。为了适应不同的光照环境, 必须要求码字能够自适应地进行更新。本文对经典码本模型的建立过程进行改进,预先设定合适的学习率γ和 ρ ,对码字向量vm作如式( 4) 那样的替换, 并且将式( 5) 添加到码本背景建模的步骤2的第四步中。这里,σ2 m表示颜色空间颜色失真变量,在算法开始时,首先对σm进行初始 化。最后,将colordist( xt,vi) 做如下如式( 6) 那样的改进。

其中各变量计算方法如下:

式中α,β,ε,γ,ρ为先验参数,一般0. 4 < α < 0. 7 , 取值越小,亮度范围越大; 通常取1. 1 < β < 1. 5 ,取值越大,亮度范围越大; 通常会在训练阶段使用一个的较小的ε1,以保证每个码本中有充足的码字来表示复杂多峰的背景,而在检测阶段使用一个稍大的ε2来提高前景和背景的区分效果; 通常取0 < γ < 1,0 < ρ < 1 ,γ和ρ取值越大,对背景变化的适应速度越快。

具体的训练步骤如下:

Step1. 初始化: μ = { φ} ,L = 0。

Step2. For t = 1 to N

2) 在L = { ci| 1≤i≤L} 中寻找一个能够与xt 相匹配的码字cm,使之满足以下两个条件:

colordist( xt,vm) ≤ε1,其中ε1为训练阈值;

3) 如果L = φ或者没有找到相匹配的码字,则L←L + 1 ,并创建新的码字cL,其中:

vL= ( R,G,B)

auxL= ( I,I,1,0,t,t)

4) 否则,更新匹配到的码字cm,其中包含vm, auxm以及σ2 m。

Step4. 利用λ消除冗余码字,获得最能代表真实背景的码本M = { cm| cm∈L∧λm≤TM} ,其中TM为预先设定的周期阈值,通常取值为训练帧数的一半,即TM= N /2。

2. 2 前景检测

经典码本算法虽然可较好地兼顾实时性并能够处理周期性动态背景,却忽视了像素间的空间分布相关性,从而缺乏足够的描述信息,无法准确反映运动目标的本质属性。而在实际情况中每个背景像素都可能会出现在它的近邻区域内,它们在空间上是局部相互依赖的,为此将动态纹理的空间运动当成背景的一部分,并且添加一个机制来计算动态背景在空间上存在的不确定性,从而获得更多的空间信息。因此,对于每一个待检测的像素xt,先按照经典码本前景检测算法那样进行检测,与相对应的码本进行比较,如果被检测成前景,那么它需要进一步与领域像素的码本进行比较,从而判断出此像素究竟为背景像素,还是前景像素。使用f和b分别作为前景和背景的二值检测标记,使用My代表像素y∈Nx的码本,其中Nx表示像素xt的领域。为了计算有效性,文中选用八连通领域。如果像素xt与其领域像素码本匹配的总数大于等于阈值#min,则判断像素xt为背景像素,否则,此像素为前景。具体过程如下:

Step1. 输入像素xt= ( R,G,B) 。

Step2. 在与该像素对应的码书M中,寻找一个能够与xt相匹配的码字cm,使之满足以下两个条件。

colordist( xt,vm) ≤ε2,其中ε2为检测阈值;

Step3. 如果找到匹配码字,则xt= b ,并更新码字cm。

Step4. 否则,xt= f ,

1) 在该码本的相邻码本My∈ { My| ,y∈Nx} 中,寻找一个能够与xt相匹配码字cm,如果找到匹配码字,则count ++ ;

2) 如果count≥ #min ,则xt= b ,即判断此像素为背景像素;

3) 否则,xt= f,即判断此像素为前景像素。

2. 3 背景更新

外界环境总处于不断在变化中,例如停车场的车的进进出出、路上行人的停停走走等等。为了能将这些新产生的背景与前景目标区分开来,这就要求背景要随着外部情况的变化而不断变化,能够进行实时的更新以保证背景模型的有效性。

在前景检测阶段,对每个像素建立一个备选码本H ,并预先设定三个参数: TH、Tadd和Tdelete。其中,TH为备选码本H的周期阈值; 若H中的码字存活时间超过Tadd,则将该码字添加入M中; 若M中的码字没有得到更新的时间超过Tdelete,则将该码字从M中删除。更新过程如下:

Step1. 训练阶段后,得到码本M,创建一个新的码本H用于更新码本M;

Step2. 对于输入像素xt,在M中寻找能够匹配到xt的码字; 如果找到,则对该码字进行更新;

Step3. 否则,在H中寻找一个能够与xt相匹配的码字; 如果找到,则更新该码字; 否则,创建一个新的码字h,并将其添加到H中;

Step4. 按如下方式过滤H中的码字:

H←H - { hi| hi∈H,且hi的λ大于TH} ;

Step5. 按如下方式添加M中的码字:

M←M∪ { hi| hi∈H,且hi的存在时间超过Tadd} ;

Step6. 按如下方式删除M中的码字:

M←M - { ci| ci∈M,且ci未被更新时间超过Tdelete} ;

Step7. 返回步骤2直到所有像素输入完成。

3 实验与讨论

本文算法在Visual Studio 2010开发平台下,运用Open CV2. 2进行编程实现。实验主机配置为2. 70 GHz主频的Pentium ( R) Dual-Core处理器,2 G内存,32位Windows 7操作系统。测试时的参数设置为: 训练帧数N = 100 ,先验参数α = 0. 7,β = 1. 3 ,训练阈值ε1= 5 ,检测阈值ε2= 8 ,学习率γ = 0. 3,ρ = 0. 4 ,其他阈值 #min = 1 ,TH= 25 ,Tadd= 15 ,Tdelete= 50 。

3. 1 前背景转换测试

为了验证本文算法在前背景转换方面的有效性,选取了Laboratory视频进行测试,部分检测结果如图2所示。在第1 ~ 292帧内室内的柜子都处于关闭状态,从第293帧,其中有一扇柜门被打开并保持此状态直到视频结束。采用本文算法,从第360帧左右开始,打开状态的柜门逐渐由长时间固定的前景转换成背景,到第420帧,因柜门长时间处于打开状态而形成的虚假前景已经有效地被转换成了背景。

3. 2 综合性能对比测试

选取了三段典型的视频测试序列,其中前两段是在室外拍摄,后一段在室内拍摄,三段视频帧大小分别为768×576,352×288和320×240像素。

对于图3的视频,来自PETS2013,处于室外且外界环境比较复杂,光照条件不够稳定,同时有树枝在不断摆动,本实验记录的是第391帧的检测结果。可以看到,基于混合高斯法和原码本算法均对噪声敏感,且容易对阴影形成误判,而本文方法能较好地克服噪声干扰和避免阴影误判,提取的目标更加精确。

图4的视频同样处于室外,是一段校园内的campus. avi视频,当视频中的人在行走时,产生了长长的阴影,这对检测的精度造成了很大影响,本文记录了第382帧的检测结果。实验结果表明,本文算法能较快地适应背景的动态变化,对光线的变化和周围的噪声有较强的鲁棒性。

图5和图6来自相同视频段的不同阶段,来自室内拍摄的Laboratory. avi视频,文中记录了第292帧和第876帧的检测结果。可以看出,本文提出的算法能较好地判断阴影和前景,较快适应动态光照环境,能得到相比混合高斯和原码本更为精确的目标分割结果。

为了定量比较各种算法的性能差异,使用错误前景点率( FPR) 、正确前景点率( TPR) 、精度( precision) 和F1测度进行性能检测,计算公式如下面各式

式中,fp代表错误的前景点数,tp代表正确的前景点数,fn代表错误的背景点数,tn代表正确的背景点数。fp与tn之和代表真实前景图像中的背景点总数,tp与fn之和代表真实前景图像中的前景点总数,tp与fp之和代表被检测为前景点的总数。

在以上四项度量指标中,错误前景点率FPR越大,表示前景图像中的噪声越多; 真实前景点中正确前景点个数所占的比重越多,TPR值就越大,检测算法正确检测运动物体的敏感度越高; 检测精度Precision越大,被检测为前景点中正确前景点越多, 检测算法产生的噪声越小; 而F1测度是对检出率和检测精度的综合评价。

表1给出了各种算法对图3至图6所示图像处理结果的检测性能参数和处理速度,从F1测度可以看出,本文算法的检测性能优于其他算法,但由于性能改善是通过增加码本模型个数和结合周围码本模型,处理时间较经典码本模型有了一定的增加。

4 结论

本文算法在经典码本背景模型的基础上,将学习参数引入到码本编码的更新过程中,同时结合八连通区域的空间位置信息,实现近邻像素间码本模型的共享,还将前景和背景分别建模并实现它们的相互转化。这样不仅利用了动态背景在时间轴上的准周期变化,还兼顾了它们的空间上的准周期变化, 从而有效地将真实前景目标导致的场景变化与背景动态纹理导致的场景变化区分开来,提供了比经典码本背景模型更为精确的背景模型,更好地反映了真实背景。实验结果证明,本文提出的改进算法在有随机噪声及光照变化的复杂环境下,对常规分辨率的视频进行检测,能够达到每秒20帧的处理速度,且在保证检测速度的同时,其F1测度能够达到90% ,很大程度上减少了误检,同时没有不合理地增加漏检率,有效地抑制了复杂环境变化产生的噪声, 有效地提高了目标检测的准确性。

摘要:运动物体检测是视频监控系统的一个重要组成部分。针对经典码本目标检测算法存在的自适应动态背景能力不足,以及在复杂环境下检测精确度差的问题,提出一种基于区域信息的自适应码本目标检测算法。首先,利用添加学习率的方法对背景模型进行自适应更新以使其适应不同的光照环境。其次,结合区域信息,将待检测像素的码本和周围像素的码本融合,得到更为精确的背景模型。最后,对前景像背景一样进行建模和更新,使得前景和背景模型可以在预设参数的控制下相互转化,消除由于背景变化造成的误检。实验结果表明:所提算法在有随机噪声及光照变化的复杂环境下,依然具有较好的检测率和较好的鲁棒性。基本满足动态场景中运动目标检测的精度高、速度快、抗噪强以及光照适应性好等要求。

数据有增加 图表自适应 篇2

如需利用柱形图展示员工的工作业绩,当员工人数增加或减少时,柱形图的个数实现自动进行相应的变化,即增加或减少(图1)。在一般操作中,实例中柱形图的数值系列的数据源是由手动选取的B2:B9,水平(分类)轴标签的数据源也是手动选取的A2:A9,这些数据源都是固定不变的。要想实现上述效果,需要将这两个数据源更改为可变的表达式。

用Excel 2013打开数据表,点击“公式→定义名称”,在弹出窗口的名称处输入“分类轴”,引用位置处输入“=OFFSET($A$2,,,COUNTA($A:$A)-1,1)”;以同样的方式再定义一个名称为“数值轴”的名称,引用位置处输入“=OFFSET($B$2,,,COUNTA($A:$A)-1,1)”(图2)。

数据源名称定义完成后,就该修改柱形图的两个数据源了。

右击柱形图,选择“选择数据”,在弹出的窗口中点击“图例项(系列)”下的“编辑”按钮,在弹出的窗口系列值处输入“Sheet1!数值轴”( Sheet1这要根据数据表的名称而定);点击“水平(分类)轴标签”下的“编辑”按钮,在弹出的窗口中输入“=Sheet1!分类轴”(图3)。

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【自适应码本】相关文章:

系统自适应05-06

煤质自适应05-14

空间自适应05-15

自适应定位05-27

温度自适应05-28

自适应免疫算法05-05

自适应积分算法05-05

自适应巡航控制05-17

自适应积分法05-22

自适应均衡算法05-23

上一篇:煤质化验技术应用研究下一篇:美丽心灵心理学