APP下载

基于视觉的无人机导航技术研究

2021-06-18卢艳军

自动化仪表 2021年4期
关键词:角点滤波特征

卢艳军,刘 飒

(沈阳航空航天大学自动化学院,辽宁 沈阳 110136)

0 引言

无人机以其成本低、效率较高、无人员伤亡风险、机动性能好、使用方便等优势,被广泛应用于军事和民用领域。无人机导航可以通过惯性导航系统(inertial navigation system,INS)、全球定位系统(global position system,GPS)、欧洲伽利略导航系统以及中国北斗卫星导航来实现,然而其信号不是总能获取的。当失去GPS 信号时,随着时间的推移,惯性测量单元(inertial measurement unit,IMU)的累积误差会越来越大,导致导航无法满足任务要求,甚至会造成更严重的后果。计算机视觉可以通过视觉采集设备对视觉信息进行采集,并通过计算机系统对视觉信息进行处理、分析,实现对目标的检测、识别、跟踪、定位等功能,且抗干扰能力很强。因此,将视觉采集引入无人机导航,利用视觉采集的实时信息与IMU 和GPS 进行融合,可以很好地解决系统失去定位的问题。

视觉导航通过视觉传感器选取一个既定目标作为绝对零点,将其作为坐标系的原点供IMU 参照比对,并将二者信息融合实现无人机自身定位,以便完成更高级的任务,如无人机自主着陆控制[1-3]和撞线回收[4]等。

1 视觉导航

随着计算机视觉技术的迅速崛起,视觉传感器在无人机导航领域引发了新的研究热潮。以单目相机、双目立体相机、RGB-D 相机和鱼眼相机等为代表的视觉传感器,可采集丰富的环境信息,且价格低廉、鲁棒性好。

本文以多种视觉传感器在导航系统中的视觉处理流程为主线,对近年来该领域的相关科研成果进行了梳理,详细分析了视觉导航中各种图像处理和信息融合方法的优势和缺陷,并对该领域的发展前景进行了展望。

2 视觉处理过程

在无人机视觉导航中,计算机视觉技术首先对视觉传感器采集到的、反馈到上位机上的图像信息进行预处理,然后对图像信息进行特征提取和图像识别,最终将输出位置信息与IMU 融合,完成后续定位跟踪导航任务。视觉处理过程如图1 所示。

图1 视觉处理过程图Fig.1 Visual processing diagram

2.1 图像预处理

获取图像质量的优劣直接关系到识别算法的设计和精度。为了保证获取图像的质量,通常需要对视觉传感器采集到的原始图像信息进行去噪、灰度化和二值化等预处理。

滤波是一种典型去噪方法,可以有效抑制噪声并保留真实的信息。杨磊[5]等通过一种自适应高通滤波器,较大程度地保留图像中小目标对象的频率信息,提高了图像预处理的鲁棒性;尹业宏[6]等使用GAUSS 滤波,克服了边界效应以获得较好的图像。林国清[7]等采用填充的方法去除孔类噪声;符宇[8]在单目避障系统中采用维纳滤波和基于边缘检测的小波去噪算法,提高了图像复原的质量。

灰度化在实际图像预处理时往往不会单独出现,而是伴随着其他方法同时处理目标图像。如:柴洪林[9]在实现无人机夜间自主着陆时,采用灰度形态学和邻域处理的方法对视频图像进行预处理;索文凯[10]通过灰度变换、色相饱和度(hue,saturation,valus,HSV)色彩变换、HU 不变距匹配等方法,保障了合作目标的准确识别率;王辉[11]还提出了改进的非线性全局映射灰度化方法,以应对边缘特性丢失和模糊的情况。

二值化旨在区分环境和目标。王红雨和尹午荣[12]等通过将简单的二值化描述方式扩充到三维向量,增强了局部二值模式算子(local binary patterns,LBP)对局部纹理特征的描述能力及其抗噪能力,进而使目标与环境区分开。

2.2 目标特征检测提取

无人机在执行导航定位任务时,需要以某个或某些静态或动态的目标作为参照物,从而确定坐标零点以获取全局信息,或者锁定已识别目标进行跟踪。因此,对“零点”的特征检测提取尤为重要。这关乎接下来的定位导航精度。

2.2.1 静态目标特征检测提取

常见的静态目标检测提取方法包括角点检测、尺度不变特征转换(scale-invariant feature transform,SIFT)算法检测、加速稳健特征(speeded up robust features,SURF)检测、随机抽样一致(random sample consensus,RANSAC)算法等。

