基于Kalman滤波的室内无人机实时定位算法研究
2020-01-03侯杨阳华壮
侯杨阳 华壮
摘 要:文章针对小型无人机在室内这一类环境的识别与跟踪进行了研究。利用标志小球作为机身特征点,可以实现无人机的快速捕捉和实时跟踪;在此基础上加入Kalman滤波运动估计,去除跟踪过程中的噪声干扰;最后计算出目标三维信息,并利用Windows内存映射技术将该数据传输给访问进程,实现了室内小型无人机位置信息的实时捕捉和传输,为其自主飞行提供了可靠的数据依据。
关键词:摄像机标定;目标识别与跟踪;Kalman运动估计;内存映射
中图分类号:V279;TN98 文献标识码:A 文章编号:2096-4706(2020)16-0013-04
Research on Real-time Positioning Algorithm of Indoor UAV Based on Kalman Filter
HOU Yangyang,HUA Zhuang
(School of Physics and Electronic Engineering,Jiangsu Second Normal University,Nanjing 211200,China)
Abstract:Aiming at the indoor environment,the recognition and tracking of small drones are studied. Using the marker ball as the feature point of the fuselage,the UAV can be quickly captured and tracked in real time;on this basis,Kalman filter motion estimation is added to remove the noise interference in the tracking process;finally the three-dimensional information of the target is calculated and used the Windows memory mapping technology transmits the data to the access process,which realizes the real-time capture and transmission of the position information of the indoor small UAV,and provides a reliable data basis for its autonomous flight.
Keywords:camera calibration;target recognition and tracking;Kalman motion estimation;memory mapping
0 引 言
目前,无人机在户外的应用范围已经非常广泛,而由于室内环境复杂、障碍物多等原因,无人机在室内的应用范围则相对比较局限,但也已经有研究开始扩展其可用性。利用无人机对室内状况的巡查和监督中,无人机的定位和跟踪尤为重要。现有的无人机普遍采用的是惯性导航与GPS导航系统来确定自身的位置信息,这种方法不具备可视性。因此,本文基于实验室对双目视觉与目标识别方面的研究基礎,利用双网络摄像头确认与跟踪无人机的空间信息,使得无人机的姿态信息一目了然。本文的研究内容为室内无人机姿态控制研究领域的工作者提供了另外一种发展思路。
1 目标识别
1.1 摄像机标定
相机平行放置的立体视觉系统最简单[1],也是最常用的方式,使双目成像模型得到简化,获取物体的三维数据变得更加容易,简化后的理想双目视觉成像系统原理如图1所示。
在理想的平行成像系统中,空间一点A(XW,YW,ZW)在左右图像中坐标分别为al(ul,vl)和ar(ur,vr),两相同摄像机平行放置,焦距相等,均为f [2]。
根据该原理,本文搭建了平行的双目视觉系统,其硬件主要包括两个一体化高清网络高速智能球形摄像机,两根足够长的网线,网络服务器,一台计算机和固定模拟云台。硬件组成实物结构如图2所示。
摄像机标定有多种方法可实现,其中,基于标定物方法有诸多优点:对摄像机模型没有限制,适用于任意摄像机模型,有较高的标定精度,操作简单易实现[3]。因此,本文选用该方法进行标定,获取两摄像机的参数矩阵。
在空间中选取样本点,计算得出左右摄像机的M矩阵:
1.2 运动目标的检测识别与跟踪
本文选用橘黄色乒乓球来作为机身反射物,将乒乓球固定在小型无人机机身上作为机身特征,如图3所示。
本系统需要识别的运动实则为规则球状目标的运动,可以有效利用该球的两大特点:颜色和形状特征。小球或者小型无人机所处的环境是未知的,可能复杂也可能简单,因此根据目标本身所具有的特征,将其从周围环境中检测出来,是算法需实现的第一步。
具体操作步骤为:
(1)图像的采集处理,在Visual Studio 2013上实现两摄像机的同步显示。
(2)图像预处理,消除原始图像噪声[4]。
(3)R通道颜色分离,将图像二值化,并进行形态学腐蚀滤波操作,消除毛刺,得到感兴趣区域;
(4)查找轮廓,计算检测到的所有轮廓的周长和面积,进行轮廓剔除处理,最终得到小球的在二维图像中的圆形轮廓[1]。
(5)由数学知识可知,给定一个圆,半径为R,可以求得该圆形的面积为S,轮廓周长为C,有:S=πR2,C= 2πR,设定面积-周长系数为k,那么该圆的面积和周长满足以下关系:
k==1
也就是说,给定以闭环区域,求得它的面积和周长,就能够计算该区域的面积-周长系数k,对k可以大致做这样的划分:
利用轮廓剔除系数,可以有效过滤掉非目标的连通区域,最终提取到目标小球的轮廓,获取左右视图目标中心点坐标。
2 基于Kalman的目标运动估计
2.1 Kalman滤波原理
卡尔曼滤波器(Kalman Filtering,KF)是针对动态系统的状态序列进行线性最小误差估计的一种滤波算法,主要利用递推原理来修正估计状态,属于常用的目标状态估计算法滤波器[5]。
单纯利用摄像机进行对目标的跟踪,很容易受环境的干扰,因此为了更加精准地定位无人机目标运用卡尔曼滤波器,其可以根据上一帧小球的位置信息,结合当前帧的观测结果,实时准确地预测和更新当前帧的运动情况。建立卡尔曼滤波器数学模型时,在很短的时间内小球的运动可以看成是线性直线运动[3]。
具体实现步骤如下:
(1)计算运动目标的特征信息。通过对小球进行预处理以及颜色轮廓特征检测,得到左右摄像机小球质心的二维坐标。
(2)定义卡尔曼滤波器。
状态向量:
X=[x dx y dy]T
x、y分别是中心点在图像坐标系中沿x、y方向的位移,dx、dy则分别是沿x、y方向的速度。
状态转移矩阵:
观测值则为当前帧直接检测到的小球的二维像素信息,横纵坐标分别为x、y,则观测矩阵:
将第一帧检测出的特征信息作为初始值,对卡尔曼滤波器进行初始化,即对X0赋初值。
(3)用卡尔曼滤波器利用前一帧的信息和当前帧的观测值对当前帧的目标区域进行预测和更新,并记录更新后的当前帧的目标信息。
2.2 实验验证与分析
2.2.1 配置环境
(1)两台网络化的球形摄像机作为图像采集设备,图像尺寸为1028×720,帧率为25帧/秒。
(2)使用一台式电脑作为图像处理计算机:CPU为Intel Core i5,主频可达到3.20 GHz,内存为8 GB。
(3)电脑为32位Windows 7操作系统,以Visual Studio为开发环境,使用C++语言实现程序编写。
2.2.2 实验验证
加入Kalman滤波器后,左右视图跟踪轨迹如图4所示,其中曲线表示目标的运动轨迹。
通过实验数据采集,运动轨迹点的计算值和测量值之间的比较如表1所示。
实验结果表明,该系统测量误差在20 mm以内,较其他测量方法有较高的测量精度;系统处理时间控制在50 ms以内,即平均每秒处理20帧,满足系统实时性的要求;加入Kalman滤波器后,去除了环境干扰造成的毛刺现象,运动轨迹较为平滑。
3 基于内存映射的数据传输与共享
通过上述内容可以得到目标的实时位置信息,这些数据需要被实时快速地传输给无人机飞行控制系统,即图像处理进程和飞行控制进程间需要数据的传输通道,使得无人机可以根据反馈信息及时调整自身位置情况[1]。针对这一需求,对同一PC中不同进程间的数据传输方法做了具体分析,最后采用了内存映射文件,利用该技术来实现不同进程间数据的实时传输与共享[6]。实验表明,该方法在进程数据实时传输上取得了较为理想的效果,实验结果如表2所示。
可以看到目标识别与跟踪进程中得到的数据被实时地传递给另一访问进程,实验效果较为理想。同样,在无人机的上位机飞行控制系统中也可以实现对该数据的实时访问与读取,这为整个无人机飞行控制系统实现自主飞行提供了可靠数据,打下了坚实的基础。
4 结 论
针对室内环境区域,本文實现了基于Kalman滤波的无人机实时定位方法。首先,利用双目视觉原理搭建了实验系统平台,并对两摄像机进行了参数标定;利用机身辅助特征——黄色小球,实现对目标的准确识别;为了更好地追踪目标,加入了Kalman滤波运动估计,利用递推原理建立帧间关系,实现跟踪的可靠性;最后将得到的目标三维数据通过内存映射的方法实时传输给访问进程。整个方法有较强的实时性,且获取的三维信息有较高的精度,具有一定的应用价值。
参考文献:
[1] SHIN D,TJAHJADI T. Clique descriptor of affine invariant regions for robust wide baseline image matching [J]. Pattern Recognition,2010,43(10):3261-3272.
[2] MARINAS J,SALGADO L,ARR?SPIDE J,et al. Traffic Sign Detection and Tracking Using Robust 3D Analysis [C]//Proceedings of the 2012 Third International Conference on Emerging Security Technologies. Washington:IEEE,2012:78-81.
[3] GUPTA S G,GHONGE M M,JAWANDHIYA P M. Review of Unmanned Aircraft System(UAS) [J]. International Journal of Advanced Research in Computer Engineering & Technology (IJARCET),2013,2(4):1646-1658.
[4] 于清华,黄开宏,卢惠民,等.基于双目视觉的足球机器人对三维空间目标的运动估计与拦截 [C]//西安:中国自动化学会控制理论专业委员会.第三十二届中国控制会议论文集(D卷),2013:5943-5948.
[5] 赵广辉,卓松,徐晓龙.基于卡尔曼滤波的多目标跟踪方法 [J].计算机科学,2018,45(8):253-257+276.
[6] RICHTER J,NASARRE C.Windows核心编程:第5版 [M].葛子昂,周靖,廖敏,译.北京:清华大学出版社,2008.
作者简介:侯杨阳(1989—),女,汉族,山东菏泽人,助理实验员,硕士,研究方向:图像处理算法分析与研究。