基于场边界线的多摄像机智能监控系统研究
2015-11-09张益男袁杰
张益男++袁杰
摘 要: 伴随视频监控系统的普及,多摄像机智能视频监控技术得到了广泛的研究和应用。特别是视频监控中的运动目标检测分割、运动目标跟踪和多摄像机协同技术,成为计算机视觉领域研究的热点。单摄像机跟踪常被应用的监控范围限制,当监控场景是一个室外环境或需要一个较大的观测范围时,常需要多摄像机进行多物体跟踪。为了建立一套有效的多摄像机智能监控系统,提出一种基于摄像机视野的重叠区域的协同监控方法,找出重叠区域的边界线即场边界线,旨在解决单摄像机监控范围有限的问题,实现对某一场景进行全景监控。在多摄像机系统中各个摄像机的场边界线在其他摄像机中可见的情况下,给出寻找它们的方法。基于此,可基本确定在多摄像机中的运动目标对应关系,获取多摄像机的拓扑关系。
关键词: 运动目标检测; 多摄像机协同; 场边界线; 全景监控
中图分类号: TN911.73?34; TP391 文献标识码: A 文章编号: 1004?373X(2015)21?0006?05
Research on multi?camera intelligent monitoring system based on field of view lines
ZHANG Yinan1, YUAN Jie2
(1. School of Information Science and Engineering, Jinling College of Nanjing University, Nanjing 210089, China;
2. School of Electronic Science and Engineering, Nanjing University, Nanjing 210093, China)
Abstract: With the popularization of video monitoring system, the multi?camera intelligent video monitoring technology has been widely studied and applied. The moving object detection and segmentation, moving target tracking, and multi?camera coo?peration technology have become the research focus in computer vision field. Single camera tracking is limited by the monitoring scope. When the monitoring scene is an outdoor environment or needing a larger monitoring scope, multi?camera are required to track multi?object. A coordination monitoring method of overlapping region based on camera visual field is proposed to establish an effective multi?camera intelligent monitoring system. The field of view (FOV) lines are found out in the overlapping region to solve the limited monitoring scope of the single camera. The panorama monitoring for a certain scene is realized. The way how to find the FOV lines in multi?camera system is provided when each camera′s FOV lines can be seen by other cameras. The corresponding relationships of moving object in multi?camera can be ensured basically, and the topological relation of multi?camera can be acquired.
Keywords: moving object detection; multi?camera cooperation; field of view line; panorama monitoring
0 引 言
跟踪移动物体是计算机视觉中一个极为重要的问题。它在监控、人体动作识别分析、交通[1]等众多领域都有极为重要的应用。单摄像机跟踪常被其应用的监控范围限制。多摄像机监控系统在室内室外均可运用,特别在银行、大型商场、机场等有着广泛运用。即使在一些最简单的场景人们也越来越倾向于使用多摄像机监控,首先因为单摄像机由于它有限的视野不可能提供足够的场景覆盖,其次多摄像机监控在面对如遮挡等问题时能有更强的鲁棒性。现今流行的两种多摄像机跟踪策略分别是特征匹配法和依据3D信息的方法,前者运算量太大,不适用于实时系统,也有可能造成关键特征点的大量丢失,实用性不强,后者一般很难建立它的3D模型,即使可以建立,工作量也非常巨大,需要的场景信息也较复杂。因此,上述算法均不算十分成熟。本文提出一种基于摄像机视野的重叠区域的协同监控方法。
1 基于自适应背景模型的运动目标检测和分割
运动检测从摄像机获取的视频数据中通过建立背景模型、分割运动区域的手段检测得到感兴趣的目标运动区域。运动目标分割是通过检测出的运动区域的后续处理,一般通过形态学的处理或一些其他的判别手段剔除如光线差异、物体晃动所带来的影响,将真正的运动物体与一些噪声、伪运动物体分开。目前对运动目标检测和分割的研究很多,最普遍的算法有三种:背景减除法[2]、光流法和帧间差分法[3?4]。背景减除法比较简单,但是对场景的动态变化比较敏感。光流法复杂性太高,且易受噪声影响,难以符合视觉监视系统实时处理的要求。帧间差分法常需要大量的后续处理,比如采用多帧的变化检测。
通常摄像机固定不动,只会有运动物体变化。由于可能没有一个初始的场景情况,所以想获取完整正确的背景是很难的,并且由于场景中可能出现诸如光线之类的变化,背景的变化也是比较大的,所以要对背景进行实时更新。因此可采用基于动态矩阵的自适应背景更新算法,该法简单有效,且能适应阴影、光照变化以及摄像机抖动等情况。
2 基于改进的均值偏移算法的运动目标跟踪
均值偏移(MeanShift)最早由Fukunaga等人于1975年在一篇关于概念密度梯度函数估计的论文中提出来。此算法一般指一个迭代的步骤,即先算出当前点的偏移向量,移动该点到其偏移均值处,然后以此为新的起始点,重复上述步骤继续移动,直到满足一定的条件结束。MeanShift算法只在局部范围内进行穷尽搜索,因此算法的计算量很小,在实时性要求较高的目标跟踪系统中已经得到成功的应用[5?8]。
本文选定的建模方法基于颜色模型,一般认为在单一摄像头下,正常情况物体的颜色信息变化不会很大。而在多摄像机情况下,可能观察同一个人从前面和后面看,颜色信息差距很大,可能衣服正面和背面是不同的底色。所以通过颜色模型进行跟踪仅在单摄像机情况下适用,到了多摄像机联合情况下,需要采用下文讲述的基于场边界线的跟踪方法。实际采集的视频信息都采用RGB颜色模型,但是该颜色模型对光照(亮度)影响较为敏锐,不适于利用它进行被跟踪物体的特征提取,所以需要把视频信息由RGB转换为HSV模型。
如图1所示,红线框中的汽车为检测出的运动目标,统计它的颜色直方图分布,用于下文计算。当建立被跟踪物体的颜色色相分布模型后,可通过反向投影的方法结合MeanShift算法进行跟踪。反向投影即将统计的直方图中的数据概率分布情况按照查表的方式对应回去,它可简单地把目标概率分布映射到所要观测的图像中。
在实际图像处理下,有时图片的颜色信息会非常丰富,统计直方图的值会很多,会难以设置阈值进行较为准确的划分。一般来说,感兴趣的运动物体的颜色信息不会太复杂,往往颜色信息会有一个聚集的特性,在图像中的表现就是比较相近的颜色集中在一起。反向投影会降低颜色的种类数量,但是却不会改变图像的主要颜色信息特征,在下面处理后的图像中可以看到反向投影的明显作用。
实际处理中,可将上述步骤改进。设定一定的阈值,当该颜色信息在直方图中的值高于一定值时,才将实际图像中该颜色信息用黑色替代(后期计算时值可以设置为一个较大的数),而直方图中小于阈值的其他颜色信息被去掉。这样便于和改进后的MeanShift算法合作。可由图1处理得到图2。
由图2可发现,右下角被跟踪的车的主体轮廓已经完全呈现,为后面运用MeanShift算法提供了极大的便利,可以获得很好的效果。然后运用MeanShift算法每次计算出目标框的重心,判别该框内的概率分布图像是否与模板的颜色分布特征很相似,如果符合,那么停止迭代计算;不然修正搜索框的位置和大小,直到搜索框的移动距离在某一阈值内或者迭代达到一定次数时,才结束该算法,并最终确定一个最佳的搜索框位置。如图3所示。
3 多摄像机协同监控
本文提出一种基于摄像机视野的重叠区域的协同监控方法。该方法主要找出重叠区域的边界线,即场边界线(Field of View Lines,FOV Lines),实现多摄像机协同监控的目的。本方法不需要标定好摄像机。按前面方法可得到在单个摄像机中物体的运动轨迹,那么在多摄像机中只需建立同一物体运动轨迹的关联即可。理想情况是,当一个新的物体被发现时,关于它的轨迹便立刻被关联。系统通过计算场边界线来实现。具体来说,场边界线是一个摄像机视野在其他摄像机视野范围内的边缘界限,通过这些线来建立同一物体轨迹间的联系,它们同样可以指出这个物体可以被这个摄像机系统中的哪些摄像机观测到[9?10]。对于单摄像机监控可能出现的错误(比如阻隔),在多摄像机系统中易于被修正。
假设在所有摄像机中地平面可见,摄像机视频序列是同步的,摄像机视野都是有重叠的(两个摄像机间可以没有重叠区域,但必有摄像机与它两个都有关联),这个假设并不苛刻。如果一个人消失在所有的摄像机范围中,当他再次出现时,他会被当成一个新的物体。定义第[i]个摄像机的图像为[Ci(x,y)]。[Ci]的覆盖范围在空间上实际是一个四棱锥,它的顶点是摄像机的投影中心,在图像平面上的四条边分别为[x=0,x=xmax,][y=0,][y=ymax。]定义[S]是图像平面上四条边的集合,用小写[s]表示四条边的任意一条。地平面与四棱锥相交的四条边为图像中足迹的实际边界,称为三维场边界线。由于不同摄像机视野范围会有重叠,所以一个摄像头的场边界线会出现在另一个摄像头的视野中(如图4所示)。如果[Li,s]是一条三维场边界线,它表示[Ci]的视野限制的[s]边,那么[Li,sj]表示[Ci]中的[Ci]的[s]边场边界线。接下来介绍假设已经知道了这些线,如何来解决连续跟踪定位的问题。
定义任意[t]时刻出现在[Ci]的第[k]个物体为[Oik]。[Oik]表示[Ci]中能看见的所有物体(如[Oi=Oi1,Oi3]表示现在时间在[Ci]中有两个物体,分别标记为1,3)。物体的定位被估计为一点[(x,y),]它是物体边界框的下底框中心点。如[(xik,yik)=?(Oik),]其中[?(.)]返回的是物体边框底部中心的那一点。人体的脚被选为是表示该人坐标的那一点,而且对于不同摄像机的光线也会在地平面上的这一点交汇(假设图像中的人都是站立的)。对于多摄像机的物体跟踪实际就是建立[Oim?Ojn。]若场边界线已知,[Li,sj]将图像分割成两部分,一部分在场边界线里面,另一部分在外部。定义函数[Li,sj(x,y)],如果点[(x,y)]在[Ci]可见,则函数返回一个大于0的数;如果该点在[Ci]中不可见,则函数返回一个小于0的数;如果该点在场边界线上,则函数返回值即为0。
基于上述定义,可知[Ci]中的物体[Oik]是否在另一个摄像机视野中。注意有些情况下并不是一个摄像机的所有四条场边界线在另一摄像机中均是可见的,这时会被[Ci]中可见的[Ci]的场边界线的集合限制。同样地,由于有的摄像机范围被阴影覆盖,这时考虑两条场边界线可能更加合理。在当前场景中可见的摄像机集合[C]由式(1)给出:
以上考虑的并不是真正的进出场景,而仅仅是进出摄像机的场边界线。实际上,很有可能一个目标进入场景却没有经过任何的场边界线,可能从场边界线之间突然出现。比如当一个人突然从门后出现,或者一组物体的单轨迹分裂成了多物体多轨迹(比如一个人突然从他的汽车中走出来)。这些情况不会被用来初始化系统。然而在跟踪过程中,要结合其他摄像机所拍摄到的其他轨迹来综合看这个情况。
一旦依靠场边界线确定[Oim]和[Ojn]之间的等价关系,便可确定在这两个摄像机中两个物体的运动轨迹也是对应的,可以依据此来尽量获取两个摄像机间的地平面坐标变换关系。这点并不需要用复杂的投影变换,用简单的仿射变换就可以完全适用。单应性确定后,便可以简单判别场景中央(非场边界线上)突然出现的目标是否进入了监控大环境。发现此类情况时,将其依据仿射变换映射到其他摄像机的范围内,看在他的位置上或一个最近的位置上是否存在一个已有目标。如果找到,那他们可以被认为是同一个目标,给予他们同样的标号。因此把这个方法看作找出摄像机间协作关系的另一方法,主要应用在有大量重合区域的两摄像机中。当遇到可能多个匹配的情况,运用这个方法可以起到部分消除误匹配的效果。
在知道摄像机参数和地平面方程的情况下,检测场边界线还是一件很繁琐的工作。而文中要在不知道这些信息的情况下,进行连续跟踪,找出场边界线。检测每条场边界线,[Li,sj]需要知道至少两个关键点。图6简单介绍了检测过程,根据两点可确定出来。对于场边界线的检测需要知道多摄像机间的关联关系。而简单地估计它们间的关联关系可以通过人的肉眼观察环境得出。估算每个可能的目标对应,然后挑选出那些已经知道是对的目标对应再做下步处理。大多数情况下,连续跟踪的场景中目标的确定是模棱两可的,但是简单的、没有歧义的场景还是会发生的,而检测场边界线正是利用那些没有歧义的关联信息。系统启动时不知道场边界线的信息,但是当系统启动后,监控了一些运动,就可以找出场边界线的位置信息。一个初始化的方法是只让一个人在这个监控环境中随意走动,这样可以找到绝对正确的相关对应并轻松找出场边界线。
当场景存在不止一个人时,有人穿过场边界线,在另外一个摄像机范围内的所有人都会被认为是穿过场边界线的候选目标。然而错误的匹配目标会随机分散在场边界线的两边,而正确的关联候选目标会集中在一条直线上。因此可以采用Hough变换和RANSAC算法结合来拟合出正确的场边界线,如图7所示。
理想情况下,这些摄像机的场边界线在其他摄像机的范围里是全部可见的。然而实际上,很有可能一些场边界线在另外一个摄像机中只能被看到一部分,便可能出现错误的匹配,即使检测了很多的目标,同样也不能很好地检测出场边界线。面对这个问题,主要靠减少误匹配来检测出那些场边界线。方法是从其他同步的摄像机中获取的额外信息来实现。定义在[Ci]中不可见的区域为[Vij,]可以通过观察多摄像机范围内的运动物体来获取不可见区域的信息。注意获取所有的不可见区域信息本身就需要知道场边界线(因为不可见区域的边界就是场边界线),所以还是依靠一些运动目标的轨迹来获取一些信息。
但如果系统中有一个摄像机失效,会对整个系统的工作有很大影响。另外,文中假设世界是平面的,人物的脚是可见的,如果某些场景不符合这条假设,此法也会完全失效。比如,在一个有着很多家具的室内环境,场边界线会穿过某些家具,人物的脚也会被家具遮挡,这样的情况下,此法就不能取得很好的效果,因为这时的场边界线可能就不再是直线而是几乎不可能得到的曲线。
4 结 语
本文采用的算法理论复杂度并不是太高,但却是行之有效的方法。为满足系统的实时性和鲁棒性,对一些复杂算法进行简化。比如在建立多摄像头视野的几何关系时,并没有采用对极几何、投影几何的方法计算出完整的摄像机3D视野,而是简化地运用仿射变换来实现。总体来说,该方法简单实用,经济成本和时间成本都不高,在经历了初始化后,可以满足实时性要求。
参考文献
[1] 刘绍杰,张超,胡福乔,等.交通场景中的实时多目标跟踪方法[J].计算机工程,2012,38(15):190?193.
[2] 朱一峰,陈丽华.人体运动目标检测与跟踪系统设计及算法仿真实现[J].江汉大学学报:自然科学版,2012,40(3):58?63.
[3] 吴垠,李良福,肖樟树,等.基于尺度不变特征的光流法目标跟踪技术研究[J].计算机工程与应用,2013,49(15):157?161.
[4] 袁国武,陈志强,龚健,等.一种结合光流法与三帧差分法的运动目标检测算法[J].小型微型计算机系统,2013,34(3):668?671.
[5] LI Zheyuan, LIU Hong, XU Chao. Real?time human tracking based on switching linear dynamic system combined with adaptive MeanShift tracker [C]// Proceedings of 2011 the 18th IEEE International Conference on Image Processing. Brussels: IEEE, 2011: 329?2332.
[6] CHEN Ken, FU Songyin, SONG Kangkang, et al. A MeanShift?based imbedded computer vision system design for real?time target tracking [C]// Proceedings of 2012 the 7th IEEE International Conference on Computer Science & Education. Melbourne: IEEE, 2012: 1298?1303.
[7] 杜凯,巨永锋,靳引利,等.自适应分块颜色直方图的MeanShift跟踪算法[J].武汉理工大学学报,2012,34(6):140?144.
[8] 王田,刘伟宁,韩广良,等.基于改进MeanShift的目标跟踪算法[J].液晶与显示,2012,27(3):396?400.
[9] 孙洛,邸慧军,陶霖密,等.多摄像机人体姿态跟踪[J].清华大学学报:自然科学版,2011,51(7):966?971.
[10] 霍阔,李长云,李妍,等.一种重叠视域多摄像机环境下的运动目标匹配SHFSM算法[J].计算机应用研究,2013,30(2):619?622.