从2017年开放计划发布到成为全球最大的自动驾驶开放平台,Apollo见证了百度在智能驾驶领域的技术突破与生态构建
┌─────────────────────────────────────────────────────────────┐
│ Apollo技术架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 感知 │→ │ 预测 │→ │ 规划 │→ │ 控制 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ ↑ ↑ ↑ ↑ │
│ ┌─────────────────────────────────────────────┐ │
│ │ 高精地图与定位系统 │ │
│ └─────────────────────────────────────────────┘ │
│ ↑ ↑ │
│ ┌─────────┐ ┌─────────┐ │
│ │传感器层 │ │ V2X通信 │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
Apollo的感知系统是自动驾驶的”眼睛”,负责理解车辆周围的环境。在陶吉等技术专家的带领下,百度构建了业界领先的多模态感知技术体系。
技术背景与挑战
陶吉在2016年加入百度自动驾驶事业部,此前在Google X实验室有着丰富的计算机视觉经验。面对自动驾驶感知的核心挑战,陶吉提出了”全天候、全场景、全冗余”的感知系统设计理念:
融合架构设计
陶吉主导设计的多传感器融合系统采用了创新的”渐进式融合”架构,不同于传统的前融合或后融合,实现了激光雷达、摄像头、毫米波雷达等多种传感器的深度协同:
传感器融合架构:
┌──────────────────────────────────────────────────┐
│ 决策层融合 │
│ (高级语义信息、行为意图) │
├──────────────────────────────────────────────────┤
│ 特征层融合 │
│ (目标属性、运动状态、置信度) │
├──────────────────────────────────────────────────┤
│ 数据层融合 │
│ (点云、图像、雷达数据) │
├──────────────────────────────────────────────────┤
│ Lidar Camera Radar Ultrasonic IMU │
└──────────────────────────────────────────────────┘
时空同步技术
陶吉团队开发的时空同步系统解决了多传感器数据对齐的核心难题:
融合策略优化
陶吉提出的”场景自适应融合”策略,根据不同场景动态调整传感器权重:
| 场景类型 | 主传感器 | 辅助传感器 | 融合权重分配 |
|---|---|---|---|
| 城市道路 | 摄像头 | 激光雷达 | 60:40 |
| 高速公路 | 激光雷达 | 毫米波雷达 | 50:30:20 |
| 停车场景 | 超声波 | 摄像头 | 70:30 |
| 恶劣天气 | 毫米波雷达 | 激光雷达 | 60:40 |
技术演进历程
Apollo的3D目标检测技术经历了三代演进:
PointPillars改进版
百度团队在原始PointPillars基础上进行了7项关键优化,由陶吉团队的资深算法工程师韩旭主导:
# 伪代码示例:改进的PointPillars架构
class ImprovedPointPillars:
def __init__(self):
self.pillar_encoder = PillarFeatureNet()
self.backbone = Custom2DCNN()
self.detection_head = MultiTaskHead()
def forward(self, point_cloud):
# 1. 点云预处理与柱状化
pillars = self.create_pillars(point_cloud)
# 2. 特征编码
pillar_features = self.pillar_encoder(pillars)
# 3. 伪图像生成
pseudo_image = self.scatter_to_bev(pillar_features)
# 4. 2D卷积特征提取
features = self.backbone(pseudo_image)
# 5. 多任务检测头
boxes, classes, scores = self.detection_head(features)
return boxes, classes, scores
相机-激光雷达融合检测
陶吉团队创新性地提出了”Cross-Modal Transformer”融合架构:
检测性能指标
Apollo在多个标准数据集和实际道路测试中的表现:
| 目标类别 | 检测精度(AP) | 召回率 | 实时性(FPS) |
|---|---|---|---|
| 车辆 | 95.2% | 96.8% | 30 |
| 行人 | 89.6% | 91.2% | 30 |
| 骑行者 | 87.3% | 88.9% | 30 |
| 交通标志 | 93.8% | 94.5% | 30 |
实时语义分割网络
Apollo采用了轻量级的语义分割网络,在保证精度的同时实现实时处理:
分割网络架构:
┌────────────────────────────────────────┐
│ 输入图像 (1920×1080) │
└────────────────┬───────────────────────┘
▼
┌────────────────────────────────────────┐
│ 编码器 (MobileNetV3) │
│ ├─ 下采样路径 │
│ └─ 多尺度特征提取 │
└────────────────┬───────────────────────┘
▼
┌────────────────────────────────────────┐
│ 特征金字塔 (FPN) │
│ ├─ 1/32 特征图 │
│ ├─ 1/16 特征图 │
│ └─ 1/8 特征图 │
└────────────────┬───────────────────────┘
▼
┌────────────────────────────────────────┐
│ 解码器 (轻量级上采样) │
│ └─ 逐步恢复分辨率 │
└────────────────┬───────────────────────┘
▼
┌────────────────────────────────────────┐
│ 语义分割结果 (19类) │
└────────────────────────────────────────┘
多任务学习策略
多目标跟踪框架
Apollo实现了鲁棒的多目标跟踪系统,支持复杂场景下的稳定跟踪:
跟踪流程:
检测 → 特征提取 → 数据关联 → 轨迹管理 → 预测输出
↓ ↓ ↓ ↓ ↓
[YOLO] [ReID] [Hungarian] [Kalman] [LSTM]
关键技术创新
跟踪性能评估
| 评估指标 | Apollo性能 | 行业平均 | 提升幅度 |
|---|---|---|---|
| MOTA | 78.5% | 72.3% | +8.6% |
| MOTP | 85.2% | 81.7% | +4.3% |
| ID Switch | 156 | 234 | -33.3% |
| FP Rate | 8.2% | 11.5% | -28.7% |
Apollo的预测与规划系统是自动驾驶的”大脑”,负责预测其他交通参与者的行为并规划安全高效的行驶轨迹。这一系统由韩旭(预测算法负责人)和朱帆(规划算法负责人)共同领导开发。
技术挑战与创新
韩旭在2017年从CMU机器人研究所加入百度,面对中国复杂交通环境的预测挑战:
多模态轨迹预测架构
韩旭团队开发的”Multimodal Prediction Network (MPN)”系统,能够生成多种可能的未来轨迹并估计其概率:
预测模型架构:
┌─────────────────────────────────────────────────┐
│ 历史轨迹序列 (T=3s) │
└──────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ 特征编码器 (LSTM/Transformer) │
│ ├─ 运动特征:位置、速度、加速度、航向 │
│ ├─ 交互特征:相对位置、相对速度 │
│ └─ 场景特征:道路结构、交通规则 │
└──────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ 意图识别模块 │
│ ├─ 换道意图 (概率: 0.7) │
│ ├─ 直行意图 (概率: 0.2) │
│ └─ 转弯意图 (概率: 0.1) │
└──────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ 轨迹生成器 (CVAE/GAN) │
│ 生成K=6条可能轨迹,时长T=5s │
└─────────────────────────────────────────────────┘
社会交互建模
韩旭团队创新性地引入了”Social-LSTM + Graph Attention”架构:
中国特色场景处理
针对中国道路的特殊情况,韩旭团队开发了专门的预测模块:
预测准确率对比
| 预测时长 | Apollo | Waymo | 行业平均 |
|---|---|---|---|
| 1秒 | 96.3% | 95.8% | 93.2% |
| 3秒 | 87.5% | 86.9% | 82.4% |
| 5秒 | 74.2% | 73.6% | 68.5% |
规划团队背景
朱帆在2016年从MIT CSAIL加入百度,曾参与DARPA城市挑战赛冠军队伍。他带领的规划团队包括来自CMU、Stanford、清华等顶尖院校的20+名算法工程师。
分层规划架构
朱帆设计的”Hierarchical Planning Framework”采用三层架构,从全局路径到局部轨迹逐层细化:
规划层次结构:
┌─────────────────────────────────────────┐
│ 全局路径规划 (Route) │
│ 起点 → 终点的道路级路径 │
│ 算法:A* / Dijkstra │
└────────────────┬────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 行为决策 (Decision) │
│ 换道/跟车/超车/停车等 │
│ 算法:有限状态机 + 规则 │
└────────────────┬────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 轨迹规划 (Planning) │
│ 生成平滑、安全、舒适的轨迹 │
│ 算法:EM Planner / Lattice Planner │
└─────────────────────────────────────────┘
EM Planner核心算法
# 伪代码:EM Planner主要流程
class EMPlanner:
def plan(self, start_state, predictions, constraints):
# 1. 路径规划(Path Planning)
reference_line = self.get_reference_line()
path_bounds = self.calculate_path_bounds(
reference_line,
obstacles=predictions
)
optimal_path = self.dp_path_optimizer(
reference_line,
path_bounds
)
# 2. 速度规划(Speed Planning)
st_graph = self.build_st_graph(
optimal_path,
predictions
)
speed_bounds = self.calculate_speed_bounds(st_graph)
optimal_speed = self.qp_speed_optimizer(
optimal_path,
speed_bounds
)
# 3. 轨迹合成
trajectory = self.combine_path_speed(
optimal_path,
optimal_speed
)
return trajectory
优化目标函数
轨迹优化考虑多个目标的平衡:
| 优化目标 | 权重 | 数学表达式 |
|---|---|---|
| 安全性 | 0.4 | min Σ(1/d_obstacles) |
| 舒适性 | 0.3 | min Σ(a²) + Σ(jerk²) |
| 效率性 | 0.2 | min (t_arrival) |
| 平滑性 | 0.1 | min Σ(κ²) |
混合决策系统
Apollo结合了规则驱动和学习驱动的决策方法:
决策系统架构:
┌──────────────────────────────────────────┐
│ 场景识别模块 │
│ 识别当前驾驶场景类型 │
└──────────┬───────────────────────────────┘
▼
┌──────────────────────────────────────────┐
│ 决策方法选择器 │
├──────────┼───────────────────────────────┤
│ 简单场景 │ 复杂场景 │
└──────────┼───────────────────────────────┘
▼ ▼
┌──────────────────┐ ┌───────────────────┐
│ 规则决策树 │ │ 强化学习模型 │
│ ├─ 交规遵守 │ │ ├─ DQN │
│ ├─ 安全规则 │ │ ├─ PPO │
│ └─ 效率规则 │ │ └─ SAC │
└──────────────────┘ └───────────────────┘
强化学习训练框架
| 舒适奖励:-0.1 × | 加速度 |
决策性能评估
| 场景类型 | 成功率 | 平均耗时 | 舒适度评分 |
|---|---|---|---|
| 高速并线 | 98.2% | 8.3s | 4.5/5 |
| 十字路口 | 96.7% | 12.5s | 4.3/5 |
| 环岛通行 | 94.5% | 15.2s | 4.1/5 |
| 拥堵跟车 | 99.1% | - | 4.6/5 |
形式化验证方法
Apollo采用多层次的安全验证体系:
安全验证流程:
┌─────────────────────────────────────────┐
│ 静态代码分析 │
│ MISRA C++ / Coverity / PVS-Studio │
└────────────────┬────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 模型检验 │
│ TLA+ / UPPAAL 形式化验证 │
└────────────────┬────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 仿真测试 │
│ 场景库测试(10万+场景) │
└────────────────┬────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 实车测试 │
│ 封闭场地 → 开放道路 │
└─────────────────────────────────────────┘
安全边界计算
故障注入测试
| 故障类型 | 测试用例数 | 通过率 | 平均恢复时间 |
|---|---|---|---|
| 传感器失效 | 500 | 99.2% | 0.3s |
| 通信延迟 | 300 | 98.7% | 0.5s |
| 定位偏差 | 400 | 97.5% | 1.2s |
| 规划异常 | 200 | 99.5% | 0.2s |
高精地图是自动驾驶的”记忆”,提供厘米级精度的环境信息,配合高精定位系统实现车辆的精确导航。这一关键系统由王健(高精地图负责人)和刘少山(定位技术负责人)领导开发。
团队建设与技术积累
王健在2015年从Google地图团队回国加入百度,组建了国内最早的高精地图团队:
采集车配置
王健团队设计的第四代地图采集车,集成了当时最先进的传感器阵列:
采集车传感器配置:
┌──────────────────────────────────────────────┐
│ 车顶传感器阵列 │
│ ┌────────────────────────────────────────┐ │
│ │ Velodyne HDL-64E 激光雷达 × 2 │ │
│ │ 精度: ±2cm 频率: 10Hz 线数: 64 │ │
│ └────────────────────────────────────────┘ │
│ ┌────────────────────────────────────────┐ │
│ │ FLIR Ladybug5+ 全景相机 │ │
│ │ 分辨率: 30MP 视场: 360°×180° │ │
│ └────────────────────────────────────────┘ │
│ ┌────────────────────────────────────────┐ │
│ │ NovAtel PwrPak7 GNSS/IMU │ │
│ │ 定位精度: RTK 2cm 航向: 0.1° │ │
│ └────────────────────────────────────────┘ │
└──────────────────────────────────────────────┘
数据采集流程
王健团队建立了业界最高效的地图生产流水线:
采集效率指标
| 指标项 | Apollo | 行业平均 | 提升幅度 |
|---|---|---|---|
| 日均采集里程 | 800km | 500km | +60% |
| 数据有效率 | 95.3% | 88.2% | +8% |
| 自动化处理率 | 87.5% | 72.3% | +21% |
| 地图生产周期 | 3天 | 7天 | -57% |
SLAM技术负责人
刘少山在2016年从ETH苏黎世联邦理工学院加入百度,此前在自主机器人实验室(ASL)从事SLAM研究,是视觉SLAM领域的知名专家。
多传感器SLAM框架
刘少山团队开发的”Apollo SLAM 2.0”融合了激光雷达、视觉和IMU,实现了厘米级建图精度:
# 伪代码:Apollo SLAM主要模块
class ApolloSLAM:
def __init__(self):
self.lidar_odometry = LidarOdometry()
self.visual_odometry = VisualOdometry()
self.loop_detector = LoopClosureDetector()
self.graph_optimizer = PoseGraphOptimizer()
self.map_builder = OctomapBuilder()
def process_frame(self, lidar_scan, images, imu_data):
# 1. 激光里程计
lidar_pose = self.lidar_odometry.compute(
lidar_scan,
imu_data
)
# 2. 视觉里程计
visual_pose = self.visual_odometry.compute(
images,
self.extract_features(images)
)
# 3. 位姿融合
fused_pose = self.fuse_poses(
lidar_pose,
visual_pose,
weights=[0.7, 0.3]
)
# 4. 回环检测
if self.loop_detector.detect(lidar_scan, images):
self.graph_optimizer.add_loop_constraint()
# 5. 地图更新
self.map_builder.update(lidar_scan, fused_pose)
return fused_pose
关键技术创新
定位系统架构
融合定位架构:
┌─────────────────────────────────────────────┐
│ 定位融合中心 │
│ 输出: 6DOF位姿 @ 100Hz │
└───────────────┬─────────────────────────────┘
▲
┌───────────┼───────────┬────────────┐
│ │ │ │
┌───▼────┐ ┌───▼────┐ ┌───▼────┐ ┌────▼────┐
│ GNSS │ │ IMU │ │ 激光 │ │ 视觉 │
│ 定位 │ │ 惯导 │ │ 定位 │ │ 定位 │
│ 10Hz │ │ 100Hz │ │ 10Hz │ │ 30Hz │
└────────┘ └────────┘ └────────┘ └─────────┘
扩展卡尔曼滤波融合
融合算法基于EKF框架,状态向量包含:
定位精度分析
| 场景条件 | 定位精度 | 可用性 | 主要依赖 |
|---|---|---|---|
| 开阔区域+RTK | 2-5cm | 99.9% | GNSS/RTK |
| 城市峡谷 | 10-20cm | 98.5% | 激光+地图 |
| 隧道环境 | 20-30cm | 97.2% | IMU+里程计 |
| 地下停车场 | 30-50cm | 95.8% | 视觉+IMU |
众包更新机制
Apollo利用量产车辆实现地图的持续更新:
众包更新流程:
┌────────────────────────────────────────┐
│ 量产车辆 (数万辆) │
│ 轻量级传感器 + 边缘计算单元 │
└──────────────┬─────────────────────────┘
▼
┌────────────────────────────────────────┐
│ 变化检测算法 │
│ 对比实时感知与基准地图 │
└──────────────┬─────────────────────────┘
▼
┌────────────────────────────────────────┐
│ 数据上传 (4G/5G) │
│ 仅上传变化区域数据 (压缩90%) │
└──────────────┬─────────────────────────┘
▼
┌────────────────────────────────────────┐
│ 云端验证与融合 │
│ 多源验证 → 地图更新 → 下发 │
└────────────────────────────────────────┘
变化检测算法
更新效率指标
| 更新类型 | 检测延迟 | 验证时间 | 下发延迟 |
|---|---|---|---|
| 临时施工 | <1小时 | 2小时 | 30分钟 |
| 标志变更 | <6小时 | 12小时 | 1小时 |
| 道路改造 | <24小时 | 48小时 | 2小时 |
| 新建道路 | <72小时 | 1周 | 6小时 |
在李震宇的领导下,Apollo从技术平台走向商业落地,通过车路协同和Robotaxi服务探索自动驾驶的商业化路径。
李震宇的战略转型
李震宇在2019年接任Apollo总经理后,提出了”攀登珠峰,沿途下蛋”的商业化战略:
李震宇的背景使他成为推动这一战略的理想人选:
ACE智能交通引擎
李震宇提出的”ACE交通引擎”(Autonomous Driving、Connected Road、Efficient Mobility)构建了完整的智能交通体系:
ACE架构(Autonomous Driving、Connected Road、Efficient Mobility):
┌─────────────────────────────────────────────────┐
│ 应用层 (A) │
│ Robotaxi | Robobus | 智能停车 | 智能物流 │
├─────────────────────────────────────────────────┤
│ 引擎层 (C) │
│ Apollo自动驾驶 | 车路协同 | MaaS平台 │
├─────────────────────────────────────────────────┤
│ 基础设施层 (E) │
│ 智能信控 | 智能路侧 | V2X网络 | 云控平台 │
└─────────────────────────────────────────────────┘
车路协同技术方案
李震宇领导团队开发的车路协同方案,实现了”聪明的车+智慧的路”:
技术创新亮点
落地城市案例
| 城市 | 部署规模 | 应用场景 | 关键成果 |
|---|---|---|---|
| 北京亦庄 | 300+路口 | 自动驾驶测试区 | 事故率降低30% |
| 广州黄埔 | 133公里道路 | 智能网联示范区 | 通行效率提升25% |
| 长沙湘江新区 | 100+路口 | V2X全覆盖 | 红绿灯配时优化20% |
| 沧州 | 229公里 | 主城区全覆盖 | 拥堵指数下降15% |
技术架构演进
V2X通信架构:
┌────────────────────────────────────────────┐
│ 应用服务层 │
│ 碰撞预警 | 编队行驶 | 远程驾驶 │
└──────────────┬─────────────────────────────┘
▼
┌────────────────────────────────────────────┐
│ V2X协议栈 │
├────────────┬───────────┬───────────────────┤
│ V2V │ V2I │ V2N │
│ DSRC/C-V2X│ C-V2X │ 5G NR │
└────────────┴───────────┴───────────────────┘
▼
┌────────────────────────────────────────────┐
│ 物理通信层 │
│ 5.9GHz频段 | 5G网络 | 边缘计算节点 │
└────────────────────────────────────────────┘
关键技术指标
| 通信模式 | 时延 | 可靠性 | 数据速率 | 覆盖范围 |
|---|---|---|---|---|
| V2V直连 | <20ms | 99.99% | 10Mbps | 300m |
| V2I通信 | <50ms | 99.9% | 50Mbps | 500m |
| V2N (5G) | <10ms | 99.999% | 1Gbps | 全覆盖 |
边缘计算部署
萝卜快跑的诞生与发展
2020年,李震宇亲自主导了Apollo Go(萝卜快跑)的品牌发布。这个名字寓意”科技让出行更美好”,萝卜谐音”Robot”,体现了自动驾驶的科技属性。
发展历程:
萝卜快跑服务平台
李震宇团队打造的萝卜快跑,已成为全球最大的自动驾驶出行服务平台:
运营系统架构:
┌─────────────────────────────────────────────┐
│ 用户端APP │
│ 叫车 | 行程管理 | 支付 | 评价 │
└──────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ 调度中心 │
│ ┌─────────────────────────────────┐ │
│ │ 需求预测 │ 车辆调度 │ 路径规划 │ │
│ └─────────────────────────────────┘ │
└──────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ 车队管理系统 │
│ ┌─────────────────────────────────┐ │
│ │ 远程监控 │ 应急接管 │ OTA更新 │ │
│ └─────────────────────────────────┘ │
└──────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ 自动驾驶车辆 │
│ 第5代无人车 | L4级自动驾驶 │
└─────────────────────────────────────────────┘
运营数据(截至2024年)
| 指标 | 数值 | 同比增长 |
|---|---|---|
| 累计订单量 | 500万+ | +300% |
| 运营城市 | 11个 | +120% |
| 车队规模 | 500+ | +150% |
| 日均订单 | 2万+ | +200% |
| 用户满意度 | 4.8/5.0 | +5% |
成本优化路径
多层冗余架构
安全冗余系统:
┌─────────────────────────────────────────────┐
│ 系统级冗余 │
│ ┌─────────────────────────────────────┐ │
│ │ 主系统 │ 备份系统 │ 安全系统 │ │
│ │ 100% │ 100% │ 简化版 │ │
│ └─────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ 传感器冗余 │
│ ┌─────────────────────────────────────┐ │
│ │ 激光×3 │ 相机×12 │ 毫米波×5 │ IMU×2│ │
│ └─────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ 计算冗余 │
│ ┌─────────────────────────────────────┐ │
│ │ 主计算 │ 备计算 │ 安全MCU │ 看门狗 │ │
│ └─────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ 执行冗余 │
│ ┌─────────────────────────────────────┐ │
│ │ 双制动 │ 双转向 │ 双电源 │ 机械备份 │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
故障处理机制
安全认证与标准
| 认证标准 | 达成状态 | 认证机构 |
|---|---|---|
| ISO 26262 | ASIL-D | TÜV |
| ISO 21448 (SOTIF) | 通过 | TÜV |
| GB/T 汽车驾驶自动化 | L4认证 | 工信部 |
| 信息安全ISO 21434 | 通过 | 公安部 |
实际安全表现
Apollo自动驾驶平台代表了百度在人工智能领域的最高技术成就之一。通过感知、预测、规划、定位等核心技术的突破,以及V2X车路协同的创新应用,Apollo不仅在技术上达到了世界领先水平,更通过萝卜快跑等商业化服务,探索出了一条可行的自动驾驶商业化路径。
从2017年开放至今,Apollo已经成长为全球最大的自动驾驶开放平台,拥有210+生态合作伙伴,开源代码70万行,为中国自动驾驶产业的发展做出了重要贡献。在李震宇等技术领导者的带领下,Apollo正在向着”让出行更简单、更美好”的愿景稳步前进。