本技术涉及终端领域,尤其涉及一种隔空手势识别方法、装置、电子设备及可读存储介质。
背景技术:
1、隔空手势是一种通过电子设备的摄像头采集手部动作图像,识别图像中手部动作对应的操作,对电子设备进行控制的技术。为了提高采集手部动作图像的时效,电子设备可以采用摄像头实时在线(always-oncamera,aon)的功能,将电子设备的前置摄像头设置为常开状态,以便于实时采集图像。
2、但是,在实时采集图像后还需要实时分析图像。分析图像时涉及的数据量较大,导致识别图像的消耗的功耗较高,会影响电子设备的续航。
技术实现思路
1、本技术提供一种隔空手势识别方法、装置、电子设备及可读存储介质,通过对第一模型进行简化,降低第一模型运行时的功耗,从而降低电子设备启用aon功能时的功耗,改善影响电子设备的续航的问题。
2、为达到上述目的,本技术采用如下技术方案:
3、第一方面,提供了一种隔空手势识别方法,应用于电子设备,该方法包括:
4、根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,第一模型包括至少一个剪枝后的卷积层,在第一个卷积层后包括两个深度可分离卷积块,卷积层和深度可分离卷积块用于提取帧图像中的图像特征。当在多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行第一模型时电子设备的功耗小于运行第二模型时电子设备的功耗。通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。
5、在本技术的实施例中,隔空手势识别方法可以应用于包含摄像头的电子设备,包括手机、平板电脑、掌上游戏机、可穿戴设备、增强现实/虚拟现实设备、笔记本电脑、超级移动个人计算机、上网本、个人数字助理等。
6、在第一方面中,通过在第一模型识别到第一手势后,才唤醒第二模型,且第一模型的运行功耗小于第二模型,可以在较低的功耗水平下,实现aon功能以实时识别隔空手势。由于对第一模型中的卷积层进行了剪枝,可以有效减少参数数量和计算量。并在卷积层后添加了两个深度可分离的卷积块以保证模型的精度。重新设计的第一模块可以在保持较好性能的同时更加轻量化和高效,降低运行时的功耗,提高识别效率。进而降低电子设备启用aon功能时的功耗,提高电子设备的续航时长。
7、一些可能的实施方式中,第一手势为隔空手势的起始手势。
8、当在多个帧图像中识别到第一手势时,唤醒第二模型,包括:当在多个帧图像中识别到包含手部特征的帧图像时,对帧图像之后获取的帧图像进行识别。当在帧图像之后获取的帧图像中,连续n帧均识别到起手手势时,唤醒第二模型,n为大于或等于1的整数。
9、一些可能的实施方式中,通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令,包括:识别每个帧图像中的手检测框,获取手检测框中的手势图像对应的静态手势类型。根据静态手势类型匹配对应的操作指令并执行。
10、一些可能的实施方式中,通过第二模型对多个帧图像进行手势识别,得到与多个帧图像中存在的手势对应的操作指令,包括:识别每个帧图像中的手检测框。获取手检测框对应的区域的手势图像中的手关键点以及每个手关键点在图像中的位置信息。根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型。根据动态手势类型匹配对应的操作指令并执行。
11、一些可能的实施方式中,根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型,包括:
12、获取时序相邻的两帧之间手关键点位置信息的差分数据。将手关键点在图像中的位置信息和差分数据输入预先训练好的手势分类模块,获取多个帧图像中的动态手势类型。
13、一些可能的实施方式中,在获取手检测框对应的区域的手势图像中的手关键点以及每个关手键点在图像中的位置信息之后,方法还包括:将手关键点以及每个手关键点在图像中的位置信息,按照时序顺序更新关键点存储表,关键点存储表按照时序存储了多个帧图像中的手关键点以及每个手关键点在图像中的位置信息。
14、获取时序相邻的两帧之间手关键点位置信息的差分数据,包括:
15、根据关键点存储表中相邻时序的两个帧图像对应的手关键点以及手关键点在图像中的位置信息,获取时序相邻的两帧之间手关键点位置信息的差分数据。
16、一些可能的实施方式中,第一模型中,每个卷积块的通道数为32的整数倍,且在深度卷积后不包括激活函数。
17、第二方面,提供了一种隔空手势识别装置,应用于电子设备,包括:
18、识别模块,用于根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,第一模型包括至少一个剪枝后的卷积层,在第一个卷积层后包括两个深度可分离卷积块,卷积层和深度可分离卷积块用于提取帧图像中的图像特征。唤醒模块,用于当在多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行第一模型时电子设备的功耗小于运行第二模型时电子设备的功耗。执行模块,用于通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。
19、一些可能的实施方式中,第一手势为隔空手势的起始手势。
20、当在多个帧图像中识别到第一手势时,唤醒模块,具体用于当在多个帧图像中识别到包含手部特征的帧图像时,对帧图像之后获取的帧图像进行识别。当在帧图像之后获取的帧图像中,连续n帧均识别到起手手势时,唤醒第二模型,n为大于或等于1的整数。
21、一些可能的实施方式中,执行模块,具体用于识别每个帧图像中的手检测框,获取手检测框中的手势图像对应的静态手势类型。根据静态手势类型匹配对应的操作指令并执行。
22、一些可能的实施方式中,执行模块,具体用于识别每个帧图像中的手检测框。获取手检测框对应的区域的手势图像中的手关键点以及每个手关键点在图像中的位置信息。根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型。根据动态手势类型匹配对应的操作指令并执行。
23、一些可能的实施方式中,执行模块,具体用于获取时序相邻的两帧之间手关键点位置信息的差分数据。将手关键点在图像中的位置信息和差分数据输入预先训练好的手势分类模块,获取多个帧图像中的动态手势类型。
24、一些可能的实施方式中,还包括储存模块,用于将手关键点以及每个手关键点在图像中的位置信息,按照时序顺序更新关键点存储表,关键点存储表按照时序存储了多个帧图像中的手关键点以及每个手关键点在图像中的位置信息。
25、执行模块,具体用于根据关键点存储表中相邻时序的两个帧图像对应的手关键点以及手关键点在图像中的位置信息,获取时序相邻的两帧之间手关键点位置信息的差分数据。
26、一些可能的实施方式中,第一模型中,每个卷积块的通道数为32的整数倍,且在深度卷积后不包括激活函数。
27、第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时行第一方面或第一方面中任一种方法中进行处理的步骤。
28、第四方面,提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行第一方面或第一方面中任一种方法中进行处理的步骤。
29、第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,使所述处理器执行第一方面或第一方面中任一种方法中进行处理的步骤。
30、第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第一方面中任一种方法中进行处理的步骤。
31、其中,第二方面至第六方面的有益效果可以参照第一方面,在此不做赘述。