MVG读书笔记——单应矩阵估计这件小事(四)

本文介绍了几何误差最小化的迭代方法,包括损失函数选择、参数化、函数表述、初始化及迭代等五个环节,并以单应矩阵估计为例进行了详细阐述。

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

不同于之前提到的代数误差,几何误差的最小化往往没有闭式解(就是解析解)。为优化几何误差,我们需要使用迭代的方法。
迭代最小化的方法一般包括5个环节:

1.损失函数

损失函数的选择是迭代最小化方法等基础,具体的讨论可以参见前几篇文章。

2.参数化

给定要建立的模型,我们要优化的东西最终是模型的几个参数。提取需要被优化的参数的过程叫做参数化。

以单应矩阵的估计为例,H可以看作一个9维的向量,使用这9个参数进行优化即为一种参数化的方法。但是实际上H只有8个自由度,一个最小化的参数化方法只需要8个参数。我们把前者的情况称为超参数化。

超参数话一般来说没什么副作用,最小化参数数量往往也不是必要的。甚至后者会使得损失函数的几何表面更加复杂,从而有更大概率落入局部最优解。

另一方面,当我们的解空间并没有那么大时,也不需要使用过多的参数。举例来说,两平面 π π 这满足透视变换H(即对应点连线相交于空间一点。透视变换没有封闭性),该变换只有6个自由度,可以用6个自由度进行参数化。具体来说,使用两个3维向量a,v,一个标量 μ 可以表示一个透视变换H,即

H=I+(μ1)vaTvTa

它的逆变换为
H1=I+(1u1)vaTvTa

3.函数表述

即带入参数化后的模型得到的损失函数。前几篇已经给出了使用9维向量参数化H时具体的函数表述。

4.初始化

对参数进行初始化会对于后面的迭代优化产生重要的影响。一方面,好的初始化可以使得迭代需要的步数大大降低;另一方面非凸函数的优化常常可能落入局部最小值,此时参数的初始化就更加重要。

一种常用的初始化方法是使用模型的线性近似解作为初始参数。比如使用DLT算法得到的值作为单应矩阵H的初始参数,从而使得参数的初始状态接近最优状态。

在解空间较小时,我们可以对解空间进行多次采样作为初始化的值,分别计算参数并比较它们的效果,从而选出最优解。

5.迭代

从初始参数开始一步步优化参数的过程称为迭代。常用迭代算法有

  • 梯度下降法:每一步向当前点的负梯度方向进行优化。
  • 牛顿法:使用参数的Hessian矩阵进行优化。
  • 高斯—牛顿法:使用Jacobian矩阵近似Hessian矩阵,仅在一定条件下可用。
  • LM算法:信赖域算法,同时具有梯度法和牛顿法的优点。

至此对于以单应矩阵为例进行模型估计的部分基本完成。剩下的去除外点、以及具体的迭代方法在其它文章里面有所涉及。

<think>嗯,用户想找多视图几何(MVG)相关的数据集下载。首先,我需要回忆一下常见的多视图几何数据集有哪些。多视图几何通常用于三维重建、立体视觉、SLAM等领域,所以相关的数据集应该包含多个视角的图像、相机参数、深度信息或者点云数据。 首先想到的是Middlebury数据集,他们提供了多视图立体匹配的标准数据集,比如2006和2014年的版本,里面应该有多视角图像和真实深度图。然后还有ETH3D,这个也是用于三维重建和立体匹配的高分辨率数据集,适合多视图几何算法测试。 接下来,Euroc MAV数据集,主要用于无人机和SLAM,但里面也有双目相机和IMU数据,可能对多视图几何有用。DTU Robot Dataset应该也不错,特别是用于多视图立体重建,有精确的相机参数和结构化光照扫描的真实数据。 还有TUM的RGB-D SLAM数据集,虽然主要是RGB-D数据,但也适用于多视图研究。KITTI自动驾驶数据集里的立体视觉和视觉里程计部分也可能相关。BlendedMVS和ScanNet这两个大型数据集,前者是合成数据适合训练,后者是真实室内场景的RGB-D数据。 然后,用户可能还需要知道这些数据集的具体内容和下载方式,比如Middlebury和ETH3D的官网,KITTI需要注册,BlendedMVC在GitHub上。要提醒用户注意数据集的许可协议和使用限制,特别是商业用途可能需要授权。 另外,用户提供的引用中有提到多视图几何中的深度融合、三视图稳定性以及物方点与视图的关联,所以推荐的数据集应该包含多视图、深度信息和3D点云,比如Middlebury、DTU和BlendedMVC这些会更符合需求。需要确认每个数据集是否包含相机参数、标定信息,这对多视图几何算法至关重要。 最后,生成相关问题时要考虑用户可能进一步的需求,比如如何处理这些数据集、算法实现、评估指标等。要确保回答结构清晰,分点列出数据集,每个数据集的信息和下载链接,以及注意事项,这样用户能方便地找到所需资源。</think>### 多视图几何(MVG)常用数据集及下载方式 多视图几何研究依赖于包含多视角图像、相机参数及三维真值的数据集。以下是经典和最新的公开数据集推荐: --- #### 1. **Middlebury Multi-View Stereo Dataset** - **内容**: 包含高精度多视角图像、相机标定参数、真实深度图和三维模型,适用于立体匹配与重建算法验证。 - **下载**: [Middlebury官网](https://vision.middlebury.edu/mview/) - **特点**: 提供不同光照和纹理场景,如“Temple”“Dino”等[^2]。 --- #### 2. **ETH3D Dataset** - **内容**: 高分辨率多视图图像、激光扫描点云和相机参数,支持多视图立体匹配和SLAM研究。 - **下载**: [ETH3D官网](https://www.eth3d.net/) - **特点**: 包含室内外场景,提供训练集和测试集[^1]。 --- #### 3. **DTU Robot Image Dataset** - **内容**: 超过100个场景的多视图图像,精确的相机姿态和结构化光照扫描的3D真值。 - **下载**: [DTU数据集页面](http://roboimagedata.compute.dtu.dk/) - **特点**: 适用于大规模三维重建算法评估[^3]。 --- #### 4. **KITTI Vision Benchmark Suite** - **内容**: 自动驾驶场景的双目图像、激光雷达点云和相机标定参数,支持多视图几何与SLAM。 - **下载**: [KITTI官网](http://www.cvlibs.net/datasets/kitti/)(需注册) - **特点**: 真实道路场景,包含动态物体干扰。 --- #### 5. **BlendedMVS Dataset** - **内容**: 大规模合成多视图数据集,覆盖多种物体和场景,包含深度图和3D模型。 - **下载**: [GitHub链接](https://github.com/YoYo000/BlendedMVS) - **特点**: 适合深度学习模型训练[^4]。 --- #### 6. **ScanNet Dataset** - **内容**: 真实室内场景的RGB-D视频序列,提供相机轨迹、3D网格和语义标注。 - **下载**: [ScanNet官网](https://www.scan-net.org/) - **特点**: 支持多模态研究(几何+语义)。 --- #### 注意事项 - **数据协议**: 部分数据集(如KITTI)需遵守非商业或学术使用协议。 - **预处理**: 下载后需检查相机参数对齐性(如焦距、畸变系数)[^1]。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值