CN116246345A - 基于动态手势识别的演示控制方法及装置 - Google Patents

基于动态手势识别的演示控制方法及装置 Download PDF

Info

Publication number
CN116246345A
CN116246345A CN202310219341.7A CN202310219341A CN116246345A CN 116246345 A CN116246345 A CN 116246345A CN 202310219341 A CN202310219341 A CN 202310219341A CN 116246345 A CN116246345 A CN 116246345A
Authority
CN
China
Prior art keywords
hand
demonstration
image
determining
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310219341.7A
Other languages
English (en)
Inventor
沈来信
邵岭
郑小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Light Controls Tesilian Shanghai Information Technology Co ltd
Original Assignee
Light Controls Tesilian Shanghai Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Light Controls Tesilian Shanghai Information Technology Co ltd filed Critical Light Controls Tesilian Shanghai Information Technology Co ltd
Priority to CN202310219341.7A priority Critical patent/CN116246345A/zh
Publication of CN116246345A publication Critical patent/CN116246345A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Psychiatry (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

本公开实施例涉及智慧办公领域,提供一种基于动态手势识别的演示控制方法及装置,方法包括:基于获取的原始图像进行人体检测得到人体图像;利用预设的关键点检测模型进行手部关键点检测,得到人体手部关节点信息;基于关节点信息确定满足预设特征条件的演示手,并在其动作满足预设激活条件时将控制焦点赋予演示手;基于连续获取的多帧图像确定演示手的运动历史图;基于运动历史图通过动作融合算法确定动作识别结果;基于动作与控制指令的预设关系,确定针对控制焦点指示的演示控制对象的实际控制指令;通过实际控制指令控制演示控制对象演示。本公开实施例延时少,动态手势识别更准确,能有效实现当前演示手的轻量级追踪、判定和控制焦点保持。

Description

基于动态手势识别的演示控制方法及装置
技术领域
本公开涉及智慧办公技术领域,特别涉及一种基于动态手势识别的演示控制方法及装置。
背景技术
随着摄像头图像采集和视频动作识别技术的发展,基于手部图像可以利用手势识别算法完成手部动作如数字1-9、大拇指向上、向下、向左、向右以及比V、OK等的识别。基于手部动作识别的手势远程控制可以应用在智慧大屏和演示文稿上,如控制智慧大屏上显示内容的双击打开、区域放大、区域缩小、右击等,或者控制演示文稿的下翻页、上翻页、双击放大、区域缩小等演示动作。
当前,对智慧大屏进行远程动作控制的方案,通常首先利用摄像头获取人体的视频帧图像,利用人体检测网络基于该视频帧图像完成人体检测,然后利用深度神经网络中的卷积神经网络(Convolutional Neural Networks,CNN)如ResNet网络等完成人体图像的动作分类。然而,这种网络是对人体图像包含的动作进行的分类,需要采集大量的图像并标注对应动作。并且,在这种方案中,手部区域在整个图中会比较小,这会使分类网络在很多时候都不能聚焦在手部的微小变化的检测上。因此,对于手势控制大屏的任务而言,直接对人体图像进行动作分类以获得手势动作的方式是不适合的。
此外,现有技术中也有直接利用手部关节点进行手势检测的算法,这些算法大部分是基于静态图像,对手部关节点信息进行提取,设计卷积神经网络分类算法来实现手势识别。然而,手势操作通常是一个动态过程,基于静态单帧图像的动作识别并不能准确判定一个序列的动作,而基于多帧图像的动作识别还存在延时、动作波动、干扰等问题。
公开号为CN114926898A、发明名称为“手势识别模型训练及手势识别方法、装置、设备及介质”的中国专利申请构建了卷积神经网络结构,利用多张手势分割图像对卷积神经网络结构进行训练,得到手势识别模型。该模型能够满足对训练数据的适应性要求,但由于该模型不能聚焦到手势的细节上,故在利用与训练数据场景不同的数据进行手势识别时,该模型会存在鲁棒性问题。
公开号为CN114944013A、发明名称为“一种基于改进yolov5的手势识别模型训练方法及手势识别方法”的中国专利申请构建了基于改进yolov5的手势识别模型,在原始yolov5模型的颈部网络中增加了特征提取模块,通过对输入特征进行不同程度的扩张卷积,为输入特征提供不同大小的感受野,从而提高了模型的手势识别精度。然而,该模型仅能基于静态图像进行手势识别。
公开号为CN111950341A、发明名称为“一种基于机器视觉的实时手势识别方法及手势识别***”的中国专利申请通过人体关节点识别、手部定位、手部关节点识别、手势识别四个步骤来完成手势和手部关节识别。然而,这些步骤主要还是利用单帧静态图像来完成静态手势的识别。
发明内容
本公开旨在至少解决现有技术中存在的问题之一,提供一种基于动态手势识别的演示控制方法及装置。
本公开的一个方面,提供了一种基于动态手势识别的演示控制方法,所述演示控制方法包括:
获取原始图像,基于所述原始图像进行人体检测,得到对应的人体图像;
利用预设的关键点检测模型,对所述人体图像进行手部关键点检测,得到人体手部关节点信息;
基于所述人体手部关节点信息,确定满足预设特征条件的演示手,并在所述演示手的动作满足预设激活条件时,将控制焦点赋予所述演示手;
连续获取多帧图像,基于所述多帧图像,确定所述演示手在当前帧图像的运动历史图;
基于所述运动历史图,通过动作融合算法,确定所述演示手在所述当前帧图像的动作识别结果;
基于演示手动作与控制指令之间的预设关系,确定所述动作识别结果对应的针对所述控制焦点所指示的演示控制对象的实际控制指令;
通过所述实际控制指令,控制所述演示控制对象进行演示。
可选的,所述基于所述多帧图像,确定所述演示手在当前帧图像的运动历史图,包括:
基于所述多帧图像,确定所述演示手分别在每帧图像中的关节点信息,得到所述演示手的运动历史关节点信息;
将所述运动历史关节点信息投影到所述演示手所在的当前帧图像上,得到所述运动历史图。
可选的,所述基于所述多帧图像,确定所述演示手分别在每帧图像中的关节点信息,得到所述演示手的运动历史关节点信息,包括:
基于所述多帧图像,利用凸包检测算法,生成所述演示手分别在每帧图像中的凸包以及所述凸包外的关节点信息;
基于所述凸包以及所述凸包外的关节点信息,利用基于位置与角度的手势识别算法,确定所述演示手在每帧图像中的手势动作,得到所述运动历史关节点信息。
可选的,所述基于所述多帧图像,利用凸包检测算法,生成所述演示手分别在每帧图像中的凸包以及所述凸包外的关节点信息,包括:
基于所述多帧图像,分别构造每帧图像中所述演示手对应的手掌部位轮廓凸包曲线,得到所述演示手分别在每帧图像中的所述凸包;
基于所述多帧图像,分别确定每帧图像中所述演示手的每个关节点与所述凸包的距离;
基于所述演示手的每个关节点与所述凸包的距离,按照预设的距离对应关系,确定所述凸包外的关节点。
可选的,所述基于所述凸包以及所述凸包外的关节点信息,利用基于位置与角度的手势识别算法,确定所述演示手在每帧图像中的手势动作,包括:
分别计算所述演示手对应的所述凸包外的关节点数量、任意两个关节点之间的距离、任意两个关节点形成的边与其他任意两个关节点形成的边之间的夹角;
根据所述凸包外的关节点数量、任意两个关节点之间的距离以及所述夹角,基于预设的手势动作判断关系,确定所述演示手在每帧图像中的手势动作。
可选的,所述任意两个关节点之间的距离表示为下式(1):
dist(i,j)=sqrt((i_x-j_x)2+(i_y-j_y)2) (1)
所述任意两个关节点形成的边与其他两个关节点形成的边之间的夹角表示为下式(2):
v(i-j,k-m)=arctan((i_y-j_y)/(i_x-j_x))-arctan((k_y-m_y)/(k_x-m_x))(2)
其中,i≠j≠k≠m,dist(i,j)表示关节点i与关节点j之间的距离,i_x表示关节点i的x坐标,j_x表示关节点j的x坐标,i_y表示关节点i的y坐标,j_y表示关节点j的y坐标,sqrt()表示平方根,v(i-j,k-m)表示边i-j与边k-m之间的夹角,边i-j为关节点i与关节点j形成的边,边k-m为关节点k与关节点m形成的边,k_y表示关节点k的y坐标,m_y表示关节点m的y坐标,k_x表示关节点k的x坐标,m_x表示关节点m的x坐标。
可选的,所述基于所述运动历史图,通过动作融合算法,确定所述演示手在所述当前帧图像的动作识别结果,包括:
基于所述运动历史图,确定所述演示手在所述当前帧图像的多个历史动作识别结果;
将所述多个历史动作识别结果分别与预设的动作标签序列集合进行相似度计算,并将所述多个历史动作识别结果对应的相似度进行融合,得到所述动作识别结果。
可选的,在所述通过所述实际控制指令,控制所述演示控制对象进行演示之后,所述演示控制方法还包括:
确定当前帧图像的前后帧图像中所述演示手的关节点信息;
基于所述前后帧图像中的关节点信息,分别计算所述演示手中每根手指上的关节点到手掌中心点的平均距离,得到所述演示手的每根手指对应的特征向量;
基于所述特征向量,计算所述前后帧图像中所述演示手的手指相似度;
分别计算所述演示手在当前帧图像中的手掌中心与所述演示手在所述前后帧图像中的手掌中心之间的距离,根据该距离确定所述前后帧图像的手掌相似度;
将所述手指相似度和所述手掌相似度进行融合,得到所述演示手的手部相似度;
基于所述手部相似度,对所述演示手进行跟踪。
可选的,在所述基于所述手部相似度,对所述演示手进行跟踪与判定之后,所述演示控制方法还包括:
基于所述手部相似度,判断所述演示手是否满足预设失效条件;
若所述演示手满足所述预设失效条件,则将所述控制焦点从所述演示手收回。
本公开的另一个方面,提供了一种基于动态手势识别的演示控制装置,所述演示控制装置包括:
获取模块,用于获取原始图像,基于所述原始图像进行人体检测,得到对应的人体图像;
检测模块,用于利用预设的关键点检测模型,对所述人体图像进行手部关键点检测,得到人体手部关节点信息;
激活模块,用于基于所述人体手部关节点信息,确定满足预设特征条件的演示手,并在所述演示手的动作满足预设激活条件时,将控制焦点赋予所述演示手;
第一确定模块,用于连续获取多帧图像,基于所述多帧图像,确定所述演示手在当前帧图像的运动历史图;
第二确定模块,用于基于所述运动历史图,通过动作融合算法,确定所述演示手在所述当前帧图像的动作识别结果;
第三确定模块,用于基于演示手动作与控制指令之间的预设关系,确定所述动作识别结果对应的针对所述控制焦点所指示的演示控制对象的实际控制指令;
控制模块,用于通过所述实际控制指令,控制所述演示控制对象进行演示。
本公开相对于现有技术而言,采用轻量级的动态手势识别算法对用于演示控制的手势动作进行识别,可以在CPU级别下达到25fps,延时较少,且在手势动作识别的过程中利用了手势动作的运动历史图像信息,使得动态手势动作的识别更加准确。同时,在演示手的动作满足预设激活条件时将控制焦点赋予该演示手,可以有效排除干扰手的干扰,聚焦演示手,从而保持当前演示手的轻量级追踪、判定和控制焦点保持。
附图说明
一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本公开一实施方式提供的一种基于动态手势识别的演示控制方法的流程图;
图2为本公开另一实施方式提供的手部关节点的示意图;
图3为本公开另一实施方式提供的演示控制方法S100中步骤S140的流程图;
图4为本公开另一实施方式提供的演示控制方法S100中步骤S141的流程图;
图5为本公开另一实施方式提供的一种基于动态手势识别的演示控制方法的流程图;
图6为本公开另一实施方式提供的一种基于动态手势识别的演示控制装置的结构示意图。
具体实施方式
为使本公开实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本公开的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本公开各实施方式中,为了使读者更好地理解本公开而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本公开所要求保护的技术方案。以下各个实施方式的划分是为了描述方便,不应对本公开的具体实现方式构成任何限定,各个实施方式在不矛盾的前提下可以相互结合相互引用。
本公开的一个实施方式涉及一种基于动态手势识别的演示控制方法S100,其流程如图1所示,包括:
步骤S110,获取原始图像,基于原始图像进行人体检测,得到对应的人体图像。
具体的,演示控制方法S100可以用于大屏展示信息控制或者演示文稿播放控制。这里的原始图像即可以是待控制的大屏或演示文稿前包含人体的图像,该图像可以通过待控制的大屏或演示文稿前的摄像设备如摄像头采集获得。
特别的,当控制人在大屏前进行远距离(如距离3米以上)演示控制时,直接对由摄像设备采集的原始图像进行手部检测的效果通常较差,手部的微小变化(如约6px内的变化)难以反映在复杂的大屏采集图像(如1920px*1080px的图像)上,因此,本步骤可以利用人体检测网络MediaPipe或yolov5对原始图像进行检测得到人体图像,然后将该人体图像的长度和宽度均扩大20%后截取保存,得到原始图像最终对应的人体图像,从而使得最终获得的人体图像能够反映手部的微小变化。其中,MediaPipe是谷歌(***)的一个开源项目,可以提供开源的、跨平台的常用机器学习方案,它实际上是一个集成的机器学习视觉算法的工具库,包含了人脸检测、人脸关键点识别、手势识别、人像分割、人体姿态识别等各种模型。
步骤S120,利用预设的关键点检测模型,对人体图像进行手部关键点检测,得到人体手部关节点信息。
具体的,预设的关键点检测模型可以采用轻量级人体关键点检测包MediaPipe的Holistic检测模型,利用该模型对人体图像进行手部关键点检测,可以得到包括人体手部21个三维(3Dimensions,3D)关节点在内的人体手部关节点信息。如图2所示,手部21个关节点的标号可以分别为0至20。其中,关节点0可记为WRIST,表示其为腕关节的对应节点。关节点1可记为THUMB_CMC,表示其为大拇指腕掌的对应节点。关节点2可记为THUMB_MCP,表示其为大拇指掌指关节的对应节点。关节点3可记为THUMB_IP,表示其为大拇指指间关节的对应节点。关节点4可记为THUMB_TIP,表示其为大拇指指尖的对应节点。关节点5可记为INDEX_FINGER_MCP,表示其为食指掌指关节的对应节点。关节点6可记为INDEX_FINGER_PIP,表示其为食指近端指尖关节的对应节点。关节点7可记为INDEX_FINGER_DIP,表示其为食指远端指尖关节的对应节点。关节点8可记为INDEX_FINGER_TIP,表示其为食指指尖的对应节点。关节点9可记为MIDDLE FINGER_MCP,表示其为中指掌指关节的对应节点。关节点10可记为MIDDLE_FINGER_PIP,表示其为中指近端指尖关节的对应节点。关节点11可记为MIDDLE_FINGER DIP,表示其为中指远端指尖关节的对应节点。关节点12可记为MIDDLE_FINGER_TIP,表示其为中指指尖的对应节点。关节点13可记为RING_FINGER_MCP,表示其为无名指掌指关节的对应节点。关节点14可记为RING_FINGER_PIP,表示其为无名指近端指尖关节的对应节点。关节点15可记为RING_FINGER_DIP,表示其为无名指远端指尖关节的对应节点。关节点16可记为RING_FINGER_TIP,表示其为无名指指尖的对应节点。关节点17可记为PINKY_MCP,表示其为小指掌指关节的对应节点。关节点18可记为PINKY_PIP,表示其为小指近端指尖关节的对应节点。关节点19可记为PINKY_DIP,表示其为小指远端指尖关节的对应节点。关节点20可记为PINKY_TIP,表示其为小指指尖的对应节点。每个关节点的位置坐标均可以通过x轴、y轴、z轴的对应坐标(x,y,z)来表示。
步骤S130,基于人体手部关节点信息,确定满足预设特征条件的演示手,并在演示手的动作满足预设激活条件时,将控制焦点赋予演示手。
具体的,这里的预设特征条件可以是手掌保持举起动作预设时长以上,该预设时长可以是60ms、65ms等。此时,若人体图像中的手部举起并以手掌动作停留预设时长如60ms以上,则可将识别到的该手部作为演示手。
预设激活条件可以是连续预设数量帧图像的手势识别结果均为手掌,该预设数量帧可以是3帧、4帧等。此时,若连续预设数量帧如3帧图像的手势识别结果均为手掌,则可认为演示手已准备好,将大屏或演示文稿的控制焦点赋予该演示手,从而完成演示手的激活。
步骤S140,连续获取多帧图像,基于多帧图像,确定演示手在当前帧图像的运动历史图。
具体的,本实施方式可以通过待控制的大屏或演示文稿前的摄像设备如摄像头来连续获取多帧图像,该多帧图像中的每帧图像均应当包括演示手,以基于该多帧图像确定演示手在当前帧图像的运动历史图。这里的运动历史图英文全称为Motion HistoryImage,简称MHI,可以根据连续多帧图像中的像素变化,反映出演示手在该多帧图像中的运动历史。
示例性的,一并结合图3,步骤S140中,基于多帧图像,确定演示手在当前帧图像的运动历史图,可以包括步骤S141和步骤S142。
步骤S141,基于多帧图像,确定演示手分别在每帧图像中的关节点信息,得到演示手的运动历史关节点信息。
具体的,本步骤可以以激活的演示手为基准,将其他手均作为干扰手,确定演示手在连续获取的多帧图像中的关节点信息,从而得到当前演示手的运动历史关节点信息列表。
示例性的,一并结合图4,步骤S141可以包括步骤S141a和步骤S141b。
步骤S141a,基于多帧图像,利用凸包检测算法,生成演示手分别在每帧图像中的凸包以及凸包外的关节点信息。
具体的,凸包检测算法首先对多帧图像分别进行演示手的轮廓检测,然后以轮廓中的点作为点集,找到演示手分别在每帧图像中的凸包以及凸包外的关节点,从而生成演示手分别在每帧图像中的凸包以及凸包外的关节点信息。
示例性的,步骤S141a包括:基于多帧图像,分别构造每帧图像中演示手对应的手掌部位轮廓凸包曲线,得到演示手分别在每帧图像中的凸包;基于多帧图像,分别确定每帧图像中演示手的每个关节点与凸包的距离;基于演示手的每个关节点与凸包的距离,按照预设的距离对应关系,确定凸包外的关节点。
具体的,本步骤可以利用OpenCV中的convexHull方法来构造每帧图像中演示手对应的手掌部位的轮廓凸包曲线。这里的OpenCV是一个跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作***上,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV中的convexHull方法可以计算出图像中的演示手对应的手掌部位的凸包,根据图像中手掌部位的轮廓点,通过函数convexHull转化成凸包的点点坐标,从而画出演示手的手掌部位对应的凸包,得到演示手的手掌部位轮廓凸包曲线。
举例而言,本步骤可以利用OpenCV中的pointPolygonTest方法,计算每帧图像中演示手的手部关节点i与凸包的距离pt(i)。这里的pointPolygonTest方法可以判断手部关节点i是在手掌部位轮廓的内部还是外部。若pt(i)=0,则表明手部关节点i在手掌部位轮廓的凸包曲线上。若pt(i)=1,则表明手部关节点i在手掌部位轮廓的凸包曲线内部。若pt(i)=-1,则表明手部关节点i在手掌部位轮廓的凸包曲线外部。由于手指的关节点是在手掌的外部,因此,本实施方式将pt(i)=-1的手部关节点i作为手指的关节点,并将其记录至fingers数组中,据此,可以将手掌部位轮廓凸包外的所有关节点即所有手指关节点记录至fingers数组,此时,fingers数组即包含了所有手指关节点信息。
步骤S141b,基于凸包以及凸包外的关节点信息,利用基于位置与角度的手势识别算法,确定演示手在每帧图像中的手势动作,得到运动历史关节点信息。
具体的,本步骤可以利用fingers数组包含的手指关节点信息中的位置与角度,使用基于位置与角度的手势识别算法,确定出演示手在每帧图像中的手势动作如拳头、比V、数字1-9等,从而得到演示手基于连续获取的多帧图像的运动历史关节点信息。
示例性的,步骤S141b包括:分别计算演示手对应的凸包外的关节点数量、任意两个关节点之间的距离、任意两个关节点形成的边与其他任意两个关节点形成的边之间的夹角;根据凸包外的关节点数量、任意两个关节点之间的距离以及夹角,基于预设的手势动作判断关系,确定演示手在每帧图像中的手势动作。
具体的,本步骤可以基于fingers数组包含的手指关节点信息,计算凸包外的关节点数量、任意两个关节点之间的距离、关节点形成的边与边之间的夹角。
基于凸包外的关节点数量,可以计算出凸包外的手指数量len(fingers)。len(fingers)的取值为0-5,分别代表凸包外有0-5根手指。
示例性的,任意两个关节点之间的距离可以表示为下式(1):
dist(i,j)=sqrt((i_x-j_x)2+(i_y-j_y)2) (1)。
其中,i、j均为关节点的编号且i≠j。dist(i,j)表示关节点i与关节点j之间的距离,i_x表示关节点i的x坐标,j_x表示关节点j的x坐标,i_y表示关节点i的y坐标,j_y表示关节点j的y坐标,sqrt()表示平方根。
任意两个关节点形成的边与其他两个关节点形成的边之间的夹角可以表示为下式(2):
v(i-j,k-m)=arctan((i_y-j_y)/(i_x-j_x))-arctan((k_y-m_y)/(k_x-m_x))(2)。
其中,k、m均为关节点的编号且i≠j≠k≠m,v(i-j,k-m)表示边i-j与边k-m之间的夹角,边i-j为关节点i与关节点j形成的边,边k-m为关节点k与关节点m形成的边,k_y表示关节点k的y坐标,m_y表示关节点m的y坐标,k_x表示关节点k的x坐标,m_x表示关节点m的x坐标。
根据凸包外的关节点数量以及各关节点形成的边与边之间的夹角,可以得到预设的手势动作判断关系,从而利用该手势动作判断关系实现对演示手的手势动作的判断。
举例来说,在预设的手势动作判断关系中,手势动作拳头可以对应len(fingers)=0即凸包外的手指数量为0也即凸包外的关节点数为0的情况。比V可以对应len(fingers)=2且fingers[0]>=3且fingers[1]>=3且v(fingers[0],fingers[1])>=10的情况,其中,len(fingers)=2表示凸包外的手指数量为2,fingers[0]>=3表示标号为0的手指包括的关节点数不小于3,fingers[1]>=3表示标号为1的手指包括的关节点数不小于3,v(fingers[0],fingers[1])>=10表示标号为0的手指与标号为1的手指之间的夹角大于等于10。数字1可以对应len(fingers)=1且fingers[0]==8的情况,其中,len(fingers)=1表示凸包外的手指数量为1,fingers[0]==8表示标号为0的手指中位于最高位置即距离凸包最远的关节点的标号为8,如图2所示,标号为8的关节点表示食指指尖的对应节点。数字2可以对应len(fingers)=2且fingers[0]>=3且fingers[1]>=3且v(fingers[0],fingers[1])<3的情况,其中,v(fingers[0],fingers[1])<3表示标号为0的手指与标号为1的手指之间的夹角小于3,从而通过手指0与手指1之间的角度实现手势动作数字2与比V的区分。数字4可以对应len(fingers)==4且fingers[0]>=3且fingers[1]>=3且fingers[2]>=3且fingers[3]>=3的情况。其中,len(fingers)==4表示凸包外的手指数量为4,fingers[2]>=3表示标号为2的手指包括的关节点数不小于3,fingers[3]>=3表示标号为3的手指包括的关节点数不小于3。数字5可以对应len(fingers)==5的情况,其中,len(fingers)==5表示凸包外的手指数量为5。
步骤S142,将运动历史关节点信息投影到演示手所在的当前帧图像上,得到运动历史图。
具体的,本步骤可以将当前演示手的运动历史关节点信息列表所携带的运动历史关节点信息,投影到当前演示手所在的当前帧图像上,从而形成当前演示手的当前帧的运动历史图。
步骤S150,基于运动历史图,通过动作融合算法,确定演示手在当前帧图像的动作识别结果。
具体的,本步骤可以首先确定识别出运动历史图涉及的演示手的每个手势动作,之后将识别出的所有手势动作通过动作融合算法进行融合,将融合结果作为演示手在当前帧图像的动作识别结果。
示例性的,步骤S150包括:基于运动历史图,确定演示手在当前帧图像的多个历史动作识别结果;将多个历史动作识别结果分别与预设的动作标签序列集合进行相似度计算,并将多个历史动作识别结果对应的相似度进行融合,得到动作识别结果。
具体的,预设的动作标签序列集合是预设类型的手势动作的所有可能的动作序列组成的集合。在将多个历史动作识别结果分别与预设的动作标签序列集合进行相似度计算时,可以分别将多个历史动作识别结果与动作标签序列集合中每个类型的手势动作的动作序列进行相似度计算,得到对应的相似度,基于该相似度完成多个历史动作识别结果的融合计算,得到运动历史图对应的运动历史阶段的动作融合结果,并将该动作融合结果作为演示手在当前帧图像的动作识别结果。
步骤S160,基于演示手动作与控制指令之间的预设关系,确定动作识别结果对应的针对控制焦点所指示的演示控制对象的实际控制指令。
具体的,对于不同的演示控制对象,可以预先设置演示手动作与不同的控制指令间的预设关系。
例如,当演示控制对象为智慧大屏时,在设置演示手动作与控制指令之间的预设关系时,可以利用数字1、2、3、4、5、6、7分别控制CTRL键、ALT键、Del键、鼠标移动、鼠标右击、鼠标左击、鼠标双击,利用大拇指向左、向右、向上、向下分别控制智慧大屏的窗口向左、向右、向上、向下移动,利用数字8、9分别控制智慧大屏的窗口缩放、关闭等。此时,若演示手的控制焦点所指示的演示控制对象为智慧大屏,则当动作识别结果对应的手势动作为9时,其对应的实际控制指令即为智慧大屏的窗口关闭控制。
再例如,当演示控制对象为演示文稿时,在设置演示手动作与控制指令之间的预设关系时,可以利用数字1、2、3、4、5、6、7分别控制CTRL键、ALT键、Del键、鼠标移动、鼠标右击、鼠标左击、鼠标双击,利用大拇指向左、向右、向上、向下分别控制演示文稿的下翻一页、上翻一页、选中、放大,利用数字8、9分别控制演示文稿的缩小、关闭等。此时,若演示手的控制焦点所指示的演示控制对象为演示文稿,则当动作识别结果对应的手势动作为9时,其对应的实际控制指令即为演示文稿的关闭控制。
步骤S170,通过实际控制指令,控制演示控制对象进行演示。
例如,在实际控制指令为智慧大屏的窗口关闭时,本步骤可根据该指令控制当前演示手的控制焦点所指示的智慧大屏将窗口关闭。或者,在实际控制指令为演示文稿的关闭时,本步骤可根据该指令控制当前演示手的控制焦点所指示的演示文稿关闭,等等。
本公开实施方式相对于现有技术而言,采用轻量级的动态手势识别算法对用于演示控制的手势动作进行识别,可以在CPU级别下达到25fps,延时较少,且在手势动作识别的过程中利用了手势动作的运动历史图像信息,使得动态手势动作的识别更加准确。同时,在演示手的动作满足预设激活条件时将控制焦点赋予该演示手,可以有效排除干扰手的干扰,聚焦演示手,从而保持当前演示手的轻量级追踪、判定和控制焦点保持。
示例性的,在步骤S170之后,演示控制方法S100还可以包括手势跟踪的相关步骤,具体可包括:确定当前帧图像的前后帧图像中演示手的关节点信息;基于前后帧图像中的关节点信息,分别计算演示手中每根手指上的关节点到手掌中心点的平均距离,得到演示手的每根手指对应的特征向量;基于特征向量,计算前后帧图像中演示手的手指相似度;分别计算演示手在当前帧图像中的手掌中心与演示手在前后帧图像中的手掌中心之间的距离,根据该距离确定前后帧图像的手掌相似度;将手指相似度和手掌相似度进行融合,得到演示手的手部相似度;基于手部相似度,对演示手进行跟踪。
具体的,在进行手势跟踪时,可以利用前后帧图像中的关节点信息,计算演示手的手指fi(fi的取值为1-5,分别表示演示手的第1-5根手指)上的关节点fj(fj的取值为1-4,分别表示演示手中每根手指的第1-4个关节点)到手掌中心点O的平均距离,将该平均距离作为对应手指fi的特征向量值Vi,从而得到演示手五根手指的特征向量V=(V1,V2,V3,V4,V5),其中,V1、V2、V3、V4、V5分别表示演示手的第1、2、3、4、5根手指对应的特征向量值。
在得到前后帧图像中演示手手指的特征向量后,可以利用该特征向量,计算前后帧图像中演示手的手指相似度s1。同时利用当前帧图像与前后帧图像中演示手的手掌中心坐标位置,计算演示手在当前帧图像的手掌中心与该演示手在前后帧图像中的手掌中心之间的距离,根据该距离确定前后帧图像的手掌相似度s2。将手指相似度s1和手掌相似度s2进行融合,即可得到演示手的手部相似度s。基于手部相似度s,可实现对被赋予控制焦点的演示手的跟踪与判定。需要说明的是,在计算手指相似度s1或手掌相似度s2时,可以将相关距离的倒数作为对应的相似度,从而避免其他手势的干扰,达到演示手追踪的目标。
本实施方式通过利用手势跟踪算法对当前的演示手进行手势跟踪,可以进一步有效排除干扰手的干扰,聚焦演示手,并进一步保持当前演示手的轻量级追踪、判定和焦点保持。
示例性的,在基于手部相似度,对演示手进行跟踪与判定之后,演示控制方法S100还包括:基于手部相似度,判断演示手是否满足预设失效条件;若演示手满足预设失效条件,则将控制焦点从演示手收回。
具体的,预设失效条件可以根据实际需要进行设置。例如,预设失效条件可以是演示手的手势动作在演示控制对象的控制范围之外,例如,演示手的手势动作位于智慧大屏的屏幕外;也可以是演示手的手势动作在演示控制对象的控制范围之内,但该手势动作在预设时长内一直保持不变,例如,演示手的手势动作在智慧大屏的屏幕内,但其在预设时长如100ms内一直保持垂直放下的动作。
在被赋予控制焦点的当前演示手满足预设失效条件时,就认为该演示手不再进行演示控制活动,因此,可将当前的控制焦点从当前演示手收回,令当前演示手失效。
示例性的,在当前的演示手失效后,摄像设备如摄像头可以重新捕捉新的手掌,以根据其进行新的激活手的判定。
为使本领域技术人员能够更好地理解上述实施方式,下面以一具体示例进行说明。
一并结合图5,一种基于动态手势识别的演示控制方法,包括以下步骤:
1)人体检测:在大屏前远距离(3米以上)演示时,直接对摄像头采集图像进行手部检测效果不好,手部的微小变化(约6px)难以反映在复杂的大屏采集大图像上(如1920px*1080px),利用人体检测网络MediaPipe,先检测出人体图像,然后对人体图像的长度和宽度均扩大20%并截取人体图像保存;
2)手关节点检测:利用轻量级人体关键点检测包MediaPipe的holistic检测模型,对人体图像进行手部关键点检测,得到人体手部21个3D关节点信息,标号从0到20,每个关节点位置坐标值为(x,y,z);
3)演示手激活:当一个手举起,以手掌动作停留60ms以上,检测算法基于此完成手掌识别,将该手掌所在的手作为演示手。如果连续3帧图像的识别结果都是该演示手的手掌,就认为当前的演示手已经准备好进行演示控制,把控制焦点赋予当前的演示手,从而完成演示手的激活。
4)凸包手势识别:基于凸包检测算法,完成图像中手部关节点的凸包生成,同时得到凸包外的关节点信息。其中,凸包检测算法包括以下步骤:
4.1)利用opencv的convexHull方法构造手掌部位的轮廓的凸包曲线。
4.2)利用opencv的pointPolygonTest方法计算得到每个手部关节点i与凸包的距离pt(i)值。
4.3)pt(i)=0表示关节点i在凸包的曲线上,pt(i)=1表示关节点i在凸包曲线的内部,pt(i)=-1表示关节点i在凸包曲线的外部,把pt(i)=-1的关节点i记录至fingers数组中,该fingers数组即包含了凸包外的关节点信息。
4.4)输出包括凸包外关节点信息的fingers数组。
5)运动历史图MHI生成:以当前激活的演示手为基准,其他手均为干扰手,连续获取多帧图像的演示手的关节点信息,得到当前演示手的运动历史关节点信息列表,并将其投影到当前帧的图像上,形成当前演示手的当前帧的运动历史图MHI。
6)动态手势识别:基于凸包外关节点信息中包括的关节点位置与角度,使用基于位置与角度的手势识别算法,判定当前演示手的不同手势动作,包括拳头、数字1-9、大拇指的向上、向下、向左、向右以及比V、OK等手势动作的识别。之后利用当前演示手的当前帧的运动历史图MHI,获得演示手在当前帧的多个历史动作识别结果,通过动作融合算法将多个历史动作识别结果进行融合,得到演示手在当前帧的动作识别结果,完成动态手势识别。
这里的基于位置与角度的手势识别算法包括以下步骤:
6.1.1)得到包含凸包外关节点信息的fingers数组。
6.1.2)基于凸包外的关节点数计算凸包外的手指数量len(fingers)、关节点i与关节点j之间的距离dist(i,j)、关节点i和关节点j形成的边i-j与关节点k和关节点m形成的边k-m之间的夹角v(i-j,k-m)等。其中,dist(i,j)表示为下式(1),v(i-j,k-m)表示为下式(2)。
dist(i,j)=sqrt((i_x-j_x)2+(i_y-j_y)2)(1)
v(i-j,k-m)=arctan((i_y-j_y)/(i_x-j_x))-arctan((k_y-m_y)/(k_x-m_x))(2)
6.1.3)根据凸包外的关节点数以及各关节点形成的边与边之间的夹角,可以得到拳头、数字1-9、大拇指向上、向下、向左、向右以及比V、OK等手势动作的判断关系。例如,拳头对应len(fingers)=0的情况。数字1对应len(fingers)=1且fingers[0]==8的情况。比V对应len(fingers)=2且fingers[0]>=3且fingers[1]>=3且v(fingers[0],fingers[1])>=10的情况。数字2对应len(fingers)=2且fingers[0]>=3且fingers[1]>=3且v(fingers[0],fingers[1])<3的情况。数字4对应len(fingers)==4且fingers[0]>=3且fingers[1]>=3且fingers[2]>=3且fingers[3]>=3的情况。数字5对应len(fingers)==5的情况。
7)控制大屏与演示文稿:基于手部动作识别出的当前演示手的手势动作,可以分别实现智慧大屏的远程演示控制以及演示文稿的远程播放演示控制。
7.1)智慧大屏控制:演示手动作与智慧大屏控制指令的对应关系可以设置为:利用数字1、2、3、4、5、6、7以及大拇指向左、向右、向上、向下、数字8、9分别控制智慧大屏上的CTRL键、ALT键、Del键、鼠标移动、鼠标右击、鼠标左击、鼠标双击以及窗口的向左、向右、向上、向下移动、缩放、关闭等。基于此,当演示手的控制焦点指示的是智慧大屏时,若识别出的当前演示手的手势动作为数字1时,其所对应的实际控制指令为CTRL键控制;若识别出的当前演示手的手势动作为大拇指向左时,其所对应的实际控制指令为窗口向左控制;等等。
7.2)演示文稿控制:演示手动作与演示文稿控制指令的对应关系可以设置为:利用数字1、2、3、4、5、6、7以及大拇指向左、向右、向上、向下、数字8、9分别控制CTRL键、ALT键、Del键、鼠标移动、鼠标右击、鼠标左击、鼠标双击以及演示文稿的下一页、上一页、选中、放大、缩小、关闭等。基于此,当演示手的控制焦点指示的是演示文稿时,若识别出的当前演示手的手势动作为大拇指向左时,其所对应的实际控制指令为演示文稿的下一页翻页控制;若识别出的当前演示手的手势动作为数字9时,其所对应的实际控制指令为演示文稿关闭控制;等等。
8)手势跟踪:利用前后帧图像的关节点信息,计算每根手指fi(取1-5)上的关节点fj(取1-4)到手掌中心点O的平均距离作为该手指fi的特征向量值Vi,形成五根手指的特征向量V=(V1,V2,V3,V4,V5),手势跟踪即利用手指的特征向量,完成前后帧图像的手指相似度s1的计算。同时利用当前帧图像与前后帧图像中每只手的手掌中心点O的坐标位置,计算多帧图像的手掌中心点的距离,作为前后帧图像的手掌相似度s2。将s1与s2进行融合,即可形成前后帧图像中手部的相似度s,从而完成当前拥有控制焦点的演示手的跟踪与判定。在计算手指相似度s1或手掌相似度s2时,将相关距离的倒数作为对应的相似度,从而避免其他手势的干扰,达到演示手追踪的目标。
9)演示手失效:若当前演示手满足预设失效条件,例如,当前演示手的手势在屏幕外,或者演示手的手势虽在屏幕内但检测到已垂直放下了一段时间(如100ms),则认为当前的演示手不再进行演示控制活动,将当前的控制焦点从该演示手处收回,令该演示手失效,转至步骤10)。若当前演示手不满足预设失效条件,则认为当前的演示手将继续进行演示控制活动,可重新回到步骤4),继续对演示手进行手势动作识别,以据此继续对演示控制对象如智慧大屏或演示文稿进行手势控制。
10)当前演示结束,检测新激活手:在演示手失效后,其对应的当前手势控制演示结束,摄像头将捕捉新的手掌,以基于该手掌确定新的演示手,并对演示手是否激活进行判定。
本公开的另一个实施方式涉及一种基于动态手势识别的演示控制装置,如图6所示,包括:
获取模块601,用于获取原始图像,基于原始图像进行人体检测,得到对应的人体图像;
检测模块602,用于利用预设的关键点检测模型,对人体图像进行手部关键点检测,得到人体手部关节点信息;
激活模块603,用于基于人体手部关节点信息,确定满足预设特征条件的演示手,并在演示手的动作满足预设激活条件时,将控制焦点赋予演示手;
第一确定模块604,用于连续获取多帧图像,基于多帧图像,确定演示手在当前帧图像的运动历史图;
第二确定模块605,用于基于运动历史图,通过动作融合算法,确定演示手在当前帧图像的动作识别结果;
第三确定模块606,用于基于演示手动作与控制指令之间的预设关系,确定动作识别结果对应的针对控制焦点所指示的演示控制对象的实际控制指令;
控制模块607,用于通过实际控制指令,控制演示控制对象进行演示。
本公开实施方式提供的基于动态手势识别的演示控制装置的具体实现方法,可以参见本公开实施方式提供的基于动态手势识别的演示控制方法所述,此处不再赘述。
本公开实施方式相对于现有技术而言,采用轻量级的动态手势识别算法对用于演示控制的手势动作进行识别,可以在CPU级别下达到25fps,延时较少,且在手势动作识别的过程中利用了手势动作的运动历史图像信息,使得动态手势动作的识别更加准确。同时,在演示手的动作满足预设激活条件时将控制焦点赋予该演示手,可以有效排除干扰手的干扰,聚焦演示手,从而保持当前演示手的轻量级追踪、判定和控制焦点保持。
本领域的普通技术人员可以理解,上述各实施方式是实现本公开的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本公开的精神和范围。

