具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
图1是本发明的实施例一的图像配准方法的流程图,该方法包括以下步骤:
步骤S102,利用高斯差分图像,分别检测待配准的源图像和目标图像中的特征点;
具体的,利用高斯差分图像,检测一个图像中的特征点的过程包括以下步骤:
步骤1,按照以下公式(1),对该二维图像I(x,y)进行高斯差分运算,得到高斯差分图像D(x,y,σ):
其中,G(x,y,σ)表示以原点为均值、σ为均方差的二维高斯函数,(x,y)表示坐标值,σ表示高斯函数对应的均方差,k为相邻两个尺度间的尺度因子,L(x,y,σ)表示一幅图像的关于可变尺度σ的高斯平滑,*表示卷积运算符号。
步骤2,根据计算得到的高斯差分图像D(x,y,σ),在尺度空间中检测特征点。
具体的,对于一系列的对应于不同方差的高斯差分图像,建立一个尺度空间,在相邻的3×3×3的临域中进行检测,若中心点为该区域的极值点,则该点即为图像中对应的特征点。也就是说,比较D(x,y,σ)中的每一个点与相邻8个点以及上下两层相邻的9个点的灰度值,若该点对应的灰度值为相邻区域的极大或者极小值,则将其作为特征点,参见图2。
步骤S104,将同一个图像中检测出的特征点中相邻的特征点进行聚合;
将源图像中检测出的特征点中,在空间中相邻的特征点进行合并,以及,将目标图像中检测出的特征点中,在空间中相邻的特征点进行合并,从而对每一个图像中检测到的特征点进行了进一步的精化,为后面的特征匹配过程做好准备。
步骤S106,按照经过聚合后的特征点,对源图像和目标图像间的特征点进行匹配,得到图像间的特征点匹配关系;
步骤S108,根据特征点匹配关系,确定源图像和目标图像间的变换关系,从而完成整个图像配准过程。
本发明实施例的图像配准方法中,在利用高斯差分图像检测出源图像和目标图像中的特征点之后,对同一图像的特征点中在空间上相邻的特征点进行了聚合,得到了源图像和目标图像的精确的特征点集合,然后再按照聚合后的特征点对源图像和目标图像间的特征点进行特征匹配以及确定图像间的变换关系,从而,通过在进行特征匹配过程之前,先对图像的特征点中相邻的特征点进行聚合,从而对图像的特征点进行了进一步的简化,这样,后续进行特征匹配过程中需要匹配的特征点的数量就减少了,进而降低了匹配的计算复杂度和时间复杂度,提高了匹配效率;另外,由于合并了在空间上相邻的特征点,使得合并前多个相邻特征点周围的纹理区域仅由一个位置的特征点的描述子表示,这样也提高了匹配的精确度,解决了现有技术中存在的匹配计算复杂度较高和匹配不准确的问题。
实施例二
在实际实施过程中,对图像中相邻的特征点进行聚合(即实施例一中的步骤S104)可以有多种方式,例如:依次遍历同一个图像中检测出的各个特征点,对于每一个特征点,均判断在该特征点的预定范围内是否存在其他特征点(同一图像中检测出的其他特征点),若存在,则将该特征点与在该特征点的预定范围内的其他特征点聚合(或合并)为一个特征点;若不存在,则继续遍历下一个特征点,直至遍历完该图像的所有的特征点,最终可以得到精确的特征点集合。聚合得到的特征点的位置
为被聚合的特征点的位置的平均值,方差
为被聚合的特征点对应的方差的均值,具体公式参见公式(2)和(3):
其中,(xi,yi)表示被聚合的各个特征点的坐标,n表示被聚合的特征点的数量,n为正整数,i为变量,且i=1,2,...,n。
其中,
表示被聚合的各个特征点对应的方差值,n表示被聚合的特征点的数量,n为正整数,i为变量,且i=1,2,...,n。
上述的预定范围可以根据实际需要进行设定,该预定范围可以是以特征点为中心、半径为预定数量(例如1.5~2)个像素的圆的范围,也可以是以特征点为中心、预定数量个像素为边长的正方形的范围,本发明对此不做限定。
实施例三
为了解决现有技术中存在的利用单向匹配方式进行特征匹配会存在一定数目的错误匹配点对,从而导致匹配的准确度较低的问题,本实施例在实施例一的基础上,进一步对特征匹配方法进行了改进,在进行特征匹配时采用了非对称的双向匹配方法,以消除错误匹配点对。如图3所示,基于特征点聚合和非对称的双向匹配的图像配准方法具体包括以下步骤:
步骤S302,利用高斯差分图像,分别检测待配准的源图像和目标图像中的特征点;该步骤的具体实施方式可以参考实施例一中的步骤S102,这里不再赘述。
步骤S304,将同一个图像中检测出的特征点中相邻的特征点进行聚合;该步骤的具体实施方式可以参见实施例二,这里不再赘述。
步骤S306,采用非对称的双向匹配方式,对源图像和目标图像间的特征点进行非对称双向匹配,得到图像间的特征点匹配关系;
具体的,非对称的双向匹配方式的特征匹配过程,包括以下步骤:
步骤1,分别计算源图像和目标图像的经过聚合后的各个特征点对应的SURF(Speeded Up Robust Features,加速鲁棒特征)描述子(描述子为向量的形式,因此也称为描述子向量),得到源图像的各个SURF描述子所形成的源集合以及目标图像的各个SURF描述子所形成的目标集合,其中,每一个特征点对应于一个SURF描述子。
例如,源图像中检测出的特征点经过聚合后,得到源图像聚合特征点集合,计算该源图像聚合特征点集合中每一个特征点对应的SURF描述子,算得的这些SURF描述子形成源集合;同样,目标图像中检测出的特征点经过聚合后,得到目标图像聚合特征点集合,计算该目标图像聚合特征点集合中每一个特征点对应的SURF描述子,算得的这些SURF描述子形成目标集合。
其中,一个特征点对应的SURF描述子的计算过程主要包括两个过程:确定SURF描述子的主方向和确定SURF描述子。
首先,确定特征点对应的SURF描述子的主方向。以特征点作为原点、水平方向和竖直方向作为坐标系的方向,计算半径为2σ(σ是该特征点对应的高斯函数的均方差)圆内的梯度,并将这些梯度值以特征点为中心,分别根据均方差为2σ的高斯函数赋予权值,并计算大小为π/3的滑动窗口中的梯度幅度累加值,累加值最大的方向为SURF描述子的主方向。即,对于某一个特征点区域,其中所有的采样点的梯度计算完成时,这些梯度值用一个以特征点所在位置为中心的均方差为2σ的高斯函数进行权值分配,权值分配后,将每个采样点对应的值对置于平行于源图像的平面坐标系中,即新的坐标系以特征点为原点,而水平及垂直方向不变。对于特征点周围所有的值对,计算大小为π/3的滑动窗口对应每一个位置的值,参见图4。对于每一个滑动窗口,计算窗口内所有的点的水平及竖直方向上的和,得到的这两个和对应于一个向量。对于每个滑动窗口都计算这样一个向量,向量的模(即幅度)所在的最大的滑动窗口,对应于这个特征点的SURF描述子的主方向。滑动窗口的大小应该谨慎的选择。太小的窗口会使滑动窗口内包含的点数目太少,而过大的窗口会产生多个相近的最大值。这两种情况都会产生错误的主方向。
然后,根据所确定的SURF描述子的主方向,确定该SURF描述子。将所确定的主方向作为水平方向、与这个方向相垂直的方向为竖直方向建立坐标系,选取一个以特征点为中心、边长为20σ大小的正方形区域(该正方形区域的某一条边与该特征点对应的SURF描述子的主方向相平行),图5中示出了一些特征点对应的这样的正方形区域。将这个正方形区域进一步划分为4×4个子区域,这样做就保留了重要的空间信息。对于每个子区域,在5×5的规则采样位置上,计算每一个子区域中的在水平方向上的梯度累加值及梯度的绝对值累加值,以及垂直方向上的梯度累加值及梯度的绝对值累加值,每一个子区域对应一个维数为4的向量,从而整个正方形区域对应一个4×4×4=64维的描述子向量,该描述子向量即为特征点的SURF描述子,该SURF描述子中的元素即为上述16个子区域在水平方向上的梯度累加值和梯度绝对值累加值,以及在竖直方向上的梯度累加值和梯度绝对值累加值。
其中,计算每一个子区域中的在水平方向上的梯度累加值及梯度的绝对值累加值,以及垂直方向上的梯度累加值及梯度的绝对值累加值时,出于简单化法则的考虑,将梯度的水平方向的值记为dx、竖直方向的值记为dy(这里的水平和竖直方向是根据特征点的SURF描述子的主方向而定的,即,水平及竖直方向分别与特征点的SURF描述子的主方向平行和垂直),为了增强对于几何变形和定位偏差的鲁棒性,dx和dy首先使用以特征点为中心的3.3σ高斯函数进行权值分配。然后,dx和dy在每一个子区域中进行求和计算,进而形成了特征向量中的一系列分量。为了将图像的灰度信息包含入内,还需要计算对应子区域内梯度的绝对值|dx|和|dy|的和。因此,每一个子区域包含一个4维的描述子向量v=(∑dx,∑dy,∑|dx|,∑|dy|)。将所有的16个子区域对应的结果接合起来,就得到了一个长度为64的描述子向量。
步骤2,从目标集合中查找与源集合中的各个SURF描述子相匹配的SURF描述子,其中,查找到的相匹配的SURF描述子形成中间集合;此次匹配可称为正向匹配过程。
步骤3,从源集合中查找与中间集合中的各个SURF描述子相匹配的SURF描述子,得到匹配点对集合,该匹配点对集合就表示了源图像和目标图像间的特征点匹配关系,其中,该匹配点对集合中包含有至少一对匹配点对,中间集合中的一个SURF描述子及其匹配的源集合中的一个SURF描述子组成一个匹配点对;此次匹配可称为非对称反向匹配过程。
步骤2-3的特征匹配过程可称为非对称双向匹配。
下面举例说明上述步骤2-3的匹配过程:
如图6所示,对于分别对应于源图像和目标图像的两个SURF描述子集合:源集合和目标集合,以其中一个作为查询描述子集合,另一个作为待匹配描述子集合。对于查询描述子集合{vq}(即源集合)中的每一个特征点对应的描述子vq,在待匹配描述子集合{vc}(即目标集合)中寻找对应的最近邻的描述子vc,n和次近邻的描述子vc,sn,分别计算vc,n和vc,sn到描述子vq的距离dn和dsn,若描述子vq到最近邻的描述子vc,n的欧氏距离dn与到次近邻的描述子vc,sn的欧氏距离dsn的比值小于预定阈值r(r经常取一个参考值0.8),则认为描述子vq与最近邻的描述子vc,n分别对应的特征点构成一个潜在的匹配对(vq′,vc′)=(vq,vc,n)。这里,对于查询描述子集合中的每一个描述子均重复以上过程,得到潜在的匹配点对集合{(vq′,vc′)},这称为正向匹配过程。对于潜在匹配点对集合中的每一个元素(vq′,vc′),再用vc′(正向匹配中待匹配描述子集合中的描述子)作为查询描述子形成查询描述子集合{vc′}(即中间集合),以正向匹配的查询描述子集合{vq}作为待匹配描述子集合,寻找满足上述预定阈值r的最近邻匹配描述子vq′,n,这称为非对称反向匹配过程。上述非对称双向匹配查找过程得到的匹配点对集合确定为最终的匹配点对集合,该集合用于表示源图像和目标图像间的特征点匹配关系。
在现有技术的单向匹配过程中,若作为查询描述子集合的源集合中的两个描述子与待匹配描述子集合中的同一个描述子相匹配,此时就产生了错误匹配,而本发明实施例通过非对称的双向匹配方式,在进行了一个方向的匹配之后,将待匹配描述子集合中匹配到的描述子的集合(即中间集合)作为查询描述子集合再次反方向进行匹配,从而确定最终的匹配点对集合,从而可以根据匹配的唯一性滤去错误匹配,因而可以进一步提高匹配的准确度。采用非对称的双向匹配方式在保证了一定的匹配点数目的同时,最大程度地提高了匹配点对的正确率,该方式适合于两个包含高维向量的集合进行匹配的运算过程。
步骤S308,根据特征点匹配关系,确定源图像和目标图像间的变换关系(或仿射变换关系),从而完成整个图像配准过程。
对于在步骤S306中最终得到的匹配点对集合,按照以下公式(4)计算满足条件的 及 的值:
其中, 和 分别是步骤S306中最终得到的匹配点对集合中的一对匹配特征点的坐标值。也就是说,对于在匹配点对集合中的一系列匹配的特征点对来说,按照以下公式(5)计算满足条件的系数矩阵 的值,即可得到最终的变换关系:
具体的,计算满足公式(5)的系数矩阵 只需解线性方程组Ax=b,其对应正规方程的解为:
x=[ATA]-1ATb (6)
其中,
显然,在实际实施时,上述的特征点聚合和非对称的双向配准也可以独立实施,即,图像配准方法中仅采用特征点聚合,或者仅采用非对称的双向配准。
实施例四
图7是本发明的实施例四的图像配准装置的结构示意图,该图像配准装置包括以下模块:
特征检测模块10,用于利用高斯差分图像,分别检测待配准的源图像和目标图像中的特征点;
特征聚合模块20,用于将特征检测模块10在同一个图像中检测出的特征点中的相邻的特征点进行聚合;
特征匹配模块30,用于按照经过特征聚合模块20进行聚合后的特征点,对源图像和目标图像间的特征点进行匹配,得到图像间的特征点匹配关系;以及,
变换关系确定模块40,用于根据特征匹配模块30所确定的特征点匹配关系,确定源图像和目标图像间的变换关系。
如图8所示,为了实现对空间中相邻的特征点的聚合,特征聚合模块20可以进一步包括:判断模块202以及聚合执行模块204。其中,判断模块202用于依次遍历一个图像中检测出的各个特征点,对于每一个特征点,判断在该特征点的预定范围内是否存在其他特征点,若不存在,则继续遍历下一个特征点;聚合执行模块204用于在判断模块202的判断结果为存在时,将该特征点与在该特征点的预定范围内的其他特征点聚合为一个特征点。
判断模块202判断在一个特征点的预定范围内是否存在其他特征点的具体实施方式可以参见实施例二,这里不再赘述。
另外,为了解决现有技术中存在的利用单向匹配方式进行特征匹配会存在一定数目的错误匹配点对,从而导致匹配的准确度较低的问题,如图9所示,特征匹配模块30还可以进一步包括:描述子计算模块302、正向匹配模块304和反向匹配模块306,其中:
描述子计算模块302用于分别计算源图像和目标图像的经过聚合后的各个特征点对应的加速鲁棒特征SURF描述子,得到源图像的各个SURF描述子所形成的源集合以及目标图像的各个SURF描述子所形成的目标集合,其中,每一个特征点对应于一个SURF描述子;计算一个特征点对应的SURF描述子的具体实施方式可以参见实施例三,这里不再赘述。
正向匹配模块304用于从目标集合中查找与源集合中的各个SURF描述子相匹配的SURF描述子,其中,查找到的相匹配的SURF描述子形成中间集合;
反向匹配模块306用于从源集合中查找与中间集合中的各个SURF描述子相匹配的SURF描述子,得到匹配点对集合,其中,匹配点对集合中包含有至少一对匹配点对,中间集合中的一个SURF描述子及其匹配的源集合中的一个SURF描述子组成一个匹配点对。
然后,变换关系确定模块40会根据反向匹配模块306得到的最终的匹配点对集合,确定出源图像和目标图像间的变换关系,从而完成图像配准过程。具体的确定的实施方式可以参见实施例三,这里不再赘述。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。