一、课程导论与基础:激光雷达原理、点云数据特点、目标跟踪任务定义与评价指标
1.1 激光雷达是怎么“看”世界的?
大家好,欢迎来到《激光雷达点云目标跟踪精讲》。我是你们这趟旅程的向导。说实话,做了这么多年自动驾驶感知,我越来越觉得,点云跟踪是感知系统里最考验“基本功”的环节之一。
咱们先聊聊激光雷达。这东西,说白了就是个“激光尺子”。它不停地往外发射激光束,打到物体上再反射回来。通过计算发射和接收的时间差,就能知道目标有多远。再配合上激光头旋转的角度,就能知道目标在哪个方向。
我个人习惯把激光雷达分成两类:
- 机械式:像个小风扇一样旋转,视野广(360°),但机械结构容易坏。我在早期项目里用过64线的机械雷达,那家伙,转起来嗡嗡的,但数据是真扎实。
- 固态式:没有旋转部件,靠电子扫描。体积小、寿命长,但视场角通常有限。现在很多量产车都用这个。
嗯,这里要注意:不管哪种雷达,输出的原始数据都是一个个点。每个点包含三维坐标 (x, y, z) 和反射强度 (intensity)。
1.2 点云数据的特点——别拿它当图像看
很多新手上来就把点云当图像处理,这是个坑。我曾经也犯过这个错。
点云有几个非常鲜明的特点:
- 稀疏性:一帧64线雷达的点云,大概也就十几万个点。跟图像动辄几百万像素比,稀疏多了。远处的物体,可能就几个点。
- 无序性:点云里的点没有固定的排列顺序。你把所有点的顺序打乱,它还是同一帧点云。所以处理点云的网络,必须是对排列不敏感的。
- 非均匀分布:近处点密,远处点稀。同一辆车,离你5米时有100个点,离你50米时可能就剩10个点了。
- 噪声:雨、雪、灰尘、甚至是雷达自己的多路径反射,都会产生噪点。我见过最离谱的,是雷达把路边的一个塑料袋当成了障碍物,跟踪器直接跟丢了。
核心要点:点云不是图像。处理它时,一定要考虑它的稀疏性和无序性。这是后续所有算法设计的基础。
1.3 目标跟踪任务——到底在做什么?
目标跟踪,听起来高大上,其实任务定义很简单:
给定连续多帧点云,我们要估计出每个目标的运动状态(位置、速度、朝向、尺寸),并维持每个目标的ID不变。
举个例子:你面前有一辆车,它在第1帧出现在位置A,第2帧到了位置B。跟踪器要能告诉你:
- 这是同一辆车(ID保持不变)
- 它从A到B的速度是多少
- 它未来可能出现在哪里
为什么会这样?因为单帧检测只能告诉你“这里有东西”,但无法告诉你“这东西是谁”。跟踪,就是给每个检测结果“上户口”。
个人经验:我建议你在做跟踪之前,先把检测做好。检测不准,跟踪就是空中楼阁。我曾经在一个项目里,检测器漏检率太高,跟踪器天天“断户口”,最后不得不回头优化检测模型。
1.4 评价指标——怎么才算“跟踪得好”?
做工程的人都知道,没有指标,就没有优化方向。跟踪任务常用的指标,我列个表:
| 指标 | 全称 | 含义 | 我的看法 |
|---|---|---|---|
| MOTA | Multiple Object Tracking Accuracy | 综合衡量漏检、误检、ID切换 | 最常用的指标,但容易被高检测率“刷分” |
| MOTP | Multiple Object Tracking Precision | 衡量位置估计的精度 | 跟检测器的定位精度强相关 |
| IDS | ID Switches | 目标ID发生变化的次数 | 这个指标很关键,ID频繁跳变,下游没法用 |
| Frag | Fragmentation | 轨迹中断的次数 | 遮挡场景下容易出问题 |
避坑指南:我曾经在一个项目中,MOTA刷到了80%以上,但实际路测时跟踪效果一塌糊涂。后来发现,是因为检测器把很多静态物体(如路边的树)也当成了目标,跟踪器“跟踪”了一堆树,MOTA自然高。所以,一定要结合具体场景看指标。
1.5 本章知识体系总览
为了让大家对本章内容有个整体印象,我画了一张图。这张图把激光雷达原理、点云特点、跟踪任务定义和评价指标串在了一起。你想想看,整个跟踪系统,就是从“感知”到“评估”的闭环。
这张图其实就概括了本章的全部内容。从激光雷达怎么“看”,到点云长什么样,再到我们要解决什么问题,最后怎么评价做得好不好。每一步都环环相扣。
一句话总结:本章是后续所有章节的基石。把原理、数据、任务、指标这四个点吃透,后面的卡尔曼滤波、数据关联、轨迹管理才能学得扎实。
好了,第一章的内容就到这里。记住,做跟踪,不要只盯着算法,先理解你的数据和任务。这是我在无数个调参的深夜悟出来的道理。