点特征图像配准中的双重最近邻优先搜索方法 【技术领域】
本发明涉及图像特征匹配领域, 尤其涉及点特征图像配准中的双重最近邻优先搜索方法。 背景技术 基于特征的图像匹配方法是图像配准中很重要的一类方法, 此类方法的主要流程 如下 : 首先对两幅图像进行特征提取得到特征点 ; 通过进行相似性度量找到匹配的特征点 对; 然后通过匹配的特征点对得到图像空间坐标变换参数 ; 最后由坐标变换参数进行图像 配准。
特征提取和匹配是图像配准技术中的关键。基于尺度不变特征变换 (Scale Invariant Features Transform, SIFT) 点特征的图像配准方法是近年来研究得较广泛的 一种基于特征的图像配准方法。 SIFT 算法是 David Lowe 于 2004 年正式完整提出的一种图 像局部特征描述算法, SIFT 点特征是基于图像金字塔的多尺度极值点检测并采用极值点邻
域的梯度方向直方图进行描述的一种图像局部特征。 它对于图像的尺度缩放、 旋转、 平移以 及一定程度的仿射和光照变化具有良好的不变性, 其建议 SIFT 特征向量为 128 维。在特征 匹配中, 一般采用欧式距离、 马氏距离以及标准 k-d 树搜索等相似性度量方法。最近邻优先 (Best Bin First, BBF) 搜索算法是 Jeffrey S.Beis 和 David Lowe 于 1997 年提出的一种 针对标准 k-d 树搜索算法回溯次多、 耗时长等缺点而改进的算法, 它保证在接近标准 k-d 树 搜索算法的配准率的基础上大幅度减少匹配耗时。
在 k-d 树中, 每一节点都有一个超矩形, 且节点在超矩形里面。超矩形是一个向量 空间, 其维数与特征空间的维数相同, 空间里的每一维分量都在一个区间范围内。 兄弟节点 的超矩形中只有某一维的分量区间不同, 但却是相邻的, 比如左兄弟节点的某一维向量区 间为 (0, 100], 右兄弟节点的相同维的向量区间为 (100, 200], 其余所有维的分量区间都相 同。父亲节点的超矩形是两个儿子的超矩形所组合而成的。
标准 k-d 树搜索算法 ( 作者 : Jon Louis Bentley. 文章名 : Multidimensional binary search trees used for associativesearching. 杂志 : Communications of the ACM(Association forComputing Machinery), 18(9) : 509517, 1975.) 在算法回溯时, 需要 在兄弟节点所在的相邻超矩形里检查是否含有离目标更近特征向量, 这大大增加算法时 间。BBF 搜索算法 ( 作者 : Jeffrey S.Beis andDavid G.Lowe. 文章名 : Shape indexing using approximatenearest-neighbor search in high dimensional spaces ;期 刊 : Proceedings of the IEEE Conference on Computer Vision andPattern Recognition, pages 1000-1006, 1997) 是在标准 k-d 树搜索算法在算法回溯前, 先计算目标向量与相邻 超矩形的距离, 而且按从近到远的顺序将这些超矩形排序, 然后在算法回溯时, 则依次从最 近超矩形起搜索比较。另外, BBF 搜索算法限制相邻超矩形的数目 (SearchStep)。BBF 搜 索算法图像配准率, 随着 SearchStep 增加而提高, 当 SearchStep 大到一定数时, BBF 的配 准率与标准 k-d 树搜索算法的配准率相等。虽然 BBF 搜索算法效率有很大提高, 但配准率没有提高。
双重最近邻优先 (Double Best Bin First, DBBF) 搜索方法是 BBF 搜索算法上增 加匹配验证功能。在特征匹配过程中, 分别建立基图和待配准图的 k-d 树, 特征匹配在这两 棵 k-d 树上进行。DBBF 搜索方法的配准率比 BBF 搜索算法有较大的提高, 原因是它在 BBF 搜索算法匹配结果中再次利用 BBF 搜索算法去除一些不正确的匹配对。 DBBF 搜索方法与标 准 k-d 树搜索算法相比, 匹配率和效率都有很大的提高。 发明内容 本发明所解决的技术问题是提供匹配率高和效率高的点特征图像配准中的双重 最近邻优先搜索方法。
本发明所采用的技术方案是 : 点特征图像配准中的双重最近邻优先搜索方法, 其 特征在于 : 该方法包括 :
A、 读取基图, 提取基图的尺度不变特征变换 (SIFT) 点特征, 组成基图的特征向量 空间 Θ_Left ;
B、 读取待匹配图, 提取待匹配图的尺度不变特征变换 (SIFT) 点特征, 组成待匹配 图的特征向量空间 Θ_Right ;
采用 SIFT 点特征, 其匹配性能明显高于同类型的局部特征 ;
C、 利用基图的特征向量空间 Θ_Left 建立标准的 k-d 树 kdTree_Left, 利用待匹配 图的特征向量空间 Θ_Right 建立标准的 k-d 树 kdTree_Right ;
D、 在待匹配图的特征向量空间 Θ_Right 中取出一特征向量 T_Right ;
E、 利用最邻近优先搜索算法, 在基图的 k-d 树 kdTree_Left 中分别找出与特征向 量 T_Right 距离最近的特征向量 T-Left_Nearest 和与特征向量 T-Right 距离次近的特征 向量 T-Left_Nearer ;
F、 判断的比值, 若比值大于 0.8, 则认为在基图的特征向量空间 Θ_Left 中没有与特征向量 T_Right 相匹配的特征向量, 转至步骤 I ; 若比值小于 0.8, 转至步骤 G ;
其中 :
T_Right[k] 表示特征向量 T_Right 中的第 k 维分量 ;
T_Left_Nearest[k] 表示特征向量 T_Left_Nearest 中的第 k 维分量 ;
T_Left_Nearer[k] 表示特征向量 T_Left_Nearer 中的第 k 维分量 ;
k = 0, 1, ..., 127 ;
G、 利用最邻近优先搜索算法, 在待匹配图的特征向量空间 Θ_Right 建立的标 准的 k-d 树 kdTree_Right 中找出与特征向量 T_Left_Nearest 最近距离的特征向量 T_ Right’ ;
H、 判断特征向量 T_Right 与特征向量 T_Right’是否相同, 若特征向量 T_Right 与特征向量 T_Right’ 不同, 则认为在基图的特征向量空间 Θ_Left 中没有与特征向量 T_Right 相匹配的特征向量, 转至步骤 I ; 若特征向量 T_Right 与特征向量 T_Right’ 相同, 则 特征向量 T_Right 和特征向量 T_Left_Nearest 成为一对匹配 ;
I、 判断待匹配图的特征向量空间 Θ_Right 中的特征向量是否取完, 若待匹配图 的特征向量空间 Θ_Right 中的特征向量取完, 则方法停止, 否则转至步骤 D。
根据本发明所述的点特征图像配准中的双重最近邻优先搜索方法的优选方案, 所 述利用基图的特征向量空间 Θ_Left 建立标准的 k-d 树的方法包括 :
C1、 制定 k-d 树节点分辨器的原则
利用基图的特征向量空间 Θ_Left, Θ_Left = {T1, T2, ..., TN}, 其中, 每个特征 向量 Ti 的维数为 128, i = 1, 2, ..., N; 遍历特征向量空间 Θ_Left, 找出每一维的最大值 max(Ti[k]) = maxk 和最小值 min(Ti[k]) = mink, 其中 k = 0, 1, ..., 127 ; 计算每一维的最 大值 maxk 与最小值 mink 的差值
Distk = maxk-mink, (1)
然后找出其中最大的差值
Distmax = max(Dist0, Dist1, ..., Dist127), (2)
根据 (2) 式得出 Distmax 所对应的 k, 其中, k 叫做分辨维 ; 然后在基图的特征向量 空间 Θ_Left 中找出特征向量 Ti, 特征向量 Ti 必须满足条件 :
min(|Ti[k]-(maxk+mink)/2|), (3) 其中, Ti[k] 表示特征向量 Ti 在分辨维 k 的分量值 ; i = 1, 2, ..., N; C2、 构造 k-d树 C21、 将在基图的特征向量空间 Θ_Left 中找出符合分辨器原则的特征向量 Ti 作 为 k-d 树的根节点, 然后在基图的特征向量空间 Θ_Left 中去掉 Ti, 并遍历基图的特征向量 空间 Θ_Left :
如果特征向量 Tj 在分辨维 k 的分量值 Tj[k] 小于等于特征向量 Ti 在分辨维 k 的 分量值 Ti[k], 即 Tj[k] ≤ Ti[k], 其中, j = 1, 2, ..., N, k = 0, 1, ..., 127, 且 j ≠ i, 则把特 征向量 Tj 放在根节点左边, 进入步骤 C22 ; 如果特征向量 Tj 在分辨维 k 的分量值 Tj[k] 大于 特征向量 Ti 在分辨维 k 的分量值 Ti[k], 则把特征向量 Tj 放在根节点右边, 进入步骤 C23 ;
C22、 将放在根节点左边的特征向量 Tj 组成一个新的特征向量空间, 利用上述比较 分辨维对应特征向量的分量方法, 找出新根节点作为 k-d 树根节点的左子根节点, 再建立 一个新 k-d 树, 新 k-d 树是当前根节点的子树, 进入步骤 C24 ;
C23、 将放在根节点右边的特征向量 Tj 组成一个新的特征向量空间, 利用上述比较 分辨维对应特征向量的分量方法, 找出新根节点作为 k-d 树根节点的右子根节点, 再建立 一个新 k-d 树, 新 k-d 树是当前根节点的子树 ;
C24、 判断基图的特征向量空间 Θ_Left 中的特征向量是否都被包含到 k-d 树中, 当特征向量空间 Θ_Left 中的特征向量还没有全部都被包含到 k-d 树中时, 返回步骤 C21 ; 当特征向量空间 Θ_Left 中的特征向量全部都被包含到 k-d 树中时, 结束构造 k-d 树。
一个好的分辨器有助于生成平衡的 k-d 树, 平衡的 k-d 树可明显提高搜索效率。
本发明所述的点特征图像配准中的双重最近邻优先搜索方法的有益效果是 : 双重 最近邻优先搜索方法 DBBF 在 BBF 搜索算法上增加匹配验证功能, 在特征匹配过程中, 分别 建立基图和待配准图的 k-d 树, 特征匹配在这两棵 k-d 树上进行, 同时, 由于在 BBF 搜索算
法匹配结果中再次利用 BBF 搜索算法去除一些不正确的匹配对, 使双重最近邻优先搜索方 法 DBBF 的配准率比 BBF 搜索算法有较大的提高, 并且双重最近邻优先搜索方法 DBBF 与标 准 k-d 树搜索算法相比, 匹配率和效率都有很大的提高 ; 可广泛的应用在图像特征匹配领 域。 附图说明
以下将结合附图对本发明的实施例作进一步的说明。 图 1 是图像配准算法部分流程图。 图 2 是提取图像 SIFT 特征的算法流程图。 图 3 是 DBBF 搜索方法流程图。 图 4 是将基图旋转 15 度作为待配准图的配准率比较图。 图 5 是将基图旋转 45 度作为待配准图的配准率比较图。 图 6 是将基图旋转 75 度作为待配准图的配准率比较图。 图 7 是将基图旋转 15 度作为待配准图的耗时比较图。 图 8 是将基图旋转 45 度作为待配准图的耗时比较图。 图 9 是将基图旋转 75 度作为待配准图的耗时比较图。具体实施方式
参见图 1, 点特征图像配准中的双重最近邻优先搜索方法, 其特征在于 : 该方法包 括:
A、 读取基图, 提取基图的尺度不变特征变换 (SIFT) 点特征, 组成基图的特征向量 空间 Θ_Left ;
B、 读取待匹配图, 提取待匹配图的尺度不变特征变换 (SIFT) 点特征, 组成待匹配 图的特征向量空间 Θ_Right ;
其中, 在步骤 A、 B 中, 提取图像的 SIFT 点特征的主要流程如图 2 所示 ;
C、 利用基图的特征向量空间 Θ_Left 建立标准的 k-d 树 kdTree_Left, 利用待匹配 图的特征向量空间 Θ_Right 建立标准的 k-d 树 kdTree_Right ;
其中, 所述利用基图的特征向量空间 Θ_Left 建立标准的 k-d 树的方法包括 :
C1、 制定 k-d 树节点分辨器的原则
利用基图的特征向量空间 Θ_Left, ΘLeft = {T1, T2, ..., TN}, 其中, 每个特征 向量 Ti 的维数为 128, i = 1, 2, ..., N; 遍历特征向量空间 Θ_Left, 找出每一维的最大值 max(Ti[k]) = maxk 和最小值 min(Ti[k]) = mink, 其中 k = 0, 1, ..., 127 ; 计算每一维的最 大值 maxk 与最小值 mink 的差值
Distk = maxk-mink, (1)
然后找出其中最大的差值
Distmax = max(Dist0, Dist1, ..., Dist127), (2)
根据 (2) 式得出 Distmax 所对应的 k, 其中, k 叫做分辨维 ; 然后在基图的特征向量 空间 Θ_Left 中找出特征向量 Ti, 特征向量 Ti 必须满足条件 :
min(|Ti[k]-(maxk+mink)/2|), (3)其中, Ti[k] 表示特征向量 Ti 在分辨维 k 的分量值 ; i = 1, 2, ..., N; C2、 构造 k-d树: C21、 将在基图的特征向量空间 Θ_Left 中找出符合分辨器原则的特征向量 Ti 作 为 k-d 树的根节点, 然后在基图的特征向量空间 Θ_Left 中去掉 Ti, 并遍历基图的特征向量 空间 Θ_Left :
如果特征向量 Tj 在分辨维 k 的分量值 Tj[k] 小于等于特征向量 Ti 在分辨维 k 的 分量值 Ti[k], 即 Tj[k] ≤ Ti[k], 其中, j = 1, 2, ..., N, k = 0, 1, ..., 127, 且 j ≠ i, 则把特 征向量 Tj 放在根节点左边, 进入步骤 C22 ; 如果特征向量 Tj 在分辨维 k 的分量值 Tj[k] 大于 特征向量 Ti 在分辨维 k 的分量值 Ti[k], 则把特征向量 Tj 放在根节点右边, 进入步骤 C23 ;
C22、 将放在根节点左边的特征向量 Tj 组成一个新的特征向量空间, 利用上述比较 分辨维对应特征向量的分量方法, 找出新根节点作为 k-d 树根节点的左子根节点, 再建立 一个新 k-d 树, 新 k-d 树是当前根节点的子树, 进入步骤 C24 ;
C23、 将放在根节点右边的特征向量 Tj 组成一个新的特征向量空间, 利用上述比较 分辨维对应特征向量的分量方法, 找出新根节点作为 k-d 树根节点的右子根节点, 再建立 一个新 k-d 树, 新 k-d 树是当前根节点的子树 ;
C24、 判断基图的特征向量空间 Θ_Left 中的特征向量是否都被包含到 k-d 树中, 当特征向量空间 Θ_Left 中的特征向量还没有全部都被包含到 k-d 树中时, 返回步骤 C21 ; 当基图的特征向量空间 Θ_Left 中的特征向量全部都被包含到 k-d 树中时, 结束构造 k-d 树。
利用待匹配图的特征向量空间 Θ_Right 建立标准的 k-d 树 kdTree_Right 的方法 同利用基图的特征向量空间 Θ_Left 建立标准的 k-d 树的方法, 在此不累述 ;
D、 在待匹配图的特征向量空间 Θ_Right 中取出一特征向量 T_Right ;
E、 利用最邻近优先搜索算法 BBF, 在基图的 k-d 树 kdTree_Left 中分别找出与特征 向量 T_Right 距离最近的特征向量 T_Left_Nearest 和与特征向量 T_Right 距离次近的特 征向量 T_Left_Nearer ;
F、 判断的比值, 若比值大于 0.8, 则认为在基图的特征向量空间 Θ_Left 中没有与特征向量 T_Right 相匹配的特征向量, 转至步骤 I ; 若比值小于 0.8, 转至步骤 G ; 其中 :
T_Right[k] 表示特征向量 T_Right 中的第 k 维分量 ;
T_Left_Nearest[k] 表示特征向量 T_Left_Nearest 中的第 k 维分量 ;
T_Left_Nearer[k] 表示特征向量 T_Left_Nearer 中的第 k 维分量 ;
k = 0, 1, ..., 127 ;
G、 利用最邻近优先搜索算法 BBF, 在待匹配图的特征向量空间 Θ_Right 建立的 标准的 k-d 树 kdTree_Right 中找出与特征向量 T_Left_Nearest 最近距离的特征向量 T_ Right’ ;
H、 判断特征向量 T_Right 与特征向量 T_Right’是否相同, 若特征向量 T_Right 与特征向量 T_Right’ 不同, 则认为在基图的特征向量空间 Θ_Left 中没有与特征向量 T_ Right 相匹配的特征向量, 转至步骤 I ; 若特征向量 T_Right 与特征向量 T_Right’ 相同, 则 特征向量 T_Right 和特征向量 T_Left_Nearest 成为一对匹配 ;
I、 判断待匹配图的特征向量空间 Θ_Right 中的特征向量是否取完, 若待匹配图 的特征向量空间 Θ_Right 中的特征向量取完, 则方法停止, 否则转至步骤 D ; 其中, 步骤 D 至步骤 I 的方法流程如图 3 所示 ;
J、 显示匹配结果。
本发明所述的点特征图像配准中的双重最近邻优先搜索方法 DBBF 在 BBF 搜索算 法上增加匹配验证功能, 在 BBF 搜索算法匹配结果中去除一些不正确的匹配, 使匹配率有 较大的提高, 本发明所述的双重最近邻优先搜索方法 DBBF 与标准的 k-d 树搜索算法相比, 匹配率和效率都有很大的提高。
下面结合图 4 至图 9 具体说明采用不同算法进行图像配准的实验结果 :
实验将一幅 256*256 大小的灰度图像作为基图, 在基图的 (50, 50) 位置截取大小 为 151*201, 并分别旋转 15、 45、 75 度的图作为待配准图, 将所得到的三张待配准图分别和 基图做配准实验, 每次实验中, 采用 BBF 搜索算法和采用 DBBF 搜索方法中的相邻超矩形的 数目 SearchStep 从 1 到 20 依次取值, 分别做 20 次配准。另外再采用遍历搜索算法和标准 k-d 树搜索算法做配准, 比较配准所用的时间和配准率, 并显示其结果。图 4、 5、 6 是三个配 准实验的配准率比较图, 图 7、 8、 9 是三个配准实验的耗时比较图, 从三个实验结果中可以 得出以下结论 :
1、 DBBF 搜索方法的配准率最高, 标准 k-d 树搜索算法次之, BBF 和遍历搜索算法最 低;
2、 在相同的相邻超矩形的数目 SearchSteps 的情况下, DBBF 搜索方法比 BBF 搜索 算法的配准率高出 10-30% ;
3、 随着相邻超矩形的数目 SearchSteps 的增大, BBF 搜索算法的配准率越来越接 近标准 k-d 树搜索算法 ;
4、 在相同的相邻超矩形的数目 SearchSteps 的情况下, DBBF 搜索方法比 BBF 搜索 算法的耗时约多, 但是与标准 k-d 树和遍历搜索算法耗时相比, 依然很少。