【光电智造】相机标定怎么标?

今日光电 2024-02-04 18:01

今日光电

     有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。追光逐电,光赢未来...欢迎来到今日光电!



----追光逐电 光赢未来----


相机标定可以说是计算机视觉/机器视觉的基础,但是初学者不易上手,本文将给读者整理一遍相机标定的逻辑,并在文末回答评论区提出的问题。分为以下内容:


  • 相机标定的目的和意义

  • 相机成像过程的简化与建模

  • 针孔相机模型的数学描述

  • 标定针孔相机模型的参数

相机标定的目的和意义

我们所处的世界是三维的,而照片是二维的,这样我们可以把相机认为是一个函数,输入量是一个场景,输出量是一幅灰度图。这个从三维到二维的过程的函数是不可逆的。相机标定的目标是我们找一个合适的数学模型,求出这个模型的参数,这样我们能够近似这个三维到二维的过程,使这个三维到二维的过程的函数找到反函数这个逼近的过程就是「相机标定」,我们用简单的数学模型来表达复杂的成像过程,并且求出成像的反过程。标定之后的相机,可以进行三维场景的重建,即深度的感知,这是计算机视觉的一大分支。

相机成像过程的简化与建模

提到相机的成像,从根本上来说,就是在讨论相机的镜头。固定结构的相机镜头决定了一对固定的物像共轭关系,所谓「共轭」,意思是镜头前某个位置的物,它的像一定在镜头后的某个位置,这个关系是固定的。举个最简单的例子,无穷远处的物必然会在镜头的焦点处成像。这里说的固定结构,指的是镜头的焦距固定,光圈固定。上图是Canon EF 85mm/F1.2L II USM,我们可以找一个与这个镜头具有相同的物像共轭关系的凸透镜来等效这个镜头,我们把这个凸透镜称作等效透镜,用朝外的双箭头表示,如下图。这里说的等效,只是针对物像共轭关系的等效,也就是光路的等效,镜头中之所以用了形态各异的透镜主要是为了消除各种各样的像差,提高清晰度。换句话说,等效透镜的目的绝不是为了在实际应用中取代镜头(毕竟一个镜头都好贵),只是为了帮助我们理解。这样我们就可以画出相机拍摄到清晰的蜡烛燃烧场景的草图,如下图。其中, 是火苗尖的物点, 是火苗尖的像点 , 是蜡烛根的物点,是蜡烛根的像点,  是等效透镜的中心(也称为光心),红色虚线表达了物点  到 像点成像光路中的两条,绿色虚线表达了物点 到像点 成像光路中的两条,红色是CCD面。注意,刚刚说到我们画的是「相机拍摄到清晰的蜡烛燃烧场景的草图」,这表明像点 和像点 刚好落在CCD面上,那么假如像点没有落在CCD面上,也就是CCD拍摄的图像不清晰,我们如何确定像点的位置?根据几何光学的作图法,由过等效透镜的焦点 的光线和过光心 的光线,我们可以作出像点 的位置,现在我们对「相机拍摄到清晰的蜡烛燃烧场景的草图」同样用作图法,只考虑 点的物像关系。这样我们就能够得到成像光路中的4条:①是过透镜上边沿的光路,④是过透镜下边沿的光路,②是过等效透镜焦点的光路,③是过光心的光路。它们都表达了物点 与像点 的物像共轭关系,显然③过光心的光路是最容易建立物像共轭关系数学模型,因此我们用③来代表成像光路,对相机成像过程进行简化。到这里我们发现,简化后的相机模型和针孔相机的成像原理很相似,因此我们把简化后的相机模型称为针孔相机模型。上图中的 是针孔相机模型的焦距,但请注意,此针孔相机「焦距」非彼等效透镜「焦距」,只是借用了「焦距」汇聚光线的概念,表达的是CCD面到光心的距离。但是我们说的是简化后的相机模型和针孔相机的成像原理仅仅是相似,绝不能等同,由于针孔相机的原理是光沿直线传播,所以真实的针孔相机是没有「焦距」的概念的,也不存在像差,其物像关系不具有一一对应性,如下图。所以准确的讲把相机的成像过程简化成针孔相机模型,只是借用了针孔相机中简单的数学关系来表达一些本来难以表达的数学关系,使得数学上大大降低了复杂性,但是这个简化的代价同样很大,它本身不考虑像差(虽然针孔相机模型补充了消畸变模型)、不考虑景深(针孔相机模型物像关系不具有一一对应性,认为凡是物总能成清晰像),并且假定等效透镜是薄透镜。所以说针孔相机模型仅仅是一种真实相机的成像过程的近似,甚至于我们可以说这是一种非常粗糙的近似,这使得这个模型对越符合针孔相机模型的真实相机近似程度越高,如网络摄像头、手机镜头、监控探头等等。

