位置: IT常识 - 正文

【相机标定】相机内参(什么叫相机标定)

编辑:rootadmin
【相机标定】相机内参 相机标定

推荐整理分享【相机标定】相机内参(什么叫相机标定),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:什么叫相机标定,相机标定完有啥作用,相机标定怎么做,相机标定zc,相机标定怎么做,什么叫相机标定,相机标定怎么做,相机标定csdn,内容如对您有帮助,希望把文章链接给更多的朋友!

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

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

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

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

​ ​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),坐标系原点是相机等效镜头的光心。

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

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

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

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

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

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

在相机坐标系中,像平面(图像传感器所在平面)为 Z=fZ=fZ=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)。   

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

xX=yY=fZ\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=fZX, y=fZYx={f \over Z}X,\ y={f \over Z}Yx=Zf​X, y=Zf​Y

像素坐标系的原点位于图像传感器的左上角,记光心到 CMOS 零点的偏移为 cx,cyc_x,c_ycx​,cy​,也就是相机光心在像素坐标系中的坐标为 (cx,cy)(c_x,c_y)(cx​,cy​)。记每个像素在水平和竖直方向上的尺寸为 k,lk, lk,l (mm/pixel),由于像素不一定是正方形的,所以这里长宽分别表示,这个就对应上面说的CMOS像素尺寸1.6μm。

图像坐标系(连续2D) -> 像素坐标系(离散2D):则图像坐标系中一点 (x,y)(x,y)(x,y) 到像素坐标系中像素标号 (u,v)(u,v)(u,v) 的关系可以表示为

【相机标定】相机内参(什么叫相机标定)

u=xk+cx=fkZX+cxu={x\over k}+c_x={f \over kZ}X + c_xu=kx​+cx​=kZf​X+cx​

v=yl+cy=flZY+cyv={y \over l}+c_y = {f \over lZ}Y + c_yv=ly​+cy​=lZf​Y+cy​

令 fx=f/k,fy=f/lf_x=f /k, f_y=f /lfx​=f/k,fy​=f/l,则上面两式可以写成

u=fxXZ+cx, v=fyYZ+cyu=f_x{X \over Z}+c_x,\ v=f_y{Y \over Z}+c_yu=fx​ZX​+cx​, v=fy​ZY​+cy​

其中 fx=f/k,fy=f/lf_x=f/k,f_y=f/lfx​=f/k,fy​=f/l(pixel)为像素焦距,即单位长度的像素个数,单位为像素。

上式写成矩阵形式为

[uv1]=1Z[fxcxfycy1][XYZ]\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}= {1 \over Z} \begin{bmatrix} f_x & 0 & c_x\\ 0 & f_y & c_y\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} X\\ Y\\ Z \end{bmatrix}⎣⎡​uv1​⎦⎤​=Z1​⎣⎡​fx​00​0fy​0​cx​cy​1​⎦⎤​⎣⎡​XYZ​⎦⎤​

上面的矩阵可以写成 Zpuv=KPZp_{uv}=KPZpuv​=KP,中间的矩阵便是内参(intrinsics)矩阵,其中的四个参数便是要标定的内参。这个矩阵描述了相机坐标系到像素坐标系的变换关系。

有了相机内参我们便可以知道像素点对应的归一化平面(距光心距离为1的平面)的 x y 坐标,注意不是真实的XY坐标,因为空间点的深度值在透视投影过程中丢失了。

畸变

畸变(distortion)是对直线投影(rectilinear projection)的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration),可能是摄像机镜头的原因。

畸变模型:桶形畸变和枕形畸变。

相机中透镜的加入会对光线传播产生影响。透镜自身形状会影响光线传播,这种畸变(distortion,或失真)称为径向畸变;再者,相机组装过程中,镜片平面和 CMOS 不可能绝对平行,这种透镜平面和 CMOS 成像面不平行导致的畸变叫 切向畸变。

如果镜头没有畸变,那么点 P、光心 O、像点 p 应该是共线的。

径向畸变可以理解为像点沿距光心的长度方向发生了变化,切向畸变可以理解为像点沿切向(长度正交方向)发生了变化。一般使用多项式描述这些畸变,(xdistort,ydistort)(x_{distort}, y_{distort})(xdistort​,ydistort​) 来描述畸变后的像点位置

径向畸变

xdistort=x(1+k1r2+k2r4+k3r6)ydistort=y(1+k1r2+k2r4+k3r6)x_{distort}=x(1+k_1r^2 + k_2 r^4 + k_3 r^6) \\ y_{distort} = y(1+k_1 r^2 + k_2 r^4 + k_3 r^6)xdistort​=x(1+k1​r2+k2​r4+k3​r6)ydistort​=y(1+k1​r2+k2​r4+k3​r6)

切向畸变

