- 按功能分类重新组织docs目录结构 - 创建专项项目文档目录 docs/projects/baseline-evaluation-system/ - 将所有baseline evaluation相关文档集中管理 - 完全重写INDEX.md提供清晰的文档导航 - 修复所有property-based测试,确保66个测试全部通过 - 完成最终集成验证,系统功能完整可用 文档结构变更: - guides/: 使用指南和操作说明 - setup/: 环境配置和安装指南 - specs/: 规范、接口、约束文档 - reports/: 实验结果报告和项目总结 - projects/: 按项目组织的专项文档 系统状态: ✅ 66个property-based测试全部通过 ✅ 12个集成测试验证端到端功能 ✅ 2个smoke测试确认核心功能 ✅ 完整的错误处理和恢复机制 ✅ 统计分析和报告生成功能 |
||
|---|---|---|
| .kiro/specs/baseline-evaluation-system | ||
| ChatScene-main | ||
| Scenic-main | ||
| ScenicNL-main | ||
| baseline_evaluation | ||
| data | ||
| docs | ||
| examples | ||
| scripts | ||
| tests | ||
| tools | ||
| .gitignore | ||
| README.md | ||
README.md
🎓 自动驾驶场景生成毕设项目
本项目整合了三个主要的代码库,用于研究基于AI的自动驾驶场景生成技术。项目已完成完整配置,支持从自然语言描述到Scenic代码生成的全流程。
🏆 项目特色
- ✅ 完整配置: 所有环境已配置完成,可直接使用
- 🤖 AI集成: 支持GPT-4o、Claude等多模型API
- 🎭 场景丰富: 包含40+预定义场景和AI生成能力
- 💰 成本优化: 智能模型选择策略,最低$0.15/1M tokens
- 📚 文档完善: 中文文档,快速上手
- 🔬 Baseline评测: 统一评测框架,对比不同方法性能
📁 项目结构
~/桌面/毕设/代码/
├── 📄 README.md # 项目总览 (本文件)
├── 📚 docs/ # 完整中文文档
│ ├── 01_快速开始指南.md
│ ├── 02_环境配置指南.md
│ ├── 03_API使用指南.md
│ ├── 04_文件位置指南.md
│ ├── 05_项目完成总结.md
│ ├── 06_Scenic配置总结.md
│ ├── baseline_eval_guide.md # Baseline评测指南
│ └── FINAL_TEST_RESULTS.md # 最终测试结果
├── 🔬 baseline_evaluation/ # 基准评测系统 (新增)
│ ├── README.md # 评测系统详细说明
│ ├── baseline_eval.py # 主评测脚本
│ └── test_baseline_eval_properties.py # 属性测试套件
├── 🔧 scripts/ # 配置脚本
│ ├── 02_配置API密钥.sh # API配置
│ ├── 03_模型配置测试.py # 模型测试
│ ├── 04_环境检查.sh # 环境检查
│ ├── 05_配置ChatScene.sh # ChatScene配置
│ └── 06_配置ScenicNL.sh # ScenicNL配置
├── 🧪 tests/ # 测试套件
│ ├── 01_基础环境测试.py
│ ├── 02_API连接测试.py
│ ├── 03_Scenic功能测试.py
│ ├── 04_ChatScene项目测试.py
│ ├── 05_ScenicNL项目测试.py
│ ├── 06_完整环境测试.py
│ ├── 07_baseline_eval_smoke.py # Baseline评测烟雾测试
│ ├── 测试_AI场景生成功能.py
│ ├── 测试_ChatScene功能.py
│ └── 测试_完整工作流程.py
├── 🛠️ tools/ # 管理工具
│ ├── baseline_eval.py # 统一Baseline评测脚本 (已迁移)
│ ├── ai_gen_scenic.py # AI场景生成工具
│ ├── 项目管理工具.py # 项目状态管理
│ └── 文件查找工具.py # 文件定位
├── 📊 data/ # 数据文件
│ └── prompts_v1.jsonl # 评测用例数据 (25条测试用例)
├── 🎭 examples/ # 示例文件
│ ├── README.md # 示例说明
│ ├── test_simple.scenic # 简单测试场景
│ └── generated_scenarios/ # AI生成的场景
│ ├── AI生成_场景变体1.scenic
│ ├── AI生成_场景变体2.scenic
│ ├── AI生成_场景变体3.scenic
│ ├── AI生成_超车场景.scenic
│ ├── AI生成_交叉口碰撞.scenic
│ ├── AI生成_完整工作流程示例.scenic
│ └── ai_generated_crash_scenario.scenic
├── 🏗️ .kiro/ # 项目规范文档
│ └── specs/baseline-evaluation-system/ # Baseline评测系统规范
│ ├── requirements.md # 需求文档 (10个主要需求)
│ ├── design.md # 设计文档 (24个正确性属性)
│ └── tasks.md # 任务列表 (16个实现任务)
├── 🎭 Scenic-main/ # Scenic官方代码库 ✅
├── 🚗 ChatScene-main/ # ChatScene项目 ✅
└── 🗣️ ScenicNL-main/ # ScenicNL项目 ✅
🎯 三大核心项目
1. 🎭 Scenic-main (官方代码库)
- 状态: ✅ 完全配置完成
- 描述: Scenic语言的官方实现,概率性场景建模
- 版本: 3.1.0
- 功能: 基础场景描述语言和仿真框架
2. 🚗 ChatScene-main (CVPR2024)
- 状态: ✅ 核心功能完全可用
- 描述: 基于知识的安全关键场景生成系统
- 论文: "ChatScene: Knowledge-Enabled Safety-Critical Scenario Generation"
- 特色: 40个预定义场景 + 12个预训练模型
3. 🗣️ ScenicNL-main (自然语言生成)
- 状态: ✅ 核心功能完全可用
- 描述: 从自然语言描述生成Scenic程序
- 功能: 文本描述 → Scenic代码转换
🔬 新增:统一Baseline评测系统
📁 专用目录结构
baseline_evaluation/
├── README.md # 评测系统详细说明
├── baseline_eval.py # 主评测脚本
└── test_baseline_eval_properties.py # 属性测试套件 (24个正确性属性)
📊 评测功能
- 双方法对比: ChatScene-retrieve vs ScenicNL
- 统一编译检查: 使用ScenicNL的check_compile函数
- 全面指标: 可编译率、修复轮次、耗时统计
- 错误分类: GEN_FAIL, COMPILE_FAIL, TIMEOUT, EXCEPTION
- 恢复机制: 支持中断后继续执行
- 容错系统: 个别失败不影响整体评测
🎯 评测用例
- 25条测试用例: 覆盖各种交通场景
- 场景类型: 十字路口、高速公路、跟车、并线、超车、遮挡、碰撞等
- 标准化格式: JSONL格式,便于扩展和管理
📈 输出报告
- CSV结果: 详细的每个用例结果
- Markdown摘要: 成功率、平均耗时、错误分析
- 组织化存储: 完整的目录结构和中间文件
🚀 快速开始
🌟 一键启动
# 1. 激活环境 (如果需要)
conda activate scenic
# 2. 配置API (如需要)
bash scripts/02_配置API密钥.sh
# 3. 运行完整测试
python tests/06_完整环境测试.py
🔬 运行Baseline评测
# 完整评测 (ChatScene-retrieve + ScenicNL)
python baseline_evaluation/baseline_eval.py \
--cases data/prompts_v1.jsonl \
--methods chatscene scenicnl \
--out runs/baseline_v1 \
--limit 20
# 烟雾测试 (快速验证)
python tests/07_baseline_eval_smoke.py
# 运行属性测试
python -m pytest baseline_evaluation/test_baseline_eval_properties.py -v
🎭 运行Scenic示例
cd Scenic-main
scenic --2d examples/driving/car.scenic --count 1
🤖 测试AI功能
python tests/测试_AI场景生成功能.py
🤖 AI模型配置
🎯 推荐模型策略
- 📝 主力代码生成:
gpt-4o($5.0/1M tokens)- 用途: 复杂Scenic代码生成
- 👁️ 主力视觉理解:
gpt-4o-2024-08-06($2.5/1M tokens)- 用途: 车祸图片分析
- 🔧 低成本调试:
gpt-4o-mini($0.15/1M tokens)- 用途: 快速测试和调试
🔑 API配置
- 平台: aabao.top (API聚合平台)
- 地址: https://api.aabao.top/v1
- 状态: ✅ 已配置并测试成功
💡 核心功能演示
🔄 完整工作流程
车祸描述 → AI分析 → Scenic代码 → ChatScene训练
🔬 Baseline评测流程
测试用例 → ChatScene-retrieve生成 → 编译检查 → 结果统计
→ ScenicNL生成 → 编译检查 → 性能对比
🎯 实际应用场景
- 车祸图片分析: 使用视觉模型提取场景信息
- 场景代码生成: 自动生成标准Scenic代码
- 方法性能对比: 统一评测不同生成方法
- 场景库扩展: 快速生成大量测试场景
📊 项目完成度
| 组件 | 状态 | 功能 |
|---|---|---|
| 基础环境 | ✅ 100% | Python 3.8.20 + Conda |
| Scenic官方库 | ✅ 100% | 完全可用,可运行示例 |
| ChatScene项目 | ✅ 95% | 核心功能可用,40个场景 |
| ScenicNL项目 | ✅ 95% | 自然语言转换功能可用 |
| API集成 | ✅ 100% | 多模型支持,成本优化 |
| Baseline评测 | ✅ 100% | 完整评测框架和测试用例 |
| 文档系统 | ✅ 100% | 完整中文文档 + 规范文档 |
🛠️ 管理工具
📊 项目状态查看
python tools/项目管理工具.py status
🔍 文件查找
python tools/文件查找工具.py scenic # 查找Scenic文件
python tools/文件查找工具.py chatscene # 查看ChatScene场景
🧪 运行测试
python tools/项目管理工具.py test # 完整测试
python tools/项目管理工具.py test scenic # Scenic测试
python tools/项目管理工具.py test chatscene # ChatScene测试
📚 文档导航
🚀 快速使用
📋 项目管理
- 📁 文件位置指南: 快速定位文件
- 🎯 项目完成总结: 配置成果总结
- 🔬 Baseline评测指南: 评测系统使用
🏗️ 开发规范
🎉 立即可用功能
✅ Scenic场景生成: 运行官方示例和自定义场景
✅ AI代码生成: 从描述自动生成Scenic代码
✅ ChatScene训练: 使用40个预定义场景训练
✅ 场景分析: AI分析车祸图片提取信息
✅ 成本优化: 智能选择最适合的AI模型
✅ Baseline评测: 统一对比不同生成方法性能
✅ 规范开发: 完整的需求、设计、任务文档
🚀 开始你的毕设研究
你现在拥有了一个完全配置好的、专业级的自动驾驶场景生成研究环境!
🎯 研究方向建议
- 场景生成算法优化: 基于ChatScene改进生成策略
- AI模型对比研究: 不同模型在场景生成中的表现
- 场景质量评估: 开发场景多样性和真实性评估方法
- 实际应用验证: 在CARLA中验证生成场景的有效性
- 方法性能分析: 使用Baseline评测系统深入分析各方法优劣
💪 你的优势
- 🔧 完整技术栈: Scenic + CARLA + AI模型
- 💰 成本优化配置: 专业的模型选择策略
- 📊 丰富数据: 40个预定义场景 + AI生成能力 + 25个评测用例
- 🛠️ 完善工具: 脚本、测试、文档、评测一应俱全
- 📋 规范开发: 需求、设计、任务完整规范文档
🎓 祝你毕设顺利!现在就开始探索AI驱动的自动驾驶场景生成世界吧!
最后更新: 2026-01-11 | 项目状态: 完全就绪 ✅ | 新增: Baseline评测系统 🔬