Claims (10)

1.一种基于动态手势识别的演示控制方法,其特征在于,所述演示控制方法包括:
获取原始图像,基于所述原始图像进行人体检测,得到对应的人体图像;
利用预设的关键点检测模型,对所述人体图像进行手部关键点检测,得到人体手部关节点信息;
基于所述人体手部关节点信息,确定满足预设特征条件的演示手,并在所述演示手的动作满足预设激活条件时,将控制焦点赋予所述演示手;
连续获取多帧图像,基于所述多帧图像,确定所述演示手在当前帧图像的运动历史图;
基于所述运动历史图,通过动作融合算法,确定所述演示手在所述当前帧图像的动作识别结果;
基于演示手动作与控制指令之间的预设关系,确定所述动作识别结果对应的针对所述控制焦点所指示的演示控制对象的实际控制指令;
通过所述实际控制指令,控制所述演示控制对象进行演示。
2.根据权利要求1所述的演示控制方法,其特征在于,所述基于所述多帧图像,确定所述演示手在当前帧图像的运动历史图,包括:
基于所述多帧图像,确定所述演示手分别在每帧图像中的关节点信息,得到所述演示手的运动历史关节点信息;
将所述运动历史关节点信息投影到所述演示手所在的当前帧图像上,得到所述运动历史图。
3.根据权利要求2所述的演示控制方法,其特征在于,所述基于所述多帧图像,确定所述演示手分别在每帧图像中的关节点信息,得到所述演示手的运动历史关节点信息,包括:
基于所述多帧图像,利用凸包检测算法,生成所述演示手分别在每帧图像中的凸包以及所述凸包外的关节点信息;
基于所述凸包以及所述凸包外的关节点信息,利用基于位置与角度的手势识别算法,确定所述演示手在每帧图像中的手势动作,得到所述运动历史关节点信息。
4.根据权利要求3所述的演示控制方法,其特征在于,所述基于所述多帧图像,利用凸包检测算法,生成所述演示手分别在每帧图像中的凸包以及所述凸包外的关节点信息,包括:
基于所述多帧图像,分别构造每帧图像中所述演示手对应的手掌部位轮廓凸包曲线,得到所述演示手分别在每帧图像中的所述凸包;
基于所述多帧图像,分别确定每帧图像中所述演示手的每个关节点与所述凸包的距离;
基于所述演示手的每个关节点与所述凸包的距离,按照预设的距离对应关系,确定所述凸包外的关节点。
5.根据权利要求4所述的演示控制方法,其特征在于,所述基于所述凸包以及所述凸包外的关节点信息,利用基于位置与角度的手势识别算法,确定所述演示手在每帧图像中的手势动作,包括:
分别计算所述演示手对应的所述凸包外的关节点数量、任意两个关节点之间的距离、任意两个关节点形成的边与其他任意两个关节点形成的边之间的夹角;
根据所述凸包外的关节点数量、任意两个关节点之间的距离以及所述夹角,基于预设的手势动作判断关系,确定所述演示手在每帧图像中的手势动作。
6.根据权利要求5所述的演示控制方法,其特征在于,
所述任意两个关节点之间的距离表示为下式(1):
dist(i,j)=sqrt((i_x-j_x)2+(i_y-j_y)2) (1)
所述任意两个关节点形成的边与其他两个关节点形成的边之间的夹角表示为下式(2):
v(i-j,k-m)=arctan((i_y-j_y)/(i_x-j_x))-arctan((k_y-m_y)/(k_x-m_x))(2)
其中,i≠j≠k≠m,dist(i,j)表示关节点i与关节点j之间的距离,i_x表示关节点i的x坐标,j_x表示关节点j的x坐标,i_y表示关节点i的y坐标,j_y表示关节点j的y坐标,sqrt()表示平方根,v(i-j,k-m)表示边i-j与边k-m之间的夹角,边i-j为关节点i与关节点j形成的边,边k-m为关节点k与关节点m形成的边,k_y表示关节点k的y坐标,m_y表示关节点m的y坐标,k_x表示关节点k的x坐标,m_x表示关节点m的x坐标。
7.根据权利要求6所述的演示控制方法,其特征在于,所述基于所述运动历史图,通过动作融合算法,确定所述演示手在所述当前帧图像的动作识别结果,包括:
基于所述运动历史图,确定所述演示手在所述当前帧图像的多个历史动作识别结果;
将所述多个历史动作识别结果分别与预设的动作标签序列集合进行相似度计算,并将所述多个历史动作识别结果对应的相似度进行融合,得到所述动作识别结果。
8.根据权利要求1至7任一项所述的演示控制方法,其特征在于,在所述通过所述实际控制指令,控制所述演示控制对象进行演示之后,所述演示控制方法还包括:
确定当前帧图像的前后帧图像中所述演示手的关节点信息;
基于所述前后帧图像中的关节点信息,分别计算所述演示手中每根手指上的关节点到手掌中心点的平均距离,得到所述演示手的每根手指对应的特征向量;
基于所述特征向量,计算所述前后帧图像中所述演示手的手指相似度;
分别计算所述演示手在当前帧图像中的手掌中心与所述演示手在所述前后帧图像中的手掌中心之间的距离,根据该距离确定所述前后帧图像的手掌相似度;
将所述手指相似度和所述手掌相似度进行融合,得到所述演示手的手部相似度;
基于所述手部相似度,对所述演示手进行跟踪。
9.根据权利要求8所述的演示控制方法,其特征在于,在所述基于所述手部相似度,对所述演示手进行跟踪与判定之后,所述演示控制方法还包括:
基于所述手部相似度,判断所述演示手是否满足预设失效条件;
若所述演示手满足所述预设失效条件,则将所述控制焦点从所述演示手收回。
10.一种基于动态手势识别的演示控制装置,其特征在于,所述演示控制装置包括:
获取模块,用于获取原始图像,基于所述原始图像进行人体检测,得到对应的人体图像;
检测模块,用于利用预设的关键点检测模型,对所述人体图像进行手部关键点检测,得到人体手部关节点信息;
激活模块,用于基于所述人体手部关节点信息,确定满足预设特征条件的演示手,并在所述演示手的动作满足预设激活条件时,将控制焦点赋予所述演示手;
第一确定模块,用于连续获取多帧图像,基于所述多帧图像,确定所述演示手在当前帧图像的运动历史图;
第二确定模块,用于基于所述运动历史图,通过动作融合算法,确定所述演示手在所述当前帧图像的动作识别结果;
第三确定模块,用于基于演示手动作与控制指令之间的预设关系,确定所述动作识别结果对应的针对所述控制焦点所指示的演示控制对象的实际控制指令;
控制模块,用于通过所述实际控制指令,控制所述演示控制对象进行演示。
CN202310219341.7A 2023-03-07 2023-03-07 基于动态手势识别的演示控制方法及装置 Pending CN116246345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310219341.7A CN116246345A (zh) 2023-03-07 2023-03-07 基于动态手势识别的演示控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310219341.7A CN116246345A (zh) 2023-03-07 2023-03-07 基于动态手势识别的演示控制方法及装置

