基于特征点的无人机图像拼接技术优化研究
2021-08-06陈常晖
陈常晖
(福建船政交通职业学院 通用航空产业学院, 福建 福州 350007)
无人机航拍技术发展迅速,近年来已成为研究热点.无人机航拍拥有轻巧、灵活、造价低等特点,在军事领域和民用领域都发挥着重要作用,如高危地区侦查、环境监测、天气预测等.由于飞行高度、相机性能和恶劣环境等各种因素的影响,无人机航拍获取的单张图片包含信息较少,需要对多张图片进行图像拼接处理,以获取目标区域的全面图[1].传统的无人机图像拼接技术一般采用尺度不变特征变换算法(Scale-Invariant Feature Transform,SIFT)和加速稳健特征算法(Speeded Up Robust Features,SURF),但两种算法运行较慢,无法满足处理实时性的要求[2].研究采用ORB算法(Oriented FAST and Rotated BRIEF,ORB)、K最近邻算法(K-Nearest Neighbors Algorithm,KNN)、随机采样一致算法(Random Sample Consensus,RANSAC)对图像特征点进行提取、匹配和提纯,实现对无人机图像拼接技术优化.研究结果表明,优化拼接技术在拥有足够高的匹配精度同时,还拥有比传统技术更快的处理速度.
1 基于ORB特征提取的图像拼接优化技术
1.1 基于ORB算法的拼接图像特征点检测与描述
无人机(Unmanned Aerial Vehicle,UAV)是一种无人驾驶的不载人飞机,用途十分广泛.近年来,我国无人机销量不断上涨,在2018年,无人机销售总量已经超过了300万台[3-4].无人机航拍是无人机的重要用途之一,无人机图像拼接是无人机航拍的重要环节[5].图像拼接是指以某张图像为基准图像,另一张与基准图像有一定重叠区域的图像作为待拼接图像,在对两张图像进行配准后,使两幅图像重叠的坐标点能够对准,然后拼接重叠部分以外的的区域,得到一张新的图像[6].具体实施过程如图1所示.
图1 图像拼接流程
在无人机图像拼接技术中,图像特征点的提取是极为关键的一环[7].图像特征点是指一种有助于理解和分析图像的在二维空间有较大变化的图像局部点特征.传统的无人机图像拼接技术是采用SIFT算法和SURF算法来进行特征点提取.SIFT算法是一种特征检测算子,通过对尺度空间极值点的检测,以搜索图像在各个尺度上的位置,并根据关键点的信息生成特征点的特征向量.SURF算法相比SIFT算法拥有更快的特征点提取速度,是一种基于海森矩阵(Hessian Matrix)的特征提取算法[8].SURF算法通过对图像特征点的小波响应进行计算,寻找模值最大向量的方向以确定特征点的方向,具体寻找方法如图2所示.
图2 特征点主方向
但这两种算法都有很大的局限性,即运算速度相对较慢,无法满足处理实时性,因此研究引入ORB算法进行特征点提取,优化无人机图像拼接技术.
ORB算法是结合了快速角点检测算法(Features from Accelerated Segment Test,FAST)和BRIEF算法(Binary Robust Independent Elementary Features)的优点,并在此基础上进行改进优化的特征点提取方法.ORB算法采用FAST算法进行特征点检测,利用BRIEF算法进行特征点描述.FAST算法最大的特点是基于像素点与待测点之间的灰度值差异大小,决定是否将该像素点作为特征点[9].由于ORB算法不对特征点进行特征描述,因此计算量极大减少,实时性得到了极大提高,且能保留图像本身的特征.在引入高斯金字塔(Gaussian Pyramid)后,能够实现尺度不变性与旋转不变性,得到尺度特征,并根据FAST角点的灰度和质心偏移来确定主方向[10].对图像中的任意特征点P,有如公式(1)所示.
(1)
在公式(1)中,mpq为特征点P的邻域像素矩.对于图像的质心,其计算方式如公式(2)所示.
(2)
公式(2)中,C为图像质心.C与P之间的夹角,即是FAST特征点的主方向,其计算方式如公式(3)所示.
(3)
BRIEF算法是一种采用二进制码串作为特征点的特征描述子,因此运算速度较快.对于一个面积为S*S的像素块A,对其进行平滑处理后,其二值测试可定义为公式(4).
(4)
公式(4)中,A(x)表示像素点在x位置的灰度值.BRIEF算法生成的特征描述子是一个n维的二进制码串,如公式(5)所示.
(5)
在该特征点上选出n对特征,得到矩阵,对矩阵进行旋转变换处理后,得到新矩阵,如公式(6)所示.
(6)
公式(6)中,Sθ表示描述矩阵,通过公式(6)的变换,即可得到特征点的描述子,如公式(7)所示.
gn(a,θ)=fn(a)|(xi,yi)∈Sθ.
(7)
经过特征点检测和特征点描述,ORB算法即可完成对图像的特征点提取.
1.2 无人机图像特征点的匹配和提纯
在无人机图像拼接之前,需要进行图像配准,将待拼接的两张图像统一到同一个平面坐标系中.特征点的匹配需要先提取基准图像与待拼接图像的特征点,再以相似性度量来判定这些特征点间的相似性,搜索匹配这些特征点后,对待拼接图像进行变换,最终实现图像间的配准[11].KNN算法是以待判定样本周围最近的K个样本的数据类型来判定该样本的数据类型,在对图像的相似性度量时,KNN算法采用欧式距离来确定K个样本.设图像中有任意两个点p1(x1,y1)和p2(x2,y2),则两个点之间的欧氏距离如公式(8)所示.
(8)
KNN算法对特征点的搜索策略,研究采用K-d树(K-dimension tree).K-d树常用于多维数据的索引,能够有效提高匹配效率,由K-d树的构建和K-d树的匹配搜索构成.K-d树的构建如图3所示.
图3 K-d树构建流程
在K-d树通过对最近邻的搜索后,获取到距离待测数据点最近的数据点.以二叉树搜索的方式获取到叶子节点,在这个叶子节点中含有查询点,但此叶子节点并不绝对是最近邻,因此还需要沿之前的搜索路径反向回溯,搜索是否有比叶子节点更接近查询点的数据点.采用KNN算法对无人机图像特征点进行匹配后,图像中会存在大量的误匹配点,进而对图像配准的精度造成不良影响,因此需要对这些匹配特征点进行提纯优化,以防止误匹配点对图像配准造成影响.
RANSAC算法是一种常用于计算机视觉领域具有较高鲁棒性的算法,能够在一组含有异常数据的数据集中,通过对数据的数学模型参数进行计算,剔除异常数据,获取有效的样本数据[12].研究采用RANSAC算法对匹配点进行提纯处理,其原理是通过对不同目标空间参数的不断尝试,从而获取一个大多数特征点能够满足的数学模型参数,并不断迭代以增加模型的准确率,最后记录与数学模型相符的最多样本参数,划分内外点,内点即符合数学模型的数据,外点为不符合的数据,则有公式(9).
p=1-(1-wn)N.
(9)
公式(9)中,p为迭代过程中随机抽取数据集中的点均为内点的概率,w为数据集中抽取内点的概率,n为模型抽取点的数量,N为采样次数,且N应满足条件如公式(10)所示.
(10)
单应性矩阵能够对图像间的几何变换关系进行描述,是RANSAC算法提纯匹配点,消除误匹配点的关键.单应性矩阵如公式(11)所示.
(11)
公式(11)中,(x,y)和(x′,y′)为图像中待匹配特征点的坐标.在公式(11)中,需要至少4对匹配特征点,因此RANSAC算法对匹配点的提纯步骤为:将两张图像进行配准,得到A个匹配点对的集合X,从X内随机抽取4对匹配点,计算出公式(11)中的参数,对X中剩余的(A-4)个匹配点对进行计算,获取剩余匹配点到模型的距离,记录满足模型的数据点数量,即内点数量C,重复上述操作N次后,求出C的最大值,C个内点即为匹配点,剩余(A-C)个则为误匹配点,需要进行消除.经过上述操作后,即可完成对图像特征点的匹配和提纯.
2 改进无人机图像拼接算法的性能分析
2.1 改进算法的特征点匹配准确率研究
无人机图像拼接算法需要同时保证算法对图像特征点的提取速度、提取精度、匹配速度、匹配精度.为了验证改进无人机对图像拼接算法对图像特征点的匹配效果,研究选取3张不同的图像,图像A、图像B以及图像D,分别采用改进无人机图像拼接算法、SURF算法以及SIFT算法对这3张图像进行特征点提取和匹配,分别记录3种算法对3张图像特征点的匹配准确率和匹配时间,以比较3种算法在无人机图像拼接中图像特征点匹配方面的性能.3种算法对3张图像特征点的匹配情况如表1所列.
表1 3种算法对图像特征点的匹配情况对比
从表1看出,SIFT算法与改进算法的特征点匹配准确率要远远高于SURF算法.其中SIFT算法的特征点匹配准确率最高,平均为87.77%;改进算法的特征点匹配准确率平均为84.61%,与SIFT算法相当,仅低3.16%;SURF算法的特征点匹配准确率最低,平均为65.15%,比SIFT算法低22.62%,比改进算法低19.46%.改进算法的匹配用时最短,分别为0.06 s、0.12 s和0.02 s,改进算法对3张图像的匹配总用时为0.2 s,平均用时0.07 s;SIFT算法的匹配用时最长,分别为1.17 s、6.51 s和5.11 s,总用时12.79 s,平均用时4.26 s,是改进算法平均匹配时长的6.5倍;SURF算法的匹配时长分别为0.49 s、1.73 s和1.30 s,对3张图像的总匹配时长为3.52 s,平均时长为1.17 s,是改进算法平均匹配时长的1.78倍.综上所述,SIFT算法的匹配准确率最高,但匹配用时过长,是改进算法的6.5倍;SIFT算法的匹配速率较快,但匹配准确率明显低于SIFT算法和改进算法;改进算法的匹配速率最快,且匹配准确率较高,仅略低于SIFT算法.以上结果说明,改进算法对图像特征点匹配的准确率与速率综合考量最为理想,能够满足实际运用.
2.2 改进算法对特征点的提取速率分析
无人机图像拼接技术对算法的特征点提取速度性能要求较高,为了验证改进无人机图像拼接算法在特征点提取速度方面的性能,研究选取7张不同的图像,分别采用改进无人机图像拼接算法、SURF算法以及SIFT算法对这7张图像进行特征点提取,并记录3种算法对这7张图像进行特征点提取所耗费的时长,以比较3种算法在图像特征点提取方面的性能.3种算法对7张图像特征点的提取耗时情况如图4所示.
图4 3种算法对图像特征点的提取速度对比
从图4看出,改进算法提取7张图像的特征点所花费的时长远远少于SIFT算法和SURF算法.改进算法完成7张图像的特征点提取总共需耗费2.3 s,平均每张图像耗费0.33 s;SURF算法提取7张图像特征点的花费总时长比改进算法多,但比SIFT算法少,为8.6 s,平均每提取一张图像的特征点所耗费时间为1.23 s,是改进算法的3.7倍;SIFT算法提取取7张图像的特征点所花费的时间最多,为41.22 s,平均每张图像耗费5.89 s,是改进算法的17.85倍,是SURF算法的4.79倍.在图4中,3种算法提取图像特征点花费时间的图像并非一条直线,而是有一定波动,说明7张图像的特征点数量不同,因此在算法对7张图像进行特征点提取时,每张图像提取的时长并不完全相同.以上结果说明,改进无人机图像拼接算法对图像的特征点提取速度最快,具有较高的实时性.
2.3 RANSAC算法对图像特征点的提纯效果分析
RANSAC算法能够对提取的特征点进行提纯处理,消除误匹配点,提高图像配准的准确率和效率.为了验证RANSAC算法对图像特征点的提纯效果,研究选取3张不同的图像,图像1、图像2以及图像3,采用改进无人机图像拼接算法对这3张图像进行特征点提取,并将之分为A、B两组,两组分别采用RANSAC算法对特征点提纯后进行特征点匹配,和直接进行特征点匹配,对比两组的匹配效率和准确率.两组的特征点匹配对比情况如图5所示.
图5 A、B两组3张图像特征点匹配情况对比
从图5看出,A组在图像1的特征点匹配数量为92个,在图像2的特征点匹配数量为201个,图像3的特征点匹配数量为577个,均少于B组.A组平均每张图像的匹配特征点为290个,而B组为486.7个,A组每张图像的匹配特征点平均比B组少196.7个,说明RANSAC算法能够有效消除误匹配点,减少算法的计算量;A组的平均匹配用时为0.15 s,比B组的0.28 s少0.13 s;此外,A组的匹配准确率平均为81.89%,而B组为67.90%,A组比B组平均高13.99%.以上结果说明,RANSAC算法能够有效提纯待匹配特征点,消除误匹配点,提高匹配效率和准确率.
3 结束语
传统的无人机图像拼接技术已开始逐渐淘汰.研究利用ORB算法、KNN算法和RANSAC算法对无人机图像拼接算法进行改进优化.研究结果表明,与SURF算法相比,改进算法的特征点匹配准确率要高出接近20%;对图像进行匹配操作时,改进算法的图像匹配时间要明显低于SIFT算法和SURF算法;对于相同图像上的特征点,改进算法的提取时间明显少于SIFT算法和SURF算法;在采用RANSAC算法对特征点进行提纯操作后,图像的匹配时长得到了明显缩短,图像特征点的匹配准确率也得到了显著提高.以上结果说明,改进算法具有较高的实际应用价值,但研究未针对在不同天气环境下的无人机图像拼接进行探讨,需要后续进一步探索.