基于改进SPHP算法的无人机遥感图像拼接技术

2020-04-24 02:26王红君刘一鸣岳有军
计算机工程与设计 2020年3期
关键词:重影角点距离

王红君,刘一鸣+,岳有军,赵 辉,2

(1.天津理工大学 电气电子工程学院,天津 300384;2.天津农学院 工程技术学院,天津 300384)

0 引 言

在应用过程中,由于现有成像设备的性能所限,无人机[1]无法获得单张大视野、高清晰度的图像,为了扩大观测范围,需要把图像拼接技术应用在无人机上,以此来提高遥感图像的获取能力。

由Lowe提出的SIFT[2]算法,把图像拼接技术推向了一个崭新的高度,但这种算法对边缘光滑的目标无法准确提取特征点。Bay等提出了SURF[3]算法,可以提高图像拼接的速度,但是它容易受到外界干扰产生误差。Chang等提出了SPHP[4]算法,可以在一定环境下解决传统图像拼接算法中产生的图像重影问题,实现拼接图像最少的形变和拼接结果更大的视角[5],因此SPHP算法已经成为当今主流的图像拼接算法之一。

然而传统的SPHP算法只能在特定的场景产生良好的拼接效果,不适用于色差变化较小的地带,而无人机会在任何场景作业,因此SPHP算法并不适用于无人机图像拼接。针对上述缺点,本文提出一种基于SPHP算法的无人机遥感拼接改进算法,根据原有SPHP算法的特点,在非重叠区域对图像采用相似变换,使拼接后的图像与原图像保留最大相似比例,获得更优的视觉效果;之后在图像的重叠区域引入MDLT[6,7]算法的权重系数,计算空间变换模型参数,将得到的参数与SPHP算法相结合。这种改进之后的算法可以有效解决某些场景拍摄下拼接出现的重影问题,并保留了原图像的最大相似比例,让无人机图像拼接应用在更广泛的区域。

1 改进的SPHP算法

(1)

将坐标系 (x,y) 变换为 (u,v)

(2)

因此,经过空间变换后新的映射关系为

(3)

我们也可以将映射转化为u和的关系v

[x′,y′]T=H(u,v)=[Hx(u,v),Hy(u,v)]T

(4)

如图1(c)所示,经过SPHP算法变换后的图像,可以被分成3个区域,分别是重叠区域、过渡区域和非重叠区域,其变换模型为

(5)

经变换后3个区域的模型为

(6)

(7)

综合上述方程式可以推导出fx,gx,fy,gy,α,β,tx,ty。

图1 投影变换和SPHP变换的比较

另外,u1,u2作为划分图像区域边界的参数,可以通过改变u1,u2的值使图像在大视差的情况下拼接出更小的形变,其函数E(u1,u2) 可以定义为

(8)

为了减少图像融合时产生的重影,获得更好的拼接结果,需要将计算出的w与MDLT算法计算出的重叠区域的空间变换参数相结合:

(9)

(10)

将MDLT算法计算出的投影参数应用在SPHP算法的重叠区域,如图2所示。

图2 图像拼接过程

2 图像配准

2.1 特征点提取

图像角点也被称为图像中的极值点,它在图像中有着相对突出的属性,因此角点可以作为图像的一种关键特征而应用在图像处理中。常见的角点检测算法有KLT角点检测算法[8]和Harris角点检测算法[9]等,其中Harris算法有着很强的稳定性和抗环境干扰能力,它的光照不变性和旋转仿射不变性相比于其它算法更为突出,但是它的尺度不变性相对较差[10],并且当目标图像本身含有较大噪声时,用Harris算法处理的图像鲁棒性较差。

SURF算法是一种鲁棒性较强的局部特征点检测和描述算法,它可以被看作为是SIFT算法的改进算法,可以提高算法的执行效率,以更高的效率完成特征点的提取,算法速度是SIFT算法的3倍左右[11]。SURF算法的特性能够有效弥补Harris算法的缺点,在他们的共同作用下,可以提高特征点提取时的鲁棒性和尺度不变性。

