matlab 摄像机标定中的重投影误差解释

gpnt7bae  于 2022-11-15  发布在  Matlab
关注(0)|答案(2)|浏览(1317)

我对摄像机校准过程中的重投影误差感到有点困惑。据我所知,重新投影误差描述了检测到的点和世界点之间的差异。我甚至发现,值<1是“好的”。
但这说明了什么呢?我的意思是,例如,重投影误差是2:这意味着距离是2px,到目前为止还不错。但是,关于校准,这意味着什么呢?是否需要校准?或者,校准过程会将此值调整为0吗?
更笼统地说:价值导致/告诉我们什么?

6ljaweal

6ljaweal1#

摘自Mathworks:
重新投影误差提供了一种对准确性的定性测量。重新投影误差是在校准图像中检测到的图案关键点与投影到同一图像中的对应世界点之间的距离。ShowRejectionErrors函数提供了每个校准图像中的平均重投影误差的有用可视化。如果总体平均重投影误差太高,请考虑排除误差最大的图像并重新校准。
这样想吧。比方说,你正在校准一张脸。您的模型假定脸部的每个关键点都有一定比例的间隔。当然,每一张照片都会有与你的模型略有不同的比例差异。你的模特拿出100张这样的照片,然后取其平均值来确定脸部的“平均”比例。但如果其中10张照片的Angular 很奇怪,或者被扭曲了呢?他们是异常值,他们可能会抛弃你的模型。也许将它们排除在模型计算之外会更好,这样您就可以获得一个更规格化的正常脸部模型。你可以通过观察重新投影误差来判断什么是被重击的。

qzwqbdag

qzwqbdag2#

“重投影误差”是一个术语,表示不同来源的量略有不同。包括:

  • 测量点和投影点之间的单个二维误差向量
  • 所有长度误差的均方根
  • 所有长度误差的平均值

OpenCV的cv::calbrateCamera()返回所有长度的均方根。用不同设置获得的两个RPE值不能直接进行比较。像素大小、图像噪声、镜头失真和相机型号都有影响。
由于图像噪声和镜头模糊,RPE永远不会精确到0px,这限制了检测精度和相机模型(例如Brown-Conrady),后者无法100%准确地模拟复杂的镜头/传感器组合。
对于中长焦距的标准质量相机来说,校准后2.0px的值有点高。一些消息来源建议RPE<1.0px是可以接受的,但这在很大程度上取决于相机的类型、校准过程的质量以及您对应用程序的精度要求。
您必须仔细解释该值(过度拟合),较低的值不等于准确的校准。您可以使用它来发现校准中的问题,并比较同一相机系统的两个校准。
有关该主题的深入文章可在此处找到:https://calib.io/blogs/knowledge-base/understanding-reprojection-errors

相关问题