# 📡 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/) | | `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/) | | `screenshot` | 手势控制截屏模块,用于快速抓取操作界面 | [🔗 screenshot](https://gitee.com/wydhhh/software-engineering/tree/screenshot/) | | `vosk_inc` | 接入 VOSK 实现语音识别与实时字幕展示 | [🔗 vosk_inc](https://gitee.com/wydhhh/software-engineering/tree/vosk_inc/) | ## 技术架构 | 层级 | 技术方案 | | ------------ | ------------------------------------------------------------ | | 前端 | 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设计 + 手势识别框架 - ✅ 第二轮:主平台功能实现 + 手势控制实现 - ✅ 第三轮:打通语音识别 + 游戏交互控制 + 手语通平台初步实现 - ✅ 第四轮:赛车游戏交互实现 + 手语通平台完整搭建 - 🧪 第五轮:综合测试 + 用户体验调优 + 结项演示