手势交互地图 GBIM(Gesture-Based Interaction map)
手势交互地图 GBIM(Gesture-Based Interaction map),基于视觉深度神经网络的交互地图,通过电脑摄像头观察使用者的手势变化,进而控制地图进行简单的交互。网络使用PaddleX提供的轻量级模型PPYOLO Tiny以及MobileNet V3 small,使得整个模型大小约10MB左右,即使在CPU下也能快速定位和识别手势。
手势 | 交互 | 手势 | 交互 | 手势 | 交互 |
---|---|---|---|---|---|
![]() |
向上滑动 | ![]() |
向左滑动 | ![]() |
地图放大 |
手势 | 交互 | 手势 | 交互 | 手势 | 交互 |
![]() |
向下滑动 | ![]() |
向右滑动 | ![]() |
地图缩小 |
det_acq.py
采集一些电脑摄像头拍摄的人手姿势数据。clas_acq.py
获取手部图像进行标注,并用于训练手势分类模型。
dataset
├-- Images
| ├-- up
┆ ┆ └-- xxx.jpg
| └-- other
┆ └-- xxx.jpg
├-- labels.txt
├-- train_list.txt
└-- val_list.txt
模型文件上传使用LFS,下拉时注意需要安装LFS,参考LFS文档。后续将重新采集和标注更加多样的大量数据集,并采用更好的调参方法获得更加准确的识别模型
*未显示Capture界面
requirements.txt
安装所依赖的包opencv、paddlex以及pynput。PaddleX对应请安装最新版的PaddlePaddle,由于模型轻量,CPU版本足矣,参考下面代码,细节参考官方网站:
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
demo.py
,将浏览器路径修改为自己使用的浏览器路径:
web_path = '"D:/Twinkstar/Twinkstar Browser/twinkstar.exe"' # 自己的浏览器路径
demo.py
启动程序:
cd GBIM
python demo.py
Q: 拉项目时卡住不动
A:首先确认按照文档安装LFS。如果已经安装那极大可能是网络问题,可以等待一段时间,或先跳过LFS文件,再单独拉取,参考下面git代码:
// 开启跳过无法clone的LFS文件
git lfs install --skip-smudge
// clone当前项目
git clone "current project"
// 进入当前项目,单独拉取LFS文件
cd "current project"
git lfs pull
// 恢复LFS设置
git lfs install --force
Q:按q
或者手势交互无效
A:请注意当前鼠标点击的焦点,焦点在Capture,则接受q
退出;焦点在浏览器,则交互结果将驱动浏览器中的地图进行变换。
Q:安装PaddleX时报错,关于MV C++
A:若在Windows下安装coco tool时报错,则可能缺少Microsoft Visual C++,可在微软官方下载网页进行下载安装后重启,即可解决。
Q:运行未报错,但没有保存数据到本地
A:请检查路径是否有中文,cv2.imwrite
保存图像时不能有中文路径。
Email:nanyibrigade@163.com