OpenCVVS架构-算法与应用_第1页
OpenCVVS架构-算法与应用_第2页
OpenCVVS架构-算法与应用_第3页
OpenCVVS架构-算法与应用_第4页
OpenCVVS架构-算法与应用_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、tnii学朮友叢网论文发表专家一lOpenCV VS架构算法及应用摘要:in tel ope ncv vs是ope ncv内嵌的一个高效、通用的视频目标检测、跟踪和轨迹分析的开源平台,但由于没有相关资料而缺 少研究和应用。在深入挖掘 opencv vs源码的基础上,剖析了该平 台的整体架构和算法体系,给出了算法描述和相应接口。在此基础 上,开发了一个基于opencv vs架构的稳定、高效的行人统计系统。关键词:opencv;视频监控; 视频跟踪;轨迹分析; 行人统引言多年来在从事计算机视觉研究的过程中,一直需要这样一个平 台,一方面可以提供众多成熟稳定的检测、跟踪、轨迹分析算法, 另一方面具备

2、良好的编程接口,这样就可以将自己的算法很方便地 嫁接进这个系统,测试和对比各种算法的优劣性能。而intel opencv1 视频监控(video surveillanee)模块恰恰提供了这样一个功能强大的平台,在下文中简称为 vs。从in tel ope ncv 1.0版本开始,其辅助库cvaux中就增加了 vs模块,直至opencv 2.2版本, 该模块都相对稳定的存在。然而 opencv提供的vs的相关资料相当 少,在官方的帮助文档中甚至只字未提,国内外也少有相关的研究 和介绍,这也是vs长期未被研发人员广泛关注的原因之一。值得 庆幸的,也是opencv最大的优势就在于其开源性。通过深入剖

3、析 vs的源代码,可以理清整个vs框架的脉络,探索其中的算法原理tnii学朮友叢网论文发表专家一l和实现方法。本文对vs的架构和算法体系进行了剖析和梳理,在 此基础上给出一个该架构应用于行人统计的实例。lope ncv video surveilla nee的架构opencv是intel公司开发的广受关注的计算机视觉开源库,其算 法覆盖面广、实时性好。cvaux是openev的辅助类库,vs则是其 中一个重要组成部分。用 vc+6.0打开openev 1.0工程源码,可 以在cvaux下看到vs结构和类定义,vs类多数以cvblob开头。通 过梳理vs的各个类和结构间的关系,可以归纳得到 vs

4、的uml关系 图,从整体上把握vs的架构,如图1所示。类似于ms mfc中的 cobject ,vs中的所有的类都有一个共同的父类 cvvsmodule,主要 提供各个模块通用的参数的读写、拷贝等功能。vs提供了目标检测、 跟踪和轨迹分析的算法接口:cvfgdetector ,cvblobdetector ,cvblobtracker ,cvblobtrackgen , cvblobtrackpostproc , cvblobtracka nalysis,分别是前景检测、新目标检测、目标跟踪、轨迹生成、跟踪后处理、轨迹分析等6组算法接口,这些接口类是大多数vs类的父类。另外还有一个 cvblo

5、btrackerauto 接口,其 功能是对以上算法进行链接、调度,用于对整个算法流程和数据传 递的控制。vs中的很多类并没有导出用户接口,不能直接调用,而是提供了 相应的全局函数作为惟一的用户接口。这是模式设计中类工厂的思 想,有效地屏蔽了构建类实例的细节,这种设计思想被大量应用于匸交发表专家一LB国学朮发叢网 www,qikanwa ng.nEt com技术中。图 lopencv vs uml 图 2opencv video surveillanee的算法体系opencv vs覆盖了许多主流的检测、跟踪与轨迹分析方法,如前 文中提到的6类算法,分别是:前景检测、新目标检测、目标跟踪、 轨迹

