【问题标题】:Using Levenberg-Marquardt optimization algorithm via opencv projectPoints() to estimate Calibration Errors通过 opencv projectPoints() 使用 Levenberg-Marquardt 优化算法来估计校准误差
【发布时间】:2016-10-22 14:53:54
【问题描述】:

在相机校准中,我使用 calibrateCamera() 从校准模式的多个视图中查找相机参数。它恰好做了两件事:

1) 以封闭形式估计初始相机参数,假设镜头畸变为零。

2) 运行全局 Levenberg-Marquardt 优化算法以最小化重投影误差,这是使用 projectPoints() 完成的

现在,我不仅要计算最小化重投影误差,还要计算导致它的拟合参数。当前没有可以返回无错误参数的函数。所以,我想我会使用 projectPoints() 来获取重新投影的图像点,然后使用重新投影的图像点和世界点再次校准并获得无错误的参数。问题是这不是我确定会给我输出的东西。谁能告诉我是不是?任何帮助将不胜感激。

【问题讨论】:

    标签: opencv opencv3.0 camera-calibration levenberg-marquardt


    【解决方案1】:

    Levenberg-Marquardt 将为您提供模型和数据能力的最佳估计。除非您的输入数据没有噪音,并且您的模型复杂度与真实模型的复杂度相匹配,否则您无法获得无错误的参数。

    例如,您的模型是: x * 2 + y = z,其中 x > 0 且 x 为整数

    输入数据 z = { 3 }

    根据您的初始值,Levenberg-Marquardt 将为您提供: (x = 1, y = 1) 或 (x=2,y=-1) 或 ... 没有错误

    但是,使用相同的输入 z,如果您的模型是: x * 2 = z,其中 x > 0 且 x 为整数

    你不可能得到一个没有错误的参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      • 2018-11-26
      • 2021-03-23
      • 1970-01-01
      • 2016-10-09
      相关资源
      最近更新 更多