
1. 一个“简单粗暴”的决策为什么特斯拉的视觉系统会“看扁”所有车最近在跟一个做自动驾驶感知的朋友聊天他提到一个特别有意思的业内“梗”说特斯拉的Autopilot在数据标注和模型训练时有一个非常“接地气”的策略对于马路上绝大多数四轮机动车在初始的视觉识别阶段一律先按照“五菱宏光”这类标准厢式车的简化模型来处理。这个说法乍一听有点离谱甚至带点调侃但细想之下却深刻揭示了特斯拉在纯视觉自动驾驶路线上为了追求极致的可靠性与效率所做出的一种极具工程智慧的妥协与抽象。这绝对不是说特斯拉的摄像头“眼神不好”分不清保时捷和五菱宏光。恰恰相反这正是其系统高度成熟和务实的一种体现。我们可以把这个过程理解为一种“两步走”策略。第一步是快速、稳定、低消耗地完成“目标存在性检测与基础属性归类”。在这一步系统的核心任务不是欣赏汽车美学而是回答几个生死攸关的问题前方是否有物体它是不是车它有多大它离我多远它的速度矢量如何对于这些核心安全问题而言一辆Model S和一辆五菱宏光在物理本质上都是“一个长度约4-6米宽度约1.8-2米高度约1.5米带有四个轮子的刚性金属盒子”。用一个经过海量数据训练的、泛化能力极强的“标准车”模型去套用可以最大程度地保证在各种光照、天气、遮挡情况下系统都不会漏检。它可能暂时不知道那是宝马还是比亚迪但它百分百知道那是一个需要严肃对待的车辆目标并且能立刻估算出它的位置、速度和占据的道路空间。这个“标准车”模型你可以叫它“五菱宏光”也可以叫它“通用机动车模板”其本质是一个高度抽象化的三维几何模型。那么真正的车型识别是轿车、SUV、卡车还是公交车以及更精细的属性如转向灯、刹车灯状态在哪里完成呢这就是第二步在确认目标存在并完成基础跟踪后利用更复杂的神经网络分支或后续处理模块进行“精细化分类与状态识别”。这一步可以更从容因为基础的安全避障决策已经在第一步依托那个“五菱宏光”模型做出了。精细化分类主要用于优化乘坐体验比如更平顺地跟随前车、预测更长期的行为卡车可能起步慢以及满足一些显示需求在UI上渲染出近似车型。所以“一律按五菱宏光处理”这个说法生动地诠释了自动驾驶感知系统设计中的一个核心原则在资源有限、时间紧迫的实时系统中优先保证核心功能的绝对鲁棒性必要时牺牲一些非关键的精度或细节。这是一种典型的工程思维把复杂问题分层处理用最稳定、最省力的方法先解决最主要矛盾别撞上再用富余的算力去打磨次要矛盾是什么车。2. 从像素到决策Autopilot纯视觉栈的抽象化流水线要理解“五菱宏光”策略的落地我们需要拆解特斯拉纯视觉Tesla Vision感知栈的工作流程。这个过程就像一条高度自动化的流水线原始图像数据从一端流入结构化的三维环境模型从另一端产出。2.1 数据输入与特征提取摄像头看到了什么特斯拉目前搭载的8个摄像头不同车型和年代略有差异覆盖360度视野。这些摄像头是标准的RGB摄像头并非激光雷达。它们每秒产生海量的二维像素数据。神经网络的第一项任务就是从这些像素中提取“特征”——即图像中那些有意义的边缘、角落、纹理、颜色区块等。这个过程主要由一个庞大的骨干网络Backbone如RegNet或EfficientNet变体来完成。它就像人的视觉皮层负责初步的“感觉”。关键在于这个阶段网络并不“理解”什么是车、什么是人它只是在学习图像的抽象表示。这些特征图会被送到下游不同的任务头Task Head去处理。2.2 目标检测与初始归类“五菱宏光”模板的登场这里就是“五菱宏光”策略的主舞台。一个专门的目标检测头例如基于Transformer的DETR架构或更早的基于CNN的架构会扫描特征图找出所有可能是“车辆”的区域并给出一个边界框。此时系统内部很可能运行着一个或多个预定义的3D车辆模型。这些模型不是某款车的精确CAD数据而是几类高度简化的参数化模型例如小型车模板尺寸范围长4.2m宽1.8m高1.5m形状近似于一个扁平的立方体。中型车/标准车模板即“五菱宏光”类尺寸范围长4.8m宽1.9m高1.8m形状更接近厢式体。大型车模板尺寸范围长12m宽2.5m高3.5m用于卡车、公交车。当检测头在一个区域置信度很高地认为存在车辆时它不会去匹配成千上万种具体车型而是直接关联一个最接近的通用模板。对于绝大部分轿车、SUV、MPV、小型货车这个“最接近的模板”就是那个“标准车模板”。关联后系统立刻获得了该目标的一个粗略但物理意义明确的三维占据空间。这个做法的优势是巨大的计算效率高匹配一个或几个简单模板远比在数千个精细模型库中搜索要快得多。稳定性强简化模型对视角变化、部分遮挡的鲁棒性更好。一辆被遮挡了车标的奔驰其可见部分轮廓依然符合“标准车”模板。数据需求友好训练网络去识别一个“标准车”类别所需的数据量和标注成本远低于让它精确区分所有车型。特斯拉可以利用海量的、只需标注“这里有辆车”的弱监督或自动标注数据来训练这个检测器。2.3 深度与运动估计给“五菱宏光”注入灵魂仅有三维框还不够我们必须知道这个“五菱宏光”离我们有多远以及它在如何运动。这是纯视觉方案最核心的挑战之一。深度估计特斯拉通过多摄像头立体视觉前视三目摄像头提供了良好的立体基线以及基于单目图像的深度估计网络来解算目标距离。网络通过学习海量数据能够从纹理、透视、遮挡等线索中推断深度。当目标被关联了3D模板后模板的已知尺寸为深度估计提供了一个强有力的尺度约束使得估计结果更加准确。运动估计光流与里程计通过对比连续帧图像中特征点的移动光流并结合车辆自身的速度、转向角信息来自IMU和车轮传感器系统可以计算出其他车辆相对于自身的运动速度。这个“五菱宏光”模板在时间序列上被跟踪其位置和速度的变化被持续估算。至此这个一开始被粗略归类为“五菱宏光”的目标已经具备了完整的状态向量3D位置、3D尺寸、速度、加速度。这些数据足以支撑起自动驾驶的运动规划模块进行安全的避障、跟车、换道决策。决策模块关心的是“有一个以每秒10米速度移动的、占据我前方车道中心2米宽空间的物体”至于这个物体是五菱宏光还是保时捷Taycan对当前的安全决策影响微乎其微。2.4 精细化识别为体验锦上添花在保证了安全这个“温饱问题”后系统才会动用额外的算力进行精细化识别。这可能是一个并行的神经网络分支也可能是一个后处理模块。它会分析车辆的更细粒度特征车型大类轿车、SUV、MPV、皮卡、卡车、公交车等。这有助于行为预测卡车刹车距离长公交车可能靠站。车辆信号状态刹车灯、转向灯的识别。这是至关重要的安全信息需要高精度的实时识别。特斯拉有专门的神经网络来检测这些发光信号。其他属性车辆颜色、是否有行李架等。这些信息主要用于UI显示和更长期的行为建模例如出租车可能随时靠边停车。这些精细化信息会被融合到最终的世界模型中用于优化体验。例如知道前车是卡车跟车距离可以稍微增加识别到前车的刹车灯亮起可以提前进行更柔和的减速。3. 工程权衡的艺术为什么是“五菱宏光”而不是别的选择这样一种高度抽象化的策略背后是一系列深刻的工程、成本和效率权衡。3.1 对抗“长尾问题”的利器现实世界中的车辆类型是一个“长尾分布”。头部的常见车型如各品牌畅销家用车占据了道路上车辆的绝大多数而尾部则有无数罕见的老爷车、改装车、特种工程车等。如果要求感知系统必须精确识别每一款车那么系统将永远无法应对那些它从未在训练数据中见过的“长尾”车型从而导致漏检或误判这是安全系统无法接受的。而“五菱宏光”策略实际上是将所有车辆映射到一个或几个“典型代表”的流形上。只要这个“典型代表”标准车模板的选取足够有代表性能够覆盖绝大多数车辆的核心几何特征那么系统就能以极高的召回率检测到几乎所有车辆。它用“可能认不准具体型号”的代价换来了“几乎绝对不会漏掉一辆车”的极高安全性。在自动驾驶领域漏检False Negative的成本远高于误分类False Positive。3.2 数据标注与模型训练的“经济账”标注数据是机器学习尤其是监督学习的生命线。对一张图片中的车辆进行标注有不同的粒度Level 1边界框画个框标出“这里有一辆车”。成本最低。Level 23D框与属性画出3D边界框并标注车型大类轿车/SUV等。成本中等。Level 3精细模型拟合标注具体品牌型号甚至拟合精确的3D模型。成本极高。特斯拉拥有数百万辆行驶在全球各地的车队每天产生海量的视频数据。如果采用Level 3的标注策略其成本和时间将是天文数字且难以规模化。而采用“五菱宏光”策略其训练数据可以大量依赖Level 1和Level 2的标注。系统只需要学会将图像特征映射到那几个简单的3D模板上即可极大地降低了数据标注的难度和成本使得利用海量车队数据进行快速模型迭代成为可能。3.3 车载计算平台的算力约束FSD全自动驾驶计算机的算力虽然强大HW3.0约为144 TOPSHW4.0更高但它同时要处理8个摄像头的实时视频流运行包括目标检测、深度估计、道路结构识别、交通灯识别、路径规划等在内的数十个神经网络模型。算力是宝贵的资源。一个能识别上万种车型的精细分类网络其参数量和计算量必然远大于一个只区分几类通用模板的网络。将节省下来的算力分配给更关键的任务如更准确的深度估计、更快的规划决策周期从系统整体效能上看是更优的选择。在有限的算力下好钢必须用在刀刃上。3.4 “五菱宏光”的现实隐喻中庸之道的胜利“五菱宏光”在中国市场是一个极具象征意义的车型。它价格低廉、皮实耐用、空间实用、随处可见。在工程上选择它作为“标准车”的隐喻也反映了一种追求最大公约数和普适性的思想。它的尺寸和造型介于轿车和MPV之间不高不矮不长不短不过于流线也不过于方正。用一个这样“中庸”的模型作为基准去拟合大多数车辆产生的尺度误差和形状误差往往是最小的、最可接受的。如果用超跑的低矮模型去拟合SUV或者用卡车的巨大模型去拟合轿车都会引入更大的系统误差。4. 策略的边界与挑战当“五菱宏光”不够用时任何工程策略都有其适用范围。“一律按五菱宏光处理”在大多数情况下工作良好但在一些极端或特殊场景下会面临挑战这也是特斯拉系统需要不断进化的地方。4.1 极端尺寸车辆的误判这是最直接的挑战。对于超长车辆如铰接公交车、加长卡车系统可能将其识别为两个或多个独立的“标准车”目标。虽然这依然能避免碰撞因为检测到了多个障碍物但规划模块可能会做出不最优的决策比如在两个“车”的中间尝试穿过。解决方案是引入更专门的大型车辆检测模型或者通过时序信息将多个检测框关联成一个整体。对于超宽车辆如道路清扫车、带吊臂的工程车其宽度可能远超标准模板。如果系统仍用标准车的宽度去估算其占据空间可能导致规划路径过于靠近引发危险。这需要系统能识别出“宽度异常”这一特征并动态调整占据栅格Occupancy Grid。对于超低矮的跑车情况则相反。系统可能高估其高度但这通常对安全决策影响较小因为低估高度才是危险的比如没注意到车顶的货物。4.2 非标准形态与严重遮挡特种车辆如吊车、水泥泵车、集装箱卡车形态怪异与“标准车”模板差异极大。早期系统可能识别困难甚至误判为其他物体。特斯拉需要通过收集更多此类“长尾数据”来增强模型的泛化能力或者引入更灵活的通用物体检测机制。严重遮挡是视觉感知的永恒难题。一辆只露出车头一角的车或者被绿化带遮挡下半部分的车其可见部分可能不足以让系统 confidently 地关联到任何一个车辆模板。这时系统会依赖其他线索如运动连续性、上下文信息停在车流中并可能将其标记为“不确定障碍物”采取保守策略如减速或绕行。4.3 静态环境中的“鬼影”与误检纯视觉系统另一个著名挑战是对静态物体的误检尤其是那些在视觉上类似车辆但又不是车辆的东西比如路边特殊的广告牌、雕塑、甚至窗户反射的影像。系统可能将其初始化为一个“五菱宏光”但随后通过多帧一致性校验、深度信息矛盾、以及缺乏合理运动轨迹等逻辑将其过滤掉。这个过程需要时间可能导致车辆产生不必要的“幽灵刹车”。特斯拉通过引入Occupancy Network占据网络来应对这一问题。占据网络不关心物体是什么只预测每个3D空间体素voxel是否被占据。这能更直接地建模任意形状的障碍物是对基于“物体”的检测范式的重要补充。4.4 对安全信号的依赖不能抽象无论车辆被抽象成什么模型有一些关键信号是绝对不能模糊处理的必须进行高精度、低延迟的专门识别。最典型的就是刹车灯和转向灯。系统必须有专门的、性能极强的网络来实时检测这些动态信号。因为一个刹车灯的点亮意味着前车动力学状态的即刻改变决策系统需要毫秒级的响应。在这里“五菱宏光”策略让位于专用的、高保真的信号识别通道。5. 从“五菱宏光”到Occupancy Network特斯拉感知的演进“一律按五菱宏光处理”可以看作是特斯拉感知系统1.0时代的核心哲学以物体为中心Object-Centric将世界理解为一个个带有类别和属性的盒子Bounding Box。这个范式简单、高效在结构化道路环境中取得了巨大成功。然而随着特斯拉向更复杂的城市街道自动驾驶FSD迈进这种范式的局限性日益凸显。城市环境充满了不规则、未知、动态变化的物体施工路锥、掉落的树枝、横穿马路的动物、形状怪异的垃圾箱……这些东西无法被简单地塞进“车”、“人”、“锥桶”这几个有限的盒子里。于是特斯拉近年来大力研发并部署了Occupancy Network占据网络。这是一种“以占据为中心Occupancy-Centric”的范式。它不再问“这是什么物体”而是问“这个3D空间点是否被占据”。网络直接输出一个3D的体素网格每个体素有一个“被占据的概率”。这个转变是革命性的摆脱了对预定义类别的依赖无论是五菱宏光还是未知障碍物只要占据空间就会被标记出来。能处理任意形状不再受限于长方体盒子可以精确表征树枝、雕塑、残缺的墙体等不规则物体。更好地处理部分遮挡和动态物体通过时序融合可以预测被遮挡区域是否可能被占据以及占据区域的运动。那么这是否意味着“五菱宏光”策略过时了并非如此。在实际系统中两种范式是互补和共存的。Occupancy Network提供了底层、通用的障碍物感知保证了安全性尤其是应对未知物体。而基于“五菱宏光”策略的物体检测网络则提供了高层、语义化的理解这是车那是人这对于行为预测至关重要。规划模块需要知道前方的占据物是一个“车辆”才能预测它可能沿着车道线行驶、在路口转弯需要知道那是一个“行人”才能预测他可能走上人行横道。可以这样理解Occupancy Network是系统的“本能反应”确保不撞上任何东西而物体检测网络是系统的“认知理解”用于做出更智能、更拟人的驾驶决策。“五菱宏光”从过去的“唯一主角”演变成了现在“感知交响乐”中的一个重要声部与占据网络协同工作共同构建更完整、更强大的环境模型。6. 给从业者与爱好者的启示从梗中学到的工程思维“特斯拉把马路上所有车都按五菱宏光处理”这个梗之所以能流传开来是因为它用一个极其生动的比喻戳中了复杂系统设计的精髓。对于我们从事或关注自动驾驶、机器人、AI产品开发的人来说可以从中提炼出几点宝贵的工程思维第一分层处理与关注点分离。不要试图用一个模型、一个步骤解决所有问题。将“检测存在”与“识别细节”分离将“保证安全”与“优化体验”分离。为不同重要性的任务分配不同的资源和精度要求。这是构建健壮实时系统的基石。第二在不确定性中寻找确定性。视觉世界充满噪声和歧义。与其追求在极端情况下也100%精确识别这几乎不可能不如追求在100%的情况下都能做出安全的决策。用一个可能“不太准”但“极稳定”的抽象模型去覆盖大多数情况远胜于用一个“很准”但“偶尔失效”的精细模型。第三数据与算力的经济学。永远要考虑规模化。一个在实验室里用精心标注的小数据训练出来的完美模型如果不能适应真实世界海量、嘈杂、低成本标注的数据流就没有商业化的价值。特斯拉的策略是让算法去适应大规模数据生产的现实而不是反过来。第四用户价值导向。最终用户驾驶员关心的是系统是否安全、平顺而不是它能不能认出每一款车。将有限的研发资源投入到用户感知价值最高的地方如减少幽灵刹车、优化拥堵跟车而不是炫技式的功能上。最后这个梗也提醒我们最优雅的工程解决方案往往是简单、甚至有点“笨”的。它不是穷举所有可能性而是找到一个足够好的“近似解”这个近似解在99.9%的场景下都有效并且为处理那0.1%的特殊情况留出了降级处理的通道。这种基于概率和权衡的务实主义正是将前沿AI技术转化为可靠产品的关键。下次当你坐在特斯拉里看着中控屏上那些移动的车辆图标时或许可以会心一笑知道它们背后可能都藏着一个“五菱宏光”的灵魂正在默默地、可靠地守护着你的行程安全。