完整教程:简析单目相机模型中的针孔模型

news/2025/12/6 20:35:30/文章来源:https://www.cnblogs.com/yangykaifa/p/19316535

目录

1. 前言

2.针孔模型中的四大坐标系

3.笛卡尔坐标和齐次坐标

4.针孔模型内参矩阵的几何推导流程


前言

单目相机模型的核心思想是描述现实三维世界中的一个点是如何被投影到二维图像平面上的点,而单目相机模型分为针孔模型和畸变模型,针孔相机模型是用于描述理想的透视投影几何关系,但是由于实际的相机镜头并非理想的针孔,因为透镜的物理形状和装配的误差会引起图像的扭曲发生畸变,所以有了畸变模型,该模型描述实际相机镜头因物理缺陷导致的图像扭曲。本篇博客将对单目模型中的针孔模型进行解析,分析其原理和公式推导得到内参矩阵。


针孔模型中的四大坐标系

在针孔模型中定义了以下四个坐标系:
1.
像素坐标系:该坐标系是最终得到的图像中的坐标系,其原点位于图像的左上角,单位为像素(图1中的紫色坐标系)

2.图像坐标系:该坐标系是成像平面中的坐标系,其原点位于成像平面与光轴的交点,该点也被称为主点(图1中的绿色坐标系,其中红色的线段可表示光轴)

3.相机坐标系:该坐标系以相机的光心为原点,以相机的视角来观察世界的坐标系(图1中的蓝色坐标系)

4.世界坐标系:该坐标系用于描述三维现实空间的基准坐标系,用来定义所有物体在现实空间中的绝对位置(图1中的黑色坐标系)

PS:对于各个坐标系可以参考图1,能结合相机模型更好的理解四个坐标系的不同

图1.四大坐标系


笛卡尔坐标和齐次坐标

笛卡尔坐标是我们当前理解的坐标系,就是使用N个数值来表示N维空间中的一个点通过。例如在2维平面上的点能够使用(X,Y)来表示,3维空间中的点允许使用(X,Y,Z)来表示。而齐次坐标是笛卡尔坐标的扩展表示方法,它使用了N+1个数值来表示N维空间中的一个点,例如在2维平面上的点可以使用(X,Y,W)来表示,3维空间中的点可以使用(X,Y,Z,W)来表示,这多出来的W参数实际上就是齐次坐标的尺度因子。

为什么笛卡尔坐标已经能清晰的表示N维空间的物体,还要引入迪卡尔坐标?这是因为在笛卡尔坐标下,点和向量在表示上没有区别都是(X,Y,Z),这在进行几何变换时会造成混淆。而在齐次坐标下点的W分量不为零,通常表示为(X,Y,Z,1),而向量的W分量为零表示为(X,W,Y,Z,0)。并且启用矩阵乘法表示,而齐次坐标则可以把平移和旋转都使用矩阵乘法表示就是笛卡尔坐标中的平移是使用向量加法表示,旋转

对于齐次坐标和迪卡尔坐标的转换则能够参考下图:

图2.齐次坐标和迪卡尔坐标的转换

PS:在齐次坐标中,如果比例因子W为零,那么这个点就是一个无穷远的点或者方向向量


针孔模型内参矩阵的几何推导流程

本小节主要是推理了如何获取内参矩阵,为了更好的理解推导流程和坐标系之间的关系,我们依据对图1中的图像进行抽离和标注得到了图3。在图3中世界坐标系可以记为O-XYZ,相机坐标系可以记为O_{c}-X_{c}Y_{c}Z_{c},图像坐标系可以记为O_{i}-X'Y',具体参考下图。而图中的物理点P(X,Y)是以世界坐标系为坐标来计算的,映射到成像平面的点P'(X',Y')则是以图像坐标系进行计算的。

图3.点与坐标系的关系

凭借调整图3的观察视角,我们可以发现俯视时物理点P,光轴,点O,点O_{c},点O_{i}和点P'(X',Y')可能构成一个相似三角形,具体如图4。

图4.俯视点和各个成像平面

为了计算物理点P(X_{c},Y_{c}以相机为视角进行观察,坐标由原来的世界坐标系(X,Y)变为相机坐标系(就是)映射到成像平面上的点的坐标,我们知道相似三角形各个相对应的边是成比例的,这是相似三角形的特性。对此我们行得出以下等式(此处的物理点X_{c},Y_{c})):

借助等式,大家可以得出成像平面是点的X'和Y'坐标的计算公式如下:

此时计算的坐标点是以笛卡尔坐标进行运算的,为了方便后续的运算我们将其转换为齐次坐标,并且引入比例因子W(第二小节讲解过笛卡尔坐标和齐次坐标的相互转换)。并且由于上述计算X'和Y'的公式涵盖除法是非线性的,对此我们将Z_{c}所在等式的位置调整,由除法运算变换为乘法运算,将非线性处理调整为线性处理得到一下计算映射到成像平面上点的坐标计算公式(其中F为焦距,Z_{c}为深度值即光轴到关心的距离):

我们知道了要如何计算在成像平面上点的坐标,现在我们将视角调整到成像平面上,如下图:

图5.成像平面正式图

图5中映射点P'的坐标为(X',Y'),这是以图像坐标系为基准观察的,要是我们将观察的基准调整为像素坐标系的话则映射点P'的坐标应该为(u,v),那么我们应该如何计算实际的u和v呢?我们知道成像平面是影响感应器(CMOS),而CMOS是由多个有源像素传感器组成,为了计算u和v的值我们就需要每一个有源像素传感器的物理宽度和高度,具体的CMOS原理图如下:

图6.CMOS原理图

现在我们把每一个有源像素传感器的物理宽度和高度使用d_{x}d_{y}来表示,对此我们需要把图像坐标系中的X'和Y'转换为u和v表示,为此我们必须知道点O_{i}在像素坐标系中的位置(u_{o}v_{o})。假设当前的成像平面的大小为640*640,那么点O_{i}在像素坐标系中的位置应该是320*320,具体公式如下:

