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

还是以两幅图像进行单应矩阵求解为例,上面讲到使用DLT算法一对对应点之间可以构成一个方程组 Ah=0 ,其中A为一个 2×9 的矩阵。由此只需要4个点就可以求解出H矩阵。但是在实际的应用中,还有一些问题需要解决。

超定方程

实际情况下,我们得到的两幅图像的对应点往往多于4个点,从而可以得到矩阵 A2n×9 ,而由于噪声的存在,矩阵的行向量之间并不是线性相关的。也就是说没有一组解h满足方程组。此时把 Ah=0 称为超定方程。

在此情况下,我们无法得到一个精确的解,只能得到一个近似解。为使得这个近似解尽量准确,我们需要建立一个评判标准,称为损失函数 l 。通过最小化损失函数,我们就可以解出一个近似解。

代数误差

很自然的一个想法是去最小化||Ah||,其中 ||h||=1 ,这其实和求解最小化 ||Ah||/||h|| 是等价的。

这个问题的求解可以通过求解 ATA 的最小特征值对应的特征向量得到,也可以通过进行SVD分解 A=UΣVT 找到最小奇异值对应的V中的奇异向量得到。具体证明在此不多说。

至此我们在有噪声情况下得到了多于4点匹配情况的解。使用这种损失函数称为代数距离。向量 ϵ=Ah 称为残差向量。

假设一对对应点 xi,xi ,它们通过A贡献点残差向量为 ϵi ,称为代数误差向量。它的范数称为代数距离,即

dalg(xi,Hxi)2=||ϵi||2=[0T wixTiwixTi0TyixTixixTi]h2

更一般的,对任意两个向量 x1,x2 我们可以写作

dalg(x1,x2)2=a21+a22 , 其中 a=(a1,a2,a3)T=x1×x2

给定一系列的对应点, ϵ=Ah 是代数误差向量,可以看到

||ϵ||2=idalg(xi,Hxi)2=i||ϵi||2=||Ah||2

代数距离的优点是形式简单,易于计算,可以看到最小化代数误差基本可以看成DLT算法的一个延伸。它的缺点是没有几何学和统计学的意义,某些情况下不能得到最好的效果。因此它可以用作初值求解。

几何误差

对图像中观测到的一点我们记为x,它的实际坐标我们记为 x¯ ,通过各种方法估计到的该点的位置我们记为 xˆ

单幅图像中有噪声时的误差

假设原图像测量很精确,即 x=x¯ ,则此时的几何误差就是转换后图像中的对应点 x 的测量值与它的理论值Hx的欧氏距离。将两点 x,y 之间的欧氏距离记作 d(x,y) 。则所有匹配点对点误差为

id(xi,Hx¯i)2

对称转移误差

由于两幅图像中的测量点 x,x 都有误差,假设变换为H,它的逆变换为 H1 。则此时的几何误差就是

id(xi,H1xi)2+d(xi,Hxi)2

第一项为第一幅图中的转移误差,第二项为第二幅图中的转移误差。显然估计出的单应矩阵 Hˆ 为使得误差最小时 H 的值

重投影误差

上面可以看到,无论是将x投影到x’还是将x’投影回x得到的投影点均不与观测值重合。由此我们希望通过寻找一对点xˆ,xˆ,以及一个单应矩阵 Hˆ ,使得两点 xˆ,xˆ 能够完美的相互投影。

为找到这几个量我们需要最小化的误差函数为

id(xi,xˆi)2+d(xi,xˆi)2,xˆi=Hˆxˆi

重投影误差的几何诠释

点对 xi,x 的非齐次坐标可以构成 IR4 中的一点 (xi,yi,xi,yi) 。对一个给定的H,对应的两点满足 x×(Hx)=0 ,从而定义了一个 IR4 上的代数簇 H 。(代数簇就是若干多元多项式方程定义的公共零点集。)

H 是两个二次超曲面的求交。(因为 x×(Hx)=0 的每一行都是关于坐标 x,x,y,y 的二次多项式,H定义了多项式的系数,故每一行代表了一个二次超平面;又因为有一行可以被其他两行线性表出,故只有两个)。

给定一个 IR4 上的点 Xi=(xi,yi,xi,yi)T 。估计一个单应矩阵就是找到一个通过点的 H H 与H对应。令 Xˆi=(xˆi,yˆi,xˆi,yˆi)T H 上离 Xi 最近点一个点,有

||XiXˆi||=d(xi,xˆi)2+d(xi,xˆi)2

这恰好就是重投影误差的公式。找到 H 和其上的 Xˆi 等价于找到估计的单应矩阵和估计的匹配点对。

进一步的, H 上距离 X 最近点就是使得直线XXˆ垂直于 H 的点。即

d(xi,xˆi)2+d(xi,xˆi)2=d(Xi,H)2

总结一下,重投影误差即在 IR4 估计一个代数簇 H 使得它与所有的点的距离最小。

Sampson误差

接着上一节,投影误差虽然精确,但是很复杂。我们需要同时估计单应矩阵和对应点,换言之我们需要同时估计 IR4 上的 H Xi ,由于前者的非线性,后者的计算估计往往需要需要通过迭代来进行估计,当测量点 Xi 很多时这项任务将变得很困难。因此我们想到假设损失函数在所估计的点附近是线性的,从而近似的估计 Xi 。近似后的误差称为Sampson误差。

H 上的点满足 Ah=0 H(X)=0 。做泰勒展开有

H(X+δX)=H(X)+HXδx

假设 δx=XˆX , Xˆ H 上等价于 H(X)+HXδx=0 。令 ϵ=H(X) (这也是上一节对代数误差的定义)。有 Jδx=ϵ 。J为 H(X) 的Jacobian矩阵。此时我们需要解决的问题就是找到满足该方程的最小的 δx ,用规范的语言表述如下

找到向量 δx 使得 ||δx|| 取最小值,其中 Jδx=ϵ

对该问题我们使用拉格朗日乘子法进行求解,需要找到 δTxδx2λ(Jδx+ϵ) 的最小值。对 δx,λ 分别求偏导解出

δx=JT(JJT)1ϵ

||δx||2=δTxδx=ϵT(JJT)1ϵ

此时我们已经消除了 X̂  的影响。重投影误差可以表示为:

=iϵTi(JiJTi)1ϵi

不管是J还是ϵ都只与H中的元素相关,而与 X̂  无关,重投影误差的优化可以很容易的转化成一个只与H中元素有关的最小二乘问题。通过迭代进行优化。

极大似然估计

极大似然估计在只有一张图像有噪声时等价于转移误差,在两张图像都有噪声时等价于重投影误差。给出了以上两种误差的概率学的诠释。具体推导过程不多赘述。

<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]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值