掌桥专利:专业的专利平台
掌桥专利
首页

手方向的检测方法、电子设备及可读介质

文献发布时间:2024-04-18 19:58:21


手方向的检测方法、电子设备及可读介质

技术领域

本申请涉及电子设备技术领域,尤其涉及一种手方向的检测方法、电子设备、计算机程序产品及计算机可读存储介质。

背景技术

目前,电子设备可以支持非接触式的隔空手势交互技术。隔空手势交互技术可以在用户与电子设备不方便接触的使用场景下,进行人机交互,提高用户的使用体验。

现亟需一种方案,能够支持电子设备响应用户输入的人机交互的起始手势,并可输出反馈信息,以提醒用户可输入隔空手势以进行人机交互。

发明内容

本申请提供了一种手方向的检测方法、电子设备、计算机程序产品及计算机可读存储介质,目的在于实现电子设备检测到用户输入人机交互的起始手势之后输出反馈信息,以提醒用户可输入隔空手势以进行人机交互。

为了实现上述目的,本申请提供了以下技术方案:

第一方面,本申请提供了一种应用于电子设备的手方向的检测方法,该电子设备包括显示屏和摄像头,手方向的检测方法包括:在电子设备的显示屏处于亮屏状态的应用场景中,获取电子设备的摄像头拍摄的图像,计算图像中的手的手指方向和水平方向的夹角;若判断出图像中的手的手指方向和水平方向的夹角,满足手指朝向第一方向的条件,在显示屏显示手指朝向第一方向的手型图标;若判断出图像中的手的手指方向和水平方向的夹角满足手指朝向第二方向的条件,在显示屏显示手指朝向第二方向的手型图标。其中:第二方向通常为第一方向的反方向,例如,第一方向为朝上方向,则第二方向为朝下方向。

由上述内容可以看出:电子设备的显示屏亮屏,摄像头被触发摄像图像,获取摄像头拍摄的图像,若该图像包括人手,则能够计算出图像中人手的手指方向和水平方向的夹角,进而确定用户输入人机交互的起始手势。之后,电子设备判断图像中的手的手指方向和水平方向的夹角,满足手指朝向第一方向的条件,在显示屏显示手指朝向第一方向的手型图标;判断出图像中的手的手指方向和水平方向的夹角满足手指朝向第二方向的条件,在显示屏显示手指朝向第二方向的手型图标,以在显示屏上显示手型图标的方式提醒用户起始手势已输入完成,可输入隔空手势进行人机交互。

进一步的,若第一方向为朝上方向,第二方向为朝下方向,在显示屏上显示手指朝上的手型图标,可以提醒用户隔空手势的起始手势已经输入完成,可输入下滑或抓握等隔空手势。在显示屏上显示手指朝下的手型图标,可以提醒用户隔空手势的起始手势也已经输入完成,可输入上滑等隔空手势。用户还可根据显示屏上显示的手型图标,检验自己输入的起始手势是否正确。

在显示屏上显示手指朝上的手型图标,意味着电子设备预测出用户要输入下滑或抓握等隔空手势,电子设备可在显示屏显示手指朝上的手型图标的过程中,调用响应下滑或抓握等隔空手势的软件流程,提高电子设备的响应速度。同理,在显示屏上显示手指朝下的手型图标,意味着电子设备预测出用户要输入上滑等隔空手势,电子设备可在显示屏显示手指朝下的手型图标的过程中,调用响应上滑等隔空手势的软件流程,提高电子设备的响应速度。

在一个可能的实施方式中,获取电子设备的摄像头拍摄的图像之后,还包括:检测图像中的手为手掌和手背类型。

在上述可能的实施方式中,电子设备获取摄像头拍摄的图像之后,检测该图像中的手为手掌和手背类型,说明用户的意图是通过隔空手势操作电子设备,电子设备再对图像进行图像中的手的手指方向和水平方向的夹角,实现了对用户的意图为通过隔空手势操作电子设备的预测结果的校验。

在一个可能的实施方式中,获取电子设备的摄像头拍摄的图像之后,还包括:从图像中裁剪出手部区域图像;检测得到手部区域图像的手部关键点的坐标;计算图像中的手的手指和水平方向的夹角,包括:利用手部关键点的坐标,计算得到手的手指方向向量和水平方向的夹角。

在一个可能的实施方式中,利用手部关键点的坐标,计算得到手的手指方向向量和水平方向的夹角,包括:计算手部关键点的坐标中的手的指根坐标指向指尖坐标的向量,得到图像中的手的手指方向向量;计算图像中的手的手指方向向量和水平方向的夹角。

在本可能的实施方式中,手部关键点包括手指的指根和指尖,手指的指根指向指尖的向量可反映出手指的方向,因此,利用手部关键点的坐标中的手的指根坐标和指尖坐标,可以计算得到图像中的手的手指方向向量。

在一个可能的实施方式中,计算手部关键点的坐标中的手的指根坐标指向指尖坐标的向量,得到图像中的手的手指方向向量,包括:利用手部关键点的坐标中的多个手指的指根坐标,计算得到图像中的多个手指的指根平均坐标,以及利用手部关键点的坐标中的多个手指的指尖坐标,计算得到图像中的多个手指的指尖平均坐标,多个手指至少包括中指;计算多个手指的指根平均坐标指向多个手指的指尖平均坐标的向量,得到图像中的手的手指方向向量。