6、生成、跟踪后处理、轨迹分析,除了轨迹生成用于轨迹数据的 保存以外,其他5个部分都是标准的视频监控算法体系中不可或缺 的部分。在vs的标准应用中,算法的执行流程如图2所示。图2vs算法流程图下面对vs算法体系进行简要介绍并给出参考 文献,表1列举了各组算法和接口,方便读者查阅。(1) 算法流程控制(cvblobtrackerauto )。整个算法流程的控制在接口类cvblobtrackerauto的子类中完成。vs中提供了一个范本,就是cvblobtrackerauto1,通过查看cvblobtrackerauto1:process(),可以洞悉整个算法的标准流程。当然用户也可以在遵循接口 cv

7、blobtrackerauto的基础上进行扩展,重载process(),构建自己的视频监控算法流程。(2) 前景检测(cvfgdetector )。在视频监控中,前景一般是 指相对于背景的运动区域,即通常关注的运动目标,如行人、车辆 等。前景检测的方法大致可以分为 3类:背景差法、帧差法和光流 法。背景差法通过对对背景进行建模来检测运动的前景,由于其准 确性、鲁棒性和实时性的优势受关注较多。论文发表专家一m国学朮发舌网 www,qikanwacvfgdetector 是前景检测类的接口,在其子类cvfgdetectorbase 中包含了 23两种背景差方法的实现,后者是被广泛研究和应用的混合高

8、斯模型 4 (mog mixture of gaussians )。opencv中还提供了一种基于码本的背景差方法5的实现,只 是该算法还没有整合进VS架构中,这个扩展工作有待完成。(3) 新目标检测(cvblobdetector )。新目标检测是多目标跟 踪系统中的重要环节,主要用于判断检测到的目标是否是新出现的 目标。该模块对每帧中检测到的目标进行判断,如果判定为已经存 在的目标则参与之前已存在的跟踪滤波,如果判定为新目标则需要 启动新的目标跟踪并进行初始化(分配新id等)。cvblobdetector接口在前景掩模中检测新进入场景的 blob (块), 子类有 2 个,分别是 cvblo

9、bdetectorsimple 禾口 cvblobdetectorcc , 原理可参考文献6。新目标的判断准则是:当连续多帧图像中包含该连通区域,且具 有一致的合理的速度。cvblobdetectorcc 与 cvblobdetectorsimple 一个最显著的不同 在于引入了 cvobjectdetector,可用于检测分离的目标块。(4) 目标跟踪(cvblobtracker )。目标跟踪模块覆盖了众多熟 悉的算法,如kalman滤波、粒子滤波、meanshift等,在表1中给 出相应的接口及对应的功能。对meanshift和粒子滤波感兴趣的读论文发表专家一 m国学朮发丢网 者可参考文献

10、79。(5) 轨迹生成(cvblobtrackgen )。轨迹生成模块保存目标检 测和跟踪的特征至数据文件,为事后分析提供方便。接口为 cvblobtrackgen ,子类包括 cvblobtrackgen1 禾口 cvblobtrackgenyml,前者在目标跟踪结束后,以文本格式保存整个目标轨迹的序列参数,后者与帧数据同步,以yml格式保存当前帧中的目标信息参数。(6) 跟踪后处理(cvblobtrackpostproc )。跟踪后处理是一个 可选模块,主要用于跟踪滤波后对目标轨迹的平滑滤波,接口为 cvblobtrackpostproc ,表1中列举了算法的功能和接口。(7) 轨迹分析(

11、cvblobtrackanalysis )。当某个目标跟踪结束 后,会产生一个轨迹,cvblobtracka nalysis 的子类用于对轨迹进 行数据分析。轨迹分析方法比较多,表 1中列举了分析算法的功能 和接口。3基于vs架构的行人统计vs架构可以应用到和视频目标检测和跟踪相关的诸多领域,本节以行人统计为例进行说明。行人统计是指对通过某个区域行人的数 量和方向进行统计,主要应用在安防、交通等领域。参考opencv vs 架构,行人统计可由前景检测,新目标检测,目标跟踪,跟踪后处 理和轨迹分析5模块组成。在系统设计中,主要的区别和改进在以 下3个部分:匸交发表专家一LB国学朮发叢网(1)为了

