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

手势识别方法、装置、电子设备及可读存储介质

文献发布时间:2023-06-19 11:45:49


手势识别方法、装置、电子设备及可读存储介质

技术领域

本申请涉及计算机领域,具体而言,涉及一种手势识别方法、装置、电子设备及可读存储介质。

背景技术

目前在很多应用场景中都需要对图像进行手势识别,比如,基于手势控制设备、基于手势进行人机交互等。经发明人研究发现,在这些场景中,当前都是每获得一张图像,就直接对整张图像直接进行手势识别,进而得到手势识别结果。这样可能会进行了一些不必要的手势分析,增加了手势分析的工作量,并且获得与场景不符的手势识别结果。

发明内容

本发明的目的包括,例如,提供了一种手势识别方法、装置、电子设备及可读存储介质,其能够判断手势识别的时机,从而减少不必要的手势分析,同时获得符合场景需要的手势识别结果。

本申请的实施例可以这样实现:

第一方面,本申请实施例提供一种手势识别方法,包括:

在显示位置提示信息的情况下,获得采集图像,其中,所述位置提示信息用于提示手掌的标准放置位置,所述位置提示信息对应第一区域;

检测所述采集图像的第一区域中是否存在有效手掌;

在不存在有效手掌的情况下,不对所述采集图像进行手势识别;

在存在有效手掌的情况下,对所述采集图像中的该有效手掌进行手势识别,获得手势识别结果。

第二方面,本申请实施例提供一种手势识别装置,包括:

图像获得模块,用于在显示位置提示信息的情况下,获得采集图像,其中,所述位置提示信息用于提示手掌的标准放置位置,所述位置提示信息对应第一区域;

检测模块,用于检测所述采集图像的第一区域中是否存在有效手掌;

识别模块,用于在不存在有效手掌的情况下,不对所述采集图像进行手势识别;在存在有效手掌的情况下,对所述采集图像中的该有效手掌进行手势识别,获得手势识别结果。

第三方面,本申请实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式中任意一项所述的手势识别方法。

第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任意一项所述的手势识别方法。

本申请实施例提供的手势识别方法、装置、电子设备及可读存储介质,在显示用于提示手掌的标准放置位置的位置提示信息的情况下,获得采集图像,并检测该采集图像中与位置提示信息对应的第一区域中是否存在有效手掌;在不存在的情况下,不对该采集图像进行手势识别;在存在的情况下,对该采集图像中的有效手掌进行手势识别,得到手势识别识别。由此,可根据第一区域中是否存在有效手掌,确定是否进行手势识别,避免对不需要进行手势分析的手掌进行手势分析,同时可避免将不需要进行手势分析的手掌的手势识别结果作为当前场景需要的手势识别结果,进而基于不需要的手势识别结果进行错误的控制等;还通过显示位置提示信息告知用户有效手掌的标准放置区域,避免由于用户手掌放置位置错误导致应该被识别的手掌未被识别。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的电子设备的方框示意图;

图2为本申请实施例提供的手势识别方法的流程示意图;

图3为本申请实施例提供的显示位置提示信息的示意图;

图4为图2中步骤S120包括的子步骤的流程示意图;

图5为图2中步骤S130包括的子步骤的流程示意图;

图6为本申请实施例提供的在根据旋转矩阵进行仿射变换前后手掌的示意图;

图7为本申请实施例提供的手势识别装置的方框示意图。

图标:100-电子设备;110-存储器;120-处理器;130-通信单元;200-手势识别装置;210-图像获得模块;220-检测模块;230-识别模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,图1为本申请实施例提供的电子设备100的方框示意图。所述电子设备100可以是,但不限于,智能手机、电脑、平板电脑等。所述电子设备100可以包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。

处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有手势识别装置200,所述手势识别装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本申请实施例中的手势识别装置200,从而执行各种功能应用以及数据处理,即实现本申请实施例中的手势识别方法。

通信单元130用于通过网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。

应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

请参照图2,图2为本申请实施例提供的手势识别方法的流程示意图。所述方法可以应用于上述电子设备100。下面对手势识别方法的具体流程进行详细阐述。所述方法可以包括步骤S110~步骤S140。

步骤S110,在显示位置提示信息的情况下,获得采集图像。