针孔相机模型的描述

我们对相机成像过程进行简化和建模得到了针孔相机模型,如下图示。首先建立相机坐标系,我们以光心 为坐标系的原点, 方向是CCD像素排列的水平和竖直两个方向, 方向垂直与CCD面,建立右手坐标系,这是一个三维坐标系。其次,我们还需要建立CCD标号坐标系:以CCD左上角像素标号为原点,CCD像素排列的水平和竖直两个方向为 方向,这是一个二维坐标系。为了方便描述,我们之后将把针孔相机模型对称翻转过来,如下图所示,从数学的角度,它们是等价的。

  • 由光心 光轴出发,像平面在 上, 是相机的物理焦距(单位:)。

  • 点 在空间中,在相机坐标系下的位置是

  • 点 在像平面上,有两个等价的位置描述:1. 在相机坐标系下的位置是 ;2. 在CCD标号坐标系下的位置是 

  • 在无镜头畸变的条件下,光心 、点 与点 在一条直线上。

  • 与 是CCD单个像素在水平和竖直两个方向上的尺寸(单位:/像素),因此定义焦距为 (单位:像素)。

  • CCD标号坐标系原点到光轴的偏移量为 (单位:像素)。根据相似三角形关系,可以得出:(1) 二维CCD标号坐标 二维CCD像素坐标 建立CCD像面上的点标号坐标与物理坐标之间关联,由于像平面在 上,可省略。(2) 像点的二维像素坐标 物点的三维空间中的坐标 建立CCD像面上像点物理坐标与对应的三维空间中物点坐标之间关联。(3) 像点的二维CCD标号坐标 物点的三维空间中的坐标 连接(1)和(2)的两个关联,也是实际进行标定得到参数 由以上三个关联可以得到:像点标号 像点坐标 物点坐标 在OpenCV及Matlab标定工具箱直接使用了(3)关联,不需要知道CCD单个像素的尺寸,因此在标定过程是得不到物理焦距 的,只能得到像素焦距 很容易发现,(3)关联是不约束 的,也就是说,针孔相机模型本身是欠定的,通过被点亮的CCD像素 我们只能知道物点 在射线 上,但无法确定具体的点,所以我们讲,针孔相机模型是一个射线方程模型, 点的射线方程:以上的关系是在无镜头畸变的条件下建立的,但是实际上存在镜头畸变,可以理解成像点和物点之间的光线是弯曲的,要得到射线模型,要进行消除畸变。(4) 补充消畸变模型以像面中心像素坐标 为中心,像面上的点到中心的距离为

  • 合成畸变 其中:

  • 径向畸变

  • 切向畸变 把消畸变模型补充进针孔相机模型,因此「像点标号 像点坐标 物点坐标 」被修正为:像点标号 像点坐标 物点坐标 消畸变后的射线方程 是:

标定针孔相机模型的参数

