提高安全和视频监控效率的视频内容分析技术

来源:互联网 发布:美国高中数学知乎 编辑:程序博客网 时间:2024/04/19 01:35

从模拟视频到数字视频的转化正在给安全系统带来期待已久的好处,主要的好处是数字压缩允许传送和存储更多的图像数据。不过新的优势还来自价格,数字视频应用的低成本允许部署更多的摄像机,但需要更多的人员去监视摄像机。存储视频信号可以减少需要浏览的视频数量,因为压缩算法中使用的运动向量和检测器可以用来删除没有显著活动的那些帧。然而,由于运动向量和检测器不能提供正在发生什么事的任何信息,必须要有人实际筛选捕获的视频来确认可疑行为。

因此,业界迫切需要开发能够提高安全和监控视频监视效率的方法。视频内容分析(VCA)可以用电子的方法识别一串帧中重要的特征,在发生特定类型事件时能让系统产生告警,从而加快实时安全系统的响应速度。VCA可以在捕获的视频中自动搜索特定内容,将人从长时间的浏览工作中解放出来,并减少需要人工筛选摄像机视频的工作量。

VCA技术正在不断发展,在不久的将来将会得到广泛的应用。有一点可以肯定的是,VCA要求大量的处理能力以便在庞大的视频像素数据流中识别出感兴趣的目标。另外,VCA系统必须是可编程的,这样才能满足应用的各种变化,识别出不同的内容,并适应不断演进的算法。最新的视频处理器具有特别强大的性能和编程灵活性,完全可以满足压缩、VCA和其它数字视频要求。用以辅助处理器的软件平台和工具则可以简化安全和监控产品的开发,随着VCA技术的发展,它们将成为关键的技术。

VCA流程

目前还没有VCA的国际标准,但以下是VCA的常规流程:

1. 将一个很长的序列分割成几个单独的场景或图像,以进行分析。由于不同的场景具有不同的直方图或色谱分布,因此如果某个帧的直方图与前一帧有很大的变化,那么可以认为发生了场景变换。

2. 由于前景(foreground)与静态背景是分开的,因此场景中的前景对象变化可以被检测出来。

3. 个别前景对象被提取或分割,然后逐帧地跟踪。跟踪过程涉及检测对象的位置和速度。

4. 如果有必要进行识别,可以提取对象的特征,并进行对象分类。

5. 如果当前事件是感兴趣的事件,就向管理软件和/或相关人员发送告警。

 

图1:采用两个DaVinci处理器处理高端VCA,能以每秒30帧的速度编码720x1080高清晰度的视频源。图1:采用两个DaVinci处理器处理高端VCA,能以每秒30帧的速度编码720x1080高清晰度的视频源。

前景/背景检测

VCA可以检测相对于通常静态和不感兴趣的背景下前景变化所代表的活动。过去,前景/背景检测在运算量上是受限的。如今,更高性能的数字信号处理器和视频处理器可以用来执行更复杂的检测算法。

一般来说有两种前景/背景检测方法:一种是非自适应方法,它只使用一些视频帧,并不维护背景模型;另一种是自适应方法,它始终维护着一个随时间不断演变的背景模型。在自适应VCA算法中,VCA流程中第2步到第4步的反馈可以用来更新和维护背景模型,这个模型再用作第1步的输入。

非自适应检测

在最简单的非自适应情况下,当前帧中的每个像素减去前一帧中的对应像素就能确定绝对差值,像素的绝对差值再与预先确定的门限值进行比较。这个门限值代表的是对场景中和来自成像器的噪声补偿过后的“零”电平。如果绝对差值超过了这个门限,相应的像素就属于前景。否则,像素就属于背景。

在受控环境中对视频对象的短期跟踪和识别可以只使用三个帧实现。即使这样,非自适应方法也只适用于高度受控、视频场景不会有显著变化的短期跟踪应用场合。当发生场景或背景变化时,需要人工进行初始化。如果不进行初始化,随着时间积累的误差会使检测结果很不可靠。

自适应检测

由于非自适应方法的局限,自适应前景和背景检测开始在VCA应用中得到使用。自适应检测方法维护一个背景模型,该模型通过混合每个新视频帧的数据进行不断更新。与非自适应方法相比,自适应方法要求更高的处理能力,而且背景模型的复杂度会改变。在基本的自适应方法中,算法会通过在当前帧中逐个像素地减去背景模型来确定前景(而非自适应算法采用的减去后面的帧)。结果也反馈到模型中,从而使模型不需要复位就能适应不断变化的背景。这种方法非常适合目标不断移动或相当长时间内存在背景噪声的许多视频监控场合使用。

