基于IB-SURF算法的无人机图像拼接技术研究

2024-03-03 11:21江德港黄子杰郭彩玲李柏林
计算机工程与应用 2024年3期
关键词:分块航拍特征提取

江 智,江德港,黄子杰,郭彩玲,李柏林

1.西南交通大学 唐山研究生院,河北 唐山 063000

2.唐山学院 河北省智能装备数字化设计及过程仿真重点实验室,河北 唐山 063000

3.西南交通大学 机械工程学院,成都 610000

近些年,由于无人机航拍技术迅速发展,其被广泛应用于自然灾害应急、地形勘测、特定目标定位、危险区域巡航等相关领域。无人机因其轻、小、灵的优点可以到达众多非常规区域。但在航拍中,无人机受自身飞行高度、相机视角等参数的限制,单张拍摄图像的视野过小,无法显示更完整的信息。因此,为了获取所需信息,得到覆盖更广、更为完整的航拍图像,需要将多张拍摄的图像拼接在一起,获得宽视角的图像[1-3]。图像拼接[4]是指将一系列相互有部分重叠区域的图像拼接成一幅高分辨率宽视角的图像。

图像拼接技术自问世以来经过四十多年的发展,已经形成了很多成熟的算法,无人机图像拼接与传统的图像拼接方法相比具有一些独特的优势。无人机携带机载GPS,每张航拍图像都包含POS 信息,有效利用可以提高图像拼接的准确性和速度。Wang等[5]结合SIFT和Harris算法提取图像特征点,利用POS数据对进行图像几何校正,从而实现特定区域的图像拼接。

目前最为主流的方法是基于特征点的特征提取方法[6]。常用的特征点提取方法有SIFT[7](scale-invariant feature transform)、SURF[8](speed-up robust features)、ORB[9](oriented FAST and rotated BRIEF)和KAZE[10]算法等。这些算法经过工程中的反复使用已证明了其先进性和可靠性,但在特征提取和特征匹配方面仍存在一些问题。文章针对SURF 算法展开重点研究,首先SURF算法在特征提取阶段存在着计算复杂度高和特征选取精度不足的情况[11]。图像拼接的有效区域仅为图像间的重叠部分,然而SURF算法提取特征针对整幅图像进行特征检测,增加了特征提取的范围,算法的耗时和复杂度随之上升,且重叠区域之外的特征点也会增加特征误匹配的概率。并且SURF 算法所提取的特征点中包含一些低对比度和不稳定的响应点[12],这些特征点对图像配准的贡献甚微。一些改进方法被提出用以解决上述问题,丁小奇等[13]针对传统SURF 算法初始特征点选取精度不足的问题提出改进方案,优化高斯模糊的过程,进而形成新的尺度空间生成方式,该方法有效提高了特征点选取精度,特征匹配正确率也有所提升,但该方法没有解决SURF算法耗时长的问题。潘梅等[14]提出一种改进Harris-SURF 的图像拼接算法,利用改进的Harris 算子提取特征点,使用SURF 算法生成64 维特征向量,通过限制角点位置和个数提高特征描述和匹配项率。其次,SURF 算法特征匹配的准确率较低[15]。在特征提取阶段大量特征点的初始化导致匹配误差增加,特征匹配率随之降低。针对该问题,Shao等[16]利用无人机图像的位姿信息来确定特征点的位置范围,然后在特征点邻域窗口内搜索候选点,并使用特征匹配的阈值来过滤错误匹配。这种方法大大提高了匹配精度,然而先后两次进行配准,使得算法较为耗时。An 等[17]提出了一种结合优化SURF 和改进细胞加速的幂函数加权图像拼接方法,首先利用余弦相似度初步判断特征点的相似度,然后利用双向一致性互选再次过滤特征点对,同时消除了反向匹配中的一些不正确匹配点,但该方法并未解决特征点有效性差和精度低的问题。

