计算机系统应用教程网站

网站首页 > 技术文章 正文

基于图像的手语识别系统研究--人体动作识别

btikc 2024-12-26 12:02:50 技术文章 22 ℃ 0 评论

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

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

1. 视频帧处理

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

2. OpenPose人体姿态识别

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

由于仅靠人体姿态4和7关键点不足以识别手部位置,容易误判,因此在最终设计中引入了yolo手部识别。

3. yolov3手部模型训练

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

训练模型思路:

环境:【GPU】win10 (1050Ti)+anaconda3+python3.6+CUDA10.0+tensorflow-gpu2.1.0 训练模型:【Keras+TensorFlow+Yolo3】一文掌握图像标注、训练、识别(tf2填坑) 识别:【Keras+TensorFlow+Yolo3】教你如何识别影视剧模型

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

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

识别完整过程思路:

在OpenPose设计中阐述过求解距离和角度的公式及方法,最终因为个体差异每个人的骨骼可能不同,目前优化为距离比(即小臂3-4关键点的距离与脖子长度0-1关键点距离之比)。

基于 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用于存放图片和标注信息。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表