在本可能的实施方式中,中指的手指方向通常和手指的整体方向相同,但在一些特定手型中,手指整体朝上,但中指朝向其他方向,为了避免仅用中指的指根坐标指向指尖坐标计算得到的手指方向向量不够准确,先利用手部关键点的坐标中的多个手指的指根坐标,计算得到图像中的多个手指的指根平均坐标,以及利用手部关键点的坐标中的多个手指的指尖坐标,计算得到图像中的多个手指的指尖平均坐标,再计算多个手指的指根平均坐标指向多个手指的指尖平均坐标的向量,得到图像中的手的手指方向向量。

在一个可能的实施方式中,利用手部关键点的坐标,计算得到手的手指方向向量和水平方向的夹角,包括:利用手部关键点的坐标中的多个手指的指根坐标和指尖坐标,计算图像中的手的多个手指的手指方向向量,多个手指的手指方向向量至少包括中指的手指方向向量;计算多个手指的手指方向向量和水平方向的夹角,得到多个夹角;计算多个夹角的平均,得到图像中的手的手指方向和水平方向的夹角。

在本可能的实施方式中,为了避免仅用中指的指根坐标指向指尖坐标计算得到的手指方向向量不够准确,利用手部关键点的坐标中的多个手指的指根坐标和指尖坐标,计算图像中的手的多个手指的手指方向向量,计算多个手指的手指方向向量和水平方向的夹角,得到多个夹角;计算多个夹角的平均,得到图像中的手的手指方向和水平方向的夹角。

在一个可能的实施方式中,判断图像中的手的手指方向和水平方向的夹角,满足手指朝向第一方向的条件的方式,包括:判断图像中的手的手指方向和水平方向的夹角,位于手指朝上对应的夹角范围内。

在一个可能的实施方式中,若判断出图像中的手的手指方向和水平方向的夹角,满足手指朝向第一方向的条件之前,还包括:判断图像中的手的手指方向和水平方向的夹角,不满足手指朝向第三方向条件。

在本可能的实施方式中,第三方向为其他方向,例如,第一方向为朝上方向,第二方向为朝下方向,第三方向则可指代朝左或者朝右,或者既指代朝左方向,又指代朝右方向。基于此,判断出图像中的手的手指方向和水平方向的夹角,满足手指朝向第一方向的条件之前,先判断图像中的手的手指方向和水平方向的夹角,不满足手指朝向第三方向条件,可以避免将图像中的手的手指方向和水平方向的夹角满足第三方向的条件,而误判为满足第一方向的条件导致在显示屏上显示手型图标。

在一个可能的实施方式中,判断图像中的手的手指方向和水平方向的夹角,不满足手指朝向第三方向条件,包括:判断图像中的手的手指方向和水平方向的夹角,不位于手指朝左和朝右对应的夹角范围内。

在一个可能的实施方式中,若判断出图像中的手的手指方向和水平方向的夹角满足手指朝向第二方向的条件,在显示屏显示手指朝向第二方向的手型图标,包括:若判断出图像中的手的手指方向和水平方向的夹角不满足手指朝向第一方向的条件,在显示屏显示手指朝向第二方向的手型图标。

第二方面,本申请提供了一种电子设备,包括:一个或多个处理器、存储器和显示屏;存储器和显示屏与一个或多个处理器耦合,存储器用于存储计算机程序,计算机程序包括计算机指令,当一个或多个处理器执行计算机指令时,电子设备执行第一方面中任意一项所述的手方向的检测方法。

第三方面,本申请提供了一种计算机可读存储介质,用于存储计算机程序,计算机程序被执行时,具体用于实现如第一方面中任意一项所述的手方向的检测方法。

第四方面,本申请提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面中任意一项所述的手方向的检测方法。

附图说明

图1为本申请实施例提供的一种手方向的检测方法的应用场景图;

图2为本申请实施例提供的另一种手方向的检测方法的应用场景图;

图3为本申请实施例提供的电子设备的硬件结构图;

图4为本申请实施例提供的电子设备的软件框架图;

图5为本申请实施例提供的一种手方向的检测方法的信令图;

图6为本申请实施例提供的人手的21个手部关键点的展示图;

图7为本申请实施例提供的指根的平均坐标指向指尖的平均坐标的向量和水平方向的夹角的展示图;

图8为本申请实施例提供的另一种手方向的检测方法的信令图;

图9为本申请实施例提供的多个手指的方向向量和水平方向的夹角的展示图;

图10为本申请实施例提供的手方向的检测方法的流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。

在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

目前,电子设备可以支持非接触式的隔空手势交互技术。隔空手势交互技术可以在用户与电子设备不方便接触的使用场景下,进行人机交互,提高用户的使用体验。并且,用户采用隔空手势与电子设备进行人机交互之前,用户可通过输入起始手势来触发电子设备准备与用户进行隔空手势的人机交互。对应的,在用户输入起始手势之后,电子设备还可输出反馈信息,以提示用户起始手势已完成,可以做隔空手势进行人机交互操作。

电子设备以手机为例,图1和图2分别展示了手机提示用户可以做隔空手势的两种方式。手机的显示屏亮屏且解锁之后,用户的手位于手机的前置摄像头的视角FOV内,视角FOV指代前置摄像头的镜头所能覆盖的范围,手机的显示屏可显示手的图标,以提示用户可做隔空手势与手机进行人机交互。

图1中的(a)展示的示例中,手机的显示屏显示设置界面,用户如图1中的(b)所示,手的手指朝上、手心面对显示屏,手距离手机20cm-40cm范围内、处于手机的前置摄像头的视角FOV内,手机在设置界面上显示小手图标101,小手图标101的手指也属于朝上方向。

