首页 文章

校准相机与玻璃覆盖的棋盘

提问于
浏览
3

我需要找到单个的内在校准参数 . 为此,我从不同的角度拍摄了几张棋盘图案,然后使用校准软件 .

为了使校准图案尽可能平坦,我将其打印在纸上并用3mm玻璃盖住 . 显然,图案的图像被玻璃修改,因为它与空气相比具有不同的折射系数 .

外部参数会被玻璃扭曲 . 这是因为我们看到它没有到位的棋盘格 . 但是,如果已知玻璃的厚度和玻璃和空气的折射系数,则似乎可以恢复外部参数 .

所以,问题是:

  • 可以计算外部参数,如果是,那么如何? (现在这不是必需的,只是一个有趣的理论问题)

  • 从这些图像获得的内在校准参数是否等同于通常的校准程序(没有盖玻片)获得的参数?

通过使用玻璃,GML Camera Calibration Toolbox(基于OpenCV)报告的校准参数变得更加准确 . (它有任何意义吗?)但这种方法有一点缺点 - 不必要的反射,特别是光源 .

1 回答

  • 2

    我赞赏你选择一个非常平坦的支持(我推荐自己here) . 但是,请原谅我提出这个显而易见的问题,为什么要用玻璃盖住图案呢?

    由于练习的目的是确保目标的平面度而不是其他任何东西,你不妨粘贴与纸张图案相对的一面,避免所有这些麻烦 . 是的,随着时间的推移,图案会变脏并磨损,需要更换 . 所以你只需将其刮掉并更换它:印刷棋盘很便宜 .

    如果由于某种原因,你被困在前面的玻璃上,我建议先做一个由于玻璃折射引起的预期光线偏转的背面计算,并检查它是否可由你的设备实际测量 . 假设您正在使用的镜头的标称焦距(mm)以及传感器的物理宽度和像素密度,您可以轻松地在图像中心处理它,假设目标的旋转角度为“极端” . (比方说,45度)和标称距离 . 对于第一个近似,您可以将图案建模为玻璃上的“涂漆”,因此忽略第一次折射并仅考虑玻璃到空气的图案 .

    如果上述计算表明效果是可测量的(偏转> = 1像素),则需要将玻璃添加到场景模型中,并在束调整阶段解决其参数以及内在函数和外在函数 . 首先,我必须考虑射线偏转 . 鉴于成本函数的额外复杂性,我使用Automatic Differentiation(AD)代码 .

    如果你真的想要完成这个练习,我建议在Google Ceres包调节器之上编写求解器,它支持AD,其中包括许多好东西 .

相关问题