因此,针对传统SURF算法在拼接高分辨率无人机航拍图像时运行速度慢、特征匹配率低的问题提出改进方法。结合无人机图像POS数据,提出一种基于图像分块的特征提取方法,滤除无效特征点和低响应值特征点,提高有效特征点的占比和质量;在特征匹配阶段增加运动平滑性约束,利用邻域信息改进KNN算法,减少算法迭代次数,高效匹配特征点。

1 基于特征提取的SURF算法

SURF算法是在SIFT的基础上改进而来,是一种稳健的局部特征点检测和描述算法。SURF算子保留了SIFT算子优良的性能特点,通过构造Hessian 矩阵[18]检测极值点,同时引入积分图[19]的概念;改进并降低了特征描述子的维数,特征储存空间减少,解决了SIFT算法计算复杂度高、实时性差的缺点。下面主要介绍Hessian矩阵。

设X=(x,y)为图像上一点,尺度为σ的Hessian 矩阵H(x,σ)定义为:

其中,Lxx(x,σ)表达式为:

式中,尺度为σ的高斯函数表达式为:

求出每个像素点Hessian矩阵的判别式:

2 IB-SURF算法

SURF算法虽然在旋转不变性、光照不变性、尺度不变性和稳定性[20]上有良好的性能,但在特征提取阶段,存在特征点数量多的问题,影响了特征提取和特征匹配的效率,导致SURF 算法的实时性较差。因此,提出一种改进特征提取方法的IB-SURF算法,具体算法流程如图1所示。与传统SURF算法相比,在特征提取阶段,将基于整张图像的特征提取改为基于重叠区域的特征提取,并增加了特征筛选的环节,基于图像分块选择局部区域特征响应值最大的点作为特征点,提高特征匹配率,优化特征点分布。

图1 算法流程图Fig.1 Algorithm flowchart

2.1 基于POS的无人机图像位置计算

无人机POS 数据即记录无人机拍照瞬间的三维坐标:经度(L0)、纬度(B0)、飞行高度(A)及飞行姿态:航向角(k)、俯仰角(ψ)和翻滚角(ω)。无人机照片包含宽度(W0)、照片高度(H0)、相机焦距(F)等信息,另外飞行时地面平面高程(A0)、相机旁向开角(θ)和航向开角(δ)已知。基于以上信息可以计算无人机图像投影到地面后的地理位置。

经过俯仰、侧偏及航向角改正后的飞行影像中心点平面坐标(X,Y)可以通过以下公式计算得到:

式中,X0、Y0是图像的中心坐标,Xa、Ya是X和Y方向的俯仰改正,Xb、Yb是X和Y方向的侧偏改正。

左上角平面坐标(X1,Y1)的表达式为:

式中,W1、W2为侧偏距离覆盖,H1、H2为俯仰覆盖距离。

同理可获得其他三个角点(X2,Y2)、(X3,Y3) 和(X4,Y4)的坐标。根据公式(5)、(6),得到了无人机图像四个角点投影到地面的平面坐标,如图2。

图2 基于地面的无人机图像坐标图Fig.2 Ground-based UAV image coordinate map

2.2 重叠区域检测特征点

通过无人机获取的航拍图像两两之间存在部分重叠区域,重叠区域是图像拼接的依据和基础,也是有效特征点分布的区域。原有的SURF 算法是基于整张图像检测特征点,扩大了特征点提取的范围,导致特征匹配阶段存在较多无效特征点,严重增加了特征匹配时间。由航拍所获得的每幅图像都带有POS 数据,借助POS数据求取无人机航拍图像的重叠区域。

两图的位置关系如图3所示,基准图像a的中心坐标为(Xa,Ya),待拼接图像b的中心坐标为(Xb,Yb) 。无人机图像投影到地面后的中心坐标和四个角点坐标在2.1节中已经获取。两幅航拍图像的位置关系按照大地坐标系设定,蓝色部分为重叠区域。

图3 大地坐标系下的图像关系Fig.3 Images relationship in geodetic coordinate system

