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测频率差。各有优劣,看项目需求选型。
- 摄像头:针孔模型是基础,畸变模型是修正。标定畸变时多拍几张照片,别偷懒。
下一章咱们会讲联合标定的核心——外参标定。到时候会用到今天讲的这些知识,特别是相机内参和畸变参数。嗯,先把基础打牢,后面才能飞起来。
有什么问题,欢迎在课程群里讨论。咱们下节课见。