图2中的(a)展示的示例中,手机的显示屏也显示设置界面,用户如图2中的(b)所示,手的手指朝下、手背面对显示屏,手距离手机20cm-40cm范围内、处于手机的前置摄像头的视角FOV内,手机在设置界面上显示小手图标102,小手图标102的手指属于朝下方向。

用户查看到手机的显示屏显示图1中的(b)展示的小手图标101,或者显示图2中的(b)展示的小手图标102之后,可做隔空手势跟手机进行人机交互,操控手机。

需要说明的是,本申请提出的手指朝上是指手指朝向手机等电子设备的顶端,可以理解成手指的指尖靠近设备的顶端,顶端通常设置有摄像头,手指朝下是指手指朝向手机等电子设备的底部,可以理解成手指的指尖靠近设备的底部。

图1中的(b)和图2中的(b)展示的小手图标,也可以称为手型图标,其样式是一种示例性的样式,并不构成对在显示屏上显示小手图标的限定。可以理解的是,手指朝上面对手机的显示屏,手机的显示屏显示手指朝上的小手图标,手指朝下面对手机的显示屏,手机的显示屏显示手指朝下的小手图标。

触发手机等电子设备在显示屏显示图1中的(b)展示的小手图标101的用户的手型,也不受限于图1中的(b)展示的手型。用户的手的手型可以是:手指朝上,手指部分或全部张开,或者五指并拢;用户的手的手心可面对显示屏,也可手背面对显示屏。仅需保证用户的手的手型满足:手采用大部分手指朝上的方式面对显示屏,且手处于手机的前置摄像头的视角FOV内的要求。

触发手机等电子设备在显示屏显示图2中的(b)展示的小手图标102的用户的手型,也不受限于图2中的(b)展示的手型。用户的手的手型可以是:手指朝下,手指部分或全部张开,或者五指并拢;用户的手的手心可面对显示屏,也可手背面对显示屏。仅需保证用户的手的手型满足:手采用大部分手指朝下的方式面对显示屏,且手处于手机的前置摄像头的视角FOV内的要求。

为实现图1和图2展示的在显示屏上显示小手图标以提示用户可以做隔空手势,本申请实施例提供了一种手方向的检测方法。本申请实施例提供的手方向的检测方法可以适用于手机,平板电脑,个人数字助理(Personal Digital Assistant,PDA),桌面型、膝上型、笔记本电脑,超级移动个人计算机(Ultra-mobile Personal Computer,UMPC),手持计算机,上网本以及可穿戴设备等电子设备,本申请对上述电子设备的具体形式不做特殊限制。

以手机为例,图3为本申请实施例提供的一种电子设备的组成示例。如图3所示,电子设备300可以包括处理器310、内部存储器320、传感器模块330、移动通信模块340、无线通信模块350、显示屏360以及音频模块370等。

可以理解的是,本实施例示意的结构并不构成对电子设备300的具体限定。在另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,智能传感集线器(sensorhub)和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。

内部存储器320可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器310通过运行存储在内部存储器320的指令,从而执行电子设备300的各种功能应用以及数据处理。内部存储器320可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器310通过运行存储在内部存储器320的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备300的各种功能应用以及数据处理。

一些实施例中,内部存储器320存储的是用于执行检测手方向的指令。处理器310可以通过执行存储在内部存储器320中的指令,实现控制电子设备检测到手处于前置摄像头的视角FOV内,显示小手图标。

电子设备通过GPU,显示屏360,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏360和应用处理器。GPU通过执行数学和几何计算,用于图像渲染。处理器310可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏360用于显示图像,视频界面等。显示屏360包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dotlight emitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏360,N为大于1的正整数。

电子设备300的无线通信功能可以通过天线1,天线2,移动通信模块340,无线通信模块350,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。电子设备300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块340可以提供应用在电子设备300上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块340可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块340可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块340还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块340的至少部分功能模块可以被设置于处理器310中。在一些实施例中,移动通信模块340的至少部分功能模块可以与处理器310的至少部分模块被设置在同一个器件中。

无线通信模块350可以提供应用在电子设备300上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块350可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块350经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块350还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

传感器模块330中,压力传感器330A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器330A可以设置于显示屏360。压力传感器330A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器330A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏360,电子设备根据压力传感器330A检测触摸操作强度。电子设备也可以根据压力传感器330A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。

触摸传感器330B,也称“触控器件”。触摸传感器330B可以设置于显示屏360,由触摸传感器330B与显示屏360组成触摸屏,也称“触控屏”。触摸传感器330B用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏360提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器330B也可以设置于电子设备的表面,与显示屏360所处的位置不同。

电子设备300可以通过音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块370用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块370还可以用于对音频信号编码和解码。在一些实施例中,音频模块370可以设置于处理器310中,或将音频模块370的部分功能模块设置于处理器310中。

扬声器370A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器370A收听音乐,或收听免提通话。

受话器370B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器330B靠近人耳接听语音。

麦克风370C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风370C发声,将声音信号输入到麦克风370C。电子设备可以设置至少一个麦克风370C。在另一些实施例中,电子设备可以设置两个麦克风370C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风370C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。

耳机接口370D用于连接有线耳机。耳机接口330D可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。

另外,在上述部件之上,电子设备运行有操作系统。例如

图4为本申请实施例提供的电子设备的软件结构示意图。

分层架构将电子设备的操作系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,电子设备的操作系统为Android系统。Android系统,从上至下分别为应用程序(application,APP)层、应用程序框架层(简称为FWK)、系统库、内核层以及硬件层。