12、对整个行人统计算法流程进行控制,在继承接口cvblobtrackerauto的基础上设计了 cvblobtrackerauto2 ,对行人统计中各个算法和数据流进行调度。vs的跟踪是基于目标块,而在 行人统计中,往往出现单个目标块中有多个粘连的行人的情况。为 了能够对粘连的人群进行统计,在该模块中加入了行人头部检测算 法。(2) 行人统计对系统的实时性要求比较高,而传统的mog(混合高斯模型)4方法速度较慢,为此采用了一种自适应多模快速 背景差算法10。在继承接口 cvfgdetector的基础上设计了 cvfgdetectorru naver模块,并在该模块中加入了阴影、噪声、亮光的去除等算

13、法,以增强前景目标检测的鲁棒性。(3)行人统计的重点在于对行人轨迹的序列特征进行分析,为此在继承接口 cvblobtrackanalysis的基础上设计了cvblobtrackanalysisdir行人轨迹分析模块。该模块主要完成2个功能:通过目标序列特征,如头部的数量、目标块的大小、宽高比、 运动方向、速度等特征,对目标的种类做出判断,如汽车、单车、 行人等;通过对轨迹点序列的拟合分析,行人的方向、路径做出判 断,最后给出统计结果。同时,为了去除摄像机倾斜观测造成的目 标变形(远小近大)影响,在对相关的块目标特征数据进行了射影 变换的校正。基于vs框架在较短的时间内搭建了一个灵活高效的行人统

14、计系论文发表专家一CD国学朮发叢厨统,如图3所示,该系统具备了完善的多目标检测、跟踪和轨迹分 析的能力,在稳定性、准确性和实时性方面都达到了较高的水准。图3行人统计系统界面图4结语opencv vs为视频目标检测、跟踪研究提供了一个通用、高效的 平台,该平台覆盖了许多主流的检测、跟踪与轨迹分析算法,具有 广阔的应用领域,但由于缺少相关资料而不为广大研究人员所熟 悉。本文在源码分析的基础上对VS的架构和算法体系进行了剖析, 并给出了一个VS架构应用实例:行人统计。VS内容非常丰富,由 于篇幅关系,文中只能提纲挈领,对 vs的算法及应用没有展开讨 论,感兴趣的读者可以参考文献11。参考文献1 in

15、 tel. i ntel ope n source computer visio n libraryeb/ol. 20090718. http:/www. software.in nus/articles/i nte.2 li l y, huang w m, gu i y h, et al. foreground object detecti on from videos containing complex backgro und c/proceedi ngs of the eleve nth acm intern atio nal conference on multimedia. new

16、 york, ny, usa: acm, 2003: 210.3 kaewtrakulpong p, bowden r. an improved adaptive background mixture model for real time tracking with shadowm国学朮发叢厨论文发表专家一detecti on c proceedi ngs of the 2nd europea n workshopon adva need videobased surveilla nee systems. s.:121.kluwer academic publishers, 2001: 11

17、14 stauffer c, grims on e. learni ng patter ns of activityusing realtime tracking j. ieee transactions onpattern recognition and machine intelligenee, 2000, 22(8):747757.5 kim k, chalidabhongse t h, harwood d, et al. realtime foregro undbackgro und segme ntati on using codebookmodel j. realtime imag

18、i ng, 2005, 11(3): 172185.6 senior a, hampapura, tian ying li, et al. appearaneemodels for occlusi on han dli ng c proceedi ngs of 2ndinternationalworkshop on performanee evaluation of trackingand surveilla nee systems. s.l.: ieee, 2001:3642.7 comaniciu d, ramesh v, meer p. realtime trackingof non rigid objects using

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论