首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV相机标定的数学背景

OpenCV相机标定的数学背景
EN

Stack Overflow用户
提问于 2019-06-24 08:32:25
回答 2查看 676关注 0票数 2

我刚开始和OpenCV合作,校准了两个摄像头。我正在用棋盘校准巨蟒的凸轮。我使用drawChessboardCornerscalibrateCamera函数。一切都很好。

这些函数的文档描述了如何使用这些函数。但我一直在想这些背后的魔力是什么。我想知道OpenCV相机校准的数学背景。

雪茄烟的OpenCV 检测弯角怎么样?

这到底是如何用来校准相机的呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-24 12:36:39

为了了解什么是摄像机校准,让我们从图像形成的方式开始。

相机基本上是一种设备,它将点从3D空间转换成二维空间(图像空间)。在图像形成的分析中,我们经常使用所谓的针孔照相机模型,其中的图像是这样形成的:

更多的图表,我们可以看到这样的图像形成:

其中Y1是图像平面,X3是摄像机到物体的距离(我们称之为z,深度),x1是3D点P的X1轴与摄像机x3光轴之间的位移。O是具有焦距f的摄像机,y1是图像中心之间的距离,像素q对应于点P。

最简单的投影模型被称为orhtography。这个模型简单地降低了三维点的深度坐标(并可能缩放它)。所以,如果我们从3D世界的P点开始

,我们可以将投影写成:

,其中s是实标度因子,π是投影矩阵。

这个模型对于远距镜头(长焦距)和浅物体与相机的距离是近似的。这是准确的,只有远心透镜。对于我们使用的相机,一个更精确的模型是透视投影。为了获得直觉,如果三维物体离摄像机更近,那么图像平面上的物体就会变得更大。从数学上讲,由于三角形的相似性,y1与x1成正比。比例因子为f/x3,或f/z。让f暂时为1,这将导致下列投影函数:

正如你所看到的,投影不能用矩阵乘法来表示,因为它不再是线性变换了。这是不理想的-矩阵乘法有很好的性质。因此,我们引入了一个称为齐次坐标的技巧。对于每个点,我们添加另一个坐标(现在用3个坐标表示2D点,用4个坐标表示3D点),并将第四个坐标标准化为1(考虑最后一个坐标的隐式除法)。

现在,我们的观点是:

我们可以将透视投影矩阵写成:

,因为我们使用齐次坐标,最后一次除法发生在“隐式”,而倾斜则表示齐次坐标中的向量。

就在这里!这就是透视投影矩阵。请注意,这是一个不可逆转的变换。

然而,相机不仅将3D点投射到2D图像平面上。在投影之后,它们执行对离散图像空间的转换。这是由一个称为intrisinc摄像机矩阵K的矩阵表示的:

,如果fx和fy是x和y轴上的独立焦距(通常假定它们相等),则s是不垂直于光轴(在现代相机中接近0)的图像轴的倾斜,而cx,cy则表示图像的原点(通常是图像的中心)。

相机通常会给图像增加一些失真,并且有不同的数学模型。

摄像机标定过程是指确定摄像机的固有矩阵和畸变模型的参数。

这可以通过以下粗略的过程来完成:

  • 从已知布局和大小模型的不同角度出发,从多幅图像开始
  • 对于每一幅图像,确定一些已知对应点。这些通常是角,因为它们可以很容易和可靠地相互匹配。
  • 这两个点都有一个相关联的同形矩阵H=l*K*(R=T),其中l是一个实尺度因子,K是本征相机矩阵,(R~+T)是一个矩阵,它表示相机在三维空间中的旋转和平移(这称为外部相机矩阵)。
  • 基于点对应关系,利用同态图,有封闭形式的解来决定摄像机的内在参数。在没有失真的情况下,至少需要3幅图像。假设倾斜度为0,则至少需要2幅图像。在实践中,更多的图像会带来更精确的结果。
  • 一旦知道内部each,就可以计算每个视图的外部参数(旋转和平移)。
  • 也可以估计出扭曲情况。
  • 有些过程使用对所有图像的优化,以进一步细化封闭表单解决方案的结果。

要查看实际的封闭形式方程,请看一下W. Burger的一个非常好的 (Burger,2016)。

这一领域的“圣经”是计算机视觉中的多视图几何,由A.Zisserman著。

票数 1
EN

Stack Overflow用户

发布于 2019-06-24 11:23:09

参考加里·布拉德斯基和禤浩焯·凯勒的“学习OpenCV”。在摄像机标定方面有一个大的章节,对针孔相机模型有很好的数学背景,有各种各样的畸变,以及如何(通过校准)来降低它们。

使用其二阶导数检测图像上的角点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56732677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档