APP下载

基于MeanShift算法和改进PID算法的图像追踪研究

2014-04-21于昆昆于正林柳常清

机械工程师 2014年2期
关键词:实验台概率密度像素点

于昆昆, 于正林, 柳常清

(长春理工大学机电工程学院,长春130022)

0 引言

实时跟踪运动的目标是计算机视觉研究领域的一个重要组成部分,在日常生活,天文及国防科技中都被广泛应用。通常所用的跟踪算法是MeanShift算法、CamShift算法。MeanShift算法是一种利用梯度归零法迭代寻找局部数据密度最大值的方法。本文利用了MeanShift算法实时性好、利于跟踪的特点,并结合改进的PID控制算法实现了目标的追踪。PID参数的整定是PID算法改进的主要研究的内容,目前PID参数整定大多依靠经验,尤其是在做工程项目的时候。本文采用自适应性积分分离的PID算法,此算法不但充分利用了PID结构,而且相较于普通的积分分离的PID算法还使得PD到PID能够平滑过渡,从而更加有效灵活地控制系统。由于本实验台依靠俯仰和旋转两个方向的电机驱动,因此能够实现左右和俯仰及其复合方向上的追踪,并且是有色目标的追踪。

实验证明本实验台可以模拟简单跟踪场景,为运动分析提供有效的实验数据。

1 Meanshift算法及系统控制

为了更好地理解MeanShift算法,将一幅摄像图像建立成下面的模型。一副图像由一组二维空间中连续排列的像素点组成,则一个像素点可以由一个位置坐标向量(x,y)表示。在颜色空间中,一个像素点可以由一个颜色向量表示,比如在 HSV 颜色空间中,向量(h,s,v)可以表示一个像素点,其中h为色彩值,s为纯度值,v为明度值;同样在 RGB 空间中,向量(r,g,b)可以表示一个像素点,r为红色值,g为绿色值,b为蓝色值。现在将二维空间Q和颜色空间R合并成一个大于等于三维的空间,记为QR,其维数为二维空间和颜色空间之和。如此一幅摄像图就可以由QR空间的像素点描述[1]。

在QR空间中,像素点X用位置向量Z和颜色向量M表示。为了利用核函数估算点X的概率密度[2],定义两种模式:X像素点的颜色越相近于Xi像素点颜色即M值越相近,X概率密度越高;X位置越接近像素点Xi即Z值越相近,X概率密度越高。由此所定义的总概率密度,是两个模式概率密度的乘积,可以表示为:

其中:K()采用高斯核函数,W为QR空间中的搜索窗口,hQ、hR分别为二维空间和颜色空间的带宽,C为定值常量。代表位置空间内位置相近程度,Xi与X相距越近,此值越大代表颜色相似程度,像素点颜色越相似,此值越大。式(1)的整体意义可以描述为:选用像素点X位置邻域内具有像素数最多的颜色值作为该点的像素密度估计。MeanShift算法的实现是使像素点向着梯度归零的方向转移。即:梯度趋于零向量。其中

梯度等于零的点就是QR空间中密度最大的点,密度最大的点就是摄像头视景即二维平面空间中所要追踪的对象(如人脸、小球、激光光点)的位置。通过迭代计算出此点为(Z0,M0), 其 实 这 就 是MeanShift算法包括位置信息和色彩信息的向量,坐标向量Z0=(x0,y0)与摄像头视镜中心的偏差为x0、y0。因此当对象移动时,依次求出(x1,y1),(x2,y2)...,把偏差x0,x1,x2...(y0,y1,y2…)分别送入自适应积分分离的PID控制器,通过PID校正得到表征速度的电压信号控制二维转台的旋转(俯仰运动)从而达到跟踪有色目标的目的。控制结构原理图如图 1[3]。

图1 控制结构框图

2 关于自适应积分分离的PID控制

在普通的PID控制中,积分参数的作用是消除静态误差从而提高控制精度。但是普通PID控制器的输出在系统开始启动或者停止运作或者外界对其干扰产生振动时的较短时间里的积分I积累会造成很大偏差,导致不能正常驱动电机,产生大幅振动或者卡死,严重降低整个系统的使用寿命。而普通积分分离的PID算法比普通PID控制有优势,它的基本原理是:当被控制量(本系统的被控制量是偏差xi,yi)与设定值的差值较大时,积分作用I被完全取消,以避免由于积分I积累过大反而降低系统稳定性;当被控制量与给定值的差值较小时,积分作用被完全引入以减少静态误差,提高系统稳定性。也就是在不同的偏差范围内选取不同的积分分离影响系数σ(σ等于 1或0):

其中n>0的整数。当xn的绝对值大于阈值e时,σ取值0,PID控制器去除积分I作用,只采用PD控制;当xn的绝对值小于阈值e时,σ取值1,采用PID控制。式(4)同样适用于yn。

虽然普通积分分离在系统刚开始启动或者结束或者外界干扰振动时,减少了超调量,提高了系统稳定性,但是在某些情况下只是在理论上可行,因为阈值e的选取很困难。如果e值太小,那么偏差|xn|在系统将要稳定或者已经稳定时才起到作用,作用效果几乎为零。如果e值太大,PID整定过程脱离积分区又太困难,积分仍旧会积累误差[4]。

为了充分利用PID结构,并且实现PD到PID的平滑过渡,需寻找一随偏差|xn|变化的自适应函数 α=g(|xn|,k,ρ),k、ρ为自适应积分影响系数。此函数必须随偏差|xn|增大而减小,随|xn|减少而增大。经大量试验证明,我们选取高斯函数:,r为给定值,一般大于0。该环节具有积分抑制作用,当积分不足时加上该环节,使上升时间更长,反而不利。因此我们顺延普通积分分离的方法,再加上一偏差判定,即判定

图2 控制程序框图

经过试验证明,在此应用系统中η取0.6最好。这就是自适应积分分离的PID校正算法。自适应积分分离的PID校正了MeanShift所得坐标偏差,其实这在控制结构上弥补了MeanShift算法的一些不足,可以说在另外一面改进了MeanShift算法。该程序的MeanShift算法的实现是由OpenCV封装,在VC++6.0中编写的整个控制程序[5],程序框图如图2所示。

3 实验结果

本文采用的实验台有2个自由度,左右和俯仰方向各安装了一个交流伺服电机,通过旋转实现追踪,如图3~图5所示。

从背景可以看出实验台实现了实时追踪。

图3 二维转台

图4 手掌从左向右移动

4 结语

本文通过MeanShift算法和自适应积分分离的PID算法的有效结合实现了有色物体的实时跟踪,实验证明此系统可模拟一般的跟踪场景,具有较高实用价值。

[参考文献]

[1]孙达.基于概率密度的图像处理算法的研究与应用[D].哈尔滨:哈尔滨工业大学,2009.

[2]张玉敏.基于不同核函数的概率密度函数估计比较研究[D].保定:河北大学,2010.

[3]高终毓.机电控制工程[M].3版.北京:清华大学出版社,2011.

[4]蔡逢煌,杨富文,林鸿.改进型积分分离PID控制的设计[J].福建电脑,2003(9):41-42.

[5]KAEHLER B.学习 OpenCV(中文版)[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009.

猜你喜欢

实验台概率密度像素点
基于CDIO-E教学模式自制实验台的研究
基于局部相似性的特征匹配筛选算法
连续型随机变量函数的概率密度公式
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
一种基于虚拟仪器的电控柴油机实验台的设计
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
模糊PID在离合器综合性能实验台中的应用
Hunt过程在Girsanov变换下的转移概率密度的表示公式
随机变量线性组合的分布的一个算法