Logo
Traffic

Traffic

研究项目

基于 SUMO 与 PyTorch 构建多路口交通信号深度强化学习系统,围绕 DQN、Dueling DQN、Double DQN 和动态利他奖励机制优化信号配时策略。

SUMOPyTorchPythonDQNTensorBoard

多路口交通信号深度强化学习控制系统

1. 简介

本项目是一个基于 SUMO 仿真、Gymnasium 环境封装与 PyTorch 深度强化学习的多路口交通信号控制实验系统,旨在通过智能体学习自适应信号配时策略,降低车辆等待时间、提升道路通行效率并改善交通能耗指标。

2. 项目背景

该项目为大学生创新创业竞赛中的以“智慧交通 / 城市拥堵治理”为选题的项目,关注城市多路口场景下固定配时信号灯难以适应动态车流的问题。传统定时或感应式控制依赖人工规则和经验参数,在车流波动、相邻路口排队相互影响时,容易出现局部最优、排队外溢和通行效率下降。

本项目为**深度强化学习(Deep Reinforcement Learning, DRL)**方向:使用 DQN、Double DQN、Dueling DQN 等强化学习算法框架,并用 PyTorch 神经网络近似 Q 函数,让交通信号智能体在 SUMO 交通仿真环境中通过“状态-动作-奖励”的交互过程学习控制策略。

项目在原有独立 DQN 控制框架上尝试做轻量化算法改进:在不引入复杂集中式多智能体架构的前提下,结合动态利他奖励、Dueling DQN 网络结构和软更新目标网络,提高多路口协同控制效果,使方案更适合竞赛展示、工程复现和后续扩展。

该项目由多人共同完成。未经同意,先不放名字。在此致谢其余4位伙伴。

3. 核心功能及亮点

  • 多路口交通信号强化学习训练闭环
    项目将 SUMO 路网封装为 Gymnasium 风格的多交通灯环境,为每个路口创建独立 DQN 智能体,实现从状态观测、动作选择、相位切换、奖励反馈到经验回放学习的完整闭环。实际价值在于可以在仿真环境中低成本验证信号控制策略,避免直接在真实道路试错。

  • 动态利他奖励机制
    系统在局部路口奖励之外引入全局奖励,并根据路口拥堵饱和度动态调整局部收益与全局收益的权重。轻度拥堵时智能体更多考虑路网整体效率,重度拥堵时优先疏解本地排队。该机制有助于缓解多路口控制中“只顾本路口、把拥堵转移到下游”的问题。

  • Dueling DQN + Double DQN + Soft Update 的组合改进
    项目支持 Dueling DQN,将状态价值和动作优势分开估计;使用 Double DQN 形式计算目标值,降低 Q 值过估计风险;同时通过软更新平滑目标网络参数。实际价值是提升训练稳定性,并让算法在多个相位收益差异不明显的交通状态下更稳健地学习。

  • 可复现实验配置与论文级结果导出
    项目提供 baseline / ours 两类实验 profile,并围绕双路口、四路口、低/中/高交通压力和不同随机种子生成实验配置;训练指标通过 TensorBoard 记录,并可转换为论文图表所需的 CSV 与中文标签。实际价值是让算法对比不只停留在代码实现,而能形成可展示、可复查的实验结果。

  • 工程化训练支持
    项目支持 libsumo 优先的无界面训练、traci 回退、模型 checkpoint、断点续训、按路口经验回放、训练/测试模式切换和交通排放指标统计。这些能力降低了长时间训练中断、仿真性能瓶颈和结果追踪混乱带来的风险。

4. 技术栈

技术在项目中的作用
Python项目主开发语言,负责训练入口、环境封装、智能体逻辑、实验配置解析和结果处理。
SUMO / TraCI / libsumo构建微观交通仿真环境,提供车辆、车道、信号灯相位、等待时间、速度、排放等交通数据;libsumo 用于提升无界面训练性能。
Gymnasium将 SUMO 多路口仿真封装成强化学习环境,定义动作空间、观测空间、resetstep 交互接口。
PyTorch实现 DQN / Dueling DQN 神经网络、Q 值学习、目标网络更新和模型保存。
DQN / Double DQN / Dueling DQN项目的核心深度强化学习算法,用于学习不同交通状态下的信号相位选择策略。
TensorBoard记录训练奖励、损失、探索率、交通效率、排放与油耗等指标,支撑实验曲线分析和论文结果展示。
YAML 配置管理路网、车流、训练参数、奖励策略、算法 profile 和论文实验矩阵,便于复现实验与批量对比。
Matplotlib / CSV 数据处理根据 TensorBoard 导出的实验数据生成论文图表和统计表。

5. 项目成果

论文实验以四路口中等交通压力场景为主要展示样例,对比 Baseline 独立 DQN 与本项目改进方法 Ours。两组实验使用相同路网、车流、随机种子和训练流程;统计区间取 Baseline 与 Ours 共同覆盖训练步数中的末段 20 个数据点。

5.1 定量结果

指标Baseline(末20点均值±标准差)Ours(末20点均值±标准差)相对变化
平均车辆等待时间87.12 ± 13.28 s56.09 ± 3.98 s降低 35.6%
平均车速19.57 ± 1.47 km/h23.72 ± 0.67 km/h提升 21.3%
系统总等待时间301074 ± 45901 s193861 ± 13740 s降低 35.6%
总二氧化碳排放1154248698 ± 37256142 mg1070042934 ± 12697850 mg降低 7.3%
总油耗367235507 ± 11790910 ml340616850 ± 4025485 ml降低 7.2%

从论文结果看,改进方法在交通效率指标上表现较明显:平均等待时间和系统总等待时间均降低 35.6%,平均车速提升 21.3%。同时,虽然奖励函数并未直接优化碳排放和油耗,但由于等待和启停减少,实验中的 CO2 排放和油耗也同步下降。

5.2 图表展示

四路口中等压力场景相对改进

图中汇总了 Ours 相对 Baseline 在末段统计窗口中的主要提升:等待时间类指标下降最明显,车速提升稳定,环境指标也有一定改善。

平均车辆等待时间对比

在平均车辆等待时间曲线中,Baseline 在部分训练区间出现较大波动,而 Ours 整体保持在更低、更稳定的等待时间水平,体现出动态利他奖励与稳定学习策略对多路口协同控制的帮助。

平均车速对比

平均车速曲线显示,Ours 在大部分重叠训练区间保持高于 Baseline 的通行速度,说明车辆通过受控路口的流畅性有所改善。

系统总等待时间对比

系统总等待时间与平均车辆等待时间趋势一致,说明改进效果不仅体现在单车体验上,也体现在路网整体运行效率上。

总二氧化碳排放对比

总油耗对比

排放和油耗结果表明,交通效率优化可以间接带来环境收益:车辆等待和频繁启停减少后,总 CO2 排放和燃油消耗均出现下降。