从模拟到数字视频的转变为安全系统带来了人们期盼已久的好处,主要就是数字压缩技术可以传输和存储更多的图像数据。不过这使得价格有所上升。另外,数字视频要求部署更多的摄像机,这就需要更多的人来监视摄像机。通过视频的存储可以减少需要观看的工作量,因为在压缩中所用的运动向量和检测器可以用来滤除不重要的活动。然而,因为运动向量和检测器不提供所发生的相关信息,人们必须利用手动的方式来捕获视频,以确定是否有值得关注的可疑活动。
因此,出现了研发能够大大增加监控安全和视频监控的有效性的驱动力。视频内容分析,即众所周知的视频分析,指的是在一系列视频帧中识别大量的内容,并使能够在特定事件发生时发布告警,从而加速实时快速响应。此外,VCA自动搜索特定的内容,从而将人们从繁重的观看图像中解放出来。这还将减少视频监控所需的人员的数量,进而降低了成本。目前,VCA是一项新兴的技术,在未来几年,该技术将会持续发展,快速普及将是切实可行的。
一个确定性的事情是,要在巨量的视频像素数据中识别出感兴趣的目标,VCA需要大量的处理工作。此外,为了满足各种不同的应用,VCA系统应该能够可编程,可以接受不同的内容,并能够适应不断演进的算法。最新的视频处理器可以为压缩,VCA以及数字视频系统的其他需求提供优异的性能和编程灵活性。而对处理器形成补充的软件平台和工具也帮助设计时简化了安全监控产品的开发。随着VCA技术的发展,可以很容易地实现,因为所需的技术目前都已经出现了。
VCA工作流程
迄今为止,关于VCA还没有相关的国际标准,不过普通的工作流程可以被描述为:
1. 一个较长的序列被分割成可供分析的单独场景或短片。因为不同的场景具有不同的直方图,或不同的色彩频率分布,其直方图相对于前面有突变的帧时可以被视为场景改变;
2. 改变场景内的前景目标被检测为与背景分离;
3. 单独的前景目标被提取或者被分割,然后逐帧跟踪。跟踪包括检测目标的位置和速度,它可能不断变化或临时静止;
4. 当需要识别时,该目标的特征被提取,以进行分类;
5. 如果该事件某种程度上像关注的目标,则向管理软件和/或管理人员发布告警。
前景/背景检测
期望VCA能够检测出变化或者可疑的活动,相对于通常为静止或者不关注的背景,这些活动正在前景中变化。过去,对前景/背景检测的运算有限。而如今,高性能的数字信号处理器和视频处理器使得更复杂的检测算法的实现成为可能。通常,有两种方法可实现前景/背景检测:
1. 非自适应方法:仅利用少量的帧且不保持背景模型;
2. 自适应方法:保持随时间不断变化的背景模型。在自适应VCA算法中,利用来自上述流程的2-4步的反馈被送出,用来更新和维持背景模型,然后又被用作为第1步的输入。
非自适应监测
在最简单的非自适应方案中,从之前帧的各像素值中减去当前帧对应像素的数值,目的是确定绝对差值。然后将该像素绝对值与预定的门限进行比较,该门限来自图像生成器,代表对现场中的噪声进行补偿后的0电平。如果该绝对值超过了门限,则相应的像素属于前景。反之,则属于背景。如果多个前景像素连成整体则显示两个前后帧中的前景发生了改变。
图中1盖掉了背景,留下的仅是在当前帧中显示出运动车辆的前景像素,以及之前帧中的“重影”。 (图片)
图1:基于三个图像帧的前景/背景检测上述重影的存在意味着仅有两帧可用于简单运动检测,而不需要目标跟踪和识别。除了重影图像外,在前景中可能会误识别其他像素噪声。可以稍微增加一些运算量,即在算法中引入一个额外的帧来改进前景的图像质量。利用三个帧,确定当前帧和前一帧之间每个像素间的绝对差(图1A),然后再确定当前帧与下一帧的逐个像素的绝对差,于是,重影目标就会出现在不同的位置上(图1B)。如果两个绝对差都超过了门限,则相应的像素就属于前景。反之属于背景。1A和1B中的重影消失后,仅留下1C中的图像,即为前景。
利用三个图像帧,实现控制环境中的短期视频目标的跟踪和识别是可能的。即便如此,非自适应的解决方案也仅仅适用于高度监管的、场景中没有大变化的短期跟踪应用。当场景或背景变化时,需要用手动的方式重新初始化。否则,错误将随时间累积,导致不可信的结果。
自适应检测
由于非自适应解决方案的限制,在VCA应用中,目前正在实现自适应的前景/背景检测。自适应检测维持背景模型,通过对每两个视频帧中的数据进行混合使得该模型连续更新。自适应方案需要的处理量比非自适应方案要多,背景模型中的复杂度也变高。在基本的自适应方案中,算法从当前视频帧中按逐个像素减去背景模型,以便确定前景(这与非自适应算法中的减去后续帧的做法相反)。得到的结果被反馈到模型中,使之自适应即将发生的背景变化,而无需复位。该方案在目标在不断运动或者背景噪声长时间存在的许多视频监控场景中都很有效。
更复杂的前景/背景检测基于统计背景模型,在该模型中,指定帧中的每一个背景像素被建模成一个遵从高斯分布的随机变量。每个像素的均值和标准方差随时间变化,具体取决于每帧中的视频数据。例如,如果在场景中包括河岸和一条河,落到水面上的光线将会使河面像素产生比相对没有什么变化的河岸像素大得多的方差。通过与从背景模型中的相关像素的标准方差导出的门限比较来确定当前帧中的像素是前景还是背景。换句话说,若要指定某个像素为前景,如果随后有大的变化(河流),则该像素应该呈现一个与背景像素很大的差别,而如果背景像素的变化很小(河岸),则该差别会很小。
当场景中的不同区域的光条件或噪声电平不同时,该解决方案最有效,因为如果设置一个仅考虑高噪声电平的统一门限,当目标进入到低噪声区域(河岸)时就会消失。
目标跟踪/识别
在前景/背景检测之后,生成一个掩膜图(图1C)。由于存在环境噪声,单个目标的所有部分将不会关联在一起,故在将所有部分关联成整体之前,需要进行形态的扩展计算增强过程。扩展包括在掩膜图上加一个网格,计算网格中每个区域中的前景像素数量,然后计算每个区域中像素的剩余部分,该区域中的数量显示哪些分离的目标应该被关联到一起。
在扩展和分量关联后,为每个目标提供一个包围框,这是一个包括整个目标(因为它将出现在不同的帧中)的小矩形方块,从而产生了图2所示的分割。(图片)
图2:目标分割效果示意图跟踪
跟踪分割后的前景目标包括三步:即预测在当前帧中每个目标应该位于的地方,确定哪一个目标与描述最匹配并矫正目标运动轨迹,以用于下一帧的预测。第一步和第三步由递归式卡尔曼滤波器来实现。因为在一个帧中只能观察目标的位置,还需要利用矩阵运算来快速计算其速度和下一个位置。开始时,滤波器被初始化到相对于背景模型的前景目标的位置上。对于目标被跟踪的每一帧,滤波器预测下一帧中前景目标的相对位置。当场景进入到下一帧时,该滤波器定位目标并矫正其轨迹。
跟踪中的第二步包括数据相关,根据目标特征的相似性来确定目标的相关性。目标的大小,形状和位置可以根据从一帧到下一帧中的包围框和他们的交叠来确定。速度由卡尔曼滤波器来预测,利用直方图以不同颜色来关联不同的物体。不过,这些特征中的某个或者全部都会改变。
例如,考虑一辆驾驶室为红色的白色卡车靠近街道旁边的摄像机,进入车道后,突然掉头向相反方向开去。一系列场景中,该目标的所有特征都发生了改变,包括大小,形状,速度和颜色。软件必须能够快速调整来适应这些突变,以便精确地识别出该车辆。另外,在跟踪多个目标时,软件必须能区分出它们之间彼此不同的特征。 (图片)
图3:利用解析方法的目标检测分类
跟踪的复杂度导致了目标分类方面的问题。例如,相对于人来说,系统发现某物体穿越摄像机前的警戒线时要容易得多。目标的大小和速度可以为大致分类提供参考,但对于精细分类还需要提供更多的信息。一个大目标具有更多的像素信息,但这对快速分类又太多了。这种情况下,为了实时响应,需要采用一种尺寸减小技术,即使在后续的调查中将利用存储的各帧中的所有像素信息。
有效的VCA实现还必须克服目标分类以外的大量挑战。其中包括由于黄昏、水面、云、风中的树木摆动、雨、雪以及大雾所引起的各种变化;跟踪穿越的目标的轨迹,会引起每个前景像素的暂时合并,随后又分离;还有在包括多个摄像机系统中逐幅地跟踪目标等。如何解决这些问题都还是VCA发展过程中的挑战。
VCA系统设计
实现VCA和视频编码需要一个高性能的处理器和不同的部署。新解析技术的出现要求编程灵活性,这可以利用集成最高性能的处理器来解决,其中包括可编程DSP和RISC微处理器内核以及视频硬件协处理器。合适的处理器还需要集成高性能的通信外设和视频信号链路来减少系统元器件和成本,例如德州仪器的基于DaVinci技术的TMS320DM644x处理器。
两个DaVinci处理器可以提供处理高端VCA以及对每秒30帧(720p30 HD),分辨率为720x1080的高清视频(HD)源进行编码的性能。
进行略微改进,设计可以更改成一个卡和一个处理器的形式。能够提供与两个处理器相同的功能,不过只能处理中级的VCA和HD编码。
采用这种将VCA集成到摄像机中的方案,可以提供鲁棒的高效率网络实现。VCA软件也可以集成到用作为多个摄像机的中央单元的PC中。除了VCA自身的步骤外,在前景/背景检测和其他解析步骤之前,还需要处理去交织的一些预处理步骤。为了识别目标或其他目的,应用软件还会增加一些进一步处理。上述的单处理器和双处理器设计方案都能为这些额外的软件功能提供预留空间。 (图片)
图4:IP网络摄像机处理模型VCA的升级
将前景目标从背景中分离出来的自适应方法,随后的跟踪目标,如果需要,对可疑的活动进行分类等构成了VCA的全部,这需要一个高级的实时处理运算和自适应能力。基于DSP的视频处理器提供了VCA和视频编码所需的性能,加上能够适应应用需求和技术中的可编程灵活性,将视频安全监控提升到了一个新层次。
作者:Cheng Peng
DSP视频应用工程师 TI公司
2/19/2008
|