基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(五)

news2025/2/28 3:37:10

目录

  • 前言
  • 总体设计
    • 系统整体结构图
    • 系统流程图
  • 运行环境
  • 模块实现
    • 1. 数据预处理
    • 2. 数据增强
    • 3. 模型构建
    • 4. 模型训练及保存
    • 5. 模型评估
    • 6. 模型测试
  • 系统测试
    • 1. 训练准确率
    • 2. 测试效果
    • 3. 模型应用
      • 1)程序下载运行
      • 2)应用使用说明
      • 3)测试结果
  • 相关其它博客
  • 工程源代码下载
  • 其它资料下载


在这里插入图片描述

前言

本项目依赖于Keras深度学习模型,旨在对手语进行分类和实时识别。为了实现这一目标,项目结合了OpenCV库的相关算法,用于捕捉手部的位置,从而能够对视频流和图像中的手语进行实时识别。

首先,项目使用OpenCV库中的算法来捕捉视频流或图像中的手部位置。这可以涉及到肤色检测、运动检测或者手势检测等技术,以精确定位手语手势。

接下来,项目利用CNN深度学习模型,对捕捉到的手语进行分类,经过训练,能够将不同的手语手势识别为特定的类别或字符。

在实时识别过程中,视频流或图像中的手语手势会传递给CNN深度学习模型,模型会进行推断并将手势识别为相应的类别。这使得系统能够实时地识别手语手势并将其转化为文本或其他形式的输出。

总的来说,本项目结合了计算机视觉和深度学习技术,为手语识别提供了一个实时的解决方案。这对于听觉障碍者和手语使用者来说是一个有益的工具,可以帮助他们与其他人更轻松地进行交流和理解。

总体设计

本部分包括系统整体结构图和系统流程图。

系统整体结构图

系统整体结构如图所示。

在这里插入图片描述

系统流程图

系统流程如图所示。

在这里插入图片描述

运行环境

本部分包括 Python 环境、TensorFlow环境、 Keras环境和Android环境。

模块实现

本项目包括6个模块:数据预处理、数据增强、模型构建、模型训练及保存、模型评估和模型测试,下面分别介绍各模块的功能及相关代码。

1. 数据预处理

在Kaggle上下载相应的数据集,下载地址为https://www.kaggle.com/ardamavi/sign-language-digits-dataset。

详见博客。

2. 数据增强

为方便展示生成图片的效果及对参数进行微调,本项目未使用keras直接训练生成器,而是先生成一个增强过后的数据集,再应用于模型训练。

详见博客。

3. 模型构建

数据加载进模型之后,需要定义模型结构,并优化损失函数。

详见博客。

4. 模型训练及保存

本部分包括模型训练和模型保存的相关代码。

详见博客。

5. 模型评估

由于网络上缺乏手语识别相关模型,为方便在多种模型中选择最优模型,以及进行模型的调优,模型应用于安卓工程之前,需要先在PC设备上使用Python文件进行初步的运行测试,以便验证本方案的手语识别策略是否可行并选择最优的分类模型。

详见博客。

6. 模型测试

评估整体模型可行性后,将手语识别模型应用于Android Studio工程中,完成APP。具体步骤如下。

详见博客。

系统测试

本部分包括训练准确率、测试效果及模型应用。

1. 训练准确率

训练过程的准确率损失变化如图1和图2所示。

在这里插入图片描述

图1 模型准确率

在这里插入图片描述

图2 模型损失值

2. 测试效果

在初步评估中,使用Spyder编译运行相关评估代码之后,能够在以白色墙壁、各种光照的条件下较好地捕捉手部位置,并准确识别0~9共10个手语手势,如图3和图4所示。

在这里插入图片描述

图3 捕捉手部区域效果图

在这里插入图片描述

图4 识别手语效果图

3. 模型应用

本部分包括程序下载运行、应用使用说明和测试结果。

1)程序下载运行

Android项目编译成功后,建议将项目运行到真机上进行测试。模拟器运行较慢,不建议使用。运行到真机方法如下:

(1) 将手机数据线连接到计算机,开启开发者模式,打开USB调试,单击Android项 目的运行按钮,出现连接手机的选项,单击即可。