SURF 算法是针对整张图像提取特征点,因此需要构造一个特定的掩膜用于在重叠区域检测特征点。特征点提取的区域仅为重叠区域,不仅减少了特征提取耗时,而且提高了有效特征点的占比,为提高特征匹配效率提供了技术支撑。

2.3 特征点筛选

为了减少特征点匹配中误匹配和匹配偏差,传统的方法通过增加特征匹配的次数来保证其鲁棒性,提取并匹配比需要更多的特征点,然后利用RANSAC(random sample consensus)等方法过滤掉不正确的匹配。然而,大量特征点的初始化增大了计算的复杂程度[16]。该问题可采用图像分块的方法解决。

基于图像分块的思想,将图像重叠区域分成5×5网格(见4.2节)。由SURF算法计算出每一个特征点的响应值Pi.response,对于图像的每一分块,比较该分块内所有特征点响应值的大小,确定响应值最大的特征点Pmax。因此每个分块内仅剩一个特征点,该特征点是该分块内响应值最大的特征点,流程如图4 所示,n为网格数量,m为每个网格内特征点的数量。响应是特征提取器作用于图像的结果,响应大的特征点更加显著和可辨,这些特征点之间的特征匹配成功率更高。

图4 特征点筛选流程Fig.4 Flowchart of feature point screening

由此完成了特征点的筛选,IB-SURF算法通过构造掩模缩小了特征提取的范围,进而减少特征提取耗时,并借助图像分块的思想,对每一分块内的特征点进行比较筛选,极大精简了特征点的数量,过滤掉大量冗余信息。图像分块也使得特征点的分布更加均匀。与传统SURF 算法大量提取初始特征点相比,基于图像分块所获取的特征点更为显著,质量更高,既降低了算法的复杂度,也为特征点的正确匹配提供技术保证。

3 Neighborhood-KNN特征匹配

传统的K近邻(KNN)算法是从所有的训练样本中找出和未知样本最近的K个样本,将K个样本中出现最多的类别赋给未知样本[21]。然而这种方法需要每次都遍历配准图像中的所有特征点,极大地增加了算法的复杂度。

因此,利用邻域信息改进KNN 算法,在特征匹配时增加运动平滑性约束,缩小特征匹配区域。正确的匹配在运动空间中是平滑的,运动平稳相邻的特征在运动空间中具有一致性[22],相邻特征点对应的匹配特征点的区域也是相邻的。因此,相邻特征点对应的匹配特征点的区域也是相邻的。从而,参考图像中的特征点搜索出待配准图像中与之匹配的特征点后,该特征点邻域内的所有特征点只需在待配准图像中匹配点的邻域内进行搜索即可。特征匹配示意图见图5,假设特征点O的待匹配点为点P,则与O点在同一邻域内的特征点Q只需在特征点P的3×3邻域内搜索待匹配点即可。

图5 特征匹配示意图Fig.5 Feature matching diagram

4 实验结果及分析

4.1 实验设置

实验所用图像共分为三部分,第一部分为自采数据集,由大疆Air 2 无人机拍摄,分辨率为5 472×3 648 的JPG 格式图像,拍摄高度为100 m,地处东经118°9′52″,北纬39°39′23″,一个架次采集图像约200 张,相邻图像平均重叠率为79.605%,如图6(a)和图6(b)。第二部分是使用大疆PHANTOM 3获取云南西双版纳的20张图像组成的序列,图像分辨率为4 000×3 000,拍摄高度约为780 m,相邻图像平均重叠率为85.108%,如图6(c)。第三部分是使用eBee Classic 无人机在一个名为Merlishachen 的瑞士小村庄采集的数据集,图像分辨率为4 608×3 456,并经过Pix4D软件处理。一次飞行采集约300张图像,飞行高度约660 m,相邻图像平均重叠率为76.803%,如图6(d)和图6(e)。

图6 实验图像Fig.6 Experimental UAV images