角点特征对图像图形的分析理解具有重要的作用,是图像图形的重要特征信息之一。灰度图像、二值图像、轮廓边缘等均可作为角点检测的依据。在实际应用中,基于灰度图像的角点检测方法以其快速性好、准确性高和鲁棒性突出等优势,成为较为合适的角点检测方法。Harris 角点检测和SUSAN 角点检测是典型的基于灰度图像的角点检测方法。赵世杰在研究基于双目视觉融合惯性导航的无人机状态估计时,采用Harris 角点检测保留图像特征提高算法速度[13]。刘磊提出了一种改进的SUSAN 特征检测算法,提高了检测算法的鲁棒性[14]。

SIFT 算法基于尺度不变特征,在处理图像几何变形、分辨率差异、旋转等方面有较好效果,是计算机视觉的典型特征提取算法[15]。Jean Liénard 等利用SIFT特征检测,实现了在低成本无人机处理硬件条件下图像的三维场景重建[16]。包晓安和詹秀娟等利用SIFT特征检测,解决了目标丢失重新找回的问题[17]。Xing C 等为了提高无人机序列图像的匹配精度,使用了SIFT 算法对其进行特征匹配[18]。

SURF 算法则是SIFT 算法的高效变种,在模糊边缘或特征点较少的影像中能更为精准地提取目标物的角点,且实时性更强[19]。李鲜在研究未知环境中的无人机物体识别系统时,使用SURF 特征检测并利用双目立体视觉技术完成了三维点云的表面重建[20]。王亭亭等利用SURF 算法,在复杂环境下较好地实现了对目标的追踪效果[21]。刘琴琴等在提高图像伪造内容的检测精度研究中,利用 Forstner 检测算子提取图像的特征点,同时改进SURF 生成特征向量,提高了检测算法的精度[22]。R.A.Persad 等使用SURF 描述符匹配关键点,以提高准确性[23]。

RANSAC 可在被观测数据包含噪声、外点等各类缺陷时,通过迭代的方法估算其数学模型参数,并从中得到有用样本数据。Shirin M 等使用RANSAC 算法实现了对包括房屋、墙体以及地面的建筑物平面图像的三维点云重建,且提高了算法精度[24]。

2.2.2 动态目标特征检测提取

无人机在执行飞行任务时,通常选取运动目标作为既定目标完成跟踪或定位。根据检测原理,将运动目标检测方法分为背景差法、帧间差分法和光流法三类。

将一幅或多幅背景图像的平均值作为背景图像,利用此背景图像减去后续序列图像的当前帧和背景图像,以实现背景去除的方法被称为背景差分法。采用该方法所得到的像素数大于设定阈值,即可判定运动物体存在于被监控场景中。背景差分法的数学表达式如下:

式中:IDL为背景帧差图;BL为背景亮度分量;i为帧数;N为序列总帧数;T为阈值。

利用序列的两帧相减得到亮度差的绝对值。将其与阈值作比较,以判定运动物体是否存在于被监控场景中的运动目标检测方法被称为帧间差分法。其数学表达式如下:

式中:IDM为相邻帧差图;IM为亮度分量。

光流法的基本原理是:基于亮度恒定、帧间小运动和空间一致的假设前提,根据图像序列中像素在时间域上的变化和图像相邻帧之间的相关性,得到图像当前帧与上一帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息。光流法的数学表达式如下:

式中:Ix、Iy、It分别为图像像素点灰度沿x、y、t方向的偏导数;(u,v)为所求光流矢量。

龙迎春等利用混合高斯模型的背景差法,在摄像头静止阶段对运动目标进行检测,实现了对目标的静止跟踪[25]。贾其臣使用背景差法检测目标完成了对行人的检测与跟踪计数[26]。刘磊采用RASUAC 算法剔除误匹配点,同时使用三帧差法对目标进行检测,并实现准确定位[14]。祝奔奔等使用金字塔LK 光流法检测目标提高了障碍物识别的精度[27]。李成美等使用Shi-Tomasi 角点检测和金字塔LK 光流法结合检测目标[28]。邱鹏瑞使用改进的光流法解决了无人机由于飞行不稳导致的无法定点悬停的问题[29]。吴琦使用补偿角速率的光流微分法计算帧间像素点小位移,并用前后误差算法提取精度较高的点,以避免像素点跟踪错误,提高了光流测速的精度[30]。

另外,王长亮使用方向梯形度直方图(histogram of oriected gradient,HOG)特征和局部二值模式(local binary patterns,LBP)特征融合,提高了人体检测准确度[31];王松使用改进ViBe 检测算法,提高了算法的检测性能[32]。

2.2.3 存在的问题及展望

Harris 角点检测算子具有不受光照旋转影响的优势,但是其旋转不变性、对灰度平移和尺度变化不敏感、不具有尺度不变性等劣势,使其效果不佳。许佳佳等针对其不具有尺度不变性的缺点,以传统的Harris算法为基础构建高斯尺度空间,提取了具有尺度不变性的角点特征[33]。虽然SIFT 和SURF 检测具有较好的旋转鲁棒性,但对图像实时性要求较高的系统,此检测将不再适用。李言俊[34]等以SIFT 特征向量生成过程为基础,把欧氏距离替换为准欧式距离作为度量,以衡量特征描述符之间的相似度,使SIFT 特征匹配效率得以提高,最终使实时性得到提升。胡访宇[35]等使用图变换匹配(graph transform matching,GTM)方法对使用SURF 算法配准的遥感图像进行去除误配,使结果更准确。韩文静[36]等在SURF 算法中加入了RANSAC剔除误匹配点算法的程序,提升了定位精度和实时性。而精度和实时性都较好的RANSAC 算法在没有进一步优化时,算法的计算量明显偏大。贾彤[37]在RANSAC 算法中引入了衡量因子η,通过取η值高的情况作为样本,从而减少了迭代次数和时间消耗。

背景差法胜在原理算法设计简单。但在各种噪声干扰和复杂环境条件下,其背景建模的难度极大。Hong Liang 使用高斯混合模型背景法减少了物体检测和背景建模的时间,同时进一步提高慢运动目标的检测精度和速度[38]。帧间差分法应用于动态环境时具有较好的适应性和稳定性,但在环境运动速度过快或过慢的极端情况时将出现检测失败[39]。QU J J[40]将背景差法和帧间差分法相结合,有效地解决了漏检、误检等情况。光流法在检测识别目标位置方面具有较高的精度,但其对光照异常敏感且具有实时性差的缺陷。为了提高光流法的检测实时性,杨叶梅提出一种基于高斯金字塔的改进光流法,并将基于最大类间方差的图像分割法和形态学滤波中的开、闭运算结合使用,使运动区域提取的时间得以缩短[41]。

特征提取检测的目的在于明显区别目标与周围环境信息,稳、准、快地检测、识别出系统自身所需信息。无人机在执行飞行作战任务时,需要综合各方面性能要求以及成本问题,从而客观选取更为合适的检测方法。

2.3 视觉目标跟踪

当视觉传感器选定的“零点”为动态目标时,无人机在完成对此目标的检测后,需要对其进行识别定位跟踪,并协同导航,以确保后续导航任务的精度。在计算机视觉领域中,视觉目标跟踪是一个极为重要的分支,具有广泛的应用范围。作为人机交互、无人驾驶等领域发展的基础,其越来越受到学术界的重视。在线跟踪时,为了捕捉目标和背景在跟踪过程中的变化,必须不断更新外观模型。视觉目标跟踪基本框图如图2所示。

图2 视觉目标跟踪基本框图Fig.2 Basic block diagram of visual target tracking

2.3.1 目标跟踪方法

视觉目标跟踪算法可根据其观测模型分为生成式方法和判别式方法。近年来,以相关滤波和深度学习为代表的判别式跟踪方法以其速度快、效果好的优势,逐步取代生成式跟踪方法,一跃成为学术界的研究热点。

基于相关滤波的跟踪思想是在目标区域训练回归器,再在下一帧的目标区域中寻找响应最大的位置(即目标位置),公式如下:

式中:F为目标区域傅里叶变换;H为滤波模板傅里叶变换,H*为H的共轭转置;G为最终响应。

为减少计算量,采用如下模板更新策略:

式中:η为模板更新速率。

生成类方法的原理是以当前帧对目标区域建立的模型为基础,在下一帧寻找与所建立目标区域数学模型最为相似的区域作为预测位置。其中,粒子滤波、卡尔曼滤波、Camshift 和Meanshift 等是具代表性的生成类目标跟踪方法。齐会云为提高对动态目标的跟踪效果,使用基于CS 模型的交互式多模型例子滤波算法,提升了跟踪精度[42]。刘磊使用粒子滤波算法完成了对运动目标的跟踪[14]。李成美等利用卡尔曼滤波法预测目标下一帧位置,完成了动态目标的精准跟踪[28]。李晓松[43]和贾其臣[26]使用了同样的方法对目标进行预测。王长亮针对人体形态易发生变化和出现遮挡的问题,使用了Camshift 算法与扩展卡尔曼算法融合的跟踪算法[31]。贾配洋等针对目标识别速度慢的问题,提出了以Apriltags 识别算法结合卡尔曼算法,实现实时跟踪目标[44]。Ha N P 等利用可见光传感器和卡尔曼滤波,完成了无人机在无GPS 情况下的安全降落[45]。张仁蒲使用改进的Meanshift 算法,也同样解决了目标遮挡丢失的问题[46]。

判别类方法的原理是将当前帧中的目标区域和背景区域分别作为正、负样本用以训练分类器,并使用此分类器在下一帧数据中寻找最优目标区域。其中,核相关滤波(kernel correlation filter,KCF)算法、高效卷积算子(efficient convolution operators,ECO)以及基于神经网络的深度学习式判别跟踪方法是受到研究者广泛关注的基于相关滤波的判别类跟踪方法。王松使用KCF 算法完成了对视频中运动目标的检测[32]。程子一等应用改进的KCF 算法解决了目标被严重遮挡的问题[47]。刘金花使用视觉处理器(graphics processing unit,GPU) 加速KCF 算法,实现了目标的高速跟踪[48]。王杨使用改进的KCF 算法解决了目标较大形变的问题[49]。刘延飞等在KCF 的基础上提出了一种基于异常值检测的方法,为目标丢失后何时载入目标重检测定位提供可靠的依据[50]。ECO 算法是以CCOT 算法为基础,从模型大小、样本集大小和更新策略三个方面加以提速演进而来的。在对比了多种相关滤波算法后,Danelljan M 等阐明了ECO 算法在实时性和快速准确性方面的优势[51]。翁静文等提出的ECOHC(ECO+HOG+CN 特征)、跟踪算法解决了无人机指定行人跟踪中目标遮挡严重、尺度变化大的问题[52]。由于深度特征对目标具有强大的表示能力,因此其与神经网络的结合在计算机视觉目标跟踪领域得到了充分的发展。Michels J 等利用深度学习完成了在非结构化的户外环境高速驾驶远程控制车的任务[53]。Mannar S 等则利用监督学习导出与障碍物间的真实距离,从而实施避障[54]。Fornari G 等使用人工神经网络(artificial neural network,ANN)作为边缘检测器,通过视觉完成GPS 被破坏情况下的无人机自主跟踪导航[55]。另外,Choi H 等又提出一种非线性自适应观测器,通过估计状态和参数仿真实现无人机对目标的跟踪[56]。李晓伟等也通过基于上下文的STC 算法验证了其对运动目标跟踪的有效性[57]。

2.3.2 存在的问题及展望

视觉目标跟踪本身就是一个极具挑战的任务,而且运动场景往往较为复杂、多变。要想出色地完成目标跟踪的任务,就必须考虑目标遮挡、形变、尺度变换以及背景杂乱等问题,同时必须考虑实时性和准确性。

粒子滤波是基于蒙特卡洛方法的一种顺序重要性采集法,用于表示从后验概率中提取的随机状态粒子的分布。尽管它在非线性、非高斯系统中具有优势,但需要大量样本才能逼近系统的后验概率密度,因而会由于算法复杂程度的提升而产生样本贫化的问题。因此,在保证样本多样性和有效性的同时,如何克服样本贫化的是该算法亟待解决的问题。卡尔曼滤波的使用过程中,当运动目标长时间被遮挡时会产生目标丢失的问题。Camshift 是由Meanshift 推演而来的。虽然其在目标大小发生变化时可自适应调整跟踪区域,但在目标出现运动过快的极端情况下仍会发生目标丢失的问题。KCF 使用的是多通道梯度的HOG 特征,其跟踪响应速度极快、实时性好。但对于高速运动的目标,无法实现跟踪且目标,一旦被遮挡也会导致跟踪失败。相比之下,仅以性能来说,ECO 是目前较好的相关滤波算法,但其深度特征的能力并没有发挥出来。未来对于ECO 的研究重点应该是在不改变现有优秀性能的前提下,发挥其深度特征的作用。而深度学习执行的分类任务是区分类间差距,这与目标任务所研究的对于环境信息和目标信息的区分存在着本质上的不同。若要使基于深度学习的目标跟算法得到长足的发展,必须将在分类图像数据集上训练的卷积神经网络迁移到目标跟踪。

2.4 数据融合

从图像中提取的目标特征可用于估计无人机自身的运动状态。无人机的定位和导航问题的解决将依赖于这些运动状态的准确估计。将视觉传感器信息、GPS 数据信息、惯性传感器数据信息进行融合,可使无人机位置的估计更加准确。

一种思路是利用光流传感器与惯性导航系统融合,以完成无人机的自主导航任务。IMU 组合光流传感器估计位置和速度如图3 所示。

图3 IMU 组合光流传感器估计位置和速度示意图Fig.3 IMU combined optical flow sensor estimation position and velocity diagram

李涛等提出了一种基于扩展卡尔曼滤波的,将惯导系统、光流、磁强计和气压计数据融合的组合导航系统。该系统有效地解决了在速度、位置、姿态估计过程中存在累计误差的问题[58]。化雪荟在无人机静止或处于匀速运动状态时,将陀螺仪和磁强计的数据进行融合,以估计无人机的姿态。在无人机处于加速或减速的状态时,使用陀螺仪数据来估计无人机的姿态。较仅使用捷联惯性导航系统对无人机姿态进行估计而言,该方案使无人机姿态估计的误差大大降低[59]。余超凡等通过将块匹配法采到的光流值与IMU 数据进行卡尔曼滤波,实时获取当前的环境信息,为后续实时避障提供了实时路径规划[60]。张午阳等利用了光流传感器和超声波模块,完成了无GPS 情况下的定点悬停[61]。曾幼涵等也用光流传感器和惯性元件的融合,完成了无人机在无GPS 下的导航[62]。Mostafa M 等通过扩展卡尔曼滤波将光流数据、雷达数据、IMU 数据、气压计和磁力计计量值进行融合增强了无人机在全球卫星导航系统(global navigation satellite system,GNSS)信号中断期间的导航精度[63]。Amedeo V 等利用车辆之间的差分GPS 和基于视觉的跟踪(DGPS/Vision)构建虚拟的附加导航传感器,然后将其信息进行扩展卡尔曼过滤,以实现多无人机协作导航[64]。Arreola L 等通过将密集光流算法、GPS 和惯性元件融合,完成了低成本的悬停和跟踪[65]。

另一种思路是利用视觉SLAM 法完成定位导航。曹美会等利用视觉SLAM 辅助测量位置信息,从而控制无人机在GPS 缺失情况下的自主飞行控制[66]。Jean Liénard 等利用VSLAM 完成了三维景象的实时重建[16]。

还有一些研究者使用基于模型的信息融合法实现无人机自主导航。Hinas A 等通过基于OODA 的高级决策算法,分辨出无人机本身是处于定位、下降还是悬停阶段,然后通过Mavros 连续向自动驾驶仪发送本地位置信息,以实现导航任务[67]。

3 结论

视觉导航的研究内容主要集中于视觉图像预处理、目标检测提取、目标识别跟踪和数据融合等方面。背景差法、帧间差分法、光流法等是运动目标跟踪的典型方法。而在静态目标跟踪时,通常使用角点提取、SIFT 算法检测、SURF 检测、RANSAC 算法等方法。状态估计可由目标跟踪通过分析特征来实现,同时与其他传感器采集到的数据进行融合,卡尔曼滤波、粒子滤波、人工神经网络是常用方法。

由于现实条件的制约,很多问题还亟待解决。首先,由于无人机受到载重、续航等物理条件的约束,需要对无人机视觉导航进行更加深入的研究,以适应无人机在飞行速度上的提升和算法处理实时性方面的提高。与理想条件相比,实际应用中的环境噪声干扰等不确定因素会导致实物试验的失败。所以,如何将技术较为成熟的地面机器人视觉导航研究成果推广到无人机视觉导航中、如何在不过分牺牲导航精度的前提下提升无人机算法的响应速度、如何使无人机在未知环境下自适应地估计自身状态从而完成导航任务,将成为需要进一步探讨的重点问题。

猜你喜欢

角点滤波特征
根据方程特征选解法
如何表达“特征”
不忠诚的四个特征
基于FAST角点检测算法上对Y型与X型角点的检测
抓住特征巧观察
基于边缘的角点分类和描述算法
基于圆环模板的改进Harris角点检测算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于随机加权估计的Sage自适应滤波及其在导航中的应用