基于DM8148的警戒区域告警算法的实现

2015-01-16 05:26丁偲偲
电子设计工程 2015年6期
关键词:警戒背景监控

丁偲偲,王 锋

(1.武汉邮电科学研究院 湖北 武汉 430074;2.武汉烽火众智数字技术有限责任公司 湖北 武汉 430074)

安防产业是随着现代社会安全需求应运而生的产业。随着信息技术的进步,其科技含量越来越高,对智能化的应用需求也在提升。通过智能视频监控预测可疑行为,例如人员穿越警戒线、警戒区域、长时间滞留,可疑物品遗留/遗失等,系统会对当前情况做出判断或预判,如果认为可疑人员正在或将要实施犯罪,提醒或警示值班人员采取适当的措施。本文提出的警戒区域告警算法是在嵌入式DM8148平台上实现的对人运动轨迹的识别跟踪,对警戒区域的异常行为进行告警,在一定程度上避免事件的发生,或者加快事后的处理速度。运用该算法的监控设备适合小区、银行、仓库等场所的监控与防范。

1 DM8148平台和OpenCV

DM8148[1]视频处理器是一款高度集成的可编程平台,借助TI的DaVinci处理器技术优势,可以很好地应用于视频监控、网络摄像机、媒体播放器等产品。DM8148处理器包含一个高达1GHz的ARM Cortex-A8 RISC内核,协调和控制各个任务模块,并监控程序正常运行及纠错;一个高达750 MHz的C674x超长指令字数字信号处理器(DSP),进行智能算法的快速处理;一个含有2个ARM Cortex-M3架构处理器的媒体控制器,用于视频图像的相关处理。

OpenCV[2]是一种用于数字图像处理和计算机视觉的函数库,可以在Windows、Linux等系统上运行,由C函数和C++类构成,提供了丰富的帧提取函数和标准的图像处理算法应用于bitmap图像,video文件和网络摄像机等形式的源文件,这些函数库都是开源的源代码,可以直接在具体的视频开发项目中调用。高斯混合模型应用于背景提取,Kalman滤波应用于目标预测跟踪,这些算法在OpenCV中都有具体的函数实现。

虽然OpenCV提供的图像处理函数是开源的,但直接移植到DM8148平台的DSP处理器会缺乏关联库,需结合算法原理在DSP中单用C函数实现。另一个关键的限制因素是嵌入式系统的实时性,需在给定帧率的前提下适当调整智能算法处理次数,以保证帧率的稳定。

2 警戒区域告警算法流程

警戒区域告警算法属于智能视频监控在人运动轨迹识别方面的应用,主要包括视频图像中移动目标检测、目标跟踪和目标行为分析。

该算法通过混合高斯模型进行背景建模,利用背景减法结合背景更新实现对移动目标的检测提取,然后结合线性预测、Blob匹配和最邻近跟踪原则对二值前景图进行移动目标匹配跟踪,最后对移动目标进行轨迹分析,从而实现对警戒区域入侵行为的检测,及时上报提示或告警信息。具体流程如图1所示。

图1 警戒区域告警流程图Fig.1 Flow chart of the precautionary area alarm algorithm

3 算法具体实现

3.1 移动目标检测

背景减法[3]是一种主流的移动目标检测的算法,是通过建立背景模型,将当前帧与背景模型进行对比,最后根据对比结果阈值化来区分前景和背景,提取运动区域。其中,背景模型既需要一定的灵敏性对前景和背景进行分辨,又需要一定的鲁棒性满足动态背景的干扰,所以背景模型的建立至关重要。另外由于算法应用于嵌入式DM8148平台,过大的数据计算量会影响系统的实时性,需在背景建模前进行图像的缩放。