实验运行环境采用CPU为AMDR7-5800H,3.2 GHz,内存为4 GB,64位Win10操作系统的PC机。实验的算法基于OpenCV2.4.13实现,编程语言为C++,编程环境为Visual Studio 2013。

文章选择传统SURF 算法、ORB 算法、Improved SIFT算法(ISIFT)和基于重叠区域的局部拼接(OLS)[23]算法作为比较对象。ISIFT算法在确定候选特征点的过程中通过设置自适应阈值来剔除一些梯度响应不显著的点,从而降低了算法的复杂度。引入BBF(best bin first)算法来寻找最近邻和次最近邻,并在寻找匹配点的过程中使用RANSAC 来优化特征点的选择;OLS 算法在拼接图像时不需要将整个重叠区域精准对齐,只需在重叠区域中寻找一个可以将图像拼接在一起的局部区域即可。OLS 能够找到允许最佳拼接的局部区域局部拼接采用混合对齐模型,为处理视差和局部失真提供了灵活性。

4.2 网格密度

图像分块划分网格时,网格的数量会对算法产生重要影响。网格数量过多,增加算法的复杂度,用时随之增加;网格数量过少,特征点匹配率下降,进而影响图像拼接质量。因此选择一个恰当的网格密度至关重要。如图7 所示,以特征提取时间和匹配率作为衡量标准,绘制折线图。由图可知,当网格密度小于等于5×5 时,特征提取用时较短,匹配率递增。当网格密度大于5×5时,虽然匹配率仍在增加,但特征提取用时大幅增加,严重影响算法的效率。综合考虑两参数的影响,最终选择网格密度为5×5,即25。

图7 网格密度影响Fig.7 Effect of grid density

4.3 特征提取用时对比分析

表1给出了分别使用SURF、ORB、ISIFT、OLS和文章提出的算法对图6 中的五组数据进行特征提取的用时比较。从表1可以看出ORB算法的计算复杂度最低,IB-SURF 算法次之,其次是ISIFT 和OLS。SURF 算法提取特征点的时间最长。这是因为ORB 算法采用FAST 方法检测特征点,且在特征描述时只需对特征点的邻域进行二值测试,因而特征提取耗时最短。与SIFT算法相比,SURF算法通过改进尺度空间的构造方法,降低了特征描述子的维数,因此在特征提取速度上得到了较大改善。但ISIFT通过设定自适应阈值过滤掉大量低质量特征点。因此,ISIFT 的特征提取效率显著提高。OLS 首先找到一个最佳局部单应性和一个与该单应性松散拟合的特征点子集。OLS 在重叠区域的局部区域中检测特征点,故而特征提取区域大大减少。但是寻找最佳局部单应性是极为耗时的,使得OLS的特征提取速度介于ISIFT和SURF之间。

表1 特征提取用时比较Table 1 Comparison of computational complexity for point extraction单位:s

IB-SURF 算法特征提取的结果如图8,这种特征点分布方式有利于特征之间的配准。

图8 特征提取结果Fig.8 Results of feature point extraction

4.4 特征匹配速度对比分析

如表2 所示,给出了分别使用SURF 算法、ORB 算法、ISIFT算法、OLS算法和文章所提算法对图6中五组数据进行特征匹配用时比较。从表中可以看出,对于以上五组数据,IB-SURF 算法在特征匹配时用时最短,OLS算法次之,依次是ORB算法、ISIFT算法和SURF算法。IB-SURF 算法由于在特征检测时对特征点进行了精简筛选,减少了特征匹配阶段算法的计算量和工作量。同时,Neighborhood-KNN 算法大大减少了搜索特征点的迭代次数。因此,特征匹配的效率得到了显著提高。OLS 算法特征匹配时涉及的特征点是重叠区域中局部特征点子集,这极大降低了算法的复杂性,并确保了在很短的时间内完成特征匹配。ORB使用BRIEF算法计算描述子,该描述子特有的二进制串的表现形式不仅节约了存储空间,而且缩短了匹配用时。SURF 算法和SIFT算法分别生成64维和128维的特征描述子[24],所占储存空间大,算法冗杂,匹配耗时长。ISIFT在特征提取过程中设置了阈值,减少了特征匹配的工作量,因此匹配速度略高于SURF算法。

