手势识别项目报告
高一(7)班谢鸿志
项目初衷
本项目最开始是想设计一款智能穿戴设备,可以通过视觉手势识别的方案对生活中的物体与文本进行拍照、识图、翻译等操作,这样相比起拿起手机拍照来说侵略性更弱、更加无感。
材料及环境准备
计算机一台
彩色2K摄像头一个

原理简述
手势识别:先检测手指上的21个点位,再通过这些点位的相对位置关系推测手势
手势交互:给不同的手势指定不同的操作,例如识别到数字5就截图摄像头画面,保存到指定目录,识别到数字6把图片上传到指定API进行识图并等待返回结果。
环境搭建
Python 3.8
Pytorch CUDA 12.6
Open-cv Python
数据集准备
要求:
图片和描述文件一一对应
图片分辨率保持一致
数据集足够大
描述文本格式:
<类别编号> <中心x比例> <中心y比例> <宽度比例> <高度比例>
例如:2 0.45 0.63 0.12 0.18 表示在图片45%宽度、63%高度处,有一个宽12%、高18%有只手


模型训练
训练部分使用了Ultralytics的开源项目YOLOV5,训练完成后会生成一个pt文件,即为手势识别模型。
大致原理:
压缩提炼图像的信息,形成深层特征图和浅层特征图
深层特征图:能识别"这是手"的全局信息
浅层特征图:能看清"手指弯曲"的细节
两者融合后,既能定位手的位置,又能看清手势细节
引入图像
通过边界框(Bounding Box)预测手的中心坐标(x,y)、宽高(w,h)
通过置信度(Confidence)判断框内是否有手势的概率
通过分类结果(Class)对具体手势类别进行分类 (如数字5数字6)
成果展示
通过pyqt5实现了识别可视化,模型推理在GTX 1050下能达到30FPS



评论
一起把问题聊明白正在准备评论区…
评论区包含自动审核系统,提交后经审核展示。邮箱仅用于评论通知,不会公开展示。请友善交流,勿在留言中填写敏感信息。