# 📡 WaveControl 隔空手势控制系统

> 一套融合**手势识别**与**语音控制**的非接触式人机交互系统，包含主控制平台、手语学习平台 WaveSign、赛车游戏控制模块三大子系统，致力于打造自然、高效、多场景适配的“举手即控”体验。



## 项目简介

在厨房、医疗、演讲等“无法触控”或“不便触控”的环境中，传统鼠标/键盘交互模式效率低、操作受限。**WaveControl**以此为切入点，构建了一个基于摄像头识别的隔空控制系统，融合手势识别与语音识别，实现对系统级输入（键盘/鼠标）、手语教学以及游戏控制等功能。

项目采用模块化架构设计，包含三大子系统：

1. **主控制平台**：支持窗口操作、媒体控制、鼠标替代、游戏映射等功能
2. **赛车游戏交互系统**：实现与《Rush Rally Origins》等赛车游戏的隔空手柄交互
3. **WaveSign 手语通**：面向听障人群的手语学习与社区互动平台



## 测试信息

本项目配套了完整的[测试文档](./项目测试文档.md)，涵盖以下子模块：

- ✅ **主控制系统测试程序**：手势识别 → 键盘鼠标映射 → 交互反馈
- ✅ **游戏控制测试程序**：手势实时识别 → 虚拟手柄信号发送 → 赛车游戏响应验证
- ✅ **手语识别与打分测试程序**：摄像头实时捕捉动作 → MediaPipe评分 → UI动画与文本反馈
- ✅ **用户交互测试**：社区发帖、点赞评论、任务管理、日程提醒等核心功能均有覆盖

测试方式支持浏览器调试 + 控制台运行日志追踪，若遇白屏可通过 Chrome DevTools 检查模块加载或路径引用情况。



## Git 分支说明

| 分支名               | 描述                                                 | 跳转链接                                                     |
| -------------------- | ---------------------------------------------------- | ------------------------------------------------------------ |
| `master`             | 主分支，已完成整合，适用于演示与部署                 | [🔗 master 分支](https://gitee.com/wydhhh/software-engineering/tree/master/) |
| `finalv1`            | 前后端初步融合尝试，手势 → 页面响应逻辑测试阶段      | [🔗 finalv1](https://gitee.com/wydhhh/software-engineering/tree/finalv1/) |
| `finalv2`            | 完成手势识别与前端事件联动，页面按钮联动测试         | [🔗 finalv2](https://gitee.com/wydhhh/software-engineering/tree/finalv2/) |
| `finalv3`            | 增加语音识别、手势控制切换、音乐控制、手语平台接入   | [🔗 finalv3](https://gitee.com/wydhhh/software-engineering/tree/finalv3/) |
| `finalv4`            | 功能打磨阶段：各子系统联调优化、前端样式完善         | [🔗 finalv4](https://gitee.com/wydhhh/software-engineering/tree/finalv4/) |
| `gesture`            | 手势识别逻辑独立开发模块                             | [🔗 gesture](https://gitee.com/wydhhh/software-engineering/tree/gesture/) |
| `gesture_for_chrome` | 针对 Chrome 插件开发的手势控制方案（PPT翻页）        | [🔗 gesture_for_chrome](https://gitee.com/wydhhh/software-engineering/tree/gesture_for_chrome/) |
| `gesture-game`       | 初步游戏控制实验，控制小球移动                       | [🔗 gesture-game](https://gitee.com/wydhhh/software-engineering/tree/gesture-game/) |
| `game_control`       | 控制《Rush Rally Origins》赛车游戏，已支持加速转向等 | [🔗 game_control](https://gitee.com/wydhhh/software-engineering/tree/game_control/) |
| `wavesign`           | 手语通子系统开发主线，包括教学评分、社区、日程等     | [🔗 wavesign](https://gitee.com/wydhhh/software-engineering/tree/wavesign/) |
| `web`                | 最初的网页原型设计，UI 静态草稿                      | [🔗 web](https://gitee.com/wydhhh/software-engineering/tree/web/) |



## 技术架构

| 层级         | 技术方案                                                     |
| ------------ | ------------------------------------------------------------ |
| 前端         | vue3 + TypeScript +HTML + CSS + Tailwind CSS + JavaScript + PySide2（Qt GUI） |
| 后端         | Django 4.x（主平台 + 手语通） + Python 脚本逻辑（游戏控制）  |
| 手势识别     | MediaPipe Hand Landmarker                                    |
| 虚拟设备控制 | 键盘鼠标模拟、vgamepad 虚拟手柄（XInput）                    |
| 数据处理     | Kalman Filter（手势抖动滤波）、SQLite3 数据库                |



## 模块介绍

### 1️⃣ 主控制平台（WaveControl）

##### ✌️ **功能特色**

- 多种预设手势操作（点击、滚动、后退等）
- 手势范围调节与自定义手势库
- 支持语音识别辅助控制
- 界面直观，状态反馈实时

##### 🎯 应用场景

- 📺 沙发上追剧时，不再找遥控器，用手势暂停/快进
- 👨‍🏫 教学/演讲中，用手势控制 PPT 流畅翻页
- 🧑‍🍳 厨房做饭时，隔空查食谱不怕弄脏设备
- 🏥 医疗/无菌操作室中，非接触式操作电脑界面
- 🕹️ 游戏中挥手即控，沉浸感倍增

🖼️  **UI 示例**

- 控制主面板（准确率/响应时间/识别窗口）
- 手势管理面板（快捷操作映射设置）





### 2️⃣ 游戏控制模块

🔗 项目演示：[游戏控制项目演示视频](https://www.bilibili.com/video/BV1H5gLzsEn8?vd_source=46a0e2ec60dfb8a247c96905ee47d378)

🎮 目标：**无需实体手柄，通过摄像头即可玩赛车游戏！**

适配游戏：Steam平台《Rush Rally Origins》及支持 Xbox手柄的其他游戏

**实现要点：**

| 功能         | 技术说明                                                    |
| ------------ | ----------------------------------------------------------- |
| 摄像头识别   | OpenCV + MediaPipe                                          |
| 手势控制映射 | 👍右手拇指上扬 = 加速 👍左手 = 刹车 ✋左倾 = 左转，右倾 = 右转 |
| 虚拟手柄接口 | vgamepad + XInput                                           |
| 抖动滤除     | Kalman 滤波器平滑动作                                       |
| UI反馈       | PySide2 构建调试窗口                                        |



### 3️⃣ 手语通子项目：**WaveSign**

🔗 项目演示：[手语通项目演示视频](https://www.bilibili.com/video/BV1Fig5zHEhq?vd_source=46a0e2ec60dfb8a247c96905ee47d378)

项目定位：帮助听障人群及其家人朋友学习、练习、交流手语的综合平台

**功能模块：**

- ✅ **手语教学与评分系统**：上传视频或用摄像头练习手语动作，系统打分反馈
- 🗺️ **课程地图与互动练习**：任务式学习，配合卡片式巩固练习
- 👥 **社区交流**：发帖、评论、点赞、关注等功能
- 📅 **日程管理**：内置待办事项与日历，辅助学习安排
- 🧭 **生活服务**：
  - 出行导航（结合地图与实时提醒）
  - 辅助器具推荐
  - 就业信息推送
  - 无障碍亲子/技能活动预告

**技术实现：**

- Django + SQLite 构建用户系统与服务逻辑
- 使用 MediaPipe 实时评分用户手语表现
- 前端页面响应式 + 卡片式交互体验



## 项目成员

王云岱 朱子玥 杨嘉莉



## 📌 项目进度

- ✅ 第一轮：系统原型 + UI设计 + 手势识别框架
- ✅ 第二轮：主平台功能实现 + 手势控制实现
- ✅ 第三轮：打通语音识别 + 游戏交互控制 + 手语通平台初步实现
- ✅ 第四轮：赛车游戏交互实现 + 手语通平台完整搭建
- 🧪 第五轮：综合测试 + 用户体验调优 + 结项演示