【相机标定】相机内参

本文解析了相机标定的原理,包括从三维到二维的透视投影过程,重点讲解了针孔相机模型、相机内参(焦距、像素尺寸等)、畸变(桶形与枕形)的校准,以及外参(相机与世界坐标系的关系)。通过实例小米12SUltra的主摄,展示了如何通过内参矩阵描述坐标变换和像素位置计算。

相机标定

相机在计算机视觉方面的一些应用一般需要相机标定。我们总是听到标定这个词,那么具体标定的是什么呢?相机的拍摄是一个三维到二维(透视投影)的过程,这个过程可以用数学模型去表述,标定便是计算这个数学模型中的参数,我们最终希望通过这些参数能够从二维的图像去还原三维的世界。

拍照过程简化(针孔相机模型)

拍照是一个三维世界降维到二维的不可逆的操作,可以说相机拍摄是一个 R 3 → R 2 \mathbb{R}^3 \to \mathbb{R}^2 R3R2 的变换。
相机标定的目的就是找到一个合适的数学模型,近似表示这个三维到二维的过程,并且求其逆过程。

实际的镜头模组都是非常复杂的,我们可以找一个与这个镜头具有相同的物像共轭关系的凸透镜来等效这个镜头,我们把这个凸透镜称作等效透镜。为了分析的方便,我们用一个等效透镜在数学上替代一整个镜头模组。

在这里插入图片描述 在这里插入图片描述
Canon EF 85mm/F1.2L II USM 镜头模组 等效透镜

简化后的针孔相机模型中的 f 为焦距,但是这个焦距不是等效透镜的焦距,而是指图像传感器到等效透镜光心 O 的距离。
针孔相机模型大大简化了相机模型的数学复杂度,但是也有一些代价。针孔相机模型没有考虑相差(镜头畸变),没有考虑景深(因为针孔成像没有焦距的概念,认为物总是能够清晰成像)。

我们以小米 12S Ultra 的主摄为例,Sony IMX989 就是该款主摄的 CMOS 图像传感器。即便手机中的相机模组体积很紧凑,其中也是有多片镜头的,右下图是主摄的镜头组拆解,左图说的 23mm 等效焦距就是指跟这一堆镜片等效的等效镜片到 CMOS 的距离。像素尺寸指的是一个 CMOS 像素的边长,一个(正方形)像素尺寸约为 1.6μm。四合一像素尺寸是四个像素合成一个像素,所以边长 3.2μm。

小米12S Ultra主摄模组拆解
在这里插入图片描述
在这里插入图片描述

相机内参

相机拍摄过程中的四个坐标系

下图表示了摄影的过程,其实计算机视觉可以说是摄影或计算机图形学(Computer Graphics)的逆过程,想着如何利用已经降维成2D的信息去还原3D世界中的信息。

这里使用四个坐标系来描述拍摄过程:像素坐标系、图像坐标系、相机坐标系、世界坐标系。

像素坐标系:图片是由像素组成的,每个像素可以用一个有序二元组(u,v)来表示,这个坐标系就叫做像素坐标系。像素坐标系是一个二维坐标系,标识了在每个像素在图像传感器中的位置,每次增量是 1 个像素。

图像坐标系:像素坐标系中的标号为(u,v),其中 u 轴对应实际物理尺寸 dx,v 轴对应实际物理尺寸 dy,图像坐标系是一个对应真实世界的尺寸二维坐标系,可以记为 ( x , y ) (x,y) (x,y)。图像坐标系也标记的是像素在图像传感器中的位置,不过增量是每个像素的实际物理尺寸,比如上面提到的 IMX989 的每个像素尺寸 1.6μm,对应这里的dx和dy。

相机坐标系:以相机光心为原点呈现的世界三维坐标系 ( X , Y , Z ) (X,Y,Z) (X,Y,Z),坐标系原点是相机等效镜头的光心。

世界坐标系:真实的世界三维坐标系 ( X w , Y w , Z w ) (X_w,Y_w,Z_w) (Xw,Yw,Zw),坐标系原点一般是外界的某一点。比如在机器人应用中经常是以机器人的基座为世界坐标系原点。

像素坐标系 图像坐标系 相机坐标系 世界坐标系
2D 坐标系,位于 CMOS 3D 坐标系
整数序号,标识像素位置,
原点位于 CMOS 左上角
对应真实世界物理尺寸,
标识像素在 CMOS 上的平面位置,
原点为相机光轴与 CMOS 的交点。
原点为相机光心 世界坐标系原点

相机拍照的过程可以分为以下几步:

  • 将世界坐标转换为相机坐标,存在刚体变换。其实对应的就是相机外参。
  • 相机坐标变为图像坐标,这是一个 3D->2D 的透视投影过程。
  • 图像坐标变为像素坐标,对图像坐标系进行离散化。

相机内参

相机内参便是求第二步和第三步中的参数。

为了描述的方便,我们可以将针孔相机模型翻转过来,如下图所示,因为主要用到三角关系,所以翻转前后在数学描述上是等价的。
在这里插入图片描述

在相机坐标系中,像平面(图像传感器所在平面)为 Z = f Z=f Z=f(焦距,mm)。空间中一点 P 在相机坐标系下为 P ( X , Y , Z ) P(X,Y,Z) P(X,Y,Z),该点在像平面上的投影为点 p ( x . y ) p(x.y) p(x.y),在图像坐标系下为 p ( x , y ) p(x,y) p(x,y),在像素坐标系中的坐标为 ( u , v ) (u,v) (u,v)
  在这里插入图片描述

根据三角形相似原理,通过右图可得图像坐标系和相机坐标系比例关系

x X = y Y = f Z \frac{x}{X}=\frac{y}{Y}=\frac{f}{Z} Xx=Yy=Zf

相机坐标系(3D) -> 图像坐标系(2D):于是我们 得到了 相机坐标系中一3D点 ( X , Y , Z ) (X,Y,Z) (X,Y,Z) 在图像坐标系中的对应平面位置 ( x , y ) (x,y) (x,y)

x = f Z X ,   y = f Z Y x={f \over Z}X,\ y={f \over Z}Y x=ZfX, y=ZfY

像素坐标系的原点位于图像传感器的左上角,记光心到 CMOS 零点的偏移为 c x , c y c_x,c_y cx,cy,也就是相机光心在像素坐标系中的坐标为 ( c x , c y ) (c_x,c_y) (c

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值