CN116092183A - 手势识别方法及装置、电子设备、存储介质 - Google Patents
手势识别方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN116092183A CN116092183A CN202211604196.6A CN202211604196A CN116092183A CN 116092183 A CN116092183 A CN 116092183A CN 202211604196 A CN202211604196 A CN 202211604196A CN 116092183 A CN116092183 A CN 116092183A
- Authority
- CN
- China
- Prior art keywords
- video frame
- model
- palm
- coordinates
- joint point
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 50
- 230000009466 transformation Effects 0.000 claims abstract description 45
- 241001133760 Acoelorraphe Species 0.000 claims description 208
- 238000001514 detection method Methods 0.000 claims description 98
- 230000008569 process Effects 0.000 claims description 37
- 238000013145 classification model Methods 0.000 claims description 18
- 238000003062 neural network model Methods 0.000 claims description 18
- 239000003550 marker Substances 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 241000233788 Arecaceae Species 0.000 claims description 3
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 claims 1
- 230000006870 function Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 14
- 238000000605 extraction Methods 0.000 description 5
- 210000003811 finger Anatomy 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 244000060701 Kaempferia pandurata Species 0.000 description 1
- 235000016390 Uvaria chamae Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Computational Linguistics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种手势识别方法及装置、电子设备、计算机可读存储介质,包括:在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N‑1个视频帧中识别出手掌;N为大于1的整数;若是,基于第N‑1个视频帧对应的多个关节点坐标,确定多个目标关键点坐标;基于多个目标关键点坐标,对第N个视频帧进行仿射变换;将经过仿射变换的第N个视频帧作为关节点标记模型的输入,获得关节点标记模型输出的预测类别信息和多个关节点坐标;若预测类别信息表征第N个视频帧中存在手掌,将第N个视频帧对应的多个关节点坐标,输入关节点手势识别模型,获得关节点手势识别模型输出的手势类别信息。本方案可以准确实现手势识别任务。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种手势识别方法及装置、电子设备、计算机可读存储介质。
背景技术
用户与设备之间可以通过手势变化进行交互,实现调节音量、切换显示页面等功能,进而提升用户体验。目前,可以基于深度学习的手势识别技术,可以通过摄像头采集手势图片,并以图片识别模型对手势图片进行特征提取后识别出手势图片中的手势。
然而,相关技术中,图片识别模型的识别效果高度依赖数据集,使得分类模型的鲁棒性不强。如果应用过程采集的手势图片与数据集中图片存在差异,则分类识别性能较差。此外,当增加新手势的识别任务时,需要对整个模型进行重新训练和更新,整个过程不仅耗时,还浪费了大量计算资源用于对图像特征进行重复学习。
发明内容
本申请实施例的目的在于提供一种手势识别方法及装置、电子设备、计算机可读存储介质,用于准确实现手势识别任务。
一方面,本申请提供了一种手势识别方法,包括:
在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌;其中,N为大于1的整数;
若是,基于所述第N-1个视频帧对应的多个关节点坐标,确定多个目标关键点坐标;
基于所述多个目标关键点坐标,对所述第N个视频帧进行仿射变换;
将经过仿射变换的第N个视频帧作为所述关节点标记模型的输入,获得所述关节点标记模型输出的预测类别信息和多个关节点坐标;其中,所述预测类别信息表征所述第N个视频帧中是否存在手掌;
如果所述预测类别信息表征所述第N个视频帧中存在手掌,将所述第N个视频帧对应的多个关节点坐标,作为已训练的关节点手势识别模型的输入,获得所述关节点手势识别模型输出的手势类别信息。
在一实施例中,所述方法还包括:
若所述关节点标记模型未从所述第N-1个视频帧中识别出手掌,或者,若所述预测类别信息表征所述第N个视频帧中不存在手掌,将所述第N个视频帧作为已训练的手掌根部检测模型的输入,获得所述手掌根部检测模型输出的检测结果;
如果所述检测结果表征所述第N个视频帧的手掌根部位置框和对应于所述手掌根部位置框的多个关键点坐标,根据所述手掌根部位置框对应的多个关键点坐标,确定多个目标关键点坐标;
继续执行所述基于所述多个目标关键点坐标,对所述第N个视频帧进行仿射变换的步骤。
在一实施例中,所述方法还包括:
如果所述检测结果表征所述第N个视频帧中不存在手掌,结束对所述第N个视频帧的识别流程。
在一实施例中,在所述在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌之前,所述方法还包括:
获得所述连续视频帧的第1个视频帧的情况下,将所述第1个视频帧作为已训练的手掌根部检测模型的输入,获得所述手掌根部检测模型输出的检测结果;
如果所述检测结果表征所述第1个视频帧的手掌根部位置框和对应于所述手掌根部位置框的多个关键点坐标,根据所述手掌根部位置框对应的多个关键点坐标,确定多个目标关键点坐标;
基于所述多个目标关键点坐标,对所述第1个视频帧进行仿射变换;
将经过仿射变换的第1个视频帧作为所述关节点标记模型的输入,获得所述关节点标记模型输出的对应于第1个视频帧的预测类别信息和多个关节点坐标;
如果对应于第1个视频帧的预测类别信息,表征所述第1个视频帧中存在手掌,将所述第1个视频帧对应的多个关节点坐标,作为所述关节点手势识别模型的输入,获得所述关节点手势识别模型输出的对应于第1个视频帧的手势类别信息。
在一实施例中,所述关节点标记模型,通过如下方式训练得到:
将第一数据集中的样本图像,作为预设标记模型的输入,获得所述标记模型输出的样本预测类别和多个样本关节点坐标;其中,所述样本图像携带类别标签;类别标签表征存在手掌的样本图像,携带已标记的多个标签关节点坐标;
根据所述样本图像的样本预测类别与类别标签之间的差异,以及所述多个样本关节点坐标与多个标签关节点坐标之间的差异,对所述标记模型的模型参数进行调整;
重复上述过程,直至所述标记模型收敛,得到所述关节点标记模型。
在一实施例中,所述关节点手势识别模型,通过如下方式训练得到:
将第二数据集中的样本坐标组合,作为预设分类模型的输入,获得所述分类模型输出的预测手势类别;其中,每一样本坐标组合包括多个关节点坐标,且携带手势类别标签;
根据所述样本坐标组合的预测手势类别与手势类别标签之间的差异,对所述分类模型的模型参数进行调整;
重复上述过程,直至所述分类模型收敛,得到关节点手势识别模型。
在一实施例中,所述手掌根部检测模型,通过如下方式训练得到:
将第三数据集中的样本图像,作为预设神经网络模型的输入,获得所述神经网络模型输出的目标检测结果和多个样本关键点坐标;其中,所述样本图像携带手掌根部的边框位置和多个标签关键点坐标;
根据所述样本图像的边框位置和目标检测结果之间的差异,以及所述多个标签关键点坐标和多个样本关键点坐标之间的差异,对所述神经网络模型的模型参数进行调整;
重复上述过程,直至所述神经网络模型收敛,得到所述手掌根部检测模型。
另一方面,本申请提供了一种手势识别装置,包括:
判断模块,用于在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌;其中,N为大于1的整数;
确定模块,用于若是,基于所述第N-1个视频帧对应的多个关节点坐标,确定多个目标关键点坐标;
变换模块,用于基于所述多个目标关键点坐标,对所述第N个视频帧进行仿射变换;
预测模块,用于将经过仿射变换的第N个视频帧作为所述关节点标记模型的输入,获得所述关节点标记模型输出的预测类别信息和多个关节点坐标;其中,所述预测类别信息表征所述第N个视频帧中是否存在手掌;
识别模块,用于如果所述预测类别信息表征所述第N个视频帧中存在手掌,将所述第N个视频帧对应的多个关节点坐标,作为已训练的关节点手势识别模型的输入,获得所述关节点手势识别模型输出的手势类别信息。
进一步的,本申请提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述手势识别方法。
此外,本申请提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述手势识别方法。
本申请方案,在对连续视频帧进行处理以识别手势的过程中,若前一视频帧被关节点标记模型识别出手掌,可以认为后一视频帧中手掌位置和姿态与前一视频帧基本相同,因此,借助前一视频帧对应的多个关节点坐标确定多个目标关键点坐标后,以多个目标关键点坐标对后一视频帧进行仿射变换,可以得到手掌成像姿态较为端正的图像,进而通过关节点标记模型进行处理,从而对后一视频帧是否存在手掌进行准确判定并输出多个关节点坐标,根据关节点手势识别模型基于多个关节点坐标准确识别出后一视频帧的手势类别信息。由于关节点手势识别模型通过关节点坐标执行分类任务,受视频帧(手势图片)的影响很小,相比现有图片识别模型具有更强的鲁棒性。并且,由于将用于特征提取的模型(关节点标记模型)与用于分类的模型(关节点手势识别模型)解耦,当增加新手势的识别任务时,无需更新所有模型,只需要对关节点手势识别模型进行更新即可,减少了训练耗时和资源浪费。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。
图1为本申请一实施例提供的手势识别方法的应用场景示意图;
图2为本申请一实施例提供的电子设备的结构示意图;
图3为本申请一实施例提供的手势识别方法的流程示意图;
图4为本申请一实施例提供的视频帧处理方法的流程示意图;
图5为本申请一实施例提供的动态切换模型的流程示意图;
图6为本申请一实施例提供的动态切换前后的对比示意图;
图7为本申请一实施例提供的第一个视频帧的处理流程示意图;
图8为本申请一实施例提供的关节点标记模型的训练方法的流程示意图;
图9为本申请一实施例提供的关节点手势识别模型的训练方法的流程示意图;
图10为本申请一实施例提供的手掌根部检测模型的训练方法的流程示意图;
图11为本申请一实施例提供的本方案整体构思的示意图;
图12为本申请一实施例提供的手势识别装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本申请实施例提供的手势识别方法的应用场景示意图。如图1所示,该应用场景包括客户端20和服务端30;客户端20可以是手机、平板电脑、网络摄像头等电子设备,用于向服务端30发送视频流数据;服务端30可以是边缘计算设备、服务器、服务器集群或云计算中心,可以对视频流数据中每一视频帧进行处理,从而识别出视频帧中的手势。
如图2所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图2中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是上述服务端30,用于执行手势识别方法。
存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本申请提供的手势识别方法。
参见图3,为本申请一实施例提供的手势识别方法的流程示意图,如图3所示,该方法可以包括以下步骤310-步骤350。
步骤310:在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌;其中,N为大于1的整数。
服务端可以从客户端获取连续视频帧,并对获取到的每一视频帧进行手势识别处理。在一实施例中,连续视频帧是客户端所采集的原始视频流数据。比如:客户端每秒采集30个视频帧,则将每秒30个视频帧均交由服务端进行处理。在一实施例中,为降低计算量,连续视频帧是客户端从采集到的原始视频流中抽取的视频帧。比如:客户端每秒采集30个视频帧,可以每隔1帧选择一个视频帧,从而将每秒采集的30个视频帧中的15个视频帧交由服务端进行处理。
连续视频帧中第N个视频帧,表示连续视频帧中除了第1个视频帧以外的任意一个视频帧。服务端获得第N个视频帧之后,可以判断关节点标记模型是否从第N-1个视频帧中识别出手掌。
这里,关节点标记模型用于识别视频帧(图像)中手掌的各个关节点的关节点坐标,关节点坐标为以视频帧建立图像坐标系后,关节点所在的坐标位置。关节点标记模型可识别的关节点数量可以根据需要进行设置,关节点可以包括手掌每一手指的指骨连接处关节、指尖、指骨与掌骨连接处关节、手掌根部中心点、大拇指根部与手掌根部中点之间连线的中点等。如果选择前述所有关节点,则关节点标记模型可以识别一个手掌的21个关节点坐标。
关节点标记模型可以通过执行回归任务,预测出视频帧中手掌各个关节点的关节点坐标。此外,关节点标记模型还可以包括分类器,该分类器用于输出表征视频帧中是否存在手掌的预测类别信息。该预测类别信息可以为存在手掌的置信度,若置信度大于预设置信度阈值(比如:0.7),则确定该预测类别信息表征视频帧中存在手掌。
由于服务端持续对获取到的每一视频帧进行处理,因此,可以根据第N-1个视频帧对应的预测类别信息,确定第N-1个视频帧是否存在手掌。
步骤320:若是,基于第N-1个视频帧对应的多个关节点坐标,确定多个目标关键点坐标。
在第N-1个视频帧存在手掌的情况下,第N-1个视频帧存在对应的多个关节点坐标,此时,服务端可以根据多个关节点坐标,换算出多个目标关键点坐标。这里,目标关键点是用于作为仿射变换依据的关键点。示例性的,目标关键点可以是手掌中心点、手掌根部中心点、手掌左侧中心点;或者,目标关键点可以是手掌中心点、手掌根部中心点、手掌右侧中心点。
多个关节点坐标中已经包括手掌根部中心点的坐标,可以从中直接选取。对于手掌中心点的坐标,可以从多个关节点坐标中选择除了大拇指以外的四个手指的指骨与掌骨连接处关节(指根位置)的关节点坐标,对这四个关节点坐标的横纵坐标求均值,从而得到手掌中心点的坐标。对于手掌左侧中心点或手掌右侧中心点,可以从多个关节点坐标中选择中指指尖的坐标和手掌根部中心点的坐标,从而计算出手掌的长度,并以预设换算系数乘以该长度,得到手掌的宽度;在已经得到手掌中心点的坐标的情况下,将横坐标向左偏移宽度的一半,可以得到手掌左侧中心点的坐标;在已经得到手掌中心点的坐标的情况下,将横坐标向右偏移宽度的一半,可以得到手掌右侧中心点的坐标。
步骤330:基于多个目标关键点坐标,对第N个视频帧进行仿射变换。
在得到多个目标关键点坐标后,可以对第N个视频帧进行仿射变换,使得经过仿射变换的第N个视频帧中手掌处于较为端正的状态。此外,在对第N个视频帧进行仿射变换之前,可以对第N个视频帧进行预处理,使得第N个视频帧满足关节点标记模型的输入要求。这里,预处理方式可以包括pad处理(在视频帧外围补零)、将视频帧各个通道的像素值归一化等。
步骤340:将经过仿射变换的第N个视频帧作为关节点标记模型的输入,获得关节点标记模型输出的预测类别信息和多个关节点坐标;其中,预测类别信息表征第N个视频帧中是否存在手掌。
步骤350:如果预测类别信息表征第N个视频帧中存在手掌,将第N个视频帧对应的多个关节点坐标,作为已训练的关节点手势识别模型的输入,获得关节点手势识别模型输出的手势类别信息。
在将第N个视频帧进行预处理及仿射变换之后,可以将其输入至关节点标记模型,使得关节点标记模型输出预测类别信息和多个关节点坐标。
如果预测类别信息表征第N个视频帧中存在手掌,则说明多个关节点坐标有效,此时,可以基于多个关节点坐标构建关节点手势识别模型的输入参数。其中,关节点手势识别模型用于基于关节点坐标信息进行手势分类。
由于多个关节点坐标是经过预处理及仿射变换后视频帧中的坐标,在构建输入参数之前,可以分别对每一关节点坐标进行逆仿射变换、去除补零误差等还原操作,从而得到第N个视频帧实际对应的多个关节点坐标。进一步的,以第N个视频帧实际对应的多个关节点坐标,可以叠加出关节点坐标特征向量,作为输入参数。示例性的,总共有21个关节点坐标,可以依据预设顺序进行叠加,得到1*42的关节点坐标特征向量。
在获得输入参数后,可以将输入参数输入至关节点手势识别模型,通过关节点手势识别模型基于输入参数执行分类任务,从而得到手势类别信息。
通过上述措施,在对连续视频帧进行处理以识别手势的过程中,若前一视频帧被关节点标记模型识别出手掌,可以认为后一视频帧中手掌位置和姿态与前一视频帧基本相同,因此,借助前一视频帧对应的多个关节点坐标确定多个目标关键点坐标后,以多个目标关键点坐标对后一视频帧进行仿射变换,可以得到手掌成像姿态较为端正的图像,进而通过关节点标记模型进行处理,从而对后一视频帧是否存在手掌进行准确判定并输出多个关节点坐标,根据关节点手势识别模型基于多个关节点坐标准确识别出后一视频帧的手势类别信息。
由于关节点手势识别模型通过关节点坐标执行分类任务,受视频帧(手势图片)的影响很小,相比现有图片识别模型具有更强的鲁棒性。并且,由于将用于特征提取的模型(关节点标记模型)与用于分类的模型(关节点手势识别模型)解耦,当增加新手势的识别任务时,无需更新所有模型,只需要对关节点手势识别模型进行更新即可,减少了训练耗时和资源浪费。
在一实施例中,参见图4,为本申请一实施例提供的视频帧处理方法的流程示意图,如图4所示,该方法可以包括如下步骤410至步骤430。
步骤410:若关节点标记模型未从第N-1个视频帧中识别出手掌,或者,若预测类别信息表征第N个视频帧中不存在手掌,将第N个视频帧作为已训练的手掌根部检测模型的输入,获得手掌根部检测模型输出的检测结果。
服务端执行步骤310时,如果确定关节点标记模型未从第N-1个视频帧中识别出手掌,换而言之,第N-1个视频帧中不存在手掌,则可以继续执行步骤410。服务端执行步骤340时,如果第N个视频帧对应的预测类别信息,表征第N个视频帧中不存在手掌,可能是因为第N个视频帧中确实不存在手掌,也可能是第N个视频帧中手掌位置相比第N-1个视频帧中手掌位置变化过大,使得以第N-1个视频帧对应的目标关键点坐标对第N个视频帧进行仿射变换后,关节点标记模型无法处理经过仿射变换的第N个视频帧。因此,当预测类别信息表征第N个视频帧中不存在手掌的情况下,服务端可以继续执行步骤410。
服务端可以将第N个视频帧输入至手掌根部检测模型,通过手掌根部检测模型对第N个视频帧进行处理,得到检测结果。在将第N个视频帧输入手掌根部检测模型之前,可以对第N个视频帧进行预处理,使得第N个视频帧满足手掌根部检测模型的输入要求。这里,预处理方式可以包括pad处理、resize处理(改变图像大小)、将视频帧各个通道的像素值归一化等。
这里,手掌根部检测模型为针对手掌根部的目标检测模型,此外,手掌根部检测模型还可以通过已添加的回归任务输出层执行回归任务,输出多个关键点坐标。其中,关键点坐标可以包括除了大拇指以外的四个手指的指骨与掌骨连接处关键的关节点坐标、手指根部中心点的坐标、大拇指根部与手掌根部中点之间连线的中点坐标等。
在获得检测结果之后,可以检查该检测结果是否表征第N个视频帧中存在手掌。一种情况下,如果检测结果表征第N个视频帧中不存在手掌,可以结束对第N个视频帧的识别流程。这种情况下,服务端可以继续获取第N+1个视频帧,进而以本申请识别方法进行识别流程。另一种情况下,如果检测结果表征第N个视频帧中存在手掌,可以继续执行步骤420。
步骤420:如果检测结果表征第N个视频帧的手掌根部位置框和对应于手掌根部位置框的多个关键点坐标,根据手掌根部位置框对应的多个关键点坐标,确定多个目标关键点坐标。
在检测结果表征第N个视频帧存在手掌的情况下,检测结果可以表征第N个视频帧的手掌根部位置框,以及对应于手掌根部位置框的多个关键点坐标。这里,手掌根部位置框用于表征第N个视频帧中手掌根部所在位置。
在一实施例中,手掌根部检测模型可以基于SSD(Single Shot MultiBoxDetector)和YOLOv2(You Only Look Once version2)等模型构建得到,此时,手掌根部检测模型在处理第N个视频帧时,可以针对预设的多个锚框(anchor)分别输出对应的预测框及置信度,该置信度表示预测框内存在手掌根部的几率。此外,手掌根部检测模型还可输出对应于每一预测框的多个关键点坐标。
通过比对预测框的置信度和预设置信度阈值,可以筛选出置信度大地鱼置信度阈值的若干预测框。进一步的,通过NMS(Non Maximum Suppression,非极大值抑制)算法从若干预测框中选中最可能表示手掌根部位置的手掌根部位置框。
在获得第N个视频帧中手掌根部位置框之后,服务端可以根据该手掌根部位置框对应的多个关键点坐标,换算出多个目标关键点坐标。这里,目标关键点可以与步骤320所选择的目标关键点相同。此外,手掌根部位置框对应的关键点坐标,是以手掌根部位置框对应锚框的相对位置的形式来表示的(比如:以相对锚框中心点坐标的偏移量来表示),是换算目标关键点坐标前,可以将多个关节点坐标进行坐标还原计算,从而得到第N个视频帧中实际的多个关键点坐标,并以还原后的关键点坐标换算目标关键点坐标。
对于目标关键点手掌中心点和手掌根部中心点,目标关键点坐标的确定方式可以参照前文相关描述,在此不再赘述。对于目标关键点手掌左侧中心点或手掌右侧中心点,可以根据手掌中心点坐标和手掌根部中心点坐标,计算手掌中心点到手掌根部中心点的距离,并以预设转换系数乘以该距离,得到手掌宽度;在已经得到手掌中心点的坐标的情况下,将横坐标向左偏移宽度的一半,可以得到手掌左侧中心点的坐标;在已经得到手掌中心点的坐标的情况下,将横坐标向右偏移宽度的一半,可以得到手掌右侧中心点的坐标。
步骤430:继续执行基于多个目标关键点坐标,对第N个视频帧进行仿射变换的步骤。
在获得多个目标关键点坐标之后,服务端可以转至步骤330,基于多个目标关键点坐标对第N个视频帧进行仿射变换,并在仿射变换后,继续执行后续步骤,从而完成对第N个视频帧的手势识别流程。
通过上述措施,在无法借助前一视频帧对应的关节点坐标来对后一视频帧进行仿射变换、以识别出后一视频帧中的手掌的情况下,可以借助手掌根部检测模型对后一视频帧进行目标检测,以确定后一视频帧中手掌位置和多个关键点坐标,进而在后一视频帧中存在手掌的情况下,以多个关键点坐标确定多个目标关键点坐标,使得能够正确地对后一视频帧进行仿射变换,以在后续进行关节点检测和手势识别。
本申请方案,通过前述手掌根部检测模型和关节点标记模型,在处理连续视频帧时动态切换,可以降低检测过程中的模型推理运行次数,大大降低了计算量。
参见图5,为本申请一实施例提供的动态切换模型的流程示意图,如图5所示,在处理连续视频帧的过程中,首先可以通过手掌根部检测模型对视频帧进行检测,并根据手掌根部检测模型的检测结果,确定当前视频帧中是否存在手掌。
一种情况下,不存在手掌,可以获取新的视频帧,重新通过手掌根部检测模型对新的视频帧进行检测。
另一种情况下,存在手掌,可以基于手掌根部检测模型输出的多个关键点坐标,确定多个目标关键点坐标,进而依据多个目标关键点坐标对当前视频帧进行仿射变换。通过关节点标记模型对经过仿射变换的视频帧进行处理,从而获得预测类别信息和多个关节点坐标。
预测类别信息表征经过仿射变换的视频帧中存在手掌(如果手掌根部检测模型已确定存在手掌的情况下,预测类别信息必然表征存在手掌),可以将获得的多个关节点坐标作为最新的关节点坐标,用于后续的手掌类别识别。
进一步的,以多个关节点坐标确定多个目标关键点坐标,并对新的视频帧进行仿射变换。通过关节点标记模型对经过仿射变换的新的视频帧进行处理,从而获得预测类别信息和多个关节点坐标。
一方面,预测类别信息表征经过仿射变换的新的视频帧中存在手掌,可以将该视频帧对应的多个关节点作为新的关节点坐标,用于后续的手掌类别识别。进一步的,以多个关节点坐标确定多个目标关键点坐标,继续对下一视频帧进行仿射变换。
另一方面,借助单一关节点标记模型预测各个视频帧中关节点坐标的过程中,若任一视频帧的预测类别信息表征不存在手掌。则需要通过手掌根部检测模型对该视频帧进行检测。进一步的,根据检测结果执行后续流程。
这一过程中,如果手掌的移动幅度不大,则根据模型结构较为简单的关节点标记模型就可以持续检测各个视频帧中的关节点坐标,算力需求较少。而在手掌移动幅度较大的情况下,当关节点标记模型无法跟踪手掌时,借助模型结构更为复杂的手掌根部检测模型对视频帧进行处理,从而确定存在手掌的情况下,以手掌根部检测模型输出的关键点坐标对视频帧进行仿射变换,进而交由关节点标记模型进行处理。通过动态切换两个模型,可以在手掌移动幅度不大的情况下,减少对手掌根部检测模型的调用次数,降低计算量和计算耗时。此外,若本申请方案应用于移动设备,通过动态切换两个模型,还可以降低设备的能源消耗,增强续航能力。
参见图6,为本申请一实施例提供的动态切换前后的对比示意图,图6左侧为动态切换模型前关节点检测情况,每秒可处理17个视频帧;图6右侧为动态切换模型后关节点检测情况,每秒可处理33个视频帧。显而易见,通过动态切换方式可以极大提高手势识别过程中对视频帧的处理效率。
在一实施例中,在对连续视频流中第N个视频帧进行识别处理前,首先需要对连续视频流的第1个视频帧进行识别处理。参见图7,为本申请一实施例提供的第一个视频帧的处理流程示意图,如图7所示,该方法可以包括如下步骤710至步骤750。
步骤710:获得连续视频帧的第1个视频帧的情况下,将第1个视频帧作为已训练的手掌根部检测模型的输入,获得手掌根部检测模型输出的检测结果。
服务端首次获得连续视频帧中的视频帧时,可以将第1个视频帧输入至手掌根部检测模型,通过手掌根部检测模型对第1个视频帧进行处理,得到检测结果。这一过程可参见前述步骤410的内容,具体不再赘述。一方面,检测结果表征第1个视频帧中不存在手掌,可以结束对第1个视频帧的识别流程。这种情况下,服务端可以继续获取第2个视频帧,进而以本申请识别方法进行识别流程。另一方面,检测结果表征第1个视频帧中存在手掌,可以继续执行步骤720。
步骤720:如果检测结果表征第1个视频帧的手掌根部位置框和对应于手掌根部位置框的多个关键点坐标,根据手掌根部位置框对应的多个关键点坐标,确定多个目标关键点坐标。
在检测结果表征第1个视频帧存在手掌的情况下,检测结果可以表征第1个视频帧的手掌根部位置框,以及对应于该手掌根部位置框的多个关键点坐标。这里,手掌根部位置框用于表征第1个视频帧中手掌根部所在位置。
服务端可以根据该手掌根部位置框对应的多个关键点坐标,换算出多个目标关键点坐标。这一过程可参见前述步骤420的内容,具体不再赘述。
步骤730:基于多个目标关键点坐标,对第1个视频帧进行仿射变换。
在得到多个目标关键点坐标后,可以对第1个视频帧进行仿射变换,使得经过仿射变换的第1个视频帧中手掌处于较为端正的状态。此外,在对第1个视频帧进行仿射变换前,可以对第1个视频帧进行预处理,使得第1个视频帧满足关节点标记模型的输入要求。这里,预处理方式可以包括pad处理、将视频帧各个通道的像素值归一化等。
步骤740:将经过仿射变换的第1个视频帧作为关节点标记模型的输入,获得关节点标记模型输出的对应于第1个视频帧的预测类别信息和多个关节点坐标。
步骤750:如果对应于第1个视频帧的预测类别信息,表征第1个视频帧中存在手掌,将第1个视频帧对应的多个关节点坐标,作为关节点手势识别模型的输入,获得关节点手势识别模型输出的对应于第1个视频帧的手势类别信息。
在将第1个视频帧进行预处理及仿射变换之后,可以将其输入至关节点标记模型,使得关节点标记模型输出预测类别信息和多个关节点坐标。
在手掌根部检测模型的检测结果表征第1个视频帧中存在手掌的情况下,预测类别信息可以表征第1个视频帧中存在手掌,此时,多个关节点坐标有效。将多个关节点坐标构建输入参数后,通过关节点手势识别模型进行处理,从而得到第1个视频帧的手势类别信息。这一过程可参见前述步骤350的内容,具体不再赘述。
通过上述措施,在获得第1个视频帧之后,可以借助手掌根部检测模型和关节点标记模型准确识别出视频帧中的多个关节点,进而依据关节点手势识别模型对多个关节点处理得到手势类别信息。
在一实施例中,在执行本申请手势识别方法之前,可以训练出关节点标记模型。参见图8,为本申请一实施例提供的关节点标记模型的训练方法的流程示意图,如图8所示,该方法可以包括如下步骤810至步骤830。
步骤810:将第一数据集中的样本图像,作为预设标记模型的输入,获得标记模型输出的样本预测类别和多个样本关节点坐标;其中,样本图像携带类别标签;类别标签表征存在手掌的样本图像,携带已标记的多个标签关节点坐标。
这里,第一数据集中可以包括大量样本图像,样本图像可以携带类别标签,类别标签表征样本图像是否存在手掌。对于存在手掌的样本图像,还可以预先标记多个标签关节点坐标,标签关节点坐标用于表征样本图像中关节点的坐标位置。对于不存在手掌的样本图像,可以认为其对应的标签关节点坐标为空。为获得良好的训练效果,可以选择手掌姿态较为端正的图像作为样本图像。
标记模型需要执行分类任务和回归任务,可以包括特征提取网络、分类器和回归层。
通过标记模型对第一数据集中的样本图像进行处理,从而得到与每一样本图像对应的样本预测类别和多个样本关节点坐标。其中,样本预测类别为样本图像对应的预测类别信息,样本关节点坐标为样本图像对应的关节点坐标。标记模型输出的样本关节点坐标数量可以根据需求进行设置,且在训练阶段选择预测的关节点,即为后续训练完成后应用阶段所预测的关节点。
步骤820:根据样本图像的样本预测类别与类别标签之间的差异,以及多个样本关节点坐标与多个标签关节点坐标之间的差异,对标记模型的模型参数进行调整。
步骤830:重复上述过程,直至标记模型收敛,得到关节点标记模型。
在获得样本图像的样本预测类别和多个样本关节点坐标之后,可以通过预设的标记模型对应的损失函数,对同一样本图像的样本预测类别和类别标签之间的差异,以及多个样本关节点坐标与多个标签关节点坐标之间的差异进行评估,得到损失函数的函数值,从而根据损失函数的函数值,对标记模型的模型参数进行调整。
在调整过后,可以返回步骤810,进入下一轮的训练。经过反复迭代,当训练轮次达到预设次数或损失函数的函数值趋于稳定时,可以认为标记模型收敛,此时,得到已训练的关节点标记模型。
通过上述措施,可以训练得到用于对图像(视频帧)判别是否存在手掌,以及预测关节点坐标的关节点标记模型。
在一实施例中,在执行本申请手势识别方法之前,可以训练出关节点手势识别模型。参见图9,为本申请一实施例提供的关节点手势识别模型的训练方法的流程示意图,如图9所示,该方法可以包括如下步骤910至步骤930。
步骤910:将第二数据集中的样本坐标组合,作为预设分类模型的输入,获得分类模型输出的预测手势类别;其中,每一样本坐标组合包括多个关节点坐标,且携带手势类别标签。
这里,第二数据集中可以包括大量样本坐标组合,每一样本坐标组合包括多个关节点坐标,多个关节点坐标的数量与关节点标记模型所能输出的关节点坐标数量相同,且多个关节点坐标依据预设顺序进行排列。在构建第二数据集中,可以借助已训练的关节点标记模型从包含手掌的图像(视频帧)中输出多个关节点坐标,并将多个关节点坐标构建为样本坐标组合。通过以图像中手掌的类别,对样本坐标组合标记手势类别标签。多个携带手势类别标签的样本坐标组合可以构建为第二数据集。
服务端将样本坐标组合输入分类模型之前,可以将样本坐标组合中多个关节点坐标构建为输入参数。比如:将多个关节点坐标进行叠加,得到关节点坐标特征向量,作为输入参数。服务端可以通过分类模型对输入参数进行处理,执行分类任务,从而输出预测手势类别。其中,预测手势类别是在训练过程中对样本坐标组合分类得到的手势类别信息。
步骤920:根据样本坐标组合的预测手势类别与手势类别标签之间的差异,对分类模型的模型参数进行调整。
步骤930:重复上述过程,直至分类模型收敛,得到关节点手势识别模型。
在获得样本坐标组合对应的手势类别信息之后,可以通过预设的分类模型对应的损失函数,对样本坐标组合的手势类别信息和手势类别标签之间的差异进行评估,得到损失函数的函数值,从而根据损失函数的函数值,对分类模型的模型参数进行调整。
在调整过后,可以返回步骤910,进入下一轮的训练。经过反复迭代,当训练轮次达到预设次数或损失函数的函数值趋于稳定时,可以认为分类模型收敛,此时,得到已训练的关节点手势识别模型。
通过上述措施,可以训练得到基于多个关节点识别手势类别的关节点手势识别模型。
在一实施例中,在执行本申请手势识别方法之前,可以训练出手掌根部检测模型。参见图10为本申请一实施例提供的手掌根部检测模型的训练方法的流程示意图,如图10所示,该方法可以包括如下步骤1010至步骤1030。
步骤1010:将第三数据集中的样本图像,作为预设神经网络模型的输入,获得神经网络模型输出的目标检测结果和多个样本关键点坐标;其中,样本图像携带手掌根部的边框位置和多个标签关键点坐标。
这里,第三数据中可以包括大量样本图像,样本图像中可以包括手掌,且通过已标记的边框位置限定图像中手掌根部的位置,通过已标记的标签关键点坐标限定关键点位置。
神经网络模型需要执行目标检测任务和回归任务,可以包括特征提取网络、目标检测模块和回归任务。
通过该神经网络模型对第三数据集中的样本图像进行处理,从而得到与每一样本图像对应的目标检测结果和多个样本关键点坐标。其中,目标检测结果为执行目标检测任务而预测的手掌根部位置框,样本关键点坐标为训练过程中输出的关键点坐标。神经网络模型输出的样本关键点坐标可以根据需求进行设置,且在训练阶段选择预测的关键点,即为后续训练完成后应用阶段所预测的关键点。
步骤1020:根据样本图像的边框位置和目标检测结果之间的差异,以及多个标签关键点坐标和多个样本关键点坐标之间的差异,对神经网络模型的模型参数进行调整。
步骤1030:重复上述过程,直至神经网络模型收敛,得到手掌根部检测模型。
在获得样本图像的目标检测结果和样本关键点坐标之后,可以通过预设的神经网络模型对应的损失函数,对同一样本图像的目标检测结果和边框位置之间的差异,以及多个标签关键点坐标和多个样本关键点坐标之间的差异进行评估,得到损失函数的函数值,从而根据损失函数的函数值,对神经网络模型的模型参数进行调整。
在调整过后,可以返回步骤1010,进入下一轮的训练。经过反复迭代,当训练轮次达到预设次数或损失函数的函数值趋于稳定时,可以认为神经网络模型收敛,此时,得到已训练的手掌根部检测模型。
通过上述措施,可以训练得到用于对手掌根部进行目标检测,以及对图片进行关键点坐标预测的手掌根部检测模型。
参见图11,为本申请一实施例提供的本方案整体构思的示意图,如图11所示,首先可以通过样本数据(可以是前文中的第一数据集、第二数据集和第三数据集)训练出手掌根部检测模型、关节点标记模型和关节点手势识别模型。进而通过手掌根部检测模型、关节点标记模型、关节点手势识别模型对手势图片(视频帧)进行识别,从而识别出各个手势图片中的手势类别信息。
图12是本发明一实施例的一种手势识别装置的框图,如图12所示,该装置可以包括:
判断模块1210,用于在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌;其中,N为大于1的整数;
确定模块1220,用于若是,基于所述第N-1个视频帧对应的多个关节点坐标,确定多个目标关键点坐标;
变换模块1230,用于基于所述多个目标关键点坐标,对所述第N个视频帧进行仿射变换;
预测模块1240,用于将经过仿射变换的第N个视频帧作为所述关节点标记模型的输入,获得所述关节点标记模型输出的预测类别信息和多个关节点坐标;其中,所述预测类别信息表征所述第N个视频帧中是否存在手掌;
识别模块1250,用于如果所述预测类别信息表征所述第N个视频帧中存在手掌,将所述第N个视频帧对应的多个关节点坐标,作为已训练的关节点手势识别模型的输入,获得所述关节点手势识别模型输出的手势类别信息。
上述装置中各个模块的功能和作用的实现过程具体详见上述手势识别方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种手势识别方法,其特征在于,包括:
在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌;其中,N为大于1的整数;
若是,基于所述第N-1个视频帧对应的多个关节点坐标,确定多个目标关键点坐标;
基于所述多个目标关键点坐标,对所述第N个视频帧进行仿射变换;
将经过仿射变换的第N个视频帧作为所述关节点标记模型的输入,获得所述关节点标记模型输出的预测类别信息和多个关节点坐标;其中,所述预测类别信息表征所述第N个视频帧中是否存在手掌;
如果所述预测类别信息表征所述第N个视频帧中存在手掌,将所述第N个视频帧对应的多个关节点坐标,作为已训练的关节点手势识别模型的输入,获得所述关节点手势识别模型输出的手势类别信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述关节点标记模型未从所述第N-1个视频帧中识别出手掌,或者,若所述预测类别信息表征所述第N个视频帧中不存在手掌,将所述第N个视频帧作为已训练的手掌根部检测模型的输入,获得所述手掌根部检测模型输出的检测结果;
如果所述检测结果表征所述第N个视频帧的手掌根部位置框和对应于所述手掌根部位置框的多个关键点坐标,根据所述手掌根部位置框对应的多个关键点坐标,确定多个目标关键点坐标;
继续执行所述基于所述多个目标关键点坐标,对所述第N个视频帧进行仿射变换的步骤。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述检测结果表征所述第N个视频帧中不存在手掌,结束对所述第N个视频帧的识别流程。
4.根据权利要求1所述的方法,其特征在于,在所述在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌之前,所述方法还包括:
获得所述连续视频帧的第1个视频帧的情况下,将所述第1个视频帧作为已训练的手掌根部检测模型的输入,获得所述手掌根部检测模型输出的检测结果;
如果所述检测结果表征所述第1个视频帧的手掌根部位置框和对应于所述手掌根部位置框的多个关键点坐标,根据所述手掌根部位置框对应的多个关键点坐标,确定多个目标关键点坐标;
基于所述多个目标关键点坐标,对所述第1个视频帧进行仿射变换;
将经过仿射变换的第1个视频帧作为所述关节点标记模型的输入,获得所述关节点标记模型输出的对应于第1个视频帧的预测类别信息和多个关节点坐标;
如果对应于第1个视频帧的预测类别信息,表征所述第1个视频帧中存在手掌,将所述第1个视频帧对应的多个关节点坐标,作为所述关节点手势识别模型的输入,获得所述关节点手势识别模型输出的对应于第1个视频帧的手势类别信息。
5.根据权利要求1所述的方法,其特征在于,所述关节点标记模型,
通过如下方式训练得到:
将第一数据集中的样本图像,作为预设标记模型的输入,获得所述标记模型输出的样本预测类别和多个样本关节点坐标;其中,所述样本图像携带类别标签;类别标签表征存在手掌的样本图像,携带已标记的多个标签关节点坐标;
根据所述样本图像的样本预测类别与类别标签之间的差异,以及所述多个样本关节点坐标与多个标签关节点坐标之间的差异,对所述标记模型的模型参数进行调整;
重复上述过程,直至所述标记模型收敛,得到所述关节点标记模型。
6.根据权利要求1所述的方法,其特征在于,所述关节点手势识别模型,通过如下方式训练得到:
将第二数据集中的样本坐标组合,作为预设分类模型的输入,获得所述分类模型输出的预测手势类别;其中,每一样本坐标组合包括多个关节点坐标,且携带手势类别标签;
根据所述样本坐标组合的预测手势类别与手势类别标签之间的差异,对所述分类模型的模型参数进行调整;
重复上述过程,直至所述分类模型收敛,得到关节点手势识别模型。
7.根据权利要求2所述的方法,其特征在于,所述手掌根部检测模型,通过如下方式训练得到:
将第三数据集中的样本图像,作为预设神经网络模型的输入,获得所述神经网络模型输出的目标检测结果和多个样本关键点坐标;其中,所述样本图像携带手掌根部的边框位置和多个标签关键点坐标;
根据所述样本图像的边框位置和目标检测结果之间的差异,以及所述多个标签关键点坐标和多个样本关键点坐标之间的差异,对所述神经网络模型的模型参数进行调整;
重复上述过程,直至所述神经网络模型收敛,得到所述手掌根部检测模型。
8.一种手势识别装置,其特征在于,包括:
判断模块,用于在获取到连续视频帧中第N个视频帧的情况下,判断已训练的关节点标记模型是否从第N-1个视频帧中识别出手掌;其中,N为大于1的整数;
确定模块,用于若是,基于所述第N-1个视频帧对应的多个关节点坐标,确定多个目标关键点坐标;
变换模块,用于基于所述多个目标关键点坐标,对所述第N个视频帧进行仿射变换;
预测模块,用于将经过仿射变换的第N个视频帧作为所述关节点标记模型的输入,获得所述关节点标记模型输出的预测类别信息和多个关节点坐标;其中,所述预测类别信息表征所述第N个视频帧中是否存在手掌;
识别模块,用于如果所述预测类别信息表征所述第N个视频帧中存在手掌,将所述第N个视频帧对应的多个关节点坐标,作为已训练的关节点手势识别模型的输入,获得所述关节点手势识别模型输出的手势类别信息。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-7任意一项所述的手势识别方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-7任意一项所述的手势识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211604196.6A CN116092183A (zh) | 2022-12-13 | 2022-12-13 | 手势识别方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211604196.6A CN116092183A (zh) | 2022-12-13 | 2022-12-13 | 手势识别方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116092183A true CN116092183A (zh) | 2023-05-09 |
Family
ID=86212886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211604196.6A Pending CN116092183A (zh) | 2022-12-13 | 2022-12-13 | 手势识别方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116092183A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116311385A (zh) * | 2023-05-18 | 2023-06-23 | 山东睿芯半导体科技有限公司 | 手势识别芯片及其手势识别方法 |
CN117789256A (zh) * | 2024-02-27 | 2024-03-29 | 湖北星纪魅族集团有限公司 | 手势识别方法、装置、设备及计算机可读介质 |
CN118170258A (zh) * | 2024-05-13 | 2024-06-11 | 湖北星纪魅族集团有限公司 | 点击操作方法及装置、电子设备及存储介质 |
-
2022
- 2022-12-13 CN CN202211604196.6A patent/CN116092183A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116311385A (zh) * | 2023-05-18 | 2023-06-23 | 山东睿芯半导体科技有限公司 | 手势识别芯片及其手势识别方法 |
CN116311385B (zh) * | 2023-05-18 | 2023-08-15 | 山东睿芯半导体科技有限公司 | 手势识别芯片及其手势识别方法 |
CN117789256A (zh) * | 2024-02-27 | 2024-03-29 | 湖北星纪魅族集团有限公司 | 手势识别方法、装置、设备及计算机可读介质 |
CN118170258A (zh) * | 2024-05-13 | 2024-06-11 | 湖北星纪魅族集团有限公司 | 点击操作方法及装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113196289B (zh) | 人体动作识别方法、人体动作识别系统及设备 | |
CN108875522B (zh) | 人脸聚类方法、装置和系统及存储介质 | |
CN109697434B (zh) | 一种行为识别方法、装置和存储介质 | |
JP7386545B2 (ja) | 画像中の物体を識別するための方法、及び当該方法を実施するためのモバイル装置 | |
US20180114071A1 (en) | Method for analysing media content | |
CN109145766B (zh) | 模型训练方法、装置、识别方法、电子设备及存储介质 | |
CN108388879B (zh) | 目标的检测方法、装置和存储介质 | |
Chen et al. | Human action recognition using star skeleton | |
CN116092183A (zh) | 手势识别方法及装置、电子设备、存储介质 | |
RU2427911C1 (ru) | Способ обнаружения лиц на изображении с применением каскада классификаторов | |
WO2020047420A1 (en) | Method and system for facilitating recognition of vehicle parts based on a neural network | |
Zhai et al. | OCR-based neural network for ANPR | |
CN110070029B (zh) | 一种步态识别方法及装置 | |
CN112464807A (zh) | 视频动作识别方法、装置、电子设备和存储介质 | |
CN110765860A (zh) | 摔倒判定方法、装置、计算机设备及存储介质 | |
CN111652181B (zh) | 目标跟踪方法、装置及电子设备 | |
JP7327077B2 (ja) | 路上障害物検知装置、路上障害物検知方法、及び路上障害物検知プログラム | |
CN111368636A (zh) | 目标分类方法、装置、计算机设备和存储介质 | |
CN109783680B (zh) | 图像推送方法、图像获取方法、装置及图像处理系统 | |
CN112487913A (zh) | 一种基于神经网络的标注方法、装置及电子设备 | |
CN111767915A (zh) | 车牌检测方法、装置、设备及存储介质 | |
CN110210480A (zh) | 文字识别方法、装置、电子设备和计算机可读存储介质 | |
CN111241961A (zh) | 人脸检测方法、装置及电子设备 | |
CN110969199A (zh) | 一种图像分类的方法、装置和存储介质 | |
CN114419428A (zh) | 一种目标检测方法、目标检测装置和计算机可读存储介质 |
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 |