摘要:本文详细介绍基于深度学习的手势识别系统,在介绍手势识别算法原理的同时,给出了_P__y__t__h__o__n_的实现代码以及_P__y__Q__t_的UI界面。手势识别采用了基于MediaPipe的改进SSD算法,进行手掌检测后对手部关节坐标进行关键点定位;在系统界面中可以选择手势图片、视频进行检测识别,也可通过电脑连接的摄像头设备进行实时识别手势;可对图像中存在的多个手势进行姿势识别,可选择任意一个手势显示结果并标注,实时检测速度快、识别精度较高。博文提供了完整的Python代码和使用教程,适合新入门的朋友参考,完整代码资源文件请转至文末的下载链接。本博文目录如下:
文章目录
代码介绍及演示视频链接:https://www.bilibili.com/video/BV12a411v7vr(正在更新中,欢迎关注博主B站视频)
前言
随着计算机性能的发展,人机交互越来越频繁。在工程应用方面,计算机通过对手势的分析理解,可以进一步开发出相应的远程操控系统,在疫情当下,可以更好的实现零接触操作。同时通过手势也可以进一步了解人的表情与情感,例如在警匪影片中,通过手势的微小变化,对罪犯的阐述进行分析判断,但这只是更深层次的系统设想。
手势识别是个计划已久的项目,通过手势可以传达很多信息,从而实现很多好玩的事情,比如石头剪刀布、切水果等游戏。网上也有一些相关手势识别的博客或代码,不过很少有人对其进行详细介绍,为了便于演示和交付用户使用,我们将其开发成一个可以展示的完整软件,方便选择文件和实时检测。对此这里给出博主设计的界面,关注过的朋友可能清楚我的简约风,功能上也满足了图片、视频和摄像头的识别检测,希望大家可以喜欢,初始界面如下图:
检测手势时的界面截图(点击图片可放大)如下图,可识别画面中存在的多个手势,也可开启摄像头或视频检测:
详细的功能演示效果参见博主的B站视频或下一节的动图演示,觉得不错的朋友敬请点赞、关注加收藏!系统UI界面的设计工作量较大,界面美化更需仔细雕琢,大家有任何建议或意见和可在下方评论交流。
- 效果演示
=======
手势识别系统借助深度学习算法,开发有选择图片识别、视频识别以及摄像画面识别,结果的可视化显示功能,这里给出几张动图供大家参考。
(一)选择手势图片识别
可点击手势识别系统中的图片选择按钮,即可弹出图片文件选择窗口,选中文件后自动显示识别结果;对于多个手势,可通过下拉框选择单独显示结果。本功能的界面展示如下图所示:
(二)手势视频识别效果展示
对于视频文件同样可以通过对应的视频选择按钮,选中可用的视频后自动利用算法对视频帧进行逐个识别,此时对算法和设备的实时性要求较高,但系统同样能够保持高的检测速度。效果如下图所示:
(三)摄像头检测效果展示
在真实场景中,我们往往利用设备摄像头获取实时画面,同时需要对画面中的手势进行识别,因此本文考虑到此项功能。如下图所示,点击摄像头按钮后系统进入准备状态,系统显示实时画面并开始检测画面中的手势,识别结果展示如下图:
- 手势识别原理介绍
===========
2.1 研究现状
目前现阶段手势识别的研究方向主要分为:基于穿戴设备的手势识别和基于视觉方法的手势识别。基于穿戴设备的手势识别主要是通过在手上佩戴含有大量传感器的手套获取大量的传感器数据,并对其数据进行分析。该种方法相对来虽然精度比较高,但是由于传感器成本较高很难在日常生活中得到实际应用,同时传感器手套会造成使用者的不便,影响进一步的情感分析,所以此方法更多的还是应用在一些特有的相对专业的仪器中。而本博客更多的还是将关注点放在基于视觉方法的手势研究中,在此特地以Mediapipe的框架为例,方便读者更好的复现和了解相关领域。
基于视觉方法的手势识别主要分为静态手势识别和动态手势识别两种。从文字了解上来说,