移动机器人视觉定位方法的研究
首先从预测质心点开始,在100×100像素的动态窗口(以预测质心点为中心)内,按照逆时针搜索周围8邻域象素的趋势进行环状搜索,并分别计算由每个搜索象素决定的子块与上一帧的目标质心点T决定的子块的HS特征值之差的平方和。
其中P[i][j](i,j=0,1,2)表示由点P决定的子块中的各个像素;T[i][j](i,j=0,1,2)表示由上一帧的质心点决定的子块中的各个像素。
最后,判定某个点P是否与上一帧的特征点T匹配的标准为:P须同时满足式(7,8)。
其中P.H表示待匹配点P的H特征值;meanH表示目标区域的平均H特征值;满足式(8)能够保证匹配点在目标区域内。
2.2.3聚类色块区域
其目的是找出色块区域,色块区域的质心点即为特征跟踪结果。在步骤(2)中已经找到了聚类的起始点,由于H反映图像的色彩特性,所以根据匹配点的H特征值是否在由色块的平均H特征值确定的某个范围内来聚类色块区域,即满足式(8)。这样既可保证识别精度,又减少了图像信息计算量。
3.二次成像法
设Zc1,Zc2分别表示在t1,t2时刻目标与成像系统的距离(深度值);d1′,d2′分别表示t1,t2时刻目标在图像平面的几何特征值,为便于表示,d1′,d2′可以是目标的像的外接圆直径或者外接矩形的边长,则有:
式(9)表明:根据同一目标、同一摄像机所摄物体的图像几何特征的变化,可以计算出它们在空间深度方向运动时距离所发生的变化,这就是二次成像法的原理。
分析式(9)可知,二次成像法能够确定目标在摄像机坐标系中的位置,但该方法在摄相机两次成像的位置变化不大的情况下误差会比较大,而且不能得到目标的运动信息。为此本文提出了利用序列图像和推广卡尔曼滤波来估计目标的空间位置和运动信息的方法。
4.目标的空间位置和运动参数估计
由于图像序列前后两帧的时间间隔T很小,本文用二阶微分方程来描述P点的运动轨迹。定义状态矢量:
则可以定义状态方程为:
其中:
V(k)为模型噪声,假设V(k)为零均值的高斯白噪声,其方差阵为Q(k)=cov(V)。
将式(1)离散化得
其中n(k)为测量噪声。假设n(k)为零均值的高斯白噪声,其方差阵为R(k)=cov(n)。
则式(10,11)组成系统的离散状态方程和测量方程,当该系统满足可观测性条件时,就可以应用推广卡尔曼滤波对目标的空间位置和运动状态进行估计。其中r(t),v(t)分别为目标相对于车体的位置和速度,下标t代表目标,i代表成像系统,a(t)为任意的标量。
5.实验结果
利用微软提供的VFW视频处理开发软件包,由CCD摄像机和相应的视频采集卡获取移动机器人前的场景图像数据,在Delphi6下开发了移动机器人视觉定位与目标跟踪系统的完整程序。本算法在CPU主频为500MHz,内存为 256MB环境下,对帧速率为25帧?s,图像分辨率为320×240的共180帧视频图像进行了实验,最终实现了对运动目标快速、稳定的跟踪。图3给出了部分帧图像的目标定位与跟踪结果。
图3 目标定位与跟踪结果。
为了验证本文提出的对目标的空间位置和运动参数估计算法的有效性,利用获取的目标质心点的位置时间序列对目标运动状态进行了跟踪仿真实验。
由于仿真的相似性,本文只给出了推广卡尔曼滤波在OZ方向的仿真结果,如图4所示。其中图4(a,b)分别是观测噪声方差为3个像素时目标在Z轴方向的位置p和运动速度v的估计误差曲线(150次MonteCarlo运行)。其中目标的起始位置为(115,1,10)m,速度为(110,115,215)m/s,加速度为(0125,011,015)m/s2;摄相机运动为实际中容易实现的且满足机动的条件,其初始位置为(010,015,010)m,初始速度为(015,0175,110)m/s,运动加速度为(0125,0105,015)m/s2.
图4 推广卡尔曼滤波Z方向(深度)的仿真结果
由仿真结果可见,随着机器人车体的不断机动和滤波次数的增加,目标位置的估计值在20帧左右就可收敛到理论真值,而且抖动很小,可满足系统快速定位与跟踪要求。
6.结束语
本文对移动机器人的局部视觉定位方法进行了深入研究。二次成像法要求摄像机第二次成像时的位置要有较大变化,从而导致利用序列图像所获取的目标位置信息误差较大。与之相比本文提出的定位方法可更精确地得到目标的空间位置和运动参数。这为移动机器人的路径规划、伺服跟踪等提供了更可靠的依据。
- Atmel针对工业机器视觉应用推出快速CMOS相机(10-22)
- 工业机器视觉系统市场迅猛发展,行业应用新视点逐步扩大(11-06)
- 基于DSP和FPGA的机器视觉系统设计与实现(03-07)
- Xilinx用于工业自动化的机器视觉解决方案(11-30)
- Xilinx多协议机器视觉摄像机参考设计(12-01)
- 德州仪器(TI)3D机器视觉参考设计(11-30)