基于前视视角的自动驾驶数据采集与ACT模型训练系统。
- 前视视角模拟器(俯视图 + 第一人称伪3D视角)
- 键盘控制(WASD/方向键)
- 数据采集用于ACT训练
- 模型训练与推理
# 后端依赖
cd backend
pip install -r requirements.txt
# 前端依赖
cd ../ui
npm installcd backend
python main.py后端运行在 http://localhost:8000
cd ui
npm run dev前端运行在 http://localhost:5173
- 在模拟器中使用 WASD 或方向键控制小车
- 点击"开始采集"按钮开始记录数据
- 采集完成后点击"停止采集"(自动导出到
output/dataset/)
- 确保已采集足够数据(至少100个样本)
- 点击"开始训练"按钮
- 训练完成后模型保存在
output/train/model.pt
- 点击"加载模型"加载训练好的模型
- 点击"自动推理"让小车自主行动
当前 ACT 相关代码已经按职责拆分为几层:
policies/models/act/- 纯模型定义、配置、默认参数与训练脚本
backend/services/act_checkpoint.py- checkpoint 解析、模型实例化、stats 加载
backend/services/act_preprocess.py- 图像预处理、状态归一化、动作反归一化
backend/services/act_execution.py- 在线 temporal ensembling / action chunk 融合策略
backend/services/act_model.pyACTInferenceRuntime运行时装配层
backend/api/__init__.py与backend/sio_handlers/__init__.py- 通过显式 runtime 接口调用推理,不再直接依赖隐式模块状态
统一检查入口:
python3 backend/run_act_checks.py该入口当前会执行:
python3 -m pytest tests/act -q当前会顺序运行:
tests/act/test_model_minimal.pytests/act/test_runtime_backend.pytests/act/test_data_export_stats.pytests/act/test_end_to_end_smoke.py
如果这一入口通过,说明当前 ACT 主链路至少在最小工作流上是闭合的。
├── backend/ # 后端代码
│ ├── main.py # 入口
│ ├── api/ # REST API
│ ├── sio_handlers/ # Socket.IO 事件处理
│ └── services/ # ACT runtime / 训练 / 导出
├── tests/
│ └── act/ # ACT 最小回归与 smoke tests
├── ui/ # 前端代码
├── output/ # 输出目录
│ ├── dataset/ # 采集的数据
│ └── train/ # 训练模型
│ └── model.pt
└── README.md
- 后端: FastAPI, Socket.IO, PyTorch
- 前端: React, TypeScript, Socket.IO Client