(2) Android Studio生成apk文件,发送至手机,在手机上下载该apk文件并安装即可。

2)应用使用说明

打开APP,初始界面如图所示。
在这里插入图片描述

界面从上至下3个按钮分别为【转到图片识别】、【开始翻译手语】、【停止翻译】。界面依次显示本次的识别结果及置信度、捕捉到的手部区域、累计识别到的句子翻译。

单击【开始识别】按钮,结果如图所示。

在这里插入图片描述

单击【转到图片识别】按钮,跳转到图片识别界面。单击【拍照识别】按钮调用摄像头拍照,切换前置及后置摄像头。单击【从相册中选择】即可调出相册界面。选择好图像后,APP将展示所选图片并返回手语识别结果,如图所示。

在这里插入图片描述

3)测试结果

手势识别“520’效果如图所示。

在这里插入图片描述

图片识别其他手势效果如图所示。

在这里插入图片描述

复杂背景效果如图所示。

在这里插入图片描述

相关其它博客

基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(一)

基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(二)

基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(三)

基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(四)

工程源代码下载

详见本人博客资源下载页


其它资料下载

如果大家想继续了解人工智能相关学习路线和知识体系,欢迎大家翻阅我的另外一篇博客《重磅 | 完备的人工智能AI 学习——基础知识学习路线,所有资料免关注免套路直接网盘下载》
这篇博客参考了Github知名开源平台,AI技术平台以及相关领域专家:Datawhale,ApacheCN,AI有道和黄海广博士等约有近100G相关资料,希望能帮助到所有小伙伴们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1027034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习】快速部署ONNX模型【入门】

【深度学习】快速部署ONNX模型【入门】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】快速部署ONNX模型【入门】前言搭建打包环境打包exe文件总结 前言 之前的内容已经尽可能简单、详细的介绍CPU【Pytorch2ONNX】和GPU【Pytorch…

编译opencv-3.4.5 [交叉编译]

在unbuntu20.04环境下编译opencv3.4.5, cmake 版本:3.27.4 gcc 版本:11.4.0 g版本:11.4.0 在此环境下编译opencv4.5.4正常。 1. 编译时遇到的问题 (1) Built target libprotobuf make: *** [Makefile:163…

玩玩“小藤”开发者套件 Atlas 200I DK A2 之部署智能语音助手

玩玩“小藤”开发者套件 Atlas 200I DK A2 之部署智能语音助手 0. 背景1. 安装 flac2. 创建自签名证书3. 创建虚拟环境4. 安装PyTorch5. 安装 PyTorch 插件 torch_npu6. 安装APEX混合精度模块7. 安装依赖库8. 使用 gradio 启动智能语音助手9. 访问智能语音助手 0. 背景 总所周…

和逸云 RK3229 如何进入maskrom强刷模式

图中红圈两个点短接以后插usb,就可以进入maskrom模式强刷

【JavaEE】多线程(四)

多线程(四) 在开始讲之前,我们先来回顾回顾前三篇所讲过的内容~ 线程的概念 并发编程,多进程,比较重,频繁创建销毁,开销大 Thread的使用 创建线程 继承Thread实现Runnable继承Thread&#xff…

提交本地项目到GitHub

文章目录 1 下载git1.1 通过homebrew安装Git1.2 通过Xcode安装 2 创建ssh key、配置git3 提交本地项目到GitHub 说明:该博文参考这篇文章和这段视频 1 下载git 1.1 通过homebrew安装Git 1、未安装homebrew,需安装homebrew /usr/bin/ruby -e "$(…

踩坑:Invalid character found in method name. HTTP method names must be tokens

一、原因 在进行本地小程序与服务端请求时,由于加了签名认证,访问接口时报错 Spring boot端 小程序端 二、解决方案 2.1 更改访问路径 将https:更换成http: 示例:https://localhost:8080 改为 http://localhost:8080 2.2其他原因 ssl证书到期了Tomcat的header缓冲区大小不…

使用docker-compose 部署 MySQL8.0

目录 一、拉取MySQL镜像二、创建挂载目录三、添加配置文件my.cnf (没有特殊需求可以跳过)四、编写 docker-compose.yml 文件五、启动容器六、运行后查看启动容器的情况七、连接测试 一、拉取MySQL镜像 我这里使用的是MySQL8.0.18,可以自行选…

pycharm 中package, directory, sources root, resources root的区别

【遇到的问题】 导入yolov5中有utils文件,自己的代码中也有utils文件,使得yolov5中的这部分引用出错了。 【解决方案】 单独建立detection文件夹,把检测相关的都放在这里,yolov5是github上拉取的源码,发现yolov5中fr…

用于设计 CNN 的 7 种不同卷积

一 说明 最近对CNN架构的研究包括许多不同的卷积变体,这让我在阅读这些论文时感到困惑。我认为通过一些更流行的卷积变体的精确定义,效果和用例(在计算机视觉和深度学习中)是值得的。这些变体旨在保存参数计数、增强推理并利用目标…

scryptTS 新版本发布

scryptTS新版本发布,主要带来两个新特性。 您需要使用以下版本来体验: "dependencies": {"scrypt-ts": "0.1.5-beta.2" },1. scryptTS 中隐藏了交易原像 OP_PUSH_TX 技术 使用 OP_PUSH_TX 可以让合约代码访问整个 trans…

解决:Android Studio 中sdk tools 中库显示不全的问题

问题描述 如下图,打开配置后显示不全 解决方案 这是网络问题,由于Android Studio是goolge旗下的产品,多少需要向外访问 通过更改hosts文件即可,用记事本打开,末尾添加如下三行 203.208.43.97 dl.google.com 20…

1.3python基础语法——PyCharm

1)PyCharm的作用 python的集成开发环境,功能如下: Project管理 智能提示 语法高亮 代码跳转 调试代码 解释代码(解释器) 框架和库 2)下载与安装 下载地址:http://www.jetbrains.com/pycharm/download/#sectionwind…