Publications (1)

Publication Number Publication Date
CN116246345A true CN116246345A (zh) 2023-06-09

Family

ID=86632938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310219341.7A Pending CN116246345A (zh) 2023-03-07 2023-03-07 基于动态手势识别的演示控制方法及装置

Country Status (1)

Country Link
CN (1) CN116246345A (zh)

Similar Documents

Publication Publication Date Title
Zhou et al. A novel finger and hand pose estimation technique for real-time hand gesture recognition
Erol et al. Vision-based hand pose estimation: A review
US10108270B2 (en) Real-time 3D gesture recognition and tracking system for mobile devices
US20110115892A1 (en) Real-time embedded visible spectrum light vision-based human finger detection and tracking method
CN102073414B (zh) 基于机器视觉的多点触摸跟踪方法
CN112506340B (zh) 设备控制方法、装置、电子设备及存储介质
CN110210426B (zh) 基于注意力机制从单幅彩色图像进行手部姿态估计的方法
CN111414837A (zh) 手势识别方法、装置、计算机设备及存储介质
Yin et al. Toward natural interaction in the real world: Real-time gesture recognition
Wang et al. Immersive human–computer interactive virtual environment using large-scale display system
Michel et al. Gesture recognition supporting the interaction of humans with socially assistive robots
Wei et al. Dual regression for efficient hand pose estimation
CN114332927A (zh) 课堂举手行为检测方法、***、计算机设备和存储介质
JP2003256850A (ja) 動き認識装置および画像処理装置並びにプログラム
John et al. Hand gesture identification using deep learning and artificial neural networks: A review
CN116543452A (zh) 手势识别、手势交互方法及装置
CN113961067B (zh) 基于深度学习的非接触式涂鸦绘制方法与识别交互***
WO2023273372A1 (zh) 手势识别对象确定方法及装置
Tsai et al. Reverse time ordered stroke context for air-writing recognition
CN116246345A (zh) 基于动态手势识别的演示控制方法及装置
US20220050528A1 (en) Electronic device for simulating a mouse
Dhamanskar et al. Human computer interaction using hand gestures and voice
JP2832333B2 (ja) 物体の形状・姿勢検出装置
Zhang et al. A Non-parametric RDP Algorithm Based on Leap Motion
Kaur et al. A Comprehensive overview of AR/VR by Writing in Air

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination