目标跟踪融合了人工智能,自动控制,计算机视觉,模式识别等领域的先进技术,在交通、医疗、航天、安全生产等领域有着广泛的应用前景。PTZ摄像机[1]由CCD摄像机、变焦变倍镜头、全景云台、解码器等组成。目前,PTZ镜头监控系统通常是监控人员持续监视屏幕,通过操作键盘摇杆对进入监控区域的运动目标进行跟踪。当目标远离摄像机时,需要人工手动控制镜头变倍,对目标进行特写放大。在手动控制PTZ镜头实现对目标实时跟踪和变倍的过程中,存在人为跟踪误差,甚至导致跟踪失败。本课题提出一种智能化PTZ摄像机自动跟踪运动目标且实时变倍的监控系统。通过选定待跟踪的运动目标,采用Kalman滤波器对目标的运动状态进行估计和预测,在预测位置再使用Camshift算法进行特征匹配,完成目标锁定,分析其运动状态,通过闭环控制机制,自动控制云台转动实时跟踪监控目标,同时镜头自动变倍,使监控目标以合适的尺寸出现在监控画面中。同时,在复杂的监控背景下,通过Android手机手动控制云台摄像头配合自动跟踪系统,使监控效果更加准确,提高了可操作性。
1系统的整体结构和功能概述
本文设计的PTZ摄像机自动跟踪运动目标的智能控制系统[2]由PTZ摄像机、视频电缆、视频采集卡、PC机、RS232-RS485转换器、通信电缆和基于Android系统的智能手机等组成。如图1所示,系统的各部分主要功能如下:PTZ摄像机由CCD摄像机、变焦变倍镜头、全景云台以及解码器等组成,是智能跟踪控制系统的前端视频采集设备,用于拍摄监控区域内的视频;视频电缆将摄像机采集到的视频信号传输到视频采集卡内,完成视频信号的远距离传输;视频采集卡将模拟视频转换为数字视频;基于OpenCV平台[3],PC机通过跟踪算法对摄像机反馈来的数据实时分析处理,将控制指令通过串口发送给云台和镜头,实现云台的转动和镜头的变倍;RS232-RS485转换器完成接口的转换,PC机的串口为RS232接口,抗干扰能力差,传输距离有限,而RS485采用差分信号传输,抗干扰能力强,摄像机内置使用RS485接口,通过接口转换,实现PC机对云台和镜头的控制;通信电缆将PC机发送的串口指令传输给云台和摄像机,完成指令的传递;在环境背景比较复杂的情况下,为了配合智能自动跟踪系统,基于Android系统的智能手机通过无线连接可手动调节云台转动和镜头变倍,使跟踪效果更准确,提高了可操作性。
图1 系统框图
Fig.1 System framework
2 跟踪运动目标算法的研究
2.1 Kalman滤波器
Kalman滤波器是一种线性递归滤波器,基于系统前一时刻的状态序列对下一状态做最优估计,通过动态状态方程和观测方程描述系统[4-5]。在视频跟踪算法中,主要用来预测目标下一时刻的位置,缩小了寻找目标的范围,实现目标快速、准确跟踪,提高了系统的实时性。
建立系统的状态方程为:
(1)
式(1)中,A是维系统状态转移矩阵;描述动态系统在时间k-1到k的状态之间的转移关系;是时刻维系统状态向量; 是在时刻的随机干扰噪声向量。
建立系统的观测方程为:
(2)
在系统观测方程(2)中,H是维系统观测矩阵;是时刻维观测向量; 是时刻的系统观测噪声向量。
其中,、通常假设为互相独立的零均值高斯白噪声向量,即得到如下关系:,,,,其中,k,j=1,2,3…。
设为系统噪声矢量的协方差矩阵,为观测噪声矢量的协方差矩阵,则得到以下关系:
(3)
(4)
式中为克罗尼克函数,其特性是:当k等于j时,其值为1;当k不等于j时,其值为0。
Kalman滤波的目标,已知系统转移矩阵A,观测矩阵H,系统噪声矢量的协方差矩阵Q,观测噪声矢量的协方差矩阵R,从观测到的中恢复。