一种结合点特征和线特征的图像匹配算法_3

文档序号:9200963阅读:来源:国知局
可以采用 canny,sobel或更快的边缘提取算法来提取边缘。可以对提取边缘的长度以及边缘像素点 与角点的距离增加约束。
[0068] 需要指出的是,这里也可以使用其他边缘提取算子,如:Sobel算子、Prewitt算 子、Roberts算子、Laplacian算子,然而实验测试证明:相比而言,canny算子能够更准确地 提取实际边缘。
[0069] 将提取出来的边缘点坐标以曲线为单位,存储到链表中,使用数组M(索引即为上 述的η)对链表进行索引。角点周围的边缘集合使用链表表示。链表内的值为其包含的边 缘曲线在数组M中的索引。
[0070] 如图3所示,在点P的邻域提取边缘并进行生长,获得曲线IjP I i,则分别获得存 储曲线IjP I i的链表1istO和Iistl,同时对曲线1 ^上的像素标记为m,对曲线I i上的像 素标记为η。然后在数组M中索引为m和η的位置存储指向链表1istO和Iistl头结点的 指针。
[0071] (3)计算角点的点特征描述子
[0072] 利用公式(1)或(2)描述步骤(1)获得的最终选定的实时图与模板图角点的类 ORB点特征描述子。计算类ORB点特征描述子过程中,首先在角点邻域选择一定数量的图块 对(即两个图块组成的集合),计算每个图块内像素的灰度值之和,比较每个图块对的灰度 值之和,根据比较的结果进行编码,所有图块对比较结果的编码组成了该角点的类ORB点 特征描述子(可以根据标准ORB算法的建议的方式选择512对9X9像素大小的图块,所有 图块都在该角点所在尺度上获取)。
[0073] 每个图块对的编码方式如下公式所示:
[0075] 其中t为根据对实时图对比度要求选择的阈值,p(x)和p (y)表示选择的图块内 像素的灰度值之和。如果只考虑材质反差(例如红外图像),可将编码01和10合并为1, 即公式为:
[0077] 每个图块对i计算出一个τ i,K个图块对比较结果的编码组成了该角点的点特征 描述子[τ 0,τ !,…,τ κ-J °
[0078] 如图4所示,表示在角点邻域内选择的其中一对图块,比较两个图块内的灰度值, 利用公式(1)或(2)计算该图块在点特征描述子中对应的值。例如要求的对比度要求为 0. 2,则t选取为0. 2 Xmin (p(x), P (y)),当然为了节省计算成本,也可以将其选为固定值, 可直接取为405 (即为9X9X5)。
[0079] (4)边缘集合匹配相似度计算
[0080] 利用最小截平方 Hausdorff 距离(Least Trimmed Square-Hausdorff Distance, LTS-HD),根据公式(5)描述步骤(2)获得的实时图和模板图的边缘集合的匹配相似度。 LTS-HD将点到点集按最小坐标距离(使用欧式距离描述)从小到大排序,取前h个的平均 值作为单向Hausdorff距离。
[0081 ] 具体将边缘集合内的点的坐标值都换算到以角点为原点的坐标值。计算点集A到 点集B的匹配点对时,遍历描述点集A内边缘点的链表,获得边缘点的坐标,然后到B所在 的图中相应坐标位置P周围r Xr邻域内由近及远进行查找边缘点。如果r Xr邻域内存在 边缘点,则将该边缘点的坐标与位置P之间的距离作为最小距离。如果邻域内没有找到边 缘点,则将最小距离值设为2r以降低相似度评价。计算点集B到A的匹配点对的最小距离 时采用相同的计算方法。获得点对的最小距离后,依次按照公式(3)、(4)和(5)计算两个 点集间的LTS-HD距离,按照公式(6)计算边缘集合(即线特征)的匹配相似度。
[0082] 例如,实时图某角点坐标为(140, 420),其周围的边缘集合内某边缘点的坐标为 (200, 400),则该边缘点对于角点的相对坐标为(60,-20)。与模板图某角点进行匹配时,在 以模板图该角点为原点的坐标系下,在标记了模板图边缘点的数组上的(60,-20)位置附 近r X r邻域中由远及近查找模板图中的边缘点。如果存在边缘点,则将获得的距离依次按 照公式(3)、(4)和(5)计算两个点集间的LTS-HD距离。如果不存在边缘点,则使用距离2r 用于计算LTS-HD距离。这里的r根据实时性要求以及对位置误差的容忍度而定,这里将其 选为5。
[0083] (5)点特征匹配相似度计算
[0084] 按公式(7)计算步骤(3)中获得的实时图与模板图角点的类ORB点特征描述子的 匹配相似度。设实时图点特征描述子为[^a 1,…,aK_J,模板图点特征描述子为 ,bK_J,如果Si= b i (i = 0, 1,…,K-1),则认为点特征描述子第i维匹配结果一致。统计匹 配结果一致的维数总数m。使用公式(7)描述点特征的匹配相似度。这里按照标准ORB的 建议将K选为512。
[0085] 例如,存储了 512维实时图点特征描述子的8个整型变量(32位)为[0x80, 0x40 ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00],模板图点特征描述子的整型变量为[0x40, 0x40, 0x00 ,0x00, 0x00, 0x00, 0x00, 0x00],按位异或后,得[OxcO, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]。通过按位右移操作,每次取低8位,可以得到64个变量,根据这些变量进行查表(256 维的数组)可以直接获得这些变量的二进制表示里有多少个〇(〇表示该维匹配结果一致)。 比如对0x01查表可知其包含7个0,对0x03查表可知其包含6个0。
[0086] (6)匹配结果综合
[0087] 对步骤(4)和步骤(5)中获得的点特征匹配相似度和线特征匹配相似度进行综 合,要求点特征匹配相似度大于阈值t p,线特征匹配相似度大于阈值&,取点特征匹配相似 度前N大的角点组成候选匹配点集,然后使用线特征对这些候选匹配点进行评价,取在线 特征描述下相似度最高的结果作为最终匹配角点。这里t p取为0. 6(即要求点特征中比较 结果一致的图块数要占总图块数的60%以上)。h取为0. 4 (假设边缘点邻域存在与其对 应的边缘点的概率为0. 5,则期望的LTS-HD距离可粗略计算为6,即0. 5 X 2r+ ^ X 〇.5,按 公式(6)得线特征匹配相似度LM为0. 4,故将0. 4作为。N取为5。
[0088] 对于点特征的匹配相似度大于阈值%的角点对,按照模板图角点周围包含的边缘 集合查看实时图相应位置,如果该位置未被提取边缘,则在实时图中相应位置邻域提取边 缘,并将这部分边缘用于计算线特征匹配相似度。
[0089] 如图5所示,点P为角点,圆为角点的邻域,图5. a为模板图邻域包含的边缘集合, 点s为边缘上的一点。图5. b为实时图邻域附近的边缘,虚线表示未能成功提取出来的边 缘。因为不连续边缘的影响,实时图角点邻域包含的边缘集合只包含从其邻域生长出来的 部分。在计算模板图角点周围边缘点集到实时图焦点周围边缘点集的单向Hausdorff距离 时,在用点特征初步确定了匹配点对后,利用模板图中完整的边缘,对实时图相应位置邻域 中未提取过边缘的区域进行边缘提取。例如图5. a中的点s,在实时图相应位置的rXr邻域 (图4中点s上方的方框表示邻域)内由近及远进行查找边缘点。如果rXr邻域内存在边 缘点,则将该边缘点的坐标与位置P之间的距离作为最小距离。如果邻域内没有找到边缘 点,则将最小距离值设为2r以降低相似度评价。按照公式(3)或(4)计算单向Hausdorff 距离。
[0090] 根据最终匹配角点与目标点的空间位置关系获得推测的目标点位置,将推测的目 标点位置添加到候选目标点集。使用同样方法处理所有最终匹配角点,将推测的目标点位 置添加到候选目标点集中。对候选目标点集进行最近邻聚类,选择类中个数最多的作为最 终的目标点位置。如果聚类失败,则直接在候选目标点集中选取点特征匹配相似度最高的 点作为最终的目标点
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1