表2 特征匹配用时比较Table 2 Comparison of feature matching time单位:s

4.5 特征匹配率对比分析

图9给出了使用五种算法对图6的五组数据进行特征匹配的结果。从图中可以知道,在匹配率方面ORB算法和OLS算法的匹配率较低,在10%左右,ISIFT算法略高于SURF 算法,但匹配率仍较低,文章提出的算法具有最高的匹配率。ISIFT 采用BBF 进行特征粗匹配,然后利用RANSAC 进行特征精匹配。与传统的SURF算法相比,提高了匹配性能,因此ISIFT的匹配率更高。OLS算法随机选择种子特征点,并对其空间上最接近的相邻点进行逐个分组。它使用了较大阈值的单应性变换,以便将尽可能多的特征点分组,反而使得单应性变换无法拟合这些特征对应关系[25]。ORB 算法采用汉明距离[26]计算特征匹配度,所使用的BRIEF二进制描述子虽具有较高的效率,但其在旋转不变性、尺度不变性及稳定性上较差,影响其匹配率。

图9 特征匹配率比较Fig.9 Comparison of feature matching rate

与以上算法相比,IB-SURF算法的匹配率得到显著提升,远高于传统算法。这是因为在提取特征点时对特征点进行了精简筛选,剔除了大量低对比度和不稳定的响应点,仅保留了局部区域特征响应值最大的特征点,这些具有较大响应值的特征点更易形成匹配对。图10展示了SURF 算法改进前后特征匹配对比图,篇幅原因,每个数据集仅展示其中一组图像。由图可以得知,改进前的SURF 算法有较多数量的特征点参与特征匹配,但存在大量的误匹配和匹配偏差,匹配率和匹配正确率都较低。IB-SURF 算法除少量特征点未参与特征匹配外,绝大部分特征点都正确匹配,特征匹配正确率保持在非常高的值,超过95.1%。这在一定程度上得益于Neighborhood-KNN 算法,在减少迭代次数的同时降低了误匹配的概率。

图10 特征匹配结果Fig.10 Results of feature matching

5 结束语

针对使用SURF 算法在拼接高分辨率无人机图像过程中出现的运行时间长、匹配率低的情况,提出了一种基于图像分块的无人机图像拼接算法,利用图像分块的思想筛选特征点,提高了特征提取的精度和效率。在特征匹配阶段增加运动平滑性约束,利用邻域信息改进KNN 算法,Neighborhood-KNN 算法的使用加快了特征匹配的速度和精度。利用自制数据集和两个公开数据集对IB-SURF 算法进行验证,并与传统的SURF 算法、ORB 算法、ISIFT 算法和OLS 算法进行比较。结果表明,IB-SURF 算法的计算复杂度显著降低,图像配准时间可以减少到传统SURF算法的一半以下,实现了算法的实时性能。特征匹配率和匹配精度大幅提高,平均特征匹配率达到84.3%,特征匹配准确率超过95.1%。此外,提取的特征点分布更加均匀,有效解决了特征点分布集中的问题。

IB-SURF 算法的局限性在于无法有效地从色差较小的图像中提取特征点,未来的研究将侧重于探索小色差图像的特征提取方法。

猜你喜欢
分块航拍特征提取
航拍下的苗圃与农场
分块矩阵在线性代数中的应用
基于Daubechies(dbN)的飞行器音频特征提取
难忘的航拍
《航拍中国》美得让人想哭
Bagging RCSP脑电特征提取算法
陕西画报航拍
反三角分块矩阵Drazin逆新的表示
基于自适应中值滤波的分块压缩感知人脸识别
基于多分辨率半边的分块LOD模型无缝表达