《手语图像识别系统设计–人体动作识别》设计与实现

文章目录

  • 一、软硬件环境
  • 二、系统功能设计
    • 1. 视频帧处理
    • 2. OpenPose人体姿态识别
    • 3. yolov3手部模型训练
    • 4. 人体姿态数字特征提取
    • 5. beyes分类识别
  • 三、应用
  • 四、总结

一、软硬件环境

基于人体姿态的手语图像识别系统采用了软硬件相结合的方法。硬件部分主要是用于采集手语图像的单目摄像头。软件部分主要是通过ffmpeg对视频图像进行处理,然后在Anaconda下配置Python3.6的开发环境,再结合Cmake编译OpenPose模型,最后在VScode编译器中结合OpenCV中的图像算法,实现了对手语图像识别系统所有程序的编译,通过wxFromBuilder框架整合设计了系统主界面。
(1) 视频处理工具:ffmpeg-20181115
(2) 集成开发环境:Microsoft Visual Studio Code、Anaconda3
(3) 界面设计工具:wxFromBuilder
(4) 编程语言环境:python3.6

二、系统功能设计

一个基于人体姿态研究的手语图像识别系统。根据OpenPose人体姿态开源模型和YOLOv3自训练手部模型检测视频和图像,再把数字特征进行分类器模型预测,将预测结果以文本形式展现出来。

基于人体姿态的手语图像识别系统是由多模块组成的,主要分为训练模块和识别模块两个部分。

《手语图像识别系统设计--人体动作识别》设计与实现

1. 视频帧处理

Python+Opencv2(三)保存视频关键帧

《手语图像识别系统设计--人体动作识别》设计与实现

2. OpenPose人体姿态识别

Openpose人体骨骼、手势–静态图像标记及分类(附源码)
Openpose人体骨骼、手势–静态图像标记及分类2(附源码)

《手语图像识别系统设计--人体动作识别》设计与实现

3. yolov3手部模型训练

项目结构主要分为两大部分:YOLOv3深度模型训练部分和YOLOv3和OpenPose手语姿态识别部分。

训练模型思路:

《手语图像识别系统设计--人体动作识别》设计与实现

模型训练参考代码:https://gitee.com/cungudafa/keras-yolo3
yolo3识别这里参考于:https://github.com/AaronJny/tf2-keras-yolo3

4. 人体姿态数字特征提取

识别完整过程思路:

《手语图像识别系统设计--人体动作识别》设计与实现
基于 keras的yolo3训练部分项目结构如下表所示:

keras-yolo3训练项目结构:

名称 类型 内容
yolov3.weights 配置文件 权重文件
yolov3.cfg 配置文件 配置文件
convert.py 函数 模型格式转换
train.py 函数 模型训练
voc_annotation.py 函数 voc格式标签
yolo_annotations.py 函数 yolo格式标签
yolo.py 函数 yolo方法接口
model_data 文件夹 参数配置
nets 文件夹 yolo网络
utils 文件夹 图片加载工具类
VOCdevkit 文件夹 VOC格式数据集
logs 文件夹 h5训练的模型生成目录

其中logs文件夹用于存放训练好的模型,VOCdevkit用于存放图片和标注信息。

model_data文件夹内容:

名称 类型 内容
test.txt 文本 测试图片信息
train.txt 文本 训练图片信息
val.txt 文本 训练测试图片信息
voc_class.txt 文本 标签样本名称
yolo_anchors.txt 文本 先验参数
yolo_weights.h5 模型 权重文件

nets文件夹内容:

名称 类型 内容
darknet53.py 函数 卷积神经网络结构
loss.py 函数 计算图像检测效果
yolo3.py 函数 Yolov3网络识别算法

5. beyes分类识别

【Sklearn】入门花卉数据集实验–理解朴素贝叶斯分类器

《手语图像识别系统设计--人体动作识别》设计与实现

四、总结

源码源码:https://gitee.com/cungudafa/hand-keras-yolo3-recognize

star三连哦~

本文采用的是单人的骨骼识别,当然对多人骨骼标记分类是OpenPose的一大亮点,源码中没有扩展,Openpose多人骨骼特征点标记。

视频帧的提取准确性也不够高,扩展衍生为HMM序列,视频动态序列等方法。对于特征提取还可以结合手势动态轨迹特征,能够多维度的描述运动曲线。

手语识别关键在于手语种类的划分,尤其是中国手语包含5600+词汇,因此NLP自然语言处理融合进来是很有必要的,因此任总而道远,有兴趣的朋友可以试试。

手语识别不仅为聋哑朋友们日常交流提供方便,更是为人机交互发展做出贡献,有创新意义和价值背景,值得一试哦。


备注:

源码会开源放在gitee(目前源码项目有很多笔记过程,也很有价值,需要整理成封装版本,太忙了呀~~不然这个项目还有很多发挥空间)

模型和视频资料涉及专业学习范畴和多人版权因素,未征得所有人授权,暂不提供

相关学习内容还可以私聊,闲暇时可以给出经验指导意见。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树人工智能深度学习208266 人正在系统学习中

来源:cungudafa

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月21日
下一篇 2020年5月22日

相关推荐