APP下载

基于云台的智能化运动目标跟踪监控系统设计

2018-10-31冯健业赖全运刘和顺龙迎春

韶关学院学报 2018年9期
关键词:云台摄像头监控

冯健业,赖全运,刘和顺,龙迎春

(韶关学院 物理与机电工程学院,广东 韶关512005)

视频监控系统已广泛应用于安防、交通、环保等众多领域,成为人们日常生活中不可分割的一部分[1].目前,视频监控系统摄像头普遍采用云台底座结构,实现摄像头沿水平、垂直两个自由度方向运动,克服了传统固定式视频监控摄像头在对运动目标跟踪监控时存在的视觉盲区大的问题.但摄像头移动状态下复杂的动态背景使得准确、实时的运动目标跟踪监控变得困难[2],对此笔者基于状态分割的运动目标检测方法,开发了具有运动目标自动跟踪监控功能的智能化视频监控系统,提升了监控效率,对智能视频监控系统的发展具有重要意义.

1 系统总体设计

基于云台的智能化视频监控系统由摄像头、两自由度云台、计算机、控制单元电路、通信网络、稳压电源电路等部分组成,系统总体框如图1所示.计算机安装于监控室内,其余硬件系统均位于监控现场,通过以太网相连.

控制单元电路的主控芯片采用32位高性能高性能、低成本、低功耗的 STM32F103ZET6 微处理器[3],其具有 512 K flash,64 K SRAM,11个定时器,最高工作频率可达72 MHz,同时产生多路PWM信号,能完全满足系统对图像信息与云台舵机控制的实时性要求.

两自由度云台由2个MG995型号的舵机构成,通过STM32F103微处理器提供的PWM信号控制舵机的转向和转角,分别实现安装于云台上摄像头水平与垂直方向的角度调节,从而实现摄像头对运动目标的跟踪监控.监控目标的视频图像信息通过具有640×480像素的RER-USB130W01MT型摄像头获得,并通过USB转以态网模块传输给计算机.计算机通过基于OpenCV开发的监控应用软件,负责视频图像显示、图像信息处理、运动目标检测与跟踪、云台运动目标坐标计算及控制指令发送等功能.通信网络采用以太网,实现摄像头、上位机、下位机间的图像信息及控制指令的传输.电源稳压电路分别为云台舵机和STM32F103微处理器提供6 V和5 V工作电压.

图1 系统总体框图

2 上位机软件设计

系统上位机软件是基于OpenCV计算机视觉库[4]与 MFC 类库,在 VS2010(Microsoft Visual Studio 2010)开发环境上开发的,以Windows操作系统作为运行环境的计算机监控应用软件,其对来自摄像头的视频数据进行处理,实现视频图像的显示,检测视频流中的运动目标,提取运动目标特征,进行目标跟踪,计算并发送目标图像坐标与控制指令等给下位机.上位机监控应用软件界面如图2所示.

针对运动目标的检测与跟踪,笔者基于状态分割思想,将运动目标检测跟踪过程按摄像头的运动状态分为静止、运动两个阶段.在静止阶段,利用基于混合高斯背景建模算法(GMM)的背景差法[5]检测运动物体,提取目标的颜色特征信息;在运动阶段,依据获得的颜色特征信息,利用Camshift算法[6]实现对运动目标的实时跟踪.相关算法通过OpenCV计算机视觉库来实现.

运动目标检测算法通过OpenCV的Background Subtractor MOG2类来实现,该类提供了存放了混合高斯背景建模法的各种参数与算法实现函数接口[7].基于该类的运动目标检测算法主要实现步骤如下:

(1)利用VideoCapture类读取摄像头视频图像.

VideoCapture capture; //定义摄像头设备

capture.open(0); //打开摄像头

capture>>frame; //读取当前帧图像

(2)利用cv::resize()函数完成双线性插值法对图像尺寸的缩小,提高混合高斯模型算法的处理速度.

(3)进行混合高斯建模算法处理.

BackgroundSubtractorMOG2 bg_mode(l80,60,false); //定义模型对象,设置模型参数:训练背景的帧数,背景减差阈值,是否检测影子

bg_model(img_S,fgmask1,-1); //调用对象()运算符重载函数,实现混合高斯建模算法,得到处理结果图像fgmask1.

(4)利用medianBlur()函数、morphologyEx()函数对处理结果图像fgmask1进行中值滤波和形态学闭操作,保存此时的结果图像fgmask2.

