手势识别方法、模型构建方法、设备及存储介质与流程

文档序号:32478538发布日期:2022-12-09 20:04阅读:87来源:国知局
手势识别方法、模型构建方法、设备及存储介质与流程

1.本技术涉及机器学习技术领域,尤其涉及一种手势识别方法、模型构建方法、设备及存储介质。


背景技术:

2.手势交互是一种高效便捷的交互方式,但目前市面上手势交互技术或产品的交互体验较差,究其原因是无法准确识别用户手势类型。
3.传统手势识别包括基于特定传感器感知环境变化并给予反馈,该种方式仅能支持小范围、短距离的交互,且容易被误触发,该种手势识别方法已经逐渐被抛弃。
4.随着人工智能的发展,采用神经网络模型判断手势类型的方法也渐渐引起关注,其中以直接法和间接法为主流。直接法是读取相机的rgb图像并输入预训练神经网络模型进行识别;间接法则先检测图像中手部关键点,随后将关键点位置信息输入预训练神经网络模型进行识别。然而,无论是直接法还是间接法,都未能够将手部检测结果与图像信息融合,所以运用神经网络模型识别图像中手势类型的准确度并不是特别高。


技术实现要素:

5.本技术提供了一种手势识别方法、模型构建方法、设备及存储介质,可以提高识别手势类型的准确率。
6.第一方面,本技术提供了一种手势识别方法,所述方法包括:
7.获取包含用户手势的待识别图像,将所述待识别图像输入至预先构建好的手势识别模型,得到第一识别结果;
8.其中,所述手势识别模型包括第一识别模型,所述第一识别模型包括第一特征提取模块、第二特征提取模块、特征融合模块和第一识别层;所述第一特征提取模块用于逐层提取所述待识别图像的图像特征,得到浅层特征;所述特征融合模块,用于根据所述浅层特征,确定用户手势的位置特征,将所述浅层特征与所述位置特征融合并输入至第二特征提取模块;所述第二特征提取模块用于特征提取;所述第一识别层用于对所述第二特征提取模块提取的图像特征进行识别,得到所述第一识别结果。
9.第二方面,本技术还提供了一种手势识别模型的构建方法,所述方法包括:
10.获取包含用户手势的图像样本;
11.将所述图像样本,输入手势识别模型中,以训练所述手势识别模型;
12.其中,所述手势识别模型包括第一识别模型,所述第一识别模型包括第一特征提取模块、第二特征提取模块、特征融合模块和第一识别层;所述第一特征提取模块用于逐层提取所述图像样本的图像特征,得到浅层特征;所述特征融合模块,用于根据所述浅层特征,确定用户手势的位置特征,将所述浅层特征与所述位置特征融合并输入至第二特征提取模块;述第二特征提取模块用于特征提取;所述第一识别层用于对所述第二特征提取模块提取的图像特征进行识别,得到所述手势预测结果,以训练得到所述手势识别模型。
13.第三方面,本技术还提供了一种计算机设备,所述计算机设备包括:
14.存储器和处理器;
15.其中,所述存储器与所述处理器连接,用于存储程序;
16.所述处理器用于通过运行所述存储器中存储的程序,实现如本技术实施例提供的任一项所述的手势识别方法的步骤,或者,实现如本技术实施例提供的任一项所述的手势识别模型的构建方法的步骤。
17.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如本技术实施例提供的任一项所述的手势识别方法的步骤,或者,实现如本技术实施例提供的任一项所述的手势识别模型的构建方法的步骤。
18.本技术公开的手势识别方法、模型构建方法、设备及存储介质,由于将待识别图像的关键点特征与浅层特征融合,加强了手部区域特征,从而使识别结果更加准确。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
20.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本技术的实施例提供的一种手势识别方法中第一识别模型的方框示意图;
22.图2是本技术的实施例提供的一种手势识别方法中stage模块的结构示意图;
23.图3a是本技术的实施例提供的一种手势识别方法中手势识别模型中的第一识别模型的结构示意图;
24.图3b是本技术的实施例提供的一种手势识别方法中手势识别模型中第二识别模型的结构示意图;
25.图4是本技术的实施例提供的一种手势识别方法中手势识别模型的结构示意图;
26.图5是本技术的实施例提供的模型重组的方框示意图;
27.图6是本技术的实施例提供的一种手势识别方法的步骤示意图;
28.图7是本技术的实施例提供的另一种手势识别方法的步骤示意图;
29.图8是本技术的实施例提供的手势识别模型时计算损失函数的方框示意图;
30.图9是本技术的实施例提供的一种计算机设备的示意框图。
31.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
具体实施方式
32.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
34.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
35.应当理解,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一识别模型和第二识别模型仅仅是为了区分不同的回调函数,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
36.还应当进理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
37.目前市面上手势交互技术或产品的交互体验较差,究其原因是无法准确识别用户手势类型,手势类型包括左右挥手、上下挥手、遮盖脸部等。现有技术中,手势识别方法大致可分为两种方案:未使用神经网络的方案和使用神经网络的方案。
38.其中,未使用神经网络的方案,也即传统的手势识别。其主要通过传感器(比如光敏元件、深度传感器等)判断前方环境变化,并将环境变化反馈至服务器或者其他设备,方便用户查看环境变化情况。但因传感器信号传输距离的限制,该种识别方法仅能支持小范围、短距离的交互;而且传感器无法区分是否为手部发出指令,例如目标对象走动、灯光打开等非手部动作,也可能触发传感器;所以该种识别方法,还可能存在误触发的情况。
39.使用神经网络的方案则可细分为两种,(1)直接法:读取包含目标对象的待识别图像或者视频画面,将待识别图像或者视频画面输入预训练神经网络模型进行识别,直接预测手势类型。(2)间接法:采用关键点检测模型预测画面中手部的21个关键点的坐标位置,并基于一系列预先设定规则或机器学习方法判断待识别图像或者视频画面中手势类型。
40.然而,预训练神经网络模型并未将手部检测结果应该与图像信息融合,辅助神经网络模型对图像中手部区域的关注和识别,这就是手势识别结果不够准确。
41.综上,当前手势交互在应用场景和识别效果上均有较大改善空间。
42.为此,本技术的实施例提供了一种手势识别方法、模型构建方法、计算机设备和存储介质,在测试阶段时,手势识别模型能够适应任何模态的数据输入,能够从保护目标对象的待识别图像中,提取目标对象手势的位置特征与图像特征并融合,进而提高了手势识别的准确率。
43.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
44.请参阅图1,图1是本技术的实施例提供的一种手势识别方法中第一识别模型的方框示意图。该手势识别方法可以应用于计算机设备。
45.该手势识别方法包括:获取包含用户手势的待识别图像,将所述待识别图像输入至预先构建好的手势识别模型,得到识别结果。
46.其中,所述手势识别模型包括第一识别模型,所述第一识别模型包括第一特征提
取模块、第二特征提取模块、特征融合模块和第一识别层;所述第一特征提取模块用于逐层提取所述待识别图像的图像特征,得到浅层特征;所述特征融合模块,用于根据所述浅层特征,确定用户手势的位置特征,将所述浅层特征与所述位置特征融合并输入至第二特征提取模块;所述第二特征提取模块用于特征提取;所述第一识别层用于对所述第二特征提取模块提取的图像特征进行识别,得到所述识别结果。
47.上述方案中,手势识别模型能够从待识别图像中识别出手部关键点的位置特征与浅层特征,并将手部关键点的位置特征与浅层特征融合,从而提高了手势类型识别的准确率,识别结果更加可靠。
48.进一步的,在本技术实施例中,所述第一特征提取模块、所述第二特征提取模块都可以包括一个或者多个依次相连的子特征提取模块。
49.其中,所述子特征提取模块可以包括backbone网络的stage模块。参见图2所示,图2是本技术的实施例提供的一种手势识别方法中stage模块的结构示意图;所述stage模块可以至少包括一个下采样模块和若干残差模块,及若干tsm模块,所述下采样模块、所述若干残差模块、若干所述tsm模块依次相连。
50.本技术实施例中,backbone网络可以由多个stage模块组成,backbone用于提取视频帧特征,也即提取待识别图像的特征。每个stage模块中的下采样模块和残差模块为卷积神经网络中常用的模块,下采样模块和残差模块可以用于提取每帧图像的空间特征。tsm(temporal shift module,时间转移模块)模块可以用于构建视频帧之间的时序特征。
51.需要说明的是,backbone是提取特征的网络统称,其可以为resnet、mobilenet、shufflenet等中的一种。在本技术实施例中,backbone优选为mobilenet网络。
52.优选地,在本技术实施例中,参见图3a所示,图3a是本技术的实施例提供的一种手势识别方法中手势识别模型中的第一识别模型的结构示意图。其中,backbone网络的第一特征模块提取模块可以包括图3a中的stage1

