Skip to content

SADEYESS/CV_Pilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CV_Pilot

本项目实现了一个基于计算机视觉深度学习的自动驾驶系统。深受经典开源项目 PyGTA5(Charles) 的启发并在其基础上进行简化修改,通过 CNN 实时分析 OpenCV 获取的游戏画面,实现了从图像输入到按键控制的端到端决策流程。

项目特性

  • pygetwindow 库获取待采集的窗口画面
  • PyTorch(2.10.0) 搭建深度学习训练框架, 采用 ResNet-50 模型
  • 采用 directkeys.py 封装的 Windows API,实现更贴近硬件层的 DirectInput 按键模拟,绕过常规模拟软件的延迟与屏蔽

项目结构

  • collect_data.py: 数据采集脚本,以目标帧率同步记录屏幕画面与键盘输入操作
  • train_rn50.py: 基于 ResNet-50 的主训练程序,包含学习率阶梯衰减和最佳模型保存逻辑
  • run_autodrive.py: 自动驾驶推理脚本,实时抓取游戏画面并驱动模型进行驾驶决策
  • view_collected.py: 数据可视化验证工具,用于回放检查采集到的 .npy 数据是否准确
  • directkeys.py: 底层键盘控制封装

数据采集

  • 启动想要采集的窗口,确保窗口名完全正确
  • 运行 python collect_data.py
  • 在程序窗口中按下 T 键,经过 5 秒倒计时后开始驾驶以记录数据。数据将以 .npy 格式保存在指定目录

模型训练

  • 利用采集的数据集进行训练

开启自动驾驶

  • 运行 python run_autodrive.py
  • 回到窗口画面,按下 T 键切换自动驾驶状态

运行情况

查看收集的数据:
view_data

进行自动驾驶预测:
showcase

About

参考pygta5项目,基于视觉方案通过深度学习实现简单的端到端实时驾驶决策

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages