首页 > 代码库 > Ceres学习笔记
Ceres学习笔记
1.关于CostFunctor的定义
(1)对于残差项的函数表达式已知情况,无需带参构造函数,而直接在operate()函数中写出残差项
(2)operate()的参数分为输入参数和输出参数,输入输出参数都可以分为一组或多组,具体如何分组视具体情况。
当输入(或输出)较少且有具体的意义时,可以一个参数编为一组。而对输入(或输出)较多时,则可将所有参数都为一组,这样使得代码简明
(3)operate()可以包含一个或多个残差项,包含多少残差项就有多少个输出参数,同时包含的残差项不同,其输入参数个数也可能不同。
(4)对于残差项的表达式都已知且每个残差项的表达式都不一样的情况,通常都是将所有残差项写在一个CostFunctor中,这样就可以一次性添加到Promblem中,
而对于像曲线拟合等残差项的表达式都是一样且残差项的个数也可能未知的情况,则可以定义一个统一的CostFuntor,然后通过循环逐个加入Problem,当然此时CostFunctor
通常含有带参的构造函数。
Ceres学习笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。