# Trajectory_Prediction **Repository Path**: cyuming/Trajectory_Prediction ## Basic Information - **Project Name**: Trajectory_Prediction - **Description**: 开源安全目标软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 135 - **Created**: 2026-05-27 - **Last Updated**: 2026-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Trajectory Prediction for Agent Motion Simulation 本项目面向二维环境中的智能体运动模拟任务。我们把每条轨迹看作一个移动智能体在环境中的观测序列,用历史轨迹去预测未来轨迹,并围绕预测结果扩展了不确定性评估、在线滚动预测、异常检测和逐步误差分析等功能。 典型场景包括: - 自动驾驶或移动机器人在路网中的轨迹外推 - 多智能体仿真中的未来行为估计 - 离线轨迹回放中的风险分析与质量评估 ## 模型概览 主模型定义在 [TCN+Informer+RNN.py](),整体结构是: - `TCN`:提取历史轨迹的局部时序模式 - `Cross Attention`:把 TCN 特征桥接到 Informer 编码端 - `Informer`:建模长时依赖和全局时序关系 - `BiLSTM + Linear`:将时序表示解码为未来二维坐标 输入是 `history_len` 步历史轨迹,输出是 `future_steps` 步未来坐标。每个时间步的输入特征包含: - `x, y` - 速度 - 转向角 ## 目录说明 - [TCN+Informer+RNN.py]():训练、测试、可视化、功能集成入口 - [data/file_processor.py]():轨迹文件解析与可复现打乱 - [feature1_uncertainty.py]():MC Dropout 不确定性估计 - [feature2_online_prediction.py]():在线滚动预测 - [feature3_anomaly_detection.py]():轨迹异常检测 - [feature4_stepwise_analysis.py]():逐步误差分析与质量报告 - [best_model.pth]():当前最佳模型权重 - [best_model.pth.config.json]():该模型对应的数据与结构配置 ## 环境依赖 建议使用 Python 3.9+,并安装以下依赖: ```bash pip install torch pytorch-tcn numpy pandas scikit-learn matplotlib ``` ## 数据文件 项目里常用的数据文件有: - `data/data.txt`:原始文本轨迹数据 - `data/data_11000_resampled.json`:11000 条重采样轨迹,适合复现实验 - `data/data_1000_resampled.json`:较小规模样例数据 建议保持: - `trajectory_length = history_len + future_steps` 否则程序会发出警告,并在 `TrajectoryDataset` 中进行截断或补零。 ## 推荐命令 ### 1. 直接复现当前最佳模型测试结果 这条命令会自动读取 `best_model.pth.config.json`,恢复 `300/90/json/11000` 这套配置: ```bash py -3 .\TCN+Informer+RNN.py --mode test ``` ### 2. 复现最佳模型并运行全部分析功能 ```bash py -3 .\TCN+Informer+RNN.py --mode test --run_all_features ``` ### 3. 训练 300/90 配置的主实验 ```bash py -3 .\TCN+Informer+RNN.py --mode train --data_file data/data_11000_resampled.json --file_type json --num_trajectories 11000 --history_len 300 --future_steps 90 --trajectory_length 390 --epochs 50 --batch_size 32 --model_path best_model.pth ``` ### 4. 测试指定模型 如果模型是本脚本新训练保存的,测试时会自动读取对应配置: ```bash py -3 .\TCN+Informer+RNN.py --mode test --model_path .\best_model.pth ``` ## 单项功能命令 ### 不确定性估计 ```bash py -3 .\TCN+Informer+RNN.py --mode test --run_uncertainty ``` ### 在线滚动预测 ```bash py -3 .\TCN+Informer+RNN.py --mode test --run_online_prediction ``` ### 异常检测 ```bash py -3 .\TCN+Informer+RNN.py --mode test --run_anomaly_detection ``` ### 逐步误差分析 ```bash py -3 .\TCN+Informer+RNN.py --mode test --run_stepwise_analysis ``` ## 常用可调参数 - `--history_len`:历史轨迹长度 - `--future_steps`:未来预测步数 - `--trajectory_length`:单条轨迹总长度 - `--num_trajectories`:读取的轨迹数量 - `--batch_size`:批大小 - `--epochs`:训练轮数 - `--seed`:数据打乱与切分随机种子 - `--feature_output_dir`:功能模块输出目录 ## 输出结果 程序通常会在以下位置保存结果: - `trajectory_prediction__/logs`:实验日志 - `trajectory_prediction__/figures`:训练曲线与示例轨迹图 - `predictions/` 或 `test_predictions/`:最佳轨迹图与功能模块输出 <<<<<<< HEAD ======= <<<<<<< HEAD ## 说明 - 当前脚本已经修复了旧 checkpoint 在默认 `test` 模式下无法自动恢复配置的问题。 - 对于旧模型,程序会优先读取 `best_model.pth.config.json` 这类 sidecar 配置文件。 - 训练和测试阶段的数据加载日志现在会分别显示数据源、轨迹池规模、切分规模和随机种子,便于复现实验。 ======= >>>>>>> 1703f74 (更新轨迹预测代码) >>>>>>> 1c9d3bf (更新轨迹预测代码)