SIFT特征点单目深度估计点云稀疏重建和基于ORB特征的双目重建

SIFT特征的源码并没有开源,但是在opencv_contrib里面有调用的接口:
直接看SIFT特征的翻译吧:
SIFT

#include 
Ptr<Feature2D> sift = xfeatures2d::SIFT::create(0, 3, 0.04, 10);
// 这四个参数都是按照论文填写

目标是要是实现:
1、在单目不同图像之间,利用SIFT特征点的匹配,精准计算出相机下一帧相对于上一帧的R和T
2、在已知相机内参数的情况下,用R、T以及匹配特征点的(u,v)可以进行三角测量,估计上一帧的特诊点深度
3、将深度点转化成点云,保留BGR颜色参数,构建XYZBGR类型点云,存储文件并查看点云

Image files 如下:
SIFT特征点单目深度估计点云稀疏重建和基于ORB特征的双目重建_第1张图片
这是作者从不同的角度对物体进行拍摄的结果
单目重建如果不利用精准的特征点匹配算法,就无法消除深度估计上的尺度不确定性,但是一旦采用SIFT或者SURF这种在时间复杂度上不占优势的特征提取算法就无法达到实时重建,而只能先拍照再离线重建,所以就需要一个妥协的策略,ORB特征是实时性和深度估计准确性的一个权宜产物。

Point Cloud:
SIFT特征点单目深度估计点云稀疏重建和基于ORB特征的双目重建_第2张图片
使用单目相机的话,只能达到稀疏重建的效果,而稀疏重建的点则是检测出的特征关键点,因为不能把所有点当做特征点进行图像的match,所以单目只能运用于分析物体的外型,进行稀疏的map

点击下方获取源码链接:
提取码:3ytv

关于ORB实时重建的过程详细可以参考以下论文翻译和链接:
论文翻译
ORBSLAM2
SIFT特征点单目深度估计点云稀疏重建和基于ORB特征的双目重建_第3张图片
其实看起来SLAM跟SFM还是不太一样的,我也不要这个轨迹图啊,下一步打算一步步改一下原来的project,希望先把高翔书上的fredenburg RGB-D 数据集先跑个稠密重建的结果出来~

你可能感兴趣的:(计算机视觉,SLAM十四讲)