4

当样本数量有限且在图像的小区域内时,您对相机校准有什么想法或建议吗?

以下是一些附加信息:

我正在开展一个项目,以帮助残疾人用眼睛使用计算机。由于我对 OpenCV 缺乏经验,有些事情给我带来了一些麻烦。

相机是头戴式的,凸度还不错,但眼球本身是凸的,可以转动。我打算“压平”眼睛,让它看起来在飞机上移动。显而易见的选择是校准相机以尝试消除径向失真。

在校准过程中,用户查看屏幕上网格的角落。在校准过程中,每个位置的瞳孔力矩都存储在一个 Mat 中。因此,当查看屏幕上网格的角落时,我有一张图像,其中的点对应于多个眼睛位置。

我可以绘制连接四个点组的填充 poligons 并创建一个棋盘图案,或者我可以将每个眼睛位置保存为一个点并使用对称圆形图案进行校准。

我遇到的问题是相机是静态的并且眼睛位置没有改变,因此我可以生成多少图像,因为位置范围不是很大。

我正在考虑将网格细分为更小的棋盘图案,但它们都将位于同一个小区域中,所以我不确定这会有多大用处。

谢谢!

4

1 回答 1

1

您所说的实际上似乎并不是相机校准 - 它是您的眼动追踪设置的校准。

当您在 OpenCV 中校准相机时,您确实会尝试消除径向和切向失真,因此应用该过程来“压平”圆形物体似乎很直观。但是,球面透镜引入的径向畸变并不是您要处理的问题。您关心的是球形物体上的点投影到图像中的方式。

诚然,这些模型看起来非常相似,但关键是在将设置校准到测试对象期间,您不应该触摸相机的校准(您应该离线进行)。您的“位置范围”有限这一事实是您的问题所固有的,并且不能通过图像处理来改变。你正在拍摄的那只眼睛只会填满你相机的大部分视野。

就个人而言,我只会在屏幕上 9 个均匀分布的点上记录瞳孔位置,并将屏幕坐标与瞳孔二阶多项式的图像坐标相关联。这归结为采用球面投影的第一个泰勒项,除非眼球运动很大,否则这可能已经足够好了。然后,您可以使用 16 点而不是 9 点针对第二次校准来测试预测的运动。

我想您可以找到有关该主题的书以获取更多信息。

于 2013-05-28T01:54:31.253 回答