flash attention的CUDA编程和二维线程块实现softmax

本文参考了链接添加链接描述 flash attention介绍 flash attention的介绍可以参考论文:FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness,具体的数学公式参考下面这个图片:其中注意关于矩阵S有两个维度,softmax的操作维度是dim=1,用pytorc…

python 全网最优雅命令行参数解析, 没有之一

背景 我们在编写python程序时,程序中经常会提供多种功能或者模式,在实际使用时根据不同的参数使用不同的功能。那么如何获取命令行传入进来的参数呢? 一般方法 一般情况下,我们会使用 sys 模块,如👇 im…

Python - 小玩意 - 请求网络地址获取网页链接

from bs4 import BeautifulSoup from urllib import request # 要请求的网络地址 url https://blog.csdn.net/qq_43116031/ # pip --default-timeout500000 install bs4 # 请求网络地址得到html网页代码 html request.urlopen(url)# 整理代码 soup BeautifulSoup(html, html…

深度学习论文: ISTDU-Net:Infrared Small-Target Detection U-Net及其PyTorch实现

深度学习论文: ISTDU-Net:Infrared Small-Target Detection U-Net及其PyTorch实现 ISTDU-Net:Infrared Small-Target Detection U-Net PDF: https://doi.org/10.1109/LGRS.2022.3141584 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTo…

GPT,GPT-2,GPT-3,InstructGPT的进化之路

ChatGPT 火遍圈内外,突然之间,好多人开始想要了解 NLP 这个领域,想知道 ChatGPT 到底是个什么?作为在这个行业奋斗5年的从业者,真的很开心让人们知道有一群人在干着这么样的一件事情。这也是我结合各位大佬的文章&…

MTK联发科MT6853和MT6873安卓核心板性能参数对比

联发科MTK6853芯片,又名天玑720,是一款具有先天的节能创新的5G芯片。天玑800(MTK6873)和天玑720二款处理器都是使用于中高端手机中,那么天玑720和天玑800处理器到底哪个更好呢? 1、处理器性能对比 天玑7…

系统架构设计师(第二版)学习笔记----系统分析与设计及测试

【原文链接】系统架构设计师(第二版)学习笔记----软件测试 文章目录 一、结构化方法1.1 结构化开发方法1.2 结构化分析使用的手段1.3 结构化分析的步骤1.4 数据流图(DFD)的基本元素1.5 数据流图(DFD)方法建…