Browse Source

update readme

game_control
Backpack 2 months ago
parent
commit
02f5ef9872
1 changed files with 31 additions and 9 deletions
  1. +31
    -9
      README.md

+ 31
- 9
README.md View File

@ -4,19 +4,41 @@
## 一、项目简介
本项目通过实时摄像头捕捉与 AI 手势识别,构建了一个**无需物理手柄**的赛车游戏交互系统。用户可直接用手势完成加速、刹车、转向等指令,真正实现“举手即控”,打造更**自然流畅、沉浸感强**的赛车体验。
本项目基于 Google 的 MediaPipe 手部追踪系统,结合自定义几何规则与信号滤波算法,实现了无需物理手柄的赛车游戏操作方式。用户通过简单自然的手势(如拇指上扬、手掌倾斜等),即可完成加速、刹车、转向等核心动作,实现“举手即控”,打造更**自然流畅、沉浸感强**的赛车体验。
项目已成功在 Steam 游戏 **《Rush Rally Origins》** 中落地实操,演示中可见控制精准、响应及时,适用于所有兼容 Xbox 手柄的赛车类游戏。
系统已成功应用于 Steam 游戏 **《Rush Rally Origins》**,在实机演示中展现出流畅、精准的控制体验,广泛适用于支持 Xbox 手柄输入的竞速类游戏。
------
## 二、核心功能亮点
- **30FPS 实时视频流捕捉**:稳定接入 USB 摄像头,快速获取手部动作
- **Mediapipe 手部追踪识别**:结合拇指状态与方向角度,识别多种驾驶手势
- **vgamepad 虚拟 Xbox 控制器**:将识别结果转换为真实手柄指令,适配游戏
- **卡尔曼滤波稳定手势信号**:平滑角度数据,避免误识别与抖动
- **PySide2 图形界面支持**:自带窗口反馈、图像展示、灵敏度调节 UI 面板
为提升可视性与操作便利性,系统配套开发了基于 PySide2 的图形界面,集成摄像头画面、手势识别反馈、指令图标展示与灵敏度调节等功能,支持完整的交互闭环。
**主要功能:**
| 功能项 | 实现细节 |
| ------------ | ---------------------------------------------------- |
| 实时画面展示 | OpenCV 摄像头采集 + QImage 渲染窗口 |
| 手势图标反馈 | 根据识别结果在界面中央展示代表性图标(如加速、左转) |
| 文本提示 | 显示当前识别出的指令(如“加速”、“左转”) |
| 灵敏度调节 | 滑动条实时控制手势判断敏感度(用于调试与个性化) |
| 平滑识别 | Kalman Filter + Sigmoid 映射,过滤角度抖动与误判 |
| 虚拟控制输出 | 手势状态映射为 Xbox 指令,传递至 `vgamepad` 接口 |
**稳定机制:**
- 采用手势状态组合(如 `"left_up"`、`"unknown_bark"`)构建指令队列;
- 取历史 N 次指令中出现频率最高的结果作为最终决策;
- 实现多帧确认机制,避免“瞬时误识别”导致错误控制。
**部分功能:**
- 👋 中心图标实时展示当前识别手势
- 📷 窗口左上角显示摄像头原始图像流
- 🎚️ 窗口底部滑动条调整灵敏度
- 🔘 “退出”按钮关闭程序
> 项目整体已形成:摄像头采集 → 手势识别 → 稳定判断 → 图像反馈 → 虚拟控制 的完整闭环。
------
@ -43,13 +65,13 @@
pip install -r requirements.txt
```
1. 运行主程序:
3. 运行主程序:
```
python main.py
```
> 确保系统有可用摄像头,支持 DirectShow 接口调用
> 请确保电脑已连接摄像头,并支持 DirectShow 接口访问
------

Loading…
Cancel
Save