欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

监控视频内容分析的一点经验 博客分类: opencv机器视觉 视频监控webcam 

程序员文章站 2024-03-20 16:53:22
...

作为刚入手监控视频分析的新人来说,这篇博文无法给你们一个系统的指引,我同样也是你们中的一员。而写这篇博文的目的,旨在整理自己在过去接触的几个监控视频分析的项目中所遇到的一些问题,有些甚至还没有好的解决思路。

首先是关于监控视频质量的问题。作为智能分析的对象,监控视频当然被认为是清晰度越高越好,成像角度越大越好……这无可厚非。不过考虑到系统的资源耗费,这些要求往往需要一再权衡,究竟是什么样的视频质量既能满足要求,又不对系统的存储,传输带来过重的负担呢?这需要结合实际的场景,结合系统的功能来考量。

对于一个普通的监控视频,清晰度往往不会高于640×480。由于监控设备多数架设在高处远处,所以这些视频中出现的监控对象较小,对于这种视频,做做重点区域的入侵分析尚可,如果要在上面跑个人像识别,那确实是有些为难。一般的人像识别至少要求成像中的正面人脸区域大小要大于70像素,瞳孔间距大于40像素,人脸偏转角度不大于30度甚至更小。这些是通常的一些系统的最基本的要求,甚至有的对面部表情等等都有要求。前不久的一个项目里,客户拿来一些酒店走廊的监控视频让做分析,天可怜见,那里面人像部分的头像长宽都在20像素左右,我们拿着实验室环境中跑的很好的一些算法上去跑,一张脸也检测不到。心里很是不安:电视台来采访的时候,我还讲我们的算法达到95%以上呢,怎么跟客户去讲?于是联系了国外几家做人脸识别的公司一起来分析这些视频。但无一例外,返回的结果都是不能检测,视频质量太差……于是知道了这一行的一些约定的标准,比如上面所说的那些前提。

对于人脸识别这样的系统,确实需要这样的一些下限来限定。同样的,对于我们所作的任何一件事情,我们同样需要对它设定界限:在什么前提下,做到什么样子,什么样子算是完成,什么样子算是失败,周期多长时间等等。有了目标,明确目标,然后才能做事。扯远的远了。

不得不说,视频质量是做视频分析的一个重要的前提。

再比如做目标的跟踪,很多算法都是根据目标区域的颜色直方图等类似的特征来进行快速计算,但监控摄像头中出来的视频或者图像,往往颜色都有比较大程度的失真,在这上面跑同样的算法,肯定是难以奏效。所以必须结合实际情况加以改进。

再有一个亲身经历的事情是关于监控设备的选用:因为要给客户做演示,暂时采用了一款高清的摄像头(webcam)来做视频的采集。采购的时候按照成像的标准进行了对比测试,觉得能满足要求。但采购回来实际做的时候,却发现有问题。一旦启用了较高的分辨率后,拍静止的物体没太有问题(测试时是站定了测的),但是运动物体会出现模糊。回到光学摄像的角度考虑,也确实是没法避免的事情:当镜头曝光事件过长时,运动的物体肯定是要出现模糊,残影等现象,这也是为什么拍摄运动的时候要采用高速快门的原因了。而作为普通的摄像头来讲,25fps或者30fps是常见的标准,在1/30秒拍摄到的内容,肯定没法与千分之一秒级别的拍摄比较;并且,由于大多数webcam采用了usb接口,传输的速率也存在瓶颈。比如在我们的实验中,通过程序强制将摄像头的成像像素数增大到3000*2000左右时,每帧原始图像的大小超过了10M。如果每秒钟读取25帧计算的话,早就超过了USB传输甚至硬盘的瓶颈。所以如此级别的拍摄,如果没有摄像头本身缓存的支持,也是很难达到预期效果的。

相关标签: 视频监控 webcam