3

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

为了使校准图案尽可能平坦,我将其打印在纸上并盖上 3 毫米玻璃。显然,图案的图像是由玻璃修饰的,因为它与空气相比具有不同的折射系数。

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

所以,问题是:

  • 是否可以计算外在参数,如果可以,那么如何计算?(现在没有必要,只是一个有趣的理论问题)
  • 从这些图像获得的内在校准参数是否等同于从通常的校准程序(没有盖玻片)获得的参数?

通过使用玻璃,GML Camera Calibration Toolbox(基于 OpenCV)报告的校准参数变得更加准确。(这有什么意义吗?)但是这种方法有一个小缺点——不需要的反射,尤其是来自光源的反射。

4

1 回答 1

2

我推荐你选择一个非常平坦的支撑(这是我在这里推荐自己的)。但是,请原谅我问了一个明显的问题,你为什么要用玻璃盖住图案?

由于练习的目的是确保目标的平面度而不是其他,因此您不妨将与纸张图案相反的那面粘上,避免所有这些麻烦。是的,随着时间的推移,图案会变脏和磨损,需要更换。因此,您只需将其刮掉并更换即可:打印棋盘很便宜。

如果由于某种原因,您被前面的玻璃卡住了,我建议您首先对由于玻璃折射引起的预期光线偏转进行粗略计算,并检查它是否可以通过您的设备实际测量. 鉴于您正在使用的镜头的标称焦距(以 mm 为单位)以及传感器的物理宽度和像素密度,您可以轻松地在图像中心进行计算,假设目标相对于焦轴的“极端”旋转角度(例如,45 度)和标称距离。作为第一个近似值,您可以将图案建模为“绘制”在玻璃上,因此忽略第一次折射,只考虑玻璃对空气的折射。

如果上述计算表明效果是可测量的(偏转 >= 1 像素),则需要将玻璃添加到场景模型中,并在捆绑调整阶段求解其参数以及内在和外在参数。首先,我将使用两个参数,厚度和折射系数,并假设两个面都是平面且平行的。它只会使成本函数中角投影的计算更加复杂,因为您必须将光线偏转考虑在内。考虑到成本函数的额外复杂性,我肯定会编写模型的代码以使用自动微分(AD)。

如果您真的想完成这个练习,我建议您在支持 AD 的Google Ceres捆绑调整器之上编写求解器,以及许多不错的功能。

于 2013-03-15T12:37:49.513 回答