欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

基于深度学习的手势识别系统(Python 代码,UI 界面版本)-2.3 手势识别原理

最编程 2024-06-23 20:30:52
...

        在官方的网址上可以知道,MediaPipe的手势识别算法主要分为两个部分,第一个部分是手掌识别模型,第二个是手部关键点标记模型。

        MediaPipe在训练手掌模型中,使用的是单阶段目标检测算法SSD。同时利用三个操作对其进行了优化:1.NMS;2.encoder-decoder feature extractor;3.focal loss。NMS主要是用于抑制算法识别到了单个对象的多个重复框,得到置信度最高的检测框;encoder-decoder feature extractor主要用于更大的场景上下文感知,甚至是小对象(类似于retanet方法);focal loss是有RetinaNet上提取的,主要解决的是正负样本不平衡的问题,这对于开放环境下的目标检测是一个可以涨点的技巧。利用上述技术,MediaPie在手掌检测中达到了95.7%的平均精度。在没有使用2和3的情况下,得到的基线仅为86.22%。增长了9.48个点,说明模型是可以准确识别出手掌的。而至于为啥做手掌检测器而不是手部,主要是作者认为训练手部检测器比较复杂,可学习到的特征不明显,所以做的是手掌检测器。

        MediaPipe通过对整个图像进行手掌检测后,使用手部关键点模型通过回归对被检测手部区域内的21个三维手部关节坐标进行精确的关键点定位,即直接进行坐标预测。标记点如图所示:

        在此我们就简单的介绍了MediaPipe,接下来我们将通过代码来使用python调用MediaPipe实现手势识别。主要从三个方面来写这个脚本:第一个如果识别静态照片的手势;第二个如何识别视频流中的手势;第三个如果实时识别摄像头图像。