动态手势识别方法、装置、设备以及存储介质
文献发布时间:2023-06-19 12:00:51
技术领域
本公开涉及计算机技术领域,尤其涉及计算机视觉、深度学习等人工智能技术领域,具体涉及一种动态手势识别方法、装置、设备以及存储介质。
背景技术
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术,以及机器学习、深度学习、大数据处理技术、知识图谱技术等几大方向。
随着人工智能技术地不断发展和完善,其已经在与人类日常生活相关的各个领域扮演着极其重要的作用,例如,人工智能已在手势识别场景中取得了显著的进展。在手势识别场景下,通常会对视频图像中的人物手势的特点、类型进行相应的识别,并将识别得到的人物的手势作为一些应用的参考,例如,可以对识别得到的人物的手势进行人工智能模拟,或者参考识别得到的手势执行其它任意可能的任务。
发明内容
本公开提供了一种动态手势识别方法、装置、电子设备、存储介质及计算机程序产品。
根据本公开的一方面,提供了一种动态手势识别方法,包括:
对视频流进行采样,以得到多个视频帧;
对所述多个视频帧分别进行人体区域的关键点特征检测,以得到与所述多个视频帧分别对应的多个关键点特征;
确定所述多个关键点特征之间的依赖性特征,和与所述多个视频帧分别对应的多个图像特征;以及
根据所述依赖性特征和所述多个图像特征对所述视频流之中的动态手势进行识别,以得到目标动态手势。
根据本公开的第二方面,提供了一种动态手势识别装置,包括:
采样模块,用于对视频流进行采样,以得到多个视频帧;
检测模块,用于对所述多个视频帧分别进行人体区域的关键点特征检测,以得到与所述多个视频帧分别对应的多个关键点特征;
确定模块,用于确定所述多个关键点特征之间的依赖性特征,和与所述多个视频帧分别对应的多个图像特征;以及
识别模块,用于根据所述依赖性特征和所述多个图像特征对所述视频流之中的动态手势进行识别,以得到目标动态手势。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如第一方面所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是本公开实施例中联合人体检测框的抠图方式示意图;
图4是根据本公开第三实施例的示意图;
图5是根据本公开第四实施例的示意图;
图6是根据本公开第五实施例的示意图;
图7是用来实现本公开实施例的动态手势识别方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开第一实施例的示意图。
其中,需要说明的是,本实施例的动态手势识别方法的执行主体为动态手势识别装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在电子设备中,电子设备可以包括但不限于终端、服务器端等。
本公开实施例涉及人工智能技术领域,具体涉及计算机视觉、深度学习等技术领域,可应用于手势识别场景下,提升手势识别场景下动态手势识别的准确性和识别效果。
其中,人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。深度学习的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
计算机视觉,指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
而在手势识别场景下,通常会对视频图像中的人物手势的特点、类型进行相应的识别,并将识别得到的人物的手势作为一些应用的参考,例如,可以对识别得到的人物的手势进行人工智能模拟,或者参考识别得到的手势执行其它任意可能的机器学习任务,对此不做限制。
如图1所示,该动态手势识别方法包括:
S101:对视频流进行采样,以得到多个视频帧。
其中,视频数据可以是手势识别场景之中录像装置录制得到的视频数据,比如录像装置捕获的手势识别场景的环境视频数据,对此不做限制。
而视频流是指视频数据的传输,例如,它能够被作为一个稳定的和连续的流通过网络处理,由于视频流具有“流动”的特性,电子设备的浏览器或插件能够在整个视频数据被传输完成前显示多媒体数据。
由此,本公开实施例中支持对视频流进行动态手势的识别,从而能够有效地利用到视频流当中包含的有用信息,该有用信息可以理解为视频流包含的上下文信息,例如各个视频帧的人物特征、背景特征,不同视频帧之间相同对象的联动关系特征等,对此不做限制。
上述的视频流,可以具体是初始采集的视频流,本公开实施例中在采集得到初始的视频流之后,还可以支持对视频流进行采样,以得到多个视频帧,从而在相应保留视频流的有用信息的同时,降低待处理的数据量,保障识别效率。
一些实施例中,在对视频流进行采样时,可以采用任意可能的采样方式来对视频流进行采样,比如采用设定采样函数来进行采样,或者,还可以对视频流的各个视频帧进行预识别处理,将像素质量符合条件的视频帧作为采样得到的视频帧,或者,也可以采用预训练的模型来进行视频流采样,对此不做限制。
而另外一些实施例中,对视频流采样,以得到多个视频帧,如图2所示,图2是根据本公开第二实施例的示意图,可以包括如下步骤:
S201:确定视频流对应的目标帧率。
也即是说,本实施例支持结合视频流对应的帧率,来辅助进行采样,该视频流对应的帧率,可以被称为目标帧率,而帧率(Frame rate)是以帧称为单位的位图图像连续出现在显示器上的频率(速率),对于视频流而言,不同的时间点对应的帧率可以是相同或者不相同的,也即是说,在传输视频流的过程中,帧率可能会产生动态的变化。
由此,本实施例可以实时地确定视频流当前的帧率,并作为目标帧率,而后可以触发后续结合所确定的目标帧率来自适应地调整采样帧数,从而能考量不同帧率的视频帧对应的特性,使得在识别动态手势时能够学习到不同帧率的视频帧对应的特性并做融合,有效保障手势识别准确性。
S202:确定与目标帧率对应的目标帧数。
上述在确定视频流对应的目标帧率之后,可以确定与目标帧率对应的目标帧数,比如可以参考预配置的对应关系来确定与目标帧率对应的目标帧数,该对应关系例如,视域帧数金字塔{T
S203:对视频流进行采样,以得到目标帧数的视频帧。
上述在确定视频流对应的目标帧率,并确定与目标帧率对应的目标帧数之后,可以触发对视频流进行采样,以得到目标帧数的视频帧。
另外一些实施例中,本公开实施例还支持结合帧率和分辨率来对视频流进行采样,从而实现跨尺度和帧率的采样方式,说明如下:
本实施例在对视频流进行采样,以得到目标帧数的视频帧时,可以是在采样当前视频帧时,确定当前视频帧对应的目标分辨率,并确定与目标分辨率对应的空间尺寸,基于空间尺寸对当前视频帧进行压缩或者放大处理,以采样得到当前视频帧,以及对当前视频帧进行更新,直至采样得到目标帧数的视频帧,从而实现跨尺度和帧率的采样方式,即,在帧数多时,相应地缩小视频帧的分辨率,在帧数少时,相应地放大视频帧的分辨率,从而保障不同分辨率的视频帧的数量的相对一致性,并且还能够在识别动态手势时能够学习到不同分辨率的视频帧对应的特性并做融合,有效保障手势识别准确性。
其中,在采样当前视频帧时,确定当前视频帧对应的当前的分辨率,可以被称为目标分辨率,而后可以结合预配置的空间分辨率金字塔{S
本公开实施例中,支持结合帧率和分辨率对视频流进行采样,从而实现跨尺度和帧率的采样方式,例如,基于上述的视域帧数金字塔和空间分辨率金字塔,得到跨尺度和帧率的采样方式{(T
S102:对多个视频帧分别进行人体区域的关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征。
上述在对视频流进行采样,以得到多个视频帧之后,可以针对各个视频帧,均进行人体区域的关键点特征检测,其中的关键点,可以例如为能够典型标识出人体动作的一些关节点等,例如肘关节、膝关节等等对应的像素点,均可以被称为关键点。
而本公开实施例中,上述人体区域可以具体包含了若干个关键点的人体区域,例如整体人体区域之中的手部区域、脸部区域等,对此不做限制。
可选地,一些实施例中,可以是对多个视频帧分别进行人体区域的检测,以得到与多个视频帧分别对应的多个检测框,并确定多个视频帧之中多个目标检测框,并提取多个目标检测框所对应包含的多个局部图像,多个目标检测框对应相同人体区域,以及对多个局部图像分别进行关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征。
也即是说,上述在采样得到多个视频帧之后,可以采用预置的人体区域检测器对各个视频帧做人体区域的检测,得到与视频帧对应的一个或者多个的检测框,而后,对于每个视频帧之中相同人体区域的检测框,生成联合边界框集合,该联合边界框集合可以包括所有视频帧之中相同人体区域对应的检测框,并提取各个视频帧之中相同人体区域的检测框所包含的局部图像,从而基于联合人体检测框的抠图方式,使得在进行动态手势识别时能够更为聚焦包含关键点的人体区域,减小背景区域图像的干扰,同时,放大了人体区域的分辨率,提升识别的便捷性,保障动态手势识别的准确性。
本公开实施例中,也可以采用其它任意可能的关键点识别方式来对多个视频帧分别进行人体区域的关键点特征检测,比如,热图检测方式等,对此不做限制。
上述检测出的关键点特征可以例如为关键点对应的位置坐标,以及关键点对应的图像特征,对此不做限制。
如图3所示,图3是本公开实施例中联合人体检测框的抠图方式示意图,首先基于跨尺度和帧率的采样方式采样得到多个视频帧,而后针对该多个视频帧所确定的多个局部图像,可以例如图3之中的模块31和模块32所呈现的局部图像,该局部图像是整体视频帧图像之中的局部图像。
S103:确定多个关键点特征之间的依赖性特征,和与多个视频帧分别对应的多个图像特征。
上述在对多个视频帧分别进行人体区域的关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征之后,可以确定多个关键点特征之间的依赖性特征,其中,该依赖性特征可以具体包括:同一局部图像之中不同关键点特征之间的依赖性特征,和不同局部图像之间的不同关键点的依赖性特征,而依赖性特征能够用于表征不同的关键点之间的关联关系。
而依赖性特征,可以采用模型的方式对其进行量化处理以得到量化值,举例而言,假设关键点A和关键点B分别对应于相同肢体(上胳膊肢体)两端的关节点,则当人体作出相应的动态手势动作(例如,缓慢抬手)时,该关键点A和关键点B之间通常会具有一定的特征关联关系(例如,关键点A具有位置特征A,则随着手势动作的实施,关键点B对应的位置特征B会动态变化,而位置特征A和与其对应的位置特征B之前的动态变化关系,则可以被称为上述的依赖性特征),对此不做限制。
本公开实施例中,还可以确定与多个视频帧分别对应的多个图像特征,即,一个视频帧对应一幅图像画面,则可以采用图像识别方法对该图像画面进行图像识别,以得到图像特征(例如,图像色彩特征、亮度特征、明度特征、色温特征等),对此不做限制。
S104:根据依赖性特征和多个图像特征对视频流之中的动态手势进行识别,以得到目标动态手势。
上述在确定多个关键点特征之间的依赖性特征,和与多个视频帧分别对应的多个图像特征之后,可以对依赖性特征和多个图像特征进行特征融合处理,以得到融合特征,而后根据该融合特征进行手势识别。
例如,可以将融合特征输入至预训练的分类器之中,以得到该分类器输出的动态手势类别并作为目标动态手势,或者,还可以根据依赖性特征和多个图像特征,对已有的手势识别模型(例如,能够执行手势识别任务的神经网络模型或者机器学习模型)的全连接层进行回归处理,得到目标手势识别模型,并采用该目标手势识别模型基于前述的融合特征来确定目标动态手势,对此不做限制。
本实施例中,通过对视频流进行采样,以得到多个视频帧,并对多个视频帧分别进行人体区域的关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征,确定多个关键点特征之间的依赖性特征,和与多个视频帧分别对应的多个图像特征,以及根据依赖性特征和多个图像特征对视频流之中的动态手势进行识别,以得到目标动态手势,由于是针对初始的视频流来对人体区域进行提取,并结合人体区域的关键点特征来和各个视频帧对应的图像特征来确定目标动态手势,避免丢失视频流的有用信息,有效提升动态手势识别的准确性和识别效果。
图4是根据本公开第三实施例的示意图。
如图4所示,该动态手势识别方法包括:
S401:对视频流进行采样,以得到多个视频帧。
S401的描述说明可以具体参见上述实施例,在此不再赘述。
S402:对多个视频帧分别进行人体区域的检测,以得到与多个视频帧分别对应的多个检测框。
S403:确定多个视频帧之中多个目标检测框,并提取多个目标检测框所对应包含的多个局部图像,多个目标检测框对应相同人体区域。
也即是说,上述在采样得到多个视频帧之后,可以采用预置的人体区域检测器对各个视频帧做人体区域的检测,得到与视频帧对应的一个或者多个的检测框,而后,对于每个视频帧之中相同人体区域的检测框,生成联合边界框集合,该联合边界框集合可以包括所有视频帧之中相同人体区域对应的检测框,并提取各个视频帧之中相同人体区域的检测框所包含的局部图像,从而基于联合人体检测框的抠图方式,使得在进行动态手势识别时能够更为聚焦包含关键点的人体区域,减小背景区域图像的干扰,同时,放大了人体区域的分辨率,提升识别的便捷性,保障动态手势识别的准确性。
一并结合上述图3,提取多个目标检测框所对应包含的多个局部图像可以如图3中模块31和模块32所呈现的局部图像,该局部图像是整体视频帧图像之中的局部图像。
S404:生成与多个局部图像分别对应的多个特征图谱,特征图谱包括:多个位置,以及与多个位置分别对应的多个图特征。
上述在确定多个视频帧之中多个目标检测框,并提取多个目标检测框所对应包含的多个局部图像之后,可以生成与多个局部图像分别对应的多个特征图谱,该特征图谱是为了辅助后续确定相应的关键点特征。
假设一帧局部图像包括多个像素点,则根据每个像素点对应的图特征(例如,该像素点对应于局部图像之中的亮度、色彩、深度等特征),则由多个像素点的位置,和与多个像素点分别对应的图特征可以构成相应的特征图谱,并使得该特征图谱之中包括:多个位置,以及与多个位置分别对应的多个图特征。
S405:确定与多个局部图像分别对应的多个关键点位置。
S406:从多个特征图谱之中分别解析出与多个关键点位置对应的图特征并作为多个关键点特征。
假设针对记第t帧的局部图像对应的特征图谱为x
举例而言,对于每个关键点,可以确定该关键点对应的关键点特征,关键点特征可以记为
而提取关键点特征,可采用基于深度残差网络(Residual Network,ResNet)的时间位移模块(temporal shift module,TSM)模型,对此不做限制。
由此,本实施例中,通过生成与多个局部图像分别对应的多个特征图谱,并确定与多个局部图像分别对应的多个关键点位置,以及从多个特征图谱之中分别解析出与多个关键点位置对应的图特征并作为多个关键点特征,实现从局部图像对应的图像特征中获取关键点特征,并以此构建关键点图网络,以拟合得到关键点特征之间的依赖性特征,能够有效提升关键点特征识别的准确性,从而辅助提升后续的动态手势识别效果。
S407:根据多个关键点位置和多个关键点特征,确定多个关键点特征之间的依赖性特征。
上述在对多个视频帧分别进行人体区域的关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征之后,可以结合多个关键点位置和多个关键点特征,确定多个关键点特征之间的依赖性特征。
也即是说,本公开实施例是融合两种特征来确定多个关键点特征之间的依赖性特征,即融合多个关键点位置和多个关键点特征,以确定相应的依赖性特征,从而使得所确定的依赖性特征能够更为准确,具有更强的上下文信息,能够更为清晰地表达出不同的关键点之间的特征关联关系,从而辅助提升动态手势识别的准确性。
可选地,一些实施例中,可以将多个关键点位置和多个关键点特征输入至预训练的图神经网络模型之中,以得到图神经网络模型输出的依赖性特征,从而能够在保障依赖性特征的表征能力的同时,保障依赖性特征的获取效率。
举例而言,针对上述提取到的多个关键点位置和多个关键点特征,可以采用基于双流自适应图卷积网络的图神经网络模型,去拟合得到不同的关键点之间的依赖性特征,从而使其携带具有更强的上下文信息。
S408:确定与多个视频帧分别对应的多个图像特征。
本公开实施例中,还可以确定与多个视频帧分别对应的多个图像特征,即,一个视频帧对应一幅图像画面,则可以采用图像识别方法对该图像画面进行图像识别,以得到图像特征(例如,图像色彩特征、亮度特征、明度特征、色温特征等),对此不做限制。
S409:根据依赖性特征和多个图像特征对视频流之中的动态手势进行识别,以得到目标动态手势。
上述在确定多个关键点特征之间的依赖性特征,和与多个视频帧分别对应的多个图像特征之后,可以对依赖性特征和多个图像特征进行特征融合处理,以得到融合特征,而后根据该融合特征进行手势识别。
例如,可以将融合特征输入至预训练的分类器之中,以得到该分类器输出的动态手势类别并作为目标动态手势,或者,还可以根据依赖性特征和多个图像特征,对已有的手势识别模型(例如,能够执行手势识别任务的神经网络模型或者机器学习模型)的全连接层进行回归处理,得到目标手势识别模型,并采用该目标手势识别模型基于前述的融合特征来确定目标动态手势,对此不做限制。
上述根据依赖性特征和多个图像特征对视频流之中的动态手势进行识别,以得到目标动态手势,参考融合依赖性特征和图像特征得到的融合特征进行动态手势的识别分类,由于依赖性特征对于关键点有较强的依赖性,从而使得动态手势识别方法对不同的动态手势具有较强的鲁棒性,并且参考了较多的图像特征,从而有效提升动态手势识别的准确性和识别效果。
本实施例中,通过对视频流进行采样,以得到多个视频帧,并对多个视频帧分别进行人体区域的关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征,确定多个关键点特征之间的依赖性特征,以及根据依赖性特征对视频流之中的动态手势进行识别,以得到目标动态手势,由于是针对初始的视频流来对人体区域进行提取,并结合人体区域的关键点特征来确定目标动态手势,避免丢失视频流的有用信息,有效提升动态手势识别的准确性和识别效果。实现基于联合人体检测框的抠图方式,使得在进行动态手势识别时能够更为聚焦包含关键点的人体区域,减小背景区域图像的干扰,同时,放大了人体区域的分辨率,提升识别的便捷性,保障动态手势识别的准确性。通过生成与多个局部图像分别对应的多个特征图谱,并确定与多个局部图像分别对应的多个关键点位置,以及从多个特征图谱之中分别解析出与多个关键点位置对应的图特征并作为多个关键点特征,实现从局部图像对应的图像特征中获取关键点特征,并以此构建关键点图网络,以拟合得到关键点特征之间的依赖性特征,能够有效提升关键点特征识别的准确性,从而辅助提升后续的动态手势识别效果。融合多个关键点位置和多个关键点特征,以确定相应的依赖性特征,从而使得所确定的依赖性特征能够更为准确,具有更强的上下文信息,能够更为清晰地表达出不同的关键点之间的特征关联关系,从而辅助提升动态手势识别的准确性。
根据本公开的实施例,本公开还提供了一种动态手势识别装置。
图5是根据本公开第四实施例的示意图。
如图5所示,该动态手势识别装置500包括:采样模块510、检测模块520、确定模块530、以及识别模块540,其中,
采样模块510,用于对视频流进行采样,以得到多个视频帧。
检测模块520,用于对多个视频帧分别进行人体区域的关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征。
确定模块530,用于确定多个关键点特征之间的依赖性特征,和与多个视频帧分别对应的多个图像特征。以及
识别模块540,用于根据依赖性特征和多个图像特征对视频流之中的动态手势进行识别,以得到目标动态手势。
在本公开实施例一种可能的实现方式中,如图6所示,图6是根据本公开第五实施例的示意图,该动态手势识别装置600包括:采样模块610、检测模块620、确定模块630、以及识别模块640,其中,
检测模块620,包括:
第一检测单元621,用于对多个视频帧分别进行人体区域的检测,以得到与多个视频帧分别对应的多个检测框;
第一确定单元622,用于确定多个视频帧之中多个目标检测框,并提取多个目标检测框所对应包含的多个局部图像,多个目标检测框对应相同人体区域;
第二检测单元623,用于对多个局部图像分别进行关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征。
在本公开实施例一种可能的实现方式中,第二检测单元623,具体用于:
生成与多个局部图像分别对应的多个特征图谱,特征图谱包括:多个位置,以及与多个位置分别对应的多个图特征;
确定与多个局部图像分别对应的多个关键点位置;
从多个特征图谱之中分别解析出与多个关键点位置对应的图特征并作为多个关键点特征。
在本公开实施例一种可能的实现方式中,确定模块630,具体用于:
根据多个关键点位置和多个关键点特征,确定多个关键点特征之间的依赖性特征。
在本公开实施例一种可能的实现方式中,确定模块630,具体用于:
将多个关键点位置和多个关键点特征输入至预训练的图神经网络模型之中,以得到图神经网络模型输出的依赖性特征。
在本公开实施例一种可能的实现方式中,采样模块610,如图6所示,包括:
第二确定单元611,用于确定视频流对应的目标帧率;
第三确定单元612,用于确定与目标帧率对应的目标帧数;
采样单元613,用于对视频流进行采样,以得到目标帧数的视频帧。
在本公开实施例一种可能的实现方式中,采样单元613,具体用于:
在采样当前视频帧时,确定当前视频帧对应的目标分辨率;
确定与目标分辨率对应的空间尺寸;
基于空间尺寸对当前视频帧进行压缩或者放大处理,以采样得到当前视频帧;
对当前视频帧进行更新,直至采样得到目标帧数的视频帧。
可以理解的是,本实施例附图6中的动态手势识别装置600与上述实施例中的动态手势识别装置500,采样模块610与上述实施例中的采样模块510,检测模块620与上述实施例中的检测模块520,确定模块630与上述实施例中的确定模块530,识别模块640与上述实施例中的识别模块540,可以具有相同的功能和结构。
需要说明的是,前述对动态手势识别方法的解释说明也适用于本实施例的动态手势识别装置,此处不再赘述。
本实施例中,通过对视频流进行采样,以得到多个视频帧,并对多个视频帧分别进行人体区域的关键点特征检测,以得到与多个视频帧分别对应的多个关键点特征,确定多个关键点特征之间的依赖性特征,和与多个视频帧分别对应的多个图像特征,以及根据依赖性特征和多个图像特征对视频流之中的动态手势进行识别,以得到目标动态手势,由于是针对初始的视频流来对人体区域进行提取,并结合人体区域的关键点特征来和各个视频帧对应的图像特征来确定目标动态手势,避免丢失视频流的有用信息,有效提升动态手势识别的准确性和识别效果。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7是用来实现本公开实施例的动态手势识别方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如,动态手势识别方法。
例如,在一些实施例中,动态手势识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的动态手势识别方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行动态手势识别方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的动态手势识别方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网及区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
- 动态手势识别方法、装置、可读存储介质及计算机设备
- 动态手势识别方法、装置、设备以及存储介质