背景建模采用混合高斯模型[4],采用K个高斯模型来代表图中像素点的特征,在获得下一帧图像时更新背景模型,将当前帧的每个像素点与背景模型匹配,匹配成功则为背景,从而提取前景运动区域。K是高斯模型数,K取值大,算法计算量越大,能适应越复杂的场景,考虑到在嵌入式DM8148平台的运用,过于复杂的算法并不适宜,故K值取3。

背景模型的更新包括均值μ、方差σ2、权值ω的更新。简单分为以下几种情形:

①K个高斯分布中有匹配当前像素值的分布,按如下表达式更新该像素点的权值:

ωn,t表示 t时刻第 n个高斯分布的权值,α为学习率,决定分布参数变化的速度。对于匹配的分布Mn,t取值为1,其余分布均取值0。

对于不匹配的分布,均值和方差不变,匹配的分布按如下表达式更新均值和方差:

Xt表示当前像素值,ρ定义为表示高斯密度函数:

②K个高斯分布中没有匹配当前像素值的分布,以当前Xt为均值,给定较大的初始方差302,构建新的高斯模型取代当前ω/σ最小的模型。

二值前景图由于噪声和背景的细微变化往往不是完整的轮廓,需要通过形态学处理[5]降噪。本文采用腐蚀和膨胀的方法处理二值前景图。腐蚀和膨胀[6]都是遍历图像的每个像素,与覆盖的二值图像区域进行图像“与”运算。不同的是,腐蚀令运算后全为1的像素点为1,否则为0,从而去掉毛刺和孤立的斑点;膨胀令运算后全为0的像素点为0,否则为1,从而填充边缘、消除噪声引起的空洞。

经形态学处理后的效果图如图2所示。

图2 形态学处理效果图Fig.2 Rendering of morphological processing

图2 (a)是一帧视频图像通过格式转换和亮度分量提取后的图像,图2(b)是背景图像,图2(c)是差分处理并二值化后的前景图,图中目标区域出现空洞,背景区域包含若干噪点。图2(d)是形态学处理后效果图,到达填充前景空洞,消除背景噪声的作用。

3.2 目标跟踪

目标跟踪算法[7]的种类很多,本文提出一种结合线性预测、Blob匹配,和最邻近跟踪的目标跟踪方法。视频的帧率一般为25或30帧/秒,因此相邻两帧的时间间隔很短,可以假设每一个移动目标的移动速度在两帧之间是恒定的,从而构成一个线性动态系统,利用Kalman滤波进行线性预测。Blob匹配[8]是指利用Blob信息,即移动目标区域块的位置、大小、周长等几何信息,去匹配候选目标。

具体的目标跟踪算法流程分为以下几步:

①候选目标链Candidate成员的选定

在经过形态学处理后的前景图像中,目标区域已经成为一个个连通区域,将区域面积大于阈值MINAREA(本文采用3*3)的连通区域标记为一个Blob,记录其位置,作为候选目标链Candidate成员。

②对前一帧检测到的目标链Destination成员进行线性预测,计算预测位置与候选链Candidate成员的距离,寻找距离最短的Candidate。

③比较②中的最短距离与设定的距离阈值,即最大可能移动的距离。

若最短距离<距离阈值,用距离最短的Candidate目标位置更新Destination当前位置;

若最短距离>距离阈值,Destination中该目标丢失,删除此目标。将Candidate中未匹配上的成员作为新目标加入Destination链。

④若存在多个Destination链成员与同一Candidate目标匹配,则保留最早出现的Destination,删除其他成员。

目标跟踪的效果图如图3所示。

图3验证了线性预测结合Blob匹配的跟踪效果,图3(a)中两个目标跟踪区域即将重合;图3(b)由于两个目标区域运动方向相同,前景Blob融合在一块;图3(c)中目标区域分离,根据Blob匹配重新区分目标进行跟踪。

3.3 目标行为判断处理

目标行为的判断是在移动目标检测和跟踪的基础上,使用有效的算法对人行为模式,即运动轨迹,进行分析、判断、处理,达到提前预警的效果,一定程度上避免了事件的发生。