应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括图库、地图、日历、通话、相机以及系统用户界面(SystemUI)等应用程序。

SystemUI为系统级应用。一些实施例中,SystemUI可用于绘制图1中(b)展示的小手图标101或图2中(b)展示的小手图标102,并控制在显示屏上显示小手图标101或小手图标102。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图4所示,应用程序框架层可以包括窗口管理服务(WindowManagerService,WMS),活动管理服务(ActivityManagerService,AMS),内容提供器,电话管理器以及资源管理器等。

窗口管理服务用于管理窗口程序。窗口管理服务可以实现窗口的添加、删除、显示和隐藏控制等。

活动管理服务用于管理活动(Activity)行为、控制Activity的生命周期、派发消息时间以及内存管理等功能。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。在本申请一些实施例中,应用冷启动会在Android runtime中运行,Android runtime由此获取到应用的优化文件状态参数,进而Android runtime可以通过优化文件状态参数判断优化文件是否因系统升级而导致过时,并将判断结果返回给应用管控模块。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surface manager)、媒体库(Media Libraries)、三维图形处理库(例如:OpenGL ES)以及二维图形引擎(例如:SGL)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

三维图形处理库用于实现三维图形绘图,图像渲染、合成和图层处理等。

二维图形引擎是2D绘图的绘图引擎。

硬件抽象层(HAL)是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。

一些实施例中,硬件抽象层可以包括图像处理模块,该图像处理模块用于对摄像头拍摄的图像进行类型识别以及手方向识别,并得到识别结果。图像处理模块的具体工作方式可参见下述内容。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,传感器驱动,摄像头驱动等。一些实施例中,显示驱动用于控制显示屏显示图像;传感器驱动用于控制多个传感器运行,如控制压力传感器和触摸传感器运行。摄像头驱动用于驱动摄像头运行。

在上述五层架构之下,电子设备还设置有硬件层,硬件层可包括前述提出的电子设备硬件部件。示例性的,图4展示了显示屏和摄像头。

需要说明的是,本申请实施例虽然以

以下以手机为例,对手机等电子设备检测到手位于手机的前置摄像头的视角FOV内,手机的显示屏可显示手的图标,以提示用户可做隔空手势与手机进行人机交互进行介绍。

图5展示了本申请实施例提供的一种手方向的检测方法的信令图。

如图5所示,本申请实施例提供的手方向的检测方法,包括:

S501、摄像头拍摄第一图像。

手机的显示屏亮屏且解锁之后,手机的摄像头被触发启动拍摄图像。一些实施例中,手机的摄像头可间隔一定时长拍摄图像,间隔的时长可被设定。

手机的摄像头拍摄的一张图像可称为第一图像。手机的摄像头通常指代手机的前置摄像头,当然,本申请方案也不限制于前置摄像头。

一些实施例中,手机的显示屏亮屏且处于锁屏界面,手机的摄像头也可被触发启动拍摄图像。

S502、图像处理模块获取摄像头拍摄的第一图像。

图像处理模块设置于硬件抽象层,图像处理模块和摄像头设置有数据传输通道。摄像头拍摄第一图像之后,图像处理模块通过数据传输通道获取摄像头拍摄的第一图像。

S503、图像处理模块检测第一图像中手是否为手掌和手背类型。

图像处理模块获取到第一图像之后,对第一图像进行手检测,检测第一图像中的手的类型。手的类型通常可包括:手掌和手背类型,握拳类型,其他手势类型以及背景类型。手掌和手背类型是指第一图像包括手的部分或全部的手背或手掌;握拳类型是指第一图像包括手的手型为握拳形状;背景类型则指代第一图像不包括手,其他手势类型指代第一图像包括手,但手不是握拳形状,且不是展示手掌或手背的形状。

一些实施例中,图像处理模块调用手类型的检测模型对第一图像进行手检测,得到多种手的类型的置信度,最高置信度的手的类型则为第一图像中手的类别。

手类型的检测模型通常可采用包括手的样本图像对卷积神经网络进行训练得到,本申请不具体对卷积神经网络的训练过程进行详细介绍,可参见常规技术。

图像处理模块检测第一图像中手不为手掌和手背类型,可执行下述步骤S504。图像处理模块检测第一图像中手为手掌和手背类型,可执行下述步骤S505至S513。

一些实施例中,图像处理模块对第一图像进行手检测的过程中,还可得到的第一图像中的手的位置信息以及置信度;手的位置信息用于指示第一图像中的手的包围框,可称为手部检测框,置信度用于指示手的位置信息的可信度,置信度越高,则说明手的位置信息的可行度越高。一些实施例中,手的位置信息可为手部检测框的矩阵四顶点的坐标信息。

S504、图像处理模块向SystemUI发送第一消息,第一消息指示第一图像中手的方向不明确。

SystemUI为应用程序层的系统应用,图像处理模块利用步骤S503检测出第一图像中的手不是手掌和手背类型,图像处理模块可采用透传的方式将第一消息发送到应用程序框架层的模块,应用程序框架层的模块采用接口回调的方式,将第一消息向SystemUI发送第一消息,该第一消息可指示第一图像中手的方向不明确,即第一图像中手朝向UNKNOW。SystemUI接收到第一消息,通常不执行操作。

图像处理模块利用步骤S503检测出第一图像中的手不是手掌和手背类型,说明摄像头拍摄的第一图像未包括手,或者第一图像中的手属于握拳手势或其他手势,可推测出用户的意图不是通过隔空手势操作手机,可避免手机执行下述步骤S505至S513,在用户不需通过隔空手势操作手机时,在显示屏上显示小手图标提醒用户输入隔空手势,对用户造成困扰,且节省功耗。

