双目视觉实战--相机几何

目录

一、针孔摄像机和透镜

[1. 针孔摄像机的原理](#1. 针孔摄像机的原理)

[2. 近轴折射模型](#2. 近轴折射模型)

[3. 镜头畸变问题](#3. 镜头畸变问题)

二、摄像机几何

[1. 数学基础](#1. 数学基础)

[2. 相机坐标系(空间点)→像素坐标系的映射关系:](#2. 相机坐标系(空间点)→像素坐标系的映射关系:)

[3. 规范化投影变换](#3. 规范化投影变换)

[4. 投影变换的性质](#4. 投影变换的性质)

三、其他摄像机模型

[1. 弱透视投影摄像机](#1. 弱透视投影摄像机)

[2. 正交投影摄像机](#2. 正交投影摄像机)

[3. 透视投影摄像机和正交投影摄像机的比较](#3. 透视投影摄像机和正交投影摄像机的比较)

[4. 各种摄像机模型的应用场合](#4. 各种摄像机模型的应用场合)


一、针孔摄像机和透镜

1. 针孔摄像机的原理

如果将胶片直接放置在物体前方,物体的每一个点都会发散出很多束光线,胶片上的每一个点都会叠加物体不同位置发出的光线,这样没有办法在胶片上清晰地成像。

如果在物体和胶片中间加一块隔板,隔板中间有一个小针孔,这样隔板会滤除大部分对成像产生干扰的光束,最后在胶片上呈现出一个倒立的像。这就是"小孔成像"原理的直观解释。

针孔摄像机就利用了"小孔成像"原理,示意图如下:

其中,f=焦距,o=光圈=针孔=摄像机中心。虚拟相平面与真实像平面对称,内容一样,x, y方向与真实相平面相反。实际处理中默认分析的是虚拟像平面。

随着光圈减小,成像效果越来越清晰,但是图像越来越暗。为了解决这一问题,可以增加透镜,将多条光线聚焦到胶片上,增加照片的亮度。

2. 近轴折射模型

在凸透镜成像中,我们只关心透镜和胶片之间的距离,其中。

由上图可以看出,凸透镜成像与小孔成像满足同样的相似关系。因此,凸透镜成像满足以下关系:

3. 镜头畸变问题

由于镜头制造工艺不完美,镜头形状存在缺陷,因此相机成像会发生畸变。畸变主要分为径向畸变和切向畸变,这里主要考虑径向畸变。

径向畸变可以分为枕形畸变和桶形畸变。通常情况下,广角镜头容易产生桶形畸变,而长焦镜头则更容易出现枕形畸变。

二、摄像机几何

1. 数学基础

图像点(欧式坐标→齐次坐标):

空间点(欧式坐标→齐次坐标):

图像点(齐次坐标→欧式坐标):

空间点(齐次坐标→欧式坐标):

注意:如果两个齐次坐标成比例,如,则和对应的欧式坐标是相等的。

2. 相机坐标系(空间点)→像素坐标系的映射关系:

其中,和单位:像素/米。通常令,单位:像素。

注意:

实际标定中,相机坐系,轴的方向是与像素坐标系,轴的方向(注意:此处成像平面为虚拟像平面)相同的,而像素坐标系,轴的方向是人为规定的,一般是左上角第一个像素为坐标原点,向右为轴正方向,向下为轴正方向。

实际处理时都是使用虚拟像平面。虚拟像平面与像平面坐标系相比,, 轴反向。

在上图中,假设相机与物体之间存在一个虚拟像平面,则像素坐标原点一般为从左向右观察到的虚拟相平面的左上角。

设为像素点的齐次坐标,为像素点的欧式坐标,为空间点相对于相机坐标系的齐次坐标,可以写出:

当摄像机不存在偏斜时,摄像机的投影矩阵如上。但是实际中摄像机可能偏斜,如下图所示:

3. 规范化投影变换

规范化投影变换(Normalization Projection Transform)是一种图像处理技术,用于将图像从原始的任意尺寸和形状变换为标准化的尺寸和形状。

规范化投影变换通常包括以下步骤:

  1. 提取关键点:根据特定任务需求,在原始图像中选择一些关键点,例如人脸识别中的眼睛、嘴巴等特征点。

  2. 计算变换矩阵:根据选定的关键点,利用几何变换方法(如仿射变换或透视变换),计算出一个变换矩阵。这个矩阵描述了如何将原始图像中的关键点映射到目标标准化尺寸和形状的位置。

  3. 应用变换:使用计算得到的变换矩阵,对原始图像进行变换。通过应用变换,原始图像中的关键点将被重新定位到标准化图像中的相应位置,从而实现图像的规范化。

4. 投影变换的性质

  1. 点投影为点
  2. 线投影为线
  3. 近大远小
  4. 角度不再保持
  5. 平行线相交(3D世界中的平行线在图像中相交于"影消点")

三、其他摄像机模型

1. 弱透视投影摄像机

注意:

弱透视投影摄像机的透视投影矩阵的最后一行一定是0 0 0 1。

2. 正交投影摄像机

当摄像机中心到像平面的距离无限远时,空间点和像平面点的坐标呈1:1的比例关系。

3. 透视投影摄像机和正交投影摄像机的比较

4. 各种摄像机模型的应用场合

  • **正交投影:**更多应用在建筑设计(AutoCAD)或者工业设计行业。
  • **弱透视投影:**在数学方面更简单。当物体较小且较远时准确,常用于图像识别任务。
  • **透视投影:**对于3D到2D映射的建模更为准确。用于运动恢复结构或SLAM。
相关推荐
名明鸣冥14 小时前
k8s-agent架构思考(一)
python
DoLovya15 小时前
从零实现 ESP8266 + MQTT 智能门禁:公网一键开门、舵机控制、在线监控完整方案
python·物联网·mqtt·嵌入式·esp8266·门禁系统
AI情绪识别开源15 小时前
检信ALLEMOTION VibrationAI 2.4.0 12维度情绪识别开源源代码
开发语言·python
极创信息15 小时前
国产化信创适配认证高频术语:信创适配、软件自主可控、国产化率、代码溯源率、代码自主率、代码开源率是什么?
java·python·struts·eclipse·开源·php·hibernate
Golden小狗种自己的花[哇]15 小时前
书接上回(二)
计算机视觉
AC赳赳老秦16 小时前
语义采集进阶实战:利用 OpenClaw AI 语义识别自动提取网页核心信息,无需手动编写选择器
java·运维·服务器·python·信息可视化·deepseek·openclaw
Logintern0916 小时前
什么时候应该用多进程什么时候用多线程呢?
开发语言·python
西柚研究生12345616 小时前
论文分析16:多尺度特征增强与动态采样的轻量化目标检测
人工智能·计算机视觉·目标跟踪
无凭16 小时前
字节跳动 DeerFlow:Agent Harness 怎么让大模型主动向用户提问?
人工智能·python
蜀道山老天师16 小时前
Python + Playwright 实现问卷星自动化填写
python