背景自适应(精选7篇)
背景自适应 篇1
1 现有检测算法简介
在智能视频监控领域,运动目标的检测是信息提取的一个关键步骤,也是更高层次分析如目标跟踪、目标分类和行为理解的重要基础[1]。因此,如何从视频序列中快速准确地提取运动目标,是许多研究者所关注的一个问题。经过多年的发展,提出了一些有效的算法[2,3,4,5],解决了智能监控中一些难题,能适应比较复杂的环境。其中,码书模型[4]就是一种常见的背景建模方法,众多研究者提出了改进的码书模型[6,7]。这些改进的算法有效地解决了码书模型中的一些不足,提高了码书模型的有效性和鲁棒性,然而对于码书模型的自适应更新却很少论述,但是背景建立之后,如何保持背景的稳定性,让背景长时间可靠工作也是一件及其重要的事情,在实际应用中这可能比建立一个完美的背景更值得关注。
无论是传统的码书模型背景更新方法,还是后来的一些改进算法,它们都是基于单个像素在时域上考虑。这种基于像素时域分布的模型更新方式没能充分利用空域信息,不能区分出真正的背景变化。在任何应用场景中,背景与前景目标是两个相对的概念,背景模型的更新应与前景目标的定义相关。在文献[8]中曾提到运动稀疏的概念,现有的目标检测算法大多是基于物体的运动性,如何处理运动信息不足的目标值得研究。现有的大部分算法在背景更新的过程中也存在有运动信息不足和物体只有局部运动的问题。如图1所示,一个孩子坐在地板上,身体有微小变化或只是移动了身体的部分,一段足够长时间后会有部分融入到背景中,现有的方法只能检测到运动的部分,对于检测到的部分已经失去整体性,不仅没有太大意义,而且会影响后面对图像的高层次理解。
上述情况的出现是由于背景更新过程中对背景的判断与背景定义的偏差,忽略了前景物体的整体性。本文针对此类问题对现有算法进行改进,一方面分析像素的时域信息,同时也在分析像素空间联系的基础上考虑物体的整体性,而且该算法能更好地实现背景模型的自适应更新,在背景更新过程中辅助前景的检测。
2 传统码书模型背景更新和图像分割
2.1 传统码书模型的更新原理
针对复杂多变的背景,Kim等人[4]提出了码书模型,为每个像素建立一本码书,每本码书又包含多个码字ci(i=1,2,…,l)来描述背景,是一种无参数的背景建模方法。其中每个码字由以下参数组成:
传统码书模型背景更新是建立在对背景和前景区分的基础上,把整个过程分为背景和前景分别处理,背景部分会按照背景训练时的方式更新,对于前景部分则建立一个前景码书模型,不断地检测前景码书中码字的变化,将依据一定的条件来添加或剔除背景码书中的码字,使其适应不断变化的监控场景。通过时间阈值来判断物体的融入和移出,如果停留时间超过门限,相应的码字频率增加,目标就会融入背景;如果超过一定的时间没有访问背景码书中的码字,就将该码字删除。传统的背景更新算法可以很好地处理一些简单场景的变化,对于一些复杂的变化显得不足,例如,一辆汽车走了一段时间后停下来,然后慢慢调转方向朝另一个方向驶去。由于汽车本身的面积较大,而且车身颜色相近,所以对每个像素根据一段时间内出现的次数来判断是否为背景很容易出现误判,需要联合空间信息来判断。
2.2 传统码书模型背景更新存在的问题
传统码书模型背景更新是以像素为单位,孤立地分析像素点在时间域上的统计信息,只能处理一些简单的情况,存在以下的不足:
1) 更新时需要遍历每一个前景码书,而大部分的前景码字都不是潜在的背景,浪费大量时间用于查找,影响检测实时性。
2) 监控场景是复杂多变的,背景的更新仅用一个时间阈值来决定,不能很好地适应背景的变化,而且一个统一的时间阈值很难确定。
3) 孤立地考虑每个像素,忽略彼此联系和像素的空间信息,没有考虑物体完整性。
第1点中的不足表现在没能区分真正的前景和可能成为背景的前景,能成为背景的前景占的比例很少,现有的算法要访问所有的前景码字,这样不但没有必要还浪费了大量的时间,有必要利用物体的空间信息将潜在的背景分开,只处理前景中这部分码字。第2点和第3点中,如果时间阈值过大,则更新速度过慢,模型不能及时反映出背景的变化而导致误检;如果过小,更新速度过快,会使运动较慢、面积较大或纹理较均匀的目标部分融入背景,造成目标检测不完整。对于上文中提到的由于局部运动造成将目标分成背景和前景两部分的现象,现有算法也无法处理。由以上分析可知,传统码书模型对背景的更新方式不能有效地自适应背景变化,为了更好地解决上面的问题,引入像素的空间信息,通过对前景的分割获得目标的整体信息。
2.3 脉冲耦合神经网络的图像分割
提取出目标整体信息的方法有多种,经过实验对比我们选用基于猫视觉皮层模型的脉冲耦合神经网络(Pulse Coupled Neural Net,PCNN)来进行图像的分割[9]。基于PCNN的图像分割是一种基于图像像素相似强度临近相似性的图像分割方法,并有自适应图像分割的特点。然而其对图像的二值分割又极大地削弱了图像的层次性,视频中目标的分割不同于单幅图像的分割,视频帧中常会有噪声的干扰和光线的变化。为此,本文对PCNN方法进行了改进,提出了基于PCNN的多值分割方法,既保留PCNN对图像分割的优良特性,又有效保留图像本身的层次性,使其更适合视频图像的分割。图2是图像分割的效果图。从图中可以看到,该方法可以很好地对视频图像进行分割,效果满足本文的要求。
3 改进的码书模型背景自适应更新
本文的背景更新方法是在传统码书模型的基础上加入了空间信息,即考虑运动目标的整体性,通过对视频图像的分割,提取出运动目标空间信息。目标空间轮廓信息的提取是在前景检测完成后进行的。首先,对前景目标进行标记,找到每个运动目标的形心,用矩形框将目标框起来。然后,返回当前帧中矩形框的位置,对矩形框中的目标利用PCNN算法进行图像分割,提取出目标的空间轮廓信息Li(t)。根据运动目标的空间信息是不断变化的,而背景的空间信息却很少变化,可以将目标分为真正的前景和潜在的背景。将所获得的轮廓信息与前一帧图像中相应目标的轮廓信息Li(t-1)对比,如果轮廓信息有较大差别,说明目标是前景,则不将该目标归入到潜在的背景中;如果轮廓的变化不大,目标有可能是潜在的背景或是受到噪声的干扰,需要继续检测该目标的空间轮廓信息,几帧之后再进行检测,这样既减少了噪声的影响,也有效地避免了运动缓慢物体的误检。经过上述判断后,目标的空间轮廓信息变化仍不大,此时对目标范围内的前景像素进行计时。对于是否融入背景不是单一考虑时间阈值还要联合像素的空间整体性,快速地将整个目标融入背景。只有局部运动的物体,虽然有一部分由于长时间的静止会融入到背景中,但从整体考虑来看还是属于运动目标,所以在空间轮廓变化判断时,不再将这部分融入到背景,而是把该部分和运动的部分看作一个整体,当作前景来处理,从而可以有效地避免把目标分割成一部分是前景、一部分是背景。基于空间信息的码书模型背景更新步骤如下:
1) 训练得到的背景模型M,新建立一个前景码书模型H。
2) 对于任意输入像素Xi(i=1,2,…,N),在M中找与之相匹配的码字,如果找到匹配的码字按背景建模时的方式更新该码字,即
,如果没有匹配的码字,就认为是检测的前景目标。
3) 将检测出的前景目标进行形态学处理[10],去除二值图像中孤立的小区域,同时将小间隙填充。对前景目标进行标识并提取出空间轮廓信息Li(t),计算轮廓相似度
4) 否则,在前景码书H中寻找匹配的码字并按照步骤2)中的方式更新该码字;没有匹配的码字就增加一个新码字hi到前景码书中,码字的参数设置为νi←(R,G,B),auxi←[I,I,1,t-1,t,t],其中
5) 将前景H中停留时间足够长的码字移入到背景M中。M←M∪{hi|hi∈H,fi≥Tadd}。
6) 删除背景M和前景H中长时间没有访问的码字。M←M-{ci|ci∈M,λi≥Tdel},H←H-{hi|hi∈H,λi≥Tdel}。
7) 从步骤2)重复进行。
经过上述的步骤就可以在快速前景检测的同时,自适应地进行背景的实时更新。其中α表示两帧之间同一个像素的空间信息之差绝对值门限,它有助于消除噪声和光照的影响,更准确地反映空间信息的变化,一般取值为10~15。空间相似度阈值β,描述整个物体的变化程度,一般取值0.85~0.95。Tadd表示目标融入背景的时间,Tdel表示背景移除目标的时间,两个值都可以根据具体的情况和场景来选择。
4 实验结果与分析
为了测试算法的性能,本文选择了复杂的室外环境为场景来进行实验,并重点针对条件多变的情况下和目标运动信息不足时背景的自适应更新。本文采用的第1段视频序列来自PETS(IEEE International Workshop on Performance Evaluation of Tracking and Surveillance)2001 Dataset 1 Camera 1 Image。实验测试平台为:CPU酷睿双核1.73 GHz,2 Gbyte内存,Windows7操作系统。测试代码在MATLAB7.6上编译运行,其中参数设置为α=10,β=0.9。
1) 室外复杂条件下背景更新
物体进入背景后静止,如果一段时间后仍然不变需要将其融入到场景中,而要完全融入到背景中需要1.5~2倍的Tadd时间,如图3所示。对于比较复杂的运动,单靠时间阈值去判断就会出现错判,如图4所示,一辆车缓慢的移入到背景中然后慢慢地掉转方向朝另一个方向行驶。由于车辆缓慢运动而且车身纹理相似,图4d中可以看到车辆区域内有部分融入到背景中,可以用增大Tadd的方法来解决这部分问题,但是对于要融入背景的物体将要增加更多的时间才能融入,造成大量的虚检目标,影响真正前景目标的检测。本文中在考虑目标整体性的基础进行背景的更新,从图4e中可以看到在不改变Tadd的前提条件下,很好地解决了该问题,而且通过对比图4b和图4c可以发现融入的速度更快。
2) 运动信息不足条件下背景更新
下面一段测试视频2中,两个人进入场景后停下来,只有身体的部分在运动,而且运动信息不是连续的,然后在一个小范围内活动。在文献[11]中也提到过该类问题,在前景检测时没能很好地处理该类问题,应用本文提到的算法可以在背景更新时解决这类问题。下面针对这一问题用本文的算法和文献[4]进行对比,如图5所示。从对比测试的结果来看,本文的算法能更好地处理这一类问题。
3) 时间耗费分析
下面主要对本文算法的时间耗费进行分析。与传统码书模型相比,增加的时间耗费主要在目标的空间信息提取部分,但是这里仅仅提取了视频图像中运动目标的空间信息,而且本文算法与传统算法相比不再更新处理非潜在的背景码字,在一般情况下大部分时间和大部分前景都不需要处理,只在很少的时间才考虑场景的更新,这样就减少了前景码字每次更新这部分时间。通过与传统算法对比,用视频2进行测试,背景平均码字为1.146个,背景更新完成后本文平均码字为1.267个,传统平均码字为2.573个,减少了背景的平均码字数,提高了系统效率。
5 总结
本文提出了一种自适应的码书模型背景更新算法,主要致力于快速准确地更新背景模型,以及在目标运动信息不足时有效处理背景,同时辅助前景目标的检测。通过引入空间信息来联合控制模型更新,不仅提高了信息利用率,更重要的是显著改善了检测效果,提高模型对背景变化的适应能力。在背景稳定更新的条件下,减少了背景更新的时间,提高了模型对背景变化的响应速度,保证目标检测的完整性。其背景更新效果的鲁棒性和准确性已经在实验中得到证实。
本文算法的有效性和准确度有赖于运动目标空间信息的正确提取。研究中只利用了空间位置信息,且没有做阴影去除处理,这在一定程度上影响了算法效果。如果能结合目标纹理特征将更准确地提取空间信息,效果可能会更好。
参考文献
[1]代科学,李国辉,涂丹,等.监控视频运动目标检测减背景技术的研究现状和展望[J].中国图象图形学报,2006,11(7):919-927.
[2]STAUFFER C,GRIMSON W.Learning patterns of activity using realtime tracking[J].IEEE Trans.Pattern Analysis and Machine Intelli-gence,2000,22(8):747-767.
[3]ELGAMMAL A,HARWOOD D,DAVIS L.Non-parametric model forbackground subtraction[C]//Proc.the 6th European Conference onComputer Vision,Part II.London:Springer-Verlag,2000:751-767.
[4]KIM K,CHALIDABHONGSE T H,HARWOOD D,et al.Real-time fore-ground-background segmentation using codebook model[J].Real-TimeImaging,2005,11(3):167-256.
[5]HEIKKILA M,PIETIKAINEN M.A texture-based method for modelingthe background detecting moving objects[J].IEEE Trans.Pattern Analy-sis and Machine Intelligence,2006,28(4):656-662.
[6]徐成,田睁,李仁发.一种基于改进码本模型的快速运动检测算法[J].计算机研究与发展,2010,47(12):2149-2156.
[7]李波,袁保宗.基于码书和纹理特征的运动目标检测[J].信号处理,2011,27(6):912-917.
[8]LIU Feng,GLEICHER M.Learning color and locality cues for moving ob-ject detection and segmentation[C]//Proc.CVPR.Miami.[S.l.]:IEEE Press,2009:320-327.
[9]KUNTIMAD G,RANGANATH H S.Perfect image segmentation usingpulse coupled neural networks[J].IEEE Trans.Neural Networks,1999,10(3):591-598.
[10]徐正光,鲍东来,张利欣.基于递归的二值图像连通域像素标记算法[J].计算机工程,2006,32(24):186-188.
[11]LIU Yazhou,YAO Hongxun,GAO Wen.Nonparametric backgroundgeneration[J].Journal of Visual Communication and Image Representa-tion,2007,18(3):253-263.
背景自适应 篇2
运动车辆实时检测已成为交通监控领域的热点研究课题,然而,由于受自然环境的影响,使得运动目标检测相当困难。目前,对运动目标检测的方法主要分为三大类,分别是背景减除、帧间差分和光流背景减除,其基本思想是利用背景参考模型建立背景图像,然后与输入图像做差分,最后利用差分结果来检测运动目标,同时对背景图像进行实时更新以适应环境的变化[1,2]。Stauffer等人对每个像素利用混合高斯分布模型建模,并且利用在线估计的方法来更新背景模型,从而克服光照变化等干扰的影响,但是它的计算代价较高[3]。非参数背景模型用若干帧的像素值作为样本对像素亮度的概率密度进行在线估计,其检测效果优于混合高斯模型,然而计算量却进一步加大,难于实时应用[4];Tian等人建立了自适应混合高斯背景模型,虽然可以有效地检测到光线的变化,但并没有利用此信息来进行背景更新[5]’;Hanzi Wang等人提出了一种基于统计原理的背景建立方法,但是对复杂的场景检测效果并不理想[6]。帧间差分法是利用连续两帧或几帧图像的做差结果检测运动目标,并通过阈值化方法提取图像中的运动区域[7,8]。Meier等人利用两帧差分法从视频序列中检测出运动目标,进而用于目标的跟踪和分类[7]。帧间差分法当检测表面光滑而且运动较慢的目标时,往往检测到的前景目标是不连通的碎片,这对后续处理是不利的。第三种方法是光流法,该方法运算复杂,计算量大,并且抗噪性差,因此,不适于实时性和抗噪性要求很高的交通目标检测[9]。因此,本文提出了一种基于中值背景模型和自适应阈值的运动目标检测方法。该方法运算速度快,克服了固定阈值对光照变化难以适应的问题,并且采用了新的背景更新策略,使得背景有更强的鲁棒性。与全局背景更新方法相比,有效地减少了运算时间,实验结果证明了该方法的有效性.
1 运动目标分割方法
1.1 背景图像的建立
基于背景减除法检测运动车辆,需首先对背景建模,获得背景图像,这是背景减除法至关重要的一步。彩色图像在RGB颜色空间中,图像序列的第n帧某一像素点(i,j)的颜色向量可以表示为:
式(1)中,XRi,j[n]、XRi,j[n]、XRi,j[n]分别为像素点(i,j)的红色、绿色和蓝色分量。
背景图像的建立需要首先连续采集N帧图像,然后对N帧图像每个像素点的三个颜色通道求取中值,作为获得背景图象中该像素点的对应分量值,如式(2)所示。
其中,medianXRi,j[1…N]为像素点(i,j)1到N帧的R通道中值,BXi,j[N]=为背景像素点(i,j)的颜色向量。
即使所采集的N帧图像中有运动目标存在,仍然可以获得一个理想的背景模型。其中,N的选取可视场景的复杂情况而定,N越大,获得的背景越接近真实的背景,但是这需要较大的内存开销和较长的运算时间.
1.2 运动区域提取方法
最大类间方差法(Otsu)是一种受到广泛关注的阈值选取方法,其判决准则是基于灰度直方图的一阶统计特性,计算简单,运算速度快,对于直方图呈双峰状的图像具有很好的分割效果[10]。然而,当直方图为单峰或近似于单峰时,该方法失效。针对差分后图像的特点,笔者提出了一种改进的二值化方法,称为选择最大类间方差法s Otus(selective Otsu),该方法可以获得更好的分割效果.
其基本思想是:将差分图像Dn分为大小相同的K个互不重叠的图像块,然后对每一个图像块Bk,k={1,2,…,K}进行变化检测。如果该区域包含了运动区域,则利用最大类间方差法求取该块的阈值Tk,否则不求取该图像块的阈值。图像的全局阈值Tn为各个运动区域阈值的平均值,即:
式(3)中,M为包含运动区域的图像块数目,Tn就是最终进行图像二值化的阈值。图像块Bk运动检测通过计算其归一化直方图的一阶矩mk来进行判断。
式(4)中,Hi为Bk的归一化灰度直方图中灰度级i所对应的频数,max为该块中最大的灰度级。如果mk大于一个阈值Tm,则认为其包含了运动区域,否则认为不包含运动区域。在包含运动区域的图像块中,非零的像素可能是由于光线的变化或噪声等引起的,所以,对于不同的图像块,Tm都是一样的,其中Tm可以简单地取为整幅图像的一阶矩。值得注意的是,阈值Tm和阈值Tn之间没有任何直接的联系。
利用该方法提取前景目标的过程描述如下:由当前帧与背景图像作差,获得差分图像d,然后对差分图像d的每一个颜色通道利用s Otsu方法进行二值化,即:
式(5)中,tr、tg和tb分别为r、g和b三个通道二值化的阈值,dr、dg和db分别为差分图像d的r、g和b通道。分别进行二值化后的前景二值图像分别为mr、mg和mb,然后将这三个前景图像进行或操作,得到最终的前景二值图像m:m=mr∨mg∨mb。
1.3 背景模型更新算法
目前,主要的背景模型更新算法有混合高斯法、一阶Kalman滤波法等等[12,13]。其中,混合高斯法运算量比较大而且噪声点多,对后续处理有一定影响;一阶Kalman滤波法对背景变化的响应速度较慢,难以处理光线的突变。由此,本文提出了一种可以克服光照突变与前景背景相互转化影响的背景更新算法。
算法首先需要建立一个用于背景更新的图像序列存储区,每隔n帧保存一张图像到存储区,当存储区中图像的数目达到了预先设定的帧数K,则开始更新背景。这里采用有别于传统的背景更新方式,旨在合理地提高背景模型对背景变化的响应速度,达到克服光照变化与前景背景相互转化的影响。具体的更新策略如下:
(1)某点在连续m帧中被当作背景,则对该点进行背景更新,即对图像序列存储区K帧图像中该点的K个对应点的每个通道求取中值,作为新的背景,这样可以有效消除光照的影响。
(2)某点在连续m帧中被当作前景,认为此点成为长久停留目标的一点,则对该点进行背景更新,通过对图像序列存储区K帧图像中该点的K个对应点的每个通道求取中值,代替原背景中此点的灰度值,这样可以消除目标长时间停留造成的影响。
而存储区中的图像序列也处于不断更新中,当存储区中的图像数达到了预先设定的数目之后,将每隔n帧获得的图像压入该存储区,同时将该序列中最先获得的图像丢弃,从而形成一个先进先出的图像数据队列。系统的背景更新算法流程如图一所示:
2 实验结果分析
为了验证算法的有效性,通过采集某路段交通场景下的视频序列进行了实验研究,同时与目前广泛应用的混合高斯模型算法结果进行比较。实验选取视频图像的分辨率为320×240,实验环境为Pentium(R)2.80GHz CPU,256MB RAM,所有源程序均由C++编写。建立初始背景时N取为50帧,用于更新背景的图像序列数K也取为50,图像二值化时分为3×3块。对于混合高斯模型,每个像素的模型数选为5,为了清楚比较运动检测效果,所有的运动检测数据没有经过任何的后续处理,实验结果如图二、图三、图四和图五所示。其中图四(a)、四(b)、四(c)分别为对应的混合高斯模型检测到的结果,其中,白色的部分代表运动的车辆,而图五(a)、五(b)、五(c)分别为笔者算法检测到的运动车辆的二值图像。
为了评价算法的性能,采用均方误差的二次方根作为评价指标。该值越小,说明车辆检测的误检率越小,目标检测算法的性能越好,其计算公式如下:
式(6)中,h和w分别为图像的高和宽,G为理想的前景图像,F为待分析的图像。在本实验中,两种方法的RMSE和运行时间如表一所示。
从实验结果可以看出,本文方法的值比混合高斯模型更小,通过背景的自动更新与自动阈值相结合,可以获得比混合高斯模型更好的检测效果,降低了误检率.
在运行速度方面,由于混合高斯模型需要为图像中的每个像素建立数个高斯模型,并且需要不断地对每一个像素的模型进行更新,计算开销较大。而笔者方法是基于灰度直方图来选取阈值,并且背景的更新是根据运动检测的结果有选择地更新,因此,运算速度大大提高。从表一的统计结果看,本文算法能处理每秒30帧图像的序列,可以满足实时交通视频检测系统的技术要求。
图三(a)是在摄像机发生轻微抖动的时候拍摄的,从对应的检测结果图像四(a)中可以看出,混合高斯模型方法将本来静止的路边电线杆和砖块当成运动目标检测出来。而从图五(a)中可以看出,抖动干扰对检测结果产生了影响,但噪声已明显降低,这是由于本文算法对运动目标的边缘分割更精确,并且自适应阈值对目标的边缘噪声起到了一定的滤波作用,显示出算法良好的鲁棒性。从图五中可以看出算法检测的运动目标轮廓更接近真实轮廓,而混合高斯检测的结果会出现严重拖尾现象,这使得图四中远处的车辆出现了粘连。同时,本文方法与一阶Kalman背景更新方法进行了对比,本文方法对光照突变的响应为73ms,而一阶Kalman更新方法为134ms。因此,本文方法在响应速度方面优于一阶Kalman背景更新方法。
3 结束语
为了适应复杂环境下运动车辆实时检测的要求,本文提出了一种简单而有效的运动检测方法。该方法首先通过抓取数帧视频图像建立背景模型,利用改进的自适应阈值法得到二值化图像,然后根据前景图像动态地更新背景。由于自适应阈值直接由差分图像的直方图得到,其运算速度较快,使得目标检测的时间以及效果优于混合高斯模型方法。同时,背景及时有效的动态更新使得算法对不同的光线变化都可以找到最佳的阈值。实验结果证明该方法具有良好的自适应性和较强的鲁棒性.。
摘要:针对复杂交通场景中运动车辆检测方法存在的局限性,本文提出了一种基于中值模型和自适应阈值的运动检测算法。利用自适应阈值对差分图像的三个颜色通道进行二值化处理,实现了运动目标的精确检测,采用中值更新策略实现背景图像的实时更新。实验结果表明,算法可以从复杂交通场景图像序列中有效地检测出运动目标,且算法计算量小,具有良好的鲁棒性与实时性。
关键词:车辆,运动目标,检测,自适应阈值
参考文献
[1]Y.Ivanov,A.Bobick,J.Liu,Fast lighting independent background subtraction[C].IEEE Workshop on Visual Surveillance,1998:49-55.
[2]韩鸿哲,王志良.基于自适应背景模型的实时人体检测[J].北京科技大学学报,2003,25(4):384-386.
[3]C.Stauffer,W.E.L.Grimson.Adaptive background mixture models for real-time tracking[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1999,2:246-252.
[4]A Elgammal,D Harwood,L Davis.Non-parametric model for background subtraction[C].Proceedings of the6th European Conference on Computer Vision.Dublin,Ireland,2000:751-767.
[5]Y.L.Tian,M.Lu,and A.Hampapur,Robust and efficient foreground analysis for real-time video surveillance[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2005,1:1182-1187.
[6]Hanzi Wang and David Suter,Background Subtraction Based on a Robust Consensus Method[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2006,1:223-226.
[7]T.Meier,K.N.Ngan.Video segmentation for content-based coding[J].IEEE Trans.on Circuits Systems for Video Technology.1999,9(8):1190-1203.
[8]M.Kilger.A shadow handler in a video-based real-time traffic monitoring system[C].Proceedings of IEEE Workshop Application Computer Vision.CA:IEEE,1999:1060-1066.
[9]A Lipton,H Fujiyoshi,R Patil.Moving target classification and tracking from real-time video[C].Proceedings of IEEE Workshop on Applications of Computer Vision.Princeton,NJ,1998:8-14.
背景自适应 篇3
目前, 常用的运动目标检测方法有时间差分法、背景减除法和光流法。下面分别来阐述一下3中运动检测方法的具体内容。时间差分法就是利用图像序列中前后几个相邻帧图像之间的差分来提取出图像中的运动区域。将当前帧与前一帧 (或前2~3帧) 在像素域上进行相减, 得到绝对差分图像后, 再按照设定的阈值通过二值化来分离出前景和背景。背景减除法是目前运动目标检测最常用的一种方法, 它是利用当前帧图像与背景图像的差分来检测出运动区域的一种技术。光流法是空间运动物体对观测面上的像素点运动产生的瞬时速度场, 包含了物体3D表面结构和动态行为的重要信息。
1 改进的运动目标检测方法
根据上文分析可知, 时间差分法对于动态环境有很好的适应性, 但不能完整的提取目标的所有相关点;背景减除法能够较完整的提取目标点, 却又对光照和外部条件造成的动态场景变化过于敏感;而光流法其固有的模糊性使得计算复杂且实时性较差。针对这些问题, 学者们提出了许多的改进方法。
1.1 Kim的运动目标检测方法
基于以上目标检测方法的优点和不足, Kim提出的一种运动检测方法, 在利用连续两帧图像差的同时又加入了背景图像差, 将两者结合起来, 比较精确地提取了二值运动模板。
在Kim方法的变化量的检测中, 灰度级的变化量不仅用到了连续两帧图像的差分图像, 而且还用到了当前帧和背景图像的差分图像。通过将两个差分图像结合起来用于运动目标检测, 既避免了时间差分法的两帧图像目标重叠部分检测不出来和检测出目标在两帧中的无用信息 (即伪运动信息) 的问题, 又解决了背景差分法的受外界环境的容易受影响的问题, 所以Kim方法能够比较精确的提取运动目标的二值模板。
1.2 背景减除法与时间差分法加权平均的目标检测方法
实验证明, 采用Kim改进方法得到的二值运动模板图像, 其目标的内部出现较多被误判为背景的运动信息点, 难形成一个完整的目标轮廓和保证运动目标的连通性, 运动信息点损失较多。为了解决Kim方法的不足之处, 有人提出一种采用了背景减除法与时间差分法加权平均的目标检测方法, 能够较为精确的提取运动目标轮廓。
背景减除法与时间差分法加权平均的目标检测此方法是将连续两帧差分图像和背景差分图像直接相乘, 再将相乘的结果阈值分割得到运动检测结果, 这样就达到了加大了目标信息的权重而抑制了静态背景的效果, 所以得到的运动检测图像要比Kim方法得到的图像包含有更多目标的信息, 不仅包括目标轮廓而且还有目标轮廓内的目标相关点。但在实际应用中, 一幅“纯净”的背景图像是很难得到的, 通常的做法是当场景中无任何目标时采集一幅图像作为背景图像, 然而随着时间的推移, 外界的环境会发生变化, 如光照和摄像机移动等, 这时背景图像也会发生变化, 因而这种方法, 只适合应用于外界条件较好的场合。
2 基于背景模型的自适应的运动目标检测方法
背景建模时由于缺乏先验知识, 仅将输入图像与背景的差异作为目标提取的手段, 这种方式使得人们很难设计一种鲁棒的背景模型, 同时解决真实环境中可能出现的干扰, 如雨、雪、风、光照突变等。针对上述方法存在的问题, 本文介绍了一种自适应的背景建模方法, 这种方法就是通过前景检测场景中的运动目标, 然后进一步提取目标特征, 将运动目标分为人、车、噪声干扰等, 其中自适应指背景的初始化和背景的自动更新。
2.1 背景模型的初始化
本文提出的背景模型是基于像素的, 利用背景图像在时域上的稳定性假设观测到每个背景像素的值都是一个独立的随机过程。由于在较长时期内, 背景中每一个像素的颜色值稳定分布在某一个确定值域内, 所以它的颜色值的分布可以用高斯分布来表示。构造背景模型阶段的任务就是估计出背景中每个像素的均值和方差, 确定其高斯分布的形式。假设颜色向量中各分量的分布是独立的, 这样每一维分量分别服从一维的高斯分布。初始阶段采用非背景的视频序列进行高斯建模, 得到一个初始背景可以通过背景的样本序列来估计出背景模型中每个像素的颜色分量的均值和方差。在背景图像的初始化算法中, 我们在一段较长的时间段内计算视频序列图像每一像素的平均亮度µ0及像素亮度的方差δ02, 由µ0和δ02组成的具有高斯分布的图像b0作为初始的背景估计图像, 即B0=[µ0, δ02]。
经典算法中, 高斯模型方差参数的更新是一个降函数, 且收敛于一个接近零的小数, 这说明随着时间积累到一定程度, 背景的随机过程的描述越来越趋向于稳定[2]。但由于现实环境中存在噪声、光线、摄像机发生变化的情况, 致使这种高度稳定对下一时刻相同位置的检测容易发生误判, 因此应该不对σ2进行更新, 即在方差收敛到初始值的一定百分比时, 设定一个下限来限定模型进入过度的稳定状态。
2.2 背景模型的更新
在基于背景模型的运动目标检测中, 背景模型的准确与否直接影响目标的检测的结果。随着时间推移背景会发生变化, 如光照变化、背景物体移入移出等, 背景模型必须不断更新以反映这些变化和干扰现象, 以便得到接近于真实背景的估计图像。
当背景估计图像的初始化完成后, 随着新图像的到来, 需要使用下列公式不断自适应地更新背景图像参数, 得到更新后的背景估计图像为Bt=[µt, σt2]。主要思想是通过检测到的背景点来调整背景模型, 使得背景模型实现随时间进行自动更新。
背景更新的频率是依照光照变化的速率而定的, 光照变化率定义如下:
式 (1) 中, θ为当前颜色矢量与背景矢量的夹角;B (q) 为背景模型在当前位置处的亮度值;I (q) 为当前帧在此位置的亮度值。当λ大于一定阈值时, 便开始更新背景模型。在根据光照更新背景模型的同时, 若有物体移入、移出背景且变化持续很长时间, 则需以当前时间段内的亮度重新初始化模型。其中前景灰度模型是通过前景各像素点的灰度概率直方图表示的, 自动更新是通过一个固定长度的帧队列结构来进行的, 监控视频的帧随时间顺序进人、退出该队列, 通过该队列中的帧的前景像素的灰度值对上述灰度概率直方图进行调整。
摘要:运动目标检测是智能视频监控系统中的一项关键技术。常用的目标检测方法有时间差分法、背景减除法和光流法。本文针对Kim提出的改进的目标检测方法和一种背景减除法与时间差分法加权平均的运动目标检测方法的不足, 介绍了一种基于背景模型的自适应的目标检测方法。
背景自适应 篇4
This paper addresses the problem of detecting small targets with very small spatial extent that are masked by spatially strong background clutter in image data.The scheme of detection is divided into two steps.The first step is prediction and suppression of strong background clutter.The second step is target detection with matched filter.
Leonov et al[1]summarized some kinds of nonparametric spatial filter for clutter estimation.Soni et al[2]and NQ[3]used TDLMS adaptive filter to obtain a background estimate of spatially varying clutter.Yu et al[4]used morphological algorithm to estimate clutter.When clutter had been estimated,detecting the small targets in the image sequence suppressed the clutter was the troublesome problem,too.At present,the TBD(track before detection)algorithms were the mainstream of dealing with this problem.Chen Y et al[5]proposed the projection-based detection algorithm.
This paper proposed a novel adaptive algorithm for prediction of background clutter,which was based on minimum cumulating-squared error(MCSE)of gradients in neighborhood.And then,this paper adopted a fas detecting algorithm based on statistical analysis,and detected the small targets from complicated infrared image Theoretic analysis and experiments proved that the algorithm of this paper was an effective method for detection of small targets from strong background clutter of images.
2 Cumulating-squared Error of Gradients in Neighborhood
Define Cumulating-Squared Error(CSE)function in neighborhood as following equation(1):
Where,(x+Δx,y+Δy)denoted neighborhood of pixel(x,y),and(x+Δxi,y+Δyi)(i=1,2…)was the each pixel in neighborhood.The image model could be represented as:
Where,IB(x,y,t)was background of image,IO(x,y,t)was target,N(x,y,t)was additive noise.The CSE of spatial gradient in neighborhood could be represented as formula(3):
Formula(3)implied that the CSE of gradients in neighborhood would be increased,when background of image polluted by additive noise or background of image included the target.
3 Background Clutter Adaptive Prediction
3.1 Clutter Prediction Algorithm
This paper proposed a new gradient-based adaptive prediction algorithm for clutter.The image had been partitioned into blocks Bmn(mn=1,2,…),which size was M×N(pixels).Supposing brightness of pixel(x,y,t)was equal to d(i),d(i)=I(x,y,t)(i=1,2,…MN;(x,y)∈Bmn),the neighborhood sizes of d(i)wasΔx×Δy pixels.Supposing the brightness of pixels in neighborhood was X(i)=[x1(i),x2(i),…xL(i)]T(i=1,2,…MN;L=ΔxΔy-1;Δx
Where,W was weight,and W=[w1,w2,…wL]T↔Bmn,namely,it was one-one correspondence between W andBmn.Supposing Reference to methodof least squares,introducing the cost function,it could be represented as equation(8).
In the equation(8),λwas oblivious factor,andλ∈(0,1).The optimal filtering problem of image came down to the following optimal problem with nonrestraint.
And then,the brightness of background was predicted as equation(7):
3.2 Optimal Weight Coefficient
Introducing the vector of M×N dimension,vdex=[dexT(1),dexT(2),…dexT(MN)]T;vdey=[deyT(1)deyT(2),…,deyT(MN)]T.In fact,the dimension of vdex and vdey was both 1×(M×N×L).Then,introducing thevector of M×N dimension,X=[XT(1),XT(2),…XT(MN)]T,NX=[X1(1),X2(1)…XL(1),X1(2),…XL(MN)]T,andΛ=Diag[λMN-1,λMN-1,…λMN-1,λMN-2,…1,1,…1].The dimension of vector X was 1×(M×N×L).However,NX wasmatrix,the order of NX was L×(M×N×L),Λwas diagonal matrix,the order was(M×N×L)×(M×N×L)Introducing the vector of cross correlation and matrix of autocorrelation,rx=(∂NX/∂x)Λ(∂X/∂x)T ry=(∂NX/∂y)Λ(∂X/∂y)T,Rx=(∂NX/∂x)Λ(∂NX/∂x)T,Ry=(∂NX/∂y)Λ(∂NX/∂y)T.
According to gradient formula of vector,from equation(6),it could get equation(8)
3.3 Detection of Target
In order to detect the target effectively,the clutter should be suppressed.Then,the tracks of targets should be cumulated.We integrated the image sequence,such as following equation.
gotten by background clutter adaptive prediction.And theσk is the variance ofε(x,y,k).We assumed that the target was in the k1th frame,then,FI(x,y)can be represented as following equation:
Where,A was gray of target,B was gray of background,εn(x,y,k)was gray of Gaussian noise.Supposing the motion of targets is linear motion in several frames.In neighborhood of FI(x,y),which size is n×n pixels(n≤m),the pixels in lines should be cumulated.If Fline(x,y)is track of targets,it included two parts,such as following:
Where,RT line(x,y)obeyed the non-centric Chi-squared(χ2)distribution with n degree of freedom,and non-centric parameter was n×SCNR2;R n line(x,y)obeyed the Chi-squared(χ2)distribution with n×(m-1)degree of freedom.According to Neyman-Pearson algorithm,we could distinguish the targets from noise.First,according to m and the false alarm probability of system(pfa),checking up the table of Chi-squared(χ2)distribution,we could get the threshold THD;Second,when Fline(x,y)>THD,it is target,otherwise,it is noise.
4 Performance of system
4.1 Performance of Clutter Prediction
Fig.1(a)is an infrared image,witch size is 250 pixels×200 pixels.We added 20 small targets into image a random,which size is 3 pixels×3 pixels.Using the algorithm of this paper,we suppressed the clutter of the image Computing the SCNR,such as table 1,it had demonstrated that the algorithm of this paper had excellent performance of background clutter prediction.The mean gain of SCNR is 6.77 d B.
Using Symmetric filter,TDLMS filter,Morphological filer and Method of this paper to Suppress the clutter.Check up the SCNR of each target in remnant image.,such as Table 2.Observing Table 2,and comparing SCNRvia clutter suppressing by various methods,it was evident that the clutter suppression algorithm introduced by this paper was more excellent performance than others.The mean gain of SCNR improved against other methods,respectively,2.94d B,3.73d B and 3.99d B.
4.2 Performance of Detection
Supposing,H0:Fline(x,y)was noise;H1:Fline(x,y)was target.H0 obeyed the Chi-squared(χ2)distribution with nm degree of freedom.Because the probability density functions of F line(x,y)on H1 is very complex.However we could use the stochastic variable to fit function P[Fline(x,y)|H1],which had same 1th order and 2th order moment as P[Fline(x,y)|H1].
Defined a function y=cx2,where,x2 obeyed the Chi-squared(χ2)distribution with k degree of freedom.Namely,x2∼χ2(k),then,E[y]=ck,D[y]=2c2k.Assume that E[y]=E[Fline(xy)|H1],D[y]=D[Fline(x,y)|H1],we could get following equation:
So,the probability of detection was represented as:
This paper adopted the ROC(receiver operating characteristic)curve to test the performance of detection system.Because n≤m,in simulation of this paper,we had defined n=m.Fig.2(a)is performance curve in different SCNR based on m=5.In practice,when n=m=5,if SCNR>6,the detecting performance of system could be accepted.Fig.2(b)is performance curve in different m based on SCNR=5.From Fig.2(b),we had concluded that m is bigger,and the performance is more excellent.However,m is bigger,the system load is bigger.
5 Experimentation
In the experiments,five moving targets which size was 3×3 pixels had been added into the image,which size was 250×200 pixels,simultaneously,Gaussian noise had been added into the image.Fig.3(a)is a frame in this sequence.In Fig.3(a),we hardly to distinguish the targets from the strong background clutter.In the experiments,the false alarm probability of system(pfa)was 10-6,the result indicated that the entire target can be detected in single image,but on the condition of single image,false targets would happen,such as Fig.3(b).In the white pane the white points were targets,and other white points were false alarm targets.Fig.3(c)was detecting result of multi-frame images,where,m=n=5.The result indicated that all the targets could be detected,and false alarm targets had been wiped off.
6 Conclusion
An effective adaptive algorithm of background clutter prediction for detecting small targets in image data was proposed in this paper.Many experiments had demonstrated that the algorithm could improve SCNR of targets,and the performance was more excellent than traditional algorithms.The detecting algorithm based on multi-frame had prominent performance on suppression of false alarm targets.
参考文献
[1] LEONOV S. Nonparametric method for clutter removal [J] . IEEE Trans. AES,2001,37(3):832-847.
[2] Tarun Soni,James Zeidler R,Walter H Ku. Performance Evaluation of 2-D Adaptive Prediction Filters for Detection of Small Objects in Image Data [J]. IEEE Trans. On Image Processing,1993,2(3):327-339.
[3] NQ L N. Detection of small target in IR image sequences using VSLMS [C] // Proc. of SPIE,Signal and Data Processing of Small Targets 2004. Orlando,FL,United States:SPIE,2004,5428:37-47.
[4] YU Nong,WU Hao,WU Chang-yong,et al. Morphological neural networks for automatic target detection by simulated annealing learning algorithm [J]. Science in China,2003,46(4):262-288.
自适应花盆 篇5
现在很多人喜欢在家养一些花花草草, 不过, 这些美丽的生命需要在精心的照顾下才能开放出美丽的花朵。但当你因种种原因而无法按时给花草浇水时, 过不了几天, 这些花草就会因为缺水而枯萎。于是我设计了一个特殊的花盆:在花盆底部放置一个隔板将花盆分隔开, 在底部形成一个储水槽。当主人在家时, 每天浇水时可适量多浇灌一些, 多余的水分会渗过土壤流进事前设计好的储水槽中保存起来。等到主人无法按时给花草浇水, 土壤过分干燥时, 储水槽内的水就会顺着引水装置被干燥的土壤吸收, 从而润湿土壤。花盆的口部有一个有孔封口, 它可以限制植物生长范围, 有了它就可以在最大限度上减少水分蒸发。
点评:作者从实际需要的角度出发, 能够积极地思考生活中的点滴问题, 并通过创意、设想进而解决问题。但在设计中还没有很好地将设想设计出来, 还可以进行一步改进, 以提高其实用性。
自适应混合入侵防御 篇6
关键词:自适应,入侵防御系统,异常分类器,签名过滤系统,指令集随机化
1 引言
由于信息安全与网上信息对抗的需求,使得如何增强计算机系统和网络系统的安全性的研究成为了举世瞩目的焦点[1]。网络防御系统的目标是预先对入侵活动和攻击性网络数据进行拦截,避免其造成损失[2],但一个关键问题是网络防御系统对攻击行为不能自动做出一个可靠的,有针对性的及适应性的反应[3]。当溢出被一些未曾见过的攻击利用时,这个问题将会被放大。网络防御系统通常是由基于网络的IDS(Intrusion Detection System)的和包过滤防火墙组成,由于这些这些系统本身的缺点,使它们难以确定和描述新的攻击并智能化的应对它们。
由于IDS只能被动的检测攻击,而攻击防范往往是留给防火墙的任务。当然成功阻止一次确定的攻击通信需要一个灵活和明确的策略,此外大量的网络流量与签名进行匹配往往需要专业的硬件设备并假设这些签名准确的存在。另外加密流量和隧道流量成了IDS和防火墙共同的问题,因此无论是IDS还是防火墙都无法确定一个数据包在终端主机被进行了怎样的处理,从而导致它们做出错误的决定[4]。
这些阻碍促使我们将安全控制策略的放置更接近终端主机(例如,分布式防火墙)[5]。这种方法对系统安全性的保护不仅有利于企业级网络,而且还包括那些家庭网络用户。这种“纵深防御”表明传统的外围防御(如:防火墙)已被应用到基于主机的防护机制中。本文设计了这样一个系统,它采用混合异常检测及签名检测的方案,自适应地应对新的攻击。
2 自适应混合防御系统关键部件及技术
2.1 混合检测
一般情况下,检测系统仅仅依赖于签名并不能启用防御系统来应对前所未见的攻击行为。另外,基于异常的分类器可以识别新的行为,但往往无法分辨以前所未见的这些行为是“好”还是“坏”。这个盲点通常会导致较高误报率,并要求这些分类器进行过大量的训练。
混合检测系统以入侵防御系统IPS(Intrusion Prevention System)为基础:是一个有自动反应能力来阻止攻击行为的系统。我们的混合系统的核心是一种基于异常的分类器,它结合反馈信息调整其模型并自动生成已知恶意行为的签名。我们的异常检测是基于PayL[6],但也可用于其他分类器[7]。
对于一个混合系统最大的障碍是反馈信息的来源。理想的情况下,它应该是自动化的并且对用户是透明的。例如,对垃圾邮件分类器的反馈可能是用户在自己的电子邮件点击按钮,通知客户端的邮件服务器,以考虑将其归类为垃圾邮件或不适当的电子邮件。这种反馈循环是一个网上监督式学习的实例,它将监督负担分配给了每一个系统用户。我们系统的反馈机制加强了无监督的网上学习。信息来源是基于X86模拟器,STEM[8],即以指令集随机化增强保护系统进程。
2.2 指令集随机化
ISR是创造一个独特的运行环境的过程并以此有效地阻止代码注入式攻击。创建这种环境的目的是在这个指令集执行一些可逆转换。
因为攻击者通过精心设计与所预期的执行环境相匹配,致使攻击者不会轻易改变他的攻击代码,而攻击代码与特殊环境的不匹配致使攻击代码在特殊环境执行无效,从而导致攻击失败。ISR方法以前已被证明在阻止代码注入式攻击上的成功[9,10],这种技术通常与空间地址混合来阻止“跳成libc”攻击。
指令集随机化需要执行环境有能力以终止在运行时随机的或解码的二进制指令流。对于机器代码,这一要求意味着,要么处理器硬件包含解码逻辑,要么该处理器以软件的形式出现。
ISR的实践形式,使我们能捕获注入代码和与它相关的被列为异常的输入。Barrantes等人[11]表明,在一些控制流字节切换(两个或三个指令)到注入代码的过程中,代码注入攻击被保护的二进制文件失败。因此,在程序停止执行时,指令指示器(有很高的几率)表明此代码是恶意代码。我们可以提取这些代码,并传送给我们的过滤器来创建一个新的签名并更新我们的分类器的模型。
3 设计与实现
FLIPS的设计基于两个主要部分:应用程序监管框架和过滤代理。该设计的一个主要目标是保持系统的模块化并可扩展部署在一个主机上。(图1显示了这种设计的高级视图。)受保护的程序可以是一个服务器等待请求或是接收客户端程序的输入,如果被视为恶意的将被过滤代理丢弃。如果监控器检测出被保护的程序出现了错误,这标志过滤器在更新其签名和模型。
过滤代理的主要功能是对输入进行评分和分级并选择性的进行丢弃,代理则是两个主要分类方案的混合。基于特征的过滤器可以对某个请求进行评分和丢弃如果它与已知的恶意数据相匹配,而基于异常的分类器则可以对输入程序进行评分和丢弃如果它超出了正常的模型范围。
应用程序监管框架的主要功能是阻止溢出,修复可能被利用的漏洞,并将溢出信息汇报给过滤器和分类器。监管框架可以包括些基于主机的监控器,由它们提供给代理各种补充的反馈信息。我们的原型实现是基于一种提供与代码注入式攻击有关信息的监控器。
请求从过滤代理通过,如果被认为是恶意的将被丢弃。包过滤防火墙为应用程序提供保护,只允许本地代理实例连接应用程序。应用程序处理这些请求并通过代理传回响应。如果某个输入引起代码注入攻击,监管框架会将注入代码连接到代理,代理将会更新其模型和签名。
3.1 HTTP代理和Pay L
HTTP代理是一个简单的对每个输入请求产生一个新的线程实例的HTTP服务器。在服务程序中,代理调用一系列对H T T P请求的过滤器对象。我们的默认过滤器执行维护三个基于签名的过滤器和一个分类器对象。PayL实现了分级界面以对每个基于异常的H T T P请求给予标记。当代理启动时,它创建一个PayL实例并提供给PayL一个traffc文件样本用以改进。
我们构建了一个HTTP代理(Apache)以保护HTTP服务器免受恶意请求的攻击,代理通过调用三个过滤机制及P a y L来决定如何处理每一个H T T P请求。
过滤器实现的核心是将其划分为两个子程序,checkRequest()程序执行基本过滤和分类工作。它维持4数据结构用以支持过滤功能。第一个为“可疑”输入要求清单(由PayL确定)。这一清单作为一个缓存为匹配以证实的恶意输入提供了良好的反馈机制,但值得注意的是,此清单并不用于删除请求。其余的数据集合形成一个三级过滤结构,在权衡复杂性的同时更加积极的实现过滤。这些清单并不是通过PayL确定而是通过反馈机制产生。第一层的过滤为直接匹配。该过滤器是最实惠的,即使略有质变但它却最有可能阻止恶意请求。第二个过滤器是一个反向查找过滤器,它们的存储请求由PayL的评分来决定。最后,由最长公共子串过滤器来提供昂贵但却是捕获恶意请求的最有效手段。
第二个组件作为代理的反馈机制,它是一个后台线程监听,关注来自于S T E M所包含的恶意二进制代码,此线程仅读取一个字节并检查它们是否与我们先前所熟知的“可疑”输入相匹配(如PayL分类),如果不是,那么该线程将会把检测范围扩大到之前见过的包含那些缓存较小的所有请求。匹配是目前最常用的子算法,如果匹配成功,则该请求将被用在上述筛选数据结构。如果没有,以此恶意字节序列为基础,一个新的请求将被创建并写入过滤器。
我们的监管架构是一个应用级程序库,它提供了一个模拟器在去随机性指令流和底层硬件正常执行的指令流之间自由切换的能力,如图3所示,将要被仿真的代码段将4个特殊标签包裹起来。
此程序为一个使用S T E M标签的实例。
STEM是一个x86模拟器,可以有选择地调用任意的代码段,允许我们在同一进程内部混合仿真及非仿真的执行。模拟器允许我们监测当执行指令时的随机处理错误,撤销由内部代码故障引起的内存变化,并模拟一个从上述调用函数返回的错误,我们的一个主要假设是我们能够在错误和异常集之间建立一个映射,这种错误和异常可能出现在程序的执行以及该程序代码处理的错误集。
3.3 ISR技术
主循环由仿真器读取,解码,执行以及每次撤销一个指令组成,在抓取指令之前每一项是随机发生的,由于x86架构包含可变长度的指令,在指令流翻译出足够的字节是解码成功的关键。否则,可能会产生无效的操作。为了使问题简化,我们假设每个指令的最大长度为(16字节)。16位字XOR'd伴随16位密钥,并复制到缓冲区。获取/解码函数读取缓冲区和提取一个指令。伴随处理指令的准确长度程序计数器是递增的。如果指令在1 5字节或更少的情况下,不必要的去随机将会发生,但这是可变长度指令不可避免的一个副作用。如果注入的代码位于执行路径的任何位置,异或函数会将其转换为一个非法操作码或指令,这样将会访问无效的内存地址。如果在仿真过程中发生异常,S T E M将会通知在指令指示器中的代码服务器,STEM每捕捉1KB的代码将会打开一个简单的TCP套接字代理,然后STEM将模拟一个从函数处返回的错误。
4 模拟实验
我们目的是表明主动防御和签名相结合是有价值的,甚至是一个相当优化的代理执行。我们的评估主要有三个目的:
1.表明该系统能够很好的进行分类。
2.表明该系统可以在端至端间执行。
3.表明该系统具有相对良好的性能。
第一个目标是为PayL计算出完整的ROC曲线。第二个目标是通过一个端对端的实验检验该系统检测攻击的速度。记录过滤器捕捉到的攻击字节,建立适当的过滤规则,并终止下一个此攻击实例。我们像代理发送由同样攻击组成的请求流并测量代理过滤的时间。第三个目标是测量代理服务器处理两种不同H T T P痕迹的额外时间。
Apache2.0.52作为一个简单的修改配置文件的基本生产服务器实例,关闭“KeepAlive”的属性设置,然后,一个简单的awk脚本重建HTTP请求。代理服务器由JAVA编写,与Linux平台下Sun JDK 1.5.0,并在Linux平台下Sun JVM 1.5.0上运行。代理服务器运行在双核至强2.0GHz处理器,1GB内存,操作系统为Fedora Core 3,内核版本2.6.10-1.770 FC3smp。生产服务器平台运行在双核至强2.8 H z处理器,1 G B内存,操作系统为Fedora Core 3,内核版本2.6.10-1.770FC3smp。代理服务器与生产服务器通过一个千兆以太网交换机连接,实验进行前对服务器进行重置,同样数据进行重复进行10次实验。
我们通过运行Apache web服务器和执行微基准测试在一些shell实用程序上,以此来评估STEM的性能。我们选择Apache flood httpd实验工具,以评估和比较非仿真和仿真的Apache版本处理请求的速度。在实验中,我们通过已处理的请求总数来决定测量性能,如表4所示,每秒处理请求的总数是由在一小段时间内所发送、处理的请求推测得到,而并不是意味我们的Apache实体每秒能够承受6000次请求。"emurand"符号表明STEM的(随机仿真)使用。
我们选择了一些常见的公式并测量有S T E M和没有S T E M情况下大负荷工作不同试验类型的性能。如预想中的一样,在仿真大部分应用时会对性能有很大影响。实验表明,仅在仿真潜在易受攻击的代码部分时存在明显超越整个系统仿真性能的情况。
PayL是一个基于内容的异常检测器。为了在FLIPS混合PayL,采用PayL在HTTP上的请求。在网络要求上测试PayL运营的有效性,收集了5MB的HTTP协议。这个数据集合有多种红色代码和其他恶意要求。作为底线标准,可以人工识别恶意入侵。接收机工作特性曲线如图4。
从图中可以看出,关于HTTP的PayL的分类结果比较普通。当所有的红色编码和尼姆达疑问被成功的防御,仍有许多看起来不是异常的入侵的查询,PayL不能辨认。如果P a y L工具来观察整个HTTP请求,包括实体自身,结果将更精确。PayL本身并不能保护服务器,并且需要更多的信息来调整其模型。
5 结束语
传统的入侵检测系统侧重于查明试图攻破计算机系统和网络。现有的入侵检测,无论是基于主机的IDS还是基于网络的IDS,在很大程度上都依赖于网络管理员的能力和直觉,需要人工地调整入侵检测系统。攻击事例和管理员的经验是入侵检测中最为重要的两个方面,IDS的开发与升级需要攻击事例和管理员经验这两方面长时间的原始积累。
我们提出FLIPS入侵防御系统,采用了异常分类组合方式和签名匹配二进制代码块注入攻击,此种混和式检测系统的反馈由STEM来提供,x86模拟器能够将指令集的执行随机化(ISR)。STEM可以识别插入的代码,自动恢复的攻击,并将攻击代码提交给异常和签名分类器。我们已经展示了FLIPS如何发现,制止,修复,并创建一个以前未知的攻击签名。虽然我们只展示了FLIPS对HTTP服务器保护的实现,然而FLIPS的机制也广泛适用于基于主机的入侵防御。
参考文献
[1]孙宇.网络入侵防御系统(IPS)架构设计及关键问题研究[D].天津:天津大学,2005.
[2]刘才铭.基于免疫的多通道入侵防御模型[J].计算机应用研究,2008,2(25):.
[3]R.E.OVERILL.How Re(Pro)active Should an IDSBe?In Proceedings of the 1st International Workshop onRecent Advances in Intrusion Detection(RAID)[C].Septem-ber 1998.
[4]M.HANDLEY,V.PAXSON,and C.KREIBICH.Network Intrusion Detection:Evasion,Tra?c Normalization,and End-to-End Protocol Semantics[C].In Proceedings ofthe USENIX Security Conference,2001.
[5]S.IOANNIDIS,A.D.KEROMYTIS,S.M.BELLOVIN,and J.M.SMITH.Implementing a Distributed Firewall.InProceedings of the 7th ACM International Conference onComputer and Communications Security(CCS)[C],2000,11:190-199.
[6]K.WANG and S.J.STOLFO.Anomalous Payload-based Network Intrusion Detection.In Proceedings of the 7thInternational Symposium on Recent Advances in IntrusionDetection(RAID)[C].,2004,9:203-222.
[7]C.KRUGEL,T.TOTH,and E.KIRDA.Service Spe-cific Anomaly Detection for Network Intrusion Detection.In Proceedings of the ACM Symposium on Applied Com-puting(SAC)[C],2002.
[8]S.SIDIROGLOU,M.E.LOCASTO,S.W.BOYD,andA.D.Keromytis.Building a Reactive Immune System forSoftware Services.In Proceedings of the USENIX AnnualTechnical Conference[C],2005,(6):149-161.
[9]E.G.BAntes,D.H.Ackley,S.Forrest,T.S.Palmer,D.Stefanovic,andD.D.Zovi.Randomized Instruction SetEmulation to Distrupt Binary Code Injection Attacks.InProceedings of the 10th ACM Conference on Computer andCommu-nications Security(CCS)[C],2003,10.
[10]G.S.Kc,A.D.Keromytis,and V.Prevelakis.Coun-tering Code-Injection Attacks With Instruction-SetRandomization.In Proceedings of the 10th ACM Confer-ence on Computer and Communications Security(CCS)[C],2003,10.
自适应信号采集系统设计 篇7
在工业控制和智能测量系统中, 一般信号的变化幅度大, 若采用单一的放大增益, 小信号经放大器放大后, 幅值仍然很小, 经A/D变换后, 会影响数据的精密度, 而大信号放大后又有可能超出A/D转换的量程, 因此设计开发增益自动可调的程控增益放大器, 使允许输入的模拟量在很大的范围内动态可调, 方便与微机接口, 已成为现代测控设备的必然要求。
二、自适应信号采集系统的组成
自适应信号采集系统由差动放大电路、共模抑制电路、双端单端转换电路和程控增益放大电路组成, 是一种连续程控调节电路。
差动放大电路由运算放大器Ⅲ、Ⅳ (OP27) 组成, 在差动放大电路和双单转换电路之间增加了共模抑制电路, 以运算放大器Ⅴ (OP27) 为核心构成。
单双转换电路由运算放大器Ⅰ、Ⅱ (OP27) 组成, 它将单端输入信号转换成双端输出信号, 提供较高的共模抑制能力。
衰减器电路由U6 (8位DAC转换器DAC0832) 和运算放大器U 7 (OP27) 组成。
三、自适应信号采集的方法
可自动控制增益放大器可以用D/A转换器和运算放大器实现, 调试容易, 外接元件少, 可以方便地和计算机接口。放大器增益的线性好、精度高, 既可放大又可衰减, 动态范围达100dB以上。
信号通过传感器, 输入到固定增益放大器。因为输入为单端信号, 所以在固定增益放大器的前端, 要接上一个单端变双端转换电路, 此电路由两个同型号运算放大器组成, 一个做同相放大器, 即信号跟随器, 另一个做反相放大器。信号经前级放大后, 增益是不可变的, 手动调节输入或运算放大器的电阻, 既不方便又不精确。所以, 加一个衰减器和控制器, 通过控制器给衰减的反馈信号, 控制衰减器的衰减倍数, 来实现增益的自动控制。衰减器由D/A转换器和一个运算放大器组成, 运算放大器在衰减器中的作用使D/A转换器的输出电流信号变换成电压信号, 方便传输给电压转换器。控制器由A/D转换器、FPGA控制器和电压比较器组成。
四、基于FPGA的控制器简介
FPGA (现场可编程门阵列) 是新型的可编程逻辑器件, 内部含有大量的门阵列, 相应时间端, 可以精确的控制时钟的输出。FPGA的处理数度很块, 完全适合采集速度比较高的场合。更重要的是FPGA采用系统可编程技术, 即使整个数据采集系统已经投入生产, 也可以根据实际情况改变系统的配置和功能, 下载到FPGA芯片中即可完成功能的修改。在本设计中使用的是Altera公司的EP1K30FPGA芯片。
五、FPGA的配置
FPGA正常工作时, 它的配置数据存储在SRAM中, 由于SRAM的易失性, 每次加电时, 配置数据都必须重新下载。FPGA器件由两类配置下在方式:主动配置方式和被动配置方式。主动配置方式由FPGA器件引导配置操作过程, 它控制着外部存储器和初始化过程;而被动配置方式则由外部计算机或控制器控制配置过程。
专用配置器件通常是串行的PROM器件。大容量的PROM器件也提供并行接口, 按可编程次数分为两类:一类是OTP (一次可编程) 器件;另一类是多次可编程的。ALTEAR提供了一系列FPGA专用配置器件, 即EPC型号的存储器。
配置器件的控制信号 (如, Ncs、OE、和DCLK等) 直接与FPGA器件的控制信号相连。所有的器件不需要任何外部智能控制器就可以由配置器进行配置。配置器件的OE和Ncs引脚控制着DATA输出引脚的三态缓存, 并控制地址计数器的使能。当OE位低点平时, 配置器件复位地址计数器, DATA引脚位高电阻。当Ncs置低点平后, 地址计数器和DATA输出均使能。OE再次置低电平时, 不管Ncs处于何种状态, 地址计数器都将复位, DATA引脚置为高电平。
实际应用中, 常常希望能随时更新器件中的内容, 但又不希望再把配置器件从电路板上取下来编程。ALTERA的可重复编程配置器件, 如EPC2就提供了在系统编程的能力。图2为EPC2的编程和配置电路, EPC2本身的编程由JTAG接口来完成, FPGA的配置可既可由ByteBlasterMV配置, 也可用EPC2来配置, 这时, ByteBlasterMV端口的任务是对EPC2进行ISP方式下载。
六、仿真实验
采用Multisim仿真软件, 该软件是一个完整的设计工具系统, 提供了一个非常大的零件数据库, 并提供原理图输入接口、全部的数模Spice仿真功能、VHDL/Verilog设计接口与仿真功能、FPGA/CPLD综合、RF设计能力和后处理功能, 还可以进行从原理图到PCB布线工具包 (的无缝隙数据传输。它提供的单一易用的图形输入接口可以满足设计需求。
在Multisim2001的主窗口中, 建立新文件, 需要对电路窗口的有关选项进行设置, 这样有利于电路图的搭接和打印。电路窗口的设置包括图纸的大小、是否显示栅格、页边缘和标题栏、电路图选项设置和元器件符号设置。
把元器件进行合理的布局以后, 就可以开始连线了。Multisim2001提供两种连线方式:手工连线和自动连线。在本仿真过程中, 选择用手动连线。本仿真过程中, 使用了函数信号发生器、示波器。
经仿真软件的仿真, 结果符合设想的要求, 但是在实际应用过程中, 因为外界干扰条件的存在, 所以还得考虑采用上面介绍的抗干扰方法。
七、结论
本文提出的这种设计方案理论上分析和仿真结果表明:该系统能够通过FPGA控制衰减器来完成对输入信号的放大, 提高系统的精度, 实现可自动调节放大倍数。促进系统性能的改善和提高, 具有较高的应用价值。
摘要:本设计应用现场可编程门阵列 (FPGA) 控制实现对放大器增益进行预置和自适应控制, 全面提高了采集数据的精度和检测信号的动态范围, 提高了系统的可靠性。
关键词:自适应,运算放大器,FPGA,仿真
参考文献
[1]谢自美:电子线路设计[M].武汉, 华中科技大学出版社, 2000.6