1 ORB test实验代码
2016-03-02 14:03
381 查看
目录(?)[+]
提取左右图特征
做穷举式的最近邻检索
绘图
估计单应矩阵计算重投影误差
结果分析
完整代码如下
转:http://www.cvchina.info/2011/09/25/orb-test/
之前介绍了ORB,一种具备旋转不变形的局部特征描述子。OpenCV2.3中提供了实现,但是缺少使用例程。下面是一个简单的样例程序。
随便拍了两张图片作为测试图像。
下面上下两图分别为模板图像和查询图像:
?
注:模板图像在多尺度提取特征,查询图像只在提取原始尺度上的特征。
?
hamming距离测算通过查找表实现:
?
?
?
tem feat num: 743
orb2 extraction time: 1.672435
query feat num: 100
match time: 3.698276
matchs num: 8
ransac time: 143.570586
homo
0.974942 0.410833 4.426035
-0.182418 0.828115 52.742661
0.001191 0.000144 1.000000
inlier num: 8
ratio 1.000000
mean reprojection error: 0.976777
可见最近邻检索是系统的瓶颈,(进行了743*100次hamming距离(32bytes)计算。)一个简单的优化如下,分段计算hamming距离,先计算前16byte的hamming距离,如超过某一阈值,则直接认为非候选,如小于某阈值,则继续进行后一半16bytes的距离计算。(粗略估计可以减少30%+的最近邻查询时间)。更复杂的办法是使用LSH,此处按下不提,有空再续。
?
目录(?)[+]
提取左右图特征
做穷举式的最近邻检索
绘图
估计单应矩阵计算重投影误差
结果分析
完整代码如下
转:http://www.cvchina.info/2011/09/25/orb-test/
之前介绍了ORB,一种具备旋转不变形的局部特征描述子。OpenCV2.3中提供了实现,但是缺少使用例程。下面是一个简单的样例程序。
随便拍了两张图片作为测试图像。
下面上下两图分别为模板图像和查询图像:
提取左右图特征:
?
做穷举式的最近邻检索:
??
绘图:
?
估计单应矩阵,计算重投影误差:
?
结果分析:
tem feat num: 743orb2 extraction time: 1.672435
query feat num: 100
match time: 3.698276
matchs num: 8
ransac time: 143.570586
homo
0.974942 0.410833 4.426035
-0.182418 0.828115 52.742661
0.001191 0.000144 1.000000
inlier num: 8
ratio 1.000000
mean reprojection error: 0.976777
可见最近邻检索是系统的瓶颈,(进行了743*100次hamming距离(32bytes)计算。)一个简单的优化如下,分段计算hamming距离,先计算前16byte的hamming距离,如超过某一阈值,则直接认为非候选,如小于某阈值,则继续进行后一半16bytes的距离计算。(粗略估计可以减少30%+的最近邻查询时间)。更复杂的办法是使用LSH,此处按下不提,有空再续。
完整代码如下:
?相关文章推荐
- python shelve模块
- ASP.NET学习路线图
- php面向对象中static静态属性和静态方法的调用
- [转]编写高质量的代码——从命名入手
- java学习 MySet简易集合(皮毛)
- JAVA反射机制的作用是什么
- 随手收藏,python中的各种类型转换
- 2.自己的Github试用过程
- Java——private,protected,public
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part6
- 读Log文件,当文件大小变化时打开文件,从新添加的几行读
- JAVA 多形性
- delphi 如何比较两个二维数组是否相等
- C#加密算法汇总
- [Java] Eclipse安装
- C#如何设置标记方法等为否决的不可用
- java开发常用jar包介绍(转载)
- C#如何使用异步编程
- JAVA中的集合类Map、Set、List
- proj01总结:spring jdbc操作