matlab无人机影像图像拼接代码,无人机航拍图像拼接研究与实现.doc

无人机航拍图像拼接研究与实现

无人机航拍图像拼接研究与实现

[摘 要]针对无人机航拍图像的特点,采用基于图像特征的拼接技术,实现了无人机航拍图像的无缝拼接。

[关键词]无人机;图像拼接

中图分类号:TP391.41 文献标识码:A 文章编号:1009-914X(2017)08-0182-02

1 图像拼接的原理与实现过程

1.1 特征点提取

1.1.1 常用的特征点提取算法比较

目前,应用比较广泛的特征点提取算法有Moravec、Harris、SUSAN、SURF、SIFT等算法。从图像拼接的应用中比较了Harris和SIFT算法。SIFT算法具有良好的尺度和旋转不变性,但是算法复杂运算速度慢;而Harris算法运算速度快且在旋转图像的拼接上效果更好。由于Harris算法计算简单、稳定性高、具有很好的鲁棒性,即使图像存在旋转、亮度变化和干扰噪声,也能精确检测出图像中的特征点,因此本文采用Harris算法提取待拼接?D像的特征点。

1.1.2 Harris算法的原理

Harris特征点检测算法是C.Harris和M.Stephens在Moravec算法的基础上,提出的一种经典的基于信号的特征点提取算法。Harris算法的原理是在图像中的一个小的观察窗口内,在特征点处窗口沿任意方向移动微小的距离都会观察到图像灰度值的剧烈变化。定义窗口内灰度值的变化量:

(1)

式中w(x,y)为窗口函数。为了较好地抑制噪声,窗口函数选用高斯函数:

(2)

对式(1)用泰勒级数展开,取一阶近似可得:

(3)

式中,

(4)

分别为图像在x和y方向上的一阶偏导数:

(5)

(6)

令:

(7)

(8)

设λ1、λ2分别是矩阵M的两个特征值,根据和的值可以判断观察窗口内灰度变化量E的变化情况,可以分为以下三种情况:(1)λ1和λ2都很小,说明是在图像的平坦区域,窗口沿任意方向移动E的变化都很小。(2)λ1和E一个很大而另一个很小,说明此时是在图像的边缘区域,窗口沿边缘方向移动E变化很小,而沿边缘法线方向E变化很大。(3)λ1和λ2都很大,说明此时是在图像中的角点位置,窗口沿任意方向移动都会引起E值的剧烈变化。

根据上述原理,Harris特征点检测算法的实现过程可以概括为以下几步:(1)根据式(5)、式(6),计算图像在水平和垂直方向上的一阶偏导数Ix、Iy。(2)根据式(7),用均值为零的离散二维高斯函数对Ix和Iy滤波,计算矩阵M中每个元素的值。(3)定义角点响应函数:

(9)

式中

)M(Det

为M的行列式,Trace(M)为M的迹,k为经验值,一般取0.04~0.06。

(10)

(11)

根据式(9)计算图像中每个像素的响应值R。如果R为当前窗口的局部最大值,则把该点作为候选点。(4)如果候选点的响应值R大于设定的阈值T,则把该点作为有效特征点保留。

1.1.3 Harris算法的改进

Harris算法根据像素点的角点响应值R是否为局部最大值且是否大于手动设定的阈值T来判断该像素点是否为特征点。手动设置阈值的方法只能根据图像的特征不断试验调整,很难找到适合不同图像的阈值,即不具有自适应性。阈值决定了特征点的数量,阈值设置的低则特征点数量多,反之特征点数量少。在图像拼接中,如果特征点数量少,则有可能造成待拼接的两幅图像成功匹配的特征点对很少,从而使估算出的变换矩阵误差较大,最终导致拼接后的图像效果不理想;反之,如果特征点较多,则会增加特征点匹配过程中的冗余计算量。为了解决上述阈值的设置问题,可以采用一种自适应的阈值设置方法:将图像中所有角点响应值R的最大值Rmax作为参考,将阈值设置为cRmax,c的取值范围为0.01~0.05。采用这种方法,就可以不用针对每幅图像手动调整阈值,具有较好的自适应性。

1.2 特征点匹配

特征点匹配基于归一化互相关函数来实现。该方法以特征点相关窗口内所有像素点灰度值的归一化互相关系数作为判断依据来实现特征点匹配。一个(2N+1)×(2N+1)相关窗口内的归一化互相关函数定义如下:

(12)

式中I1和I2表示待拼接的图像,1I和2I分别表示图像I1和I2在窗口内的平均灰度。当1NCC时,表示两幅图像的该对特征点完全相关;0?NCC时,表示该对特征点相互独立。实际应用中,可以设定一个阈值。当NCC的值大于该阈值时,则认为这对特征点是匹配的。

为了提高匹配精度,本文采用双向的归一化互相关方法实现特征点的匹配,具体实现过程如下:(1)对于图像I1中的一个特征点,根据式(12)计算与I2中每个特征点的NCC值,保留

你可能感兴趣的:(matlab无人机影像图像拼接代码,无人机航拍图像拼接研究与实现.doc)