双目立体匹配,SFM和MVS三维点云重建的区别和联系

本文深入解析了三维重建领域的三大核心技术:双目三维重建、SFM(运动推断结构)和MVS(多视图立体)。详细阐述了每种方法的工作原理、重建步骤及其优缺点,帮助读者理解不同场景下三维重建的选择与应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、双目三维重建(binocular stereo):输入左右两张图片
二、SFM(Structure from Motion)运动推断结构:一系列不同视角图片
三、MVS(Multi View Stereo)多视图立体:一系列不同视角图片

一、双目相机重建步骤:
1、双目相机矫正(获得相机内参和外参)
2、图像立体矫正(左右两个图片对齐到同一平面)
3、立体匹配(对齐后的图片利用极线约束匹配特征点)
4、生成视差图(左右相机对应特征点坐标的差值)
5、深度图生成点云图(点云质量的好坏与视差图的质量密切相关,有必要做深度图填充平滑)

二、SFM重建步骤:
1、提取图像的特征点(提取关键点,计算描述子)
2、两两图片对特征匹配(无法用极线约束,匹配比较盲目,误匹配点较多,所以这种方法点云较为稀疏)
3、获得两两之间相机空间姿态变换(为后面MVS图像矫正提供相机参数)
4、根据匹配的特征点进行稀疏重建

三、MVS重建步骤:
1、上述SFM获得相机参数的基础上进行稠密重建
2、根据相机参数对任意两两图片对进行立体矫正(参见双目重建步骤2)
3、提取图像的特征点(提取关键点,计算描述子)
4、立体匹配(对齐后的图片利用极线约束匹配特征点)同双目步骤3
5、极线约束使得任一像素很容易找到对应点,获得稠密对应点
6、生成稠密点云

根据以上三种方法的简要说明,他们的区别在于:
1.双目需要提前对相机进行标定,SFM和MVS不需要
2.双目重建的稠密程度取决于图片像素的大小,假如图像尺寸612*512,那么生成的点云个数一定是612x512=313344。
2.SFM得到了稀疏点云,但是同时也得到了相机空间参数,传递给MVS,可以根据极线约束进行稠密重建
3.双目必须两个镜头输入两张照片双目重建方法,SFM和MVS属于单目重建,输入的是一系列同一物体和场景的多视图
4、SFM和MVS的默认设置是假定相机围绕着静态场景运动,假如相机固定拍摄运动物体会造成参考系紊乱无法生成正确的点云,因此需要分割去除干扰的背景,提取目标区域。
5.如果涉及到重建真实尺寸测量,那么单目重建还有个大坑等着你:尺度因子不确定性。就是说单目重建的方法重建出来的是归一化模型,它和真实模型的尺寸差一个缩放尺度因子,解决这个问题也是一个专门的研究领域,可参考文献:基于点结构光测距的单目视觉重建中尺度因子确定方法
一种基于单目视觉的直接法点云三维重建及尺度确定方法与流程
总的来说就是已知实际尺寸求出尺度因子,如果是做SLAM的话可以结合IMU获取,或者用其他传感器获取真实尺寸传入进来,对于这种问题最好的解决办法就是能用硬件解决的就不要去用算法!

