线特征LSD and 描述子LBD---LBD算法(二)

上一节主要是介绍LSD算法理论,这节主要是介绍LBD算法。

1.尺度空间中提取线段

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

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

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

提出这种新的线描述符的主要原因是要比MSLD更有效地描述线条的局部外观并且不失匹配性能。

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

(the Line Band Descriptor) LBD:

BDj的计算:

k:表示在条带Bj或是其另据的第k行,我们累积的像素的梯度在这行。

:高斯权重

the band description matrix (BDM):

BDj由BDMj矩阵的均值向量Mj and标准方差 Sj 得到:

LBD的均值部分和标准方差部分由于其大小不同,分别进行规范化处理。此外,为减少非线性光照变化的影响,对LBD每个维度的进行抑制,它是小于一个阈值(经验:0.4的是一个很好的值)。最后,我们重新规范约束向量得到单元的LBD。

时间: 2024-10-22 10:17:36

线特征LSD and 描述子LBD---LBD算法(二)的相关文章

线特征LSD and 描述子LBD(一)

最近在看有关特征提取的线特征,暑期就看了相关的论文:<基于点线综合特征的双目视觉SLAM方法_谢晓佳>,最近呢,把里面有关线特征提取LSD和描述子LBD的代码跑了一遍,记录如下: [1]LSD: a Line Segment Detector线段检测器 LSD是一种局部提取直线的算法,速度比Hough要快. LSD是一种直线检测分割算法,它能在线性的时间内得出亚像素级精度的检测结果.该算法被设计成可以在任何数字图像上都无需参数调节.它可以自己控制误检的数量:平均而言,每张图有一个误检. 有几篇

论文:LBD-线段描述子算法(草稿)

前言 摘要(Abstract) 本文的线段匹配算法利用了线段的局部相似性和几何属性.本算法具有以下优点:(1)提出多尺度下线段提取策略,提高对图像变换的鲁棒性.(2)设计LBD描述子,提高计算线段表面相似度的速度和减少图匹配的维度.(3)成对几何一致性评价,提高图像在低结构化的匹配精度. 简介(Introduction) 一.线段提取与匹配(line detection and description) 1.1.尺度空间下提取线段(detecting lines in the scale spa

BRIEF描述子生成算法

学习OpenCV关注微信公众号[OpenCV学堂] 一:介绍 我们知道SIFT算法通常通过对每个关键点生成128个特征向量作为描述子.SURF算法通常对关键点生成最少64个特征向量作为描述子.但是对于图像来说创建上千或者上万个这样的描述子内存开销比较大,运行速度受到严重影响.特别对嵌入式设备与一定设备来说,内存限制尤为明显,而且匹配的时候计算也比较耗时. 但是实际上这些特征数据OpenCV在匹配的时候并没有完全利用上,而是通过PCA.LDA等方法对它进行压缩,或者是LSH(局部敏感哈希)方法把这

SIFT解析(三)生成特征描述子

以上两篇文章中检测在DOG空间中稳定的特征点,lowe已经提到这些特征点是比Harris角点等特征还要稳定的特征.下一步骤我们要考虑的就是如何去很好地描述这些DOG特征点. 下面好好说说如何来描述这些特征点.许多资料中都提到SIFT是一种局部特征,这是因为在SIFT描述子生成过程中,考虑的是该特征点邻域特征点的分布情况(而没有利用全局信息).本步骤中主要计算过程包括:确定特征点的方向和生成特征描述符. 确定特征点方向 在特征点的确定过程中,特征点的坐标以及尺度被确定下来(坐标很重要,尺度更重要,

【特征匹配】BRIEF特征描述子原理及源码解析

相关:Fast原理及源码解析 Harris原理及源码解析 SIFT原理及源码解析 SURF原理及源码解析 转载请注明出处: http://blog.csdn.net/luoshixian099/article/details/48338273 传统的特征点描述子如SIFT,SURF描述子,每个特征点采用128维(SIFT)或者64维(SURF)向量去描述,每个维度上占用4字节,SIFT需要128×4=512字节内存,SURF则需要256字节.如果对于内存资源有限的情况下,这种描述子方法显然不适应

BRIEF 特征描述子

Binary Robust Independent Elementary Features 1. BRIEF的基本原理 我们已经知道SIFT特征采用了128维的特征描述子,由于描述子用的浮点数,所以它将会占用512 bytes的空间.类似地,对于SURF特征,常见的是64维的描述子,它也将占用256bytes的空间.如果一幅图像中有1000个特征点(不要惊讶,这是很正常的事),那么SIFT或SURF特征描述子将占用大量的内存空间,对于那些资源紧张的应用,尤其是嵌入式的应用,这样的特征描述子显然是

OpenCV之特征检测器(Feature Detector),描述子提取器(Descriptor Extractor)和描述子匹配器(Descriptor Matcher)

1.特征检测子 -Harris cv::cornerHarris(image,strength,3,3,0.01); -Fast cv::Ptr<cv::FastFeatureDetector> fast = cv::FastFeatureDetector::create(); //或 cv::FAST(InputArray image, std::vector<KeyPoint> &keypoints, int threshold) //或 cv::FAST(InputA

灰度共生矩阵的纹理描述子

纹理描述子(纹理特征):最大概率.相关.对比度.能量.同质.熵 I=imread('C:\Users\Jv\Desktop\纹理3.jpg'); gray=rgb2gray(I); GS=graycomatrix(gray,'NumLevels',256);%水平位置算子计算共生矩阵 GSn=GS/sum(GS(:));%归一化矩阵 stats=graycoprops(GS,'all');%共生矩阵的描述子 maxProbability=max(GSn(:));%最大概率 corr=stats.

(一)ORB描述子提取

ORBSLAM2中使用ORB描述子的方法 经典的视觉SLAM系统大体分为两种:其一是基于特征点法的,其二是基于直接法的.那么本文主要就讲特征点法的SLAM. 基于特征点法的视觉SLAM系统典型的有PTAM,ORBSLAM等.本文主要围绕ORBSLAM2的方案来阐述特征点法SLAM,因为ORBSLAM2可以说是特征点法SLAM的巅峰之作.ORBSLAM2采用三个主要线程:跟踪,局部建图和闭环以及一个额外线程:全局BA,该线程只有在闭环时才会触发.值得注意的是,ORBSLAM2中每个模块中都采用OR