2、传感器基础:激光雷达工作原理(TOF、FMCW)、摄像头成像模型(针孔模型、畸变模型)

各位同学好,我是你们的老朋友。今天咱们来聊聊传感器的基础知识。说实话,这部分内容虽然基础,但却是整个联合标定的地基。地基不牢,后面全白干。我在项目里见过太多因为对传感器原理理解不透彻,导致标定结果一塌糊涂的案例了。

2.1 激光雷达工作原理

激光雷达,说白了就是通过发射激光束来感知周围环境的传感器。它主要分两种:TOF和FMCW。嗯,咱们一个一个来看。

2.1.1 TOF(飞行时间法)

TOF的原理非常简单:发射一束激光,打到物体上反射回来,测量这个往返时间。光速是已知的,距离 = 光速 × 时间 / 2。就这么简单。

我个人习惯把TOF激光雷达比作「声呐的激光版」。你对着山谷喊一声,听到回声的时间越长,山谷就越远。激光雷达也是这个道理,只不过它用的是光,速度是3×10⁸ m/s。

核心公式:

d = c × Δt / 2

其中:d为距离,c为光速,Δt为发射到接收的时间差。

我在项目中遇到过一个问题:TOF激光雷达在强光环境下,接收器容易饱和。特别是正午太阳直射的时候,测量精度会明显下降。这个坑我踩过,后来加了滤光片才解决。

TOF的优缺点:

  • 优点:技术成熟、成本相对低、测距范围大
  • 缺点:容易受环境光干扰、多路径效应影响精度、对时间测量精度要求极高

避坑指南:我曾经在标定项目中,因为没注意TOF激光雷达的「盲区」问题,导致近处物体的点云数据全是噪声。后来才意识到,TOF雷达在近距离(通常<0.5m)时,发射和接收的时间差太小,测量误差会急剧增大。标定时一定要避开这个区域。

2.1.2 FMCW(调频连续波)

FMCW是另一种思路。它不直接测时间,而是通过发射频率连续变化的激光,然后比较发射信号和反射信号的频率差来算距离。你想想看,这有点像警察测速的雷达枪。

FMCW的核心原理:发射的激光频率随时间线性变化(比如从f₀扫到f₁),反射回来的信号会有个时间延迟,导致频率不同。这个频率差Δf与距离成正比。

核心公式:

d = c × Δf / (2 × S)

其中:S为调频斜率(Hz/s),Δf为发射与接收信号的频率差。

我记得第一次接触FMCW激光雷达时,觉得它比TOF复杂多了。但用下来发现,FMCW有个巨大的优势——它天然抗干扰。因为它是通过频率差来测距的,其他光源很难干扰到它。而且FMCW还能直接测速度(多普勒效应),这一点TOF做不到。

FMCW的优缺点:

  • 优点:抗干扰能力强、可同时测距测速、精度高、无盲区问题
  • 缺点:成本高、技术尚未完全成熟、系统复杂度高

个人经验:如果你做的是L4级自动驾驶,预算充足,我建议优先考虑FMCW。虽然贵,但稳定性和精度确实好。如果是L2/L3级别的项目,TOF完全够用,性价比更高。

2.2 摄像头成像模型

摄像头这部分,咱们重点讲两个模型:针孔模型和畸变模型。这两个模型是联合标定的数学基础,必须吃透。

2.2.1 针孔模型

针孔模型是最简单的成像模型。它假设光线通过一个小孔(光心)投影到成像平面上。说白了,就是小孔成像原理。

数学上,针孔模型描述的是三维世界点P(X, Y, Z)到二维图像点p(u, v)的映射关系:

u = f_x × X / Z + c_x
v = f_y × Y / Z + c_y

其中f_x、f_y是焦距(像素单位),c_x、c_y是主点坐标(图像中心)。

写成矩阵形式就是大家熟悉的相机内参矩阵K:

K = [f_x  0   c_x]
    [0   f_y  c_y]
    [0    0    1 ]

注意:这里的Z是深度值,不是图像坐标。很多初学者会搞混,把图像坐标当成深度。我在带项目时,有个实习生就因为这个错误,标定结果差了十万八千里。

针孔模型虽然简单,但它有个假设:光线是直线传播的。现实中,镜头会有畸变,所以我们需要畸变模型来修正。

2.2.2 畸变模型

畸变,说白了就是镜头把直线拍弯了。主要分两种:径向畸变和切向畸变。

径向畸变:光线通过镜头边缘时,折射角度与中心不同,导致图像边缘变形。常见的有桶形畸变(图像向外凸)和枕形畸变(图像向内凹)。

数学上,径向畸变用多项式来建模:

x_corrected = x × (1 + k₁×r² + k₂×r⁴ + k₃×r⁶)
y_corrected = y × (1 + k₁×r² + k₂×r⁴ + k₃×r⁶)

其中r是像素到图像中心的距离,k₁、k₂、k₃是径向畸变系数。

切向畸变:镜头与成像平面不平行导致的变形。比如镜头装歪了,或者CMOS贴片时没对齐。

x_corrected = x + [2×p₁×x×y + p₂×(r² + 2×x²)]
y_corrected = y + [p₁×(r² + 2×y²) + 2×p₂×x×y]

其中p₁、p₂是切向畸变系数。

避坑指南:我曾经在一个项目中,发现标定出来的畸变系数特别大,检查了半天才发现是镜头没拧紧。嗯,这种低级错误其实很常见。标定前一定要检查硬件安装是否牢固。

畸变参数总结:

参数 含义 典型值范围
k₁, k₂, k₃ 径向畸变系数 -0.5 ~ 0.5
p₁, p₂ 切向畸变系数 -0.1 ~ 0.1

个人建议:标定畸变时,尽量用棋盘格标定板,拍20-30张不同角度的照片。太少的话,畸变参数容易过拟合。我一般会拍30张以上,确保覆盖整个视场。

2.3 小结

好了,这一章的内容就这些。总结一下:

  • 激光雷达:TOF测时间,FMCW测频率差。各有优劣,看项目需求选型。
  • 摄像头:针孔模型是基础,畸变模型是修正。标定畸变时多拍几张照片,别偷懒。

下一章咱们会讲联合标定的核心——外参标定。到时候会用到今天讲的这些知识,特别是相机内参和畸变参数。嗯,先把基础打牢,后面才能飞起来。

有什么问题,欢迎在课程群里讨论。咱们下节课见。