图像识别方法、装置和电子设备与流程

文档序号:33319639发布日期:2023-03-03 19:33阅读:33来源:国知局
图像识别方法、装置和电子设备与流程

1.本公开涉及计算机技术领域,尤其涉及一种图像识别方法、装置和电子设备。


背景技术:

2.随着计算机技术的发展,用户越来越多的使用终端设备实现各种功能。
3.在一些应用场景中,电子设备可以识别用户手部姿态,并根据用户手部姿态作出响应,从而实现用户可以与电子设备进行交互。


技术实现要素:

4.提供该公开内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该公开内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
5.第一方面,本公开实施例提供了一种图像识别方法,该方法包括:从图像帧序列的目标图像帧中,确定当前手部区域,其中,所述当前手部区域是待识别单手区域或待识别双手区域,所述待识别双手区域中的两只手对应的图像具有重合区域;当所述当前手部区域是待识别双手区域时,对在前图像帧中在前手部区域的在前手部姿态信息进行调整,得到待识别手部区域的当前手部姿态信息,其中,所述在前图像帧包括所述图像帧序列中位次在所述目标图像帧之前的图像帧。
6.第二方面,本公开实施例提供了一种图像识别装置,包括:确定单元,用于从图像帧序列的目标图像帧中,确定当前手部区域,其中,所述当前手部区域是待识别单手区域或待识别双手区域,所述待识别双手区域中的两只手对应的图像具有重合区域;调整单元,用于当所述当前手部区域是待识别双手区域时,对在前图像帧中在前手部区域的在前手部姿态信息进行调整,得到待识别手部区域的当前手部姿态信息,其中,所述在前图像帧包括所述图像帧序列中位次在所述目标图像帧之前的图像帧。
7.第三方面,本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的图像识别方法。
8.第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的图像识别方法的步骤。
9.本公开实施例提供的图像识别方法、装置和电子设备,可以先从图像帧序列的目标图像帧中,确定当前手部区域,当前手部区域可能包括待识别单手区域或者待识别双手区域,待识别双手区域中的两只手对应的图像之间具有重合区域。再后,当当前手部区域是待识别双手区域时,调整在前图像帧中在前手部区域的在前手部姿态信息,得到待识别手部区域的当前手部姿态信息。由此,可以提供一种新的图像识别方法。
10.需要说明的是,该图像识别方法可以对在前图像帧的在前手部姿态信息进行调整,得到目标图像帧中的双手区域的当前手部姿态,在双手图像具有重合区域的场景下,场
景特点使得直接识别被遮挡手部图像的手部姿态较为困难,视频帧序列可以捕捉在前图像帧的手部姿态到目标图像帧的手部姿态的变化,根据这种变化调整在前手部姿态信息得到当前手部姿态信息,可以在具有相互遮挡的双手图像场景中,提高所确定的手部姿态信息的准确程度。
附图说明
11.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
12.图1是根据本公开的图像识别方法的一个实施例的流程图;
13.图2是根据本公开的图像识别方法的示例性实现方式的流程图;
14.图3是根据本公开的图像识别方法的另一示例性实现方式的流程图;
15.图4是根据本公开的图像识别方法的一示例性实现方式的流程图;
16.图5a是本公开的图像识别方法的又一个应用场景的示意图;
17.图5b是本公开的图像识别方法的又一个应用场景的示意图;
18.图6是本公开的图像识别方法的又一个应用场景的示意图;
19.图7a是本公开的图像识别方法的另一个应用场景的示意图;
20.图7b是本公开的图像识别方法的另一个应用场景的示意图;
21.图8是根据本公开的图像识别装置的一个实施例的结构示意图;
22.图9是本公开的一个实施例的图像识别方法可以应用于其中的示例性系统架构;
23.图10是根据本公开实施例提供的电子设备的基本结构的示意图。
具体实施方式
24.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
25.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
26.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
27.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
28.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
29.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性
的目的,而并不是用于对这些消息或信息的范围进行限制。
30.请参考图1,其示出了根据本公开的图像识别方法的一个实施例的流程。该图像识别方法应用于终端设备。如图1所示该图像识别方法,包括以下步骤:
31.步骤101,在图像帧序列的目标图像帧中,确定当前手部区域。
32.在本实施例中,图像识别方法的执行主体(例如终端设备)可以从图像帧序列的目标图像帧中,确定当前手部区域。
33.在这里,上述图像帧序列可以包括至少两个图像帧。目标图像帧可以是图像帧序列中的任一图像帧。
34.在本实施例中,上述当前手部区域可以是待识别单手区域或者待识别双手区域。
35.在这里,待识别单手区域中可以包括单只手的图像。
36.在这里,待识别双手区域,可以包括两只手的图像,两只手的图像之间具有重合区域。
37.步骤102,当当前手部区域是待识别双手区域时,对在前图像帧中在前手部区域的在前手部姿态信息进行调整,得到待识别手部区域的当前手部姿态信息。
38.在这里,上述在前图像帧可以包括所述图像帧序列中位次在所述目标图像帧之前的图像帧。
39.可选的,在前图像帧的数量可以是一个或者至少两个。在前图像帧与目标图像帧,可以相邻,也可以不相邻。
40.在这里,在前图像帧中的手部图像区域,可以称为在前手部区域。在前手部姿态信息,可以指示在前图像帧中在前手部区域中的手部姿态。可以理解,在前手部区域可能包括两只手,两只手之间可能有相互遮挡(即存在重合区域),也可能相互无遮挡。相应的,在前手部区域可能包括双手区域(包括两只手的图像,并且两只手的图像之间具有重合区域),也可能包括单手区域。
41.可以理解,如果在前手部区域中的手部图像和当前手部区域中的手部图像,可以属于同一个人。
42.在本实施例中,当前手部姿态信息,可以指示目标图像帧中当前手部区域中的手部姿态。
43.在本实施例中,在前手部姿态信息,可以指示在前图像帧中在前手部区域中的手部姿态。
44.在一些应用场景中,手部姿态信息,可以包括以下至少一项但不限于:手部各个关节的三维旋转信息、手部根节点在图像帧中的二维位置信息、手部图像在图像帧中的尺寸信息。可以理解,手部姿态信息的具体项可以根据实际应用场景设置。
45.在本实施例中,在前手部姿态信息的调整方式,可以根据实际应用场景设置,在此不作限定。
46.作为示例,可以调整在前手部姿态信息的一项或者多项,得到当前手部姿态信息。
47.需要说明的是,本实施例提供的图像识别方法,可以先从图像帧序列的目标图像帧中,确定当前手部区域,当前手部区域可能包括待识别单手区域或者待识别双手区域,待识别双手区域中的两只手对应的图像之间具有重合区域。再后,当当前手部区域是待识别双手区域时,调整在前图像帧中在前手部区域的在前手部姿态信息,得到待识别手部区域
的当前手部姿态信息。由此,可以提供一种新的图像识别方法。
48.需要说明的是,该图像识别方法可以调整在前图像帧的在前手部姿态信息,得到目标图像帧中的双手区域的当前手部姿态,在双手图像具有重合区域的场景下,场景特点使得直接识别被遮挡手部图像的手部姿态较为困难,视频帧序列可以表征在前图像帧的手部姿态到目标图像帧的手部姿态的变化,根据这种变化调整在前手部姿态信息得到当前手部姿态信息,可以在具有相互遮挡的双手图像场景中,提高所确定的手部姿态信息的准确程度。
49.在一些实施例中,上述方法还可以包括:根据当前手部姿态信息,在所述目标图像帧上,添加手部图像特效。
50.可选的,手部图像特效可以是各种形式的特效,例如,贴纸特效(在手部图像添加贴纸覆盖手部图像)。
51.需要说明的是,根据上述当前手部姿态信息而添加的手部图像特效,可以使得特效的添加效果与手部图像的适配性较高,添加效果比较自然。具体来说,根据在前图像的在前手部姿态信息得到的当前手部姿态信息,即使与真实的手部姿态存在一定偏差,但是由于利用了手部姿态不太可能发生突变的特点,也可以保证手部图像特效与目标图像帧中的手部姿态相适应,从而在以手部姿态驱动手部图像特效的场景中,在双手靠近甚至重合时,产生稳定且自然的驱动效果。
52.在一些实施例中,上述步骤101可以包括图2示出的步骤201、步骤202和步骤203。
53.步骤201,在目标图像帧中,确定手部图像位置得到至少一个待定手部区域。
54.在这里,可以采用各种方式确定待定手部区域。在一些应用场景中,待定手部区域可以理解为初步定位得到的手部区域。
55.在本实施例中,上述待定手部区域,可以理解为初步确定的手部区域。
56.可以理解,对目标图像帧进行手部图像位置确定,得到的待定手部区域的数量,可能是0个,可能是一个,也可能是两个,也可能是大于两个。如果是0个,说明该目标图像帧不包括手部图像,这种情况可以先不考虑用本实施例处理。如果是一个,那么个待定手部区域中的手部图像,可能是单手图像,也可能是双手图像。如果是两个,那么每个待定手部区域中的手部图像,可能是,可能是单手图像,也可能是双手图像。如果识别到大于两个的待定手部区域,那么可以根据图像特征将手部图像分为多组,每组手部图像中的手部图像与同一个人对应,由此,可以得到与人对应的待定手部区域。
57.换句话说,对于目标图像帧中有多个人的人手图像的情况,可以得到多组包括至少一个待定手部区域的区域组。为了方便说明,在本技术中,以属于同一个人的至少一个待定手部区域为例进行说明。由此,在一般人具有不大于两个手的情况下,待定手部区域的数量可以是一个或者是两个。
58.在本实施例中,待定手部区域可以用区域指示信息进行指示。作为示例,可以采用跟踪框指示待定手部区域。
59.步骤202,基于待定手部区域中的手部图像的位置关系,确定各个待定手部区域的处理方式。
60.在这里,上述处理方式可以包括以下至少一项但不限于:不处理、拆分和合并。
61.在这里,上述手部图像的位置关系,可以包括存在重合区域或者不存在重合区域。
62.可选的,存在重合区域,可以是双手型区域中的两只手图像存在重合,也可以是单手型区域中的两只手图像存在重合区域。
63.可选的,不存在重合区域,可以是分别位于两个单手型区域中的两只手图像不存在重合,也可以是双手型区域中的两只手图像不存在重合区域。
64.步骤203,采用所确定的处理方式处理各个待定手部区域,得到当前手部区域。
65.在一些应用场景中,经过上述处理方式得到的当前手部图像,可以尽量使得具有重合区域的两只手图像在双手型区域中、与其它手部图像没有重合区域的单手图像在单手型区域中。
66.需要说明的是,通过基于待定手部区域中的手部图像的位置关系,处理待定手部区域,可以得到准确的单手图像或者双手图像,避免由于待定手部区域确定错误(例如区域中包括两个独立的单手图像,或者两个区域存在重合)而导致得识别错误。
67.在一些实施例中,上述步骤201,可以通过调用手部检测模型实现。手部检测模型可以在目标图像中,检测出待定手部区域,例如包含手部外观的矩形框。
68.在一些实施例中,上述步骤201,可以包括:当所述在前图像帧包括手部图像时,调整在前图像帧的在前手部区域,得到目标图像帧的待定手部区域;当确定在在前图像帧不包括手部图像时,对所述目标图像帧进行手部图像识别,得到所述待定手部区域。
69.作为示例,可以调用手部跟踪模型,在上一帧图像的在前手部区域附近定位目标图像帧的待定手部区域。
70.需要说明的是,根据在前手部区域位置得到待定手部区域,可以利用人手速度有限、目标图像帧与上一图像帧的位置很可能临近的特点,避免了从全图中进行手部区域搜索,减少了确定手部区域所消耗的时间和计算量。
71.在一些实施例中,根据双手是否存在重合区域,可以采用不同的跟踪逻辑。当双手靠近有重合时,手部跟踪模型可以将两只手定位在一个矩形框(可以成为双手型区域)中,将两只手看作一个整体进行跟踪。当两只手相隔一定距离没有重合时,将左右手分别看作独立的个体分别进行跟踪(可以将包含一只手外观的矩形框称为单手型区域)。由此,可以提高跟踪效果的准确性。
72.在一些实施例中,所述当所述在前图像帧包括手部图像时,跟踪在前图像帧的在前手部区域,确定目标图像帧的待定手部区域,包括:如果在前手部区域是双手区域,调整在前手部区域的双手区域得到包括双手图像的待定手部区域。
73.当双手临近且不重合时,由于两只手具有相似的外观,它们的跟踪过程可能会相互干扰,例如左手跟踪到右手上,右手跟踪到左手上,甚至是跟踪结果完全混乱。而上述根据双手是否存在重合区域,采用不同的跟踪逻辑,可以实现:当两只手靠近有重合时,可以避免单独跟踪一只手时容易出现的跟踪混乱的问题;当两只手没有重合区域时,对两只手单独地跟踪可以有效保证跟踪效果的准确性。
74.需要说明的是,本技术提供的跟踪方式,利用在前图像帧的在前手部区域的位置所确定的当前手部区域,可以提高当前手部区域的准确性。具体来说,在在前手部区域具有在前图像帧的基础上,在前手部区域可能是经过调整的,错误(例如区域中包括两个独立的单手图像,或者两个区域存在重合)的可能性较低,因此可以保证在前手部区域的准确性,进而保证当前手部区域的准确性。
75.在一些实施例中,请参考图3,步骤202可以包括:步骤2021、步骤2022和步骤2023。
76.步骤2021,确定待定手部区域中的手部数量。
77.步骤2022,对于手部数量不小于2的待定手部区域,确定是否拆分该待定手部区域。
78.一般情况下,待定手部区域的手部数量为2。对于手部数量大于2的待定手部区域,可以将该待定手部区域中的手部图像两两分组,然后参考待定手部区域的手部数量为2进行处理。
79.如果待定手部区域的手部数量为2,可以判断是将该待定手部区域拆分为两个单手型区域,以保证两只手区域的定位精度。对比来说,如果两只手距离较远还定位到一个双手型区域中,则会导致双手型区域过大,而手部图像过小,使得识别准确率下降。
80.步骤2023,对于手部数量为1的至少两个待定手部区域,确定是否合并手部数量为1的待定手部区域。
81.在一些应用场景中,可能目标图像帧中只有一个手部数量为1的待定手部区域。这种属于单手操作场景,在这里不作进一步讨论。
82.如果待定手部区域的手部数量为1,可以判断是否将两个待定手部区域合并为双手型区域,以保证双手具有重合区域时的手部图像跟踪和姿态识别的准确性。
83.需要说明的是,按照待定手部区域中手部数量,对于手部数量不小于2的待定手部区域和手部数量为1的待定手部区域,采用不同的逻辑进行判断,可以保证得到的当前手部图像中待识别单手图像或者待识别双手图像的准确性。
84.在一些实施例中,上述步骤2022,可以包括:在手部数量不小于2的待定手部区域中,定位第一手图像得到待定第一子区域,以及定位第二手图像得到待定第二子区域。
85.在这里,如果手部数量不小于2,两两分组之后,对于每组中的两个手图像,可以定位两个手图像的位置,得到两个子区域。作为示例,可以定位左手图像得到待定第一子区域,可以定位右手图像得到待定第二子区域。可选的,也可能是两个人的两只左手,或者是两个人的两只右手,在此不再赘述。
86.作为示例,可以预先训练的单手定位模型,定位单手图像。单手定位模型的训练图像可以包括双手图像有重合的图像或者双手图像距离较小(例如小于预设阈值)的图像。由此,利用单手定位模型处理待识别手部区域得到的第一子区域和第二子区域,手部图像的定位精度较高,不易出现混乱。
87.在一些实施例中,步骤203,可以包括:响应于确定待定第一子区域和待定第二子区域存在重合区域,不拆分所述手部数量不小于2的待定手部区域,以及将所述手部数量不小于2的待定手部区域确定为待识别双手区域。
88.如果第一待定子区域和第二待定子区域存在重合区域,则不做额外处理,仍然将包括两个手的双手型区域作为一个整体。
89.请参考图4所示,图4示出了在步骤2021、步骤2022和步骤2023的实现方式中,步骤203的各种实现方式。
90.步骤203,包括:响应于确定待定第一子区域和待定第二子区域不存在重合区域,拆分所述手部数量不小于2的待定手部区域,得到所述待识别单手区域。
91.如果待定第一子区域和待定第二子区域不存在重合区域,那么可以将待定第一子
区域确定为一个待识别单手区域,将待定第二子区域确定为另一个待识别单手区域。
92.在一些实施例中,上述步骤2023,可以包括:确定任意两个手部数量为1的待定手部区域,是否存在重合区域。
93.步骤203,可以包括:合并存在重合区域的待定手部区域,得到所述待识别双手区域。
94.作为示例,图5a中的两个手部数量为1的待定手部区域之间,存在重合区域。因此,合并图5a的两个待定手部区域得到图5b的一个双手型区域。
95.步骤203,可以包括:如果手部数量为1的待定手部区域不与任何待定手部区域存在重合区域,将该手部数量为1的待定手部区域,确定为所述待识别单手区域。
96.图6中的两个手部数量为1的待定手部区域之间没有重合区域,将这两个待定手部区域确定为独立的待识别单手区域。
97.在目标图像帧中,确定手部图像位置得到至少一个待定手部区域;
98.在本实施例中,确定手部图像位置,可以采用各种方式实现,在此不作限定。
99.在一些实施例中,手部姿态信息可以包括以下至少一项但不限于:三维旋转信息、根节点位置信息和尺寸信息。
100.在这里,三维旋转信息可以指示人手的各个关节的三维旋转程度。在一些应用场景中,三维旋转信息,可以用欧拉角或者旋转矩阵等形式表示。作为示例,以欧拉角表示的三维旋转信息可以包括某个手指关节围绕x轴、y轴和z轴的旋转角度。
101.在这里,根节点位置信息,可以指示预设的手部根节点在手部区域(例如跟踪框)中的位置。在一些应用场景中,根节点位置信息可以采用根节点在图像中的二维像素坐标表示。手部根节点可以是预先指定的手部位置,例如手掌中心点。
102.在这里,尺寸信息,可以指交互示手部图像在图像中的尺寸大小。作为示例,尺寸信息可以以绝对尺寸表示,也可以以相对尺寸表示。
103.请参考图7a,图7a示出了在前图像帧中的在前手部姿态信息的相关参数,以s’示出了尺寸信息,以a’和b’示出了表示根节点位置信息的二维像素坐标。三维旋转信息没有示出。
104.请参考图7b,图7b示出了在前图像帧中的在前手部姿态信息的相关参数,以s示出了尺寸信息,以a和b示出了表示根节点位置信息的二维像素坐标。三维旋转信息没有示出。
105.在一些实施例中,所述当所述当前手部区域是待识别双手区域时,对在前图像帧中在前手部区域的在前手部姿态信息进行调整,包括以下至少一项但不限于:根据在前手部姿态信息中的三维旋转信息,确定当前手部姿态信息中的三维旋转信息;根据手部根节点在所述在前手部区域的相对位置,确定手部根节点在所述待识别双手区域中的相对位置;根据所述在前手部区域中手部图像的尺寸信息,确定所述待识别双手区域中对应的手部区域的尺寸信息。
106.需要说明的是,选用三维旋转信息、根节点位置信息和尺寸信息表征手部姿态信息,可以还原出手部姿态。进一步地,还原出的手部姿态与在前图像帧的手部姿态具有连续性,从而可以保证还原出的手部姿态可以在贴图特效场景中,保证贴图与手部图像的贴合性与自然程度。
107.在这里,待识别双手区域包括第一子区域和第二子区域,第一子区域中的手部图
像的手部姿态信息可以称为第一子姿态信息,第二子区域中的手部图像的手部姿态信息可以称为第二子姿态信息。
108.在这里,在前手部区域包括第三子区域和第四子区域。第三子区域中的手部图像和第一子区域中的手部图像指示同一手部,第四子区域中的手部图像与第二子区域中的手部图像指示同一手部。
109.在这里,在前手部姿态信息包括第三子姿态信息和第四子姿态信息。
110.在一些应用场景中,可以根据第三子区域中手部图像的第三子姿态信息,确定第一子区域的第一子姿态信息;根据第四子区域中手部图像的第四子姿态信息,确定第二子区域的第二子姿态信息。
111.需要说明的是,对于待识别两手区域中的两个手部图像,以每个手部图像对应的在前手部图像(在前图像帧中对应的手部图像)为基础进行调整,可以避免两只手的图像识别出现混乱,保证每只手的姿态信息的准确程度。
112.对比来说,由于双手框同时包含了左手和右手的外观信息,因此模型预测姿态结果的准确性会大幅降低,导致手部姿态驱动的结果混乱而不自然。其原因可能包括:首先,左右手具有非常相似的外观,模型在预测一只手的姿态时容易被另一只手的外观干扰;然后,左右手具有复杂的交互关系,因此两只手的遮挡情况往往非常复杂,可能一只手几乎完全被另一只手遮挡,这类极端场景缺乏足够的外观信息来预测手的姿态。
113.在双手同框的场景中,我们不对左右手的姿态进行直接预测,而是采用当前帧的手框位置对上一帧的手姿态结果进行矫正,从而得到当前帧的手姿态结果。这样的手部驱动结果虽然可能与实际人手的姿态不一致,但是一定程度上保证了驱动效果的自然性,不再出现混乱且不稳定的驱动效果。
114.在一些实施例中,第三子姿态信息包括第三子三维旋转信息、第三子根节点位置信息和第三子尺寸信息。如上所述,第三子姿态信息可以指示在前手部区域中的一只手(例如左手)的姿态。
115.在这里,以第三子姿态信息为例说明了如何矫正第三子姿态,得到当前手部区域的第一子区域中的第一子姿态信息。从第四子姿态信息得到第二子姿态信息的过程,与得到第一子姿态信息的过程类似,在此不再赘述。
116.在一些实施例中,所述根据在前手部姿态信息中的三维旋转信息,确定当前手部姿态信息中的三维旋转信息,可以包括:将第三子姿态信息中第三子三维旋转信息,确定为第一子三维旋转信息。
117.需要说明的是,在这里,对于三维旋转信息可以不做变动。在一些应用场景中,可能三维旋转信息对于手势驱动的作用较小,在这种情况下,对于三维旋转信息可以不做处理,由此,可以保证驱动效果的准确性的同时,减少计算量。
118.在一些实施例中,所述根据手部根节点在所述在前手部区域的相对位置,确定手部根节点在所述待识别双手区域中的相对位置,可以包括:确定第三子根节点信息中的宽度值与第三子区域的宽度值的第一比值,以及将第一比值与第一子区域的宽度值的乘积,确定为第一子根节点信息中的宽度值;确定第三子根节点信息中的高度值与第三子区域的高度值的第二比值,以及将第二比值与第一子区域的高度值的乘积,确定为第一子根节点信息中的高度值。
119.需要说明的是,通过第二比值,可以第一子区域中的手部根节点和第三子区域中的手部根节点的相对位置相同,由此,可以减少手部区域(例如跟踪框)移动或者放缩带来的差别,准确确定手部根节点位置。
120.在一些实施例中,所述根据所述在前手部区域中手部图像的尺寸信息,确定所述待识别双手区域中对应的手部区域的尺寸信息,可以包括:确定第三子手部尺寸信息中的手部尺寸值与在前图像帧的尺寸值的第三子区域的第三比值,以及将第三比值与目标图像帧的尺寸值的乘积,确定为第一子区域的手部尺寸值。
121.在这里,可以将手部区域的尺寸信息,理解为手部区域在图像帧中的长度占比。作为示例,手部区域的尺寸可以指示跟踪框对角线的长度。
122.需要说明的是,通过确定尺寸信息,可以有效确定手部图像的面积,确定更为准确手部图像。进一步地,在贴图特效的场景中,尺寸信息的准确确定,可以极大地提高贴图特效与手部图像的贴合程度,提高贴图特效的自然程度。
123.在一些实施例中,上述方法还可以包括:当当前手部区域是待识别单手区域时,调用单手姿态估计模型,识别待识别单手区域中的各个单手区域中的手部姿态,得到各个待识别单手区域应的第五手部姿态信息。
124.在这里,手部姿态信息可以指示待识别单手区域中的手部姿态。待识别单手区域具有两个待识别单手区域,因此手部姿态信息也可以有两个。
125.进一步参考图8,作为对上述各图所示方法的实现,本公开提供了一种图像识别装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
126.如图8所示,本实施例的图像识别装置包括:确定单元801和调整单元802。其中,确定单元,用于从图像帧序列的目标图像帧中,确定当前手部区域,其中,所述当前手部区域是待识别单手区域或待识别双手区域,所述待识别双手区域中的两只手对应的图像具有重合区域;调整单元,用于当所述当前手部区域是待识别双手区域时,对在前图像帧中在前手部区域的在前手部姿态信息进行调整,得到待识别手部区域的当前手部姿态信息,其中,所述在前图像帧包括所述图像帧序列中位次在所述目标图像帧之前的图像帧。
127.在本实施例中,图像识别装置的记录单元确定单元801和调整单元802的具体处理及其所带来的技术效果可分别参考图1对应实施例中步骤101和步骤102的相关说明,在此不再赘述。
128.在一些实施例中,所述装置还用于:根据所述当前手部姿态信息,在所述目标图像帧上,添加手部图像特效。
129.在一些实施例中,所述从图像帧序列的目标图像帧中,确定当前手部区域,包括:在所述目标图像帧中,确定手部图像位置得到至少一个待定手部区域;基于待定手部区域中的手部图像的位置关系,确定各个待定手部区域的处理方式,其中,所述处理方式包括以下至少一项:不处理、拆分和合并;采用所确定的处理方式处理各个待定手部区域,得到当前手部区域。
130.在一些实施例中,所述基于待定手部区域中的手部图像的位置关系,确定待定手部区域的处理方式,包括:确定待定手部区域中的手部数量;对于手部数量不小于2的待定手部区域,确定是否拆分该待定手部区域;对于手部数量为1的至少两个待定手部区域,确
定是否合并手部数量为1的待定手部区域。
131.在一些实施例中,所述对于手部数量不小于2的待定手部区域,确定是否拆分该待定手部区域,包括:在手部数量不小于2的待定手部区域中,定位第一手图像得到待定第一子区域,以及定位第二手图像得到待定第二子区域;以及所述采用所确定的处理方式处理各个待定手部区域,得到当前手部区域,包括:响应于确定待定第一子区域和待定第二子区域存在重合区域,不拆分所述手部数量不小于2的待定手部区域,以及将所述手部数量不小于2的待定手部区域确定为待识别双手区域;响应于确定待定第一子区域和待定第二子区域不存在重合区域,拆分所述手部数量不小于2的待定手部区域,得到所述待识别单手区域。
132.在一些实施例中,所述对于手部数量为1的至少两个待定手部区域,确定是否合并手部数量为1的待定手部区域,包括:确定任意两个手部数量为1的待定手部区域,是否存在重合区域;所述采用所确定的处理方式处理各个待定手部区域,得到当前手部区域,包括:合并存在重合区域的待定手部区域,得到所述待识别双手区域;如果手部数量为1的待定手部区域不与任何待定手部区域存在重合区域,将该手部数量为1的待定手部区域,确定为所述待识别单手区域。
133.在一些实施例中,所述在所述目标图像帧中,确定手部图像位置得到至少一个待定手部区域,包括:当所述在前图像帧包括手部图像时,跟踪在前图像帧的在前手部区域,确定目标图像帧的待定手部区域;当确定在前图像不包括手部图像时,对所述目标图像帧进行手部图像识别,得到所述待定手部区域。
134.在一些实施例中,所述当所述在前图像帧包括手部图像时,跟踪在前图像帧的在前手部区域,确定目标图像帧的待定手部区域,包括:如果在前手部区域是双手区域,调整在前手部区域的双手区域得到包括双手图像的待定手部区域。
135.在一些实施例中,手部姿态信息包括以下至少一项:三维旋转信息、手部根节点信息和尺寸信息;以及所述当所述当前手部区域是待识别双手区域时,调整在前图像帧中在前手部区域的在前手部姿态信息,包括以下至少一项:根据在前手部姿态信息中的三维旋转信息,确定当前手部姿态信息中的三维旋转信息;根据手部根节点在所述在前手部区域的相对位置,确定手部根节点在所述待识别双手区域中的相对位置;根据所述在前手部区域中手部图像的尺寸信息,确定所述待识别双手区域中对应的手部区域的尺寸信息。
136.在一些实施例中,待识别双手区域包括第一子区域和第二子区域,在前手部区域包括第三子区域和第四子区域;其中,第三子区域中的手部图像和第一子区域中的手部图像指示同一手部,第四子区域中的手部图像与第二子区域中的手部图像指示同一手部;其中,第一子区域的第一子姿态信息,根据第三子区域中手部图像的第三子姿态信息确定;第二子区域的第二子姿态信息,根据第四子区域中手部图像的第四子姿态信息确定。
137.在一些实施例中,第三子姿态信息包括第三子三维旋转信息;以及所述将在前手部姿态信息中的三维旋转信息,确定为当前手部姿态信息中的三维旋转信息,包括:将第三子姿态信息中第三子三维旋转信息,确定为第一子三维旋转信息。
138.在一些实施例中,第三子姿态信息包括第三子根节点位置信息;以及所述根据手部根节点在所述在前手部区域的相对位置,确定手部根节点在所述待识别双手区域中的相对位置,包括:确定第三子根节点信息中的宽度值与第三子区域的宽度值的第一比值,以及
将第一比值与第一子区域的宽度值的乘积,确定为第一子根节点信息中的宽度值;确定第三子根节点信息中的高度值与第三子区域的高度值的第二比值,以及将第二比值与第一子区域的高度值的乘积,确定为第一子根节点信息中的高度值。
139.在一些实施例中,第三子姿态信息包括第三子尺寸信息;以及所述根据所述在前手部区域中手部图像的尺寸信息,确定所述待识别双手区域中对应的手部区域的尺寸信息,包括:确定第三子手部尺寸信息中的手部尺寸值与在前图像帧的尺寸值的第三子区域的第三比值,以及将第三比值与目标图像帧的尺寸值的乘积,确定为第一子区域的手部尺寸值。
140.在一些实施例中,所述装置还用于:当所述当前手部区域是待识别单手区域时,调用单手姿态估计模型,识别所述待识别单手区域中的各个单手区域中的手部姿态,得到各个待识别单手区域对应的手部姿态信息。
141.请参考图9,图9示出了本公开的一个实施例的图像识别方法可以应用于其中的示例性系统架构。
142.如图9所示,系统架构可以包括终端设备901、902、903,网络904,服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
143.终端设备901、902、903可以通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种客户端应用,例如网页浏览器应用、搜索类应用、新闻资讯类应用。终端设备901、902、903中的客户端应用可以接收用户的指令,并根据用户的指令完成相应的功能,例如根据用户的指令在信息中添加相应信息。
144.终端设备901、902、903可以是硬件,也可以是软件。当终端设备901、902、903为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备901、902、903为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
145.服务器905可以是提供各种服务的服务器,例如接收终端设备901、902、903发送的信息获取请求,根据信息获取请求通过各种方式获取信息获取请求对应的展示信息。并展示信息的相关数据发送给终端设备901、902、903。
146.需要说明的是,本公开实施例所提供的图像识别方法可以由终端设备执行,相应地,图像识别装置可以设置在终端设备901、902、903中。此外,本公开实施例所提供的图像识别方法还可以由服务器905执行,相应地,图像识别装置可以设置于服务器905中。
147.应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
148.下面参考图10,其示出了适于用来实现本公开实施例的电子设备(例如图9中的终端设备或服务器)的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒
体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
149.如图10所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储装置1008加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理。在ram 1003中,还存储有电子设备1000操作所需的各种程序和数据。处理装置1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
150.通常,以下装置可以连接至i/o接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1009;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1008。通信装置1008可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
151.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1008从网络上被下载和安装,或者从存储装置1008被安装,或者从rom 1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的方法中限定的上述功能。
152.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
153.在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网
络),以及任何当前已知或未来研发的网络。
154.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
155.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从图像帧序列的目标图像帧中,确定当前手部区域,其中,所述当前手部区域是待识别单手区域或待识别双手区域,所述待识别双手区域中的两只手对应的图像具有重合区域;当所述当前手部区域是待识别双手区域时,对在前图像帧中在前手部区域的在前手部姿态信息进行调整,得到待识别手部区域的当前手部姿态信息,其中,所述在前图像帧包括所述图像帧序列中位次在所述目标图像帧之前的图像帧。
156.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
157.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
158.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“确定当前手部区域的单元”。
159.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
160.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom
或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
161.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
162.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
163.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1