手势识别开源项目教程
1. 项目目录结构及介绍
该项目是一个使用MediaPipe进行手势识别的开源项目,目录结构如下:
hand-gesture-recognition-mediapipe/
│ app.py # 主程序文件
│ keypoint_classification.ipynb # 手势识别模型训练脚本
│ point_history_classification.ipynb # 指尖轨迹识别模型训练脚本
│
├─model/
│ ├─keypoint_classifier/
│ │ │ keypoint.csv # 手势识别训练数据
│ │ │ keypoint_classifier.hdf5 # 训练好的模型文件
│ │ │ keypoint_classifier.py # 手势识别模型推理模块
│ │ │ keypoint_classifier.tflite # 转换为TFLite的模型文件
│ │ └─ keypoint_classifier_label.csv # 手势标签数据
│ │
│ └─point_history_classifier/
│ │ point_history.csv # 指尖轨迹识别训练数据
│ │ point_history_classifier.hdf5 # 训练好的模型文件
│ │ point_history_classifier.py # 指尖轨迹识别模型推理模块
│ │ point_history_classifier.tflite # 转换为TFLite的模型文件
│ └─ point_history_classifier_label.csv # 指尖轨迹标签数据
│
└─utils/
└─cvfpscalc.py # FPS计算模块
2. 项目的启动文件介绍
项目的启动文件是app.py
,它包含了以下几个主要功能:
- 使用MediaPipe进行手势关键点检测。
- 根据检测到的关键点进行手势识别。
- 根据用户输入的指令收集训练数据。
- 实时显示手势识别结果和FPS信息。
可以通过以下命令运行app.py
:
python app.py
在运行时,可以指定一些参数,例如:
--device
:指定相机设备编号。--width
:指定捕获时的宽度。--height
:指定捕获时的高度。--use_static_image_mode
:是否使用静态图像模式进行MediaPipe推理。--min_detection_confidence
:检测置信度阈值。--min_tracking_confidence
:跟踪置信度阈值。
3. 项目的配置文件介绍
该项目中没有明确的配置文件。项目的配置主要是通过修改app.py
中的参数和keypoint_classification.ipynb
、point_history_classification.ipynb
中的模型参数来进行。例如:
- 在
keypoint_classification.ipynb
中,可以修改NUM_CLASSES
来设置训练数据的类别数,并相应修改keypoint_classifier_label.csv
中的标签数据。 - 在
point_history_classification.ipynb
中,也可以修改NUM_CLASSES
以及point_history_classifier_label.csv
中的标签数据来匹配训练数据。
在训练模型时,确保已经收集了足够的训练数据,并且数据类别已经正确标记在CSV文件中。通过Jupyter Notebook执行相关的训练脚本,可以训练出新的模型。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考