xdistort=x+2p1xy+p2(r2+2x2)ydistort=y+2p2xy+p1(r2+2y2)x_{distort}=x+2p_1xy + p_2(r^2 +2x^2) \\ y_{distort} = y + 2p_2xy +p_1(r^2 + 2y^2)xdistort​=x+2p1​xy+p2​(r2+2x2)ydistort​=y+2p2​xy+p1​(r2+2y2)

像平面(图像坐标系)上畸变后的像点坐标为

xdistort=x(1+k1r2+k2r4+k3r6)+2p1xy+p2(r2+2x2)ydistort=y(1+k1r2+k2r4+k3r6)+2p2xy+p1(r2+2y2)x_{distort}=x(1+k_1r^2 + k_2 r^4 + k_3 r^6)+2p_1xy + p_2(r^2 +2x^2) \\ y_{distort} = y(1+k_1 r^2 + k_2 r^4 + k_3 r^6) + 2p_2xy +p_1(r^2 + 2y^2)xdistort​=x(1+k1​r2+k2​r4+k3​r6)+2p1​xy+p2​(r2+2x2)ydistort​=y(1+k1​r2+k2​r4+k3​r6)+2p2​xy+p1​(r2+2y2)

得到 5 个畸变参数 k1,k2,k3,p1,p2k_1, k_2, k_3, p_1, p_2k1​,k2​,k3​,p1​,p2​ 后便可以对畸变进行建模。实际使用中也可以使用更简单的模型,比如径向畸变只使用二阶(只用 k1k_1k1​)多项式描述。

外参

内参是确定像素坐标系到图像坐标系的四个参数 cx,cy,fx,fyc_x,c_y,f_x,f_ycx​,cy​,fx​,fy​

世界坐标系到相机坐标系的变换矩阵 R,t\mathbf{R,t}R,t ​称为外参。

比如和机器人相关的应用中,一般外参是描述相机坐标系和机器人基坐标系之间的刚体变换。

如果有标定板的话,标定板的尺寸都是已知的。

参考

相机标定究竟在标定什么?–复旦光学博士 许翔翔

Computer Vision: A Modern Approach

本文链接地址:https://www.jiuchutong.com/zhishi/299930.html 转载请保留说明!

上一篇:最优化理论笔记及期末复习(《数值最优化》——高立)(最优化理论pdf)