对于警戒区域告警的判断分为如下几种情况:

①目标存在没有超过5~10帧,不进行处理。

②目标存在超过5~10帧,未标记进出警戒区域标志。若目标当前位置和前一帧位置分别位于警戒区域内外,且符合报警方向,标记该目标,记录跨越区域方向,即进入或离开。

图3 目标跟踪效果图Fig.3 Rendering of target tracking

③目标存在超过5~10帧,已标记进出警戒区域标志。若目标进出警戒区行为与警戒区域告警方向一致,根据持续时间上报提示或警告信息。

4 检测结果

设计初期,为了验证警戒区域告警算法的性能,在Windows 7操作系统上用Visual Studio2008开发工具和OpenCV视觉函数库实现算法。后期将算法中调用的创建、更新混合高斯模型,形态学处理等图像处理函数移植到DM8148的DSP处理器中,从而实现智能视频监控系统的前端智能。

在实际应用中,视频帧速率为25帧/秒,主码流分辨率为1 920*1 080,进行缩放后算法处理的图像分辨率为352*288。应用检测效果如图4所示。

图4验证了警戒区告警算法的实际应用效果,图4(a)为任意划定的警戒区域,图4(b)中跟踪目标即将进入警戒区。图4(c)为跟踪目标进入警戒区,上报Alarm In告警信息的情况,图4(d)为跟踪目标离开警戒区,上报Alarm Out告警信息的情况。

5 结论

本文提出了一种应用于智能视频监控系统的警戒区域告警算法,并在嵌入式DM8148平台上实现。算法能实时检测、跟踪监控区域人员,记录其运动轨迹,并对可疑入侵行为进行识别处理,对动态背景的干扰具有一定的鲁棒性。该算法已经在基于DM8148的智能高清网络摄像机项目中得到应用,今后可在提高跟踪准确率的基础上扩展人流量统计功能。

图4 应用检测图Fig.4 Detection figure of application

[1]Texas Instrument.TMS320DM814x DaVinci Digital Media Processors[EB/OL].http://www.ti.com/lit/gpn/tms320dm8148.

[2]梁艳.基于OpenCV的ARM嵌入式网络视频监控系统[J].微型机与应用,2013,32(9): 29-31.LIANG Yan.ARM embedded network video monitoring system based on openCV[J].Microcomputer&Its Applications,2013,32(9):29-31.

[3]周维.视频监控中运动目标发现与跟踪算法研究[D].北京:中国科学技术大学,2012.

[4]李明,赵勋杰.改进的基于高斯混合模型的运动目标检测算法[J].计算机工程与应用,2011,47(8): 204-206.LI Ming,ZHAO Xun-jie.Improved moving objects detection algorithm based on gaussian mixture model[J].Computer Engineering and Applications,2011,47(8):204-206.

[5]李彤.智能视频监控下的多目标跟踪技术研究 [D].北京:中国科学技术大学,2013.

[6]董坤.视频监控中运动人体检测与异常行为分析研究[D].南京:南京邮电大学,2013.

[7]孙红,王晓婉,吴钱忠,等.目标实时跟踪与预测算法研究[J].信息技术,2014(3): 55-57.SUN Hong,WANG Xiao-wan,WU Qian-zhong,et al.Algorithm of real-time object tracking and prediction[J].Information Technology,2014(3):55-57.

[8]袁国武.智能视频监控中的运动目标检测和跟踪算法研究[D].云南: 云南大学,2012.

猜你喜欢
警戒背景监控
“新四化”背景下汽车NVH的发展趋势
The Great Barrier Reef shows coral comeback
《论持久战》的写作背景
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
步兵班前进——警戒(XV)
步兵班前进——警戒(ⅩⅣ)
步兵班前进——警戒(XII)
步兵班前进——警戒(Ⅶ)
晚清外语翻译人才培养的背景