利用ceres solver解大规模线性方程组

本文介绍了如何使用ceres solver解决工程中的大规模线性方程组问题。ceres solver是一个非线性优化库,适用于解决具有大量未知数的稀疏矩阵问题。在实际应用中,如从稀疏深度图估计密集深度图,每个像素对应一个未知数,形成一个非线性方程。通过ceres提供的功能,可以直接构建观测方程并高效求解,避免了传统方法中QR分解等直接法的局限性。
摘要由CSDN通过智能技术生成

在工程应用中,最后要求解的线性方程组往往是原来的残差模型进行线性化后的误差方程。通常情况下,模型的线性化由人工完成,而求解误差方程则借助Eigen等矩阵运算库(参考1)来实现。现在,我们有了另一种选择,那就是ceres solver。ceres是Google公司用来解决非线性优化问题的开源库,主要是为了解决SFM问题中的光束法平差而设计的。与一般的矩阵运算库不同的是,我们只需要给ceres提供原始的残差模型就可以了,而无需自己求偏导数。ceres solver的安装和向导可以在下面给出的参考2的链接中找到,一个写的很好的中文用例可以在参考3的连接中找到。参考3给出的更多的是对参考2的翻译,最后也给出了一个空间后方交会的例子,但是未知数的数量只有6个,属于比较简单的例子。本文将结合实际应用,给出一个大规模最小二乘问题的求解实例。


现在有如上所示的一个能量函数,这个函数的第一项是观测值约束,第二项是未知数的平滑约束,这是一个工程领域十分常见的能量函数模型。我们用这个模型是要解决,利用一幅图像中稀疏的深度观测值

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值