实时放行检测(精选3篇)
实时放行检测 篇1
摘要:PHP Webshell是一种使用PHP编写的可以在web服务器中执行的网站后门文件。现有网站采用的基于特征匹配检测和网络流量分析的webshell检测方法难以检测经过变形或加密的webshell。本文提出了一种基于PHP扩展的webshell实时动态检测方法, 该方法基于PHP扩展对PHP代码的编译执行进行监控并结合外部输入变量的标记追踪、黑白名单机制来进行webshell的实时动态检测。
关键词:webshell检测,PHP扩展,实时动态
0 引言
在web服务器上上传Webshell是网站攻击者常见的用来控制web服务器以进行进一步进行渗透的方法, 对webshell进行检测和防御是进行网站安全防御和降低网站损失的重要方法[1]。现阶段针对PHP webshell的检测技术主要分为两类, 即静态特征检测技术和动态特征检测技术[2]。静态特征检测是指不需要代码运行, 根据文件中是否存在常见的恶意字符串特征结合文件的信息熵等特征进行检测;动态特征检测是指在通过在WAF中对网络流量进行分析来检测和防御webshell。这两类webshell检测方法 都难以有 效检测经 过混淆变 形或经过 加密的webshell。
鉴于现阶段检测PHP webshell的方法的不足, 本文分析了PHP代码运行的流程和各种webshell变形在PHP内核中的特征, 提出了一种基于PHP扩展的webshell检测和防御方法。该方法在PHP扩展中通过对PHP代码的编译和运行进行监控, 结合对外部输入变量的标记追踪和黑白名单机制, 可以实时有效的检测webshell和阻止webshell的运行。该方法不仅可以检测webshell还可以阻止webshell的运行。
1 PHP 原理
1.1 PHP 生命周期
PHP在web容器上的运行方式主要有三种:以模块加载的方式运行;以CGI方式运行;以Fast CGI的方式运行。不管采用哪种方式运行, PHP程序的生命周期都需要经过模块初始化阶段、请求初始化阶段、代码执行阶段、请求结束阶段、模块结束阶段, 如图1。不同运行方式的区别是生命周期中各个阶段执行的频率和次数。
1.2 PHP 代码执行流程
PHP是解释型语言, 代码需要被翻译成中间字节码后由ZEND引擎进行解析执行。PHP代码的执行流程主要包括:词法分析、语法解析、代码编译、opcodes (中间字节码) 执行四个步骤。词法分析是指将PHP代码转换为语言片段, 语法分析是将语言片段转换成简单而有意义的表达式, 代码编译是指将表达式编译成opcodes, opcodes执行是指zend虚拟机执行opcodes并将结果输出。其详细的执行流程如图2。
1.3 PHP 内核 hook 机制
对PHP函数进行hook是指在PHP内核中通过函数重写或修改编译函数来达到改变对PHP函数运行进行监控以获取函数运行时的参数。PHP的函数分为两种, 一种是Zend提供的函数, 如eval;一种是PHP_FUNCTION宏编写的函数, 如shell_exec。其中Zend提供的函数可以通过修改编译函数zend_compile_string的方式来进行HOOK;PHP_FUNCTION宏编写的函数可以通过操纵函数表进行重写来进行hook。除了这两种方法, PHP内核还提供了通用的HOOK方法, 即使用zend_set_user_opcode_handler修改中间字节码对应的处理函数。
2 Webshell 常见变形
Webshell本质上是可以执行恶意功能的PHP代码文件。Webshell为了执行恶意功能, 其代码结构主要由两部分组成:数据传递部分和数据执行部分, 如图3。数据传递部分是指webshell中用于接收外部输入数据的部分, webshell可以根据外部输入数据来动态交互式执行恶意功能。数据执行部分是指webshell中用于执行恶意功能的函数, 如代码执行的eval函数、命令执行的system函数。
在基本的webshell中, 数据传递主要通过$_GET、$_POST、$_COOKIES等变量传递或者直接写入代码中, 数据执行主要通过使用eval或assert进行代码执行或直接调用功能函数进行执行。为了绕过检测机制, 各种webshell都在基本webshell上采取相应的变形, 变形的方法根据其变形的部分主要分为两种:数据传递部分的变形和数据执行部分的变形。
数据传递部分的变形主要有:
将数据放入服务器外部文件中, webshell读取文件获取执行数据。
(1) 将数据放在远程服务器上, 通过curl/file_get_contents等函数获取远程URL中的执行数据。
(2) 将数据放入数据库, 通过读取数据库获取执行数据。数据执行部分的变形方法主要有:
(1) 使用preg_replace函数的/e修饰符进行代码执行。
(2) 使用支持回调机制的函数进行代码回调执行。如:array_map, array_filter, array_reduce等。
(3) 使用变量函数进行函数执行。
(4) 使用匿名函数进行函数执行。
(5) 利用反射函数Reflection Function进行函数执行。
3 PHP webshell 实时动态检测
PHP webshell实时动态检测是一种基于PHP扩展通过对PHP代码的编译和执行进行监控并结合外部输入变量标记追踪、黑白名单机制来进行webshell检测的方法, 主要包含五个模块:变量标记追踪、禁用函数hook检测、危险函数hook检测、编译函数重载检测、数据库黑白名单[4]。
3.1 变量标记追踪
在PHP扩展中可以通过PG (http_globals) 变量获取脚本运行时通过GET、POST、COOKIE方式传递的参数内容。变量标记是指对PG (http_globals) 里保存的字符串变量进行特征标记。变量追踪是指对简单字符串处理函数如strval、explode进行hook, 当函数参数是标记的变量时也对函数结果进行变量标记。
PHP中的字符串变量的值存储在zvalue_value结构体中, 保存有字符串指针和字符串的长度, PHP内核是根据保字符串的长度来读取字符串内容。可以通过将字符串变量的所占内存扩大后, 在字符串的值后添加标记特征的方式来将字符串变量进行标记。由于字符串长度没有修改, 通过这种方式进行变量标记不会修改字符串的值。在进行变量标记检测时, 只要检测字符串指针在长度之后的内容是否是标记特征就可以。
3.2 禁用函数 hook 检测
在PHP的配置文件中, disable_functions参数主要用来设置禁用PHP危险函数。禁用函数hook检测是指在模块初始化阶段, 读取配置文件中disable_functions参数后在函数表中添加针对这些函数的自定义实现。在PHP代码执行阶段, 如果自定义函数被调用, 说明PHP页面中运行有危险函数。如果该PHP脚本不在数据库白名单中, 那么可以判定该PHP脚本就是webshell, 检测过程如图5.
3.3 危险函数 hook 检测
Webshell要执行恶意功能, 如命令执行函数、文件目录操作, 必须要调用相应的功能函数。危险函数hook检测就是指对能执行命令、目录操作等危险功能的函数进行hook后检测函数执行时的参数, 如果危险函数执行的参数是恶意的或者经过变量标记的, 且没有出现在白名单中则认为该文件是webshell文件, 检测过程如图6。需要进行hook的危险函数主要有:
(1) 命令执行类:passthru、system、popen、exec、shell_exec等。
(2) 文件系统函数:fopen、opendir、basename、dirname、file、pathinfo、scandir等
( 3 ) 数据库操 作函数 : mysql_query、mysqli_query、sqlite_query、sqlite_single_query等。
(4) 回调函数类:array_map, array_filter, array_reduce、usort、uksort、array_walk等。
(5) 反射函数:Reflection Function
3.4 编译函数重载检测
编译函数重载检测是指在模块初始化阶段重载编译函数以检测是否有eval或assert代码块的执行, 并对eval/assert代码块的内容进行正则匹配来检测是否有恶意代码。其中eval代码块在编译结果的filename中有eval () 'd code标记, assert代码块则有assert code标记。
检测过程如图7.
3.5 数据库黑白名单
为了减少对webshell的漏报和误报, 采用黑白名单机制。即用户可以添加网站的正常页面进白名单, 在进行webshell检测时如果在白名单中就跳过检测;用户可以添加某些目录进黑名单, 则进行webshell检测时如果检测到执行文件在黑名单中则认为是webshell并报警处理。
4 实验结果
为了验证该PHP webshell实时动态检测模型是否能够有效检测并阻止webshell, 本人收集了较为流行的各种webshell, 包括一句话webshell及变形、普通变形webshell、加密webshell, 与网站安全狗、Avira Antivirus一起对比查杀, 检测结果如图8.
从结果表中可以看到基于PHP扩展的PHP webshell实时动态检测框架可以无视PHP代码是否进行加密, 能够优于网站安全狗、Avira Antivirus来检测并防御大多数的webshell。只要尽可能的覆盖更多检测函数, 可以达到接近100%的查杀率, 缺点是需要消耗较多的系统资源。
5 结束语
本文在分析了PHP代码运行的原理和各种webshell变形后, 提出并实现了一种基于PHP扩展的webshell实时动态检测方法, 该方法能够高效的检测出各种webshell。在网站中利用该方法进行webshell检测与防御可以有效的保证网站的安全运行。
参考文献
[1]张红瑞.Web Shell原理分析与防范实践[J].现代企业教育, 2013 (20) :254-255.
[2]孟正, 梅瑞.Linux下基于SVM分类器的Web Shell检测方法研究[J].技术研究, 2014, 5:5-9
[3]胡建康, 徐震, 马多贺, 等.基于决策树的Webshell检测方法研究[J].网络新媒体技术, 2012, 1 (6) :15-19.
[4]浅谈从PHP内核层面防范PHP Web Shell[EB/OL], http://sebug.net/, 2011.7.24
实时放行检测 篇2
来源:中国论文下载中心
作者:王文清,王昌富,袁琳,彭长华,常武
【摘要】 检测限是检测方法的重要性能指标,用Poisson分布的概率函数分式计算一次抽样检测出现的结果推论总体出现该结果的概率。以实时荧光定量PCR(FQPCR)检测乙型肝炎病毒DNA结果为例,计算可知,一次抽样反应管的检测结果≥4时,才可推论总体与0(空白)差异有显著性(P<0.05)。因而检测血清中病原体时扩增反应管中的检测限是4拷贝/ul计算也可知,1拷贝/ul表示一次抽样的结果为0的概率可达0.368,结果在0拷贝/ul~4拷贝/ul的概率为0.996,而1000拷贝/ml表示一次抽样结果为0的概率为0。结果在905拷贝/ml~1 095拷贝/ml的概率为0.997;而100 000拷贝/L表示一次抽样结果在997 000拷贝/L~1 003 000拷贝/L的概率为0.997。抽样单位ul不能随意放大为ml甚至L。
【关键词】 实时荧光定量PCR;检测限;统计推断
Statistical Conclusion of Limit of Quqntitation in Realtime Fluorescence Quantitative PCR
Abstract:Limit of quantiation is a important performance index of assay methods.Results of sample drawing are calculated through possiblity function equation of Poisson distribution,then the possibility of results emerged in population is deduced.For example,in Realtime Fluorescence quantitaive PCR to assay HBV DNA,only when sample drawing results≥4,significance of difference(P<0.05)could be deduced between population and blank.So limit of quantitation is 4 copies/ul denoting 0 in one sample drawing is 0,and Possibility of results between 905 copies/ml to 1095 copies/ml is 0.997.Possibility of 100 000 copies/L denoting results between 997 000 copies/L to 1 003 000 copies/L in one sample drawing is 0.997.Sample drawing unit ul could not be replace by ml or L.Key words:Realtime Fluorescence quantitative PCR;Limit of quantitation;Statistical conclusion
检测限是检测方法的重要性能指标,只有在检测报告中明确表达了检测方法的检测限,该检测报告在各实验间及同一项目的各种检测方法间才可进行比较。能检测到的最低分析物浓度为检测系统的检测限。当前,检测限术语混乱,如:灵敏度(sensitivity)、分析灵敏度(analllytical sensitivity)、定量限度(limit of quantitqtion)等[1]。每个词语的实际含义中包含有各自的实验方式、数据处理方式及由数据作出的推论等。我们采用统计学方法,以期得到一致的实时荧光定量PCR(Realtime fluorescence quantitative polymerase chain reaction,FQPCR)检测限,现介绍如下。
文献中FQPCR检测限的描述
检测乙型肝炎病毒DNA的文献中检测限使用了“最低检出量”[2,3]、灵敏度[5~7]等术语,它等于已知的高拷贝HBV DNA血清10倍系列稀释后能检测到扩增曲线的最大稀释倍数管浓度。表述有:阴性HBV DNA≤106拷贝/升[4];荧光定量PCR法检测灵敏度102拷贝/ml[5]、104拷贝/ml[6]、8.6×102拷贝/ml[7];HCⅡ法检测灵敏度1.4×105拷贝/ml[7];103 Eq/ml理论值时到达检测极限[3];PCRFP检测HBV DNA的最低检测出量1×101拷贝[2];bDNA在105 Eq/ml时到达检测极限[3]。以上检测限术语各不相同,且同一方法检测HBV DNA在上述各实验室发出同样的“HBV DNA低于检测下限”的报告时其实际HBV DNA拷贝数相差可达100倍。
FQPCR检测过程简介
以测定血清乙型肝炎病毒DNA为例:将40 μl血清样本加40 μl DNA提取液处理后,将其中2 μl(相当于1 μl血清)加入主反应液(含DNA引物、酶、DNA构件分子dNTP等)管中,在自动热循环上进行温度循环,自动热循环仪记录每一反应管在每一次温度循环的荧光强度,记30次温度循环后结束。在PCR循环过程中,每个反应管内的荧光信号到达设定的域值时所经历的循环数称为Ct值(Cyclethreshold),它与反应管中DNA起始拷贝数的对数值(lgN)呈非常显著的直线相关关系。自动热循环仪对标准样品自动生成一条Ct值对于起始拷贝数值(lgN)的工作曲线,并通过该工作曲线来确定待测未知样品反应管的起始拷贝数(N)。当30次循环后某一待测管仍检测不到高于基线水平的荧光信号时,仪器默认Ct值为30,不计算起始拷贝。确定FQPCR检测限的统计学原理
如果被检物的含量和检测方法的空白响应量的波动服从正态分布规律,则检测限可用多次检测空白的方法来确定。可信限为95%时检测限=x空白+2.s空白;可信限为99.7%时检测限=x空白+3.s空白。这是目前多数检测限的确定方法。对核酸检测方法的检测限的理解可能与此有差别,但是原理应是一致的[1],FQPCR检测限也应是推论总体与空白有统计学差异的最小抽样结果。
FQPCR检测限的统计推断
假设病原体在血液等体液中的分布是随机的,则单位体积中(如1.0 μl)病原颗粒数的分布服从Poisson分布。以Poisson分布的概率函数公式计算一次抽样检测出现的结果推论总体概率。从理论上来说,使用PCR测定技术测定病原体核酸序列的量可低至1个拷贝[2]。例如:血清标本中加入等量的DNA提取液,于离心管中煮沸,4 ℃放置,离心,吸取上清液2 μl作模板 进行扩增检测(2 μl上清液相当于抽样1 μl血清)[2],其中至少有1个拷贝的HBV DNA才能有典型扩增反应,这时检测结果是1拷贝/μl。由Poisson分布的概率函数公式可计算出1次抽样检测结果出现0时,推断总体为1~9的概率见表1。
表1 总体为1~9时抽样为0的概率及总体(略)
在FQPCR检测HBV DNA中,当30次循环后某一待测管仍检测不到高于基线水平的荧光信号(即当Ct≥30),反应管检测结果为0时,推论总体拷贝数为1~9的概率之和>0.581 92,总体为其他的概率之和<0.5(此时报告0拷贝的可信限度低于50%)。总体为1时一次抽样结果分别为1~9时的概率见表1。当一次抽样结果≥4时,推论总体为1的概率≤0.015 33,所以对于病原体的检测,一次抽样反应管检测结果≥4拷贝时,才可推论总体与0(空白)差异有显著性(P<0.05)。因而上述检测血清中病原体时一次抽样反应管的检测限是4拷贝/μl。当总体为1、2、3时一次抽样结果为0的概率分别是0.367 88、0.135 34、0.049 79。如室间质量评价样本靶值选择1拷贝/μl、2拷贝/μl、3拷贝/μl时,无论实验室实际检测质量如何高,都将有36.79%、13.53%、4.98%的实验室检测结果为0而被判为不符合[按靶值的对数值GM±0.5 log(10)[9]作为可接受的定量范围]。2005年卫生部室间质量评价中靶值为1.51拷贝数/μl的样本符合率仅35.2%;Mancini C 等[9]报道一些实验室对检测下限附近的样本(3.00 log IU/ml)准确定量有困难;Raggi CC等[10]也报道28.6%的实验室(12/42)对最低浓度的样本不能定量。这些都是因为检测下限附近的样本一次抽样结果为0的概率太大所致,对此我们将另文详细讨论。造成上述文献中检测限差异较大的可能原因如下:用于10倍系列稀释的已知高拷贝HBV DNA血清本身拷贝数的差异;对检测限的理解差异,由一次抽样没能检测到典型扩增的稀释血清管推论总体浓度为0的可信度太低(<50%);抽样单位的任意放大:在上述HBV DNA检测中,抽样单位是1 μl血清[如血清前处理过程中有抽提(浓缩)过程,取2 μl上清液相当于实际含12.5 μl血清,则抽样单位也只是12.5 μl],而报告结果的单位是ml甚至L。当总体为1拷贝/μl时表示一次抽样结果为0的概率达0.368,结果在0拷贝/μl~4拷贝/μl的概率为0.996;而总体为1 000拷贝/ml时表示一次抽样结果为0的概率为0,结果在905拷贝/ml~1 095拷贝/ml的概率为0.997(Poisson分布总体>50时近似正态分布,范围是X±uα*√X,可信限为99.7%时uα=3);总体为100 000拷贝/L时表示一次抽样结果在997 000拷贝/L~1 003 000拷贝/L的概率为0.997。文中推理以HBVDNA的FQPCR检测为例,其他病源体核酸的FQPCR检测也与其相同,检测限是抽样反应管的检测限4拷贝/反应管;如反应管中加入模板量相当于12.5 μl血清则检测限相当于0.32拷贝/ μl。此推断仅是针对FQPCR技术本身的检测限度,未就临床上有意义的最小病源体核酸的拷贝数进行讨论。【参考文献】
遗失目标的实时检测算法 篇3
关键词:视频监控,遗失目标检测,背景更新,证据图像,实时处理
0 引言
作为智能视频监控的重要任务之一,对遗失目标的检测在很多领域有着广泛的应用。尤其面对日益增加的公共场合(如机场、车站及仓库等)安全需求,遗失目标的实时检测可辅助监控人员及时排除这些场合的潜在风险。针对该任务,已有一些方法[1,2,3,4,5]被陆续提出。文献[1]结合跟踪算法和相机模型,得到目标在三维世界坐标系下的运动轨迹以提取如速度、方向和目标之间的距离等特征,并利用贝叶斯推理框架识别丢失的行李。在监控场合中通常存在目标之间的相互遮挡,这给遗失目标的检测造成很大的困难,而融合多相机的信息[2,3]成为解决遮挡问题的有效途径,但是精确的相机模型要求往往阻碍了这类方法的实际应用。文献[4]通过分析目标全局的和内在的运动信息检测静止的前景。对于特定类型的遗失目标(如背包),利用监督学习[5]对目标进行识别也往往是一种可行的途径,不过这类方法的可扩展性能较差。在文献[6]中,作者从语义分析的角度来判定遗失目标的出现。文献[7]在混合高斯背景建模[8]的基础上通过观测各高斯分布的状态迁移来检测进入视场后静止的目标,然而混合高斯模型需要大量的训练背景和较大的计算需求,难以满足实时的应用。类似地,文献[9]在码本背景建模的基础上通过记录背景的更新次序实现对新静止的目标的检测。
本文就遗失目标的检测问题提出了一种实时的算法。首先,将像素级背景更新方法[10]进行扩展,提出采用双重背景以提取双重前景。然后,综合分析像素级运动特性和双重前景以指导背景的更新。最后,为了去除虚警及适应实际场景中不可避免的遮挡情形,采用累加证据的方式构造出随着时间不断更新的证据图像并证实最终的遗失目标。将该算法应用到多个不同的视频序列中,实验结果表明其能够在嘈杂的场景下有效地检测出遗失的目标,并且达到实时运算的性能。此外,本文还进行了与文献[9]中的检测算法的比较实验。
1 背景更新
减背景方法即将当前帧图像与参考背景相减,由于简单而被广泛用于视频监控中运动目标的检测,但如何维持背景的更新是该方法面临的主要问题。由于目标运动引起的像素值变化通常快于背景的变化,因此通过帧间差分可检测出快速运动的目标,但对于纹理和颜色均匀的目标,帧间差分将失效。像素级背景更新方法[10]综合了以上两类方法的优点,引入动态矩阵来决定某像素何时需要被更新入背景。记It(x,y)为t时刻输入图像在(x,y)的像素值,Ft和Dt分别表示t时刻的差分图像和动态矩阵。
其中:r表示用于帧间差分的时间间隔,Tf是判定像素是否变化的阈值,λ表示允许某像素连续无变化而不被更新入背景中的最长时间。
尽管以上像素级背景更新方法很好地解决了背景更新问题及克服了帧间差分的缺点,但是实际场景中,各目标运动速度可能不同,这给λ的选取带来了困难。若λ较小,缓慢运动的目标可能被错误地更新到背景中,一旦该目标离开(如突然加速),将导致虚警出现。并且对于遗失目标的检测问题,即目标进入视场后变为静止,此时,不论如何选择λ的大小,该静止的目标最终将被更新入背景中,从而造成无法检测出这一静止的前景。
为了克服上述困难,本文提出同时维持双重背景即当前背景BCt和原始背景BOt,其中当前背景用于运动前景的检测,当有新的目标被更新入当前背景时,将相应的先前的当前背景信息保存到原始背景中,当旧的目标离开,及时地将保存在原始背景中的信息恢复到当前背景中,从而解决了因目标被错误地更新入背景导致的虚警问题,同时,原始背景中保持了新静止的目标静止之前的背景信息,这样有利于遗失目标的检测。
将当前帧图像It与BCt相减检测出当前前景FCt,将It与BOt相减检测出原始前景FOt。
其中Ts是判定像素是否属于前景的阈值。
综合当前前景FCt、原始前景FOt及动态矩阵Dt得到背景更新过程如下:
1)若FCt(x,y)=1,FOt(x,y)=1且Dt(x,y)=0,说明有新的静止目标,更新当前背景并将相应的先前的当前背景信息保存到原始背景,即
2)若FCt(x,y)=1且FOt(x,y)=0,说明旧目标离开,将保存在原始背景中的信息恢复到当前背景,即
3)若FCt(x,y)=0,FOt(x,y)=0且Dt(x,y)=0,说明为“纯净”的背景,直接更新双重背景,即
2 证据图像累加
遗失目标进入视场变为静止之后,它将被更新入当前背景,但原始背景中保存了先前的背景信息,因此,当前前景中不能检测出遗失目标,而原始前景恰好相反,同时结合动态矩阵中的状态信息便可检测出这一静止的前景,然而假如直接依赖于这一规律进行决策,将检测出过多虚假的静止前景。在此,通过累加证据去除虚警并证实最终的遗失目标。设Et为t时刻的证据图像,证据积累过程如下:
其中:Emax表示允许像素被标记为遗失目标的最小时间。一旦Et(x,y)=Emax,则判定像素属于遗失目标。Emax可按照期望的响应时间进行选择,且选择较大的Emax可相应地降低虚警率。此外,在实际的监控场景中,遮挡问题是难以避免的,而证据图像为处理这类问题提供了有效的手段。当遗失目标被其他运动目标遮挡时,按照式(8),证据图像中对应被遮挡的部分将逐步减少。随着遮挡的结束,对应遗失目标的那部分证据将不断增加,直到该目标再次被检测出来。
3 实验结果
为了验证本文提出的算法的有效性,在此采用两个监控场景下的视频序列进行遗失目标的检测实验。在所有的实验中,参数设置为:Tf=15,Ts=30,r=1,λ=50,α=0.1。另外,对于第一个序列,Emax设为90,对于第二个序列,Emax设为2 000。
图1为320×240的地铁车站场景下的视频序列,该序列给遗失目标检测带来的困难体现在:列车进出站导致的场景变化及光照的明显变化,行人的遮挡。第一行给出的是本文算法的检测结果,在2 605帧遗留的箱子被完全检测出,在2 868帧由于行人的遮挡,箱子暂时失去检测,随着遮挡离去,如2 997帧所示箱子又逐渐被检测到,至3 100帧其再次被完全检测出。第二行为对应的证据图像,恰当地反映了场景的实际变化,同时也验证了证据图像处理虚警和遮挡问题的能力。需要指出的是,在检测结果中,仍有少许的虚警(如3 100帧所示),不过可以通过后处理移除,如去除面积较小的单元等。第三行为码本建模的检测结果,虽然对应箱子的部分被检测到,然而因为码本建模算法缺少虚警处理机制,导致对应列车的部分也被误检为遗失的目标且对光照的变化较为敏感。
图2给出的是352×288的室内场景下的视频序列。第一行给出的是原始图像,其中,一人携包进入视场,将包遗留于视场中后离开。第二行给出的是证据图像,比较证据图像亮度的变化可得出,随着证据的累加,对应遗留包的证据逐渐积累,而其它的部分得到了有效的抑制。第三行为本文算法的检测结果,用白色进行标记,在255帧,包上部分先稳定的像素被检测出,至295帧,包被完全检测出。由图中可以看出,检测结果与证据图像的变化是一致的。第四行是由码本建模[9]得到的检测结果,其中不同的颜色表示背景更新的先后次序。码本建模也很好地检测到遗留的包,但检测性能不如本文算法精确。对于该序列,本文算法的运行速度达到约54帧/s,能够满足实时的应用,而码本建模约为15帧/s。
4 结论
文中提出的面向视频监控的遗失目标检测算法具有以下特点:1)将像素级运动特性与双重背景相结合以提取双重前景并指导背景更新过程;2)通过构造证据图像来处理虚警和遮挡问题并证实遗失目标;3)高效的运算性能可满足实时的应用。通过在不同场景下的实验,验证了该算法的有效性,表明其可以作为以跟踪为基础的遗失目标检测方法的一个替代。
参考文献
[1]LüFeng-jun,SONG Xue-feng,WU Bo,et al.Left-Luggage Detection using Bayesian Inference[C]//Proceedings of IEEE International Workshop on Performance Evaluation in Tracking and Surveillance,June 18,2006.New York,USA:IEEE Press,2006:83-90.
[2]Martinez-del-Rincon J,Herrero-Jaraba J E,Gomez J R,et al.Automatic Left Luggage Detection and Tracking using Multi-camera UKF[C]//Ninth IEEE International Workshop on.Performance Evaluation of Tracking and Surveillance,June 18,2006.New York,USA:IEEE Press,2006:59-66.
[3]Auvinet E,Grossmann E,Rougier C,et al.Left-Luggage Detection using Homographies and Simple Heuristics[C]//Proceedings of IEEE International Workshop on Performance Evaluation in Tracking and Surveillance.New York,USA:IEEE Press,2006:51-58.
[4]Venetiancer P L,Zhang Z,Yin W,et al.Stationary Target Detection using the ObjectVideo Surveillance System[C]//Proceedings of IEEE Conference on Advanced Video and Signal Based Surveillance,London,UK,Sept 5-7,2007:242-247.
[5]Miezianko R,Pokrajac D.Detecting and Recognizing Abandoned Objects in Crowded Environments[J].Computer Vision Systems(S0302-9743),2008,5008:241-250.
[6]Amer A,Dubois E,Mitiche A.Rule-based Real-time Detection of Context-independent Events in Video Shots[J].Real-Time Imaging(S1077-2014),2005,11(3):244-256.
[7]Mathew R,Yu Z,Zhang J.Detecting New Stable Objects in Surveillance Video[C]//Proceedings of IEEE Workshop on Multimedia Signal Processing,Shanghai,China,Oct 30-Nov 2,2005:1-4.
[8]Stauffer C,Grimson W E L.Learning Patterns of Activity using Real-time Tracking[J].IEEE Transaction on Pattern Analysis and Machine Intelligence(S0162-8828),2000,22(8):747-757.
[9]Kim K,Chalidabhongse T H,Harwood D,et al.Real-time Foreground-Background Segmentation using Codebook Model[J].Real-Time Imaging(S1077-2014),2005,11(3):172-185.
【实时放行检测】推荐阅读:
放行管理规定07-02
物品放行单结案流程05-11
公司人员出入放行通知07-30
实时检测05-21
基于单片机的线阵CCD实时检测系统的开发05-15
实时仿真10-16
实时处理10-20
实时计划05-10
实时跟踪05-24
实时联网05-28