# 听语宝 **Repository Path**: aibcode/handler ## Basic Information - **Project Name**: 听语宝 - **Description**: 本项目基于 MediaPipe 和 TensorFlow,结合 OpenCV 实现了一个实时手势动作识别系统。 - **Primary Language**: Python - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-09 - **Last Updated**: 2025-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, AI ## README # **听语宝 (Listening Youbao)** ## **项目简介** | ![](https://gitee.com/aibcode/handler/raw/master/.assets/test_ds.png) | ![](https://gitee.com/aibcode/handler/raw/master/.assets/test_metrics.png) | |---|---| | ![](https://gitee.com/aibcode/handler/raw/master/.assets/test_ds.png) | ![](https://gitee.com/aibcode/handler/raw/master/.assets/training_history.png) | “听语宝”是一个专为聋哑人设计的实时手势识别系统,通过计算机视觉和人工智能技术,帮助聋哑人更便捷地与他人沟通。该系统实时识别用户的手势,并将其翻译为文字或语音,旨在打破语言障碍,促进更高效的交流。 功能特点 - 实时手势识别:使用摄像头捕捉用户手势,并立即进行识别和反馈。 - 多语言支持:将手势翻译为文字或语音,支持多种语言切换。 - 友好的用户界面:简单易用的图形用户界面,方便用户操作和查看识别结果。 - 高准确率与实时性:基于深度学习算法和优化的手势识别模型,实现高准确率和实时反馈。 ## **技术栈** - **编程语言**:Python 3.12+ - **主要库与框架**: - [MediaPipe](https://google.github.io/mediapipe/):手势关键点检测。 - [TensorFlow/Keras](https://www.tensorflow.org/):进行手势识别模型的构建与训练。 - [OpenCV](https://opencv.org/):用于视频捕捉和图像处理。 - NumPy、Pillow:数据处理与图像操作。 - vosk, SpeechRecognition:语音识别。 --- ## **项目结构** ``` project/ . src/ │ ├── main.py # 主程序入口文件,执行应用的主要逻辑 │ ├── Animation/ # 包含动画界面相关的所有类和组件 │ ├── Animation.py # 动画的主渲染和控制类 │ ├── base.py # 定义了动画组件的基类(例如,Item类) │ ├── Button.py # 按钮组件,处理按钮渲染和交互 │ ├── ChatMessage.py # 聊天记录组件,渲染聊天消息并处理滚动 │ ├── SystemUi.py # 系统UI组件,管理UI的整体布局和渲染 │ ├── Text.py # 文本组件,渲染文本信息 │ └── __init__.py # 包初始化文件 │ ├── create_model/ # 包含与模型创建和训练相关的文件 │ ├── cnn_model.py # CNN模型的定义与训练代码 │ ├── model_save_images.py # 用于保存模型训练过程中生成的图片 │ ├── model_use_Qt.py # 用于在Qt框架中使用模型的接口 │ └── __init__.py # 包初始化文件 │ ├── handlers/ # 存放各种处理器文件,如手势识别、语音处理等 │ ├── icon/ # 存放应用的图标文件 │ ├── model/ # 存放模型相关的文件 │ ├── dataset/ # 存放数据集文件 │ └── vosk-model-small-cn-0.22/ # 语音识别模型文件 │ ├── resources/ # 存放资源文件,如字体、聊天记录等 │ ├── chat_history.json # 聊天记录的JSON文件 │ ├── cnn_model.keras # 训练好的CNN模型文件 │ ├── label.json # 存储CNN模型标签的JSON文件 │ └── simkai.ttf # 中文字体文件 │ └── utils/ # 存放工具类文件 ├── model_handler_utils.py # 处理模型推理和结果的工具类 └── speech_utils.py # 语音处理相关的工具类 └── test/ # 存放单元测试文件 └── test_animation.py # 针对动画渲染和UI组件的测试 ``` --- ## **运行说明** ### Windows ### 源码 #### **环境依赖** 1. 确保安装 Python 3.12+, 拉取代码。 ```BASH git clone https://gitee.com/aibcode/handler.git cd handler ``` 2. 使用以下命令安装依赖库: ```bash pip install -r requirements.txt ``` #### **模型与资源准备** 1. 生成CNN模型文件 ```bash python src/create_model/cnn_model.py ``` 2. 确保 `cnn_model.keras` 和 `label.json` 文件位于 `src/resources/` 目录。 #### **启动程序** 在项目根目录运行以下命令启动程序: ```bash python app.py ``` --- ### 手势模型更新 1. 使用新的手势数据集训练深度学习模型,保存为 `.keras` 文件。 2. 更新 `label.json` 文件以匹配新模型的类别。 --- ## **演示** 演示视频或截图可以展示以下内容: - 手势捕捉及关键点显示。 - 动画与识别结果的实时反馈。 --- ## 参考 - [基于LSTM和CNN的动作识别 ](https://zhuanlan.zhihu.com/p/678335059) ## **未来计划** - 提升模型精度以支持更多手势动作。 - 支持多平台(Win, Mac, Linux, 安卓) - 更好的界面UI - 表情系统的支持 - 手写(绘图)模式 --- ## **贡献** 欢迎提交 Issues 或 Pull Requests 改进项目!如有任何建议,请联系开发者。 --- ## **许可** APL3.0 License