基于嵌入式平台的网络视频监控系统应用*
2018-03-29蔡伟立卿粼波滕奇志何小海
蔡伟立,卿粼波,滕奇志,何小海
(四川大学 电子信息学院,四川 成都 610065)
0 引言
现在视频监控的应用场景变得越来越多样化,人们对监控系统的智能化、功能化要求也越来越高。例如家居安防监控,边防、机场、重要工业场所周边监控,隐蔽刑侦等场景下的智能监控,都需要自动识别入侵目标、智能跟踪目标、通过远程终端实现目标监控。国内在智能监控方面研究主要是本地监控[1],而在网络视频监控方面则是一些视频实时传输[2-3]、发送异常图像[4]等单一功能,且需要人工实时监控操作,不能实现完全自动智能处理,这些状况很难满足特定场景下的监控需求。国内主要的视频监控厂家等开始在网络监控方面做一些智能化处理,但更偏向于智能家居或物联网,系统不能与其他厂家产品兼容。本文通过综合考察目前国内关于视频监控领域的研究现状以及市场针对监控功能的需求,设计了在网络监控背景下的基于嵌入式平台的智能监控系统,该系统满足特定场景下对目标自动识别与跟踪、远程通知用户实时查看监控状态等智能化功能,并且具有产品兼容性和功能扩展性,在监控系统的智能化和普及方面具有很重要的现实意义。
1 系统整体方案及硬件选型
本文设计的监控系统具有远程网络监控功能、自动检测入侵目标功能、智能跟踪目标运动轨迹功能。因此需要采用网络摄像头进行前端视频采集,并将采集的视频数据送入嵌入式平台进行智能算法处理,最后通过远程终端设备或者本地设备监控。整体监控方案如图1所示。
图1 系统整体方案图
前端采集设备选择网络PTZ摄像头,具备云台全方位移动功能,能够满足系统智能跟踪目标运动轨迹的要求。嵌入式平台选择达芬奇系列TMS320DM8168芯片。作为高性能DMSoC,该芯片集成了一个主频为1.2 GHz的Cotex-A8核、一个主频为1GHz的C674x DSP核、一个控制HDVPSS子系统的VPSS M3核和一个控制HDVICP的Video Cortex M3核。同时该芯片还具有丰富的外设资源,支持扩展千兆位以太网MAC、SATA硬盘、DDR3、NAND Flash以及HDMI接口。其中DDR3运行Linux操作系统以及运算过程的数据存储,NAND Flash 存储Uboot引导程序和文件系统,HDMI接口用于监控画面的本地显示[5]。
2 系统软件设计
2.1 软件平台简介
TI公司提供的软件开发包dvrrdk4.0, 在dvrrdk2.0基础上加入了RTP等多种协议,包含开发DVR、DVS、NVR等产品视频应用程序所需的所有组件,便于用户开发实时传输多媒体数据的功能。开发包软件平台做了很好的分层,它的主体是多通道软件框架(Multi-channel FrameWork, McFW)。McFW 在底层协调了VPSS M3、VIDEO M3、DSP以及Cortex A8多个核心进行数据处理,通过Link API机制和chain机制,实现视频数据流在各个核心之间以及核内部不同线程之间并行处理。本文就是基于McFW API 接口进行开发的。
2.2 软件设计流程
为了在嵌入式平台上实现系统功能,本文将软件设计部分分成三个模块,包括获取网络视频数据进行相关处理、进行智能算法运算以及控制PTZ并发送运算后的视频数据到网络。软件设计流程如图2所示。
图2 软件设计流程
首先在A8核中Linux系统调用live555内部接口函数实现RTP客户端的创建,接收来自网络摄像头的视频数据流。再调用Vdec_putBitstreamBuffer接口函数将视频数据放入共享空间,与McFW结合,供多核心调用处理。在McFW中通过Link API创建数据链,将接收到的数据进行解包、解码、去隔行、降噪、缩放处理。然后数据被送到DSP核内进行检测跟踪运算。最后根据算法处理信息控制PTZ,同时将处理后的视频数据发送到网络以及进行本地显示。
2.3 检测、跟踪算法的实现和优化
考虑到监控画面中的静态背景复杂性,检测部分系统选用检测效果好、处理速度快、应对噪声稳定可靠的视觉背景提取(ViBE)算法[6]。跟踪部分选择了跟踪精确的CT(Real-Time Compressive Tracking)算法[7]。在DSP核中通过检测和跟踪算法的结合,系统不再依赖人工干预即可智能检测入侵目标跟踪运动轨迹。算法实现流程如图3所示。
图3 算法实现流程图
单纯地对两个算法进行移植还不能完成算法流程图,本文根据系统的应用需求对算法进行了优化。
(1)ViBE算法的思想是,在第一帧图像中按平均分布随机选取多个邻域像素点样本为每个像素点建立一个基于样本的背景模型,计算当前帧对应像素值与背景模型中的样本值的距离,计数距离小于设定阈值的样本个数,若个数超过一定值,判定对应像素点为背景像素点。当某个像素被判定为背景像素时,该像素点有一定的概率去更新自己和邻域的模型样本集,当像素点连续N次被判定为前景点时,将其更新为背景点。
ViBE算法对噪声、光线反应比较灵敏,监控场景中的树叶晃动、非人类物体运动都会被检测为运动前景。为了避免类似前景被错误的跟踪,系统设定了条件来判定检测出的前景是否为需要跟踪的感兴趣区域(ROI)。通过多次测试,本系统设定前景目标高度宽度比值大于3∶2,且根据监控摄像头安装高度设定前景目标宽度占监控画面比值。
(2) CT算法是基于压缩感知的跟踪算法。第一帧先采样若干张正负样本图像并提取多尺度的广义Haar-like特征值,利用随机感知矩阵降维特征值来训练朴素贝叶斯分类器参数(式(3)),然后在下一帧的对应位置周围采样若干窗口,同样对它们的特征矩阵降维,并利用训练好的朴素贝叶斯分类器(式(1))进行分类,选择概率最大的窗口判定为目标窗口。
(1)
(2)
(3)
其中,y∈(0,1)表示样本的正负标签,学习因子λ>0。
原始CT算法通过在线学习更新分类器,无法处理drift问题。这就导致目标消失后系统会把消失处的背景作为跟踪目标,进入跟踪死循环。本系统对CT算法进行优化,计算并保存前两帧目标框特征向量的欧氏距离作为初始距离,之后每帧目标框确定之后都计算其相对初始化目标框特征向量的欧氏距离。如果连续几帧的欧氏距离与初始距离比值超过一定阈值,就判定目标消失,从而系统关闭跟踪算法,重新进入检测部分监控场景内的变化。
3 监控系统效果与分析
监控系统效果如图4所示。前两幅图是算法优化前效果图,后四幅图是优化后的效果。其中图4(a)显示了目标进入监控后,系统检测出ROI之后开始跟踪ROI坐标。由目标在监控边缘,系统控制PTZ转动。图4(b)显示了目标从监控画面消失之后系统的跟踪状态,进入跟踪死循环。图4(c)、(d)显示了算法优化之后跟前两幅图的对比。
图4 监控系统效果图
本系统对网络摄像头采集的1 920像素×1 080像素的视频帧进行下采样处理,在VPSS M3核中通过scalar link将图像下采样为640像素×360像素的图像。之后对DSP中的算法运行速度进行优化。代码部分优化内容包括循环代码优化、移位运算代替乘除运算等,DSP端软件运行效率优化包括编译选项优化、Cache配置优化,最终系统在跟踪目标时的运行速度可以稳定达到18帧/s。表1列出了优化效果。
表1 运行速度优化效果
4 结束语
本文设计了是一套基于嵌入式平台的用于检测跟踪的网络PTZ球监控系统,主要目的是在小型化智能系统上通过算法智能控制球机云台,供远端监控目标运动轨迹。整个系统具有开放性,根据不同用户需求还可以添加功能,例如在扩展的SATA硬盘存储监控视频,检测到目标之后通过网络发送通知到移动终端等。本系统的实现在防止目标入侵的隐蔽场所或者跟踪移动目标轨迹的背景下具有现实意义,在网络监控智能化发展方面有重要意义。
[1] 蒋巍,张健,曾浩. 基于智能视频监控系统的运动目标检测和跟踪[J].电视技术,2012, 36(5): 110-114.
[2] 李江滨. 基于网络的视频监控系统实时传输研究与实现[D]. 郑州:郑州大学, 2016.
[3] 陈名松, 邱晓金, 许笑. 基于 OpenCV 与 Socket 的网络视频监控系统设计与实现[J]. 现代电子技术, 2017, 40(2): 57-59.
[4] 盛凯. 基于ARM 家居视频安防监控的实现[D]. 淮南:安徽理工大学, 2017.
[5] 苏莎莎. 基于TMS320DM8168多核处理器的嵌入式高清视音频处理系统的研究与实现[D].南京:南京邮电大学,2014.
[6] BARNICH O, VAN DROOGENBROECK M. ViBe: a powerful random technique to estimate the background in video sequences[C]//Acoustics, Speech and Signal Processing, 2009. ICASSP 2009. IEEE, 2009: 945-948.
[7] ZHANG K, ZHANG L, YANG M H. Real-time compressive tracking[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 2012: 864-877.