视频监控系统从最初的模拟闭路电视监控开始,经历了数字化,网络化的发展,正在向分布式、智能化的方向迈进。视频压缩技术的发展促进了视频监控系统的数字化,节约了大量的存储空间。计算机网络的普及和带宽的增加使得城域网视频监控成为现实。而经过科研人员40多年的不懈努力,计算机视觉已经进入突破式发展阶段。得益于计算机视觉的研究成果,智能视频监控系统开始得到产业化应用。
从上世纪90年代中期开始,以卡耐基梅隆大学(CMU)和麻省理工学院(MIT)为代表的,多家美国高校所参与的,由美国国防高级研究项目署设立的视觉监控重大项目VSAM(Visual Surveillance and Monitoring),以及其它科研机构的研究成果,使得智能视觉分析取得了快速发展。2001年美国“911事件”,以及后来的西班牙马德里列车连环爆炸和英国伦敦地铁大爆炸等恐怖袭击后,全世界范围内对视频监控系统,包括智能视频分析系统的需求空前高涨。在英国全国范围内已经安装摄像机420多万个,平均每14人一个,一个人一天之中可能出现在多达300个摄像机前(英国《The Daily Mail》)。国内,2007年底广州市安装完毕25万个治安摄像机,北京在26.3万台摄像机的基础上,又在所有重点单位、人员聚集的公共场所、重要的交通枢纽、城市重要基础设施及法律法规规定的重点区域安装公共图像信息系统并且全部与警方监控网联网。上海2010年前将在马路上安装20多万个监控摄像机,全面建立“社会防控体系”。海量的监控图像需要视频监控系统智能地选择压缩、存储和检索内容。
当前,除了CMU和MIT,奥地利Graz理工大学的嵌入式智能摄像机研究组,IBM的S3(Smart Surveillance System)项目组,Intel的IRISNET(Internet-scale, Resource-intensive Sensor Network Services)项目组等,分别在分布式智能监控系统的不同领域处于领先地位。Object Video, Hisign,3VR等公司率先实现了智能视频监控的工业应用。在国内,中科院自动化所,清华大学电子工程系和自动化系等处于研究的前列。
2.智能视频监控系统的技术背景简介
智能视频监控的核心内容之一是对特定目标的自动跟踪。目标跟踪可分为5个步骤,包括运动检测、目标分类、目标(类型)跟踪、行为分析和目标(个体)跟踪。例如对人体的跟踪:首先从实时图像序列(即视频)中检测出运动物体,再判定运动物体中的人体,然后跟踪人体的运动轨迹,并分析和选定有异常行为的人,如在车站,机场等遗留包裹的人,最后对行为异常的人进行持续跟踪。
运动检测是从图像序列中将变化区域从背景图像中提取出来。运动区域的有效分割将大大减少后继过程的运算量。然而,背景图像的不稳定性,如阴影,光照,慢移动(如蜗牛的爬行),静移动(树叶的摆动)等等,也使得运动检测非常困难。
视频监控系统中的运动检测有两种不同的实现途径,一种是直接利用视频压缩算法的中间结果,比如ADI的第三方合作伙伴利用MPEG 4和H.264编码过程中的运动向量,在Blackfin处理器上同步实现了运动检测和视频压缩。另外一种是独立于视频编码的方法。
运动检测算法可按照不同分类标准分为多种。中科院自动化所把运动检测算法归纳为三种:背景消除法,时间差分法,光流法。背景消除法和时间差分法都可以看作是差分图像法。背景消除法是目前运动分割中最常用的一种方法,它利用当前图像与背景图像的差分来检测出运动区域。时间差分方法是在连续的图像序列中两个或三个相邻帧间采用基于像素的时间差分并且阈值化来提取出图像中的运动区域。基于光流方法的运动检测采用了运动目标随时间变化的光流特性,通过计算位移向量光流场来初始化基于轮廓的跟踪算法,从而有效地提取和跟踪运动目标。该方法的优点是在摄像机运动的情况下也能检测出独立的运动目标。
目标分类的目的是从检测到的运动区域中将特定类型物体的运动区域提取出来。根据利用的信息的不同,目标分类可以分为基于运动特性的分类和基于形状信息的分类两种方法。基于运动特性的识别利用目标运动的周期性进行识别,受颜色、光照的影响较小。基于形状信息的识别利用检测出的运动区域的形状特征与模板或者统计量进行匹配。
目标跟踪是在连续的图像帧间创建基于位置、速度、形状、纹理、色彩等有关特征的对应匹配。依据不同的跟踪方法可分为基于模型的跟踪、基于区域的跟踪、基于活动轮廓的跟踪、基于特征的跟踪等。
联合目标跟踪与分类(JTC)技术是信息融合领域新兴的一个研究方向。其基本思想是,通过在目标跟踪器和目标分类器之间进行双向信息交互,来同时有效地提高目标的跟踪精度和分类性能。
在特定情况下需要对跟踪目标从类型细化到个体。这需要对目标的行为进行分析和理解。行为理解的关键问题是如何从学习样本中获取参考行为序列,并且学习和匹配的行为序列必须能够处理在相似的运动模式类别中空间和时间尺度上轻微的特征变化。
3. 智能视频监控系统实施的难点和Blackfin的优势
尽管已经取得了巨大进展,智能视频分析领域仍然没有公认的最优方法。其自身研究内容的复杂性,使得研究方法和工具多样,算法复杂度高,适用范围有限,没有鲁棒性、准确度、速度都符合需求的普遍方法。同时,视频监控系统的网络化和分布式处理的要求,以及大规模工程安装对成本、体积和功耗的限制,使得运算能力和带宽都在不断提高的嵌入式处理器成为视频监控系统的主流选择。而非标准化的智能视频分析,正是DSP的用武之地。
Blackfin处理器是ADI与INTEL联合研制的会聚式处理器,它的MSA(Micro Signal Architecture)架构兼具MCU的控制能力和DSP的高速运算能力。MCU和DSP融入同一个内核,只需要同一套开发工具和同一套指令集。与DSP加ARM的芯片架构相比,具有软硬件实现简单的优势。Blackfin支持ThreadX,Nucleus,uCOS-II,uCLinux等十多种嵌入式操作系统,为客户提供熟悉的软件架构基础。Blackfin为高强度,高数据率的数字和媒体处理做了专门优化,是理想的视频处理器,而且具有极高的性价比。它的低功耗特性非常适合外壳体积小的IP摄像头产品。
Blackfin的几十个DMA通道和可灵活配置的Cache很好地满足了视频监控系统对大运算量,高数据吞吐率的要求。十级流水线使得Blackfin有很强的指令并行执行能力。零开销循环控制指令让系统中的大量循环跳转不再消耗任何处理器的时钟周期。利用这些优势,real解码器的idct4×4算法在Blackfin上速度提高了7倍。
频数据有其自身的特性。在不同颜色空间,表示象素的每个分量通常都是8位宽度。Blackfin的4个视频算术运算单元和视频象素指令集大大加速了视频运算速度。一条视频象素操作指令可以在一周期之内完成4对视频数据分量的加法运算,减法运算,加减混合运算,取平均值,或者相减并求绝对值等11种视频象素运算。这些运算在编解码算法中的运动估计、loop filter和智能视频分析的各种算法中大量应用。在智能视频分析的一些基础算子中,例如直方图统计,中值运算,Sobel运算,形态学中的膨胀运算等都可以利用Blackfin的MIN, MAX指令来消除条件跳转,节省处理器周期。不仅如此,Blackfin还支持13种非视频数据的向量运算。适当设计数据结构,在前背景分离,阈值计算和更新等多个环节都可以运用Blackfin的特色指令让智能视频分析算法更迅捷。这些本身就很有效的指令中,大部分指令都能够并行执行,使得Blackfin的处理能力再加倍。
4.智能视频监控系统的实例
清华大学自动控制系在视觉分析领域有长期的研究和积累。结合ADI的优势,双方在Blackfin BF561双核处理器上实现了智能视频监控系统。ADI提供高质量高性能的H.264编码算法,清华大学自动控制系则在BF561上实现了自动跟踪算法。系统框图如图1所示。
图1:基于BF561的智能监控终端框图
H.264编码算法模块是ADI为Blackfin客户提供的免费软件模块之一,目前已经有基于BF53x和BF561两个系列的芯片的实现。它支持完全动态的参数配置,用户可在系统运行时根据场景和网络带宽的变化改变编码的码率、帧率、关键帧间隔、量化值等等。从80KBb的CDMA网络到3Mb的DVR系统都能使用同一套函数库达到理想的编码质量。具有很强的适应性和灵活性。
清华大学自动控制系的智能跟踪算法采用单高斯背景建模的背景减除方法进行运动检测,在目标分类阶段,结合了基于运动特性的分类和基于形状信息的分类两种方法,利用人体、车辆的长宽比例、梯度直方图和运动周期性等对运动物体进行分类。在对同类目标跟踪时,采用基于区域的算法,判断连续的各帧之间运动物体的质心位移方向和距离。基于上述三个阶段的算法,系统还能实现人群跟踪,入侵检测,人、车数量统计,遗留物体检测,摄像头非法遮挡和移位报警等功能。
系统中,BF561的Core A用于实现H.264编码算法,Core B用于智能视频分析。Core A上同时运行uCos II操作系统以及RTP和TCP/IP协议栈。YUV4:2:2视频帧通过PPI(并行外设接口)以DMA的方式传送到SDRAM缓冲区。Core A和Core B共享帧缓冲区。Core B首先启动memory DMA把视频帧的Y(亮度)分量传送到Core B的片内存储区L1 SRAM的行缓冲区内。Core B对行缓冲区内的Y分量进行背景建模和后继的运动检测及目标跟踪。如果可视区域内出现指定类型的物体,Core B向Core A发送一个中断信号,Core A可以通过UART接口向本地控制台发送告警信息,或者通过网络接口向远程控制台发送告警信息;Core B还可以修改帧缓冲区,给目标加矩形边框以标识目标。Core A也通过一个memory DMA接收来自帧缓冲区的视频亮度和色度数据。编码器对Core B处理后的帧缓冲区进行编码。同时系统也可以通过另外一个PPI接口输出经Core B修改后的帧缓冲区,实时显示跟踪结果。目标跟踪算法是实时的,因此不会造成编码的延时。在未检测到运动物体时,编码器可以工作在低码率或低帧率状态下,甚至不编码。一旦检测到指定类型的运动物体,编码器即恢复正常工作,把压缩码流和对应时间通过以太网接口上传到管理系统。这样既能节约存储空间,又能方便事后对视频录像的检索。
该系统还可以通过UART或者以太网接口设定监控区域边界,用以标识入侵检测的监视范围。当有运动物体越过边界时,系统立即向控制台报警。控制台还可以向该智能监控终端发送指令改变它所执行的功能,从智能跟踪,到入侵检测,再到遗留物体检测或者清点人数等等,自由切换。没有Blackfin强大的处理能力和灵活性,在一个嵌入式处理器里实现如此复杂而众多的功能几乎是不可想象的。
5.智能视频监控的发展趋势
尽管智能视频分析在视频监控中已经得到一定的应用,但它还有很长的发展历程。一个比较理想的智能视频监控系统应该是这样的:
如果有一天,城市的一角突然发生枪击事件。犯罪嫌疑人立即逃向不远处的轿车,试图驾车逃跑。然而,他的一举一动已经落入了公共安全监控网之中,难以遁形。首先,带有声音识别和声源定位功能的视频监控系统检测到枪声之后立即调整摄像头角度和方向,对准枪声来向,同时启动第一次报警,报告枪击发生的大致位置。该摄像头采集视频,检测运动人体,分析人物的行为特征,并立即定位、跟踪嫌疑人。定位后,通知系统内处于合适位置的多个摄像头提取嫌疑人面部特征,试图驾驶的车辆的车牌等,并上传到管理系统,建立数据库表项,分发到公安局,车站,机场,银行,海关等重点单位。监控系统转而跟踪该车辆。警方在嫌疑人运动的路上设置警力拦截和追捕。即使嫌疑人侥幸逃脱现场追捕,当他出现在全国任何一个摄像头前的时候,仍然无法逃脱被捕的命运。
这个系统中融合了多种先进监控技术。音视频结合,视觉成像和非视觉成像结合,目标跟踪和行为分析、特征识别相结合的全连通的智能视频监控系统将是未来安防系统的趋势。其中的各项技术都已经分别得到了相当的发展。Blackfin在红外摄像头,相控阵麦克风等方面已有许多应用。而更准确,更快速,更鲁棒的智能视觉分析算法仍然是一个难点。ADI将会继续在智能视频监控领域与全球科研机构和企业合作,为我们创造更安全更美好的生活。