在本实施例中,所述电子设备100的显示界面中可显示所述位置提示信息,从而提示用户手掌的标准放置位置,也即提示用户若用户的某个手势是需要进行分析的,则需要将手掌放置在所述位置提示信息对应的区域处。其中,所述位置提示信息的显示形式可以根据实际需求确定,在此不对其进行具体限制,只要达到提示用户手掌的标准放置区域(即标准放置位置)的目的即可。

在显示了所述位置提示信息的情况下,可进行图像采集,获得所述采集图像。其中,所述位置提示信息对应的第一区域的面积可以小于所述采集图像的面积。

步骤S120,检测所述采集图像的第一区域中是否存在有效手掌。

在获得所述采集图像的情况下,可对所述采集图像进行分析,以确定所述第一区域中是否存在有效手掌。可选地,可以在所述第一区域中检测到手掌,就确定该第一区域中存在有效手掌;也可以根据在所述第一区域内中是否检测到手掌以及其他规则,确定该第一区域中是否存在有效手掌。

步骤S130,在不存在有效手掌的情况下,不对所述采集图像进行手势识别。

步骤S140,在存在有效手掌的情况下,对所述采集图像中的该有效手掌进行手势识别,获得手势识别结果。

所述第一区域中不存在有效手掌,表示所述采集图像中不存在需要进行手势分析的手掌,因此,在此情况下,可不对所述采集图像进行手势识别。所述第一区域中存在有效手掌,表示所述采集图像中存在需要进行手势分析的手掌,因此,在该第一区域中存在有效手掌的情况下,可对采集图像中的该有效手掌进行手势识别,得到手势识别结果。由此,可避免不需要的手势分析,同时保证不会忽略掉需要进行手势分析的情况。

比如,在进行人机交互的场景中,若用户有两个状态:手势准备中、完成手势,其中,实际上需要根据完成手势进行后续控制。若每获得一张图像,就对图像进行手势分析,则至少需要分析两张图像,然后实际上只有完成手势的那张图像是需要进行手势分析的,手势准备中的那张图像是不需要进行分析的。而本方案则可以避免该情况,同时通过显示位置提示信息,可提醒用户可被分析的手掌的标准放置区域,从而避免由于用户手势放置位置不符合要求而被忽略,从而得到满足场景需求的手势分析结果。本方案还可以避免采集图像中与实际需求无关的手掌的干扰。

在本实施例中,显示的所述位置提示信息可以是文字、图标等。所述位置提示信息对应的第一区域,可以位于所述采集图像的右上角,也可以位于其他位置,可以根据实际需求进行设置。

比如,请参照图3,图3为本申请实施例提供的显示位置提示信息的示意图。所述电子设备100可以包括图像采集单元,所述电子设备100可以在显示界面的右上角显示一预备框,以显示所述位置提示信息。该预备框所在区域即为所述第一区域。在显示了所述位置提示信息的情况下,所述图像采集单元可采集图像。例如,主播在直播过程中,可使手掌出现在所述第一区域中,进而基于第一区域中的手掌进行游戏、或者触发其他控制、处理等。

请参照图4,图4为图2中步骤S120包括的子步骤的流程示意图。在本实施例中,步骤S120可以包括子步骤S121~子步骤S123。

子步骤S121,对所述采集图像进行手掌检测,获得手掌所在的第二区域。

子步骤S122,计算所述第二区域与所述第一区域的重合比例。

子步骤S123,根据所述重合比例及第一预设比例,判断所述第一区域内是否存在有效手掌。

可选地,作为一种可能的实现方式,可对整张图像进行手掌检测,以获得所述采集图像中每个手掌所在的第二区域。然后计算每个手掌所在的第二区域与所述第一区域的重合比例。

可选地,作为另一种可能的实施方式,可在一定区域内进行手掌检测,以得到手掌所在的第二区域。其中,进行手掌检测的区域包括所述第一区域及所述第一区域周围一定范围。然后,计算每个第二区域与所述第一区域的重合比例。由此,便于快速确定所述第一区域内是否存在有效手掌。

其中,在计算重合比例时,可以将一个第二区域与所述第一区域的重合部分的面积与所述第一区域的面积之比,作为该第二区域对应的重合比例。

