2024年,某头部自动驾驶公司遇到了一个诡异的问题:他们的端到端模型在测试中表现优异,几乎零接管完成城市环路测试,但在一次雨天早高峰的路测中,模型突然在路口停滞不前——前方绿灯,无行人,无障碍物。
排查后发现,训练数据中"雨天+路口+早高峰"这一组合的场景标签缺失。模型学会了晴天路口通行、雨天直行路段通行,但从未见过雨天复杂路口的决策场景。这不是算法的问题,是数据标签体系的盲区。
这正是端到端自动驾驶最核心却最被低估的瓶颈:场景标签。
从"看见"到"理解":标签体系的代际跃迁
传统模块化架构的训练数据,标签体系以"几何感知"为核心。2D/3D检测框告诉模型"物体在哪里",语义分割掩码标记"物体是什么"。这套体系支撑了感知模块近十年的发展。
但端到端模型是另一回事。
当一个统一的神经网络要直接从传感器数据输出方向盘转角和油门开度时,"前方有一辆车"这个标签已经不够用了。模型需要知道:这辆车是在减速避让行人,还是准备变道?路口的红绿灯是在当前通行方向,还是对面车道?无保护左转时,对向直行车的速度是否需要等待?
场景标签正在从几何标注向语义化、思维链(Chain-of-Thought)标注转型。 这种转型的本质,是从告诉模型"看见了什么",到教会模型"应该怎么想"。
以Waymo公开的场景标签体系为例,一个典型的路口场景会包含三层标注:底层是交通参与者的轨迹和道路拓扑;中层是交互行为标签,如"礼让行人"、"汇入主路";顶层是决策逻辑标签,描述自车的意图和执行依据。三层层层递进,形成一个完整的决策链条。
三层分类体系:从物理世界到驾驶逻辑
基础物理与环境属性
最底层的标签描述驾驶环境的物理构成。
道路拓扑:车道线曲率、路口类型(十字/T字/环岛)、车道连接关系。这些标签让模型理解道路的几何结构,而非仅仅把道路当作像素排列。
交通参与者状态:车辆、行人、骑行者的位置、速度、加速度、航向角。在端到端训练中,这些标签不仅用于监督信号,还用于构建场景的时空表示。
环境元数据:天气(晴/雨/雾)、光照(白天/夜晚/黄昏)、时间戳。这些看似边缘的信息,往往是长尾场景的关键触发条件。
特斯拉在CVPR 2023的Workshop中展示过一组数据:同一时段、同一地点的训练样本,如果缺少天气标签,模型在极端天气下的表现会下降23%。这说明基础标签的完备性直接影响模型的泛化能力。
交互行为与动态博弈
这是场景标签的核心价值,也是端到端模型最难掌握的部分。
交互标签描述的是"自车与环境的关系"而非"环境本身"。典型例子包括:
- 无保护左转:需要判断对向直行车的到达时间、速度变化趋势
- 汇入主路:需要判断主路车流的间隙大小、后车让行意图
- 拉链式通行:需要理解"交替通行"的社交规则
这些标签最难的地方在于:它们不是客观事实的记录,而是对"驾驶意图"和"社交规则"的解读。同一场景,不同标注员可能给出不同的交互标签。
nuScenes数据集在1.2版本中新增了"interaction"标签类别,专门用于描述车辆间的博弈行为。但即便如此,其交互标签的覆盖率仍不达总样本的5%——大部分数据仍然只有几何层面的标注。
长尾与极端场景
为了保证安全性,训练数据必须覆盖长尾分布。这类标签针对的是罕见但高风险的场景:
长尾场景的标签构建面临两难:真实世界中这类数据极少,人工采集成本极高;合成数据虽能扩充样本量,但很难保证与真实场景的分布一致性。
Cruise在2023年的技术报告中提到,他们针对长尾场景构建了专门的"挑战场景库",包含200+类极端情况。但这类数据集的标注成本是常规场景的5-8倍,且需要领域专家的参与。
产业实践:规模与质量的双重困境
自动标注的幻觉问题
目前主流的自动标注流程依赖大模型和世界模型。流程通常是这样的:
问题出在第3步。大模型在生成"礼让行人"、"汇入主路"这类需要因果推理的标签时,会产生幻觉——即给出看似合理但实际错误的标签。
幻觉的典型模式
一组对比实验:让GPT-4V根据视频帧描述驾驶场景中的交互行为。在100个测试样本中,有17%的样本被错误标注。典型错误包括:
最隐蔽的错误是合理但不正确的推理。比如VLM看到前方车辆在路口减速,会合理推断为"前车在等待行人",但实际可能是"前车在寻找停车位"。这类错误源于VLM的常识推理能力——它会基于"正常驾驶"的假设填补信息盲区,而真实驾驶场景往往恰恰是不正常的。
幻觉的缓解策略
业界目前尝试了几种缓解方案:
Chain-of-Thought约束:强制VLM输出推理过程,而非直接输出结论。比如要求输出格式为:"观察到... → 推断... → 因此标签为..."。这种方式可以暴露推理链中的错误环节,但会增加推理成本。
多轮验证机制:对同一场景让VLM从不同角度描述(如"从行人视角"、"从对向车视角"),交叉验证标签一致性。不一致的标签交人工复核。实验表明,多轮验证可将幻觉率从17%降至11%,但标注时间增加2倍。
规则引擎兜底:对于关键安全标签(如"红灯停车"、"行人横穿"),用规则引擎做二次校验。规则引擎覆盖的场景,以规则输出为准;规则无法覆盖的场景,才使用VLM输出。这种方式牺牲了灵活性,但保证了安全标签的可靠性。
这类错误标签一旦进入训练数据,就会形成"错误知识"的固化。更麻烦的是,端到端模型往往是黑盒,这类错误很难在模型训练完成后被发现和追溯。
人工标注的成本天花板
高质量的人工标注是什么概念?
一个包含复杂交互的路口场景(时长30秒,多交通参与者),完整标注需要:
总计约50分钟。按当前行业标注均价(每分钟标注成本约2-3美元),一个高质量场景标签的成本在100-150美元。
如果训练数据需要10万个场景,仅标签成本就超过1000万美元。这还没有算上数据采集、清洗、质量控制的成本。
闭环迭代的工程挑战
理想的数据闭环是这样的:
但实际工程中,这个闭环面临几个现实问题:
时效性问题:从发现bad case到数据完成标注并进入训练集,通常需要2-4周。在这期间,车队可能已经积累了更多同类问题。
一致性性问题:不同标注员对同一交互行为的判断可能不一致。"前车减速"和"前车刹车"之间的边界模糊,导致标签噪声。
回溯性问题:当模型版本更新后,旧版本数据上的标签可能不再适用。如何管理标签的版本和兼容性,是一个尚未被充分解决的工程问题。
未来趋势:自动化、多模态、标准化
大模型驱动的自动化标注探索
场景标签的自动化标注,正经历从"规则引擎"到"大模型驱动"的范式切换。当前业界的探索可以按技术路径分为四条路线。
路线一:VLM直接标注——用视觉语言模型"看图说话"
最直觉的思路:把视频帧喂给视觉语言模型(VLM),让它直接输出场景描述和交互标签。
2024年Waymo推出的EMMA模型就是这条路线的代表。EMMA将多摄像头图像输入Gemini,生成自然语言形式的场景描述,再通过后处理将文本解析为结构化标签。其核心优势在于:VLM具备通用的视觉理解能力和常识推理能力,可以"读懂"传统检测模型无法理解的语义信息,比如"前方车辆正在礼让横穿马路的行人"。
实际落地中的瓶颈在于时序理解不足。单帧图像丢失了速度、加速度、轨迹趋势等关键时序信息。一张静态图片里"车辆停在路口"这个状态,可能对应"等待红灯"、"等待行人"、"临时停车"三种完全不同的交互标签。为此,部分团队开始尝试将多帧图像拼接为"视频摘要"输入VLM,或者在Prompt中注入自车CAN总线数据(速度、方向盘转角),弥补时序信息的缺失。
本田研究院在2024年的实验表明,向VLM提供关键帧+自车状态信息后,交互标签的标注准确率从纯单帧的68%提升到了83%。但距离可用的90%+阈值仍有差距。
路线二:LLM推理标注——用语言模型"思考驾驶逻辑"
第二条路线绕过了视觉理解,直接让大语言模型(LLM)基于结构化感知结果进行推理标注。
流程是这样的:
- 传统感知模型输出结构化结果:各参与者的位置、速度、类别、道路拓扑
- 将结构化结果序列化为文本Prompt,例如:"自车位于路口,速度0m/s。对向车道有直行车,距离45m,速度14m/s。右侧有行人正在过马路。"
- LLM基于Prompt推理场景标签,输出:"无保护左转场景,需等待行人通过和对向直行车通过"
这条路线的优势在于推理过程可解释。LLM的输出天然包含思维链,标注员可以审查推理逻辑而非仅仅审查结论。当标注出错时,可以定位到是感知结果不准确还是推理逻辑有缺陷。
但缺陷同样明显:感知误差会被放大。如果传统感知模型把行人检测框偏移了2米,LLM会基于错误的位置信息做出错误的交互判断。这是一个"Garbage In, Garbage Out"的问题。
特斯拉在2024年的AI Day上暗示,他们在FSD v12的数据管线中采用了类似的LLM推理链路,用于从海量行驶数据中自动提取场景标签。但具体的技术细节未公开。
路线三:世界模型生成——用仿真"创造标注数据"
前两条路线仍然依赖真实数据。第三条路线更激进:用世界模型(World Model)直接生成带有完美标签的驾驶场景。
世界模型的思路是:学习驾驶视频的时空分布,然后按需生成新的驾驶场景。因为生成过程是可控的,所以标签可以同步生成——不需要额外标注。
2024年Waymo公开的Waymax仿真器和GAIA-1世界模型都展示了这种能力。给定一组条件(天气、场景类型、交通密度),世界模型可以生成对应的驾驶视频,同时输出精确的参与者轨迹、道路拓扑、交互关系等标签。
但世界模型面临两个核心问题:分布偏移和物理一致性。生成的场景可能看起来逼真,但违反了物理规律(如车辆以不可能的加速度减速),或者分布与真实数据不匹配(如生成了大量不常见的交通配置)。用这类数据训练端到端模型,可能学到的是"仿真世界的驾驶策略"而非"真实世界的驾驶策略"。
路线四:人机协同标注——让大模型做初稿,人类做终审
最务实的路线不是用大模型替代人工,而是重新分工:大模型负责快速生成初版标签,人类标注员负责审核和修正。
这套流程的实际效果如何?某国内头部自动驾驶公司在2024年Q3做了对比实验:
数据说明:人机协同模式将标注效率提升了2.5-3倍,成本降低60%以上,且准确率下降在可接受范围内。纯自动标注虽然成本极低,但准确率距离生产可用仍有距离。
这个模式的工程关键在于审核界面的设计。标注员需要快速定位大模型的标注错误,而非逐帧检查。目前常见的做法是:对大模型输出的标签标注置信度,低于阈值的自动高亮,标注员优先审核这些低置信度项。
自动化标注的未解难题
无论哪条路线,都面临几个共同的难题:
长尾场景的Coverage问题:大模型只能生成它"见过"的场景标签。对于训练数据中极少出现的极端场景,大模型既无法识别,也无法正确标注。这意味着长尾场景的标签仍然高度依赖人工和专家知识。
标签一致性难以保证:同一个"汇入主路"场景,VLM可能在不同次推理中给出不同的描述粒度。缺乏统一的标签Schema,自动标注的一致性显著低于人工标注。
跨域迁移能力弱:在A城市训练的VLM,标注B城市的场景时准确率会明显下降。右侧行驶(中国)和左侧行驶(英国)的差异更是会导致系统性标注错误。
多模态融合标注
纯视觉的标签体系正在被突破。
结合视觉、激光雷达与文本描述的多模态标注,让标签不仅包含"看到了什么",还包含"应该怎么做"。比如,一个场景标签可能是这样的:
场景ID: intersection_001视觉模态: 前方十字路口,绿灯,对向有直行车激光雷达模态: 对向车辆距离45m,速度12m/s,减速趋势文本描述: 无保护左转场景,需等待对向直行车通过后方可通行
这种多模态标签让模型不仅能"看"到路,还能"读"懂路。
标准化评测体系
目前最大的问题之一是:不同公司的场景标签体系缺乏统一标准。
A公司定义的"无保护左转"可能包含对向直行车速度阈值;B公司的定义可能更宽泛。这导致不同模型的测试结果无法横向对比,行业内存在大量"刷榜"行为。
建立统一的场景分类学(Taxonomy)和评测基准,正在成为行业共识。EU项目HEADSTART已经提出了初步的场景分类框架,涵盖城市、高速、停车三大场景类别。但这一标准仍处于早期阶段,距离行业广泛采纳还有距离。
结合端到端自动驾驶场景标签的需求,使用大模型(尤其是视觉语言模型,VLM)进行场景标注,通常包含视觉特征提取、语义理解与推理、以及结构化输出三个核心步骤。
以下是一段基于 Python 的示例代码,展示了如何调用多模态大模型 API(以 OpenAI GPT-4o 为例),将一张复杂的驾驶场景图片自动转化为包含场景描述、关键要素提取和驾驶决策建议的结构化 JSON 标签。
import base64import requestsimport json# 1. 将驾驶场景图片编码为 Base64 格式def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode('utf-8')# 2. 定义端到端场景标注的 Prompt(提示词)# 要求模型不仅识别物体,还要像人类司机一样进行因果推理和决策规划def generate_scene_label(image_path, api_key): base64_image = encode_image(image_path) # 精心设计的 Prompt 决定了标签的质量和维度 prompt = """ 你是一个专业的自动驾驶场景标注专家。请分析这张驾驶场景图片,并严格按照以下要求输出一个标准的 JSON 格式标签: 1. **场景摘要 (scene_summary)**:用一句话描述当前自车的行驶状态和核心路况。 2. **环境元数据 (environment_metadata)**:包含天气 (weather)、时间 (time)、道路环境 (road_environment)。 3. **关键要素 (critical_objects)**:提取影响自车决策的 1-3 个关键物体,包含类别 (class)、特征 (characteristic) 和对自车的影响 (influence)。 4. **驾驶决策 (driving_decision)**: - 元动作 (meta_action):给出 2-3 个候选动作(如减速、变道、直行)。 - 决策描述 (decision_description):结合因果逻辑,解释为什么要做出该决策。 请直接返回纯 JSON 格式,不要包含任何额外的解释或 Markdown 标记。 """ headers = { "Content-Type": "application/json", "Authorization": f"Bearer {api_key}" } payload = { "model": "gpt-4o", # 使用具备强大视觉理解能力的多模态大模型 "messages": [ { "role": "user", "content": [ {"type": "text", "text": prompt}, { "type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"} } ] } ], "max_tokens": 1000 } # 3. 调用大模型 API 并解析返回的结构化标签 try: response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload) response.raise_for_status() result = response.json() # 提取并格式化 JSON 输出 label_json_str = result['choices'][0]['message']['content'] structured_label = json.loads(label_json_str) return json.dumps(structured_label, indent=4, ensure_ascii=False) except Exception as e: return f"标注请求失败: {e}"# 4. 实际调用示例if __name__ == "__main__": YOUR_API_KEY = "sk-xxxxxxxxxxxxxxxxxxxxxxxx" # 替换为你的实际 API Key SCENE_IMAGE_PATH = "driving_scenario.jpg" # 替换为你的驾驶场景图片路径 print("正在使用大模型进行场景标注...\n") scene_label = generate_scene_label(SCENE_IMAGE_PATH, YOUR_API_KEY) print(scene_label)
代码核心逻辑解析
Prompt 工程(提示词设计):这是大模型标注的灵魂。在代码的 prompt 变量中,我们并没有让模型简单地“识别图片”,而是要求它输出符合端到端模型训练需求的结构化思维链(Chain-of-Thought)。比如要求模型输出 influence(对自车的影响)和 decision_description(决策因果描述),这正是端到端模型从“感知”迈向“认知”所需的高质量语义标签。
结构化输出(JSON):通过强制要求模型返回 JSON 格式,我们可以直接将大模型的输出解析为 Python 字典或存入数据库,无缝接入后续的数据清洗和模型训练流水线(Data Pipeline)。
实际生成的标签示例:如果输入一张“前方有道路施工,工人正在作业”的图片,上述代码大概率会返回如下高质量标签:
{ "scene_summary": "自车在前方道路施工路段保持匀速行驶,左侧车道有施工人员作业。", "environment_metadata": { "weather": "晴天", "time": "白天", "road_environment": "城市道路施工区" }, "critical_objects": [ { "class": "施工人员", "characteristic": "在自车左前方路边作业", "influence": "影响自车正常直行速度,需保持横向安全距离" }, { "class": "施工区域", "characteristic": "前方车道部分被占用", "influence": "限制自车可行驶区域" } ], "driving_decision": { "meta_action": ["减速", "向左微调方向", "缓慢直行"], "decision_description": "由于左前方有施工人员且车道变窄,自车应当适当减速并向左微调方向以保持安全横向距离,缓慢通过施工区域。" }}
进阶建议:迈向生产级标注
在实际的端到端自动驾驶数据闭环中,单纯依靠 API 调用的成本较高且存在偶发的“幻觉”。工业界通常会采用更复杂的 Agent(智能体)架构:
- AI 标注 + AI 质检:先使用传统的 3D 感知算法(如 BEV 模型)生成预标注,再调用 VLM 大模型进行“视觉查验”和自我反思(Self-Reflection),自动修正漏标或错标的物体。
- 自动化挖掘与总结:利用大模型从海量历史视频数据中自动挖掘长尾场景(如“非站立行人”、“异形障碍物”),并自动生成场景摘要和问答对(QA Pair),大幅降低人工标注的介入率。
尾声
端到端自动驾驶的终局,是全场景、高安全的通用智能驾驶。
场景标签定义了这个终局的上限。从几何框选到语义认知,从人工标注到自动生成,从单一模态到多模态融合——场景标签的进化,本质上是在回答一个问题:
我们要如何把人类的驾驶经验,翻译成机器能理解的"教材"?
这个问题没有银弹。但至少有一点是确定的:在端到端模型的训练数据闭环中,场景标签不再是数据的附属品,而是决定模型智能水平的关键变量。未来,谁掌握了高质量的标签体系,谁就掌握了端到端自动驾驶的入场券。