tkHandDataTool是一个用于基于手部关键点坐标数据的手势标注工具。该工具并非用于标注图像中的手部关键点位置,而是在已有手部关键点坐标数据的基础上,为这些关键点数据分配对应的手势标签(如手指伸展、触碰、并拢等状态)。工具通过摄像头实时检测手部关键点,生成包含关键点坐标、关节角度和指尖距离的82维特征向量,并允许用户通过自定义标签卡对手势进行标注,最终将数据保存为Excel或CSV文件,用于训练手势识别模型。
本项目是用于skeleton-hand项目开发时的手部关键点数据标志工具
下图为使用演示
pip install -r requirements.txt-
启动工具
python tkHandDataTool.py
-
操作流程
- 1. 设置数据文件路径
点击
设置数据文件路径(f),选择或新建一个Excel/CSV文件用于存储数据。 - 2. 配置标签卡 在右侧标签栏添加/删除标签卡,在标签卡中输入标签名称,在数值栏输入对应的标签值(多个值用英文逗号分隔)。
- 3. 开启摄像头检测
点击
开启手部关键点检测(w),摄像头画面会实时显示检测到的手部关键点。 - 4. 标注手势数据
在摄像头前做出对应手势,点击
保存手部数据(a)或按键盘a键保存当前关键点数据及标签。 - 5. 查看与调整数据
使用
数据索引切换已保存的数据,点击删除数据(d)可删除误标的数据。
- 1. 设置数据文件路径
点击
在开发skeleton-hand项目时,收集到了13384行包含手势标签的关键点数据,数据集保存在了HandData.xlsx文件。
- 手指伸展状态
| 标签说明 | 类别1数据量 | 类别1占比 | 总数据量 |
|---|---|---|---|
| 大拇指伸出 | 4133 | 0.308 | 13384 |
| 食指伸出 | 7898 | 0.590 | |
| 中指伸出 | 7581 | 0.566 | |
| 无名指伸出 | 6405 | 0.478 | |
| 小拇指伸出 | 5855 | 0.437 |
- 指尖触碰状态
| 标签说明 | 类别1数据量 | 类别1占比 | 总数据量 |
|---|---|---|---|
| 与食指触碰 | 1850 | 0.138 | 13384 |
| 与中指触碰 | 1830 | 0.136 | |
| 与无名指触碰 | 2014 | 0.150 | |
| 与小拇指触碰 | 2023 | 0.151 |
- 手指并拢状态
| 标签说明 | 类别1数据量 | 类别1占比 | 总数据量 |
|---|---|---|---|
| 大拇指与食指并拢 | 2928 | 0.218 | 13384 |
| 食指与中指并拢 | 4029 | 0.301 | |
| 中指与无名指并拢 | 5049 | 0.377 | |
| 无名指与小拇指并拢 | 5947 | 0.444 |