地形数据测量是许多地貌研究应用程序的基本方面,尤其是那些包括地形监测地形变化研究的应用程序。然而,大多数测量技术需要相对昂贵的技术或专门的用户监督。 Motion(SfM)摄影测量技术的结构通过允许使用消费级数码相机高度自动化的数据处理(可以免费使用)减少了这两个限制。因此,SfM摄影测量法提供了快速,自动化低成本获取3D数据的可能性,这不可避免地引起了地貌界的极大兴趣。在此贡献中,介绍了SfM摄影测量的基本概念,同时也承认了其传统。举几个例子来说明SfM在地貌研究中的应用潜力。特别是,SfM摄影测量为地貌学家提供了一种工具,用于在一定范围内对3-D形式进行高分辨率表征,并用于变化检测。 SfM数据处理的高度自动化既创造了机遇,也带来了威胁,特别是因为用户控制倾向于将重点放在最终产品的可视化上,而不是固有的数据质量上。因此,这项贡献旨在指导潜在的新用户成功地将SfM应用于一系列地貌研究。 关键词:运动结构,近距离摄影测量,智能手机技术,测量系统,表面形态echnology reduces both these constraints by allowing the use of consumer grade digital cameras and highly automated data processing, which can be free to use. SfM photogrammetry therefore offers the possibility of fast, automated and low-cost acquisition of 3-D data, which has inevitably created great interest amongst the geomorphological community. In this contribution, the basic concepts of SfM photogrammetry are presented, whilst recognising its heritage. A few examples are employed to illustrate the potential of SfM applications for geomorphological research. In particular, SfM photogrammetry offers to geomorphologists a tool for high-resolution characterisation of 3-D forms at a range of scales and for change detection purposes. The high level of automation of SfM data processing creates both opportunities and threats, particularly because user control tends to focus upon visualisation of the final product rather than upon inherent data quality. Accordingly, this contribution seeks to guide potential new users in successfully applying SfM for a range of geomorphic studies.
### 三维测量方法概述 三维测量技术是一种通过获取物体的空间几何形状及其表面特征来实现数字化表示的技术。它广泛应用于工业检测、逆向工程以及三维重建等领域[^1]。 #### 主流的三维测量方法分类 目前主流的三维测量方法可以分为接触式非接触式两大类: - **接触式测量** 接触式测量依赖物理探针与被测对象直接接触,逐点采集数据。这种方法精度高,但效率较低,适用于静态工件的小范围测量。三坐标测量机(CMM, Coordinate Measuring Machine)是最典型的代表之一。 - **非接触式测量** 非接触式测量无需与被测物直接接触,具有高效性灵活性的特点。常见的非接触式测量方式包括激光扫描、结构光投影立体视觉等。这些方法能够快速捕捉复杂曲面的数据,在动态场景下表现尤为突出。 #### 基于深度相机的三维测量 基于深度相机的方法主要包括三种核心技术:结构光、飞行时间法(Time of Flight, TOF),以及双目立体视觉。其中: - 结构光通过投射特定图案到物体表面上,并由摄像头捕获变形后的图案,从而解算出空间位置信息; - TOF则利用红外光源发射脉冲信号并接收反射回来的时间差计算距离; - 双目立体视觉模仿人类双眼工作原理,依靠两个不同角度拍摄的画面匹配得到深度值。 #### 图像为基础的三维测量 另一种重要的三维测量手段是以图像为输入源完成整个过程。该方法通常涉及SfM(Structure from Motion)、MVS(Multi-view Stereo)等关键技术。具体而言,SfM负责从一系列有序图片序列中恢复相机姿态参数;而MVS进一步扩展至密集点生成阶段,最终形成完整的三维模型。 ```python import numpy as np from scipy.spatial.transform import Rotation as R def calculate_3d_point(camera_matrix, points2D_left, points2D_right, baseline): """ 使用双目视觉计算三维点的位置 参数: camera_matrix (np.ndarray): 相机内参矩阵 points2D_left (tuple): 左相机中的像素坐标(x,y) points2D_right (tuple): 右相机中的像素坐标(x',y') baseline (float): 双目基线长度 返回: point3D (list): 计算所得的世界坐标[X,Y,Z] """ fx = camera_matrix[0][0] fy = camera_matrix[1][1] disparity_x = points2D_left[0]-points2D_right[0] Z = fx * baseline / disparity_x X = (points2D_left[0]*Z)/fx Y = (points2D_left[1]*Z)/fy return [X,Y,Z] ``` 上述代码片段展示了如何依据双目视觉原理估算某一点在真实世界里的三维坐标。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

滑了丝的螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值