直线匹配-LSD算法

本文介绍了LSD算法在直线检测和描述方面的应用,包括尺度空间中线段的提取、条带描述符的构造以及性能评估。通过使用LBD(Line Band Descriptor)描述符,算法对方向变化和光照变化具有较好的鲁棒性。实验表明,LBD在描述符性能和匹配精度上优于MSLD,并在处理遮挡、低纹理场景、视点变化和尺度变化等方面展现出良好的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自https://www.cnblogs.com/Jessica-jie/p/7523364.html

参考文章:An efficient and robust line segment matching approach based on LBD descriptor and pairwise geometric consistency ----Lilian Zhang  , Reinhard Koch

 

第二部分:Line detection and description

1.尺度空间中提取线段

为了克服在线检测碎片问题和提高大尺度变化的性能,我们的检测框架采用由对原始图像进行高斯下采样( with a set of 尺度因子and 高斯模糊 )的尺度空间金字塔组成(N层图像)。我们首先用Edline算法每层的尺度空间产生一组线。每条直线都有一个方向,它是由从直线左侧到右侧的大部分边缘像素点的梯度构成的。然后通过在尺度空间中找到对应的直线来组织它们。在尺度空间中所有的线,他们被分配一个唯一的ID,如果在图像中他们相关相同的事件,将其存储在一个称为LineVecs的向量中(即图像的同一区域具有相同的方向)。线检测方法 不同于Wang et al.[5] ,通过重新组织从尺度空间提取的所有的线段形成LineVecs,从而降低了图匹配问题的维数。最终提取的结果是一组LineVecs如下图:

如图1所示,每个Linevec可能包括尺度空间的多条线。为描述一个LineVec局部外观,对于其中的每条线,我们会在被提取的线段的每层图中产生一种线描述符。

2.条带(Band)来表示线的支持域

 在octave image给出了线段,描述符将从线段支持域(LSR)计算。该支持区域被划分为一组条带{B1;B2;...;Bm},每个条带都是LSR的子区域并且他们之间的平行的,条代数m的和每个条带的宽度w,条带的长度等于线段的长度,如下图当m =5 ,w=3的LSR例子。

类似于 MSLD[11],引入两个方向构成a local 2D coordinate frame(局部二维坐标系),用于区分具有相反梯度方向的平行线并使描述符旋转不变。根据线的方向为 ,正交方向(垂直方向) 被定义为顺时针垂直的方向。该线的中点被选为这个局部坐标系的原点。LSR中的每个像素的梯度投影到这个局部框架,其中的:image frame中的像素梯度, :local frame中的像素梯度。

对于SIFT[23] and MSLD,两个高斯函数应用在每一行沿着的方向。首先,全局权重系数是在LSR的第i行,其中是第i行到LSR中心行的距离,第二,考虑一个条带Bj,以及他在相邻的条带Bj-1,Bj+1 ,局部权重系数在Bj第k行,其中第k行到Bj中心行的距离,全球的高斯窗的目的是给予在LSR中沿方向远离线的微小变化梯度很小的关注度(敏感性)。局部高斯窗的目的是减少边界效应,它避免了像素从一个条带移动到下一个的描述符突然改变。

此方法描述子区域的优点:首先,它对方向的小的位置变化更有鲁棒性,因为在这种情况下,带内图像的大部分内容保持不变,只有带边界略有变化。注意,这个特性很重要,因为一般来说,由于线路端点不稳定,线的位置精度在方向中要比方向低。第二,它的计算效率更高,因为每个条带之间在方向没有重叠,高斯权重直接应用于每一行,而不是每个像素。

 3.构造条带描述符

(the Line Band Descriptor) LBD:

每条条带的描述子BDj:通过其最近的两相邻行的条带Bj-1 ; Bj+1来计算 。特别是,对于在顶部和底部的条带带B1和Bm,在计算B1和Bm的描述子时行在LSR之外不会被考虑在内。&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值