在获得所述重合比例后,可根据该重合比例及第一预设比例,确定该第一区域内是否存在有效手掌。可选地,所述第一预设比例及具体判断规则可以根据实际需求确定,比如,将所述第一预设比例设置为0.85。

例如,可以在所述重合比例大于所述第一预设比例的情况下,确定所述第一区域内存在有效手掌。然后,通过对该采集图像中的有效手掌进行手势识别,得到所述手势识别结果。

可选地,可以通过对所述采集图像中该有效手掌对应的完整手掌进行手势识别,也即对该有效手掌对应的完整手掌所在的区域进行手势识别,从而得到该手势识别结果。也可以在所述采集图像中对所述第一区域进行手势识别,从而得到该手势识别结果。其中,完整手掌指的是完整的手部。

其中,在一种实施方式中,在要基于所述第一区域进行手势识别的情况下,可在所述重合比例大于所述第一预设比例且该重合比例对应的面积比例不大于第二预设比例的情况下,判定所述第一区域内存在有效手掌,所述面积比例为该重合比例对应的第二区域与第一区域的面积之比。由此,可以避免在所述第二区域过大的情况下,基于所述第一区域进行手势识别时,由于第二区域中的手掌超出所述第一区域过多导致特征缺失过多,进而导致得到的手势识别结果准确性不佳。

在所述第一区域为方框形状,且边缘与所述采集图像的边缘平行的情况下,若对所述第一区域进行手势识别,由于所述第一区域相较于所述采集图像为正的方框,因此在获得所述第一区域的像素值时,无需计算边缘,便于提取,同时该方式数据处理量小,便于快速获得所述手势识别结果。其中,上述边缘平行是指,如图3所示,第一区域的水平方向边缘线与采集图像的水平方向边缘线平行,第一区域的竖直方向边缘线与采集图像的竖直方向边缘线平行。

在识别时,所述电子设备100可以直接进行识别,也可以将所述采集图像、或者裁剪出的所述第一区域、或者裁剪出的有效手掌所对应的完整手掌所在区域发送给其他设备(比如,服务器),由其他设备对接收到的图像进行手势识别,并将得到的手势识别结果发送给所述电子设备100。其中,所述电子设备100可通过发送裁剪的图像,减少数据发送量。

在确定所述第一区域内存在有效手掌的情况下,可通过图5所示方式准确获得所述手势识别结果。请参照图5,图5为图2中步骤S130包括的子步骤的流程示意图。在本实施例中,步骤S130可以包括子步骤S131~子步骤S133。

子步骤S131,获得所述采集图像中有效手掌的姿态相对于标准手掌姿态的旋转矩阵。

子步骤S132,根据所述旋转矩阵对所述采集图像进行仿射变换,获得标准采集图像。

子步骤S133,对所述标准采集图像中的有效手掌进行手势识别,获得所述手势识别结果。

在本实施例中,可通过任意方式,获得所述旋转矩阵。所述标准手掌姿态可以根据实际需求确定。如图6所示,可将图6的b中的手掌的姿态作为标准手掌姿态,而图6中的a中的手掌的姿态相较于标准手掌姿态则存在偏转。

可选地,可以通过训练好的手掌检测器,对所述采集图像进行分析,从而获得所述旋转矩阵。该过程可以表示为:M=N

所述手掌检测器可以根据第一样本图像、该第一样本图像对应的手掌区域位置信息及旋转矩阵训练得到。该第一样本图像对应的旋转矩阵,可以预先是预先标定的该第一样本图像中手掌姿态相较于标准手掌姿态的旋转矩阵。所述手掌检测器可以采用SSD(Single Shot MultiBox Detector,单阶段多框物体检测)框架等。

可通过如下训练方式训练得到所述手掌检测器。将所述第一样本图像输入到未训练好的手掌检测器中,获得手掌区域位置信息及旋转矩阵;在不满足停止条件的情况下,根据未训练好的手掌检测器输出的手掌区域位置信息及旋转矩阵、第一样本图像对应的手掌区域位置信息及旋转矩阵,计算得到损失值,然后根据该损失值对未训练好的手掌检测器进行调整。重复该过程,直到得到训练好的手掌检测器。其中,上述停止条件可以是迭代预设次数或者计算出的损失值小于预设值等。

