如何评估失真校正算法

时间:2017-11-15 08:48:56

标签: image-processing computer-vision

我正在尝试通过线拟合算法来评估失真校正。现在我想决定是否纠正给定的图像。所以我应该考虑整个图像的RMSE,因为我得到图像中每一行的RMSE。请建议我如何做出决定。

1 个答案:

答案 0 :(得分:0)

害怕你做错了,对不起。 “经过良好校准的摄像机将世界上的直线映射到图像中的直线”的口号,虽然如此,但它并不适合用于校准质量的公制定义。您可以通过各种方式在直线上计算RMSE,但它们都是无原则的黑客攻击。

您只能为从3D点到其图像的整个投影模型定义RMSE误差。换句话说,当您进行束调整,共同解决相机姿势以及镜头的线性和非线性内在参数时,只谈RMSE是有意义的。这是您在校准相机时所执行的操作,或通过束调整解决运动中的结构问题。

虽然理论上非常理想的是非线性镜头失真参数的完美估计完美地“拉直”线,但仅仅使用这个事实来定义实际估计的失真参数的质量的度量是非常棘手的。这有几个原因,其中包括:

  1. 当您对通过使用错误参数进行非扭曲获得的点应用最小二乘直线拟合算法时,您使用的是错误的模型。将非失真函数本身应用于物理直线3D线的图像会在图像中产生曲线,如果参数得到很好的估计,该曲线只是直线。如果不是这样,你的线条拟合就会有偏差,这意味着曲线与它“适合”的直线之间的距离不是一个纯随机变量:它取决于你测量它的位置,以及曲线本身的位置在图像中。
  2. 定义一条曲线和一条适合它的直线之间的距离是很棘手的。如何选择线上哪个点对应曲线上的给定点,或者反之?
  3. 更有原则的方法是基于曲线的几何曲率定义误差测量,该曲线是通过使物理直线的图像不失真而导致的。然而,试图精确测量曲率本身会打开一堆蠕虫,因为它等于(明确地或不是)估计曲线的一阶和二阶导数,这会放大噪声。
  4. 所以,总而言之,你的任何一个建议都“起作用”,因为它给你一个数字,如果很小的话,就是“暗示”可能很好的校准。然而,两者都不是“正确”的选择,因为你试图测量(并定义错误)的基础是不稳定的。