一些实施例中,图像处理模块向SystemUI发送的第一消息也可以指示第一图像中的手朝向左或朝向右。SystemUI在显示屏上显示手指朝向左或右的小手图标。

S505、图像处理模块从第一图像裁剪得到手部区域图像。

图像处理模块利用步骤S503检测出第一图像中的手是手掌和手背类型,说明用户的意图是通过隔空手势操作手机,图像处理模块可通过对手部区域图像进一步识别,以校验预测用户的意图为通过隔空手势操作手机是否正确。

一些实施例中,图像处理模块对第一图像进行手检测,得到手部检测框。图像处理模块可从第一图像中裁剪手部检测框,得到手部区域图像。

S506、图像处理模块检测得到手部区域图像中的手部关键点的坐标。

手部关键点可以位于不同手指的一个或多个手指关节处、指尖处、手指与手掌连接位置处以及手腕处,通常可包括多根手指的指尖、关节点和指根,还可包括手腕中心点。

示例性的,人手的手部关键点可为21个,图6展示了人手的21个手部关键点。

如图6所示,人手的21个手部关键点包括:手腕中心点0,五根手指的指根1、5、9、13和17,五根手指的指尖4、8、12、16和19,五根手指的关节点2、3、6、7、10、11、14、15、18和19。本步骤检测得到手部区域图像中的手部关键点的坐标,可以理解成:图像处理模块得到以图6展示的xy坐标系下的每个手部关键点的坐标值。

本申请实施例以图像处理模块检测得到21个手部关键点的坐标为例进行介绍,但不限制图像处理模块仅能检测得到21个手部关键点的坐标。一些实施例中,图像处理模块可得到包括多根手指的指尖和指根的手部关键点,示例性的,手部关键点包括指根1、5、9、13和17,以及指尖4、8、12、16和19。

一些实施例中,图像处理模块调用预先训练好的关键点检测模型识别手部区域图像,得到手部区域图像中的手部关键点的坐标。一些实施例中,关键点检测模型可以采用深度神经网络模型,示例性的,可以采用例如ResNet网络结构、MobileNet网络结构、NASNet网络结构等深度神经网络模型。

S507、图像处理模块利用关键点的坐标,计算得到第一向量,第一向量为指根的平均坐标和指尖的平均坐标的向量。

人手的食指方向、中指方向和无名指方向能反映的手指的走向,通常与人手的手指的整体走向相同,如此,图像处理模块可计算人手的食指方向、中指方向和无名指方向能反映的手指的走向。

一些实施例中,图像处理模块从手部关键点的坐标中得到食指、中指和无名指的指根和指尖的坐标。如图7所示,图像处理模块计算食指的指根5、中指的指根9和无名指的指根13的平均坐标P

图像处理模块计算出第一向量之后,还可计算第一向量和水平方向x轴的夹角θ。

在一些情况下,手的中指方向也与人手的手指的整体走向相同,因此,图像处理模块可计算中指的方向。一些实施例中,图像处理模块利用中指的指根9的坐标和指尖12的坐标,计算中指的指根9指向指尖12的向量,该向量也称为第一向量。

一些实施例中,图像处理模块也可计算食指的指根5和中指的指根9的平均坐标,并计算食指的指尖8和中指的指尖12的平均坐标,图像处理模块计算平均坐标指向平均坐标的向量为第一向量。

另一些实施例中,图像处理模块也可计算中指的指根9和无名指的指根13的平均坐标,并计算中指的指尖12和无名指的指尖16的平均坐标,图像处理模块计算平均坐标指向平均坐标的向量为第一向量。

用户输入起始手势,可能会输入中指朝下,其他全部或部分手指朝上的手型,因此,图像处理模块计算中指的指根9指向指尖12的向量为第一向量,会存在手机执行下述步骤S508至步骤S513,得到第一图像中手指朝下的错误检测结果。图像处理模块计算食指、中指和无名指中的至少两个手指的指根指向指尖的向量,作为第一向量,并执行下述步骤S508至步骤S513,可以保证第一图像中的手的方向检测的准确性。

需要说明的是,前述几个实施例提出的食指、中指和无名指的指尖的坐标,可替换为食指、中指和无名指的第一个关节点的坐标,或替换为食指、中指和无名指的第二个关节点的坐标。

S508、图像处理模块判断第一向量和水平方向的夹角是否处于(-30°,30°),(-180°,-150°)或(150°,180°)范围内。

图像处理模块计算第一向量和水平方向x轴的夹角θ,图像处理模块比对夹角θ和(-30°,30°),(-180°,-150°)以及(150°,180°)三个区间,判断夹角θ是否处于(-30°,30°),

(-180°,-150°)或(150°,180°)范围内。

(-30°,30°),(-180°,-150°)以及(150°,180°)三个区间是示例性的说明,三个区间的端点可调整其他数值。图像处理模块判断第一向量和水平方向x轴的夹角θ,是否处于三个区间的范围内,可推测人手的手指是否朝向左边或者朝向右边。

因此,图像处理模块判断第一向量和水平方向的夹角是否处于(-30°,30°),(-180°,-150°)以及(150°,180°),可以理解成是:判断第一向量和水平方向x轴的夹角θ,是否处于用于指示人手的手指朝向左边或右边的角度区间的一种实施方式。

图像处理模块判断第一向量和水平方向的夹角处于(-30°,30°),(-180°,-150°)以及(150°,180°),可执行步骤S504。图像处理模块判断第一向量和水平方向的夹角不处于(-30°,30°),(-180°,-150°)以及(150°,180°),可执行下述步骤S509至S513。