下一篇:GCN经典论文笔记:Semi-Supervised Classification with Graph Convolutional Networks

  • 诺基亚手机恢复出厂设置(诺基亚手机恢复出厂设置密码)(诺基亚手机恢复出厂设置的保密码是多少)

    诺基亚手机恢复出厂设置(诺基亚手机恢复出厂设置密码)(诺基亚手机恢复出厂设置的保密码是多少)

  • 飞科电动理发器怎么拆刀头部(飞科电动理发器使用教程)

    飞科电动理发器怎么拆刀头部(飞科电动理发器使用教程)

  • 华为mate30支不支持北斗导航吗(华为mate30支不支持120w快充)

    华为mate30支不支持北斗导航吗(华为mate30支不支持120w快充)

  • 腾讯会议操作过于频繁,请稍后再试(腾讯会议操作过于)

    腾讯会议操作过于频繁,请稍后再试(腾讯会议操作过于)

  • 快手直播间抢红包有限制吗(快手直播间抢红包神器)

    快手直播间抢红包有限制吗(快手直播间抢红包神器)

  • vivoy27安装不了微信(vivoy27手机安装不了微信怎么办)

    vivoy27安装不了微信(vivoy27手机安装不了微信怎么办)

  • 取消关注后对方知道吗(取消关注后对方点过赞的作品还在吗)

    取消关注后对方知道吗(取消关注后对方点过赞的作品还在吗)

  • iphone id是什么(iPhone ID是什么意思)

    iphone id是什么(iPhone ID是什么意思)

  • iphone11下面的横条不见了(iphone11下面的横条怎么去掉)

    iphone11下面的横条不见了(iphone11下面的横条怎么去掉)

  • 荣耀v30息屏显示时间怎么设置(怎么查荣耀magic5的屏幕)

    荣耀v30息屏显示时间怎么设置(怎么查荣耀magic5的屏幕)

  • 爱奇艺账户可以几个人用(爱奇艺账户可以几个设备登录)

    爱奇艺账户可以几个人用(爱奇艺账户可以几个设备登录)

  • 华为手环怎么连接蓝牙(华为手环怎么连接微信接收信息)

    华为手环怎么连接蓝牙(华为手环怎么连接微信接收信息)

  • 华为mate30怎么唤醒语音助手(怎么唤醒mate30)

    华为mate30怎么唤醒语音助手(怎么唤醒mate30)

  • 苹果8信任设置找不到(苹果8信任设置在哪里找)

    苹果8信任设置找不到(苹果8信任设置在哪里找)

  • oppoa11支持闪充吗(oppoa11能不能闪充)

    oppoa11支持闪充吗(oppoa11能不能闪充)

  • 存储管理的目的是(存储管理的目的是尽可能地方便用户使用和( ))

    存储管理的目的是(存储管理的目的是尽可能地方便用户使用和( ))

  • 屏幕扩展怎么设置(屏幕扩展怎么设置主屏幕)

    屏幕扩展怎么设置(屏幕扩展怎么设置主屏幕)

  • iphone11的尺寸(iphone11的尺寸大小厘米)

    iphone11的尺寸(iphone11的尺寸大小厘米)

  • 苹果手机主题商店在哪(苹果手机主题商店app下载)

    苹果手机主题商店在哪(苹果手机主题商店app下载)

  • 关机会说无法接通吗(关机会说无法接收短信吗)

    关机会说无法接通吗(关机会说无法接收短信吗)

  • 苹果Mac OS X 10.10 Yosemite系统十大使用技巧汇总(苹果mac os x 10.7.5)

    苹果Mac OS X 10.10 Yosemite系统十大使用技巧汇总(苹果mac os x 10.7.5)

  • 电脑睡眠唤醒教程(电脑睡眠唤醒教程视频)

    电脑睡眠唤醒教程(电脑睡眠唤醒教程视频)

  • PSD 格式文件除了 PS ,还能用什么软件打开?(psd格式文档)

    PSD 格式文件除了 PS ,还能用什么软件打开?(psd格式文档)

  • 前端布局 Flex(弹性)布局(前端布局flex)

    前端布局 Flex(弹性)布局(前端布局flex)

  • 某煤矿将自采原煤用于投资的业务应缴纳资源税
  • 非营利组织免税资格认定申请表
  • 企业的进项税额怎么算
  • 材料采购成本是主营业务成本吗
  • 偶然所得纳税计算
  • 小微企业应纳税所得额怎么计算
  • 计提住房公积金怎么算
  • 应收款为负数怎么做分录
  • 利润表年度报表
  • 2019新租赁准则账务处理举例
  • 视同销售货物缴纳增值税的有哪些?
  • 小规模纳税人减半征收
  • 房地产公司转让土地
  • 小规模纳税人进项发票怎么做账
  • 企业股权转让是否交企业所得税
  • 物业公司管理费用
  • 税务社保扣取300干嘛的
  • 日用品增值税税率
  • 认缴制需要多久交完
  • 最新科研增值税税率为多少?
  • 账本印花税每年交吗,要交几本
  • 建筑材料发票备注栏没写工程名称和工程地点能用吗
  • 公司销售二手车怎么做账
  • 企业所得税申报表A类
  • 开了红字发票销售方应怎么账务处理?
  • 应收账款怎么做分录
  • php最新动态
  • kb4579311安装失败
  • 电脑机箱前面耳机的WIN10系统没有声音怎么办
  • linux更改指定用户的相关信息
  • 高新技术产业研究院有限公司
  • iframe嵌套页面点击里面的按钮
  • 房屋权属登记撤销申请书
  • 持有至到期减值准备是什么科目
  • 前端解决跨域问题的代理
  • 工程项目成本核算的依据主要有
  • flink从入门到实战
  • 此战成硕,我成功上岸西南交通大学了~~~
  • session用处
  • 增值税发票开票系统数据与实际报税数不一致的原因?
  • python getpass模块
  • 商品流通企业物流成本的具体构成包括()
  • 小规模纳税人是什么意思
  • 所得税在什么情况下免税
  • mongodb索引使用正则表达式
  • 申报缴纳上月税费的会计分录
  • 购买税盘怎么减免申报
  • 汇兑损益一级科目
  • 资产总额是营业收入吗
  • 存货的采购成本不包括
  • 附加税税率是指
  • 其他应收款期末借方余额表示什么意思
  • 以货换货如何做账
  • 公司注销时发现有预付款
  • 政府补助的分类及会计处理方法有哪些
  • 研发支出费用化对财务报表的影响
  • 收客户逾期利息会计分录
  • 企业内部股权转让协议书
  • 盈利能力分析对企业发展的意义
  • 固定资产更新改造被替换的旧部件残值收入
  • 如何计算债券实际收益
  • 工程款发票开给委托方要如何处理?
  • 连续三个月发烧怎么回事
  • 企业向个人借款利息如何缴纳增值税
  • 结存成本会计分录
  • 新政府会计制度固定资产核算
  • 在mysql中使用视图的限制不包括
  • windows server能干嘛
  • win10虚拟桌面版
  • 电脑没有声音怎么恢复按哪个键
  • win7修改系统版本
  • cocos2djs
  • 编程中的python
  • [Unity3D]Unity3D游戏开发之塔防游戏项目讲解(上)
  • JavaScript中getUTCMinutes()方法的使用详解
  • jquery实现二级联动菜单
  • [置顶]bilinovel
  • js实现类
  • 中国十大经济排名
  • 车辆检测费属于什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设