http://www.cps.com.cn/news/js/2011/0711/0MMDAwMDI1ODI0MA.html
安防监控正在步入高清化、智能化时代,海思推出的Hi3516正是针对高清IPCamera的一款专业高端SOC芯片,除了1080p@30fpsH.264多码流编码、优异的ISP和编码视频质量优势外,其高性能的智能视频分析加速引擎和基于此的智能视频分析集成应用更是该产品的一大亮点。
从图1中我们可以看到Hi3516在图像处理系统中增加了IVS ENGINE,即智能视频加速引擎,简称IVE。
图1:Hi3516功能框图
这个加速引擎的主要作用就是将智能视频分析算法运算中频繁调用且消耗资源较大的主要算子实现硬化,以减少底层运算对CPU资源的消耗,节省CPU资源来做更多的智能分析应用。
基于硬化的IVE以及强大的CPU,Hi3516芯片可根据用户需要,开发各种智能视频分析应用,包括通用类功能,如周界防范、视频质量诊断、人脸检测,也可以开发行业专用类功能,如自助银行专用功能“ATM异物加装检测”等。
本文将对智能视频加速引擎及其应用进行介绍。
首先介绍最常见的智能视频分析功能--周界防范与加速引擎的关系。周界防范功能属于智能视频行为分析,其核心模块包括:运动目标检测、运动目标跟踪、运动目标分类、安全规则判别。其中运动目标检测与跟踪模块是整个处理流程的基础,这两个模块互为反馈,关联性强。
运动目标检测的目的是将视频场景中的运动目标从背景中分割出来。由于光照的变化、背景混乱运动的干扰、运动目标的影子、摄像机的抖动以及运动目标的自遮挡和互遮挡现象的存在等等,都给运动目标的正确检测带来极大的挑战。而运动目标的检测影响着后期的跟踪和分类,是智能视频监控技术中的关键。
运动目标跟踪是在运动目标检测的基础上,利用目标的有效特征,使用适当的匹配算法,在序列图像中寻找与目标模板最相似的图像位置,对目标进行定位。在实际应用中,运动目标跟踪不仅可以提供目标的运动轨迹和准确定位目标,为下一步的目标行为分析与理解提供了可靠的数据来源,而且也可以为运动目标检测提供有效反馈,对目标检测进行修正更新,从而形成一个良性循环,因此运动目标检测和运动目标跟踪算法是密不可分的,相辅相成。
运动目标分类是在运动目标检测和跟踪的基础上,通过对运动目标进行有效特征提取,分类器训练,对视频图像中的人、车、动物进行准确分类。其中,特征提取用于提取目标的空间特征和时间特征;分类器的训练通过细化分类采用多特征的树型分类器,逐层细化分类,提高分类器的准确性。
安全规则判别是在运动目标检测、跟踪、分类的基础上,得到准确的目标信息,通过判断当前时刻目标的行为特征是否违反了用户自定义的安全规则,从而触发报警。其中安全规则判别也就是最终形成了用户应用功能,如周界入侵(进入、离开、出现、消失)、单警戒线、多警戒线、逆行、徘徊、异常速度、非法停车、计数、PTZ跟踪等等。
下图为智能视频行为分析处理流程图。
图2:智能视频行为分析处理流程图
根据长期的实际工作测试,智能视频行为分析算法最大的资源消耗部分就在于检测模块,基本占用全部消耗的80%以上。
以一个检测分辨率CIF格式、时长3分30秒、光照度间歇变化、人车目标持续出现的典型的视频序列为例,在Hi3520芯片上应用周界检测、绊线、逆行、徘徊功能进行测试,各模块消耗的资源如下表所示:
表1:各模块资源消耗数据表
各模块消耗资源分布图如图3所示:
图3:各模块消耗资源分布图
从Hi3516提供的硬化算子来看,其选取了与运动目标检测模块关联性强且本身消耗资源大的部分的主要算子进行了硬化,涉及图像下采样、色彩空间转换、滤波器、形态学处理、梯度与边缘处理、图像运算操作、块统计等多个方面。
该类硬化算子称为智能视频引擎IVE。IVE是硬件方式实现了智能视频分析算法中的图像处理基础算子,大大提高了基础算子的运算效率,为智能视频分析技术的实时性以及多算法的并行性提供了技术手段。
IVE提供的图像以帧级运算为主,主要包括图像操作算子(两幅图像减操作、两幅图像阈值化操作、两幅图像与操作、两幅图像或操作)、高斯滤波算子、数学形态学算子(腐蚀、膨胀)、sobel边缘算子、图像比较算子、积分图算子、直方图统计算子。IVE所提供的基础算子是智能视频分析中使用频率较高的算子,这样可以最大限度提升智能分析算法的效率。IVE的硬化算子会频繁应用于检测器模块,包括帧间差分(图像操作算子)、背景差分(图像操作算子)、图像平滑(高斯滤波算子)、边缘检测(sobel边缘算子)、阈值分割(图像比较算子)、噪声过滤(数学形态学算子)等等。
经测试,IVE对运动目标检测算法性能的提高可达40%左右。
接下来介绍基于Hi3516 IVE的另一项重要的智能视频分析应用--视频质量诊断。该应用以计算机视觉原理为基础,针对视频图像出现的雪花、滚屏、模糊、偏色、画面冻结、增益失衡和云台失控等常见摄像头故障做出准确判断,并发出报警信息,及时有效地报告因硬件导致的图像质量问题从而避免所带来的不必要损失,同时检测破坏监控设备的行为,保证监控系统的正常工作。
该应用的主要功能包括:
1.视频信号亮度异常检测
自动检测视频中由于摄像头故障、增益控制紊乱、照明条件异常或人为恶意遮挡等原因引起的画面过暗、过亮或黑屏。
2.视频信号清晰度异常检测
自动检测视频中由于聚焦不当、镜头损坏或异物遮蔽引起的视野主体部分的图像模糊。自动检测镜头对准无意义物体的情况。
3.视频信号噪声检测
自动检测视频图像中混有杂乱的“横道”、“波纹”或一阵阵杂乱的飞点、刺、线状干扰导致的图像模糊、扭曲、雪花、抖动或滚屏等噪声现象。
4.视频信号偏色检测
自动检测由于线路接触不良、外部干扰或摄像头故障等原因造成的视频中的画面偏色现象,主要包括全屏单一偏色或多种颜色混杂的带状偏色。
5.视频信号缺失检测
自动检测因前端云台、摄像机工作异常、损坏、人为恶意破坏或视频传输环节故障而引发的间发性或持续性的视频缺失现象。
6.画面冻结检测
自动检测由于视频传输调度系统故障一起的视频画面冻结,避免遗漏真实的现场视频图像。
7.PTZ失控检测
自动检测前端云台和镜头是否出现旋转失控状态。
8.人为干扰检测
自动检测由于人为恶意行为引起的画面遮挡等现象。
在这个应用系统中可分为三部分:塔基、塔身、塔顶。塔基负责收集数据和初步加工数据;塔身部分负责根据初步数据得出9种特征的评价结果;而负责触发告警的塔顶部分,用户在此可调节的高级参数,并且根据自身应用需要变化报警策略。
图4 自下而上的数据金字塔
在塔基和塔身部分主要完成以下三个处理过程:
1.数据源
根据技术树(图5)表示,所有功能由9个特征完成。而9个特征的提取源于3类数据源,分别是:RGB图、梯度图、亮度图。因此在这3个数据源的数据加工中存在着公用数据或结论,可以大幅减少相同数据的重复运算,正是硬件加速引擎的主要方面;另一方面是规格化的加工手段,通过尽可能相同的流水线处理来规格化特征的提取,使不同的特征提取过程使用尽可能多的相同的处理子模块,从而达到资源的最大化利用。
图5 技术树和9种特征
1.指标统计
统计方法使用:直方图,均值和方差,FFT变换。其中首先把CIF图像(352×288)进行横纵4×4等间隔划分成16块(88×72)(见图6),然后分别对每个区域进行直方图、均值和方差分别统计,这样不仅在块区域分析时可以使用数据结果,而且在整幅数据统计时,仅需要简单把各个块信息进行简单对应相加即可。这不仅可以用于亮度图、RGB图的处理,还可以用于梯度图。对于FFT变换,则直接对彩色图进行运算。详情见表二。
图6 划分为16块区域的图像
表2 数据源与统计方法
1.指标差异分析
差异分析主要使用:时域帧差、空域求比、频域求比等手段。
时域帧差:用于统计t时刻图像与t+k(k根据需要可以取1,2,…63)时刻图像的差异,若正常视频应该始终在各个特征保持在一个恒定水平,时域帧差可以使图像在时间域上的变化得以显现并统计。
空域求比:对于16个块的统计,可以为每个块在每个数据源上做出一个二值判定以表征此块是否处于异常,再通过对异常块占全部块(16块)的比例来判定整个图像是否处于异常。
频域求比:用于统计某一频段内像素出现次数占总频段次数的百分比,来评估像素的分布特性。例如可以通过大于200亮度值的像素数与总图像素的比例来判断整图是否亮度过亮。
塔顶部分报警触发是用户最终需要的产品功能。此功能可根据不同场景和目标以及用户个性需求表现出不同的灵敏性和倾向性。为了达到这一目的,报警策略设置完全开放给用户。用户可以根据需要设定阈值门限、增强或减弱所希望的特征(甚至屏蔽掉无效特征),以达到准确检测的目的。
基于Hi3516 IVE提供的硬化算子,配合上层的算法处理和规则判断,可以用较少的资源来实现视频质量诊断的应用。
结束语:
Hi3516独有的智能视频加速引擎IVE,为智能视频的深入应用提供了优秀的平台。而且内核采用了ARM CortexA9处理器,并带有256K的二级缓存,其优异的媒体处理引擎(MPE)、浮点运算单元(FPU)、单指令多数据流(SIMD)等技术更是为智能视频分析技术应用提供了无限的优化空间。
我们相信Hi3516芯片的推出,将对监控行业的高清化、智能化发展起到强劲的推动作用。