(1.南京电子技术研究所,江苏 南京 210039)
在无人机图像帧序列的跟踪中根据其特点主要可以分为:图像稳像预处理、目标检测、特征提取[1-2]和目标跟踪。本文着重对后3个步骤进行研究,结合无人机图像的特点,建立完整的检测跟踪流程。
图像目标检测跟踪本质上是特征匹配问题[3-4],传统算法根据目标表示模型主要可分为以下两类:
1)基于表观模型的匹配算法。此类算法采用目标的物理结构、图像灰度、梯度等表观属性作为匹配依据进行检测跟踪[5]。这类算法的优势在于其复杂度低、处理速度快。然而由于使用了目标的本征统计信息,这类算法无法妥善应对平面旋转,视角变化和部分遮挡等特殊情况[6]。
2)基于点特征的匹配算法。通过检测目标上的感兴趣点所形成的集合作为匹配的依据[7],由于使用了不同的方法搜索定义特征点,因此此类方法也有较多种,其中尺度不变特征变换SIFT(scale invariant feature transform)和改进的快速鲁棒特征匹 配SURF(speed-up robust features)最具有代表性。此类算法的优势在于能够较好地应对平面旋转、尺度缩放、视角变化的匹配要求,但算法复杂度较高。
基于无人机图像帧序列的目标检测跟踪属于单视角跟踪[8],其图像是在平台高速运动下获取地面目标信息的,且视角变换与旋转更加强烈[3],所以它相比普通的图像帧序列的检测跟踪对实时性和算法稳定性有更高的要求。
综合分析以上两类算法,以基于特征点的匹配算法为框架保证尺度和旋转不变性,使用基于表观模型的级联目标检测算法(全局粗匹配加局部精细匹配)来改善算法运算量大与处理时间较长的缺陷。
检测的初步筛选处理的整体思路是通过构造图像特征空间的方法来快速筛选待匹配图像的可疑区域,删除大量的背景区域。从而减少后续精细匹配的运算量,为图像快速检测打下基础。
首先构造提取图像特征的特征空间。采用图像子块的平均灰度值、灰度值方差、灰度值梯度构建特征空间。生成积分图后,将待匹配图像和目标模板图像按照算子外接矩形(下图以7×7为例)进行分割,对得到的分块与八角形算子点乘,对点乘后得到的特征提取单元进行灰度均值、方差、梯度的并存储,提供给后续初步筛选计算。兼顾处理复杂度和对无人机光学图像平台高速运动和旋转的适应性,本文检测算法采用如图1左下图所示的八角形算子作为特征提取的基本单元。
图1 八角形算子形成过程示意图Fig.1 Schematic diagram of octagonal star
由图1可看出,八角形算子是由一个简单矩形算子和旋转45°后的矩形算子叠加而成,在均值方差和梯度值的计算上都有着接近圆形的良好稳定性和旋转不变性。为了论证八角形算子的旋转不变性,做如下简单推理:
已知圆形算子具有最强旋转不变性,矩形算子的旋转不变性必然弱于圆形算子,当算子的角数n趋于无穷时,n角形算子趋近于圆形算子,且算子的旋转不变性随角数增加应是单调变化的,因此可推理出八角形算子比传统的矩形(四角形)算子具有更强的旋转不变性。
当然,仅凭推理是不够的,我们选取了voc2012数据集中共计16 135 张图片进行测试,用3种算子(四角、八角、圆形算子)分割图像后,统计不同旋转角度情况下形成的特征提取单元的均值、方差、梯度变化情况(以0°为基准),如表1所示。由表1可以看出,八角形算子相对于简单矩形算子具有较高的旋转不变性。
表1 在图像全部旋转角度下3种算子提取的单元内部 均值、方差、梯度值偏差(以0°为基准)Table1 Mean,variance and gradient of three feature extraction units at all rotation angles(take 0°as the benchmark)
确定特征提取的单元后,我们需要以掩码的形式初步筛选出可疑区域,从而降低精细匹配的运算量,避免全局特征匹配。
遍历待匹配图像内的所有特征提取单元,分别求取每个单元内像素的灰度值均值、灰度值方差和灰度值梯度,并将每个单元作为一个点映射到以灰度、均值、方差构建的三维特征空间中。以此作为待匹配模板,对目标模板进行相同的操作,作为目标特征模板。
本文检测算法将所有特征数据根据量级规范化处理,自适应地生成三维特征空间。最后以目标模板中所有点重心为基准点,对待匹配的模板中所有子块进行阈值判决处理,即若某个待匹配图像内某个特征提取单元映射于特征空间内的电与目标模板重心的平均欧式距离超过阈值,则该子块被剔除。遍历所有子块后,余下点所代表的子块即为初步筛选得到的可疑区域。
由于本步预处理并未涉及复杂的计算,仅进行了求取均值、方差和梯度计算,同时由于事先对待匹配图像生成了积分图像,将求取特征提取单元内所有像素点的方差和均值简化为数步简单的加减法运算,时间消耗进一步降低,可以满足无人机光学图像实时处理的需要。
图2为我们选取的一幅典型图像和目标模板映射示意图。
此外,值得一提的是,初步筛选的结果具有普遍的适用性,该步处理可以作为各种流行匹配算法的预处理器,在不影响匹配结果的情况下大幅提升效率。
图2 待匹配图像与目标模板特征提取示意图Fig.2 Schematic diagram of image to be detected and target region’s feature extraction
由于得到了范围极大缩小后的可疑区域,精细匹配处理的主要任务即为返回可疑区域内与目标模板最为相似的区域[8-9]。精细匹配的步骤如下:
1)将目标模板等分为3×3的子块,对每个子块内部进行平均灰度值、灰度值方差、灰度值梯度向量计算,将梯度值和梯度方向作为2个特征维度存储。至此,每个子块可以提取出4维特征,目标模板可以用36维特征向量表示。
2)对可疑区域按照进行多尺度逐像素滑窗处理,使用与目标模板相同的方法进行特征向量提取。
3)在滑窗操作完毕后,返回的与目标模板特征向量欧式距离最近的特征向量所对应的滑窗区域作为输出的匹配区域。
虽然以上步骤牵涉到了逐像素滑窗及多尺度变换[10]操作,看似具有极大的计算量,但由于通过调节初步筛选处理中的阈值,精细匹配运算的可疑区域已经相当小,真实运算量并不大。至此,自动检测流程结束,通过输入目标模板得到了待匹配图像内的匹配结果,以此作为输出检测结果。
对跟踪流程使用快速鲁棒特征(SURF)作为帧间匹配描述图像的工具[11],SURF是目前目标跟踪领域广泛应用且较为优越的一种特征提取方法[12]。根据该方法检测到的特征点具有高度的旋转和尺度不变性[13]。然而与大多数基于特征点匹配算法一样,基于SURF的特征提取与匹配算法复杂度较高[14-15],不适合应用于对无人机图像处理等实时性要求较高的工程应用中。
因此,本文提出对跟踪流程中的特征匹配进行分块并行的改进思路,即对待匹配图像进行分块处理,每个子块占用一个通道,通过并行加速特征提取与匹配流程。由于SURF特征提取中利用了邻域特征来构建描述向量,简单的分块将使某些分布在分割边缘附近的特征点的特征描述向量丢失邻域信息,导致失真。因此,考虑对待匹配图像使用重叠分块兼剔除冗余特征点的方法,通过设置合适的重叠区域来保证边缘特征描述向量所含的邻域信息的完整保存,同时剔除冗余信息。分块方法如图3所示。
图3 待匹配图像重叠分块示意图(左)和剔除有误差特征点示意图(右)Fig.3 Schematic diagram of overlap blocking (left),reject redundancy feature points (right)
图3中,重叠区域的宽度由特征点周围SURF特征提取的邻域半径(l1)和目标模板的对角线长(l2)共同确定:
重叠分块提取后,删除被重复特征提取的点,完成对待匹配图像的特征提取。
在待匹配特征点集合中,会掺杂由于斑点噪声或几何畸变产生的特征点,因此,首先要对得到的匹配点对进行预处理。为去除这些离散点,本文使用距离门限法。假设需要判定的特征点的集合为{M1,M2,M3,···,Mn},对其中的每一点计算它到模板重心的距离为dl,并计算其余的n-1个点到模板重心的平均距离为davr,如果集合中点Mx到点Mn的距离为dx−n,那么点Mx的davr可由下式表示:
若dl>2davr,则判定该点为离散点。将其所在的点对从匹配点对集合中剔除。
对待匹配图像特征提取完毕后,便可通过对特征向量的最小欧式距离匹配法,确定目标模板与待匹配图像间点对点的匹配关系[16]。通过去除离散点处理,优化匹配点对,从而更好地确定目标模板的仿射变换模型,完成对目标模板的更新。仿射变换模型如下式所示:
式中:(x1,y1)为仿射变换前的点;(x2,y2)为仿射变换后得到的对应点;m1、m2、m3、m4组成的矩阵包含了仿射变换的旋转和缩放信息;d1、d2为仿射变换的平移量。
通过对目标模板和待匹配图像的循环更新,便可以完成图像帧序列的目标跟踪。综上所述,本文算法对无人机地面目标帧序列的检测跟踪流程如图4所示。
图4 本文算法检测跟踪流程图Fig.4 Flow chart of proposed algorithm
为检验初步筛选流程的有效性,以我们拍摄的不同场景下不同目标共计8 064幅无人机航拍视频帧序列(尺寸为1 280×720 像素)作为总样本集。分别从总样本集中选取有代表性12个帧序列,共计1 263帧图像作为样本,从而保证样本集的全面性。同时所有序列帧图像宽(像素)、高(像素)均相同,目标模板大小相同。实验设备为CPU 主频2.90 GHz,内存4G,实验环境为MatlabR2012a,并使用Computer Vision System Toolbox。样本内的图像背景和目标模板具体构成和实验情况如表2所示。对其进行初步筛选处理可得到每帧图像的可疑区域(掩码图)。图5为总样本集中某一帧原待匹配图像和筛选后的可疑区域及其原目标模版示意图。
表2 初步筛选实验样本集构成与实验结果Table2 Experiment sample set of primary match and results of experiment
由表2可知,初步筛选处理可以以较小的时间成本筛除平均92.47%(1 263帧均值)的区域,筛选效果良好,可以为后面的精细匹配缩小检测范围,显著减少检测时间。图5为总样本集中一幅典型图片的初步筛选效果图。由可疑区域掩码图可以看出,经初步筛选后,我们筛除了图中间灰色道路两侧的背景区域。
图5 初步筛选效果示意图Fig.5 Schematic of primary match
得到可疑区域掩码图后,将待检测图像与掩码图点乘,得到待检测图像的可疑区域,对其进行精细匹配处理,图6为图5情况下的精细匹配检测结果。精细匹配实验样本(12 段不同场景下的视频帧序列)图像背景和目标模板具体构成及实验情况如表3所示。
图6 三组多视角图像检测实验Fig.6 Three group of multi-angle of view experiment images
表3 精细匹配实验样本集构成与实验结果Table3 Experiment sample set of meticulous match and results of experiment
为评价检测误差,本实验在每帧中手动点击中心点确认目标的实际位置(如图5(b)),目标模板从视频帧序列首帧截取,对序列中所有帧进行检测,从而确定匹配误差。通过对累计12 段视频帧序列共计1 263帧图像的精细检测,可确定其平均检测误差(即检测结果重心与手动标注的每帧中心点之距离)为2.459 像素,帧间平均精细匹配时间为0.331 s。
为验证本文算法在不同视角情况下的检测效果,从无人机航拍图像数据集中选取3组同一目标的不同角度图像进行实验,检测目标分别为骑车行人、供电塔和房屋,见图6所示。
从3组多视角图像中(见图6)分别选取同一个物体模板,将多个视角下的目标模板进行融合,并分别映射到设定好的加权特征空间中,得到多视角下的目标模板,对每幅图像进行基于多视角融合模板的初步筛选与精细匹配,从而检测得到目标的位置并记录。
同时记录每幅图像的目标在图像中的重心坐标以便计算检测误差,实验结果如表4所示。
表4 基于多视角融合的目标检测实验结果Table4 Experiment results of multi-angle of view
由表4可知,检测误差在目标模板尺寸的1.5%上下浮动,检测误差与目标模板的大小有直接关系,多视角图像之间的视角变化程度也对误差造成了影响,显然(c)组图像视角旋转程度较高,且试验中检测误差占目标模板尺寸的百分比较大。
图7给出了该方法进行目标检测的鲁棒性。其中横坐标为3组总共7幅图像进行基于多视角模版融合后算法判定最为相似的10个备选区域的序号,纵坐标为这些区域的模板与目标模板在加权特征空间中的重心的欧式距离。由图7 中可知,多视角模版融合后,检测的最终结果(序号1)与其余9个区域与目标模板特征空间重心距离差距明显,表明本文检测算法在多视角情况下仍然保持了良好的可靠性。
图7 多视角模板鲁棒性验证图Fig.7 Robustness verification figure of multi-angle of view
本实验对象为从总样本集中抽取的共计10 段连续视频帧序列。对每个帧序列的首帧进行检测确定目标,对后续帧进行基于分块特征提取的跟踪。
在跟踪状态下,本实验旨在检验目标跟踪的稳定性(有效跟踪长度)以及基于分块特征提取的跟踪算法每帧的平均运行时间。
图8为10 段帧序列中最长的一段跟踪结果。摄像机与目标均在运动且存在相对位移的状况下,本文算法在连续155帧图像中跟踪稳健(图8(a)~8(c)分别为第24帧、84帧、144帧跟踪情况),没有出现明显的漂移、目标丢失等情况,且其余9 段帧序列(最短43帧、最长121帧)均实现了稳定跟踪。
图8 基于分块SURF特征提取的算法跟踪结果Fig.8 Track results of algorithm based on blocking SURF extraction
表5为点特征进行匹配跟踪的CMT算法和本文算法分别对我们拍摄的图像帧序列库中共计74 段视频帧序列8 064幅帧图像进行跟踪得到的结果(运行环境均为VS2010集成开发环境及opencv2.4.9),跟踪过程不丢帧即为该序列可成功跟踪。由表5可以看出,即使进行了分块多线程并行操作,CMT 跟踪算法在运行速度上仍然略胜一筹,但是成功跟踪率方面本文算法稍占优势。
表5 两种算法综合性能比较Table5 Overall performance between two algorithms
详细分析跟踪结果可以看出,CMT算法在帧间物体旋转角度过大时更可能会丢失跟踪,究其原因是因为该算法没有进行模型更新过程导致角度变化过大时找不到特征点。同时还可以发现,两种算法跟踪失败的帧大多数为目标模板特征点数较少的情况,这是基于点特征的目标跟踪算法的通病。此外在跟踪静止目标时,CMT算法的表现更优,几乎没有出现丢失跟踪现象。
本文针对无人机对地目标影像检测跟踪这一问题,提出了相应的处理方法。
在目标检测方面,提出基于均值、方差、梯度值的两级(初步筛选-精细匹配)特征提取的目标检测算法。初步筛选通过简单的加权特征空间欧式距离阈值判决,以较低的时间成本剔除了大量背景区域,余下的可疑区域作为精细匹配处理的检测区域,精细匹配处理对可疑区域进行36维特征向量生成,高特征维数保证了较强的鲁棒性。同时以图像块为单元计算可疑区域特征向量与目标模板特征向量的欧式距离,取距离最小的分块作为匹配结果。
在上述特征提取过程中,使用八角形算子作为特征提取的基本单元,折中了处理复杂度和旋转不变性。
本文实验采用不同环境、目标和不同视角下的无人机航拍对地光学图像帧序列对检测算法进行测试,大量样本实验表明本文算法具有较高的稳健性和高效处理能力。此外,在多视角模板情况下对算法进行了拓展,并通过3组不同种类物体的实例图像实验,证明了在多视角情况下本文算法的鲁棒性。
在跟踪方面应用SURF特征提取生成目标模板,通过循环匹配达成目标跟踪。理论分析表明,将分块并行思想引入特征匹配可降低时间成本,并对算法流程中可能出现的杂散噪声以及分块边缘效应等予以分析,提出了相应的解决方案。