一种有效抑制运动目标周围“空洞”的算法

2018-10-09 03:00董海青林宝军刘迎春
电子设计工程 2018年18期
关键词:空洞高斯轮廓

董海青,林宝军,刘迎春

(1.中国科学院上海微系统与信息技术研究所上海200050;2.中国科学院微小卫星创新研究院上海200120;3.上海科技大学信息科学与技术学院,上海200120;4.中国科学院大学北京101407)

当今人工智能技术风靡全球,计算机视觉(Computer Vision,CV)已经成为该领域最重要的研究方向之一。作为计算机视觉技术应用领域之一的智能交通视频监控系统在交通监控领域得到了研究者们的广泛地关注[1]。

目前,基于计算机视觉技术的动态目标检测技术大多需要海量的视频图像作为训练模型的数据源,比如最近在动态目标检测领域比较受欢迎的区域卷积神经网络[2],它需要大量的图像集进行训练,其计算过程非常耗时,如果将其移植到嵌入式设备,很难满足实时性的要求。在智能交通监控领域的某些应用场景下,我们不需要很高的识别精度,比如在统计车流量、人流量的过程,我们只需要一个估计量即可,本论文正是在这种应用背景下,尝试着利用计算机视觉技术实现动态目标的实时检测与统计。目前,基于视频图像的动态目标监测技术已经有几十年的发展历史,目前主流目标检测算法有背景差分法[3-5]、帧差法[6-8]、运动场估计法[9-10]等。

文中主要研究的是基于混合高斯模型统计车流量的工程实现方法,未来的目标是将其移植到嵌入式设备上,并且能够实时地较为准确地估计车流量等信息。考虑到嵌入式平台有限的硬件资源以及工程的实际需要情况,我们没有采用较为耗时的特征点提取与匹配,而是根据混合高斯模型进行背景建模[11-14]直接提取动态目标。为了尽可能地提高统计结果的准确率,在得到动态目标前期对存在的噪声进行相应的预处理;由于相机抖动、动态背景(比如树叶摇动)等噪声的干扰,得到的动态目标内部和外部存在大量的“洞”,内部“空洞”主要通过非极大值抑制算法[15-20]剔除,外部“空洞”主要通过本文提出的邻近几何中心值抑制的算法剔除。

1 基于混合高斯模型的动态目标检测

物体分类与场景分类在过程上的相似性,决定了用物体分类数据集训练的DCNN可以作为一种遥感图像场景特征提取方式。不同结构的DCNN提取的遥感场景特征具有互补性。因此,融合不同结构的DCNN特征可以提高场景分类效果。

1.1 基于混合高斯模型的动态目标检测存在的问题以及软件架构

本项目的主要目标是实现交通监控视频中车(行人)流量的估计,核心思想是基于混合高斯模型的前景提取技术。在工程实现过程当中我们发现,主要存在的动态干扰如图1所示。

图1 动态目标检测过程中的干扰

针对图1(a)所示的干扰,采用非极大值抑制算法进行抑制;针对图1(b)所示的干扰,采用本文提出的邻近几何中心值抑制算法进行抑制;本小节将整个项目的实现流程以软件架构图的形式呈现,如图2所示。

图2 动态目标检测软件架构图

1.2 混合高斯模型实现原理简述

混合高斯模型(Gaussian Mixture Model,GMM)最早在文献[12]中提出,该方法是为每个像素建立多个高斯模型,并通过基于回归滤波在线EM近似方法对模型参数进行更新,它能克服光照变化、树枝摇动等造成的影响,在复杂的应用场景下具有较高的鲁棒性。

现对混合高斯模型作简要的说明:假设每个像素点Xj由M个单高斯模型生成,具体它属于哪个单高斯模型以及每个单高斯模型在混合模型中占的比例αj未知,将所有来自不同分布的数据点混在一起,就构成了混合高斯分布模型。

从数学角度讲,我们可以用加权函数来表示这些像素点的概率分布密度:

其中,

表示第j个单高斯模型。

令ϕj=(αj,μj,Cj),GMM共有M个单高斯模型。现在我们需要通过采集样本数据X来估计GMM的所有参数:Φ=(ϕ1,ϕ2,...,ϕM)T,则样本X的概率公式为:

通常用EM(Expectation Maximum)算法对GMM参数进行估计。

2 临近几何中心值抑制算法

由于动态目标中广泛存在图1(b)所示的干扰,利用非极大值抑制算法无法加以排除,因此,本文提出了一种能有效抑制图1(b)所示干扰的算法。

2.1 算法描述

临近几何中心值抑制算法主要应用在每帧提取到的动态目标上,它的基本步骤用自然语言描述如下:

Step 1:在当前帧中进行第一层大循环,利用c++提供的容器装入经过非极大值抑制算法处理后所有检测到的动态目标,从容器boxorig中取出第一个动态目标,计算其长度、宽度、面积以及几何中心的坐标,对应地,同时定义并初始化相关几何变 量currwidth,currheight,currarea,currcenter以及标识boxorig中第一个动态目标的常量constinti=0,定义并初始化下一个动态目标的面积nextarea=0;

Step 2:进入第二层循环,定义初始化变量从j=1开始;

Step 2.1:从容器中取出第j个动态目标,计算其长度、宽度、面积以及几何中心的坐标,对应地,同时定义并初始化相关地变量nextwidth,nextheight,nextcenter以及两个动态目标的欧式距离eucdistance,即第i与第j个动态目标关于几何中心的欧式距离;

Step 2.2:将eucdistance与预先设定的阈值THRESH进行比较;

Step 2.2.1:如果其小于预先设定的阈值,计算并将第j个动态目标的几何面积赋值给nextarea,同时判断currarea与nextarea面积的大小,如果小于nextarea的面积,则利用第j个动态目标的几何信息(坐标(xj,yj)、宽度、高度、面积以及几何中心坐标)来更新第j个动态目标的几何信息;