stage i;第二特征提取模块可以包括图3b中的stage i+1

stage5。也就是说,本技术实施例中的backbone网络可以包括五个stage模块,并分别记为第一stage模块、第二stage模块、第三stage模块、第四stage模块、第五stage模块,其中i为正整数。第一识别模型中,第一stage模块、第二stage模块、特征融合模块、第三stage模块、第四stage模块、第五stage模块可以依次连接。
53.图3a中,特征融合模块可以包括simdr模块和融合模块,simdr模块用于从前一个stage i模块提取的浅层特征中提取用户手势的位置特征,然后融合模块用于将前一个stage i模块提取的浅层特征与位置特征相乘融合,以加强手部区域特征。
54.参见图4所示,图4是本技术的实施例提供的一种手势识别方法中手势识别模型的结构示意图。图4实线部分为第一识别模型预测手势类型的过程。将待识别图像输入手势识别模型中的第一识别模型后,第一stage模块、第二stage模块(即图4中的mobilenet stage1-2)依次从待识别图像中提取浅层特征;随后simdr模块从浅层特征中完成左右手的关键点位置信息检测,依据关键点的位置信息生成位置特征,融合模块(即图4中element product,元积)将位置特征与浅层特征相乘融合;再经第三stage模块、第四stage模块、第五stage模块(即图4中的mobilenet stage3-5)进一步从融合后的特征图像中提取特征,并通过第一识别层输出(即图中实线部分的fc层)手势识别结果。
55.可以理解的是,上述内容中,位置特征实际上也是一种图像,且在该图像中,左右
手对应位置均被高亮显示,以提高手势的识别精度。
56.本技术发明人发现,虽然搭配神经网络模型技术来识别手势类型,能够提高手势识别类型的准确度以及稳定性。然而,神经网络模型往往需要训练数据训练神经网络模型,使其在测试阶段(即使用阶段)实现对输入数据类型的预测。若训练数据仅为单模态(比如rgb图像),而测试数据为其他模态(比如近红外图像、深度图像、光流等),则因数据域不匹配问题导致识别效果下降。
57.常用的方法,是采用多模态的训练数据,训练一条神经网络模型,那么神经网络需兼顾多种数据域的训练,在测试阶段对单个模态数据效果未必能达最好。
58.例如,现有技术中的直接法以及间接法,它们的识别模态单一,仅支持rgb图像输入。若在光照不足的情况下,相机切换为近红外输入图像,则与预训练神经网络模型输入不匹配,所以预训练神经网络模型的识别效果可能会下降,甚至是无法识别手势类型。
59.有鉴于此,在本技术实施方式中,第一识别模型可以根据待识别图像的数据类型扩展数量,且拓展后的第一识别模型与拓展前的第一识别模型的结构相同、参数共享,从而保证在测试阶段,第一识别模型能够适应任何模态的数据输入,实现精准的手势类型识别。而各个第一识别模型的参数共享,所以也不会占用太多的内存。
60.具体而言,参见图5、图6所示,图5是本技术的实施例提供的模型重组的方框示意图,图6是本技术的实施例提供的一种手势识别方法的步骤示意图。在本技术一实施例中,为了能够使第一识别模型能够适应任何模态的数据输入,本技术的手势识别方法还包括:
61.步骤s1011、获取多个所述待识别图像的图像类型。
62.图像类型,可以理解为图像格式,可以用来判断待识别图像的模态。通常情况下,待识别图像可以包括rgb图像、深度图像、光流图像、近红外图像等多个模态。
63.步骤s1012、根据所述图像类型确定模态数量,并复制所述第一识别模型,使所述第一识别模型数量与模态数量相等;且各个第一识别模型中仅输入了一种模态的待识别图像。也就是说,不同图像类型或者不同模态对应的第一识别模型的模型结构相同,且模型参数共享。
64.每种图像类型,对应了一种模态。以模态的数量是四种为例,分别为rgb图像、深度图像、光流图像、近红外图像。然后可以通过复制第一识别模型的方式,使第一识别模型的数量与图像类型的数量相同。rgb图像、深度图像、光流图像、近红外图像分别各自对应了一个第一识别模型,可以记为第一rgb识别模型、第一深度识别模型、第一光流识别模型、第一近红外识别模型。
65.步骤s1013、将不同图像类型的所述待识别图像,分别输入至相应的所述第一识别模型中,得到各个所述第一识别模型输出的初始识别结果。
66.也就是说,可以将rgb图像、深度图像、光流图像、近红外图像,分别输入至第一rgb识别模型、第一深度识别模型、第一光流识别模型、第一近红外识别模型中,确保各个第一识别模型中仅包括一种模态的待识别图像。通过第一rgb识别模型、第一深度识别模型、第一光流识别模型、第一近红外识别模型输出手势类型的预测概率yi,其中,预测概率yi即为初始结果。
67.步骤s1014、根据多个所述初始识别结果确定所述用户手势的识别结果。
68.根据预测概率yi,并加权求和,得到手势类型的整体预测概率y。
69.具体整体预测概率,可以通过以下公式计算得到:
[0070][0071]
其中,n为待识别图像的模态数量,ai表示第i个的模态权重,yi表示第i个第一识别模型输出的预测概率;可根据实际效果调整。由于模型参数共享,所有参数量的内存占用较低。
[0072]
当获取得到整体预测概率y,且整个手势预测的流程结束后,可以仅保留手势识别模型中的一条第一识别模型,以减少内存占用的情况。
[0073]
此外,在本技术另一实施例中,为了使第一识别模型能够适应任何模态的数据输入,手势识别模型可以包括多个不同模态的手势识别模型,本技术的手势识别方法还可以包括:获取所述待识别图像的图像类型;根据图像类型得到对应的模态;根据模态与手势识别模型的对应关系,确定所述待识别图像对应的手势识别模型,其中,不同的图像类型对应不同模态的手势识别模型;将所述待识别图像输入至所述待识别图像的图像类型对应的手势识别模型;再重复步骤s1013、步骤s1014,即可得到手势类型的整体预测概率y。
[0074]
综上,即使在实际使用阶段,输入的待识别图像具有多种图像类型或者多个模态,通过该手势识别模型,也能够进行准确预测手势类型。而且多个不同模态的第一识别模型中,结构相同且参数共享,所以不会占用太多的内存。
[0075]
需要说明的是,参数共享的实现方式可以包括:根据不同模态的待识别图像数量,复制手势识别模型,同时复制相同数量的参数。通过计算各个手势识别模型的损失函数并求平均值,基于求得的平均值去更新每个各个手势识别模型,实现参数共享。
[0076]
本技术发明人还发现,在对视频中目标对象的手势类型进行识别时,可能存在需要将所有的视频帧输入手势识别模型进行识别的情况。
[0077]
有鉴于此,在本技术实施例中,参见图3b、图4所示中虚线部分,图3b是本技术的实施例提供的一种手势识别方法中手势识别模型中第二识别模型的结构示意图图。手势识别模型还可以包括第二识别模型。此时,所述方法还可以包括:
[0078]
将包含目标对象视频的所有视频帧作为待识别图像,输入至第二识别模型进行识别,得到第二识别结果。
[0079]
其中,第二识别模型可以包括第一特征提取模块、第三特征提取模块、特征增强模块(即图3b中的non-local)和第二识别层;特征增强模块可以用于根据第一特征提取模块的浅层特征中的用户手势的位置特征进行增强,将增强后的浅层特征输入至第三特征提取模块;第三特征提取模块用于特征提取;第二识别层用于对第三特征提取模块提取的图像特征进行识别,得到第二识别结果。
[0080]
需要强调的是,第一识别模型和第二识别模型可以共用第一特征提取模块。
[0081]
在本技术一实施例中,第三特征提取模块可以与第二特征提取模块相同。而特征增强模块可以提供时空注意力增强特征,所以此时输入的待识别图像可以包括所有的视频帧,并在特征增强模块的作用下,第二识别模型可以具有更好的识别效果。
[0082]
本技术发明人还发现,在实际使用本手势识别模型时,多数情况下需要使用手势识别模型精确识别目标对象的手势类型,然而也可能存在一些并不需要特别精准地识别目标对象的手势类型的情况。
[0083]
有鉴于此,为了提高用户的体验感,本技术实施例中,还可以包括:
[0084]
获取用户选择的识别模式,根据识别模式确定对应的手势识别模型。
[0085]
其中,识别模式可以包括第一识别模式、第二识别模式和第三识别模式,第一识别模式对应的手势识别模型包括第一识别模型或者第二识别模型,第二识别模式对应的手势识别模型包括第一识别模型和第二识别模型,第三识别模式手势识别模型包括多个不同模态的第一识别模型。
[0086]
当用户选择第一模式时,获取包含用户手势的待识别图像,将所述待识别图像输入至预先构建好的手势识别模型,得到识别结果,可以包括:获取包含用户手势的待识别图像,将待识别图像输入至第一识别模型或者第二识别模型中;或者将为所有视频帧的待识别图像,可以一次性输入第二识别模型中,以识别用户手势类型。
[0087]
当用户选择第二模式时,获取包含用户手势的待识别图像,将所述待识别图像输入至预先构建好的手势识别模型,得到识别结果,可以包括:可以将待识别图像依次逐帧输入第一识别网络;或者将为所有视频帧的待识别图像,可以一次性输入第二识别模型中,以识别用户手势类型。
[0088]
需要说明的是,第一识别模型与第二识别模型都可以用来识别手势类型,但是两者输入的待识别图像方式存在不同。且,第一识别模型中的simdr模块能够用于预测左右手在水平和竖直方向的位置,融合模块将关键点特征与浅层特征相乘融合,以加强手部区域特征。而第二识别模型的特征增强模块,侧重于将增强待识别图像中手势对应的区域和时间特征。
[0089]
当用户选择的第三模式时,获取包含用户手势的待识别图像,将所述待识别图像输入至预先构建好的手势识别模型,得到识别结果,可以包括:获取包含用户手势的待识别图像,对待识别图像进行模式处理,将处理后的待识别图像输入至对应模态的第一识别模型。多个第一识别模型组合使用,可以使手势类型的预测结果更加准确。当然,在第三模式的情况下,如果待识别图像仅具有一种模态,可以根据该模态,调用与该模态相对应的第一识别模型进行识别。
[0090]
其中,模式处理可以是通过待识别图像的类型或者格式,来判断当前的待识别图像的模态。
[0091]
具体而言,在第三模式中,手势识别模型可以包括拓展后的多个第一识别模型,且第一识别模型的数量与模态数量相同。当需要进行识别时,将待识别图像输入至对应的第一识别模型即可。
[0092]
需要强调的是,当待识别图像以数据形式离线保存时,用户可以单独调用第一识别模式或者第二识别模型。
[0093]
当待识别图像为在线数据时,用户可以调用第一识别模型进行识别。
[0094]
当需要在线识别,且待识别图像具有多个模态时,用户可以选择第三识别模式。第三识别模式中具有多个模态对应的手势识别模型,此时,服务器可以根据待识别图像的图像类型判断出相应的模态。然后将不同模态的待识别图像,输入至相应的手势识别模型中,实现调用多个模型组合识别,得到更准确的识别结果。
[0095]
通过上述方案,本技术实施例提供的手势识别方法,手势识别模型能够从待识别图像中识别出手部关键点的位置特征与浅层特征,并将手部关键点的位置特征与浅层特征
相乘融合,从而提高了手势类型识别的准确率。同时手势识别模型中的第一识别模型可以拓展数量,且拓展后各个第一识别模型的参数共享,既能够向手势识别模型输入多个模态的待识别图像并提高准确率,也不会占用太多的内存。
[0096]
本技术实施例还提供了一种手势识别模型的构建方法,参见图7所示,图7是本技术的实施例提供的另一种手势识别方法的步骤示意图;该构建方法可以包括步骤s201-s202。
[0097]
需要强调的是,以下内容是针对训练阶段的第一识别模型、第二识别模型进行描述;且第一识别模型包括的第一特征提取模块、第二特征提取模块、特征融合模块和第一识别层等也都是训练阶段的模块。
[0098]
步骤s201、获取包含用户手势的图像样本。
[0099]
步骤s202、将所述图像样本,输入手势识别模型中,以训练所述手势识别模型。
[0100]
其中,所述手势识别模型包括第一识别模型,所述第一识别模型包括第一特征提取模块、第二特征提取模块、特征融合模块和第一识别层;所述第一特征提取模块用于逐层提取所述图像样本的图像特征,得到浅层特征;所述特征融合模块,用于根据所述浅层特征,确定用户手势的位置特征,将所述浅层特征与所述位置特征融合并输入至第二特征提取模块;述第二特征提取模块用于特征提取;所述第一识别层用于对所述第二特征提取模块提取的图像特征进行识别,得到所述手势预测结果,以训练得到所述手势识别模型。
[0101]
此外,手势识别模型还可以包括第二识别模型,第二识别模型的训练步骤与步骤s201-s202相似,此处不再做过多的说明。
[0102]
进一步地,参见图8所示,图8是本技术的实施例提供的手势识别模型时计算损失函数的方框示意图。在本技术实施例中,手势识别模型可以包括多个与不同模态相对应的第一识别模型,以及第二识别模型,图像样本可以包括不同模态的子图像样本,手势识别模型的构建方法还可以包括:
[0103]
将rgb模态对应的子图像样本输入至第二识别模型,以获取第二识别模型预测结果的第一损失函数。将子图像样本,输入至与子图像样本的模态相对应的第一识别模型,以得到每个第一识别模型预测结果的第二损失函数;其中,第一识别模型的数量与第二识别模型相同;根据第二识别模型的损失函数、第一识别模型的损失函数,获取相邻两个预测结果的第三损失函数;通过第一损失函数、第二损失函数、第三损失函数,更新手势识别模型,并保留一个第一识别模型。
[0104]
为方便理解,以图像样本包括rgb图像样本、深度图像样本、光流图像样本、近红外图像样本四种模态为例;在训练阶段,可以复制第一识别模型,使第一识别模型的数量也为四条,且各个第一识别模型的参数相同,下面对训练步骤进行阐述:
[0105]
1)对图像样本进行预处理,分别为:
[0106]
11)将包含目标对象的视频抽帧后得到一系列rgb图像样本,对rgb图像样本进行预处理,可以包括:将rgb图像样本缩放到一定尺寸(该尺寸可以根据实际情况确定),再减均值和除以标准差;均值与标准差可以事先通过对数据统计获得。
[0107]
12)光流模态可以通过rgb模态的图像样本之间计算得到。具体的光流模态计算方法为现有技术,此处不做过多的阐述。而光流模态的预处理方式,可以包括将光流模态的图像样本缩放到一定尺寸(该尺寸可以根据实际情况确定,再减均值和除以标准差(其均值与
标准差可对数据统计获得),处理结果作为flow在线识别模型的输入。
[0108]
13)近红外模态的图像样本、深度图像的图像样本可以通过特定摄像头采集得到,其预处理与rgb图像样本做法相似,此处不做过多的阐述。
[0109]
2)将rgb图像样本输入第二识别模型,训练第二识别模型;将rgb图像样本、深度图像样本、光流图像样本、近红外图样本分别输入四条第一识别模型中,训练第一识别模型;并计算各个预测结果的损失函数loss1-loss5。为了保证各个模态对应的第一识别模型的预测结果一致,还可以计算相邻两个识别模型预测结果的损失函数loss6-loss9。
[0110]
具体而言,第二识别模型的损失函数为loss1,rgb、光流、深度、近红外四个模态对应的第一识别网络的损失函数分别为loss2、loss3、loss4、loss5。然后,相邻的第二识别模型、rgb模态对应的第一识别模型之间预测结果的损失函数为loss6;相邻的rgb模态对应的第一识别模型、深度模态对应的第一识别模型之间预测结果的损失函数为loss7;深度模态对应的第一识别模型、光流模态对应第一识别模型之间预测结果的损失函数为loss8;光流模态对应第一识别模型、近红外模态对应的第一识别模型之间预测结果的损失函数为loss9。
[0111]
最终将所有损失函数求和,公式如下模型总损失函数loss:
[0112][0113]
其中,λi为代表第i个损失函数的权重。
[0114]
综上,由loss计算梯度手势识别模型,但考虑到所有第一识别神经网络模型的结构一致且参数共享,因而训练结束后所有第一识别模型的参数相同,仅需保留一个第一识别模型参数即可,大大降低了内存占用。
[0115]
综上,本技术实施例提供的手势识别模型构建方法,通过多个模态的图像样本分别训练多个第一识别模型,因为各个第一识别模型参数共享,所以可以占用较少的内存。同时最终可以只保留一个第一识别模型,进一步减少占用的内存;而训练出来的第二识别模型可以用来一次性输入所有的视频帧,第二识别模型与第一识别模型相互配合,能够提供多种识别模式供用户选择。
[0116]
请参阅图9,图9是本技术实施例提供的一种计算机设备的示意性框图。如图9所示,该计算机设备600包括一个或多个处理器601和存储器602,处理器601和存储器602通过总线连接,该总线比如为i2c(inter-integrated circuit)总线。
[0117]
其中,一个或多个处理器601单独地或共同地工作,用于执行上述实施例提供的手势识别方法的步骤,或者,用于执行上述实施例提供的手势识别模型的构建方法的步骤。
[0118]
具体地,处理器601可以是微控制单元(micro-controller unit,mcu)、中央处理单元(central processing unit,cpu)或数字信号处理器(digital signal processor,dsp)等。
[0119]
具体地,存储器602可以是flash芯片、只读存储器(rom,read-only memory)磁盘、光盘、u盘或移动硬盘等。
[0120]
其中,处理器601用于运行存储在存储器602中的计算机程序,并在执行所述计算机程序时实现上述实施例提供的手势识别方法的步骤。
[0121]
示例性的,处理器601用于运行存储在存储器602中的计算机程序,并在执行所述
计算机程序时,实现如下步骤:
[0122]
获取包含用户手势的待识别图像,将所述待识别图像输入至预先构建好的手势识别模型,得到第一识别结果。
[0123]
其中,所述手势识别模型包括第一识别模型,所述第一识别模型包括第一特征提取模块、第二特征提取模块、特征融合模块和第一识别层;所述第一特征提取模块用于逐层提取所述待识别图像的图像特征,得到浅层特征;所述特征融合模块,用于根据所述浅层特征,确定用户手势的位置特征,将所述浅层特征与所述位置特征融合并输入至第二特征提取模块;所述第二特征提取模块用于特征提取;所述第一识别层用于对所述第二特征提取模块提取的图像特征进行识别,得到所述第一识别结果。
[0124]
在一些实施例中,所述第一特征提取模块、所述第二特征提取模块包括一个或者多个依次相连的子特征提取模块;其中,所述子特征提取模块包括backbone网络的stage模块,所述stage模块至少包括一个下采样模块和若干残差模块,及若干tsm模块,所述下采样模块、所述若干残差模块、若干所述tsm模块依次相连。
[0125]
在一些实施例中,所述特征融合模块包括simdr模块和融合模块,所述simdr模块用于从所述浅层特征中提取用户手势的位置特征,所述融合模块用于将所述浅层特征与所述位置特征融合。
[0126]
在一些实施例中,所述处理器在实现所述将所述待识别图像输入至预先构建好的手势识别模型之前,还用于实现:
[0127]
获取所述待识别图像的图像类型,根据所述图像类型确定模态数量,并复制所述第一识别模型,使所述第一识别模型数量与模态数量相等。
[0128]
在一些实施例中,各个所述第一识别模型的模型结构相同,且模型参数共享。
[0129]
在一些实施例中,所述处理器在实现所述获取包含用户手势的待识别图像,将所述待识别图像输入至预先构建好的手势识别模型,具体用于实现:
[0130]
获取多个包含用户手势的待识别图像,多个所述待识别图像的模态不同;依次将同种模态的所述待识别图像输入至所述第一识别模型进行识别,得到各个所述第一识别模型输出的初始识别结果;其中,各个所述第一识别模型中仅输入一种模态的所述待识别图像;以及根据多个所述初始识别结果确定所述用户手势的识别结果。
[0131]
在一些实施例中,所述手势识别模型还包括第二识别模型;所述处理器在实现手势识别方法时,还用于实现:
[0132]
将包含目标对象视频的所有视频帧作为待识别图像,输入至所述第二识别模型进行识别,得到第二识别结果;
[0133]
其中,所述第二识别模型包括第一特征提取模块、第三特征提取模块、特征增强模块和第二识别层;所述特征增强模块用于根据所述第一特征提取模块的浅层特征中的用户手势的位置特征进行增强,将增强后的所述浅层特征输入至所述第三特征提取模块;所述第三特征提取模块用于特征提取;所述第二识别层用于对所述第三特征提取模块提取的图像特征进行识别,得到所述第二识别结果。
[0134]
在一些实施例中,所述第一识别模型和所述第二识别模型共用第一特征提取模块。
[0135]
在一些实施例中,所述处理器在实现所述将所述待识别图像输入至预先构建好的
手势识别模型的步骤之前,还用于实现:
[0136]
获取用户选择的识别模式,根据所述识别模式确定对应的手势识别模型;其中,所述识别模式包括第一识别模式、第二识别模式和第三识别模式,所述第一识别模式对应的手势识别模型包括第一识别模型或者第二识别模型,所述第二识别模式对应的手势识别模型包括第一识别模型和第二识别模型,所述第三识别模式手势识别模型包括多个不同模态的第一识别模型。
[0137]
示例性的,处理器601用于运行存储在存储器602中的计算机程序,并在执行所述计算机程序时,实现如下:
[0138]
获取包含用户手势的图像样本;将所述图像样本,输入手势识别模型中,以训练所述手势识别模型。其中,所述手势识别模型包括第一识别模型,所述第一识别模型包括第一特征提取模块、第二特征提取模块、特征融合模块和第一识别层;所述第一特征提取模块用于逐层提取所述图像样本的图像特征,得到浅层特征;所述特征融合模块,用于根据所述浅层特征,确定用户手势的位置特征,将所述浅层特征与所述位置特征融合并输入至第二特征提取模块;述第二特征提取模块用于特征提取;所述第一识别层用于对所述第二特征提取模块提取的图像特征进行识别,得到所述手势预测结果,以训练得到所述手势识别模型。
[0139]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现上述实施例提供的手势识别方法的步骤,或者,实现上述实施例提供的手势识别模型的构建方法的步骤。
[0140]
其中,所述计算机可读存储介质可以是前述任一实施例所述的计算机设备的内部存储单元,例如所述终端设备的硬盘或内存。所述计算机可读存储介质也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0141]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1