1、课程导论:为什么自动驾驶需要Transformer?从CNN到Transformer的范式转移,课程目标与前置知识
1.1 一个老问题:CNN到底哪里不够用?
做自动驾驶感知的工程师,应该都跟CNN打过不少交道。我个人最早入行时,用的就是ResNet-50加FPN做目标检测。那时候觉得,嗯,CNN挺香的,结构简单,部署方便。
但跑着跑着,问题就来了。
你想想看,自动驾驶场景里,一辆车被遮挡了70%,只露出一个车尾灯。CNN看到这个局部特征,它只能猜——「这大概是个车吧?」。但Transformer不一样,它能通过自注意力机制,把远处那个模糊的轮廓和当前这个车尾灯关联起来。说白了,CNN是「看局部猜全局」,Transformer是「看全局理解局部」。
我在项目中遇到过一件事:一个雨夜场景,摄像头被雨滴遮挡了大半,CNN直接漏检了前方静止的工程车。换成Transformer后,虽然也有抖动,但至少能持续跟踪住。这就是注意力机制带来的鲁棒性。
核心差异一句话总结:
- CNN:局部感受野,靠堆叠层数扩大视野
- Transformer:全局感受野,一步到位看全图
1.2 范式转移:从「特征工程」到「关系建模」
其实这个转移不是突然发生的。我2019年第一次看到DETR论文时,第一反应是——「这玩意儿能收敛?」。结果人家真收敛了,而且效果还不错。
为什么会这样?
因为自动驾驶的本质问题,不是「识别出图像里有什么」,而是「理解场景中各个物体之间的关系」。比如:
- 前车刹车灯亮了,我该保持安全距离
- 行人站在斑马线边缘,他会不会突然冲出来?
- 旁边车道的大货车在往我这边靠,我得让一让
这些决策,靠CNN提取的局部特征很难做。但Transformer天然适合做这种「关系推理」。它把每个物体、每个像素都当成一个token,然后让它们互相做注意力计算。说白了,就是让所有元素互相「聊一聊」,看看谁跟谁有关系。
嗯,这里要注意:不是所有场景都需要Transformer。比如车道线检测这种强结构化的任务,CNN依然能打。但涉及到多模态融合、时序建模、端到端规划,Transformer的优势就出来了。
1.3 课程目标:你能学到什么?
这门课不是讲Transformer原理的——那些网上资料多的是。我们要讲的是:Transformer在自动驾驶里到底怎么落地?
具体来说,你会学到:
- BEV感知的完整实现——从图像到鸟瞰图的视角转换,Transformer怎么做的?
- 时序融合的实战技巧——单帧检测不够稳,怎么用Transformer做时序建模?
- 端到端规划的代码实现——从感知到决策,一条Transformer链路跑通
- 部署优化的坑与解法——Transformer推理慢?我踩过的坑你就不用再踩了
我的建议:学这门课前,最好先跑通一个基础的Transformer分类模型(比如ViT)。不用太深,理解QKV是怎么算的就行。这样我们讲BEVFormer、UniAD这些模型时,你才能跟上节奏。
1.4 前置知识:你需要准备什么?
说实话,这门课有一定门槛。我不希望你学到一半发现跟不上,那太打击人了。所以提前说清楚:
| 知识领域 | 要求 | 说明 |
|---|---|---|
| Python编程 | 熟练 | 能写类、装饰器、数据加载流程 |
| PyTorch基础 | 熟练 | 能自定义Dataset、Model、Trainer |
| CNN基础 | 掌握 | 理解卷积、池化、残差连接 |
| Transformer基础 | 了解 | 知道Self-Attention、Multi-Head、Positional Encoding |
| 自动驾驶基础 | 了解 | 知道感知、预测、规划的基本流程 |
如果你Transformer基础比较薄弱,我建议先花一周时间看看《Attention Is All You Need》原文,再跑一下HuggingFace上的ViT demo。不用全懂,有个感性认识就行。
避坑指南:我曾经带过一个学员,上来就啃BEVFormer源码,结果卡在「可变形注意力」那一周没动。后来我让他先理解标准Multi-Head Attention,再去看Deformable Attention,两天就通了。所以,基础一定要打牢。
1.5 课程结构概览
这门课一共10章,我按「从易到难、从理论到实战」的顺序排的:
- 第1章:课程导论(就是你现在看的)
- 第2章:Transformer核心原理回顾与代码实现
- 第3章:视觉Transformer在2D感知中的应用
- 第4章:BEV感知——从图像到鸟瞰图的Transformer方案
- 第5章:时序融合——让Transformer理解运动
- 第6章:多模态融合——相机+激光雷达的Transformer方案
- 第7章:端到端规划——UniAD实战
- 第8章:模型部署——TensorRT加速Transformer
- 第9章:前沿进展——Occupancy Network、World Model
- 第10章:项目实战——搭建一个完整的自动驾驶感知系统
每章我都会给完整的代码示例和数据集链接。你跟着敲一遍,基本就能上手了。
1.6 写在开始之前
做自动驾驶这几年,我最大的感受是:技术迭代太快了。三年前还在用CNN做检测,现在Transformer已经成了标配。但万变不离其宗,核心思想就那几个——注意力机制、位置编码、端到端训练。
这门课的目标,就是帮你把这些「宗」吃透。以后不管模型怎么变,你都能快速上手。
好了,废话不多说。下一章我们直接干Transformer的核心原理,我会带着你手写一个Mini版本的Transformer。准备好了吗?
公众号:蓝海资料掘金营,微信deep3321