因此,针对以上两种算法的特性,本文将采用Harris算法和SURF算法共同应用于特征点提取。首先,利用Harris算法提取待拼接图像的Harris角点,其数学模型为

(11)

同时利用SURF算法提取图像的特征点,首先要构建Hessian矩阵[12],Hessian矩阵如下

(12)

可以利用Hessian矩阵获取图像局部的极大值,再判断此极大值是否为当前区域中最亮或最暗的点,由此可以得到图像特征点的位置

det(H)=Dxx*Dyy-Dxy*Dxy

(13)

由于SURF算法采用的是盒子滤波器,然而Hessian矩阵却是在特征点处做高斯卷积,因此为了保持结果与高斯核相符,可以在Dxy上乘以0.9,以此来减少盒子滤波所带来的误差

det(H)=Dxx*Dyy-(0.9Dxy)2

(14)

将得到的Harris角点和特征点作为一个总特征点集,去除其中的重复点和鲁棒性较弱的点,得到一个均匀分布的、稳定的特征点集。

这种Harris与SURF相结合的算法同时拥有两种算法的优点,即优秀的光照不变性、仿射不变性和鲁棒性,可以大大提高特征点提取效率。

2.2 特征点匹配

本文采用K临近算法(KNN)[13]进行特征点匹配。KNN算法是根据检测到的特征点之间的距离进行匹配的,它会把一个样本空间中k个最相似的特征点归属为相同的类别,待匹配的特征点如果和这个类别最相似,那么这个特征点就可以归于这个类别,其中k一般取不大于20的整数。

在KNN算法中,特征点之间的匹配是根据与对应点之间的距离作为指标,为了防止匹配误差,距离一般选用欧式距离或曼哈顿距离,其中本文选用欧式距离[14]

(15)

KNN算法的计算步骤为:

(1)计算基准特征点与待匹配特征点之间的欧式距离;

(2)将特征点间的距离按升序排列;

(3)选取与待匹配特征点距离最小的两个点;

(4)用最近邻的点与次近邻的点作比;

(5)若比值小于某一阈值,则最近邻点为正确的匹配点。

为了减少拼接时产生的误差,必须在特征点匹配阶段筛选得到的特征点,剔除其中的重复点和误匹配的点。多数学者们最常用于精匹配的算法是RANSAC算法,但是这种算法在匹配距离较近的特征点时容易产生误差,达不到理想化的效果。因此,本文采用PROSAC算法[15],它是对RANSAC算法的改进。

设x和y为对应的匹配点,如果这对匹配点非误匹配,那么

xFy=0

(16)

其中,F为基础矩阵。

PROSAC算法原理如下:首先将原图像点与待匹配的特征点根据距离排序,选取其中m个质量较好的特征点,计算出对应的基础矩阵,然后计算出两个匹配点之间极限距离的平方和,如果平方和的值小于F, 那么此待匹配的点为正确的匹配点。

由此我们可以得到两幅图像之间的映射关系即单应性矩阵H为

(17)

3 图像融合

图像拼接一直以来都是图像处理技术中的一个热门技术,其中图像融合是图像拼接最重要的一个环节。

然而待拼接的图像一定会受到拍摄角度、重叠区域的亮度值等影响,如果采用直接拼接的方法一定会出现明显的拼接缝隙,造成不好的视觉效果,而图像融合正是解决这个问题的方法。传统的SPHP算法虽然不会造成拼接缝隙,但是它只适用于颜色对比明显的区域,在纹理较浅的地貌环境下会出现扭曲重影现象。而本文设计的改进的SPHP算法在待拼接图像的重叠区域引入一个权重系数,获得新的空间变换模型,从而进行图像的变换,完成图像融合。

4 实验与结果分析

用于实验的图像是由大疆MATRICE100无人机拍摄,经压缩后图像变成分辨率为650×400的PNG格式图像,实验使用天津理工大学先进自动化技术联合示范实验中心计算机,配置为Intel(R) Core(TM) i5-4590 CPU @ 3.30 GHz,是64位Windows10操作系统,内存为4 GB,本文算法基于matlab 2016b编程并在其中进行测试。

