针孔相机内参完整核心原理(通俗闭环版)
一、针孔相机整体成像链路(核心闭环)
针孔相机成像分为 3步坐标变换,也是自动驾驶/BEV视觉几何的全部基础,NuScenes数据集完全遵循该模型:
3D空间点(相机坐标系)→ 归一化虚拟平面投影 → 像素平面成像
1. 针孔相机模型图示(核心成像结构)
为直观理解投影逻辑,下方为正向对称针孔成像示意图(工程通用简化模型,已去除倒立成像干扰,和NuScenes、OpenCV模型完全对齐):
3D空间点 P(X,Y,Z) `` \ `` \ 入射光线(投影射线) `` \ `` ● 光心 O(0,0,0) 【相机原点】 `` / ╲ `` / ╲ `` / θ ╲ `` /───────● (xn, yn, 1) 【z=1 归一化虚拟平面交点】 `` / | `` / | `` Z轴(光轴向前) r=√(xn²+yn²)=tanθ ``
图示核心释义:
-
坐标系规范:相机标准坐标系,Z轴向前(深度方向)、X轴向右、Y轴向下,适配所有自动驾驶数据集;
-
θ:入射光线与光轴(Z轴)的夹角,是区分针孔/鱼眼模型的核心变量;
-
r:归一化平面径向距离,针孔模型严格满足 r=\\tan\\theta;
-
成像逻辑:3D空间点通过光心投影,先映射到z=1虚拟归一化平面,再通过内参K矩阵缩放平移,得到最终2D像素坐标。
2. 基础投影公式(理想无畸变)
设相机坐标系3D点:(X,Y,Z)(Z为深度,沿光轴向前)
透视除法(投影到 z=1 归一化虚拟平面):
x_n=\\frac{X}{Z},\\quad y_n=\\frac{Y}{Z}
通过内参矩阵 K 映射为最终像素坐标:
\\begin{bmatrix}u\\\\v\\\\1\\end{bmatrix}= \\begin{bmatrix}f_x\&0\&c_x\\\\0\&f_y\&c_y\\\\0\&0\&1\\end{bmatrix} \\begin{bmatrix}x_n\\\\y_n\\\\1\\end{bmatrix}
2. 核心几何约束(针孔独有)
定义:归一化平面径向距离 r=\\sqrt{x_n\^2+y_n\^2},光线入射角 \\theta(光线与Z光轴夹角)
针孔模型核心公式:r = \\tan\\theta
特性:入射角\\theta 越大(画面边缘),\\tan\\theta 爆炸式增长,因此针孔相机天然不适合超大广角。
👉 关键区分:英伟达鱼眼多项式模型 无该约束,也是两类相机无法直接兼容的根源。
二、内参参数物理意义(fx/fy/cx/cy)
1. 四大核心内参(标定直接输出)
-
f_x,f_y:像素焦距(单位:像素),控制图像缩放、物体成像大小
-
c_x,c_y:主点坐标(单位:像素),光轴与成像平面的交点,近似图像中心
NuScenes数据集仅提供这4个参数(K矩阵)+ 外参,无任何畸变、硬件原生参数。
2. 像素焦距的物理拆解(fx=α·f)
像素焦距是硬件耦合结果,由两个物理参数乘积得到:
f_x = \\alpha \\cdot f,\\quad f_y = \\beta \\cdot f
-
f:镜头物理焦距(单位:米),光心到感光芯片的距离
-
\\alpha、\\beta:像素密度(单位:像素/米),感光芯片每米物理长度对应的像素数量
-
dx、dy$$:单个像素物理尺寸(单位:米/像素),与α/β互为倒数:$$\\alpha=1/dx,\\ \\beta=1/dy
3. 关键结论(工程最重要)
-
普通棋盘格标定、OpenCV、NuScenes 都无法单独标定出 α、β、物理焦距 f
-
标定只能解出耦合乘积 f_x、f_y,数学上α与f存在无穷组组合,投影结果完全一致
-
α、β、dx、dy、物理f 仅能通过传感器硬件手册查询,不属于标定内参
-
现代车载相机像素近似方形,α≈β、fx≈fy,仅有微小工艺误差
三、三层成像平面区分(彻底杜绝混淆)
针孔模型存在三层完全不同的平面,是视觉几何易错点:
1. 相机3D空间平面
原始空间点 (X,Y,Z),Z为真实深度,所有投影的源头。
2. 物理感光成像平面(真实硬件)
基于镜头焦距f的真实成像面,坐标单位为米:
X_i = f\\cdot \\frac{X}{Z},\\quad Y_i = f\\cdot \\frac{Y}{Z}
3. z=1 归一化虚拟平面(纯数学)
无物理实体,仅用于简化计算,无量纲:
x_n=\\frac{X}{Z},\\ y_n=\\frac{Y}{Z}
直接通过fx/fy缩放得到像素,是BEV模型 K\^{-1} 反投影的核心依据。
四、FOV、焦距、成像清晰度的关系
1. 核心约束(芯片尺寸固定)
FOV越大 → 物理焦距f越小 → fx越小 → 物体成像像素越少
远处物体不是"看不见",而是像素被压缩、细节丢失,看不清。
2. 物体像素尺寸公式(直观理解远近效果)
h_{px} = f_x \\cdot \\frac{H}{Z}
-
H:物体真实高度
-
Z:物体深度距离
-
同等距离物体,fx越大(长焦、小FOV),成像像素越多、越清晰
3. 远距离成像的核心误区
只增大焦距无法实现几公里远距离清晰成像,还受三大物理限制:
-
衍射极限:取决于镜头口径D,而非焦距,小口径长焦只会放大模糊光斑
-
FOV坍缩:长焦视场极小,载体轻微抖动就丢失目标
-
大气衰减:远距离空气散射、雾霾直接降低画面对比度