两个手工定制的特征,实现快速识别
第一个是距离,两个关键点的距离会随着动作不同而不同。
第二个是角度,考虑到距离会随着摄像头位置发生变化,而三个点的夹角不同,不论远近,夹角固定,同时夹角会随着动作不同而不同。
- 基于普通摄像头的太极姿势识别(分类),通过openpose采集的骨骼点数据做分类。
- 第一就是通过openpose采集的骨骼数据做一个自定义特征的全连接网络的训练分类。(已完成)
- 第二就是通过openpose采集的骨骼图片做卷积神经网络(CNN)分类(已完成)
- 相关:基于Kinect的姿态识别(分类)
首先根据OpenPose WindowsAPI安装说明安装,调用方式为Python调用。
OpenPose GitHub地址
OpenPose安装说明
最近迁移至Ubuntu,Windows的更新后cuda与caffee不兼容。部分程序有改动。总体不变。
git clone
下来后cmake
进行编译,其中要勾选BUILD_PYTHON
进行编译才能被python调用。
workspace 程序开发目录详细说明
- 📂workspace
- 📁data_collection(数据采集)
- data_collection_window.py
- data_collection_window.ui
- data_collection.py
- 📁dataset (数据集)
- 📁taichi
- 📁marked_pic
- 🎴 p_2_0.jpg(最后一个下划线后面是类别,此处
0
是类别,前一个数字2
代表大概数量) - 🎴 ...
- 🎴 p_2_0.jpg(最后一个下划线后面是类别,此处
- 📄bone_dataSet.data(骨骼特征数据)
- 📄marked_pictrain.txt(图片路径)
- 📁marked_pic
- 📁taichi
- 📁main_program
- main.py 主程序入口
- mainWindow.py
- mainWindow.ui
- 📁model_pth (模型保存位置)
- 23classification_eigenvalue.pth
- 23classification_pic.pth
- 📁neural_network
- 📁runs (tensorboard 可视化,如果有必要)
- 📃classification23_taichi_eigenvalue.py
- 📃classification23_taichi_pic.py
- 📃data_process.py
- 📃predict_eigenvalue.py
- 📃predict_pic.py
- 📁openpose_python_demos (包含一些python使用openpose的例子)
- 📃flags.hpp(调用openpose的参数设置)
- 📃use_camera_by_opencv.py
- 📃use_camera.py
- 📁sundry (包含一些界面设计的图片等杂项)
- ...
- 📁data_collection(数据采集)
全连接 | 卷积网络 |
---|---|
数据采集系统 | 识别系统 |
---|---|
说明:由于在Ubuntu下选择了桌面是unity所以不能录屏,展示为GIF图片。
由于电脑的摄像头在下方,使用iPad来作为输入。效果依旧是实时效果,但是数据量较小。
马赛克保护隐私。。。。。。
论文地址:腾讯文档 (权限设置,需要申请才能开放查看)
校级答辩
优秀
哈哈哈哈哈,承蒙老师指导,承蒙答辩老师欣赏,承蒙被抽到校级答辩。
这个属于特别简单的一个本科生的毕业设计,思路可以模仿而内容不可照搬。
禁止商用