针孔相机模型中,只要确定这9个参数就可以唯一的确定针孔相机模型, ,这个过程就称为「相机标定」,其中前4个我们称为内参数,后5个称为畸变参数,畸变参数是为了补充内参的。所以一旦相机结构固定,包括镜头结构固定,对焦距离固定,我们就可以用这9个的参数去近似这个相机。这里说的「镜头结构固定」,按我个人的理解,除了焦距固定之外,也应当包含光圈固定,因为改变光圈的大小,除了景深之外,是有可能改变针孔相机模型中的光心位置,但是影响并不是很大。这意味着标定好的相机如果改变光圈大小,会使得标定误差变大但应该不会大到难以接受的地步。对于针孔相机本身需要拟合的方程如下:其中 代表了畸变图像和消畸变图像之间的变换。因此,我们现在的任务就是找出一大堆具有对应关系的像点 和物点 的点对作为样本,来训练出模型的9个参数 。那么这里就引发了两个问题:(1) 这么多像点和物点到底谁和谁是一对儿?(2) 即便我知道物点在哪里,可是我怎么样用相机坐标系来表达物点的位置 ?为了解决上述的两个问题,标定板应运而生。标定板的第一大作用,确定物点和像点的对应性。这里用到的原理主要是「透视不变性」,打个比方,你近看一个人和远看一个人,虽然他的鼻子大小变了,你看鼻子的视角也变了,但是拓扑结构肯定是不变的,你也不可能把鼻子看成是嘴巴。所以在标定板中,印刷了拓扑结构,广泛应用的是棋盘格和圆点格,这两种之所以成为主流,不仅是因为它们的拓扑结构明确且均匀,更重要的是检测其拓扑结构的算法简单且有效。棋盘格检测的是角点,只要对拍摄到的棋盘格图像横纵两个方向计算梯度就可获得;而圆点格的检测只需要对拍摄到的圆点格图样计算质心即可。假如你开发了一套非常完美的检测人脸全部特征的算法,你完全可以用你的照片当作标定板。按照我的经验,圆点格的效果应该是好于棋盘格,因为圆点质心的「透视不变性」要比棋盘格的角点稳定的多。下图是同样尺寸、同样比例棋盘格和圆点在最大重投影误差处的误差对比,红色十字是提取的角点/质心,绿色圆圈是针孔相机模型计算出来认为的角点/质心位置。下图是棋盘格与圆点格的重投影误差图,显然圆点格的重投影误差的误差空间要小。但是圆点格的检测似乎是Halcon的专利(存疑),因此OpenCV和Matlab标定工具箱用的是棋盘格,要用圆点格得要自己写算法。下文中提到的标定板说的都是棋盘格。标定板的第二大作用是把标定板中的角点变换到相机坐标系下的坐标 。对于标定的初学者来说,很容易忽略的一点是标定板是具有标定板坐标系的。换句话说,标定板中的每个角点,在标定板坐标系下的位置是确定并且是已知的。而标定板坐标系变换到相机坐标系的变换矩阵,我们称它的元素为外参数,所以在我眼中,相机标定的外参根本就是标定内参的副产品,它会随着标定板的摆放不同而不同,由标定板坐标系变换到相机坐标系的变换矩阵可以由下式表达:其中, 称为旋转矩阵, 称为平移矩阵,下表 代表board to camera。注意这个坐标系的变换是一个线形变换,反应到物理上讲,这意味者标定板必须尽可能的平,如果标定板不平,这个变换就不是线形的了。我们把这个变换带到原本要拟合的方程中去:如此一来,我们就把能够把CCD上拍摄的到角点的像素标号 和每一个角点已知的在标定板坐标系下的坐标 对应起来,通过各种各样的姿态作为样本,训练出全部参数 至于参数训练的方法,最小二乘,极大似然估计等等,很容易找到相关的资料,在此不再赘述。如果用OpenCV或Matlab标定工具箱进行标定,需要给出棋盘格的物理尺寸,这其实就是在建立标定板坐标系,从测量的角度讲,标定板的精度是相机标定精度的基准,是误差传递链上的第一个环节。所以为了使针孔相机模型更逼近真实相机,对标定板的质量有以下要求(按重要性顺序):

  1. 标定板的平面度高,棋盘格是直角;

  2. 标定板每个格子尺寸的高一致性;

  3. 真实尺寸与标称尺寸的差异小。

来源机械视觉沙龙



申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。


 

----与智者为伍 为创新赋能----


【说明】欢迎企业和个人洽谈合作,投稿发文。欢迎联系我们
诚招运营合伙人 ,对新媒体感兴趣,对光电产业和行业感兴趣。非常有意者通过以下方式联我们!条件待遇面谈
投稿丨合作丨咨询

联系邮箱:uestcwxd@126.com

QQ:493826566


评论
  •  在全球能源结构加速向清洁、可再生方向转型的今天,风力发电作为一种绿色能源,已成为各国新能源发展的重要组成部分。然而,风力发电系统在复杂的环境中长时间运行,对系统的安全性、稳定性和抗干扰能力提出了极高要求。光耦(光电耦合器)作为一种电气隔离与信号传输器件,凭借其优秀的隔离保护性能和信号传输能力,已成为风力发电系统中不可或缺的关键组件。 风力发电系统对隔离与控制的需求风力发电系统中,包括发电机、变流器、变压器和控制系统等多个部分,通常工作在高压、大功率的环境中。光耦在这里扮演了
    晶台光耦 2025-01-08 16:03 52浏览
  • 「他明明跟我同梯进来,为什么就是升得比我快?」许多人都有这样的疑问:明明就战绩也不比隔壁同事差,升迁之路却比别人苦。其实,之间的差异就在于「领导力」。並非必须当管理者才需要「领导力」,而是散发领导力特质的人,才更容易被晓明。许多领导力和特质,都可以通过努力和学习获得,因此就算不是天生的领导者,也能成为一个具备领导魅力的人,进而被老板看见,向你伸出升迁的橘子枝。领导力是什么?领导力是一种能力或特质,甚至可以说是一种「影响力」。好的领导者通常具备影响和鼓励他人的能力,并导引他们朝着共同的目标和愿景前
    优思学院 2025-01-08 14:54 56浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 105浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 113浏览
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 64浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 118浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 162浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 88浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 140浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 198浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