智能视频监控系统中多视角目标跟踪研究与FPGA实现
2016-09-20徐海刚李朋伟
徐海刚,李朋伟
(1.河南工学院 计算机科学与技术系,河南 新乡 453002;2.太原理工大学 信息工程学院,山西 太原 030024)
智能视频监控系统中多视角目标跟踪研究与FPGA实现
徐海刚1,李朋伟2
(1.河南工学院 计算机科学与技术系,河南 新乡453002;2.太原理工大学 信息工程学院,山西 太原030024)
为了提高智能视频监控(IVS)系统中运动目标跟踪的可靠性和实时性,提出一种分布式架构的高清多视角IVS系统。首先,前端FPGA模块与高清IP摄像机相连,用于收集视频并进行初级视频处理;然后,FPGA通过网络与后端GPU服务器相连,GPU服务器执行高级视频处理;最终实现目标在多摄像机间的连续跟踪。实验结果表明该系统运行稳定,能够在多视角下快速、准确地跟踪目标。
智能视频监控系统;多视角目标跟踪;运动目标跟踪;FPGA
0引 言
由于低成本和高分辨率数字摄像机的产生,基于互联网的分布式智能摄像机网络应运而生,这类网络的一个重要应用为智能视频监控(Intelligent Video Surveillance,IVS)[1]。IVS系统中包含视频采集、传输和视频分析(Video Analytics,VA)。通过对采集到的图像序列进行分析和处理,从而对运动目标进行检测和跟踪[2]。IVS系统广泛应用于安防、刑侦、金融、医疗卫生等领域。
然而,由于摄像机分辨率的提升导致VA任务的高计算需求,且有些IVS系统不能实时进行监控。因此,针对720p或1 080p的高清(High Definition,HD)视频,开发一种能够支持VA的实时IVS系统有重要意义。传统IVS系统通常在PC平台上开发,虽然有方便的编程环境和高计算能力,但其在长时间连续运行时,稳定性和可靠性较差。目前,嵌入式系统(例如RAM,DSPFPGA)在IVS摄像机架构中的应用引起了极大关注。利用嵌入式稳定性高、尺寸小、硬件可裁剪、模块化程度高而且支持以太网等特点,结合现代图像处理技术,提高系统的智能化程度已经成为技术改良的新方向[3]。
本文提出了一种支持高清、多视角和实时VA任务的分布式IVS系统,主要侧重于移动目标的实时HD多视角检测和跟踪。其中,前端采用现场可编程门阵列(Field Programmable Gate Array,FPGA)嵌入式系统实现HD视频的初级处理,后端采用图像处理单元(Graphics Processing Units,GPU)服务器执行高级处理,最终实现多视角视频监控。实验结果表明,本文系统能够精确、多视角地追踪目标,具有很好的可靠性和实时性。
1 本文IVS系统架构
本文系统硬件采用模块化设计,其中前端网络协议(IP)摄像机分别连接到FPGA嵌入式系统,用于对视频进行初步处理;然后多个FPGA嵌入式单元连接到一个GPU服务器,用于执行高级VA算法。另外,服务器连接到网络,以支持分布式处理和远程数据访问。硬件系统框图如图1所示。
图1 本文IVS系统的硬件结构框图
一些低级VA算法[4],例如背景建模(BM)、连通区域标记(CCL)和单视角目标跟踪,在摄像机端的FPGA上执行,以便获取实时动作。后端GPU服务器主要用于存储压缩视频和支持高级VA算法[5],例如深度估计和多视角目标跟踪。本文系统中软件处理流程如图2所示。
图2 本文IVS系统的视频软件处理流程图
2 前端FPGA上初级视频分析
尽管目前已有关于BM,CCL和单视角目标跟踪的硬件设计的研究,但通常针对的是标清视频。本文针对HD视频的新的嵌入式架构,提出了多种新的方法,以此来减少计算量,使其能够应用于FPGA中处理HD视频。
2.1背景建模(BM)
基于像素的BM的主要目标是确定像素是属于背景(BG)还是前景(FG)[6]。本文将构建成一个高斯混合模型(Gaussian Mixture Model,GMM)[7],通过计算当前像素为BG或FG的后验概率的比值确定像素来源。设定在时间t时的像素为x(t),概率因子R计算如下:
如果R很小,则检测到的像素为FG。然而,一般情况下不清楚FG的分布,因此通常假设其为具有的均匀分布,所以,如果像素值满足式(2),则视作BG:
为了使系统适应光照变化的场景[8],需用T个样本的时间窗来连续更新数据集 χ。因此,在时刻t,数据集为 χT={xt,xt-1,…,xt-T}。对于每个输入样本,更新数据集 χT和相应的密度。由于这些样本可能同时包含BG和FG信息,估计的密度实际为 p(x(t)|χT,BG+FG)。由于BG模型变化缓慢,新的FG样本通常对应于整体分布中的偏远模式,所以,可以以此分离出新FG。为了建模 p(x(t)|χT,BG+FG),基于具有M个组件的GMM方法是一种有效的方法,如下:
如果所有M个组件中没有状态为“接近”的组件,则会产生具有的新组件,其中σ20为初始变量。另外,组件的最大数为有限值,因此具有最小权重的组件应该被丢弃。该算法中,前景目标通常显示为具有小权重的集群,因此,可从混合信息中大致分离出背景,利用大权重的集群构建背景模型:
式中B通过降序分配组件的权重确定:
式中cf为前景目标的估计分数。如果一个新样本来自一幅图像,且停留了很长时间,当其权重变得大于cf时,则将它视作背景目标。
2.2连通区域标记(CCL)
在准备进行目标跟踪时,通常执行CCL检测FG/BG二进制图像中的连通区域[9]。由于现有CCL算法要么具有高计算复杂度,不易在FPGA上实现,要么具有较低的性能。为此,本文提出了一种增强型Two-Pass算法[10],主要包含两部分,即首次标记和二次标记。首次标记时,在背景图像中的每行执行向前扫描和向后扫描;第二次标记中,使用最终等价表获得最终标记的图像。提出的CCL架构如图3所示,该方法具有较高的标记性能,且具有较低的计算复杂度,易于在FPGA上实现。
图3 CCL处理架构
由于背景图像以栅格方式扫描,在第一次扫描时,分配临时标签给目标像素,在第二次扫描(重新标记)时,根据最终等价表执行最终标签分配。第一次扫描包括向前和向后扫描,例如,图4(a)描述了目标像素A,其被从B到I的8个邻居包围,图4(b)和(c)分别表示用于向前扫描和向后扫描的掩码。
图4 当前像素A的邻域以及第一次扫描中使用的掩码
向前扫描中,包含C,D和E的行是最后一行向后扫描的结果。如果当前像素A属于目标像素,则分配向前扫描掩码中其4个邻居标签中的最大值给A,否则,分配0值。如果其4个邻居没有一个属于目标像素,则分配一个新标签给当前像素A。在第一次扫描时,当分配两个不同的标签给两个具有相同标签的目标像素时,等价情况出现。例如,当D不属于目标而C,B,E或A属于目标时,该情况发生。将两个等价标签存储于列表中用于重新标记。向后扫描中,当A和F是等价标签对时,分配其本身和邻居F之间的最小标签给当前像素,如果A和F均没有任何其他等价关系,则从等价表中移除它们的等价关系,否则保留它们。
图5描述了提出的CCL方法的实例,其中绿色框和白色框分别表示FG和BG像素。假设两个新标签“3”和“4”由图5(a)第三行中向前扫描产生。图5(b)中,通过运用向后扫描掩码,将具有标签“3”的像素设为“1”,因为其与右边具有标签“1”的像素相连接,并从等价表中删除等价标签对。首次标记以及第二次标记的最终CCL结果如图5(c)和(d)所示。
图5 CCL算法的例子
2.3单视角目标跟踪
本文使用斑点匹配[11]执行单视角目标跟踪,如果一帧中的一个新斑点与当前帧的斑点列表中的一个旧斑点匹配,则认为成功跟踪了该新斑点。目标跟踪包括两个主要操作:遮挡处理;斑点匹配和斑点列表更新。单视角目标跟踪流程图如图6所示。
图6 单视角目标跟踪流程图
从图6可以看出,输入斑点首先经过遮挡检测,如果未遮挡,则进行斑点匹配和斑点列表更新,否则,启动遮挡处理过程。遮挡处理主要解决的问题是,当目标在遮挡后与遮挡物分离时,如何正确的跟踪目标。然后执行斑点匹配过程,其用于判断输入斑点是否与斑点列表中的旧斑点匹配,斑点匹配之后更新斑点列表。斑点列表中有三类斑点:旧斑点、匹配的斑点和不匹配的斑点。
2.3.1斑点匹配
斑点匹配在单视角目标跟踪中扮演着重要角色,其流程图如图7所示,从中可以看出,其包含三个主要操作,即计算边界框距离度量,距离矩阵阈值,斑点关联。
图7 基于边界框距离的斑点匹配框图
(1)边界框距离度量:斑点可由表示其轮廓的参数(如大小和速度)的边界框来描述。通常,两个边界框之间的距离为质心之间的欧式距离[12]。
(2)距离矩阵阈值:计算出边界框距离后,需设定适当阈值获得二进制匹配矩阵,关联输入斑点与旧斑点。常用的阈值估计方法有卡尔曼滤波(KF)[13],但是,KF的硬件实现非常复杂,所以本文基于输入斑点的运动速度来估计阈值。为了计算斑点的速度,需要获知连续帧期间两个匹配斑点质心之间的位移。由于旧斑点和输入斑点在当前图像帧中尚未匹配,所以根据前n帧中的速度值估计当前斑点速度:
式中F是帧率。若所有阈值可用,则可获得一个二进制匹配阈值:
式中:Db(i,j)为二进制匹配矩阵中的二进制值;i和 j分别为行列号;α为阈值方差的遗忘因子。获得的对应矩阵中,每行或每列包含多于1个非零元素,每个非零元素表示一个输入斑点和一个旧斑点已经匹配。
(3)斑点关联:斑点匹配中最后一项操作是关联当前帧中的匹配斑点来跟踪前几帧中的斑点。首先为当前帧中每个匹配的斑点产生一个惟一身份标识(ID)。然后,将其存储到注册表中,用于标记视频中匹配的目标。在斑点匹配结束后,需更新斑点列表。
2.3.2遮挡处理
目前,针对遮挡处理的主流方法有粒子滤波(Particle Filter)[14]。但是,粒子滤波的实现需要很多硬件资源,为此,本文提出一种简单方法,目的是减小硬件需求。
当遮挡发生时,本文将重叠目标视作新目标,以此减少了遮挡后目标分离的跟踪目标步骤。例如,在遮挡分离后,在旧的匹配斑点中搜索分离后的对应斑点,即遮挡之前和之后斑点ID相同的斑点,本文称该过程为“遮挡恢复”。但是,每个斑点的位置可能发生很大变化,这使得边界框距离度量不可靠。因此,遮挡恢复的关键问题是找出分离后斑点之间的对应关系。大部分遮挡不会持续很长时间,所以连续帧的运动方向与速度高度相关,尤其是在高帧率下。因此,本文使用速度信息匹配对应目标,完成遮挡恢复。基于速度的遮挡恢复机制框图如图8所示。
图8 基于速度的遮挡恢复机制
遮挡恢复中包含三个操作,即运动方向匹配(MDM)、速度值匹配(VVM)和斑点关联。如果输入斑点的速度 vb和旧斑点的速度 vr满足 vb∈(1-λ)vr,(1+λ)vr),其中λ为用户定义的归一化方差因子,本文中设为0.125,则斑点可视为匹配。
3 后端GPU服务器上高级视频分析
如前所述,初级VA算法在前端摄像机侧执行,以便获取及时动作。然后,在后端高性能图形处理器(GPU)上执行更复杂的高级VA算法,例如全局目标标记和跟踪。
本文中,后端GPU服务器执行两项高级VA任务:跟踪目标的平均深度估计;多视角目标跟踪。目前,很少有IVS系统计算目标的深度映射,这是由于其具有高计算复杂性和相对低可靠性。本文侧重于平均深度值,其计算更可靠,所需计算资源也较少。此外,本文提出了一种多视角跟踪算法,结合了平均深度信息,提供摄像机视角间更可靠的切换。
3.1多视角目标跟踪
本文系统的重要优势为可由单视角跟踪扩展到基于多个摄像机的多视角目标跟踪。该过程可划分成两步:确定每个摄像机的视角线;当以多个视角检测一个新目标时,执行跨摄像机视角的连通域标记。
由于假设摄像机已校准,所以很容易获取每个摄像机的视角线。图9为多视角视频监控系统的一个实例,其中黑色框表示左右两相机的视角线。本文受文献[15]启发,提出一种全局目标标记方法,使用颜色不相似度和目标到视角线的距离实现跟踪目标在各摄像机视角间的切换。因此,其具有高效性且计算复杂度低,但是,如果两个目标具有相似的颜色分布和到视角线的距离,则其性能将会降低。本文在线估计移动目标的平均深度,可用来进一步辅助连通标记,获得更可靠的切换。
图9 视角线图解
3.2深度辅助连通标记
(1)不相似度量的计算。通过假设到视角线的距离为高斯分布,根据与视角线的距离,匹配两个目标的概率为:
式中:σd用于在选择可能候选匹配时,控制区域的比例或宽度。文献[15]中,两个目标的颜色不相似度定义为:
式中:hi和hj分别为的颜色分布(直方图);d(hi,hj)为两个分布之间的马氏距离。
为了进一步减少两个相邻视角之间由于估计目标位置、视角线和相似度分布中的误差造成的切换模糊,本文引入了目标之间的深度不相似度参数:
如果由式(16)计算的具有最大概率的目标已经在全局斑点列表BG中标记,则分配其全局标记给Oni,否则,分配一个新全局标记给它们。
4 实验及分析
为了评估本文硬件系统和VA算法,本文采用帧率为60 f/s,分辨率为720 p/1 080 p的TI-DM385 IP摄像机采集高清视频数据。图10描述了本文IVS的实体结构,其包含基于GPU的视频服务器、IP摄像机、FPGA板和图形用户接口(GUI),GUI可同时接收和显示9个不同的视频流,也能控制每个IP摄像机的视频流,例如开始、停止和暂停。
图10 提出的IVS系统实物图
实验中,对于遮挡处理,比较了本文方法与基于颜色的粒子滤波方案。基于颜色的粒子滤波方案具有较高的计算复杂度,不适合在FPGA上实现。然而,其使用颜色分布(直方图)表示目标,在遮挡过程中能够精确地分配正确标签到各种遮挡目标。图11描述了两种方法下,单视角目标跟踪的比较结果,分别用红色矩形和蓝色矩形表示本文方法和粒子滤波的结果。图11(b)描述了人群目标被汽车遮挡,图11(c)描述了目标与遮挡物分离。可以看出两种方法都能成功跟踪移动目标,结果表明,本文基于FPGA的视频监控方案不仅具有较低计算复杂度,还能够实现与粒子滤波方案近似的性能。
图11 具有遮挡场景的单视角目标跟踪
图12描述了户外双视角目标跟踪的实验结果,图中上半部分描述了当目标穿越相邻摄像机的视角线时,执行深度辅助的全局连通标记结果。可以看出,当目标穿过一个摄像机的视角线到另一个摄像机的视角中时,本文系统能够成功地维持目标标签,从而实现目标跟踪。图中下半部分描述了去除背景后,目标对应的平均深度。
图12 双视角户外目标跟踪
5结 语
本文提出一种高清多视角IVS系统的设计方案,并在FPGA嵌入式系统上实现。以FPGA作为前端连接摄像机,执行初步视频处理任务。以GPU服务器作为后端,执行高级处理任务,最终实现多视角目标跟踪。本文对FPGA系统中的算法进行了简化改进,在不显著降低性能的前提下,有效降低了计算复杂度,使其能够应用于FPGA系统中。实验结果表明,本文系统运行稳定,能够精确快速跟踪目标,可广泛应用于实时性要求较高的智能视频监控中。
[1]黄凯奇,陈晓棠,康运锋,等.智能视频监控技术综述[J].计算机学报,2015,38(6):1-10.
[2]侯宏录,李宁鸟,刘迪迪,等.智能视频监控中运动目标检测的研究[J].计算机技术与发展,2012,22(2):49-52.
[3]蒋巍,张健,曾浩.基于智能视频监控系统的运动目标检测和跟踪[J].电视技术,2012,36(5):110-114.
[4]SAHITHI V M.Remote based intelligent video surveillance system[J].International journal of computer trends&technology, 2012,3(4):48-56.
[5]ELARBI-BOUDIHIR A S A M.Intelligent video surveillance system architecture for abnormal activity detection[J].Philosophy,2012,24(8):102-111.
[6]桑农,张涛,李斌,等.基于字典学习的背景建模[J].华中科技大学学报(自然科学版),2013,41(9):28-31.
[7]宋佳声,胡国清.基于时空熵分析的组合高斯背景建模方法[J].华南理工大学学报(自然科学版),2012,40(9):116-122.
[8]赵旭东,刘鹏,唐降龙,等.一种适应户外光照变化的背景建模及目标检测方法[J].自动化学报,2011,37(8):915-922.
[9]赵菲,张路,张志勇,等.基于硬件加速的实时二值图像连通域标记算法[J].电子与信息学报,2011,33(5):1069-1075.
[10]JOSHI K A,THAKORE D G.A survey on moving object detection and tracking in video surveillance system[J].International journal of soft computing&engineering,2012,2(3):135-144.
[11]LAMBERT H C.Cramer-Rao bounds for target tracking problems involving colored measurement noise[J].IEEE transactions on aerospace&electronic systems,2012,48(1):620-636.
[12]谢立,胡玲玲,吕一品,等.面向智能视频监控系统运动目标检测的轮廓提取方法[J].东南大学学报(自然科学版),2012,42(z1):31-35.
[13]YANG D H,ZHANG Y,WANG Y P.Automatic target segmentation and tracking in intelligent video surveillance[J]. Applied mechanics&materials,2014(496):2073-2077.
[14]许慧芳,许亚军.智能视频监控系统中运动目标跟踪的研究[J].电视技术,2014,38(19):202-206.
[15]WANG H,WANG X,ZHENG J,et al.Video object matching across multiple non-overlapping camera views based on multifeature fusion and incremental learning[J].Pattern recognition,2014,47(12):3841-3851.
Research on multi-view target tracking in intelligent video surveillance system and its implementation by FPGA
XU Haigang1,LI Pengwei2
(1.Department of Computer Science and Technology,Henan Institute of Technology,Xinxiang 453002,China;2.College of Information Engineering,Taiyuan University of Technology,Taiyuan 030024,China)
To improve the reliability and real-time performance of moving target tracking in intelligent video surveillance (IVS)system,a high definition multi-view IVS system with distributed architecture is proposed.In the system,the front-end FPGA module is connected with the high definition IP camera for video collection and primary video processing.And then,the FPGA is connected with the back-end GPU server through the network,and the GPU server is used to execute the advanced video processing.The target continuous tracking of multiple cameras was realized.The experimental results show that the system can run stably,and track the target in multi-view quickly and accurately.
intelligent video surveillance system;multi-view target tracking;moving target tracking;FPGA
TN948.43-34;TP391
A
1004-373X(2016)17-0006-06
10.16652/j.issn.1004-373x.2016.17.002
2015-10-19
国家自然科学基金项目(51205276)
徐海刚(1981—),男,河南开封人,硕士,讲师。研究领域为嵌入式、控制装置及自动化等。李朋伟(1981—),男,河南周口人,博士,副教授。研究领域为嵌入式系统等。