智能视频分析技术指计算机图像视觉分析技术,是人工智能研究的一个分支,它在图像及图像描述之间建立映射关系,从而使计算机能够通过数字图像处理和分析来理解视频画面中的内容。智能视频分析技术涉及到模式识别、机器视觉、人工智能、网络通信以及海量数据管理等技术。视频智能分析通常可以分为几部分:运动目标的识别、目标跟踪与行为理解。
IVS原理
视频分析技术通常采用背景分离(背景减除)技术来进行图像变化的检测(所有的视频分析模式,如入侵、丢包、逆行等都是一种模式的图像变化)。其思路是对视频帧与基准背景图像进行比较, 相同位置的像素 (区域) 变化则认为是变化了的区域,对这些区域进一步处理、跟踪、识别,得到包括目标位置、尺寸、形状、 速度、 停留时间等基本形态信息和动态信息, 完成目标的跟踪和行为理解之后, 也就完成了图像与图像描述之间的映射关系, 从而使系统进一步进行规则判定,直到触发报警。
背景减除法是目前普遍使用的运动目标检测方法, 其算法本身需要大量的运算处理资源,并且仍然会受到光线、天气等自然条件及背景自身变化(海浪、云影、树叶摇动等情况)的影响。但是,针对不同的天气以及自然干扰,已经有多种附加算法(过滤器)应用来弥补这些缺陷,随着芯片能力的提升及算法改进,相信视频分析技术会进一步成熟。
视频内容分析的关键技术
前景目标的探测是视频分析技术实施的前提条件。 背景减除法是目前视频分析技术中用于前景目标探测的最常见方法, 其原理是利用当前图象和背景图象的差分(SAD)来检测出运动目标(区域)的一种方法。此方法可以提供比较完整的运动目标特征数据, 精确度和灵敏度比较高, 具有良好的性能表现, 但对动态场景的变化,如光线变化情况也比较敏感。背景减除法的工作原理如下图所示,当前图像与背景图像模型做差后形成运动目标区域,即图中的小船。
背景模型的建立是背景减除法的关键所在。 通常, 视频分析算法需要一定的时间进行“背景学习”, 所谓背景学习, 实质上是利用时间平均图像的方法, 将背景在一个时间段(如 30 秒钟)内的平均图像计算出来,作为该场景的背景模型。那么,“背景学习”时间结束后,系统仍然需要具有“背景维护”的能力,之前建模的背景并不是一成不变的, 这样能保证系统对场景内的图像变化不那么敏感, 如光线变化、 影子等等, 因此, 开发出实用、 有效的背景模型以适应动态、复杂的场景是目标探测及视频分析技术的关键。
视频分析的工作流程
视频分析实质是人工智能的一部分,是通过模仿人类的工作过程来实现的。人类通过眼睛这个“传感器”实现视频的采集、 预处理、 处理然后将真实图像传送给大脑, 大脑并不是对所有传送过来的图像进行整体的分析处理, 而是采用多层分级,将背景、缓慢移动及远处的目标分辨率最低化,忽略一些细节;并对前景感兴趣区进行二次聚焦 (我们常说的眼前一亮就是这个意思) , 获得更多细节,然后对该区域进行判定。
如下图所展示的案例是日常生活中常见的情况,图像是一个地铁站台,画面中出现一个穿红色衣服的女子,手里拿着一个黑色包放到站台中的一个空地上,之后迅速离开。 这是一个很普通的视频场景, 值班人员对这段场景很容易迅速地提取出特征描述来,即“一个红衣女子将一个黑色包放在站台上后迅速离开”,而对这个简单的信息,值班人员利用眼睛采集到信息,首先是场景(站台),之后分离出感兴趣的前景目标(红衣女),之后对其跟踪,最后形成结论(丢下一个包),之后将整个过程的完整信息传给大脑去按规则判定。
无论采用何种视频分析架构, 其视频分析过程都是视频内容分析的算法模块“协力作业”的结果,视频分析基本过程如下图:
- 加载算法过程:加载用户的预定义规则,如防区、分析模式等;
- 过滤器加载:对特殊场景进行预处理如防抖动、雨雪、灯光抑制等;
- 背景建模及更新:背景模型建立并自动学习更新背景情况;
- 目标提取与跟踪:提取跟踪前景变化目标,检测并分析目标的活动;
- 目标分类:对跟踪的目标进行分类,如人或车辆等;
- 视频分析判断过程:根据规则判断是否符合预定义规则;
- 触发报警过程:确定目标活动违反规则,根据预定义传输报警到指定的用户。
视频分析技术难点
视频分析技术本身并不是一项新技术, 但其在视频监控系统中的应用还仅仅处于起步阶段,它给视频监控系统带来了颠覆性的革命,具有美好的发展远景。目前, 视频分析系统本身有一些技术问题有待提升, 下面是一些需要克服的技术难点。
- 光照适应性: 通常,视频监控系统需要 24 小时昼夜工作,所处环境的光照情况也是一直处于变化中,如昼夜的交替、阴晴雨雪雾等天气条件,及外界光源干扰,如照明灯光、逆光、反光、车灯,还有室外云彩、云影的动态变化等,所有这些都对视频分析核心算法的光照适应性提出了严格的要求, 优异的视频分析算法应该具有先进的背景学习、更新、维护功能。
-
自然天气变化:雨、 雪、 雾、 沙尘天气、 烟雾、 气流、 云影等, 体现的不仅仅是光照的变化,而是真正的图像像素变化,这些“小假象”会导致系统视为场景中有物体在移动,从而干扰了真正的目标探测,浪费系统资源,因此,需要采用“过滤”机制将这些干扰做过滤处理。
-
背景的高频率变化:在视频图像背景中,可能出现摇动的树叶、晃动的波浪、光线反射、物体的反光、 草地的微动等等现象, 这些现象都可能造成画面像素出现变化, 从而导致误报。系统需要具有先进的过滤器,实现对规则往复性、细小运动进行过滤,使其集中精力在前景。
-
高速移动目标:视频分析系统基于自身算法及目前处理器的运算处理能力, 通常对非实时视频图像进行分析(如每秒采用 12 帧或 6 帧),这样当像素的采用频率比较低的时候, 视频分析算法需要连续分析一定数量的帧才能确定是否报警, 而这时如果需要的分析时间长于入侵者通过防范区域的时间, 入侵者可能已经完成入侵动作而导致系统漏报。
-
视频分析的架构:目前, 在实际应用中, 视频分析产品主要有三种架构: 一种是基于后端的服务器(软件算法运行于 CPU);第二种是基于前端的 IPC 或 DVS;第三种是利用前端嵌入式视频分析设备(仅仅做视频分析,不做编码压缩工作)。其中,第三种方式是在嵌入式设备中固化视频分析模块, 利用网络客户端进行远程配置与报警管理。 三种架构也可以按照目前主流说法分成两大类, 即前端分析与后端分析。参见第上一章。需要注意的是, 对于视频分析功能, 最根本的考核是性能, 即良好的探测率和较低的误报率。 其实视频分析架构方式并不是最重要的, 其实质都是视频分析算法来完成的,只不过是运行平台不同,一个在 DSP上,一个在计算机的 CPU上,也不存在某种方式绝对好与坏, 实际应用中应该根据项目的规模、 前期设备的架构、用户的需求、网路建设等具体情况进行选择部署。
-
视频分析技术实施误区:视频分析的设置本身并不难,通常步骤是:选择好视场、明确分析模式,然后进行防区、分辨率、灵敏度、各种过滤器的选择和使用。设置视频分析的过程很快, 但是, 对一个通道视频分析进行参数微调、 现场模拟、 参数修正、 再模拟、算法优化、效果观察等工作却是一个漫长而复杂的工作。在各环节中,要解决“提高探测率, 降低误报率”的问题, 必须长期地尝试和试验, 这也是视频分析厂家实验室产品和真正可投入应用的产品的最大区别。视频分析产品的真正考量在室外环境, 对于室内环境, 厂商基本可以进行模拟试验,问题不大。但是对于大型户外项目,环境复杂、遇到的问题比较多,系统调试阶段工作量比较大, 从调试到试运行, 可能需要不止一次的现场模拟、 参数微调、效果观察、统计、再模拟过程。每个项目有自己的特点、一个项目中各点位有自己的特点, 各点位又有不同的应用需求, 并且视频分析产品并非是“即插即用”的产品, 因此必须针对不同的项目、 不同的点位、 不同的需求进行有针对地实施。视频分析技术具有一定的复杂度, 国际上真正掌握视频分析算法的厂家并不多, 从掌握算法、 推出实验室产品到产品真正能够投入项目运行, 还有很长的路要走。 对于一些非常普遍的场景, 在实验室中进行模拟有一定困难, 因此许多厂家利用工程项目实施过程, 不断修正参数以适应不同的环境, 这并不代表厂家的产品不成熟,反而是厂家实力的体现。
参考资料
- https://cloud.tencent.com/developer/news/152708
- https://wenku.baidu.com/view/54aee301b52acfc789ebc96e.html