位置: 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

  • 浏览器历史记录设置(浏览器历史记录查询)

    浏览器历史记录设置(浏览器历史记录查询)

  • 163免费邮箱注册版(163免费邮箱注册)(163免费邮箱)

    163免费邮箱注册版(163免费邮箱注册)(163免费邮箱)

  • 笔记本可以换显卡吗(笔记本可以换显卡吗)(笔记本电脑集显好还是独显好)

    笔记本可以换显卡吗(笔记本可以换显卡吗)(笔记本电脑集显好还是独显好)

  • qq音乐怎么看等级成长值(qq音乐怎么看等级排行)

    qq音乐怎么看等级成长值(qq音乐怎么看等级排行)

  • 支付宝怎么查询社保卡余额(支付宝怎么查询社保缴费记录)

    支付宝怎么查询社保卡余额(支付宝怎么查询社保缴费记录)

  • 红米note8pro能无线充电吗(红米note 8pro支持无线充电吗)

    红米note8pro能无线充电吗(红米note 8pro支持无线充电吗)

  • 无法复制磁盘被写保护请去掉写保护(无法复制磁盘被写保护怎么解除)

    无法复制磁盘被写保护请去掉写保护(无法复制磁盘被写保护怎么解除)

  • h5制作是什么意思(h5制作软件是什么)

    h5制作是什么意思(h5制作软件是什么)

  • 机器人可以识别微信红包金额吗(机器人可以识别哪些绘本)

    机器人可以识别微信红包金额吗(机器人可以识别哪些绘本)

  • 3a充电器会充坏手机吗(3a充电器损伤手机吗)

    3a充电器会充坏手机吗(3a充电器损伤手机吗)

  • 手机充不进电小米(手机充不进电小米9)

    手机充不进电小米(手机充不进电小米9)

  • 为什么抖音更新了看不到在线状态(为什么抖音更新不了最新版本)

    为什么抖音更新了看不到在线状态(为什么抖音更新不了最新版本)

  • 华为nova7pro什么时候上市(华为nova7pro什么芯片)

    华为nova7pro什么时候上市(华为nova7pro什么芯片)

  • 微信刚加好友转账提示(微信刚加好友转账提示风险如何解除)

    微信刚加好友转账提示(微信刚加好友转账提示风险如何解除)

  • 网页一般又称作什么(网页一般又称作什么网站)

    网页一般又称作什么(网页一般又称作什么网站)

  • 手机4G旁边突然出来个加号(手机4g旁边突然没信号)

    手机4G旁边突然出来个加号(手机4g旁边突然没信号)

  • qq怎么分享软件(qq怎么分享软件给别人)

    qq怎么分享软件(qq怎么分享软件给别人)

  • 如何新建文档(word如何新建文档)

    如何新建文档(word如何新建文档)

  • windows7update是什么意思(windowsupdate在哪win7)

    windows7update是什么意思(windowsupdate在哪win7)

  • 苹果手机耳机插口在哪(苹果手机耳机插上去还是外放)

    苹果手机耳机插口在哪(苹果手机耳机插上去还是外放)

  • 进程的静态实体由哪三部分组成(进程的静态实体主要由 、 和PCB组成)

    进程的静态实体由哪三部分组成(进程的静态实体主要由 、 和PCB组成)

  • 手机怎么导出联系人(手机怎么导出联系人到电脑)

    手机怎么导出联系人(手机怎么导出联系人到电脑)

  • qq音乐专属铭牌是什么(qq音乐专属铭牌 播放器怎么关)

    qq音乐专属铭牌是什么(qq音乐专属铭牌 播放器怎么关)

  • 华为mate20后台怎么开

    华为mate20后台怎么开

  • 快手8484啥意思(快手上的4868什么意思)

    快手8484啥意思(快手上的4868什么意思)

  • xsmax双卡双待怎么弄(xsmax双卡双待怎么装)

    xsmax双卡双待怎么弄(xsmax双卡双待怎么装)

  • 小米cc9e防水吗(小米cc9e有防水吗)

    小米cc9e防水吗(小米cc9e有防水吗)

  • 怎么在第一张幻灯片前新建幻灯片(怎么在第一张幻灯片前面加一张幻灯片)

    怎么在第一张幻灯片前新建幻灯片(怎么在第一张幻灯片前面加一张幻灯片)

  • 深度强化学习-DQN算法原理与代码

    深度强化学习-DQN算法原理与代码

  • 增值税发票查询网络异常
  • 所得税残疾人工资加计扣除
  • 合并后少数股东权益的处理
  • 财务费用最后怎么结转
  • 增值税转型前后对比
  • 收到客户定金账务怎么做
  • 高新技术企业预审要求
  • 递延收益怎么入账
  • 高新技术企业外债便利化
  • 公司注销公告怎么发布
  • 营改增对建筑业的影响
  • 采取简易计税外经证核销需要哪些资料?
  • 固定资产发票未到可以确认固定资产吗
  • 营改增后房地产开发企业需要交哪些税?
  • 企业注销难道必须要交房产税吗?
  • 农产品初加工免征企业所得税
  • 企业拨缴工会经费申报后税务机关需要审核吗
  • 公司奖励旅游算休年假吗
  • 如何界定企业所得税的不征税收入与应税收入
  • 房地产开发公司注册资金要求
  • 企业成本费用包含
  • 往来形式的投资款是借款吗
  • 1697509029
  • u盘如何进行杀毒
  • 药店 医保收入占比
  • 上月暂估入账的原材料的发票已经送到财务部
  • 从银行提取备用金填制什么凭证
  • 留底税额怎么分录
  • 普通发票多久之后还可以红冲
  • 开增值税发票折扣额怎么开出来的?
  • 物业公司预收款增值税纳税义务发生时间
  • 怎么激活对话框取消
  • PHP:pg_connect()的用法_PostgreSQL函数
  • php str_split
  • thinkphp 模板标签
  • uni.getstorage
  • javascript获取数组索引
  • passwd -s命令
  • 装修费用记什么科目
  • cms访问出错
  • 毛利的计算公式为
  • phpipam使用
  • 补计提个税分录
  • 应税销售行为有哪些
  • 知道实发工资怎么算应发工资计算器
  • 资产负债表的固定资产怎么算出来的
  • 工程施工的主要经济指标包括哪些
  • 其他应收款的账龄如何计算时间
  • 财务费用报销流程图word
  • 银行贴息一般多久能到账
  • 转移固定资产是指什么
  • 公司注销流程是哪些
  • 接受捐赠固定资产存货等有相关凭据的其成本按什么确定
  • 医院收到卫生局拨款会计分录
  • 一般纳税人劳务费税率是多少2023
  • 一正一负发票要做凭证吗
  • 会计账簿的作用主要包括
  • 确认收入一定要交增值税吗
  • mysql详细介绍
  • mysql alter table修改表命令整理
  • sql server 2000中的安全性包含
  • freebsd怎么安装软件
  • windows刷新快捷键是什么
  • linux计划任务怎么写
  • win8.1技巧
  • Metaio in Unity3d 教程--- 四:再谈谈图片扫描之tracking配置文件
  • unity3d基础操作
  • js实现用户登录
  • ExtJS4 表格的嵌套 rowExpander应用
  • django sessionid
  • perl 调用perl
  • javascript:openattachment
  • python与c
  • [置顶]游戏名:chivalry2
  • Unite Beijing 2015大型活动
  • 河南城乡居民医疗保险电话
  • 辽宁省国家税务局电话
  • 四川志愿服务注册入口
  • 国家税务总局服务平台
  • 车间租金计入什么会计科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设