在获得所述旋转矩阵之后,可根据该旋转矩阵对所述采集图像进行仿射变换,以获得所述标准采集图像。该过程可以表示为:I

可选地,可先对所述标准采集图像进行手部分割,获得所述有效手掌对应的手部图像,也即,从所述标准采集图像中截取所述手部图像。然后识别所述手部图像中的手势,得到所述手势识别结果。由此,可以排除背景干扰,提高所述手势识别结果的准确性。

作为一种可选的实施方式中,可利用训练好的手部分割器,对所述标准采集图像进行分割,获得所述手部图像。其中,所述手部分割器可以采用UNET框架。该手部分割器可以根据第二样本图像及该第二样本图像对应的样本手部图像训练得。

在识别时,还可以先对所述手部图像进行二值化处理,得到待识别手部图像。其中,在进行二值化处理,可以先根据阈值,将所述手部图像中小于等于该阈值的像素值设置为0,大于该阈值的像素值设置为1;然后进行孔洞填充,从而获得所述待识别手部图像。由此,可以避免由于手部反光导致的手部图像中某些过亮像素点的干扰,提高所述手势识别结果的准确性。

可选地,可以将所述待识别手部图像输入至一个训练好的多分类模型中,并将该多分类模型的输出结果,作为所述手势识别结果。其中,该多分类模型可以根据样本待识别手部图像及分类标签训练得到。

还可以将所述待识别手部图像与不同的手势模板进行匹配,从而获得所述手势识别结果。可选地,可以将匹配度最高的手势模板所对应的手势描述信息作为所述手势识别结果。该方式便于快速更新手势模板,从而获得各种手势对应的待识别手部图像的手势识别结果。比如,可以识别手势表示的数字、剪刀等。

可以理解的是,在根据所述第一区域进行手势时,也可以根据所述旋转矩阵对所述第一区域进行旋转,然后从旋转后的第一区域中获得手部图像,进而通过该手部图像进行手势识别,从而得到所述手势识别结果。其中,根据从旋转后的第一区域中得到的手部图像获得所述手势识别结果的方式,与根据从标准采集图像中获得的手部图像得到手势识别结果的方式类似,在此不赘述。

为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种手势识别装置200的实现方式,可选地,该手势识别装置200可以采用上述图1所示的手势识别装置200的器件结构。进一步地,请参照图7,图7为本申请实施例提供的手势识别装置200的方框示意图。需要说明的是,本实施例所提供的手势识别装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述手势识别装置200可以包括:图像获得模块210、检测侧模块220及识别模块230。

所述图像获得模块210,用于在显示位置提示信息的情况下,获得采集图像。其中,所述位置提示信息用于提示手掌的标准放置位置,所述位置提示信息对应第一区域。

所述检测模块220,用于检测所述采集图像的第一区域中是否存在有效手掌。

所述识别模块230,用于在不存在有效手掌的情况下,不对所述采集图像进行手势识别;在存在有效手掌的情况下,对所述采集图像中的该有效手掌进行手势识别,获得手势识别结果。

可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于电子设备100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。

本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的手势识别方法。

综上所述,本申请实施例提供一种手势识别方法、装置、电子设备及可读存储介质,在显示用于提示手掌的标准放置位置的位置提示信息的情况下,获得采集图像,并检测该采集图像中与位置提示信息对应的第一区域中是否存在有效手掌;在不存在的情况下,不对该采集图像进行手势识别;在存在的情况下,对该采集图像中的有效手掌进行手势识别,得到手势识别识别。由此,可根据第一区域中是否存在有效手掌,确定是否进行手势识别,避免对不需要进行手势分析的手掌进行手势分析,同时可避免将不需要进行手势分析的手掌的手势识别结果作为当前场景需要的手势识别结果,进而基于不需要的手势识别结果进行错误的控制等;还通过显示位置提示信息告知用户有效手掌的标准放置区域,避免由于用户手掌放置位置错误导致应该被识别的手掌未被识别。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 视频中手势的识别方法、装置、可读存储介质及电子设备
  • 手势识别方法、装置、电子设备及可读存储介质
技术分类

06120113046731