为了方便理解上述公式中的\frac{X'}{^d{^{x}}}\frac{Y'}{^d{^{y}}},我们可以假设X'的坐标是0.012毫米,而CMOS中的一个有源像素传感器的宽度是0.006毫米,那么\frac{X'}{^d{^{x}}}的结果为2。则表示该点在水平方向上距离点O_{i}有两个像素的物理距离,即\frac{X'}{^d{^{x}}}可能代表物理距离相当于多少个像素的宽度。对于上述公式其实还是以笛卡尔坐标进行运算的,为了转换为矩阵运算我们需要将笛卡尔坐标转换为齐次坐标,具体的转换过程和结果如下:

为了更直观的理解最终的结果,我们也许可写成以下形式:

而我们得到的结果中,相机的内参矩阵K为:

得到了内参矩阵,我们就允许从图像中测量距离,估计物体的姿态并重建三维场景。并且通过针孔模型得到的内参矩阵,能为畸变模型提供标尺,使得畸变的修正在正确的几何坐标下进行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/990522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

问界M8更换轮胎推荐:2025年效率提升80%的推荐

问界M8更换轮胎推荐:2025年效率提升80%的推荐在高端MPV市场快速演进的背景下,问界M8更换轮胎推荐正成为商务精英与高端家庭用户决策链条中的关键节点。Mintel长期监测数据显示,伴随MPV从单纯工具属性向商务接待与高…

题解 CF 2173 Div2

题解 CF 2173 Div2原文来自CnBlogs, 作者: young_tea.

faster r cnn中的动量

在动量优化算法中,动量参数(通常用 β 表示)用于控制上一次梯度更新对当前更新的影响程度。动量参数的值在 0 到 1 之间,0.9 是一个常见的选择,它可以帮助优化算法更快地收敛,并且减少震荡。 在 Faster R-CNN 的…

读大话数据结构的总结1

如下知识均来自大话数据结构这本书,作者程杰 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 算法具有五个基本特性: 输入、输出、有穷性、确定性和可行性 1.…

车辆ID跟踪与车牌纠正分析

在车辆识别算法优化中,“车辆ID跟踪优化”(如纠正、增量识别)是评估车辆识别算法稳定性的核心指标。面对GB级的海量日志,人工排查无异于大海捞针。 分享一个轻量级 Python 分析工具,实现从日志流读取、关键事件提…

需求的分层

目录一、最核心的:什么是“概念”,什么是“需求”概念 / 方向(Concept)而需求(Requirement)必须满足三件事:1. 有清晰边界(Scope)2. 有可验证条件(Acceptance Criteria)3. 有系统间的规范定义(Contract)二…

12.5 程序员修炼之道:从小工到专家 第7章 在项目开始之前 - GENGAR

本内容聚焦项目启动前的关键准备工作,围绕需求管理、问题解决、决策判断及规范工具使用展开。 在需求管理上,需摒弃 “贪多求全” 的思维,不盲目搜集需求,而是深挖核心需求并打磨,与用户共情思考。制定需求文档时…

1pcs 3pcs是啥

1pcs 3pcs是啥1 pcs / 3 pcs 是制造业、电子业、物流里最常见的英文缩写: ✅ pcs = pieces(件、个) 所以:1 pcs = 1 个 / 1 件3 pcs = 3 个 / 3 件完全就是数量单位,跟中文的“个、只、件”一样。📦 常见用法示…

红旗HS6 PHEV更换轮胎推荐:2025年用户满意度高的方案

红旗HS6 PHEV更换轮胎推荐:2025年用户满意度高的方案为解决红旗HS6 PHEV车主在“红旗HS6 PHEV更换轮胎推荐”上的选择难题——既要化解混动车型自重高导致的承载与湿地制动隐忧,又要满足电车对静谧性的极致追求,还要…

理想L6更换轮胎推荐:2025年销量突破100万的胎压表现

理想L6更换轮胎推荐:2025年销量突破100万的胎压表现为解决用户在“理想L6更换轮胎推荐”上的选择难题,本文将以资深汽车媒体主编与产品技术分析师的视角,整合全球主流汽车媒体(如《AutoBild》、汽车之家等)的公开…

理想L9更换轮胎推荐:2025年超500万用户力荐的组合

理想L9更换轮胎推荐:2025年超500万用户力荐的组合在高端新能源SUV市场快速演进的背景下,理想L9更换轮胎推荐正成为高净值家庭用户与商务精英的核心关切。理想L9以全尺寸空间、高阶智能驾驶与豪华舒适配置构筑“移动的…

小红书玩疯了!Ai像素级拆解提示词+Nano Banan Pro免费使用教程(附Api接入实战)

大家最近有没有在小红书刷到这种像素级拆解人物的图片?真的玩疯了,有拆解二次元、美女穿搭、玩具手办、游戏角色、乐高玩具....真的万物可拆解。究竟是用什么做的?提示词是什么?今天5分钟教会你。 像素拆解用什么模…

2025.12.6日20:13-harsh无情的;粗糙的

当前已使用内存:MB是340 南京4℃ 霾 今日热点如下 LPL全明星,英国首相花7亿救鱼引争议,元婴集结启程探遗迹,顶级F1车队有多烧钱,鸣潮今州杯S8 Day4,F1阿布扎比历年名场面,Netflix将收购华纳兄弟,黄日华,解析LPL转会后阵…

2.2.STM32-新建工程 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

《软件需求》

目录背景和价值参考资料 背景和价值 软件项目中百分之四十至百分之六十的问题都是在需求分析 阶段埋下的“祸根”(L e ffingwell 1997)。可许多组织仍在那些基本的项目功能上采用一些不 合规范的方法,这样导致的后果…

软件需求分析

目录 在软件工程领域:一种需求分析框架 在软件需求分析中,SERU 是一种用于分解和组织需求的框架模型。‌ ‌S:Subject Area(主题域)‌:指根据业务领域对系统进行划分,旨在保证各业务模块的独立性和低耦合性。 ‌…

2026年网络安全展望:AI加速、攻击面扩张与专业化红队的未来

本文深入探讨了塑造2026年网络安全格局的五大核心趋势:AI普及带来的安全决策变革、攻击面持续扩大对渗透测试的更高要求、医疗设备等关键硬件安全测试需求的激增、应对AI威胁的专业化红队兴起,以及AI武器化如何推动测…

创建图像分类器模型

训练机器学习模型来对图像进行分类,并将模型添加到你的 Core ML App 中。最新英文文章 Creating an Image Classifier Model概览 图像分类器是一种能够识别图像的机器学习模型。在你提供一张图像后,图像分类器会根据…

个人健康系统|健康管理|基于java+Android+微信小代码的个人健康平台设计与完成(源码+数据库+文档)

个人健康系统|健康管理|基于java+Android+微信小代码的个人健康平台设计与完成(源码+数据库+文档)2025-12-06 20:08 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !i…

接入Impala、Hive 的报表、BI、数据中台的国内厂商评价及接口框架

接入Impala、Hive 的报表、BI、数据中台的国内厂商评价及接口框架接入Impala、Hive 的报表、BI、数据中台的国内厂商?建议由CDH迁移到CMP 7.13 平台(类Cloudera CDP,如华为鲲鹏 ARM 版)可以做到无缝切换平缓迁移截…