SFM: Struct From Motion 概述(一)

  • SFM: Struct From Motion 概述(一)

    • 特征提取
    • 特征匹配
    • 矩阵计算
    • 三维重建
    • 参数优化
    • References

特征提取

特征点是图像中的一些特殊点,具有一些特殊的属性。这样的特征点相对于一些普通的点具有相对较多的信息量。我们可以根据这样的特征点,来描述图像中的关键信息。图像特征主要包括线条特征,角点特征等,不同的特征可以用不同的特征描述符(比较常用的是向量)来进行描述。而采用的不同的算法可以检测出不同的特征并提取出相应的特征描述符。特征描述符表征的是这个特征的一些关键信息,可以为后续算法采用。不同的特征提前算法提取的特征描述符也具有不同的特性。依据实际的工程项目特点采用不同的特征提取算法是很关键的。在SFM中常用的特征提取算法是SIFT算法,SIFT描述符的强鲁棒性较好,具有尺度和旋转不变性。


特征匹配

每张图片的特诊点提取出来之后,需要对各张图片中的特征点进行匹配,也就是找到一张图片中的特征点在另一张图片中的对应特征点。通常设计一个判断准则 f f f来进行选择正确的点对。假设以其中一种图片为参考图像(Reference Image),另一幅图像为目标图像(Target Image)。那么特征匹配就是在以参考图像中的特征点为参考,在目标图像中寻找与之相对应的点。

FeaturePair=f(SR,ST)" role="presentation">FeaturePair=f(SR,ST)FeaturePair=f(SR,ST)

Feature Pair = f(S_R,S_T)
衡量标准 f f <script type="math/tex" id="MathJax-Element-3">f</script>有很多中选择方案,例如有常见的欧氏距离等各种距离表达式。而且不同的实现方法对继续性能的影响也有很很大的关系。常用的寻找正确匹配点对的方法是K-D树。这个方法类似于k-means中聚类算法在计算中心距离分配点的归属时常用的一种策略。在SFM中,常常使用快速最近邻搜索包(FLANN :Fast LIrary for Approximate Nearest Neighbors)作为匹配算法


矩阵计算

在进行初步的匹配之后,形成的特征点对是很粗糙的,即其中有很多的错误匹配。这会对后续工作产生很大的影响,因此擦常常需要对初步的点对进行进一步的确认和完善,剔除错误的特征点对。常用的方法是几何约束,比如点对在相机成像过城中,应该满足一定的物理映射条件。(如果在理想的双目立体视觉中,这样的匹配点对还会有更强的几何约束条件,如匹配点对应该在同一极线之上等)

矩阵的计算过程中,不同点对的计算结果可能不一样,因为图像中含有非常多的噪声。因此常常使用RANSAC(随机抽样一致)来进行降噪处理,以获取最优的F矩阵。

在SFM中,涉及到多个矩阵,例如相机的内参矩阵,本征矩阵,相对变换矩阵。这些矩阵的计算是实现算法的基础。不同的矩阵在不同的算法阶段进行计算,一些相关参数的获取也有不同的方式。


三维重建

选取其中的两幅图像进行重建,选择的标准是匹配的特征点数目多。采用五点法求出两幅图像相对的外参数和相机内参数,然后利用bundle adjustment方法来进行优化。依据得到的参数和两幅图像的匹配关系求出空间点的坐标。然后继续添加图片,选择与已知“实际“”坐标的点匹配最多的图像来进行添加。这样就变成了已知二维图像特征点及其三维世界坐标进行相机标定的问题。


参数优化

当将所有的认为正确匹配的点对连接起来之后就行形成特征点的初步运动轨迹,然后利用优化算法bundle adjustment将整个轨迹描画出来。经过优化之后可以得到稀疏的三维点云。


References

[1] SFM算法流程
[2] Structure from motion(SFM)原理 - 附我的实现结果
[3] SIFT算法详解
[4] structure from motion