Step 2.2.2:否则,将j个动态目标投入预定义的boxtemp容器中;

Step 2.3:判断j是否达到boxorig容器的尾部,如果是,则将第i个动态目标投入到最终的容器中boxfinal;否则,跳转到 Step 2;

Step 3:对容器boxorig进行清零,同时将boxtemp容器中的内容赋值给boxorig,跳转到Step 1,经过此次循环,容器boxorig中总的动态目标的数目会减少一个。

2.2 算法执行流程

为了对2.1中所描述的算法有一个清晰直观的了解,将算法的执行过程以流程图的形式描述,如图3所示。

图3 临近几何中心值抑制算法执行流程图

在实际工程中,提取到的动态目标大致轮廓是可以得到的,由于云烟雨雾、树叶摇动、相机抖动等复杂因素的干扰,在主轮廓的内部或者周围有大量的干扰(“空洞”)存在。通常情况下,这些动态干扰的几何面积小于主轮廓的面积,因此,本算法的核心思想正是利用这一特点,根据噪声轮廓与主轮廓中心的欧式距离有选择性地抑制主轮廓周围的“空洞”。

3 实验与分析

3.1 实验数据

为了验证基于混合高斯模型动态目标检测程序的合理性以及我们提出算法的有效性,我们搭建了相应的实验平台:Windows 10操作系统(处理器:Intel(R)Core(TM)i5-2430M CPU2.4GHz内存:2GB)+opencv2.4.13+vs2013+Matlab2016a以及其他的一些依赖库,采用的数据集是一段长达17秒钟的交通监控视频。实验过程中,我们从视频流中随机地抽取若干帧进行整个程序以及本文算法有效性的验证。

在进行实验之前,首先要对程序中需要用到的几个参数进行预先的设置,其中比较重要的一个参数是阈值THRESH,设置如下:THRESH=26.05;THRESH的值就是本文提到过的主轮廓与周围噪声几何中心距离的阈值,通过这个阈值对每帧当中所有存在与动态目标周围的噪声进行有选择性的抑制;THRESH是通过不断地调试得来的,是一个工程经验值。

3.2 实验的结果与分析

本文随机抽取了视频流中的第105、119帧图像,对比结果分别为经过混合高斯模型提取到的动态目标原始图像、经过NMS抑制后的图像以及经过NMS和临近几何中心值抑制共同作用后的图像,如图4所示。理想情况下我们得到的结果应该是一个完整的动态目标,但从图4(a)中可以看出,由于噪声的干扰,提取到的动态目标中会存在诸多我们不感兴趣的区域,如何剔除众多不感兴趣的区域是一个亟待解决的问题。因此,我们分析了图4(a)提取到的动态目标特点,它们大概有两大类特征:

1)主目标的轮廓面积普遍大于噪声轮廓的面积;2)噪声大多分布在主目标轮廓的内部或者外部(周围)。

结合特征1)2)对存在于主目标轮廓内部的噪声,采用NMS算法抑制;存在于主目标轮廓周围的噪声则采用本文提出的算法进行抑制。图4(a)所示为未进行噪声处理前提取到的动态目标;图4(b)所示,只采用NMS算法抑制后的结果,可以看到,虽然NMS抑制了主目标轮廓内的干扰,但是对周围干扰抑制的效果并不明显;图4(c)显示了NMS和本文算法相结合共同抑制噪声的结果,可以看到,本文算法在抑制主目标轮廓周围噪声上的效果显著。

图4 效果对比图

我们从视频流中共提取到了516帧图像,对每一帧图像中的动态目标进行了粗略估计,然后将3种情况下的估计结果进行了如图5所示的比较,从图5(结合图4)中可以看出,估计结果比较准确的帧的范围大概在30帧~350帧这一区间,350帧以后视频流中几乎没有动态目标,这是因为基于GMM动态目标检测会将运动缓慢或者静止的目标逐渐更新为背景,这也是GMM的不足之处;综述,本文算法能显著地抑制大部分噪声,但是在精确统计动态目标的数量上还有待提高。

图5 基于混合高斯模型统计动态目标结果图

4 结束语

基于混合高斯模型建立背景,然后利用背景差分法实现动态目标检测,由于没有较为复杂的特征提取与匹配,基本能够达到实时检测的目的;但是,因为其应用场景的复杂性,提取到的动态目标中往往存在诸多的干扰(如“空洞”、“重影”),如果不加以剔除,会直接干扰我们估计动态目标的统计结果。我们根据每帧动态干扰分布的几何特征,提出了一种全新的算法来抑制动态目标周围的干扰。实验结果表明,文中提出的算法能有效的抑制动态目标周围的动态干扰。

但是,文中提出的算法还有很多需要进一步改进的地方:其一,几何中心阈值是一个调试出来的参考值,这个阈值设置的好坏将直接影响到我们后期估计的结果,这主要是因为当多个动态相互靠近的时候,文中算法很容易将几何面积较小的动态目标剔除,这也降低了估计结果的准确率;其二,从图4中也可以看出,当多辆车几乎以同样的速度运行时,基于混合高斯算法建立的背景模型很难将它们区分为多个独立的动态目标。由于我们未来应用的是嵌入式硬件平台,在保证实时性与准确性的同时,如何提高统计动态目标的准确率是我们将要深入研究的一个方向。

猜你喜欢
空洞高斯轮廓
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
数学王子高斯
天才数学家——高斯
高速公路主动发光轮廓标应用方案设计探讨
空洞的眼神
用事实说话胜过空洞的说教——以教育类报道为例
有限域上高斯正规基的一个注记
臭氧层空洞也是帮凶
班有活宝