线特征---LineMatching原理(四)
参考文章:An efficient and robust line segment matching approach based on LBD descriptor and pairwise geometric consistency ----Lilian Zhang , Reinhard Koch
第三部分:Graph matching using spectral technique
介绍线检测和描述之后,本节我们介绍方法来构造两组LineVecs之间的关系图并且在图中建立匹配结果。在此之前,先引入一些预处理,通过排除明显的不匹配来减少图匹配问题的维数。
1.生成候选匹配对
检测参考和查询图像的LineVecs,根据他们的一元几何属性和它们的局部外观相似性,如果他们没有通过测试,被认为是不匹配的。
一元几何属性:一元几何属性在我们的工作中被认为是linevecs方向。值得注意的是,在同一linevec中的线具有相同的方向,所以每个linevec具有独特的方向。乍一看,在图像对中对相应的linevecs方向是模糊的和不可靠的,图像对有任意旋转的变化。但图像对之间往往存在近似全局旋转角是正确的。为了可以减少候选匹配的数量,我们使用这个属性。
在[ 6 ]中,引用和查询图像( reference and query images)的旋转的近似关系是从点特征对应关系计算的。受此启发,虽然我们没有这样的点对应的信息,我们可以直接计算参考和查询图像的LineVec方向直方图。我们首先计算两图像的LineVecs方向直方图,得到规范化直方图,下标r表示参考图像,q表示查询图像。然后,我们通过角度改变,并且对全局近似旋转角搜索。By taking the angle as index in the histogram for simplicity,估计为:
在实践中,如果偏移的直方图距离较小,透视变换可以通过旋转近似,例如下图:
估计的:0.349 rad;偏移的直方图距离:0.243。此外,如果图像中提取的线的重复性很低,则基于直方图的方法可能会失败,即错误的旋转角度可能被该算法接受。
为了提高这种方法的鲁棒性,对于直方图落入同一bins的直线,它们的长度被累加起来。因此,对应于方向直方图,有一个长度向量,其第i个元素是所有线的累积长度落在方向直方图的第i个bin中。在我们的实验中,当最小偏移直方图距离小于阈值(0.4)时,并且最小偏移长度向量距离小于阈值(1),我们接受估计的全球旋转角。一旦被接受,一对LineVecs就会被匹配,如果(pi/4),是它们的方向之间的夹角,它们被认为是不匹配的。如果两个图像之间没有可接受的旋转角度,那么只测试外观相似性。
局部外观相似性:用线描述符的距离度量局部外观相似性。
对于LineVec的每个直线,我们从线提取的(octave image)图像中生成一个LBD描述符向量V。当从一对图像中提取的两组LineVec做匹配, a reference LineVec and a test LineVec的所有描述符之间的距离被评估,最小的描述距离用来测量LineVec外观相似s。如果(0.35)(是局部外观不同的容忍度),那么相应的两LineVec不会进一步考虑。
检查LineVecs的一元几何属性和局部外观相似性后,通过这些测试的配对被视为候选匹配。应该选择一组宽松的阈值,否则会有很大的机会错过正确匹配。在我们的实验中,阈值凭经验设为。候选匹配的数量比实际匹配的数量要大,因为人们不能仅仅依赖于上述的验证来决定最终的匹配结果。然而,与直接组合相比,以上检查仍然大大减少了下列图形匹配问题的维数。
2.建立关系图
对于一组候选匹配,我们建立了一个关系图的节点代表潜在的对应,在连接的权重表示他们成对之间的一致性。
注意:在代码中,left image对应reference image,Right image对应query image,是在每个图中选取了两条线段,标注为。
给定一组k候选匹配,关系图被一个邻接矩阵A表示,其大小为k×k [30]。行为i,列为j的A的元素的值是候选的LineVec匹配的一致性得分和,其中是reference image的LineVecs,是query image的LineVecs。由成对几何属性和候选配对的外观相似性计算一致性得分。
成对几何属性:为了描述两LineVecs的成对几何特征,我们选择两条线,which lead to这两LineVecs之间的最小描述距离并且在原始图像定位端点位置。随后,我们描述的几何属性通过其交叉比率,投影比例,相对角如下图:
计算同理。通过线的方向很方便计算出来。这三个属性对平移、旋转和缩放的变化是不变的。
外观相似性(前面已提到过):我们利用LBD描述子矢量V来表示线条的局部外观。假设这个描述子对于LineVecs有最小距离在reference and query images,对于LineVecs是。we get two sets of pairwise geometric attributes and local appearances for two candidate matchesandas:
和。
一致性得分(the consistent score)的计算:
其中是几何相似性;是局部外观相似性;是条件
:在中的每个元素不超过1。与[5]相比,在我们的工作中,的定义对线检测的碎片问题有更好的稳定性,因为只要在参考图像和查询图像中的有一对匹配线被很好地提取出来,那么无论另一对如何提取,会非常小。的定义有同样优势。
我们设置
对于所有候选匹配,我们计算它们之间的一致性得分,并获得邻接矩阵A。
Leordeanu [ 31 ]为更好的结果,建议A对角线上的元素为0,并且保持对称性。
3.生成最终匹配结果
匹配的问题现在简化为寻找匹配簇最大化总的一致性得分,这样可以满足映射约束。
我们使用一个指标向量表示这个簇,否则为0。
因此匹配问题被表述为:,其中x受制于映射约束。一般二次规划技术计算量太大,无法解决这个问题。我们采用光谱技术,对x放宽的映射约束和积分约束,使得它的元素可以在采取实际值在[0,1]。
通过Raleigh的比例定理[30],最大化的是A的主要的特征向量。它仍然是使用映射约束二值化特征向量和获得最优解的一个强大的近似。映射约束应用在这里有片面性约束[ 16,14 ]和一对一的约束。该算法的详细信息如下:
最后的线段匹配可以从linevecs LM的匹配结果直接检索。注意,在LineVec的线位于图像的同一区域,并且具有同一方向,因此,对于每对linevec的匹配,线段匹配有一对就足够检索了。
线匹配实验
表3总结了该算法的参数设置。
表4中显示了比较结果:整体看来LBD+S&G的效果是比较好的。
LP:Line matching leveraged by point correspondences(逐点匹配)
LS:Wide-baseline image matching using line signatures(基于线特征的宽基线图像匹配)
MSLD: a robust descriptor for line matching
Match precision:匹配的精度
线特征---LineMatching原理(四)的更多相关文章
- 线特征---EDLines原理(六)
参考文献:EDLines: A real-time line segment detector with a false detection control ----Cuneyt Akinlar , ...
- 线特征---LineMatching代码运行(五)
[1] https://github.com/dlut-dimt/LineMatching The code is based on Matlab. https://github.com/ka ...
- 支持向量机原理(四)SMO算法原理
支持向量机原理(一) 线性支持向量机 支持向量机原理(二) 线性支持向量机的软间隔最大化模型 支持向量机原理(三)线性不可分支持向量机与核函数 支持向量机原理(四)SMO算法原理 支持向量机原理(五) ...
- 线特征---LSD and LBD程序运行(一)
最近在看有关特征提取的线特征,暑期就看了相关的论文:<基于点线综合特征的双目视觉SLAM方法_谢晓佳>,最近呢,把里面有关线特征提取LSD和描述子LBD的代码跑了一遍,记录如下: [1]L ...
- 基于点线特征的Kinect2实时环境重建(Tracking and Mapping)
前言 个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/ 如有任何问题,feel free to contact m ...
- juc线程池原理(四): 线程池状态介绍
<Thread之一:线程生命周期及五种状态> <juc线程池原理(四): 线程池状态介绍> 线程有5种状态:新建状态,就绪状态,运行状态,阻塞状态,死亡状态.线程池也有5种状态 ...
- 四种比较简单的图像显著性区域特征提取方法原理及实现-----> AC/HC/LC/FT。
laviewpbt 2014.8.4 编辑 Email:laviewpbt@sina.com QQ:33184777 最近闲来蛋痛,看了一些显著性检测的文章,只是简单的看看,并没有深入的研究,以 ...
- 线特征---LBD算法(三)
上一节主要是介绍LSD算法理论,这节主要是介绍LBD算法. 参考文章:An efficient and robust line segment matching approach based on L ...
- 线特征---LSD算法(二)
上一节介绍了一些资源和实验结果,这节主要是介绍LSD算法理论. 直线段检测算法---LSD:a Line Segment Detector LSD的核心是像素合并于误差控制.利用合并像素来检测直线段并 ...
随机推荐
- Hive安装与配置--- 基于MySQL元数据
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...
- MYSQL如何解决幻读
第一部分 首先要了解下mysql数据库的事务特征之一隔离级别: READ UNCOMMITTED(未提交读): 在READUNCOMMITTED级别,事务中的修改,即使没有提交,对其他事务也都是可见的 ...
- 软件工程github使用小结
1.在 https://github.com/join 这个网址处申请注册一个Github账号,申请成功后可在https://github.com/login 处利用刚刚注册的账号进行登录,才能开始在 ...
- [cocos2d-x]认识游戏开发(图)
FreeMind的.mm文件下载: http://yunpan.cn/cfL3cm6CZkMSt (提取码:e01a)
- postmessage/cors跨域postMessage、xhr2和xmldomain
一.h5 postMessage node http-server配置服务器 有关配置:请参考我的http://www.cnblogs.com/leee/p/5502727.html 我把文件夹a配置 ...
- MySQL错误[ERR] 1064 - You have an error in your SQL syntax;
MySQL打开创建函数的开关, 查询创建函数开关是否打开: show variables like '%func%'; 打开创建函数开关: ; 关闭创建函数开关: ;
- 14.连接池.md
目录 连接池定义 常用开源连接池: DBCP: C3P0 连接池定义 使用统一的规范:javax.sql.DataSource实现统一编程 常用开源连接池: DBCP:tomcat C3P0:hibe ...
- Android签名
参考文档:http://blog.csdn.net/u010316858/article/details/53159678 http://www.cnblogs.com/wanqieddy/p/355 ...
- vb的VSFlexGrid控件
多行选中 VSFlexGrid的SelectionMode = flexSelectionListBox,现在可以配合Ctrl进行多行选择 循环取值 用vsflexgrid.SelectedRows ...
- hibernate 工作原理及为什么要用