CN113326829B - 视频中手势的识别方法、装置、可读存储介质及电子设备 - Google Patents
视频中手势的识别方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN113326829B CN113326829B CN202110887307.8A CN202110887307A CN113326829B CN 113326829 B CN113326829 B CN 113326829B CN 202110887307 A CN202110887307 A CN 202110887307A CN 113326829 B CN113326829 B CN 113326829B
- Authority
- CN
- China
- Prior art keywords
- gesture
- frame
- target
- target frame
- area
- 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.)
- Active
Links
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种视频中手势的识别方法、装置、可读存储介质及电子设备,该方法能够降低视频手势识别所需计算资源,以及能够有效地处理视频中手势识别信息抖动造成的干扰,适用于移动端实时识别用户手势,方法包括:获取视频数据;识别所述视频数据中包含手势区域的多个目标帧;对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势区域识别信息,确定所述任一目标帧的手势区域识别结果;识别各个目标帧的手势区域对应的手势类别;对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及视频中手势的识别方法、装置、可读存储介质及电子设备。
背景技术
手势识别是指从图片或者视频画面中检测是否有手出现在画面中,如果包含手,同时给出手部的区域及类别。该技术在短视频直播、在线课堂互动、VR等场景有着广泛的应用。如在线课堂中通过手势识别技术实现老师和学生的互动,不仅能够增加课堂的趣味性,还能提升学生学习的专注度,从而达到良好的学习效果。
发明内容
根据本公开的一方面,提供了一种视频中手势的识别方法,包括:
获取视频数据;
识别所述视频数据中包含手势区域的多个目标帧;
对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势区域识别信息,确定所述任一目标帧的手势区域识别结果;
识别各个目标帧的手势区域对应的手势类别;
对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果。
根据本公开的另一方面,提供了一种视频中手势的识别装置,包括:
数据获取单元,用于获取视频数据;
数据处理单元,用于识别所述视频数据中包含手势区域的多个目标帧;
对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势区域识别信息,确定所述任一目标帧的手势区域识别结果;
识别各个目标帧的手势区域对应的手势类别;
对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述的视频中手势的识别方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的视频中手势的识别方法。
根据本公开的另一方面,提供了一种计算机程序产品,所述计算机程序在被处理器执行上述的视频中手势的识别方法。
本申请实施例中提供的一个或多个技术方案,首先从视频中识别包含手势区域的目标帧,然后对提取到的手势区域进行分类,只需要较少的资源就实现高效、稳定、实时的手势识别;以及,针对视频中手势识别信息抖动的问题,在检测到手势区域和识别手势类别后分别增加了进一步的处理操作,使得手势类别识别结果更加稳定。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了根据本公开示例性实施例的视频中手势的识别方法的流程图;
图2示出了根据本公开示例性实施例的基于神经网络模型的视频中手势的识别方法的流程图;
图3示出了根据本公开示例性实施例的另一基于神经网络模型的视频中手势的识别方法的流程图;
图4示出了根据本公开示例性实施例的视频中手势的防抖动识别方法的流程图;
图5示出了根据本公开具体实施例的数据处理流程图;
图6示出了根据本公开具体实施例的检测模型结构示意图;
图7示出了根据本公开具体实施例的检测流程图;
图8示出了根据本公开示例性实施例的视频中手势的识别装置的示意性框图;
图9示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
以下参照附图描述本公开的方案。
参见图1,本公开提供的一种视频中手势的识别方法包括:
步骤S110、获取视频数据。
在本步骤中,获取的视频数据可以是实时视频数据,也可以是录播的视频数据。例如,获取的视频数据是摄像头实时拍摄的数据,通过实时对视频中手势进行识别,可以响应用户的手势动作,完成对应的操作。
随后,在步骤S120中,识别视频数据中包含手势区域的多个目标帧。
在本步骤中,依次从视频数据中提取每一帧图像,判断每一帧图像是否为包含手势区域的目标帧。其中,手势区域是指一帧图像中包括人体手势的图像区域。
参见图2,步骤S120具体包括:
步骤S210,将视频数据输入第一网络模型;
随后,在步骤S220中,根据第一网络模型的输出确定视频数据中包含手势区域的多个目标帧。
在步骤S210和步骤S220中,依次从视频数据中提取每一帧图像,并将每一帧图像输入第一网络模型,由第一网络模型输出每一帧图像的检测结果;其中,第一网络模型用于从图像中寻找目标区域并检测目标区域的类别,目标区域的类别包括手势区域。在一个可选的实施例中,第一网络模型的分类仅包括手势区域和非手势区域,输出类别较少,因此,手势区域识别的计算开销低,使得该模型可适用于移动端。
在一个可选的实施例中,第一网络模型可分类的类别还包括人脸区域;识别各个目标帧的手势区域对应的手势类别之前,还包括:过滤目标帧的人脸区域。人脸区域在后续的手势类别识别过程中容易造成干扰,而利用第一网络模型识别出人脸区域,随后过滤人脸区域,可以有效地去除此类干扰。
在一个可选的实施例中,识别各个目标帧的手势区域对应的手势类别之前,还包括:将目标帧的手势区域作放大处理,从而提高手势类别的识别精度。
在一个可选的实施例中,第一网络模型采用anchor-free方法从图像中寻找目标区域,以及,采用轻量级CNN网络检测目标区域的类别。anchor-free方法相比于传统的anchor-based方法,具有更少的计算量和更高的计算速度,轻量级CNN网络则有利于该方法在移动端设备的实现,通过anchor-free方法和轻量级CNN网络的结合,本公开的方法可以在移动端识别上取得快速、准确的手势分类结果。
具体地,本公开的方法可以基于各种轻量级CNN网络,其中一种典型的轻量级(Convolutional Neural Networks, CNN)网络为ShuffleNetV2网络。本公开还提供了一种轻量级CNN网络的优化方法,通过降低网络中各层残差块(block)的数量,进一步降低手势区域识别的计算开销,提高手势区域识别的速度。例如,通常地,ShuffleNetV2网络的骨干网络包括三层残差块,个数分别为4、8、4,而根据本公开的实施例,可以适当降低ShuffleNetV2网络的残差块的数量,从而进一步降低模型占用的计算资源,实现更快的识别速度。经过实验发现,在残差块个数分别为2、8、2时,取得了较好的识别效果;尽管残差块数的削减在一定程度上降低了手势区域的检测精度,但经过手势区域的放大处理和人脸区域的过滤处理,可以削减ShuffleNetV2的模型简化带来的负面影响,从而实现了一种实时、快速、准确的可应用于移动端的手势识别方法。
随后,在步骤S130中,对于任一目标帧,根据该目标帧及其相邻目标帧的手势区域识别信息,确定该目标帧的手势区域识别结果。
在一个可选的实施例中,步骤S130具体包括:
对于任一目标帧,判断该目标帧及其相邻目标帧的手势区域识别信息是否满足预设条件,如果是,根据该目标帧及其相邻目标帧的手势区域识别信息确定该目标帧的手势区域识别结果,否则,直接将该目标帧的手势区域识别信息作为该目标帧的手势区域识别结果。
在一个可选的实施例中,当目标帧的相邻目标帧包括前一帧和后一帧一共两帧时,以上步骤具体包括:判断任一目标帧、该目标帧的前一帧和该目标帧的后一帧的手势区域识别信息是否满足预设条件,如果是,根据该目标帧的前一帧和该目标帧的后一帧的手势区域识别信息,确定该目标帧的手势区域识别结果;否则,直接将该目标帧的手势区域识别信息确定为该目标帧的手势区域识别结果。
在一个可选的实施例中,预设条件包括:目标帧的前一帧与目标帧的后一帧的手势区域的交并比不大于预设阈值,目标帧的前一帧与目标帧的手势区域的交并比大于预设阈值,以及目标帧的后一帧与目标帧的手势区域的交并比大于预设阈值。本公开实施例通过相邻帧的交并比的计算判断手势区域识别信息是否产生了抖动,并在抖动时作进一步地处理。
在一个可选的实施例中,当判断某一目标帧的手势区域识别信息出现抖动后,计算目标帧的前一帧和目标帧的后一帧的手势区域的中间值,作为目标帧的手势区域识别结果。具体地,丢弃该帧图像的手势区域的原始识别结果,分别计算目标帧的前一帧和目标帧的后一帧的手势区域的区域中心坐标、区域宽度、区域高度的中间值,得到目标帧的修正后的手势区域的区域中心坐标、区域宽度、区域高度。
此外,对于视频的第一个目标帧,由于该帧图像不存在前一帧图像,因此,直接根据该帧图像的手势区域识别信息输出最终识别结果。
此外,在本公开的又一个可选的实施例中,步骤S130包括:对于任一目标帧,判断该目标帧的相邻的4个目标帧、或6个目标帧、或8个目标帧……的手势区域识别信息是否满足预设条件,如果是,根据相邻的4个目标帧、或6个目标帧、或8个目标帧……的手势区域识别信息,确定该目标帧的手势区域识别结果;预设条件则与各个目标帧的交并比相关。相应地,根据相邻的4个目标帧、或6个目标帧、或8个目标帧……的手势区域识别信息,确定该目标帧的手势区域识别结果,包括:根据该目标帧相邻的4个目标帧、或6个目标帧、或8个目标帧……区域中心坐标、区域宽度、区域高度,确定该目标帧的区域中心坐标、区域宽度、区域高度。
本步骤用于对步骤S120中识别出的视频数据的各目标帧的手势区域作进一步的处理,通过参考任一目标帧的相邻目标帧的手势区域的识别信息,修正该目标帧的手势区域的识别信息,从而在手势区域识别信息发生抖动的情况下依然能够得到稳定的手势区域的识别结果。
随后,在步骤S140中,识别各个目标帧的手势区域对应的手势类别。
在本步骤中,依次提取从步骤S130获得的各个目标帧的手势区域图像,并根据手势区域图像识别对应的手势类别;由于本公开提供的方法先识别图像的手势区域,再识别图像的手势区域对应的手势类别,相比于直接从完整图像中识别出手势类别,能够降低计算资源的开销,便于实现高效、稳定、实时的手势识别。
参见图3,步骤S140具体包括:
步骤S310,将各个目标帧的手势区域输入第二网络模型。
随后,在步骤S320中,根据第二网络模型的输出确定各个目标帧的手势区域的对应的手势类别。
在步骤S310和步骤S320中,依次提取每一目标帧的手势区域,并将每一目标帧的手势区域依次输入第二网络模型,由第二网络模型输出手势类别;其中,第二网络模型用于根据图像特征计算预先设置的各个手势类别分别对应的评分。
随后,在步骤S150中,对于任一目标帧,根据该目标帧及其相邻目标帧的手势类别识别信息,确定该目标帧的手势类别识别结果。
本步骤用于对步骤S140中识别出的目标帧的手势类别作进一步的处理,通过参考任一目标帧及其相邻帧的手势类别的识别信息,修正该目标帧的手势类别的识别信息,从而在视频手势类别的识别信息发生抖动情况下依然能够得到稳定的手势类别的识别结果。
参见图4,在一个可选的实施例中,步骤S150具体包括:
步骤S410,获取任一目标帧及其之前的预设个数目标帧的手势类别识别信息。
具体地,手势类别的识别信息包括各个手势类别的评分,该评分与手势类别的判别概率相关。通常地,取评分最高的手势类别作为识别结果;而在本步骤中,保留所有的手势类别的评分结果。
随后,在步骤S420中,按照预设权重分布,将该目标帧及其之前的预设个数目标帧的各个手势类别分别对应的评分累加,得到修正后的该目标帧的各个手势类别分别对应的评分。
权重可以按照以下规则设置:权重与目标帧之间的距离负相关,对于任一目标帧之前的越靠近该帧图像的目标帧,手势类别的评分权重越高,对于任一目标帧之前的越远离该帧图像的目标帧,手势类别的评分权重越低,该任一目标帧的手势类别的评分权重最高。例如,预设个数被设定为3,某一帧图像的手势类别的评分包括:手势类别1、30分,手势类别2、60分,手势类别3、10分,该帧图像的手势类别的评分权重为50%;该帧之前的一帧图像的手势类别的评分包括:手势类别1、60分,手势类别2、20分,手势类别3、20分,该帧图像的手势类别的评分权重为30%;该帧再前一帧图像的手势类别的评分包括:手势类别1、80分,手势类别2、10分,手势类别3、10分,该帧图像的手势类别的评分权重为20%;那么,综合计算该帧图像的手势类别的评分包括:手势类别1、30*50%+60*30%+80*20%=49分,手势类别2、60*50%+20*30%+10*20%=38分,手势类别3、10*50%+20*30%+10*20%=13分。
此外,权重还可以按照以下规则设置:各个目标帧的权重相同。例如,预设个数被设定为3,某一帧图像的手势类别的评分包括:手势类别1、30分,手势类别2、60分,手势类别3、10分,该帧图像的手势类别的评分权重为33%;该帧之前的一帧图像的手势类别的评分包括:手势类别1、60分,手势类别2、20分,手势类别3、20分,该帧图像的手势类别的评分权重为33%;该帧再前一帧图像的手势类别的评分包括:手势类别1、80分,手势类别2、10分,手势类别3、10分,该帧图像的手势类别的评分权重为33%;那么,综合计算该帧图像的手势类别的评分包括:手势类别1、30*33%+60*33%+80*33%=56.1分,手势类别2、60*33%+20*33%+10*33%=29.7分,手势类别3、10*33%+20*33%+10*33%=13.2分。
随后,在步骤S430中,将评分最高的手势类别作为该目标帧的手势类别识别结果。
结合步骤S420的具体示例,该目标帧的手势类别的最终识别结果为手势类别1。
此外,对于位于视频起始位置的小于预设个数的目标帧,由于其之前的目标帧的个数小于预设个数,因此,直接根据手势区域识别信息生成手势区域识别结果。例如,预设个数被设置为5,那么视频的前4帧图像不按照步骤S410-S430作防抖动处理,而是直接输出步骤S140对应的识别结果。
参见图5,本公开具体实施例提供的适配中手势的识别方法包括:
步骤S510、数据收集及预处理。
收集包含不同手势类别的图片数据,所收集数据涵盖不同年龄段、性别、拍摄距离、角度、光照等众多场景。此外,对所收集数据进行预处理,过滤手部区域不全、手部遮挡严重,模糊等不符合要求的数据。
步骤S520、CNN手势检测。
该步骤主要通过CNN检测模型获取手势区域,首先通过目标检测算法从图片中获取手部所在区域,然后将手势区域从源图片中剪切出来再送入分类网络获得最终的手势类别。通过实验对比发现,检测+分类的处理方法在精度和召回上要明显优于单检测模型。本具体实施例的方法流程能够使得检测模型更加专注于检测框的回归(不考虑手势的类别信息),分类模型更加专注于手势类别的判定。
检测模型结构如图6所示,首先通过骨干网络(backbone)的CNN block提取图像特征,将原始图像上采样到原图像的1/8、1/16和1/32尺寸大小,再经过PAN网络的CNN block对特征作交互处理,最终生成若干检测头(head),每个检测头输出两个信息,其一是检测框的位置信息,其二是检测框的类别信息,即该检测框内容是否为手势区域。
此外,由于手和人脸具有相同的颜色特征,容易造成误分类,因此,我们在检测模型中加入了人脸检测,若检测到人脸,将其过滤,保证输送到分类模型的只有手势区域。
本公开具体实施例主要针对移动端设备应用,因此以轻量级CNN网络ShuffleNetV2为基础,而检测阶段主要目标是检测手(不考虑手势类别)和人脸,类别数量较少,所以在ShuffleNetV2基础上进一步对模型进行精简,适当缩减block个数,另外,采用anchor-free的检测方法进一步减少计算量以提高检测速度。
步骤S530、CNN手势分类。
通过分类模型对获得的手势区域进行手势类别判定。分类模型的输出为各个手势类别的评分(score), 本具体实施例中,训练数据有21种手势,因此输出结果为长度为21的score,通常选取score最高对应的手势类别为最终的输出结果。
采用检测+分类的形式主要是因为在某些场景下,检测网络输出的手势边界框不是十分准确,对分类的结果影响较大,如点赞手势,如果检测框未框到大拇指区域,其检测分类输出结果为拳头。因此,在将手部检测区域送入分类模型前,会对检测区域进行一定程度的放大,这样,剪切区域能够很好地包含手部完整区域,从而识别结果更加准确。
完整的模型处理过程如图7所示。
步骤S540、模型量化。
采用检测+分类形式可以将复杂问题简单化,从而更好地对单个模型进行优化,在保证实时性的前提下提高模型的准确度,同时针对不同的硬件产品分别进行模型量化加速,进一步提升模型的推理速度。
步骤S550、模型推理及后处理。
在模型的推理阶段,针对图片数据和视频数据我们采用不同的处理流程。图片识别的输出结果只与该图片有关。而视频识别的输入为连续帧,连续帧之间信息具有很强的冗余性,因此其识别结果也具有一定的关联性。视频手势识别连续帧的输出往往会出现抖动,本发明通过后处理优化可有效解决连续帧输出结果的抖动性。在本发明中,视频识别的抖动主要包含两种情形:目标检测输出预测框的抖动和分类模型输出类别的抖动。
预测框抖动具体处理过程如下:
假设连续3帧检测模型输出的预测框分别为bt-1(xt-1,yt-1,wt-1,ht-1),bt(xt,yt,wt,ht), bt+1(xt+1,yt+1,wt+1,hy+1), 其中x,y代表输出框的中心点坐标,w,h代表输出框的宽和高,t代表帧索引,若满足以下条件,则认为t时刻的预测框bt出现抖动。
当预测框bt出现抖动时,我们通过bt-1与bt+1近似计算bt。其计算公式如下所示
为防止分类结果出现抖动,同样考虑帧与帧之间的连续性,针对一张手势图片,分类模型会输出每个手势类别(21种)的score。在计算当前帧结果时,我们不仅考虑当前帧的score, 同时参考之前几帧的分类模型输出score,其计算过程如下:
其中,K为参考帧的数量,为第t-j帧第i种手势分类模型的输出score,为第t帧通过计算第i种手势连续K帧分类模型输出score的加权值,表示第t-j帧权重,这里K=4。最终从21个评分中选取最高值对应的类别为输出的手势类别。
由于检测输出预测框需要考虑前一帧和后一帧的输出,因此在视频手势识别的过程中,在当前帧输出上一帧的识别结果,即,第1帧不输出结果,第2帧输出第1帧的识别结果,以此类推。
本公开具体实施例针对移动端设备构建了一种实时的手势识别方法,针对视频识别的抖动性问题,分别增加检测和分类后处理策略,使得识别更加稳定。
参见图8,本公开提供了一种视频中手势的识别装置,包括:
数据获取单元810,用于获取视频数据;
数据处理单元820,用于识别所述视频数据中包含手势区域的目标帧;
对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势区域识别信息,确定所述任一目标帧的手势区域识别结果;
识别各个目标帧的手势区域对应的手势类别;
对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果。
在本公开的一个实施例中,数据处理单元820用于识别所述视频数据中包含手势区域的目标帧时,具体用于:
将所述视频数据输入第一网络模型;
根据所述第一网络模型对各视频帧的检测结果,确定所述视频数据中包含手势区域的目标帧;
其中,所述第一网络模型用于从图像中寻找目标区域并检测目标区域的类别,所述目标区域的类别包括:手势区域。
在本公开的一个实施例中,数据处理单元820用于识别各个目标帧的手势区域对应的手势类别时,具体用于:
将各个目标帧的手势区域输入第二网络模型;
获取所述第二网络模型对各个目标帧的手势区域的手势类别识别信息;
其中,所述第二网络模型用于根据图像特征计算预先设置的各个手势类别分别对应的评分。
在本公开的一个实施例中,数据处理单元820用于根据所述任一目标帧及其相邻目标帧的手势区域识别信息,确定所述任一目标帧的手势区域识别结果时,具体用于:
判断所述任一目标帧、所述任一目标帧的前一帧和所述任一目标帧的后一帧的手势区域识别信息是否满足预设条件,如果是,根据所述任一目标帧的前一帧和所述任一目标帧的后一帧的手势区域识别信息,确定所述任一目标帧的手势区域识别结果;否则,根据所述任一目标帧的手势区域识别信息确定所述任一目标帧的手势区域识别结果。
在本公开的一个实施例中,数据处理单元820用于根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果时,具体用于:
获取所述任一目标帧及其之前的预设个数目标帧的手势类别识别信息,其中包括预先设置的各个手势类别分别对应的评分;
按照预设权重分布,将所述任一目标帧及其之前的预设个数目标帧的各个手势类别分别对应的评分累加,得到修正后的所述任一目标帧的各个手势类别分别对应的评分;
将评分最高的手势类别作为所述任一目标帧的手势类别识别结果。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元804可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,视频中手势的识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。在一些实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频中手势的识别方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (12)
1.一种视频中手势的识别方法,其特征在于,包括:
获取视频数据;
将所述视频数据输入第一网络模型;
根据所述第一网络模型的输出确定所述视频数据中包含手势区域的多个目标帧;其中,所述第一网络模型用于从视频帧中寻找目标区域并检测目标区域的类别,所述目标区域的类别包括:手势区域;
对于任一目标帧,判断所述任一目标帧、所述任一目标帧的前一帧和所述任一目标帧的后一帧的手势区域识别信息是否满足预设条件,如果是,根据所述任一目标帧、所述任一目标帧的前一帧和所述任一目标帧的后一帧的手势区域识别信息确定所述任一目标帧的手势区域识别结果,否则,将所述任一目标帧的手势区域识别信息作为所述任一目标帧的手势区域识别结果;所述预设条件包括:所述任一目标帧的前一帧的手势区域与所述任一目标帧的后一帧的手势区域的交并比不大于预设阈值,所述任一目标帧的前一帧的手势区域与所述任一目标帧的手势区域的交并比大于预设阈值,以及所述任一目标帧的后一帧的手势区域与所述任一目标帧的手势区域的交并比大于预设阈值;
识别各个目标帧的手势区域对应的手势类别;
对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果。
2.如权利要求1所述的方法,其特征在于,所述目标区域的类别还包括:人脸区域;
所述识别各个目标帧的手势区域对应的手势类别之前,还包括:
过滤各个目标帧的人脸区域。
3.如权利要求1所述的方法,其特征在于,所述第一网络模型采用anchor-free方法从视频帧中寻找所述目标区域,以及,采用轻量级卷积神经网络检测所述目标区域的类别。
4.如权利要求3所述的方法,其特征在于,所述轻量级卷积神经网络为ShuffleNetV2网络,所述ShuffleNetV2网络的骨干网络包括三个残差块层,其中第一层的残差块的个数不大于4,第二层的残差块的个数不大于8,第三层的残差块的个数不大于4。
5.如权利要求1所述的方法,其特征在于,识别各个目标帧的手势区域对应的手势类别,包括:
将各个目标帧的手势区域输入第二网络模型;
根据所述第二网络模型的输出确定各个目标帧的手势区域的对应的手势类别;
其中,所述第二网络模型用于根据图像特征计算预先设置的各个手势类别分别对应的评分。
6.如权利要求1所述的方法,其特征在于,识别各个目标帧的手势区域对应的手势类别之前,还包括:
将各个目标帧的手势区域作放大处理。
7.如权利要求1所述的方法,其特征在于,根据所述任一目标帧、所述任一目标帧的前一帧和所述任一目标帧的后一帧的手势区域识别信息确定所述任一目标帧的手势区域识别结果,包括:
根据所述任一目标帧的前一帧的手势区域识别信息和所述任一目标帧的后一帧的手势区域识别信息,确定所述任一目标帧的前一帧的手势区域的中心点坐标、手势区域宽度、手势区域高度,以及所述任一目标帧的后一帧的手势区域的中心点坐标、手势区域宽度、手势区域高度;
分别计算所述任一目标帧的前一帧的手势区域和所述任一目标帧的后一帧的手势区域的中心点坐标、手势区域宽度、手势区域高度的中间值,作为所述任一目标帧的手势区域识别结果。
8.如权利要求1所述的方法,其特征在于,根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果,包括:
对于前预设个数的目标帧以后的任一目标帧,获取所述任一目标帧及其之前的预设个数目标帧的手势类别识别信息,其中包括预先设置的各个手势类别分别对应的评分;
按照预设权重分布,将所述任一目标帧及其之前的预设个数目标帧的各个手势类别分别对应的评分累加,得到修正后的所述任一目标帧的各个手势类别分别对应的评分;
将所述任一目标帧的评分最高的手势类别作为所述任一目标帧的手势类别识别结果。
9.如权利要求8所述的方法,其特征在于,所述权重分布被设置为:
权重与目标帧之间的距离负相关;
或者,各个目标帧的权重相同。
10.一种视频中手势的识别装置,其特征在于,包括:
数据获取单元,用于获取视频数据;
数据处理单元,用于将所述视频数据输入第一网络模型;根据所述第一网络模型的输出确定所述视频数据中包含手势区域的多个目标帧;其中,所述第一网络模型用于从视频帧中寻找目标区域并检测目标区域的类别,所述目标区域的类别包括:手势区域;对于任一目标帧,判断所述任一目标帧、所述任一目标帧的前一帧和所述任一目标帧的后一帧的手势区域识别信息是否满足预设条件,如果是,根据所述任一目标帧、所述任一目标帧的前一帧和所述任一目标帧的后一帧的手势区域识别信息确定所述任一目标帧的手势区域识别结果,否则,将所述任一目标帧的手势区域识别信息作为所述任一目标帧的手势区域识别结果;所述预设条件包括:所述任一目标帧的前一帧的手势区域与所述任一目标帧的后一帧的手势区域的交并比不大于预设阈值,所述任一目标帧的前一帧的手势区域与所述任一目标帧的手势区域的交并比大于预设阈值,以及所述任一目标帧的后一帧的手势区域与所述任一目标帧的手势区域的交并比大于预设阈值;识别各个目标帧的手势区域对应的手势类别;对于任一目标帧,根据所述任一目标帧及其相邻目标帧的手势类别识别信息,确定所述任一目标帧的手势类别识别结果。
11.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-9中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110887307.8A CN113326829B (zh) | 2021-08-03 | 2021-08-03 | 视频中手势的识别方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110887307.8A CN113326829B (zh) | 2021-08-03 | 2021-08-03 | 视频中手势的识别方法、装置、可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113326829A CN113326829A (zh) | 2021-08-31 |
CN113326829B true CN113326829B (zh) | 2021-11-23 |
Family
ID=77426999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110887307.8A Active CN113326829B (zh) | 2021-08-03 | 2021-08-03 | 视频中手势的识别方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326829B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114463781A (zh) * | 2022-01-18 | 2022-05-10 | 影石创新科技股份有限公司 | 确定触发手势的方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229277B (zh) * | 2017-03-31 | 2020-05-01 | 北京市商汤科技开发有限公司 | 手势识别、手势控制及多层神经网络训练方法、装置及电子设备 |
CN109948542B (zh) * | 2019-03-19 | 2022-09-23 | 北京百度网讯科技有限公司 | 手势识别方法、装置、电子设备和存储介质 |
CN110458095B (zh) * | 2019-08-09 | 2022-11-18 | 厦门瑞为信息技术有限公司 | 一种有效手势的识别方法、控制方法、装置和电子设备 |
CN112507918B (zh) * | 2020-12-16 | 2024-05-21 | 康佳集团股份有限公司 | 一种手势识别方法 |
CN112668506B (zh) * | 2020-12-31 | 2023-12-08 | 咪咕动漫有限公司 | 一种手势跟踪方法、设备及计算机可读存储介质 |
-
2021
- 2021-08-03 CN CN202110887307.8A patent/CN113326829B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113326829A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11450146B2 (en) | Gesture recognition method, apparatus, and device | |
CN110738101B (zh) | 行为识别方法、装置及计算机可读存储介质 | |
US10452893B2 (en) | Method, terminal, and storage medium for tracking facial critical area | |
CN109145784B (zh) | 用于处理视频的方法和装置 | |
CN111626371B (zh) | 一种图像分类方法、装置、设备及可读存储介质 | |
US9613296B1 (en) | Selecting a set of exemplar images for use in an automated image object recognition system | |
CN113691733B (zh) | 视频抖动检测方法、装置、电子设备和存储介质 | |
CN109960980B (zh) | 动态手势识别方法及装置 | |
CN112149615A (zh) | 人脸活体检测方法、装置、介质及电子设备 | |
CN113850162A (zh) | 一种视频审核方法、装置及电子设备 | |
CN109286848B (zh) | 一种终端视频信息的交互方法、装置及存储介质 | |
CN111291668A (zh) | 活体检测方法、装置、电子设备及可读存储介质 | |
CN113326829B (zh) | 视频中手势的识别方法、装置、可读存储介质及电子设备 | |
CN111950507A (zh) | 数据处理和模型训练方法、装置、设备及介质 | |
CN110889366A (zh) | 一种基于面部表情判断用户兴趣度的方法及系统 | |
CN113850238B (zh) | 文档检测方法、装置、电子设备及存储介质 | |
CN112560728B (zh) | 目标对象识别方法及装置 | |
CN115311723A (zh) | 活体检测方法、装置及计算机可读存储介质 | |
CN114913602A (zh) | 行为识别方法、装置、设备及存储介质 | |
CN114627556A (zh) | 动作检测方法、动作检测装置、电子设备以及存储介质 | |
CN114240992A (zh) | 对帧序列中目标对象的标注方法及系统 | |
CN113392820A (zh) | 动态手势识别方法、装置、电子设备及可读存储介质 | |
CN113313007B (zh) | 一种基于视频的行人静止状态识别方法、电子设备及存储介质 | |
CN111611827A (zh) | 一种图像处理方法及装置 | |
US20230162499A1 (en) | Image analysis system, image analysis method, and program |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |