第1章 绪论
微小型飞行器(micro unmanned aerial vehicle,MAV)是指一类尺度在米级或亚米级、借助遥控或自主驾驶技术、能够执行既定任务使命的无人飞行器。根据美国国防部先进项目研究局(Defense Advanced Research Projects Agency,DARPA)提出的要求,MAV应满足以下主要指标,其续航时间为20~60min,航程10km以上,飞行速度为22~45km/h,可以携带有效载荷,完成一定的任务使命。在军事方面,MAV可以装备到连、排一级的士兵,或由载具进行发射、抛撒,执行侦察与毁伤评估、精确打击、通信中继、目标指示、空中警戒等各种作战任务;在民用方面,MAV可用于边检缉私、交通监控、森林防火、电力巡线、航空摄影、气象监测等领域。
国外对于微小型无人飞行器的研究及主要装备情况如表1.1所示。
表1.1 部分国外典型微小型无人飞行器研究现况汇总
未来的微小型飞行器正朝着智能化的方向快速发展,总的来讲,目前无人机智能化存在的主要问题就是自主控制问题。一个主要的解决途径是对自然界中的智能行为展开学习和研究,进而将其应用在微小型飞行器的自主控制上。
视觉是人类以及生物重要的感知手段,据统计,人类约有80%的信息是通过视觉获取的。传统计算机视觉手段同生物视觉系统在处理复杂图像方面相比,特别是运动图像序列的表现,仍然存在着诸多不足,其算法不能很好地描述运动场与图像之间的映射关系,难以满足微小型无人飞行器高机动平台的导航控制需求。
大量研究表明,昆虫的神经系统十分简单,处理数据的能力十分有限,却可以单纯利用视觉信息完成飞行和捕食等复杂的行为控制。因此,对智能、快速、基于视觉的控制方法的研究成为了当前飞行器控制领域研究的热点,而光流技术正是在这一背景下被引入微小型飞行器导航和控制领域的。
光流,又称光学矢量流。当物体运动时,会在观察者视网膜表面形成连续的像,这些视觉信息连续不断的“流过”视场,仿佛流场一般,故称为光流。光流见诸学术界,*早是在1950年Gibson为描述图像中模式运动的速度提出的,是一种二维瞬时速度矢量场,使用空间物体三维速度矢量在成像表面的投影来表征。由于光流的方向和大小是由物体与目标间相对运动的方向、速度以及物体与目标间的距离和角度决定的,因此包含丰富的运动信息。事实上,在自然界中,很多飞行生物都是采用光流作为其重要的感知手段,实现在复杂环境中的飞行控制。飞虫运动视场中障碍物产生的光流如图1.1所示。因此有关光流计算理论的研究及其在飞行器导航控制中的应用,引起了国内外许多高校和研究机构的关注[1-5]。
图1.1 飞虫运动视场中障碍物产生的光流
光流辅助飞行器导航控制是指飞行器通过携带的传感器获取光流信息并经过处理后,直接或与其他传感器(如GPS、IMU等)信息进行融合后,参与到微小型飞行器姿态控制与航迹控制回路中。在上述过程中,飞行器的控制并不单纯依靠光流信息来完成,而仅作为信息融合情况下的信源之一或其他传感器失效情况下的辅助手段,用于提高飞行控制系统的精度和鲁棒性。
1.1 光流场计算技术发展及研究现状
1.1.1 光流计算技术历史与计算方法现状
如前所述,光流起源于对人和生物视觉系统的研究,但其有效计算方法的真正提出要始于Horn和Schunck[6]以及Lucas和Kanade[7]。20世纪90年代,学术界对光流计算提出大批新的理论与方法。之后,光流研究进展较为缓慢,主要原因是光流计算技术自身存在一些难点,如计算效率、运动计算可靠性、边界问题和多运动问题等。随着近几年偏微方程、图像张量分析、微分流形等数学理论在光流计算领域的应用,光流计算技术又开始了迅速发展。
总体来看,现今光流计算的研究主要沿着以下思路展开[8]:
(1) 基于变分的光流计算方法。该方法的主要原理在于将光流场的获取转化为全局能量泛函*小化的问题,如何求解能量泛函的极值成为了光流计算的关键。变分光流的能量模型主要由平滑项和数据项组成,它们通过不同的形式来约束光流场的计算误差[9-11]。
(2) 基于局部邻域约束的光流计算方法。代表性算法为Lucas和Kanade[7]所述的Lucas-Kanade算法,其算法核心思想在于通过局部像素的邻域内光流不变的约束来解决光流计算的适定问题,进而使用*小二乘法估计出全局光流。该类算法的优点在于对噪声不敏感,但其获得的光流场多数是稀疏的。
(3) 基于匹配的光流计算方法。目前常见的算法有块匹配方法和点匹配方法。该类方法通过计算两帧图像之间的特征相关性,获取图像上特征的*佳匹配位置,从而获得光流矢量的估计[12,13]。特征匹配无法获取像素级或亚像素级的稠密光流场,但是,其计算速度快且易于硬件实现,因此适用于无人飞行器、机器人等对图像处理速度要求较高的平台。值得一提的是,某种程度上来讲,Lucas-Kanade算法也可看做块匹配方法的一种特殊情况。
(4) 基于能量的光流场计算方法。该类方法使用一组带通速度滤波器,将光流场的计算转移到了频域上进行研究[14]。带通速度滤波器按照尺度、速度和方向分别输入信号,光流的方向可以通过等相角线来确定,光流的大小则通过相位的梯度分解求得。
(5) 基于相位的光流场计算方法。该类方法使用图像的局部相位代替图像的亮度模式参与光流的计算,从而获取更加鲁棒的光流场[15]。图像局部相位利用如Gabor变换等的复带通滤波器的响应获得,之后,使用相位的轮廓线法向速度估计光流场。
(6) 其他方法。除了上述传统的光流计算方法,近年来还出现了诸如基于结构张量的方法、基于概率的方法、基于对数图像的方法[16]等,在各自的领域都具有一定的适应性。
综合目前的研究现状,对常用的光流计算方法按照计算速度、计算精度、抗噪能力、光流场是否稠密以及大位移图像光流计算能力等几个性能[17]进行比较,如表1.2所示。
表1.2 光流计算方法性能比较
光流计算研究分类计算速度计算精度抗噪能力光流场是否稠密大位移图像光流计算能力基于变分慢较高差是一般基于局部邻域约束较快一般较强否一般基于匹配快一般强否好基于能量慢高一般是一般基于相位慢较高一般是一般基于结构张量慢较高较强是一般基于概率慢较高差是一般基于对数图像一般较高一般是一般
从表1.2中可以看出,光流算法计算精度和计算速度之间的矛盾依然突出。除了基于匹配的算法,其他算法多数需要大量的数值迭代才可获取较理想的结果[18],因此在计算速度方面仍不能满足实时系统的需求。当下,对传统光流算法的加速依赖于对计算网格的改进或计算架构的提升,后者利用GPU的高效计算能力[19],如在CUDA架构下提高光流的实时计算效率。
对适配微小型飞行器控制系统的光流算法而言,需要在计算速度和计算精度之间取得平衡;同时,鉴于使用环境的复杂性,需要兼顾抗噪能力;另外,考虑飞行器的机动性大于一般移动机器人,因此对大位移情况(一般定义为10个像素以上[20])的计算能力也有要求。综上可以看出,基于特征匹配的光流计算方法*能满足上述需求。事实上,受限于现有硬件水平,基于特征匹配的光流算法也正是实时系统中使用*为广泛的算法。
1.1.2 基于匹配的光流计算方法概述
传统的基于匹配的方法按照选用的匹配模式可以分为块匹配光流场计算方法和点匹配光流场计算方法。
1) 块匹配光流场计算方法
所谓基于块匹配的光流方法(blocking matching algorithm,BMA),是将图像划分成不相重叠的小区域,并且对于每一个块内的运动使用一个简单的参数模型加以特征化。在本质上,块匹配法是一类基于模式的相关匹配方法,它将光流场定义为某观察点在某一时刻前后所产生的*佳拟合位移,目前可使用的图像模式包括纹理特征、角点特征、灰度特征等[21-23]。通过假设块内各像素只做相同的位移,然后在划定的搜索邻域内,根据一定的匹配准则找出匹配块,由匹配块与当前块的相对位置计算出运动位移,并除以帧间时间间隔,即得到块匹配光流场。块匹配光流场的计算原理如图1.2所示。其中,m和n为像素数。
图1.2 基于块匹配的光流计算原理图
块匹配法的优势在于算法简单,易于并行计算硬件实现,计算速度快。该类方法的缺点在于当遮盖发生时,图像中会存在匹配点漂移问题;同时,匹配结果可能存在多峰分布,影响正确匹配点的选取。究其原因,主要有以下两个:①小模板内信息较少;②正确的匹配点可能无法获得*高的匹配度。另外,块匹配法很难获取像素级或亚像素级的稠密光流场,使其使用范围受到一定限制。
为了解决上述问题,Berger等[24]通过深度传感器引入图像深度信息,使图像匹配增加了新的描述特征,从而提高了匹配光流的计算精度;Macaodha等[25]引入图像的结构张量取代灰度值,用于图像序列的块匹配,提高了匹配精度,同时使算法具有一定的抗光照变化能力;Liu等[26]提出一种SIFT Flow计算方法,该方法通过提取图像中每个像素处的SIFT特征来替代像素值进行匹配,得到两幅图像间点对点的稠密流场,用来描述目标的运动场,其缺点是计算量较大。Colored SIFT(CSIFT)在颜色不变空间构建了SIFT描述子[27],与SIFT Flow相比,这种方法对颜色和光照变化更加鲁棒。Alvarez等[20]描述了一种基于灰度正则化相关的光流场计算方法,并给出了光流可信度的评价准则。为了提高算法对非刚体光流的计算性能,出现了变形块匹配方法、基于网格的描述方法等算法,进一步提高了光流场的计算准确性。
块匹配光流计算方法有三个核心要素:特征描述、匹配准则和块划分方法。前述研究主要集中在对特征描述符的改进和块划分方法的改进,对匹配准则的研究则较少涉及,而在图像匹配领域,合适的匹配准则可以提高旋转、遮挡、光照变换等情况下的光流场计算精度和计算效率。传统的匹配准则主要依靠模板和待匹配图像之间的灰度值矩阵相关性或灰度分布函数相关性来获得*佳匹配位置[28-30]。
由于序列图像本身就可以抽象为一个三维的时空张量,因此,利用张量方法对图像进行分析是序列图像处理的一个重要分支,并已经在诸如人脸识别、行为模式识别、图像匹配等领域获得了广泛应用。随着结构张量理论在图像处理中的应用,使用结构张量描述下的图像特征,继续使用欧氏距离来设计匹配准则已经不再适合,因此传统的基于灰度相关方法的匹配准则亟须改进。Tuzel等[31]在流形空间中讨论了图像结构张量的匹配准则,使用张量在黎曼流形的测度取代欧氏距离进行匹配;Huttenlocher等[32]和Sim等[33]讨论了一系列基于Hausdorff距离及其改进的匹配准则,取代了传统的相关性匹配准则,在遮挡情况下使用该匹配准则可以进一步提高图像的匹配性能。这些研究为块匹配光流计算方法的匹配准则设计提供了新的研究思路。
2) 点匹配光流场计算方法
点匹配光流场是基于两帧图像之间局部不变特征点匹配获得的运动矢量场。相比块匹配光流,图像中的局部不变点特征的数目较少,计算较为简便。此外,点特征对位置的变化较为敏感,并对光照变化、噪声、图像畸变和遮挡具有一定的适应能力,因此点匹配的光流场可以提供一种局部的、稀疏的图像光流场。虽然该种光流场丢失了部分图像的运动信息,但其较高的运算效率决定了其作为一种“轻量级”的算法(特别相较于变分法),更便于硬件实现。
与块匹配不同,点匹配光流场的研究主要集中在两方面:①局部不变特征点提取算法;②特征点局部不变特征描述。
图像的特征点一般指序列图像中具有不变性质的点,如灰度的图像局部极大值点等。一般来说,图像特征点具有以下特性:
(1) 不变性,点的某种特征在序列图像中不
展开