图像处理模块判断第一向量和水平方向的夹角处于(-30°,30°),(-180°,-150°)以及(150°,180°),可推测人手的手指是否朝向左边或者朝向右边,进而推测用户的意图不是通过隔空手势操作手机,可避免手机执行下述步骤S510至S513,在用户不需通过隔空手势操作手机时,在显示屏上显示小手图标提醒用户输入隔空手势,对用户造成困扰,且节省功耗。

S509、图像处理模块判断第一向量和水平方向的夹角是否处于[30°,150°]范围内。

图像处理模块判断第一向量和水平方向的夹角不处于(-30°,30°),(-180°,-150°)或(150°,180°)范围内,说明第一向量和水平方向的夹角处于[30°,150°]或[-150°,-30°];其中,第一向量和水平方向的夹角处于[30°,150°],可推测人手的手指朝上,第一向量和水平方向的夹角处于[-150°,-30°],可推测人手的手指朝下。

本实施例中,图像处理模块需要明确第一向量和水平方向的夹角处于[30°,150°],还是处于[-150°,-30°],以明确人手的手指朝向。本步骤以图像处理模块判断第一向量和水平方向的夹角是否处于[30°,150°]为例进行介绍。一些实施例中,图像处理模块也可以判断第一向量和水平方向的夹角是否处于[-150°,-30°];另一些实施例中,图像处理模块也可以判断第一向量和水平方向的夹角是否处于[30°,150°]以及是否处于[-150°,-30°]。

图像处理模块判断第一向量和水平方向的夹角处于[30°,150°],可执行步骤S510和步骤S511,图像处理模块判断第一向量和水平方向的夹角不处于[30°,150°],可执行步骤S512和步骤S513。

S510、图像处理模块向SystemUI发送第二消息,第二消息指示第一图像中手为朝上方向。

图像处理模块判断出第一向量和水平方向的夹角处于[30°,150°]范围内,则可推测人手的手指朝上,图像处理模块可通过透传的方式向SystemUI发送第二消息。

S511、SystemUI在显示屏上显示手指朝上的小手图标。

SystemUI接收到第二消息,明确人手的手指朝上,则控制在手机的显示屏上显示手指朝上的小手图标,示例性的,手指朝上的小手图标可如图1中(b)中的小手图标101。

S512、图像处理模块向SystemUI发送第三消息,第三消息指示第一图像中手为朝下方向。

图像处理模块判断出第一向量和水平方向的夹角不处于[30°,150°]范围内,则可推测人手的手指朝下,图像处理模块可通过透传的方式向SystemUI发送第三消息。

S513、SystemUI在显示屏上显示手指朝下的小手图标。

SystemUI接收到第三消息,明确人手的手指朝下,则控制在手机的显示屏上显示手指朝下的小手图标,示例性的,手指朝上的小手图标可如图2中(b)中的小手图标102。

步骤S511和步骤S513中,SystemUI在显示屏当前显示的界面上显示小手图标。并且,SystemUI显示手指朝上的小手图标以及手指朝下的小手图标的实施方式,可参见常规技术,此处不再具体说明。

SystemUI接收到第二消息或第三消息,确定第一图像中手为朝上或朝下方向,才在显示屏上显示小手图标,在接收到第一消息,确定第一图像中手的方向不明确,不在显示屏上显示小手,可以避免手机通过步骤S503,误检测得到第一图像中手为手掌和手背类型之后,在显示屏上显示小手图标提醒用户输入隔空手势,对用户造成困扰,且节省功耗。

进一步的,SystemUI通过步骤S511,在显示屏上显示手指朝上的小手图标,可以提醒用户隔空手势的起始手势已经输入完成,可输入下滑或抓握等隔空手势。SystemUI通过步骤S513,在显示屏上显示手指朝下的小手图标,可以提醒用户隔空手势的起始手势也已经输入完成,可输入上滑等隔空手势。用户还可根据显示屏上显示的小手图标,检验自己输入的起始手势是否正确。

SystemUI通过步骤S511,在显示屏上显示手指朝上的小手图标,意味着手机预测出用户要输入下滑或抓握等隔空手势,手机可在显示屏显示手指朝上的小手图标的过程中,调用响应下滑或抓握等隔空手势的软件流程,提高手机的响应速度。同理,SystemUI通过步骤S513,在显示屏上显示手指朝下的小手图标,意味着手机预测出用户要输入上滑等隔空手势,手机可在显示屏显示手指朝下的小手图标的过程中,调用响应上滑等隔空手势的软件流程,提高手机的响应速度。

前述实施例提供了利用手部关键点的坐标,检测手方向的一种实施方式。利用手部关键点的坐标,检测手方向还存在其他实施方式,本申请下述实施例提供的手方向的检测方法公开了手部关键点的坐标,检测手方向的另一种实施方式。

如图8所示,本实施例提供的手方向的检测方法,包括:

S801、摄像头拍摄第一图像。

S802、图像处理模块获取摄像头拍摄的第一图像。

S803、图像处理模块检测第一图像中手是否为手掌和手背类型。

图像处理模块检测第一图像中手不为手掌和手背类型,可执行下述步骤S804。图像处理模块检测第一图像中手为手掌和手背类型,可执行下述步骤S805至S814。

S804、图像处理模块向SystemUI发送第一消息,第一消息指示第一图像中手的方向不明确。

一些实施例中,第一消息也可用于指示第一图像中的手的朝左或朝右。