(5)利用findContours()函数寻找图像fgmask2的连通域,找出运动目标轮廓,从而实现目标检测.

运动目标的跟踪是基于目标检测算法获得的目标轮廓,利用OpenCV的Camshift()函数来实现,该函数调用所需的初始搜索窗口(位置与大小)以及运动目标的颜色直方图分别由目标检测结果中的目标位置、大小与颜色特征信息提供.其算法流程如图3所示.

图2 上位机监控应用软件界面

3 下位机动态跟随系统设计

下位机系统采用STM32F103ZET6微处理器,基于Keil uVision5开发环境,通过对计算机给出的控制指令及目标图像坐标的动态跟随,完成对云台的姿态控制.

下位机嵌入支持多任务的实时操作系统uC/OS-III[8],使系统能“同时”进行数据收发、坐标数据处理、云台控制等任务,以保证视频监控系统的实时性.在uC/OS-III系统任务处理的优先级设置上,优先处理坐标数据的接收,其次是坐标数据的处理、云台控制,目的是为了能第一时间接收到最新的运动目标坐标数据,及时做出反应,减少云台因任务等待而引起的转动滞后.

下位机系统得到运动目标在图像上的位置后,控制云台做水平方向转动及垂直方向转动,使被监控的运动目标始终处于监控图像画面中心,实现监控系统对运动目标的实时跟踪.

在实际系统中,由于监控系统图像处理、数据传输的数据量大,占用了较多的系统时间,易导致系统云台对运动目标追踪监控出现滞后现象,使得运动目标偏离监控图像画面中心,如图4所示.

图中O-xyz为摄像头坐标系,O为摄像头光心,OZ为光轴;Ouv-uv为图像平面坐标系,是以像素为单位的直角坐标系,光轴与图像平面交点Oxy位于图像平面的中心;P(u,v)为实际运动目标在图像平面成像点,理想情况下,希望P(u,v)位于图像平面中心,即与Oxy重合;△u、△v分别为云台追踪滞后导致P(u,v)与Oxy在图像平面u、v方向上的偏差值.

为了减少偏差值,使追踪的运动目标成像点尽可能位于图像平面中心位置,采用2个PD控制器分别控制PWM驱动器输出电压脉宽,实现云台水平、垂直方向的电机转角动态调节,控制系统结构如图5所示.

图3 目标跟踪算法流程

图4 运动目标跟踪偏差分析

图5 下位机动态跟随系统框图

PD控制器将系统的输入误差e(t)经过比例(P)、微分(D)计算,得到PWM驱动器的电压脉宽输出值u(t),其关系如下:

式中,Kp、Td分别为比例系数、微分时间常数.

根据控制对象不同,水平、垂直方向的电机PD控制器输入误差e(t)分别对应图像平面u、v方向上的偏差值△u(t)、△v(t).

4 系统测试

为测试系统对运动目标的跟踪监控性能,笔者以红色玩具车作为被监控的运动目标,当玩具车从右往左匀速驶入监控区域时,智能化视频跟踪监控系统对运动目标跟踪的效果如图6所示.图6(a)~(e)描述了运动目标(图中红色小车)跟踪过程中不同时刻的实时跟踪效果,图6(f)描述了运动目标在各个时刻的坐标轨迹.可以看出,当运动目标进入摄像头的视野范围后,摄像头精确地捕获到了运动目标,并快速地追随运动目标调整云台姿态,使运动目标始终位于摄像头图像中心平面区域.

图6 运动目标跟踪效果

测试结果表明,智能化视频跟踪监控系统实现了运动目标的精确检测与跟踪,并具有很好的鲁棒性和实时性.

5 结语

设计并实现的基于运动目标检测与跟踪的智能化视频跟踪监控系统,通过Opencv实现了上位机基于混合高斯背景建模的运动检测及基于Camshift的运动跟踪算法,并结合PD控制器完成了下位机云台跟踪控制系统.实验结果表明,系统运行稳定,在目标颜色特征显著的情况下,摄像头能精确地检测与跟踪运动目标,具有较好的鲁棒性和实时性.

猜你喜欢

云台摄像头监控
云上之家——万科·郡西云台
龙门山·卧云台
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
The Great Barrier Reef shows coral comeback
帮我买云台
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
基于STM32的无线FPV云台设计
奔驰360°摄像头系统介绍