CN117711014A - 隔空手势识别方法、装置、电子设备及可读存储介质 - Google Patents
隔空手势识别方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117711014A CN117711014A CN202310949105.0A CN202310949105A CN117711014A CN 117711014 A CN117711014 A CN 117711014A CN 202310949105 A CN202310949105 A CN 202310949105A CN 117711014 A CN117711014 A CN 117711014A
- Authority
- CN
- China
- Prior art keywords
- gesture
- model
- frame images
- hand
- electronic device
- 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 64
- 230000006870 function Effects 0.000 claims description 39
- 238000001514 detection method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 12
- 230000002618 waking effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000002035 prolonged effect Effects 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 48
- 238000004891 communication Methods 0.000 description 21
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013145 classification model Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 244000141359 Malus pumila Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种隔空手势识别方法、装置、电子设备及可读存储介质,涉及终端领域。该方法包括:根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,第一模型包括至少一个剪枝后的卷积层,在第一个卷积层后包括两个深度可分离卷积块,卷积层和深度可分离卷积块用于提取帧图像中的图像特征。当在多个帧图像中识别到第一手势时,唤醒第二模型,通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。由于对第一模型中的卷积层进行了剪枝,可以减少参数数量和计算量。在卷积层后添加了两个深度可分离的卷积块,可以在保持较好性能的同时降低第一模型运行时的功耗,提高电子设备的续航时长。
Description
技术领域
本申请涉及终端领域,尤其涉及一种隔空手势识别方法、装置、电子设备及可读存储介质。
背景技术
隔空手势是一种通过电子设备的摄像头采集手部动作图像,识别图像中手部动作对应的操作,对电子设备进行控制的技术。为了提高采集手部动作图像的时效,电子设备可以采用摄像头实时在线(always-oncamera,AON)的功能,将电子设备的前置摄像头设置为常开状态,以便于实时采集图像。
但是,在实时采集图像后还需要实时分析图像。分析图像时涉及的数据量较大,导致识别图像的消耗的功耗较高,会影响电子设备的续航。
发明内容
本申请提供一种隔空手势识别方法、装置、电子设备及可读存储介质,通过对第一模型进行简化,降低第一模型运行时的功耗,从而降低电子设备启用AON功能时的功耗,改善影响电子设备的续航的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供了一种隔空手势识别方法,应用于电子设备,该方法包括:
根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,第一模型包括至少一个剪枝后的卷积层,在第一个卷积层后包括两个深度可分离卷积块,卷积层和深度可分离卷积块用于提取帧图像中的图像特征。当在多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行第一模型时电子设备的功耗小于运行第二模型时电子设备的功耗。通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。
在本申请的实施例中,隔空手势识别方法可以应用于包含摄像头的电子设备,包括手机、平板电脑、掌上游戏机、可穿戴设备、增强现实/虚拟现实设备、笔记本电脑、超级移动个人计算机、上网本、个人数字助理等。
在第一方面中,通过在第一模型识别到第一手势后,才唤醒第二模型,且第一模型的运行功耗小于第二模型,可以在较低的功耗水平下,实现AON功能以实时识别隔空手势。由于对第一模型中的卷积层进行了剪枝,可以有效减少参数数量和计算量。并在卷积层后添加了两个深度可分离的卷积块以保证模型的精度。重新设计的第一模块可以在保持较好性能的同时更加轻量化和高效,降低运行时的功耗,提高识别效率。进而降低电子设备启用AON功能时的功耗,提高电子设备的续航时长。
一些可能的实施方式中,第一手势为隔空手势的起始手势。
当在多个帧图像中识别到第一手势时,唤醒第二模型,包括:当在多个帧图像中识别到包含手部特征的帧图像时,对帧图像之后获取的帧图像进行识别。当在帧图像之后获取的帧图像中,连续n帧均识别到起手手势时,唤醒第二模型,n为大于或等于1的整数。
一些可能的实施方式中,通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令,包括:识别每个帧图像中的手检测框,获取手检测框中的手势图像对应的静态手势类型。根据静态手势类型匹配对应的操作指令并执行。
一些可能的实施方式中,通过第二模型对多个帧图像进行手势识别,得到与多个帧图像中存在的手势对应的操作指令,包括:识别每个帧图像中的手检测框。获取手检测框对应的区域的手势图像中的手关键点以及每个手关键点在图像中的位置信息。根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型。根据动态手势类型匹配对应的操作指令并执行。
一些可能的实施方式中,根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型,包括:
获取时序相邻的两帧之间手关键点位置信息的差分数据。将手关键点在图像中的位置信息和差分数据输入预先训练好的手势分类模块,获取多个帧图像中的动态手势类型。
一些可能的实施方式中,在获取手检测框对应的区域的手势图像中的手关键点以及每个关手键点在图像中的位置信息之后,方法还包括:将手关键点以及每个手关键点在图像中的位置信息,按照时序顺序更新关键点存储表,关键点存储表按照时序存储了多个帧图像中的手关键点以及每个手关键点在图像中的位置信息。
获取时序相邻的两帧之间手关键点位置信息的差分数据,包括:
根据关键点存储表中相邻时序的两个帧图像对应的手关键点以及手关键点在图像中的位置信息,获取时序相邻的两帧之间手关键点位置信息的差分数据。
一些可能的实施方式中,第一模型中,每个卷积块的通道数为32的整数倍,且在深度卷积后不包括激活函数。
第二方面,提供了一种隔空手势识别装置,应用于电子设备,包括:
识别模块,用于根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,第一模型包括至少一个剪枝后的卷积层,在第一个卷积层后包括两个深度可分离卷积块,卷积层和深度可分离卷积块用于提取帧图像中的图像特征。唤醒模块,用于当在多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行第一模型时电子设备的功耗小于运行第二模型时电子设备的功耗。执行模块,用于通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。
一些可能的实施方式中,第一手势为隔空手势的起始手势。
当在多个帧图像中识别到第一手势时,唤醒模块,具体用于当在多个帧图像中识别到包含手部特征的帧图像时,对帧图像之后获取的帧图像进行识别。当在帧图像之后获取的帧图像中,连续n帧均识别到起手手势时,唤醒第二模型,n为大于或等于1的整数。
一些可能的实施方式中,执行模块,具体用于识别每个帧图像中的手检测框,获取手检测框中的手势图像对应的静态手势类型。根据静态手势类型匹配对应的操作指令并执行。
一些可能的实施方式中,执行模块,具体用于识别每个帧图像中的手检测框。获取手检测框对应的区域的手势图像中的手关键点以及每个手关键点在图像中的位置信息。根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型。根据动态手势类型匹配对应的操作指令并执行。
一些可能的实施方式中,执行模块,具体用于获取时序相邻的两帧之间手关键点位置信息的差分数据。将手关键点在图像中的位置信息和差分数据输入预先训练好的手势分类模块,获取多个帧图像中的动态手势类型。
一些可能的实施方式中,还包括储存模块,用于将手关键点以及每个手关键点在图像中的位置信息,按照时序顺序更新关键点存储表,关键点存储表按照时序存储了多个帧图像中的手关键点以及每个手关键点在图像中的位置信息。
执行模块,具体用于根据关键点存储表中相邻时序的两个帧图像对应的手关键点以及手关键点在图像中的位置信息,获取时序相邻的两帧之间手关键点位置信息的差分数据。
一些可能的实施方式中,第一模型中,每个卷积块的通道数为32的整数倍,且在深度卷积后不包括激活函数。
第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时行第一方面或第一方面中任一种方法中进行处理的步骤。
第四方面,提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行第一方面或第一方面中任一种方法中进行处理的步骤。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,使所述处理器执行第一方面或第一方面中任一种方法中进行处理的步骤。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第一方面中任一种方法中进行处理的步骤。
其中,第二方面至第六方面的有益效果可以参照第一方面,在此不做赘述。
附图说明
图1是本申请实施例提供的一种隔空手势识别方法的应用场景示意图;
图2是本申请实施例提供的一种电子设备的硬件结构框图;
图3是本申请实施例提供的电子设备的***结构框图;
图4是本申请实施例提供的电子设备的软件结构框图;
图5是本申请实施例提供的隔空手势识别方法的流程示意图;
图6是本申请实施例提供的隔空手势识别方法中第一模型的结构示意图;
图7是本申请实施例提供的一种隔空手势识别装置的结构框图;
图8是本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
将摄像头实时在线(always-oncamera,AON)的功能应用于隔空手势时,摄像头会持续地采集图像或视频流。当摄像头实时捕捉到手势动作的图像或视频时,通过预先训练的模型对手势进行识别,并执行手势对应的操作指令。在隔空手势技术中,摄像头通常会将采集的图像或视频流的帧率和分辨率加以调整,以便在保证实时性、识别率和准确性的同时,降低功耗,增加设备的续航时长。
但是,单单依靠降低图像或视频流的帧率和分辨率并不能有效的降低功耗,增加的设备续航时长也很有限。
有鉴于此,本申请提供了一种隔空手势识别方法,应用于电子设备,该方法包括:根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,第一模型包括至少一个剪枝后的卷积层,在第一个卷积层后包括两个深度可分离卷积块,卷积层和深度可分离卷积块用于提取帧图像中的图像特征。当在多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行第一模型时电子设备的功耗小于运行第二模型时电子设备的功耗。通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。
本申请中,通过在第一模型识别到第一手势后,才唤醒第二模型,且第一模型的运行功耗小于第二模型,可以在较低的功耗水平下,实现AON功能以实时识别隔空手势。由于对第一模型中的卷积层进行了剪枝,可以有效减少参数数量和计算量。并在卷积层后添加了两个深度可分离的卷积块以保证模型的精度。重新设计的第一模块可以在保持较好性能的同时更加轻量化和高效,降低运行时的功耗,提高识别效率。进而降低电子设备启用AON功能时的功耗,提高电子设备的续航时长。
图1是本申请实施例提供的一种隔空手势识别方法的应用场景示意图。
参考图1,首先对本申请实施例的应用场景进行简要说明。
图1中示出了电子设备100,电子设备100可以支持隔空手势控制,并且支持AON功能。电子设备100可以被放置在桌面、手机支架上,也可以被用户手持。例如,图1中示出的当电子设备100被用户左手手持,用户的右手抬起并放置在电子设备100的前置摄像头前。第一模型检测到第一手势后,唤醒第二模型,第二模型根据采集到的多个帧图像进行识别,并执行与多个帧图像中存在的手势对应的操作指令。
例如,参考图1,其中,用户的右手向右摆动,第二模型识别向右摆动的手势后,控制电子设备的界面向右边切换。
图2是本申请实施例提供的一种电子设备的硬件结构框图。
在本申请中,电子设备包含摄像头。作为示例,电子设备可以包括手机、平板电脑、掌上游戏机、可穿戴设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等。对于电子设备的具体类型,本申请实施例不作任何限制。
参考图2,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
作为举例,当电子设备100为手机或平板电脑时,可以包括图示中的全部部件,也可以仅包括图示中的部分部件。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
在本申请实施例中,温度传感器180J可以包括多个,用于检测电子设备100不同位置的温度,如可以设置在处理器附近,获取处理器的温度,设置在电池附近,获取电池的温度或者设置在电子设备100的外壳内侧,用于获取电子设备100外壳的温度。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时***多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
对于以上示例中的场景,电子设备100的操作***可以包括但不限于塞班(Symbian)、安卓(Andriod)、窗口(Windows)、苹果(MacOS、iOS)、黑莓(Blackberry)、鸿蒙(HarmonyOS)、林纳斯(Linux)或尤内克斯(Unix)等操作***。
图3是本申请实施例提供的电子设备的***结构框图。
作为示例,当本申请提供的隔空手势识别方法在电子设备100上运行时,电子设备100的操作***可以是Andriod,其***结构可以参照图3。
其中,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示字符的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示字符的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
图4是本申请实施例提供的电子设备的软件结构框图。
参考图4,电子设备的软件结构包括隔空手势应用(app),隔空手势应用中包括第一模型和第二模型。第一模型也可以称之为一阶唤醒模型(简称一阶模型),第二模型也可以称之为二阶识别模型(简称二阶模型)。
第一模型接收来自摄像头的视频流,视频流中包括多个帧图像。摄像头输出的视频流可以根据实际需求进行缩小,例如,可以输出四分之一视频图形阵列(Quarter VideoGraphics Array,QVGA)(320*240像素)、八分之一视频图形阵列(Quarter QuarterVideoGraphics Array,QQVGA)(160*120像素)等分辨率的视频流或者连续图像。
当第一模型识别到接收到的多个帧图像中包括第一手势时,则唤醒第二模型。第二模型根据多个帧图像进行识别,向目标应用程序输出多个帧图像中存在的手势对应的操作指令,目标应用程序根据接收到的操作指令,对界面进行控制。
图5是本申请实施例提供的隔空手势识别方法的流程示意图。
参考图5,隔空手势识别方法包括:
S501、第一模型在连续接收到的多个帧图像中识别第一手势。
一些可能的实现方式中,第一模型可以是二分类模型,可以通过(ConvolutionalNeural Network,CNN)来实现,用于区分连续接收到的多个帧图像中是否存在第一手势。其中,第一手势可以是隔空手势的起始手势,例如,可以是手掌或者是手背,或者是其他设定好的其实手势,如拳头、伸出食指等,本申请对起始手势不做限制。
图6是本申请实施例提供的隔空手势识别方法中第一模型的结构示意图。
参考图6,第一模型的结构可以包括至少一个剪枝后的卷积层(conv2D),在该卷积层之后,还包括两个深度可分离卷积块(block)。在深度可分离卷积块(block)后,还可以根据需要设置若干卷积层。
其中,conv2D通过将一个固定大小的卷积核(如1*1)对输入的帧图像进行扫描,并在每个位置处逐元素执行乘法和求和运算,以生成输出特征图。
例如,卷积层的卷积核大小可以是1*1,通道数为2。则可以在输入的帧图像中,以1*1卷积核尺寸,2个通道进行特征提取。在提取时,对于帧图像中每个位置,将卷积核与重叠的帧图像的局部区域进行逐元素的乘法操作,并对乘法结果求和,得到帧图像中每个位置上对应通道的值。最后,对帧图像每个位置遍历后,将生成一个1*1*2的输出特征图。其中,1*1表示输出特征图在空间上的尺寸为1*1,而2表示输出特征图的通道数为2。每一个通道对应着一种不同的类别或特征。在本申请中,2个通道分别对应是第一手势和不是第一手势。
深度可分离卷积块(Depthwise Separable Convolution Block)是一种卷积神经网络中用于减少模型参数量和计算量,以提升模型的效率和性能的模块。深度可分离卷积块可以包括:深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)。
深度卷积是指在每个输入通道上分别进行卷积操作。对于一个输入特征图,如果有k个输入通道,深度卷积将针对每个通道分别应用一个卷积核,生成k个输出特征图。这样,深度卷积操作仅使用了k个参数(卷积核的大小),相对于传统卷积会大大减少参数量。
逐点卷积是指在整个特征图上应用一个1*1的卷积核。逐点卷积实际上是一种全连接操作,对应于将输入特征图的每个位置与卷积核执行点积操作,从而生成输出特征图。逐点卷积不改变特征图的空间尺寸,但能够改变特征图的通道数量。通过逐点卷积,可以对不同的通道进行线性组合,进一步提取特征并扩充特征表示能力。
通过对第一模型中的卷积层进行了剪枝,可以有效减少参数数量和计算量。在卷积层后添加了两个深度可分离的卷积块,可以在保持较好性能的同时使模型更加轻量化和高效,降低第一模型运行时的功耗,提高第一模型的识别效率。
一些可能的实现方式中,第一模型中每个卷积块(Convolutional Block)的通道数为32的整数倍,且在深度卷积后不包括激活函数。
其中,卷积块包括至少一个卷积层、激活函数和批量标准化层,用于提取图像中的局部特征。例如,参考图6,其中的每个卷积层都可以单独构成一个卷积块,或者多个卷积层也可以一同构成一个卷积块。
例如,在本申请中,第一模型中包括的至少一个卷积层构成了一个卷积块,该卷积块的通道数为12,则可以将该卷积块的通道数调整为32。
将每个卷积块的通道数调整为32后,可以将每个卷积块的通道对齐,通道对齐可以使卷积操作中的每个卷积核在不同的通道上使用相同的参数。这样可以减少模型需要学习的参数数量,降低模型的复杂度,进而降低模型运行的功耗。
一些可能的实现方式中,第一模型中可以使用修正线性单元(Rectified LinearUnit,ReLU)作为激活函数,同时,在每个深度卷积后不设置激活函数。由于ReLU具有量化友好的特性。即ReLU激活函数在非负区间(输入大于等于零)上为恒等映射,不会引入额外的非线性操作。也就是说,第一模型的前向传播和反向传播中,ReLU激活函数的计算不需要浮点数的乘法操作,只需要简单的比较和取最大值运算。可以有效降低计算复杂度,可以降低模型运行的功耗。
而且,ReLU激活函数在输入小于零时输出为零,可以使得ReLU的量化过程更加稳定。即,在量化过程中,对于小于零的激活值可以直接设为零,不会引入显著的精度损失。使得第一模型在降低功耗的同时,还能保持较高的精度。
一些可能的实施方式中,第一模型可以是深度残差网络。对于深度残差网络,可以通过引入跳跃连接和瓶颈块来解决深度神经网络中的梯度消失和表示瓶颈问题。瓶颈块可以包括三个卷积层,例如,可以是一个1*1卷积层、一个3*3卷积层和一个1*1卷积层,用于压缩和提升特征通道数量。
作为示例,假设第一模型中包括10个瓶颈块,每个瓶颈块的输出通道数量为64,可以通过减少两个瓶颈块来得到一个更小的模型。调整后的第一模型可以只包含8个瓶颈块,每个瓶颈块的输出通道数量为32。通过移除瓶颈块,可以减少模型的参数和计算量,同时保持相对较高的性能。进而在不影响第一模型精度的情况下,降低第一模型的功耗。
一些可能的实施方式中,根据上述示例设置第一模型,再根据预设的样本对第一模型进行训练。预设样本可以包括各种手势图像、空白图像等,以及每个图像对应的真实值。例如,是起始手势真实值为1,不是起始手势,真实值为0。训练后的第一模型可以根据输入的多个帧图像,识别其中是否包括起始手势。
在本实施例中,根据以上结构和参数训练得到的第一模型,由于对结构和参数进行了调整,使得第一模型在不降低精度的情况下,降低了运行时的功耗,且远远小于第二模型。这样,在启用AON功能时,第一模型实时在线,既能保证实时获取隔空手势,又能有效的降低电子设备的功耗,提高电子设备的续航时间。
S502、确定第一模型是否识别到第一手势,若识别到则执行S503,若未识别到,则继续执行S501。
S503、第一模型唤醒第二模型。
一些可能的实施方式中,第一手势为隔空手势的起始手势。确定第一模型是否识别到第一手势包括:当在多个帧图像中识别到包含手部特征的帧图像时,对帧图像之后获取的帧图像进行识别。当在帧图像之后获取的帧图像中,连续n帧均识别到起手手势时,唤醒第二模型,n为大于或等于1的整数。
作为示例,当第一模型在一个帧图像中识别到起手手势后,对于该帧之后采集到的帧图像,依次进行识别。若连续n帧(例如3帧、5帧等)均识别到起手手势,则确定需要唤醒第二模型,对手势进行识别。
一些可能的实施方式中,第一模型可以在连续n帧(例如3帧、5帧等)均识别到起手手势后,像第二模型发送唤醒指令,唤醒第二模型根据接收到的多个帧图像进行识别。例如,在第一模型中可以设置一个计数器变了,初始化为0,对帧图像的识别过程中,当识别到起手手势时,计数器变量会加1。如果识别到非起手手势,则重置计数器变量为0。
在每个帧图像的识别过程中,判断计数器变量的值是大于或等于n。如果是,则表示连续识别到了起手手势的帧图像。一旦计数器变量的值大于或等于n,第一模型发送唤醒指令给第二模型。第二模型接收到唤醒指令后,根据接收到的多个帧图像进行进一步的手势识别。
S504、对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。
一些可能的实施方式中,第二模型也可以是CNN模型,第二模型在接收到帧图像后,可以先对帧图像进行手检测,获取手部在帧图像中的位置信息,生成手检测框。
然后,可以从手检测框中提取手势图像,并输入到预训练好的手势分类模型中,进行手势识别。其中,手势分类模型可以是第二模型的一部分。
作为示例,手势分类模型可以根据手势图像,识别静态手势类型,例如:“拳头”、“手掌”、“剪刀手”等。若识别得到静态手势存在对应的操作指令,且连续m帧均识别到相同的静态手势,则可以根据静态手势对应的操作指令控制目标应用程序。
或者,若静态手势不存在对应的操作指令,还可以获取手检测框对应的区域的手势图像中的手关键点以及每个手关键点在图像中的位置信息。根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型。根据动态手势类型匹配对应的操作指令并执行。
其中,根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型,包括:获取时序相邻的两帧之间手关键点位置信息的差分数据。将手关键点在图像中的位置信息和差分数据输入预先训练好的手势分类模块,获取多个帧图像中的动态手势类型。
一些可能的实施方式中,可以根据手势图像,使用计算机视觉或深度学习的方法,提取手势图像中的手关键点。手关键点可以包括手指的关节点、手掌中心等。对于每个手关键点,记录其在帧图像中的位置信息。手关键点的位置信息可以是一系列像素值,或者使用特征点的坐标来描述。
作为示例,可以将手关键点存储,并根据存储的数据进行处理。例如,可以将手关键点以及每个手关键点在图像中的位置信息,按照时序顺序更新关键点存储表,关键点存储表按照时序存储了多个帧图像中的手关键点以及每个手关键点在图像中的位置信息。例如,关键点存储表可以如表1所示:
表1
第x帧 | 第x+1帧 | 第x+2帧 |
关键点1 | 关键点1 | 关键点1 |
关键点2 | 关键点2 | 关键点2 |
关键点3 | 关键点3 | 关键点3 |
…… | …… | …… |
关键点K | 关键点K | 关键点K |
其中,第一行记录了帧的时序,每帧下对应的关键点K记录了关键点的名称和位置信息。手关键点位置信息的差分数据,即为不同时序的帧下相同关键点位置信息的差值。
可以根据关键点存储表中相邻时序的两个帧图像对应的手关键点以及手关键点在图像中的位置信息,获取时序相邻的两帧之间手关键点位置信息的差分数据。
作为示例,根据多个帧图像中手关键点位置信息的差分数据,判断手势的动态类型。例如,识别的动态手势为向左挥手、向右挥手、手掌前压、摆手等。
一些可能的实施方式中,执行与多个帧图像中存在的手势对应的操作指令,可以根据手势的动态类型匹配相应的操作指令。例如,向左挥手可以是向左翻页,向右挥手可以是向右翻页,手掌前压可以是返回桌面,摆手可以是锁屏。
在本申请中,通过两组差分数据的输入可以使第二模型可以兼顾动态手势的速度快慢,使得第二模型能够更准确的识别动态手势,提升识别的准确度。
应理解,上述举例说明是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。
本领域技术人员根据所给出的上述举例说明,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
对应于上文实施例提供的隔空手势识别方法,图7是本申请实施例提供的一种隔空手势识别装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,提供了一种隔空手势识别装置,应用于电子设备,包括:
识别模块71,用于根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,第一模型包括至少一个剪枝后的卷积层,在第一个卷积层后包括两个深度可分离卷积块,卷积层和深度可分离卷积块用于提取帧图像中的图像特征。
唤醒模块72,用于当在多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行第一模型时电子设备的功耗小于运行第二模型时电子设备的功耗。
执行模块73,用于通过第二模型对多个帧图像进行手势识别,执行与多个帧图像中存在的手势对应的操作指令。
一些可能的实施方式中,第一手势为隔空手势的起始手势。
当在多个帧图像中识别到第一手势时,唤醒模块72,具体用于当在多个帧图像中识别到包含手部特征的帧图像时,对帧图像之后获取的帧图像进行识别。当在帧图像之后获取的帧图像中,连续n帧均识别到起手手势时,唤醒第二模型,n为大于或等于1的整数。
一些可能的实施方式中,执行模块73,具体用于识别每个帧图像中的手检测框,获取手检测框中的手势图像对应的静态手势类型。根据静态手势类型匹配对应的操作指令并执行。
一些可能的实施方式中,执行模块73,具体用于识别每个帧图像中的手检测框。获取手检测框对应的区域的手势图像中的手关键点以及每个手关键点在图像中的位置信息。根据手关键点在图像中的位置信息、多个帧图像中手关键点位置信息的差分数据,获取多个帧图像中的动态手势类型。根据动态手势类型匹配对应的操作指令并执行。
一些可能的实施方式中,执行模块73,具体用于获取时序相邻的两帧之间手关键点位置信息的差分数据。将手关键点在图像中的位置信息和差分数据输入预先训练好的手势分类模块,获取多个帧图像中的动态手势类型。
一些可能的实施方式中,还包括储存模块74,用于将手关键点以及每个手关键点在图像中的位置信息,按照时序顺序更新关键点存储表,关键点存储表按照时序存储了多个帧图像中的手关键点以及每个手关键点在图像中的位置信息。
执行模块73,具体用于根据关键点存储表中相邻时序的两个帧图像对应的手关键点以及手关键点在图像中的位置信息,获取时序相邻的两帧之间手关键点位置信息的差分数据。
一些可能的实施方式中,第一模型中,每个卷积块的通道数为32的整数倍,且在深度卷积后不包括激活函数。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的模块,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解,本申请实施例中的硬件***以及芯片可以执行前述本申请实施例的各种进入长待机模式的方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
本申请实施例还提供另一种电子设备,包括处理器和存储器。
存储器,用于存储可在处理器上运行的计算机程序。
处理器,用于执行如上述所述的进入长待机模式的方法中进行处理的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令;当所述计算机可读存储介质在电子设备上运行时,使得该电子设备执行如前述所示的方法。
所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。
所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种包含计算机指令的计算机程序产品,当其在电子设备上运行时,使得电子设备可以执行前述所示的技术方案。
图8是本申请实施例提供的一种芯片的结构示意图。图8所示的芯片可以为通用处理器,也可以为专用处理器。该芯片包括处理器801。其中,处理器801用于支持电子设备执行前述所示的技术方案。
可选的,该芯片还包括收发器802,收发器802用于接受处理器801的控制,用于支持通信装置执行前述所示的技术方案。
可选的,图8所示的芯片还可以包括:存储介质803。
需要说明的是,图8所示的芯片可以使用下述电路或者器件来实现:一个或多个现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其他适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合。
上述本申请实施例提供的电子设备、计算机存储介质、计算机程序产品、芯片均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法对应的有益效果,在此不再赘述。
应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化。
例如,上述方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,本申请实施例中,“预先设定”、“预先定义”可以通过在设备(例如,包括电子设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种隔空手势识别方法,其特征在于,应用于电子设备,所述方法包括:
根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,所述第一模型包括至少一个剪枝后的卷积层,在第一个所述卷积层后包括两个深度可分离卷积块,所述卷积层和所述深度可分离卷积块用于提取所述帧图像中的图像特征;
当在所述多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行所述第一模型时电子设备的功耗小于运行所述第二模型时电子设备的功耗;
通过第二模型对所述多个帧图像进行手势识别,执行与所述多个帧图像中存在的手势对应的操作指令。
2.根据权利要求1所述的方法,其特征在于,第一手势为隔空手势的起始手势;
所述当在所述多个帧图像中识别到第一手势时,唤醒第二模型,包括:
当在所述多个帧图像中识别到包含手部特征的帧图像时,对所述帧图像之后获取的帧图像进行识别;
当在所述帧图像之后获取的帧图像中,连续n帧均识别到所述起手手势时,唤醒第二模型,n为大于或等于1的整数。
3.根据权利要求1或2所述的方法,其特征在于,所述通过第二模型对所述多个帧图像进行手势识别,执行与所述多个帧图像中存在的手势对应的操作指令,包括:
识别每个帧图像中的手检测框,获取所述手检测框中的手势图像对应的静态手势类型;
根据所述静态手势类型匹配对应的操作指令并执行。
4.根据权利要求1或2所述的方法,其特征在于,所述通过第二模型对所述多个帧图像进行手势识别,得到与所述多个帧图像中存在的手势对应的操作指令,包括:
识别每个帧图像中的手检测框;
获取所述手检测框对应的区域的手势图像中的手关键点以及每个所述手关键点在所述图像中的位置信息;
根据所述手关键点在所述图像中的位置信息、所述多个帧图像中手关键点位置信息的差分数据,获取所述多个帧图像中的动态手势类型;
根据所述动态手势类型匹配对应的操作指令并执行。
5.根据权利要求4所述的方法,其特征在于,所述根据所述手关键点在所述图像中的位置信息、所述多个帧图像中手关键点位置信息的差分数据,获取所述多个帧图像中的动态手势类型,包括:
获取时序相邻的两帧之间手关键点位置信息的差分数据;
将所述手关键点在所述图像中的位置信息和所述差分数据输入预先训练好的手势分类模块,获取所述多个帧图像中的动态手势类型。
6.根据权利要求5所述的方法,其特征在于,在获取所述手检测框对应的区域的手势图像中的手关键点以及每个所述关手键点在所述图像中的位置信息之后,所述方法还包括:
将所述手关键点以及每个所述手关键点在所述图像中的位置信息,按照时序顺序更新关键点存储表,所述关键点存储表按照时序存储了所述多个帧图像中的手关键点以及每个所述手关键点在所述图像中的位置信息;
所述获取时序相邻的两帧之间手关键点位置信息的差分数据,包括:
根据所述关键点存储表中相邻时序的两个帧图像对应的手关键点以及所述手关键点在所述图像中的位置信息,获取时序相邻的两帧之间手关键点位置信息的差分数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一模型中,每个所述卷积块的通道数为32的整数倍,且在深度卷积后不包括激活函数。
8.一种隔空手势识别装置,其特征在于,应用于电子设备,包括:
识别模块,用于根据第一模型,在连续接收到的多个帧图像中识别第一手势,其中,所述第一模型包括至少一个剪枝后的卷积层,在第一个所述卷积层后包括两个深度可分离卷积块,所述卷积层和所述深度可分离卷积块用于提取所述帧图像中的图像特征;
唤醒模块,用于当在所述多个帧图像中识别到第一手势时,唤醒第二模型,其中,运行所述第一模型时电子设备的功耗小于运行所述第二模型时电子设备的功耗;
执行模块,用于通过第二模型对所述多个帧图像进行手势识别,执行与所述多个帧图像中存在的手势对应的操作指令。
9.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,所述处理器执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310949105.0A CN117711014A (zh) | 2023-07-28 | 2023-07-28 | 隔空手势识别方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310949105.0A CN117711014A (zh) | 2023-07-28 | 2023-07-28 | 隔空手势识别方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117711014A true CN117711014A (zh) | 2024-03-15 |
Family
ID=90152180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310949105.0A Pending CN117711014A (zh) | 2023-07-28 | 2023-07-28 | 隔空手势识别方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117711014A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109782906A (zh) * | 2018-12-28 | 2019-05-21 | 深圳云天励飞技术有限公司 | 一种广告机的手势识别方法、交互方法、装置和电子设备 |
CN111062311A (zh) * | 2019-12-13 | 2020-04-24 | 东南大学 | 一种基于深度级可分离卷积网络的行人手势识别与交互方法 |
WO2021179898A1 (zh) * | 2020-03-11 | 2021-09-16 | 深圳市商汤科技有限公司 | 动作识别方法及装置、电子设备、计算机可读存储介质 |
CN114463839A (zh) * | 2021-12-30 | 2022-05-10 | 浙江大华技术股份有限公司 | 一种手势识别的方法、装置、电子装置和存储介质 |
CN116301363A (zh) * | 2023-02-27 | 2023-06-23 | 荣耀终端有限公司 | 隔空手势识别方法、电子设备及存储介质 |
CN116339488A (zh) * | 2021-12-24 | 2023-06-27 | Oppo广东移动通信有限公司 | 数据识别方法及装置、存储介质及电子设备 |
-
2023
- 2023-07-28 CN CN202310949105.0A patent/CN117711014A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109782906A (zh) * | 2018-12-28 | 2019-05-21 | 深圳云天励飞技术有限公司 | 一种广告机的手势识别方法、交互方法、装置和电子设备 |
CN111062311A (zh) * | 2019-12-13 | 2020-04-24 | 东南大学 | 一种基于深度级可分离卷积网络的行人手势识别与交互方法 |
WO2021179898A1 (zh) * | 2020-03-11 | 2021-09-16 | 深圳市商汤科技有限公司 | 动作识别方法及装置、电子设备、计算机可读存储介质 |
CN116339488A (zh) * | 2021-12-24 | 2023-06-27 | Oppo广东移动通信有限公司 | 数据识别方法及装置、存储介质及电子设备 |
CN114463839A (zh) * | 2021-12-30 | 2022-05-10 | 浙江大华技术股份有限公司 | 一种手势识别的方法、装置、电子装置和存储介质 |
CN116301363A (zh) * | 2023-02-27 | 2023-06-23 | 荣耀终端有限公司 | 隔空手势识别方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114650363B (zh) | 一种图像显示的方法及电子设备 | |
CN113641271B (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN113573390B (zh) | 天线功率调节方法、终端设备及存储介质 | |
CN112204532A (zh) | 一种终端对ai任务支持能力的评测方法及终端 | |
CN116070035B (zh) | 数据处理方法和电子设备 | |
CN117234398B (zh) | 一种屏幕亮度调节方法及电子设备 | |
CN115437601B (zh) | 图像排序方法、电子设备、程序产品及介质 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN113380240B (zh) | 语音交互方法和电子设备 | |
CN117009005A (zh) | 一种显示方法、汽车和电子设备 | |
CN117711014A (zh) | 隔空手势识别方法、装置、电子设备及可读存储介质 | |
CN117133311B (zh) | 音频场景识别方法及电子设备 | |
CN115792431B (zh) | 一种异常位置检测方法和电子设备 | |
CN114006976B (zh) | 一种界面显示方法及终端设备 | |
CN117273687B (zh) | 一种打卡推荐方法及电子设备 | |
CN114817521B (zh) | 搜索方法和电子设备 | |
CN113986406B (zh) | 生成涂鸦图案的方法、装置、电子设备及存储介质 | |
CN116087930B (zh) | 音频测距方法、设备、存储介质和程序产品 | |
CN114205318B (zh) | 头像显示方法及电子设备 | |
CN117635466B (zh) | 图像增强方法、装置、电子设备及可读存储介质 | |
CN114942741B (zh) | 数据传输方法及电子设备 | |
CN117714859A (zh) | 离焦量获取方法、装置、电子设备及可读存储介质 | |
CN117131380A (zh) | 匹配度计算方法及电子设备 | |
CN116366785A (zh) | 视频生成***、方法及相关装置 | |
CN116028966A (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 |