S805、图像处理模块从第一图像裁剪得到手部区域图像。

S806、图像处理模块检测得到手部区域图像中的手部关键点的坐标。

步骤S801至步骤S806的具体实施方式,可参见前述实施例的步骤S501至步骤S506的内容,此处不再赘述。

S807、图像处理模块利用手部关键点的坐标,计算多个手指的方向向量。

一些实施例中,多个手指可指代人手的全部手指。图像处理模块利用关键点的坐标,计算多个手指的方向向量,可如9所示,图像处理模块计算大拇指的指根1指向指尖4的向量v1,食指的指根5指向指尖8的向量v2,中指的指根9指向指尖12的向量v3,无名指的指根13指向指尖16的向量v4,以及小拇指指根17指向指尖20的向量v5。

另一些实施例中,多个手指可指代人手的食指、中指和无名指。图像处理模块利用关键点的坐标,计算多个手指的方向向量为:图像处理模块计算食指的指根5指向指尖8的向量v2,中指的指根9指向指尖12的向量v3,以及无名指的指根13指向指尖16的向量v4。

另一些实施例中,多个手指可指代人手的中指和无名指。图像处理模块利用关键点的坐标,计算多个手指的方向向量为:图像处理模块计算中指的指根9指向指尖12的向量v3,以及无名指的指根13指向指尖16的向量v4。

另一些实施例中,多个手指可指代人手的食指和中指。图像处理模块利用关键点的坐标,计算多个手指的方向向量为:图像处理模块计算食指的指根5指向指尖8的向量v2,以及中指的指根9指向指尖12的向量v3。

另一些实施例中,多个手指仅指代人手的中指。图像处理模块利用关键点的坐标,计算多个手指的方向向量为:图像处理模块计算中指的指根9指向指尖12的向量v3。

在一些场景下,人手的中指方向,与人手的手的整体走向相同,图像处理模块计算中指的手指方向向量,利用中指的手指方向向量可确定出人手的整体方向。在一些场景下,人手的中指方向与人手的整体方向不相同,图像处理模块可计算全部手指中的至少2个手指的手指方向向量。当然,图像处理模块计算食指、中指和无名指的方向向量为最佳。

S808、图像处理模块计算多个手指的方向向量和水平方向的夹角的平均值。

一些实施例中,如图9所示,图像处理模块计算大拇指的指根1指向指尖4的向量v1和水平方向的夹角θ1,食指的指根5指向指尖8的向量v2和水平方向的夹角θ2,中指的指根9指向指尖12的向量v3和水平方向的夹角θ3,无名指的指根13指向指尖16的向量v4和水平方向的夹角θ4,以及小拇指指根17指向指尖20的向量v5和水平方向的夹角θ5。

图像处理模块计算每一根手指的向量和水平方向的夹角θ1至θ5的平均值,作为五根手指的方向向量和水平方向的夹角的平均值θ。

另一些实施例中,图像处理模块计算食指的指根5指向指尖8的向量v2和水平方向的夹角θ2,中指的指根9指向指尖12的向量v3和水平方向的夹角θ3,以及无名指的指根13指向指尖16的向量v4和水平方向的夹角θ4。

图像处理模块计算食指、中指和无名指的向量和水平方向的夹角θ2至θ4的平均值,作为多个手指的方向向量和水平方向的夹角的平均值θ。

另一些实施例中,图像处理模块计算食指的指根5指向指尖8的向量v2和水平方向的夹角θ2,以及中指的指根9指向指尖12的向量v3和水平方向的夹角θ3。

图像处理模块计算食指和中指的向量和水平方向的夹角θ2和θ3的平均值,作为多个手指的方向向量和水平方向的夹角的平均值θ。

另一些实施例中,图像处理模块计算中指的指根9指向指尖12的向量v3和水平方向的夹角θ3,以及无名指的指根13指向指尖16的向量v4和水平方向的夹角θ4。

图像处理模块计算中指和无名指的向量和水平方向的夹角θ2至θ4的平均值,作为多个手指的方向向量和水平方向的夹角的平均值θ。

在一些场景下,人手的中指也可指示人手的整体走向,图像处理模块也可计算中指的指根9指向指尖12的向量v3和水平方向的夹角θ3,将中指的指根9指向指尖12的向量v3和水平方向的夹角θ3作为多个手指的方向向量和水平方向的夹角的平均值θ。

S809、图像处理模块判断夹角的平均值是否处于(-30°,30°),(-180°,-150°)或(150°,180°)范围内。

多个手指的方向向量和水平方向的夹角的平均值θ,可指示人手的整体走向,即人手方向,图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值θ是否处于(-30°,30°),(-180°,-150°)或(150°,180°),可以推测人手是否朝向右或朝向左。

图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值θ处于(-30°,30°),(-180°,-150°)或(150°,180°),说明人手朝向左或者朝向右;图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值θ不处于(-30°,30°),(-180°,-150°)或(150°,180°),说明人手朝上或朝下。

图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值处于(-30°,30°),(-180°,-150°)或(150°,180°),可执行步骤S804。图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值不处于(-30°,30°),(-180°,-150°)或(150°,180°),可执行下述步骤S810至S814。

(-30°,30°),(-180°,-150°)以及(150°,180°)三个区间是示例性的说明,三个区间的端点可调整其他数值。图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值,是否处于三个区间的范围内,可推测人手的手指是否朝向左边或者朝向右边。