单目视觉(2):SFM之概述(一)相关推荐

  1. 基于图像和激光的多模态点云融合与视觉定位【100010392】

    基于图像和激光的多模态点云融合与视觉定位 第 1 章 引言 1.1 研究背景及意义 人工智能(ArtificialIntelligence)在过去十几年来的蓬勃发展让现实生活中的许多领域变得日趋无人化 ...

  2. 植物三维模型快速重建

    简述:本篇文章取自本人的毕业设计,主要是利用MATLAB软件对植物图像序列的有效信息进行提取,得到三维点云图,进而构建三维植物模型. 下面截取部分内容加以阐述: 摘要:随着人工智能技术.智慧农业和虚拟 ...

  3. 从多张图片重建3D模型(瞎七瞎八写了好多)

    1.主要流程 1.1 SIFT:计算图片每个像素点的特征(常见的用SIFT算子) 1.2 SFM:对多张图片像素做匹配对应,通过上步得到的特征,从而估计相机参数,得到稀疏的3D信息 1.3 CMVS/ ...

  4. 单目视觉(5):SFM之特征点匹配(四)

    SFM之特征点匹配(四) SFM之特征点匹配(四) 引入 相似性 匹配 K-d树(K-dimensional Tree) 误匹配 FLANN 利用FLANN进行特征点匹配 Reference 引入 在 ...

  5. 基于地平面的单目视觉里程计绝对尺度估计

    点云PCL免费知识星球,点云论文速读. 文章:Ground Plane based Absolute Scale Estimation for Monocular Visual Odometry 作者 ...

  6. 单目相机 svd 从图像恢复3维位置_论文学习——VINSMono:一种鲁棒且通用的单目视觉惯性系统...

    点击上方"视觉部落",选择"星标"公众号 精选作品,第一时间送达 文章同步首发于知乎用户yikang专栏 Part 1. 基本信息 本文提出了一种基于紧耦合滑动 ...

  7. 基于平面几何精确且鲁棒的尺度恢复单目视觉里程计

    标题:Accurate and Robust Scale Recovery for Monocular Visual Odometry Based on Plane Geometry 作者:Rui T ...

  8. 教程 | 单级式目标检测方法概述:YOLO与SSD

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目标检测是计算机视觉领域的基本研究问题之一,当前最常用的技术是卷积 ...

  9. 基于地面几何约束的单目视觉里程计精确鲁棒尺度恢复(ICRA 2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨泡泡机器人SLAM 标题:Accurate and Robust S ...

最新文章

  1. GPT“高仿”系列开源了!最大可达GPT-3大小,还能自主训练
  2. win10 tensorrt安装 踩坑记录
  3. Android 本地搭建Tomcat服务器供真机测试
  4. 基于FPGA的HDB3编译码器设计
  5. SQL判断语句用法和多表查询
  6. Matlab中fsolve传递系数变量
  7. 实习成长之路: MySQL三 : 事务隔离:为什么你改了我还看不见?
  8. 2022Android SDK下载与安装
  9. SQL Server 2000查询分析器的使用
  10. 计算机二级office题库-操作题
  11. html5怎么设置表格背景颜色,Echart 如何设置表格内的背景颜色?
  12. wps如何只让他显示3级标题_wps怎么把标题显示出来
  13. 威漫哨兵机器人_漫威哨兵机器人真的可以模仿所有超能力吗?
  14. html网页肯德基设计代码作业,Illustrator设计一幅肯德基广告单页制作教程
  15. 基于JSP+Mysql java教师教学质量测评系统
  16. 比较两组数据的差异用什么图更直观_科研数据可视化:巧妙运用各种形式的图表...
  17. 安装宝塔面板并建立网络使用外网访问
  18. SWAPIDC服务器销售模板,记录利用swapidc搭建IDC销售网站教程
  19. 关于spring security没有调用UserDetailsService接口实现类的解决办法
  20. 计算机二级办公软件的函数,《计算机二级办公软件常用excel函数》.doc

热门文章

  1. MIPS、DMIPS和MFLOPS的定义、区别和联系
  2. stm32 1.25DMips/MHz 什么意思?
  3. Linux /etc下用户和用户组配置文件详解
  4. SSnoCD (之一)
  5. 生成式对话生成:实现高效智能对话生成与智能推荐
  6. 打开家庭网络存储之门,简评TerraMaster铁威马F2-210
  7. 多模分频器——递减计数器设计(cadence)
  8. 通过 Plex + Trakt 同步观看状态和评分,轻松记录你的追剧观影史
  9. 计算机网络基本知识(五):ISO/OSI网络体系结构简介
  10. 2017年数学二真题手稿解析