王毅
摘 要:为保证无人机在视觉传感器的辅助下进行自主着陆的着陆精度、实时性和安全性,需要具备一套跟踪速度快、稳定性高的图像处理跟踪算法。本文首先介绍在检测识别到目标后,在目标所在区域网格撒点,初始化若干个跟踪特征点;之后,采用L-K光流法跟踪初始化后的像素点,并采用前后误差法,筛选去除跟踪效果差的点;然后,为保证跟踪目标的完整性,采用模板匹配,比较前后两帧跟踪的目标的相似性,以此结果判断是否需要重新检测识别;最后,以拍摄的视频资料为素材进行算法实时性和跟踪稳定性的验证。实验结果表明设计的目标跟踪算法可以快速稳定的跟踪目标,满足无人机进行自主着陆的要求。
关键词:无人机 实时性 稳定性 目标跟踪 L-K光流法 前后误差法
中图分类号:TP13 文献标识码:A 文章编号:1674-098X(2017)08(a)-0009-04
Abstract:In order to ensure the landing accuracy, real-time and safety of autonomous landing of unmanned aerial vehicle (UAV) with visual aids, a fast tracking algorithm with high stability is needed. In this paper, firstly, after the detection and recognition of the target, the grid scattering points in the target area are initialized, and 100 tracking feature points are initialized. After, the L-K optical flow method is used to track the initialized feature points, and the Forward-Backward Error Automatic Detection is used to filter out the points with poor tracking effect. In order to ensure the integrity of the tracking target, template matching is used to compare the similarity of the targets before and after the two frames tracking, and the result is used to determine whether the target needs to be re-detected and re-recognized. The experimental results show that the designed target tracking algorithm can track the target quickly and stably, and meet the requirement of UAV landing autonomously.
Key Words:Unmanned aerial vehicle; Real-time; Stability; Target tracking; L-K optical flow method; Forward-Backward Error Automatic Detection
隨着军事航空和日常生化智能化的快速发展,无人机(Unmanned Aerial Vehicle,UAV)自主飞行能力越来越受到关注。而自动着陆是无人机进行自主飞行中最危险也是要求最高的过程[1]。现有的且无人机常用的着陆导航方式有全球定位系统(Global Positioning System,GPS)导航和惯性导航(Inertial Navigation System,INS)。但INS导航系统是通过积分迭代运算得到的无人机位置和速度信息,随着时间的推移会不断地累计误差;GPS导航虽然精度高、使用简单,但易受电子干扰,极易丢失信号[2-3]。近年来,视觉导航的提出与快速应用为这一难题的解决提供了新的思路。
视觉导航是基于视觉传感器,通过设计图像处理算法进行无人机导航信息的解算[4]。其具备体积小、易装备、功耗低、抗干扰性能较好、精度较高、成本低等优点[5-6],越来越受到国际学者的青睐。而基于视觉图像处理进行导航的流程大部分是:首先进行目标检测与识别;之后为了保证相对位姿等导航信息能够实时提供,进行目标的实时跟踪;最后进行位姿等信息的解算。其中目标的跟踪算法既要保证跟踪算法的实时性,还要保证跟踪目标的稳定性,避免影响最后的导航信息的解算。所以视觉传感器能否很好的跟踪到目标是无人机完成自主着陆的一个必要环节[7]。
本文首先在检测识别到的目标区域进行网格撒点,初始化若干个跟踪特征点;之后,基于L-K光流跟踪算法的基础上,采用前后误差法,进行跟踪特征点筛选,当跟踪特征点个数小于初始化跟踪特征点数目的一半时,从新网格撒点,进行跟踪特征点初始化;最后,用最小矩形框包围所有跟踪特征点,所包围的区域为跟踪到的目标,以跟踪到的目标图像与上一帧的目标图像进行相似性检测,判断是否跟踪失败,如果失败则从新检测识别,若成功,则继续跟踪算法。
1 目标跟踪算法流程
本文设计的目标跟踪算法流程如图1所示。
(1)对检测识别到的目标进行跟踪特征点初始化(100个特征点)。
(2)下一帧图像开始用前后误差光流跟踪法进行跟踪,去除跟踪效果较差的特征点。
(3)通过跟踪到的特征点,用矩形框逼近,得到跟踪后的目标图像。endprint
(4)将跟踪后的目标图像与跟踪前的目标图像进行归一化相似性检测。
(5)若相似性大于0.9,则认为跟踪正确,进入(6)否则重新检测识别目标,然后进行跟踪特征但初始化。
(6)判断跟踪特征点数目,若数目大于50,则进入step 7;否则重新跟踪特征点初始化。
(7)对跟踪后的目标进行处理,进行相对位姿即导航信息解算。
1.1 跟踪特征点初始化
为了保证能够实时的跟踪检测识别到目标,本文采用L-K光流法作为目标跟踪算法的核心。而L-K光流跟踪是对特征像素点进行跟踪。故须合理的利用特征点来表示目标图像,通过跟踪特征点来达到跟踪目标图像的目的,并且在跟踪完毕后通过跟踪后的特征点能够重新找到目标在整幅图像中的位置。
本文采用网格撒点的方式,将检测识别到的目标均分成若干个区域,每个小区域的中心作为跟踪特征点,以此完成跟踪特征点初始化。假设图2(a)所示为检测识别后的目标图像,初始化的跟踪特征点如图2(b)所示。
1.2 前后误差光流跟踪
点的跟踪是计算机视觉的通常的任务:给定时刻某个点的位置,目标就是估算出t+1时刻点的位置。L-K光流跟踪实现的就是这个目的。本文不采用L-K光流跟踪中检测易跟踪角点部分的算法,只采用跟踪部分的算法。输入的角点通过1.1节的算法来提供。但点的跟踪通常面临跟踪到错误的点或跟踪的点在下一时刻已消失[8]。故采用英国Surrey大学的学生Zdenek Kalal提出的前后误差法进行算法设计。
前后误差法是基于所谓的前后相容性的假设:正确的跟踪应该不依赖实时流的方向[8]。故若采用的跟踪器为L-K光流跟踪,可以如此利用该假设:(1)跟踪器从t时刻到t+1时刻跟踪的点可以生成一条跟踪轨迹;(2)跟踪器从t+1时刻到t时刻跟踪相同的点也可以生成一条跟踪轨迹;(3)两条轨迹进行比较,如果两条轨迹不同,则认为前向跟踪的点是错误的。如图3所示,图中点①跟踪正确,点②明显跟踪错误。
前后误差光流跟踪的轨迹示意图如图4所示。设是一个图像序列,是t时刻一个点的位置。使用L-K光流跟踪器,对向前跟踪k帧,生成的轨迹为。其中f代表向前,k代表帧数。之后,向后跟踪,即从向前跟踪到时刻,生成的轨迹为。其中b代表向后。前后误差被定义为这两条轨迹的相似性。前后误差为:||||,即点与之间的欧式距离。通过设置阈值,来判断该点是否跟踪正确。本文通过反复试验,设置为前后误差大于5个像素,则认为跟踪错误。
1.3 相邻目标图像相似性检测
在采用前后误差光流跟踪算法后,初始化后的跟踪特征点中,会被去除掉一部分跟踪效果不好的点。此时,用矩形逼近找出当前帧目标图像可能因为跟踪特征点去除太多而使得目标图像缺失一部分,会影响到最后的导航信息的解算。故为了保证跟踪的稳定性,需通过一定的手段来判断当前跟踪到的目标是否为完整的所需要的目标。
本文采用模板匹配的方式,运用归一化相关匹配法,来计算当前跟踪到目标与上一帧的目标的相似性。流程如下:(1)将当前帧跟踪到目标图像进行尺度变换,使得当前目标图像尺寸和上一帧目标图像尺寸相同;(2)采用归一化相关匹配法,对当前目标与上一帧目标图像进行模板匹配;(3)若得到的相关系数大于0.9,则认为跟踪到的目标图像是正确的目标,否则从新进行检测识别,找到正确的目标图像。归一化相关匹配法的原理公式如下:
(1)
其中,R的值域为[0,1],0表示完全不相似,1表示完全相似。为模板图像在处的灰度值,为目标图像在处的灰度值。
2 实验结果
算法在Inter(R)Core(TM) i5-6200 CPU with HD Graphics 2.40GHz处理器、4.00GB内存的PC机上运行。素材视频分辨率为1280×720,帧率为29帧/s。与近年来提出的实时目标跟踪算法——压缩感知跟踪算法,进行对比分析,对比结果如表1所示。每帧运行时间如图5所示,运行结果目标图像如图6所示。
表1,图5给出了本文设计的目标跟踪算法与压缩感知跟踪算法的运行周期:压缩感知跟踪的运行周期为76.66ms(约13帧/s);本文设计的目标跟踪算法运行周期为29.87ms(约33帧/s)。由此可知,本文设计的目标跟踪算法实时性较强,满足视觉辅助无人机自主着陆的需求。
图6则给出了压缩感知跟踪算法和本文设计的目标跟踪算法运行结果的一部分。有图可知,本文设计的算法相对于压缩感知跟踪算法,更加稳定和精确。
3 结语
本文针对视觉辅助无人机自主着陆对目标跟踪算法的实时性、稳定性的要求,以L-K光流跟踪为核心,结合前后误差法和归一化相关性模板匹配算法,设计了一套符合要求的目标跟踪视觉处理算法。L-K光流跟踪器保证算法的实时性,前后误差法和归一化相关性模板匹配则保证了跟踪的稳定性。经验证,该算法满足视觉辅助无人机进行自主着陆对目标跟踪的实时性和稳定性的要求。
参考文献
[1]吴赛飞,王新华,贾森,等.基于红外视觉的固定翼无人机自动着陆引导系统[J].电子测量技术,2016(3):131-135.
[2]KONG W W,ZHANG D B,WANG X. Autonomus landing of an UAV with a ground-based actuated infrared stereo vision system[A].IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS)[C].IEEE,2013:2963-2970.
[3]吳显亮,石宗因,钟宜生.无人机视觉导航研究综述[J].系统仿真学报,2010,22(1):62-65.
[4]丁萌,曹云峰.利用计算机视觉获取无人机飞行姿态角[J].传感器与微系统,2007,26(11):65-68.
[5]RICHARD W M,GREGORY A,DEBITETTO P A,et al.Vision-aided Navigation for small uavs in gpschallenged environments[J].The Draper Technology Digest,2007.
[6]KONG W,ZHOU D,ZHANG Y,et al.A ground-based optical system for autonomous landing of a fixed wing UAV[A].IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS)[C].IEEE,2014:4797-4804.
[7]邓红德,王丽君,金波.一种无人机自主着陆视觉跟踪方法[J].计算机测量与控制,2009(7):1387-1389.
[8]Kalal Z, Mikolajczyk K, Matas J. Forward-Backward Error: Automatic Detection of Tracking Failures[A].In: Pattern Recognition(ICPR),2010 20th International Conference on[C].Istanbul,Turkey:IEEE, 2010:23-26.endprint