因此,图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值,是否处于(-30°,30°),(-180°,-150°)以及(150°,180°),可以理解成是:判断多个手指的方向向量和水平方向的夹角的平均值,是否处于用于指示人手的手指朝向左边或右边的角度区间的一种实施方式。

S810、图像处理模块判断夹角的平均值是否处于[30°,150°]范围内。

图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值θ是否处于[30°,150°]。多个手指的方向向量和水平方向的夹角的平均值θ,可指示人手的整体走向,即人手方向,图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值θ处于[30°,150°],可推测第一图像中的人手的手指朝上;图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值θ不处于[30°,150°],可推测第一图像中的人手的手指朝下。

图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值处于[30°,150°],可执行步骤S811和步骤S812,图像处理模块判断多个手指的方向向量和水平方向的夹角的平均值不处于[30°,150°],可执行步骤S813和步骤S814。

一些实施例中,图像处理模块也可以判断第一向量和水平方向的夹角是否处于[-150°,-30°];另一些实施例中,图像处理模块也可以判断第一向量和水平方向的夹角是否处于[30°,150°]以及是否处于[-150°,-30°]。

S811、图像处理模块向SystemUI发送第二消息,第二消息指示第一图像中手为朝上方向。

S812、SystemUI在显示屏上显示手指朝上的小手图标。

S813、图像处理模块向SystemUI发送第三消息,第三消息指示第一图像中手为朝下方向。

S814、SystemUI在显示屏上显示手指朝下的小手图标。

步骤S811至步骤S814的具体实施方式,可参见前述实施例的步骤S510至步骤S513的内容,此处不再赘述。

由前述两个实施例可以看出:为了实现用户输入起始手势触发电子设备准备与用户进行隔空手势的人机交互,本申请实施例提供的手方向的检测方法,可如图10所示,包括:

S1001、电子设备获取摄像头拍摄的图像。

电子设备亮屏之后,摄像头被启动拍摄图像,电子设备获取摄像头拍摄的图像。

S1002、电子设备检测图像中的手是否为手掌和手背类型。

电子设备检测图像中的手为手掌和手背类型,执行步骤S1003;电子设备检测图像中的手不为手掌和手背类型,则执行步骤S1004至步骤S1010。

电子设备采用人手检测算法检测摄像头拍摄的图像中的手是否为手掌和手背类型,电子设备检测摄像头拍摄的图像中的手是否为手掌和手背类型的实施方式,可参见前述实施例中步骤S503的内容,此处不再赘述。

S1003、电子设备确定图像中的人手的方向不明确。

电子设备检测图像中的手不是手掌和手背类型,可推测用户的意图不是通过隔空手势与电子设备进行人机交互,因此,电子设备可不对图像中的人手进一步进行手指方向的识别。

S1004、电子设备从图像裁剪得到人手的手部区域图像。

本步骤的具体实现方式,可参见前述实施例中步骤S505的内容,此处不再赘述。

S1005、电子设备检测得到手部区域图像中的手部关键点的坐标。

本步骤的具体实现方式,可参见前述实施例中步骤S506的内容,此处不再赘述。

S1006、电子设备利用手部关键点的坐标,计算人手的手指方向向量和水平方向的夹角。

前述实施例中的步骤S507,以及前述实施例中的步骤S807和步骤S808是电子设备执行本步骤的两种实现方式,本步骤的具体实施方式,可参见前述实施例的内容,此处不再赘述。

S1007、电子设备判断人手的手指方向向量和水平方向的夹角是否处于(-30°,30°),

(-180°,-150°)或(150°,180°)的范围内。

电子设备判断人手的手指方向向量和水平方向的夹角处于(-30°,30°),(-180°,-150°)或(150°,180°),则执行步骤S1003;电子设备判断人手的手指方向向量和水平方向的夹角是否处于(-30°,30°),(-180°,-150°)或(150°,180°),则执行步骤S1008至步骤S1010。

本步骤的具体实施方式,可参见前述实施例中步骤S508和步骤S809的内容,此处不再赘述。

S1008、电子设备判断人手的手指方向向量和水平方向的夹角是否处于[30°,150°]的范围内。

电子设备判断人手的手指方向向量和水平方向的夹角处于[30°,150°]范围内,电子设备执行步骤S1009;电子设备判断人手的手指方向向量和水平方向的夹角不处于[30°,150°]范围内,电子设备执行步骤S1010。

本步骤的具体实施方式,可参见前述实施例中步骤S509和步骤S810的内容,此处不再赘述。

S1009、电子设备在显示屏上显示手指朝上的小手图标。

电子设备判断人手的手指方向向量和水平方向的夹角处于[30°,150°]范围内,可推测摄像头拍摄的图像中人手的手指朝上,基于此,电子设备在显示屏上显示手指朝上的小手图标,示例性的,小手图标如图1中的(b)所示。

S1010、电子设备在显示屏上显示手指朝下的小手图标。

电子设备判断人手的手指方向向量和水平方向的夹角不处于[30°,150°]范围内,可推测摄像头拍摄的图像中人手的手指朝下,基于此,电子设备在显示屏上显示手指朝下的小手图标,示例性的,小手图标如图2中的(b)所示。

本申请另一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。

计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本申请另一实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。

相关技术
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 文本检测方法、装置、电子设备及计算机可读存储介质
  • 异常检测方法、装置、电子设备及可读存储介质
  • 手语信息处理方法、装置、电子设备和可读存储介质
  • 手部检测方法及机器可读存储介质
  • 元器件的方向检测方法、装置、电子设备及可读存储介质
  • 方向盘脱手检测方法、装置、可读存储介质及车辆
技术分类

06120116480140