目录
- 前言
- 总体设计
- 系统整体结构图
- 系统流程图
- 运行环境
- Python环境
- TensorFlow环境
- Keras环境
- Android环境
- 1. 安装AndroidStudio
- 2. 导入TensorFlow的jar包和so库
- 3. 导入OpenCV库
- 相关其它博客
- 工程源代码下载
- 其它资料下载
前言
本项目依赖于Keras深度学习模型,旨在对手语进行分类和实时识别。为了实现这一目标,项目结合了OpenCV库的相关算法,用于捕捉手部的位置,从而能够对视频流和图像中的手语进行实时识别。
首先,项目使用OpenCV库中的算法来捕捉视频流或图像中的手部位置。这可以涉及到肤色检测、运动检测或者手势检测等技术,以精确定位手语手势。
接下来,项目利用CNN深度学习模型,对捕捉到的手语进行分类,经过训练,能够将不同的手语手势识别为特定的类别或字符。
在实时识别过程中,视频流或图像中的手语手势会传递给CNN深度学习模型,模型会进行推断并将手势识别为相应的类别。这使得系统能够实时地识别手语手势并将其转化为文本或其他形式的输出。
总的来说,本项目结合了计算机视觉和深度学习技术,为手语识别提供了一个实时的解决方案。这对于听觉障碍者和手语使用者来说是一个有益的工具,可以帮助他们与其他人更轻松地进行交流和理解。
总体设计
本部分包括系统整体结构图和系统流程图。
系统整体结构图
系统整体结构如图所示。
系统流程图
系统流程如图所示。
运行环境
本部分包括 Python 环境、TensorFlow环境、 Keras环境和Android环境。
Python环境
需要Python 3.6及以上配置,在Windows环境下推荐下载Anaconda完成Python所需环境的配置,下载地址为https://www.anaconda.com/,也可下载虚拟机在Linux环境下运行代码。
TensorFlow环境
更换Anaconda镜像源,打开cmd直接依次输入下列命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config -set show_channel_urls yes
在Anaconda可视化界面的相应环境中删除默认镜像源。
在Anaconda相应环境的可视化包管理中搜索TensorFlow,选择1.12.0版本。
Keras环境
在Anaconda相应环境的可视化包管理中搜索Keras相关包,选择与TensorFlow相对应的2.2.4版本。
Android环境
本部分包括安装Android Studio、导入TensorFlow的jar包和so库。
1. 安装AndroidStudio
安装参考教程地址为https://developer.android.google.cn/studio/install.html。新建Android项目,打开AndroidStudio,选择菜单项File→New→NewProject→Empty Activity→Next
。
Name可自行定义; Save location 为项目保存的地址,可自行定义; MinimumAPI为 该项目能够兼容Android手机的最低版本,大于18即可。单击Finish按钮完成 。
2. 导入TensorFlow的jar包和so库
下载地址为https://github.com/PanJinquan/Mnist-tensorFlow-AndroidDemo/tree/master/app/libs。
在/app/libs
下新建armeab-iv7a
文件夹,添加libtensorfow_inference.so
; 将libandroid_tensorAow_inference_java.jar
放在/app/libs
下,右击addasLibrary
。
app\build.gradle
配置,在defaultConfig
中添加:
mult.iDexEnabled true
ndk{
abiFilters "armeabi-v7a"
}
在Android节点下添加sourceSets,用于制定jniLibs的路径:
sourceSets{
main{
jniLibs.srcDirs=['libs']
}
若没有dependencies,则增加TensorFlow编译的jar文件并导入:
implementation files('libs/libandroid_tensorflow_inference_java.jar')
3. 导入OpenCV库
进入OpenCV官网https://opencv.org/releases/,下载相应版本的安卓包并完成解压,如图所示。
在Android Studio菜单中单击File→New→Import Module
,选择安卓包中的sdk文件夹,如下两图所示。
单击菜单项File→Project Structure
,选择Dependencies,在Modules栏下选择APP,单击左数第3栏中的【+】图标,选择ModuleDependency,单击OK按钮退出。
打开根目录下的build.gradle
文件,记下compileSdkVersionbuildToolsVersion、minSdkVersion和targetSdkVersion。单击sdk,打开根目录下的build.gradle文件,把文件中compileSdkVersion、buildToolsVersion、minSdkVersion和targetSdkVersion后的数值改成与APP中相同的文件,如图所示。
在app/src/main
下新建jniLibs, 将OpenCV-android-sdk的sdk/native/libs
下的所有文件复制到jniLibs下。
相关其它博客
基于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相关资料,希望能帮助到所有小伙伴们。