一种图像拼接方法及***
技术领域
本发明涉及数字图像处理技术领域,特别是涉及一种基于网格运动统计和加权投影变换的图像拼接方法及***。
背景技术
图像拼接技术在计算机视觉和图形学领域得到了广泛的研究,它是指将具有重叠区域的两幅或多幅图像组成宽视角和畸变少的完整图像。常用的图像拼接算法有图像灰度法、相位相关法和图像特征法等。图像灰度法复杂度低,但鲁棒性差;相位相关法速度快,但易受图像尺度影响。图像特征法对图像的光照和尺度等变化具有更好的鲁棒性,该方法是目前主流的图像拼接技术。
图像特征法一般分成四个步骤:特征点提取、特征点匹配、变换模型估计和融合。其中特征点匹配有特征点粗匹配和特征点精匹配。传统的基于特征点的图像拼接,采用RANSAC(Random Sample Consensus)算法来剔除错误粗匹配,该方法随机抽取匹配点对,不考虑粗匹配点对的质量,而且运行时间与迭代次数成正比,整体精匹配速度较慢。传统图像拼接中特征精匹配复杂度较高和图像配准精度低,会导致特征匹配速度慢和全景图像存在畸变等问题。
比如:采用远程无人机对架空输电线路进行巡视时,远程无人机具有巡检范围大、图像多、覆盖广等特点,因此获取的图像数据量较大,拼接难度较高,因此需要重点关注拼接算法的运算速度。在基于图像特征法的图像拼接算法中,如SIFT特征算法,虽然拼接质量较高、鲁棒性较好,但算法十分复杂,耗时很多,因此需要寻求一种具有较高拼接速度和拼接精度的算法实现无人机拍摄的架空输电线路图像拼接。
发明内容
本发明的目的就是为了解决上述难题,提供了一种图像拼接方法及***,能够实现快速、高质量地图像拼接。
为实现上述目的,本发明的具体方案如下:
在一个或多个实施方式中公开的一种图像拼接方法,包括:
提取待拼接图像的特征点,对特征点进行描述与匹配,得到粗匹配的特征点;
在粗匹配点集相邻的像素区域中统计符合匹配关系的特征点数量,通过计算特征邻域分数,剔除错误的匹配点;
根据精确匹配的特征点计算待拼接图像的单应性变换矩阵,进行图像配准;通过加权平滑算法,实现图像平滑拼接。
进一步地,利用ORB算法进行图像特征提取和描述。
进一步地,用暴力匹配算法进行特征点粗匹配,使用交叉匹配的方法过滤错误的粗匹配。
进一步地,将图像划分为多个不重叠的网格,统计每个网格的特征分数,同时统计与其相邻的设定数量网格的特征邻域分数;对所述网格及其相邻网格进行旋转,得到最大的网格特征分数;当最大的网格特征分数大于网格特征分数阈值时,判定为正确匹配;否则,为错误匹配。
进一步地,统计与当前网格相邻的八个网格的特征邻域分数,得到九宫格特征分数。
进一步地,统计当前九宫格内网格的粗匹配特征数量的均值,根据所述确定网格特征分数阈值。
进一步地,通过匹配点对构建图像序列之间的全局单应性矩阵;通过加入权重系数计算局部依赖的单应性矩阵;其中,权重系数根据当前特征点到图像上所有特征点的高斯距离确定。
进一步地,根据得到的局部依赖的单应性矩阵,对相应图像进行变换以确定图像间的重叠区域,并将待融和图像映射到到一幅新的空白图像中形成拼接图。
在一个或多个实施方式中公开的一种图像拼接***,包括服务器,所述服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的图像拼接方法。
在一个或多个实施方式中公开的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行上述的图像拼接方法。
本发明的有益效果:
(1)本发明提出了一种网格邻域特征统计的粗匹配特征点筛选方法,通过在粗匹配点集相邻的像素区域中统计符合匹配关系的特征点数量,剔除误匹配的特征点,实现了特征点的精确匹配。
(2)本发明提出了基于加权投影变换模型的图像配准方法,通过加入高斯权重系数来计算局部依赖的单应性变换矩阵,解决了全局单应性矩阵配准时造成的鬼影效应以及视差错误。
(3)本发明在特征精匹配速度和配准精度上得到较大的提升,合成的图像无明显的几何错位和模糊问题,重叠区域的边缘过渡良好。
附图说明
图1为本发明具体实施方式的流程图;
图2为正确匹配与错误匹配的分布特征示意图;
图3为网格划分和九宫格网格邻域示意图;
图4(a)-(c)分别为九宫格、九宫格旋转1次以及九宫格旋转4次示意图。
具体实施方式:
下面结合附图对本发明进行详细说明:
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
在一种或多种实施方式中,公开了一种图像拼接方法,如图1所示,将特征提取ORB算法应用到图像拼接中,通过在粗匹配特征点相邻的像素区域中统计符合匹配关系的特征数量来区分正确匹配和错误匹配,提高特征点精匹配速度;然后采用加权投影变换方法,引入像素距离关系来优化变换模型的权重系数,提高重叠区域的配准精度。该方法的具体实施过程如下:
1、特征提取
具体采用如下步骤实现:
(1)特征点提取
ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法。ORB算法分为两部分,分别是特征点提取和特征点描述。特征提取是由FAST(Features fromAccelerated Segment Test)算法发展来的,特征点描述是根据BRIEF(Binary RobustIndependentElementary Features)特征描述算法改进的。
从图像中选取一点P,FAST算法判断该点是不是特征点的方法是,以P为圆心画一个半径为r的圆。圆周上如果有连续n个像素点的灰度值比P点的灰度值大或者小,则认为P为特征点。为解决临近位置多个特征点的问题,本发明根据Harris角点响应值对检测出的FAST特征点进行排序,选取响应值在前80%的点(若总共检测出100个FAST特征点,则提取Harris角点响应值排序靠前的80个点)作为提取的特征点。
为实现特征点的多尺度不变性,本发明采用建立金字塔图像的形式。通过设置一个比例因子scaleFactor(本发明取值为1.2)和金字塔的层数nlevels(本发明取值为8)。然后将原图像按比例因子缩小成nlevels幅图像。缩放后的图像为:I’=I/scaleFactork(k=1,2,…,nlevels)。nlevels幅不同比例的图像提取特征点总和作为这幅图像的特征点。
由于FAST特征不具备方向性,ORB算法使用了矩(moment)方法来确定FAST特征点的方向。通过矩来计算特征点以r为半径范围内的质心,特征点坐标到质心形成一个向量作为该特征点的方向。矩定义如下:
其中,I(x,y)为图像像素点(x,y)的像素值。该矩的质心为:
图像特征点与质心之间形成一个方向向量,于是可以用方向向量的角度来表征特征点的方向,计算公式如下:
(2)特征点描述
ORB算法的特征描述是在BRIEF特征描述的基础上加入旋转因子改进的。BRIEF算法计算出来的是一个二进制串的特征描述符。它是在一个特征点的邻域内,选择n对像素点pi、qi(i=1,2,…,n)。然后比较每个点对的灰度值的大小。如果I(pi)>I(qi),则生成二进制串中对应位置的值为1,否则为0。所有的点对都进行比较,则生成长度为n的二进制串。为了增加特征描述符的抗噪性,本发明首先对图像进行高斯平滑处理,使用邻域中的某个点的mxm邻域灰度平均值来代替某个点对的值,进而比较点对的大小,从而使特征值更加具备抗噪性。
由于BRIEF描述符缺乏旋转不变性,所以抵抗图像平面旋转的能力较差,需要添加旋转不变性,增强抵抗噪声的能力。对于一个特征点来说,BRIEF描述子是通过n个点对的比较结果构成的,将n个点对(2n个点)组合到一起形成一个矩阵B,矩阵B形式如下:
然后利用特征点的方向构造旋转矩阵,旋转矩阵形式如下:
通过旋转矩阵对矩阵B进行校正,使其具有旋转不变性,校正公式如下:
Sθ=RθS
根据特征点方向提取旋转不变描述子,克服了BRIEF算子对方向的敏感性。
2、特征粗匹配
本发明利用暴力匹配(Brute Force,BF)算法进行特征点粗匹配,得到N组粗匹配特征点对,记为{Fa,Fb},其中Fa={fa1,fa2,...,faN}和Fb={fb1,fb2,...,fbN}。暴力匹配算法是在向量空间中,将特征点的描述子一一进行比较,选择距离(本发明采用Hamming距离)较小的一对作为匹配点。进行暴力匹配后,本发明使用交叉匹配的方法来粗过滤错误的匹配。交叉过滤的思想是进行一次匹配后,反过来使用被匹配到的点进行匹配,如果匹配到的仍然是第一次匹配的点的话,就认为这是一个正确的匹配。例如第一次特征点A使用暴力匹配的方法,匹配到的特征点是特征点B;反过来,使用特征点B进行匹配,如果匹配到的仍然是特征点A,则就认为这是一个正确的匹配,否则就是一个错误的匹配。
3、特征精匹配
(1)特征邻域分数定义
对于图像匹配,正确匹配在两幅图像上的相邻区域中存在一定数量的匹配特征点,而错误匹配在两幅图像上的相邻区域是不同的,所以其相邻区域中的特征点匹配数量通常为零,如图2所示。因此,可以在粗匹配特征点集的邻域中统计具有匹配关系的特征点数量,实现错误匹配的剔除。因此,本发明通过在粗匹配点集相邻的像素区域中统计符合匹配关系的特征点数量来区分正确匹配和错误匹配。
将{I
a,I
b}中匹配特征点集的邻域表示为{N
a,N
b},其中N
a={N
a1,N
a2,...,N
aN},N
b={N
b1,N
b2,...,N
bN}。对于第i组匹配点对{f
ai,f
bi},统计f
ai邻域N
ai中的特征点集{f
a1,f
a2,...,f
aMi}和特征点总数量M
i,并统计这些特征点粗匹配对应的特征点集
和这些对应特征点集位于f
bi邻域N
bi中的数量S
i。根据M
i和S
i的比例关系设定分数阈值S
T,来判定第i组匹配点对{f
ai,f
bi}是否为正确匹配。最终遍历所有匹配特征点集来剔除错误匹配,得到精匹配特征点集{F
a',F
b'}。为了方便描述,将S
i称为特征邻域分数,计算公式如下:
式中sik表示与Nai中第k个特征点粗匹配的特征点是否位于Nbi的状态,若在Nbi内,则判定为1,否则判定为0。
(2)网格特征统计
为了加快统计,本发明将一幅图像划分为G=P×Q不重叠的网格,即将{Ia,Ib}划分为多个网格块的集合{A,B},其中A={a1,a2,...,ai,...,aG},B={b1,b2,...,bj,...,bG},而ai表示Ia中第i个网格,bj表示Ib中第j个网格,如图3所示。为了增加鲁棒性,这里统计每个网格的特征邻域分数,同时统计与其相邻8个网格的网格特征邻域分数,称为九宫格特征邻域分数S:
式中,Si,j是第i个网格所在的九宫格中第j个网格特征分数。
为了避免图像间旋转对统计的影响,对I
b上的九宫格进行顺时针旋转,如图4(a)-(c)所示。其中网格G
5旋转不会改变其位置,而相邻的网格会顺时针移动,如左上角网格G
1,旋转第1次后是网格G
4,旋转第4次后是网格G
9,依次旋转到第9次时,网格特征分布情况与图4(a)一致,统计8次旋转情况下最大的网格特征邻域分数
式中,
是对第i个网格所在的九宫格旋转k次后第j个网格特征分数。然后,统计当前九宫格内网格的粗匹配特征数量的均值:
式中,M
i,j表示第i个网格所在的九宫格中第j个网格内粗匹配特征点数量。当网格特征分数
大于网格特征分数阈值S
T时,判定{f
ai,f
bi}为正确匹配,反之,为错误匹配。
式中,α是特征点数量均值的权重。
4、图像配准拼接
图像配准是一种确定待拼接图像间的重叠区域以及重叠位置的技术,采用基于特征点的图像配准方法,即通过匹配点对构建图像序列之间的变换矩阵,从而完成全景图像的拼接。根据图像间变换矩阵H,可以对相应图像进行变换以确定图像间的重叠区域,并将待融和图像映射到到一幅新的空白图像中形成拼接图。
若p
a=[x
a,y
a]
T和p
b=[x
b,y
b]
T表示图像{I
a,I
b}中的一对匹配点。利用上述步骤得到的N'组精匹配点对
可以求解出全局单应性矩阵H:
当I
a和I
b不是相机绕其光心旋转拍摄得到,或者图像背景不能近似一个平面场景时,将全局单应性矩阵H作为变换模型,会在配准后造成鬼影效应或者视差错误。为了解决这个问题,本发明通过加入权重系数来计算局部依赖的单应性矩阵H
*,然后对I
b中的每个点p
b*进行变换,
其中H
*由下述公式计算得出:
式中,权重矩阵
A∈
2N×9是直接线性变换方程的矩阵,向量h是矩阵H的变形,h=[h
00h
01h
02h
10h
11h
12h
20h
21h
22],权重系数
是根据当前点p
b*到I
b上所有特征点
的高斯距离来确定,设定离p
b*邻域越近的像素权值越大,相对远的像素权值则取相应较小数值:
式中σ是尺度参数。为了防止权重系数过于稀疏,引入默认补偿值γ∈[0,1]。
在融和过程中,重叠区域会存在缝合线,因此需要进行处理,采用加权平滑算法,该算法的主要思想是:图像重叠区域中像素点的灰度值Pixel由两幅图像中对应点的灰度值Pixel_L和Pixel_R加权平均得到,即Pixel=k×Pixel_L+(1-k)×Pixel_R,其中k是可调因子,在重叠区域中,沿图像拼接的方向,k由1渐变为0,从而实现重叠区域的平滑拼接。
实施例二
本实施方式公开了一种图像拼接***,包括服务器,所述服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例一所述的图像拼接方法。
实施例三
本实施方式公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行实施例一所述的图像拼接方法。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。