图像拍摄地点位于天津理工大学校内,拍摄高度为150 m,为了测试拼接算法的适用性,选择两组地貌特征不同的区域拍摄。其中图3地物类型以理工湖和绿化带为主,整体颜色对比度不那么明显,类似于如今的郊区地带;图4地物类型以草地和建筑为主,由于植被颜色与建筑物颜色反差较大,对比度明显,类似于如今的城市地带,纹理较丰富。采用这两组典型类型来充分说明本文算法的有效性与适用性。

4.1 特征匹配结果

如图3、图4所示,分别代表两种不同地貌特征的遥感图像。在图像配准方面,本文首先采用Harris和SURF相结合的算法对两幅图像提取特征点,随后用KNN算法将得到的特征点进行粗匹配,为了减少匹配误差,再用PROSAC算法去除误匹配的点,完成精匹配过程。得到的匹配结果对比如图5、图6所示。

图3 待拼接图像(二)

图4 待拼接图像(三)

图5 3种算法特征点匹配结果对比

图6 3种算法匹配结果对比

从特征匹配的结果可以看出,本文算法相比于传统SIFT算法,虽然提取到的特征点数远远少于SIFT算法,但是特征点匹配个数很接近,说明本文使用的算法可以准确定位特征点,有效性方面比SIFT方法高,因此本文算法特征匹配的时间也远远少于SIFT算法的匹配时间;而相比于SPHP算法,本文提取到的特征点数略少于SPHP算法,但是匹配个数仍然所差无几,可以说明本文算法在提取特征点方面的效率要略高于SPHP算法因此特征匹配时间也略少于SPHP算法的时间。见表1。

表1 3种算法特征提取与匹配对比

4.2 图像融合结果

由于易受外界环境的干扰,特征匹配后的图像往往不能直接融合,传统的图像融合算法会使图像在重叠区域产生扭曲或者重影等问题。在颜色变化较稀疏的类郊区地带,如图7(a)、图7(b)所示,可以看出两幅图像融合的过渡区域有一条明显的拼接痕迹;而在颜色变化较明显的类城市地带,如图8(a)、图8(b)所示,可以看出SIFT算法的融合结果仍然存在拼接裂缝,而SPHP算法的融合结果在重叠区域产生重影。

图7 3种算法融合结果对比

图8 3种算法融合结果对比

本文提出的改进的SPHP算法,可以有效地解决以上两种算法融合图像产生的问题,如图7(c)、图8(c)所示,本文算法消除了拼接裂缝,并解决了重影错位的问题。

5 结束语

本文针对SPHP算法易受地貌因素影响,产生形变或重影等问题,提出了一种基于SPHP算法的图像拼接改进算法。首先采用Harris和SURF相结合的算法对两幅图像提取特征点,随后用KNN算法将得到的特征点进行粗匹配,为了减少匹配误差,再用PROSAC算法去除重复点和误匹配的点,完成精匹配过程,最后引入权重系数,计算图像重叠区域的空间变换模型,用其代替SPHP算法原有空间模型,降低图像重叠区域的重影,并且使拼接后的图像产生更小的形变。

最终结果表明,这种改进的SPHP算法可以有效去除拼接图像的重影,生成更好的拼接结果。

实验结果表明,本文使用的算法相比于传统SIFT算法不管是在配准速度还是拼接效果上都有明显提升;并解决SPHP算法在特征不明显的区域容易产生重影的问题,提升视觉效果。

猜你喜欢
重影角点距离
一种改进的Shi-Tomasi角点检测方法
多支撑区域模式化融合角点检测算法仿真
重影轻波
重影轻波
算距离
基于FAST角点检测算法上对Y型与X型角点的检测
改进加权融合在消除图像拼接重影中的运用
每次失败都会距离成功更近一步
爱的距离
距离有多远