更复杂的前景/背景检测则采用统计背景模型,其中指定帧中的每个背景像素被建模为一个符合高斯分布的随机变量。根据每一帧的视频数据,每个单独像素的平均和标准偏差会随时间改变。

对象跟踪/识别与分类

在前景/背景检测后,将创建出一个模板(mask)。因为存在环境噪声,单个目标对象的所有组成部分可能没有连起来,因此在将所有组成部分连为一个整体对象之前需要实现一个高强度运算的形态学膨胀(morphological dilation)处理。膨胀涉及在模板上强加一个栅格,计算出栅格的每个区域的前景像素,并点亮每个区域的其余像素,计数指示应该连接的独立对象。在膨胀和组成部分连接后就可以得到每个对象的一个有边界的框。这个框代表了包括完整对象的最小矩形,它可能出现在不同的帧中,从而实现分割。

跟踪分割后的前景对象共有三步:预测当前帧中每个对象的位置;确定哪个对象能最好地匹配其描述;并校正对象轨迹以预测下一帧。第一和第三步是通过Kalman递归滤波器完成的。由于在单个帧中只能观察到对象的位置,因此有必要使用矩阵运算方法即时计算出它的速度和下一个位置。

在整个过程的开始,滤波器被初始化到相对于背景模型的前景对象位置。针对每个内部对象被跟踪的帧,滤波器会在后续帧中预测前景对象的相对位置。当场景转到后续帧时,滤波器就能定位对象并校正其轨迹。

跟踪的第二步涉及到数据关联,它根据特征的相似性确定帧之间的对象相关性。对象尺寸、形状和位置能够能够以框和帧到帧的重叠为依据。速度是Kalman滤波器要预测的一个参数,直方图将不同的对象与它们的颜色关联起来。然而,任何或所有这些特征都可能改变。

考虑这样的情况:一个有着红色驾驶室的白色卡车非常靠近沿街的摄像机,这时它驶入车道,掉头并向相反方向驶去。对象的所有特征在整个场景中在不断发生变化:大小、形状、速度和颜色。软件必须能够适应这种变化,以便准确识别卡车。另外,当跟踪多个对象时,软件必须能够区别出它们之间的特征来。

跟踪的复杂性将导致与对象分类相关的问题。例如,一个物体通过摄像机前面的一条线比一个人通过那条线更容易使系统发出警告。物体的尺寸和速度可以提供用于粗略分类的向量,但更精细的分类需要更多的信息。较大的物体可以提供更多的像素信息,但对快速分类来说可能显得太多。在这种情况下,需要采用尺寸减小技术来实现实时响应,即使后面的调查仍可能使用所存储的帧中具有的全像素信息。

除了对象分类外,高效的VCA实现还必须克服许多挑战,这些挑战包括:黄昏、水面、云层、刮风下雨、雪和雾等导致的光线变化;跟踪的多个对象路径是交叉的,导致每个前景像素暂时合并,然后又分开;在多摄像机系统中跟踪不同视窗的对象。解决这些问题仍然需要VCA做大量的工作。

VCA系统设计

实现VCA和视频编码要求高性能处理器和各种配置。新分析技术的出现要求编程的灵活性,这可以使用集成了最高性能以及可编程DSP与RISC微处理器内核的处理器和视频硬件协处理器来满足。合适的处理器还需要集成高速通信外设和视频信号链来减少系统元件的数量和成本。

使用该类解决方案将VCA集成进摄像机提供了极具鲁棒性和高效的网络实现形式。VCA软件也能被集成进电脑中,使电脑成为多个摄像机的集中处理设备。除了VCA流程本身外,可能还需要预处理步骤,用于在前景/背景检测和其它分析步骤之前处理去交织(de-interleaving)。

应用软件可能要增加用于对象识别或其它目的的处理步骤,单处理器和双处理器设计版本都能为新增的软件功能提供足够的处理能力。

将前景对象从背景中分离出来、然后跟踪对象,必要时分类可疑活动的自适应方法步骤是VCA的全部内容,它要求高度的实时处理运算和自适应能力。基于DSP的视频处理器提供了VCA和视频编码所需的性能,并具有高度的编程灵活性,可适应应用要求和技术的不断变化。

作者:Cheng Peng

DSP视频应用工程师

德州仪器公司

原创粉丝点击