随笔 - 156  文章 - 0  评论 - 1  阅读 - 12万
09 2021 档案
15.Ceres官方教程-Modeling Non-linear Least Squares (3)
摘要:1.GradientChecker 这个类比较由代价函数返回的雅可比矩阵与用有限微分估计的导数。它是一种用于单元测试的工具,比求解器选项中的check_gradients选项提供更fine-grained的控制。 强制执行的条件是 由用户提供的成本函数乘以局部参数雅可比矩阵计算出来的雅可比矩阵, 是 阅读全文
posted @ 2021-09-30 11:16 JJ_S 阅读(308) 评论(0) 推荐(0) 编辑
14.Ceres官方教程-Modeling Non-linear Least Squares (2) 多种CostFunction
摘要:1.CostFunction 对于目标函数中的每一项,CostFunction负责计算残差向量和雅可比矩阵。具体地,考虑一个依赖于参数块的函数。 然后,对于一个给定的,CostFunction负责计算向量和雅克比矩阵 class CostFunction { public: virtual bool 阅读全文
posted @ 2021-09-28 17:41 JJ_S 阅读(1279) 评论(0) 推荐(0) 编辑
13.Ceres官方教程-Modeling Non-linear Least Squares (1) 介绍
摘要:Ceres求解器由两个不同的部分组成。一个是建模API,它提供了非常丰富的工具,可以迅速构建一个优化问题模型。另一个是解算器API,用于控制最小化算法。本章致力于使用Ceres建模优化问题的任务。下一章 Solving Non-linear Least Squares 讨论了使用Ceres解决优化问 阅读全文
posted @ 2021-09-28 11:17 JJ_S 阅读(419) 评论(0) 推荐(0) 编辑
12.Ceres官方教程-On Derivatives~Interfacing with Automatic Differentiation
摘要:在成本函数的显式表达式可用的情况下,自动微分很容易使用。通常程序都需要与外部的程序或数据进行交互。在本章中,我们将考虑几种不同的方法。 为此,我们将考虑寻找参数θ和t的问题,以解决以下形式的优化问题: 这里,R是一个用角度θ参数化的二维旋转矩阵,t是一个二维向量。f是一个外部畸变函数。 我们首先考虑 阅读全文
posted @ 2021-09-26 16:02 JJ_S 阅读(251) 评论(0) 推荐(0) 编辑
11.Ceres官方教程-On Derivatives~Automatic Derivatives
摘要:现在我们将讨论自动微分算法。它是一种可以快速计算精确导数的算法,同时用户只要做与数值微分法类似的工作。下面的代码片段实现了对Rat43(https://www.itl.nist.gov/div898/strd/nls/data/ratkowsky3.shtml)的CostFunction。 stru 阅读全文
posted @ 2021-09-26 15:59 JJ_S 阅读(328) 评论(0) 推荐(0) 编辑
9.Ceres官方教程-On Derivatives~Analytic Derivatives
摘要:考虑以下曲线(Rat43 https://www.itl.nist.gov/div898/strd/nls/data/ratkowsky3.shtml)的拟合问题: 也就是说,给定一些数据,确定最适合该数据的参数 我们面临的问题就是求解使下列表达式的取值最小: 最佳拟合的概念取决于用来衡量拟合质量的 阅读全文
posted @ 2021-09-26 15:58 JJ_S 阅读(218) 评论(0) 推荐(0) 编辑
10.Ceres官方教程-On Derivatives~Numeric derivatives
摘要:使用analytic derivatives的另一个极端是使用numeric derivatives。关键是,对函数f(x)关于x的求导过程可以写成极限形式: Forward Differences前向差分 当然,在计算机中,我们不能执行数值求极限操作,所以我们要做的是,选择一个很小的值h并将导数近 阅读全文
posted @ 2021-09-26 15:58 JJ_S 阅读(336) 评论(0) 推荐(0) 编辑
8.Ceres官方教程-On Derivatives~Spivak Notation
摘要:为了简化阅读和理解,使用Spivak符号表示导数。对于单变量函数f,f(a)为其在a处的值,Df为其一阶导数,Df(a)为其在a处的导数,即 表示f的第k阶导数。 对于二元函数。和分别表示关于g的两个偏微分,即 表示g的雅可比矩阵。 更一般的,对一个多元函数g:,表示的就是一个m×n的雅可比矩阵。 阅读全文
posted @ 2021-09-26 15:56 JJ_S 阅读(163) 评论(0) 推荐(0) 编辑
7.Ceres官方教程-On Derivatives
摘要:Ceres求解器,像所有基于梯度的优化算法一样,依赖于能够评估目标函数及其在其域内任意点的导数。实际上,定义目标函数及其雅可比矩阵是用户在使用Ceres求解器求解优化问题时需要执行的主要任务。正确、高效的雅可比矩阵计算是获得良好性能的关键。 用户可以灵活的从一下三种微分算法中选择: 1.Analyt 阅读全文
posted @ 2021-09-26 15:55 JJ_S 阅读(449) 评论(0) 推荐(0) 编辑
6.Ceres官方教程-General Unconstrained Minimization
摘要:虽然Ceres Solver的大部分致力于解决非线性最小二乘问题,但它内部包含一个求解器,可以解决一般的无约束优化问题,只使用其目标函数值和梯度。GradientProblem和GradientProblemSolver对象让用户可以访问这个求解器。 所以没有太多的麻烦,让我们看看如何使用它们。 R 阅读全文
posted @ 2021-09-26 15:35 JJ_S 阅读(467) 评论(0) 推荐(0) 编辑
6.Ceres官方教程-非线性最小二乘~Other Examples
摘要:除了之前的示例外,example目录中还包含许多其他示例: 1.bundle_adjuster.cc演示了如何使用Ceres的各种特性来解决bundle adjustment问题。 2.circle_fit.cc如果将数据拟合成圆形 3.ellipse_approximation.cc用近似的线段轮 阅读全文
posted @ 2021-09-26 14:37 JJ_S 阅读(602) 评论(0) 推荐(0) 编辑
5.Ceres官方教程-非线性最小二乘~Bundle Adjustment
摘要:编写Ceres的主要原因之一是我们需要解决大规模的Bundle Adjustment问题。参考文献《Multiview Geometry in Computer Vision》《Bundle Adjustment: A Modern Synthesis, Proceedings of the Int 阅读全文
posted @ 2021-09-24 17:44 JJ_S 阅读(1418) 评论(0) 推荐(0) 编辑
4.Ceres官方教程-非线性最小二乘~Curve Fitting(曲线拟合)
摘要:1.Curve Fitting 到目前为止,我们看到的示例都是没有数据的简单优化问题。最小二乘和非线性最小二乘分析的原始目的是对数据进行曲线拟合。 接下来将介绍曲线拟合的问题。采样点是根据曲线生成的,并且添加标准差σ=0.2的高斯噪声。我们用下列带未知参数的方程来拟合这些采样点: 首先定义一个模板对 阅读全文
posted @ 2021-09-24 16:57 JJ_S 阅读(1872) 评论(0) 推荐(1) 编辑
3.Ceres官方教程-非线性最小二乘~Powell’s Function(鲍威尔方程)
摘要:考虑一个稍微复杂一点的例子 – 求解鲍威尔方程的最小值。我们定义参数块 是关于上面四个残差值的方程。我们希望寻找到一组x,使最小。 同样,第一步是定义目标函数中的每一项需评估的仿函数,以评估的代码为例 struct F4 { template <typename T> bool operator() 阅读全文
posted @ 2021-09-24 15:12 JJ_S 阅读(554) 评论(0) 推荐(0) 编辑
2.Ceres官方教程-非线性最小二乘~Derivatives(导数)
摘要:像大多数优化软件包一样,Ceres求解器依赖其能够在任意参数值下评估目标函数中每一项的值和导数。 正确而高效地做到这一点是取得好结果的关键。Ceres提供了一系列解决方案,其中一个就是在Hello World中用到的Automatic Differentiation (自动微分算法)。我们将探讨另外 阅读全文
posted @ 2021-09-24 14:34 JJ_S 阅读(961) 评论(0) 推荐(0) 编辑
Ceres Solver配置测试代码运行环境
摘要:设置测试环境的目录为Ceres_Example 1.配置ceres库 1.编译动态库,将之放到Ceres_Example/lib/中 2.整理头文件,将下载的ceres库只保留头文件,放到Ceres_Example/3rdparty/中 3.下载所需的Eigen库,放到Ceres_Example/3 阅读全文
posted @ 2021-09-24 13:05 JJ_S 阅读(729) 评论(0) 推荐(0) 编辑
仿函数
摘要:仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 实例 class Func { public: Func(int num) : m_iNum(num) {} void operator() ( 阅读全文
posted @ 2021-09-24 11:17 JJ_S 阅读(409) 评论(0) 推荐(0) 编辑
1.Ceres官方教程-非线性最小二乘~Hello World!
摘要:翻译:http://ceres-solver.org/nnls_tutorial.html 参考:https://blog.csdn.net/wzheng92/article/details/79700911?spm=1001.2014.3001.5501 1.介绍 Ceres 可以解决以下形式的边 阅读全文
posted @ 2021-09-23 17:47 JJ_S 阅读(1860) 评论(0) 推荐(0) 编辑
Ubuntu安装Ceres Solver
摘要:参考http://ceres-solver.org/installation.html# 1.源码下载地址 https://github.com/ceres-solver/ceres-solver/releases 2.安装依赖项 # 安装cmake $ sudo apt-get install c 阅读全文
posted @ 2021-09-23 14:57 JJ_S 阅读(2203) 评论(0) 推荐(0) 编辑
RANSAC算法和LO-RANSAC算法
摘要:1.RANSAC算法 TODO 参考 https://blog.csdn.net/tianwaifeimao/article/details/48543361 https://www.cnblogs.com/doctor-li/p/11428582.html (原文分析) https://www.c 阅读全文
posted @ 2021-09-17 15:16 JJ_S 阅读(827) 评论(0) 推荐(0) 编辑
ubuntu翻译软件--stardict
摘要:想要在ubuntu系统中,查看网页,阅读文档等时,英文翻译中文的功能 安装stardict(星际译王) 1.安装方法 sudo apt-get install stardict 2.安装完成还要添加词典,例如下载朗道的 http://download.huzheng.org/ 点击zh_CN,打开 阅读全文
posted @ 2021-09-16 15:31 JJ_S 阅读(905) 评论(0) 推荐(0) 编辑
鸟瞰图IPM
摘要:TODO 参考 https://blog.csdn.net/djfjkj52/article/details/104791610 https://blog.csdn.net/feiyang_luo/article/details/103555036 阅读全文
posted @ 2021-09-07 16:52 JJ_S 阅读(85) 评论(0) 推荐(0) 编辑
消失点
摘要:灭点,就是在真实物理世界中相互平行的两条直线,在相机的2d投影中,会汇聚相交到一点,该点就是灭点或者消失点(vanishing point),抽象描述物理世界中的无穷远处。 TODO 参考 https://blog.csdn.net/djfjkj52/article/details/10463369 阅读全文
posted @ 2021-09-07 16:51 JJ_S 阅读(728) 评论(0) 推荐(0) 编辑
齐次坐标 ---向量叉乘, 无穷远点
摘要:#1.背景 笛卡尔坐标系: 就是直角坐标系和斜坐标系的统称。 欧氏空间: 在欧氏(几何)空间,同一平面的两条平行线永远不能相交,这是我们都熟悉的一种场景。 然而,在透视空间里面,两条平行线可以相交,例如:火车轨道随着我们的视线越来越窄,最后两条平行线在无穷远处交于一点。 欧氏空间(或者笛卡尔空间)描 阅读全文
posted @ 2021-09-07 16:19 JJ_S 阅读(3238) 评论(0) 推荐(1) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示