图像识别方法、装置、设备及计算机存储介质与流程

文档序号:24193474发布日期:2021-03-09 15:55阅读:87来源:国知局
图像识别方法、装置、设备及计算机存储介质与流程

1.本申请属于计算机领域,尤其涉及一种图像识别方法、装置、设备及计算机存储介质。


背景技术:

2.随着计算机技术的变革以及算法的提升,人工智能在经历了充满波折的发展历程之后,成为了世界各国家的战略性发展方向。而图像识别是人工智能的一个分支,具有很广泛的应用。
3.在相关技术中,在一些场景下,比如,图像中有多个人或者采集图像的摄像头距离拍摄对象比较远,为了保证识别结果的准确性,需要利用至少两个图像识别模型来进行图像识别。每个图像识别模型负责不同的识别任务。
4.但是,由于每一个图像都需要通过至少两个模型来进行识别,导致对图像的识别速度比较慢。


技术实现要素:

5.本申请实施例提供一种图像识别方法、装置、设备及计算机存储介质,能够提高对图像的识别速度。
6.一方面,本申请实施例提供一种图像识别方法,包括:
7.获取第一图像,所述第一图像为图像序列中的非首帧图像;
8.在已确定第二图像中包括目标对象的情况下,获取所述目标对象在所述第二图像中的第一位置信息;所述第二图像为所述图像序列中位于所述第一图像之前的图像,所述第一图像与所述第二图像之间相隔的图像帧数小于预定帧数;
9.从所述第一图像中裁剪出与所述第一位置信息对应的图像区域,得到第一裁剪图像;
10.将所述第一裁剪图像输入至第一图像识别模型中,得到对所述第一图像中所述目标对象的识别结果。
11.另一方面,本申请实施例提供了一种图像识别装置,包括:
12.第一获取模块,用于获取第一图像,所述第一图像为图像序列中的非首帧图像;
13.第二获取模块,用于在已确定第二图像中包括目标对象的情况下,获取所述目标对象在所述第二图像中的第一位置信息;所述第二图像为所述图像序列中位于所述第一图像之前的图像,所述第一图像与所述第二图像之间相隔的图像帧数小于预定帧数;
14.第一裁剪模块,用于从所述第一图像中裁剪出与所述第一位置信息对应的图像区域,得到第一裁剪图像;
15.第一输入模块,用于将所述第一裁剪图像输入至第一图像识别模型中,得到对所述第一图像中所述目标对象的识别结果。
16.再一方面,本申请实施例提供了一种图像识别设备,所述设备包括:处理器以及存
储有计算机程序指令的存储器;
17.所述处理器执行所述计算机程序指令时实现以上任意一项所述的图像识别方法。
18.再一方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现以上任意一项所述的图像识别方法。
19.本申请实施例的图像识别方法、装置、设备及计算机存储介质,当对图像序列中的第一图像进行识别时,如果在第一图像之前的第二图像中具有目标对象,那么可以根据目标对象在第二图像中的第一位置信息,从第一图像中裁剪出第一裁剪图像。然后,通过第一图像识别模型对第一裁剪图像进行识别,得到第一图像中目标对象的识别结果。由于第一图像与第二图像之间相隔的图像帧数小于预定帧数,说明第一图像与第二图像之间比较近,进而说明目标对象在第一图像与第二图像中的位置变化比较小。因此,可以根据第二图像中目标对象的第一位置信息,从第一图像中裁剪出第一裁剪图像,并进行目标对象的识别。可见,在对第一图像进行识别时,可以利用之前帧的第二图像中目标对象的第一位置信息,不需要通过一个模型确定第一图像中目标对象的位置信息。由此,在对第一图像进行识别时,减少了一个模型的运算量,从而提高对第一图像的识别速度。
附图说明
20.为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本申请提供的一个实施例的用于实现图像识别方法的系统架构图;
22.图2是本申请提供的一个实施例的图像识别方法的流程示意图;
23.图3是本申请提供的另一个实施例的图像识别方法的流程示意图;
24.图4是本申请提供的又一个实施例的图像识别方法的流程示意图;
25.图5是本申请提供的再一个实施例的图像识别方法的流程示意图;
26.图6是本申请提供的一个实施例的首帧图像的识别原理示意图;
27.图7是本申请提供的一个实施例的第二帧图像的识别原理示意图;
28.图8是本申请提供的再一个实施例的图像识别方法的流程示意图;
29.图9是本申请提供的再一个实施例的图像识别方法的流程示意图;
30.图10是本申请提供的一个实施例的确定图像位置信息的原理示意图;
31.图11是本申请提供的一个实施例的第三帧图像的识别原理示意图;
32.图12-a和图12-b是本申请提供的再一个实施例的图像识别方法的流程示意图;
33.图13是本申请提供的一个实施例的图像识别装置的结构示意图;
34.图14是本申请提供的一个实施例的图像识别设备的硬件结构示意图。
具体实施方式
35.下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领
域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
36.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
37.在背景技术中已经提到在一些场景下,为了保证识别结果的准确性,需要利用至少两个图像识别模型来进行图像识别。其中的一个图像识别模型可以先确定图像中目标对象的位置,然后,根据目标对象的位置,通过另一个图像识别模型对图像中的目标对象进行识别。
38.但是,由于每一个图像都需要通过至少两个模型来进行识别,导致识别速度比较慢。
39.针对图像识别速度比较慢的技术问题,本申请提供一种图像识别方法,下面先说明用于实现图像识别方法的系统架构。
40.图1是本申请提供的一个实施例的用于实现图像识别方法的系统架构图。如图1所示,图像采集设备104采集图像序列,并将图像序列输入至图像识别设备102中,通过图像识别设备102对图像序列中的各个图像进行识别,得到图像序列的识别结果。
41.图像识别设备102获取图像序列中的第一图像,为了对第一图像中的目标对象进行识别,先判断在图像序列中位于第一图像之前的第二图像中是否包括目标对象。在第二图像中包括目标对象的情况下,获取目标对象在第二图像中的第一位置信息。然后,从第一图像中裁剪出与第一位置信息对应的图像区域,得到第一裁剪图像。再然后,将第一裁剪图像输入至第一图像识别模型中,得到对第一图像中目标对象的识别结果。
42.由此可见,在本申请实施例中,在对第一图像中的目标对象进行识别时,根据之前帧的第二图像中目标对象的第一位置信息从第一图像中裁剪出第一裁剪图像,不需要通过一个模型确定第一图像中目标对象的位置信息。
43.本申请实施例的图像识别方法可以应用于人脸识别、手势识别以及图像中未知对象的识别的场景,但不限于以上的场景。
44.下面通过几个例子说明本申请实施例的图像识别方法的应用场景。
45.比如,在拍摄到人脸的图像序列之后,在对图像序列中的第一图像进行人脸识别时,可以根据图像序列中位于第一图像之前的第二图像中的人脸位置信息,从第一图像中裁剪出第一裁剪图像。然后,将第一裁剪图像输入至人脸关键点识别模型(即第一图像识别模型)中,得到第一图像中人脸的关键点,根据人脸的关键点进行身份验证。这种方案可以应用于员工或学生考勤的场景中。
46.再比如,在拍摄到手势的图像序列之后,在对图像序列中的第一图像进行手势识别时,可以根据图像序列中位于第一图像之前的第二图像中的手势位置信息,从第一图像中裁剪出第一裁剪图像。然后,将第一裁剪图像输入至手势关键点识别模型(即第一图像识
别模型)中,得到第一图像中手部的关键点,根据手部的关键点确定手势动作。根据手势动作进行对应的控制。由此,实现了通过手势进行隔空操作。
47.再比如,在对未知植物进行拍摄,得到未知植物的图像序列之后,在根据图像序列中的第一图像识别植物时,可以根据图像序列中位于第一图像之前的第二图像中的植物位置信息,从第一图像中裁剪出第一裁剪图像。然后,将第一裁剪图像输入至植物识别模型(即第一图像识别模型)中,得到第一图像中植物的属性信息。
48.基于上述的系统架构图,下面说明本申请实施例的图像识别方法。
49.图2是本申请提供的一个实施例的图像识别方法的流程示意图。图像识别方法可以应用于上述的图像识别设备。如图2所示,图像识别方法包括:
50.s202,获取第一图像,第一图像为图像序列中的非首帧图像;
51.s204,在已确定第二图像中包括目标对象的情况下,获取目标对象在第二图像中的第一位置信息;第二图像为图像序列中位于第一图像之前的图像,第一图像与第二图像之间相隔的图像帧数小于预定帧数;
52.s206,从第一图像中裁剪出与第一位置信息对应的图像区域,得到第一裁剪图像;
53.s208,将第一裁剪图像输入至第一图像识别模型中,得到对第一图像中目标对象的识别结果。
54.下面对上述的各个步骤分别进行说明。
55.在s202中,按照图像序列中图像的排列顺序,从图像序列中获取第一图像。比如,在对图像序列中的一个图像识别之后,从图像序列中获取在该图像之后一帧的第一图像。
56.作为一个示例,图像序列可以为一个视频中的图像序列。
57.作为另一个示例,图像序列可以为一段时间段内拍摄的连续多帧图像。比如,图像序列为采集得到的连续多帧人脸图像或者连续多帧手势图像。
58.作为一个示例,在s202之后,且在s204之前,图像识别方法还可以包括以下至少一项:
59.对第一图像进行预处理,其中,预处理包括缩放处理以及归一化处理中的至少一项;
60.对第一图像进行模糊消除处理。
61.在s204中,在对图像序列中的每一帧图像进行识别时,可以确定每一帧图像中是否包括目标对象。由于在图像序列中第二图像位于第一图像之前,因此,先对第二图像进行识别,在对第二图像识别时会识别第二图像中是否包括目标对象。在对第二图像识别之后,获取第一图像,并对第一图像进行识别。
62.第一图像与第二图像之间相隔的图像帧数小于预定帧数,这样可以保证第一图像与第二图像中的目标对象的位置变化比较小。比如,第一图像与第二图像之间相隔的图像帧数小于1,即第一图像与第二图像之间没有相隔图像,也就是说,第二图像为图像序列中位于第一图像之前一帧的图像。
63.在s206中,由于第一图像与第二图像中的目标对象的位置变化比较小,因此,可以根据目标对象在第二图像中的第一位置信息,从第一图像中裁剪出第一裁剪图像。第一裁剪图像可以看作是第一图像中目标对象的图像区域。
64.在s208中,作为一个示例,第一图像识别模型可以包括关键点识别模型,识别结果
包括第一图像中目标对象的关键点。
65.作为另一个示例,第一图像识别模型可以包括对象信息识别模型,识别结果包括第一图像中目标对象的信息,比如目标对象的属性信息。
66.在本申请实施例中,当对图像序列中的第一图像进行识别时,如果在第一图像之前的第二图像中具有目标对象,那么可以根据目标对象在第二图像中的第一位置信息,从第一图像中裁剪出第一裁剪图像。然后,通过第一图像识别模型对第一裁剪图像进行识别,得到第一图像中目标对象的识别结果。由于第一图像与第二图像之间相隔的图像帧数小于预定帧数,说明第一图像与第二图像之间比较近,进而说明目标对象在第一图像与第二图像中的位置变化比较小。因此,可以根据第二图像中目标对象的第一位置信息,从第一图像中裁剪出第一裁剪图像,并进行目标对象的识别。可见,在对第一图像进行识别时,可以利用之前帧的第二图像中目标对象的第一位置信息,不需要通过一个模型确定第一图像中目标对象的位置信息。由此,在对第一图像进行识别时,减少了一个模型的运算量,从而提高对第一图像的识别速度。
67.在本申请的一个或多个实施例中,第一位置信息可以包括用于表征目标对象在第二图像中的第一位置范围;如图3所示,s206可以包括:
68.s2062,按照预定放大方式扩大第一位置范围,得到第二位置范围;
69.s2064,从第一图像中裁剪出在第二位置范围内的第一裁剪图像。
70.下面对上述的s2062和s2064进行说明。
71.作为一个示例,第一位置范围可以为矩形框。s2062可以包括:对于用于表征目标对象在第二图像中的矩形框,将该矩形框的长与宽分别乘以预定系数,得到放大后的矩形框,放大后的矩形框可以表征目标对象在第一图像中的位置。其中,放大前的矩形框的中心点可以与放大后的矩形框的中心点相同,预定系数可以为大于或等于1的数值。
72.s2064可以包括:沿着放大后的矩形框的边界线,从第一图像中裁剪出第一裁剪图像。
73.在本申请实施例中,由于目标对象在第一图像与第二图像中的位置有可能发生了变化,因此,扩大第一位置范围,得到第二位置范围。然后,从第一图像中裁剪出在第二位置范围内的第一裁剪图像。由此,可以使得目标对象在扩大后的第二位置范围中,保证后续识别结果的准确性。
74.在本申请的一个或多个实施例中,如图4所示,获取目标对象在第二图像中的第一位置信息,可以包括:
75.s2042,在已通过第二图像识别模型确定目标对象在第二图像中的第一位置信息的情况下,从存储数据中获取已通过第二图像识别模型确定的目标对象在第二图像中的第一位置信息,存储数据中包括在对图像序列中的图像进行识别的过程中产生的数据。
76.下面以第二图像为图像序列中的首帧图像、第一图像为图像序列中的第二帧图像、第一图像识别模型为关键点识别模型以及第二图像识别模型为位置识别模型为例,并结合图5、图6和图7对本申请实施例中的图像识别方法进行说明。
77.如图5所示,图像识别方法可以包括:
78.s302,获取图像序列中的首帧图像;
79.s304,利用第一图像识别模型和第二图像识别模型对首帧图像进行识别;
80.s306,获取图像序列中的第二帧图像;
81.s308,根据目标对象在首帧图像中的位置信息,通过第一图像识别模型对第二帧图像进行识别。
82.下面结合图6说明上述的s304。
83.如图6所示,在识别首帧图像时,先将首帧图像输入至位置识别模型中,得到目标对象在首帧图像中的矩形框404,矩形框404表征目标对象在首帧图像中的位置信息。将矩形框404放大,得到放大后的矩形框406。根据放大后的矩形框406从首帧图像中裁剪出目标对象的图像区域,并将该图像区域输入至关键点识别模型中,得到目标对象在首帧图像中的关键点。
84.下面结合图7说明上述的s308。
85.如图7所示,在识别第二帧图像时,先获取目标对象在首帧图像中的矩形框404,然后,对将矩形框404放大,得到放大后的矩形框406。根据放大后的矩形框406从第二帧图像中裁剪出放大后的矩形框406对应的图像区域,并将该图像区域输入至关键点识别模型中,得到目标对象在第二帧图像中的关键点。
86.在本申请实施例中,如果已通过第二图像识别模型确定目标对象在第二图像中的第一位置信息,则直接从存储数据中获取第一位置信息即可。然后,可以根据目标对象在上一帧的第二图像中的第一位置信息,从当前帧的第一图像中裁剪出第一裁剪图像,不需要通过一个模型确定第一图像中目标对象的位置信息。
87.在本申请的一个或多个实施例中,如图8所示,获取目标对象在第二图像中的第一位置信息,可以包括:
88.s2044,在未通过第二图像识别模型确定目标对象在第二图像中的第一位置信息的情况下,获取目标对象在第三图像中的第二位置信息,第三图像为图像序列中位于第二图像之前的图像,第二图像与第三图像之间相隔的图像帧数小于预定帧数;
89.s2046,根据第三图像以及第二图像,对第二位置信息进行校正,得到第一位置信息。
90.下面以第三图像为图像序列中的首帧图像、第二图像为图像序列中的第二帧图像、第一图像为图像序列中的第三帧图像以及第一图像识别模型为关键点识别模型为例对本申请实施例进行说明。
91.由于上述已经说明了如何得到目标对象在首帧图像中的关键点和目标对象在第二帧图像中的关键点,以及得到目标对象在首帧图像中的位置信息,在此不再重复赘述。下面说明如何确定目标对象在第二帧图像中的位置信息。
92.由于在识别首帧图像以及第二帧图像时,会通过关键点识别模型分别识别目标对象在首帧图像以及第二帧图像中的关键点。因此,可以根据首帧图像中目标对象的关键点以及第二帧图像中目标对象的关键点,确定目标对象从首帧图像至第二帧图像的位置变化情况。
93.然后,根据目标对象从首帧图像至第二帧图像的位置变化情况,对目标对象在首帧图像中的位置信息(即第二位置信息)进行校正,得到目标对象在第二帧图像中的位置信息(即第一位置信息)。
94.在本申请实施例中,可以根据第三图像以及第二图像,对目标对象在第三图像中
的第二位置信息进行校正,得到目标对象在第二图像中的第一位置信息。然后,可以根据目标对象在上一帧的第二图像中的第一位置信息,从当前帧的第一图像中裁剪出第一裁剪图像,不需要通过一个模型确定第一图像中目标对象的位置信息。
95.在本申请的一个或多个实施例中,根据第三图像以及第二图像,对第二位置信息进行校正,得到第一位置信息,可以包括:
96.获取第二图像中目标对象的多个第一关键点以及第三图像中目标对象的多个第二关键点,多个第一关键点与多个第二关键点一一对应;
97.根据对应的第一关键点与第二关键点的坐标,确定仿射变换矩阵,仿射变换矩阵用于表征从第三图像至第二图像目标对象的位置变化信息;
98.基于仿射变换矩阵,对第二位置信息进行仿射变换,得到第一位置信息。
99.下面继续以第三图像为图像序列中的首帧图像、第二图像为图像序列中的第二帧图像、第一图像为图像序列中的第三帧图像以及第一图像识别模型为关键点识别模型为例,并结合图9说明本申请实施例的图像识别方法。其中,图9示出的图像识别方法是在图5示出的图像识别方法的基础上来实现的。相比于图5示出的图像识别方法,图9所示的图像识别方法还可以包括:
100.s310,获取图像序列中的第三帧图像;
101.s312,确定目标对象在第二帧图像中的位置信息;
102.s314,根据目标对象在第二帧图像中的位置信息,通过第一图像识别模型对第三帧图像进行识别。
103.下面结合图10说明上述的s312。
104.如图10所示,首先,获取目标对象在首帧图像中的三个关键点以及目标对象在第二帧图像中的三个关键点,比如,当目标对象是人脸的情况下,获取首帧图像中的左眼中心点、右眼中心点以及鼻头这三个关键点,以及第二帧图像中的左眼中心点、右眼中心点以及鼻头这三个关键点。根据首帧图像中的三个关键点与第二帧图像中的三个关键点的坐标变化情况,确定仿射变换矩阵。
105.然后,基于仿射变换矩阵,对目标对象在首帧图像中的矩形框404进行仿射变换,得到目标对象在第二帧图像中的矩形框408,该矩形框表征目标对象在第二帧图像中的位置信息。
106.其中,对目标对象在首帧图像中的矩形框进行仿射变换,得到目标对象在第二帧图像中的矩形框,具体可以包括:将首帧图像中目标对象的矩形框的四个顶点坐标值乘以仿射变换矩阵,得到一个四边形的坐标值,由此得到一个四边形框。在该四边形框为矩形框的情况下,该四边形框即为目标对象在第二帧图像中的矩形框;在该四边形框为平行四边形框的情况下,将平行四边形框转换为矩形框,得到目标对象在第二帧图像中的矩形框。
107.下面结合图11说明上述的s314。
108.如图11所示,在对第三帧图像进行识别时,先获取用于表征目标对象在第二帧图像中的位置的矩形框408,然后将该矩形框进行放大,得到放大后的矩形框410。然后,基于放大后的矩形框410,从第三帧图像中裁剪出放大后的矩形框410内的图像区域,得到第一裁剪图像。再然后,将第一裁剪图像输入至关键点识别模型中,得到目标对象在第三帧图像中的关键点。
109.在本申请实施例中,可以根据首帧图像中目标对象的关键点以及第二帧图像中目标对象的关键点,确定目标对象从首帧图像至第二帧图像的位置变化情况。然后,根据目标对象从第三图像至第二图像的位置变化情况,对目标对象在第三图像中的第二位置信息进行校正,得到目标对象在第二图像中的第一位置信息。再然后,可以根据目标对象在上一帧的第二图像中的第一位置信息,从当前帧的第一图像中裁剪出第一裁剪图像,不需要通过一个模型确定第一图像中目标对象的位置信息。
110.在本申请的一个或多个实施例中,根据对应的第一关键点与第二关键点的坐标,确定仿射变换矩阵之后,图像识别方法还可以包括:
111.基于仿射变换矩阵,对第一位置信息进行仿射变换,得到第三位置信息,第三位置信息为预测出的目标对象在第一图像中的位置信息。
112.下面继续以第三图像为图像序列中的首帧图像、第二图像为图像序列中的第二帧图像、第一图像为图像序列中的第三帧图像为例进行说明。
113.基于仿射变换矩阵,对目标对象在首帧图像中的位置的矩形框进行仿射变换,得到目标对象在第二帧图像中的位置的矩形框。然后,基于该仿射变换矩阵,对目标对象在第二帧图像中的位置的矩形框进行仿射变换,得到预测出的目标对象在第三帧图像中的位置的矩形框。
114.如何对第一位置信息进行仿射变换与如何对第二位置信息进行仿射变换类似,而上述已经说明了如何对第二位置信息进行仿射变换,在此不再赘述如何对第一位置信息进行仿射变换。
115.在本申请实施例中,可以基于仿射变换矩阵预测目标对象在第一图像中的位置信息,以便于基于目标对象在第一图像中的位置信息,对位于第一图像之后的图像中的目标对象进行识别,不需要通过一个模型来确定位于第一图像之后的图像的位置信息。
116.在本申请的一个或多个实施例中,第二图像识别模型在对第二图像进行识别时,第二图像识别模型可以识别第二图像中至少一个对象的位置信息以及各对象的类别。比如,第二图像识别模型可以识别第二图像中的人脸、手部、臂部以及腿部,还识别各个部位在第二图像中的位置信息。对第二图像识别模型的识别结果进行存储,形成存储数据。因此,存储数据中包括通过第二图像识别模型识别的第二图像中至少一个对象的位置信息以及各对象的类别。
117.s202之前,图像识别方法还可以包括:
118.从存储数据中获取至少一个对象中各对象的类别;
119.根据第一图像识别模型对应的目标类别,将至少一个对象中属于目标类别的对象确定为目标对象,其中,目标类别为第一图像识别模型用于识别的对象的类别。
120.下面通过一个例子说明本申请实施例。
121.比如,通过第二图像识别模型识别第二图像中的人脸、手部、臂部以及腿部。如果第一图像识别模型为人脸识别模型,则将第二图像中的人脸确定为目标对象。如果第一图像识别模型为手势识别模型,则将第二图像中的手部确定为目标对象。
122.在本申请的一个实施例中,在第一图像识别模型包括关键点识别模型,识别结果包括第一图像中目标对象的关键点的情况下;s202之前,图像识别方法还可以包括:
123.在得到第一位置信息的情况下,从第二图像中裁剪出与第一位置信息对应的图像
区域,得到第二裁剪图像;
124.将第二裁剪图像输入至关键点识别模型,得到第二裁剪图像中目标对象的多个目标关键点以及每个目标关键点的置信度,置信度表征目标关键点为正确关键点的概率;
125.在各个目标关键点的置信度大于或等于预设阈值的情况下,确定第二图像中具有目标对象;
126.在至少部分目标关键点的置信度小于预设阈值的情况下,确定第二图像中没有目标对象。
127.在本申请实施例中,在将第二裁剪图像输入至关键点识别模型之后,关键点识别模型不仅识别目标对象在第二图像中的关键点,还确定目标对象在第二图像中的各个关键点的置信度。然后,根据置信度可以准确地确定第二图像中是否有目标对象。
128.基于上述内容,下面以第一图像为图像序列中的第i+2帧图像、第二图像为图像序列中的第i+1帧图像、第三图像为图像序列中的第i帧图像、第一图像识别模型为关键点识别模型以及第二图像识别模型为位置识别模型为例,并结合图12-a和图12-b对本申请实施例的图像识别方法进行说明。图12-a中s524之后执行的步骤是图12-b中的步骤。图12-a中的步骤和图12-b中的步骤是一个图像识别方法。
129.如图12-a,图像识别方法可以包括:
130.s502,获取图像序列中的第i帧图像,i∈[1,n-2]中的任意一个整数,n表示图像序列中图像的总数量;
[0131]
s504,将第i帧图像输入至位置识别模型中,得到第i帧图像中包括的至少一个对象的类别以及各个对象的位置信息;
[0132]
s506,根据关键点识别模型对应的目标类别,在第i帧图像包括的至少一个对象中确定目标对象;比如,关键点识别模型为人脸识别模型,则在第i帧图像包括的人脸、臂部、腿部以及手部中确定目标对象为人脸;
[0133]
s508,根据目标对象在第i帧图像中的位置信息,从第i帧图像中裁剪出目标对象的图像区域a;
[0134]
s510,将图像区域a输入至关键点识别模型中,得到第i帧图像中目标对象的关键点以及各个关键点的置信度;
[0135]
s512,根据第i帧图像中目标对象的各个关键点的置信度,确定第i帧图像中是否存在目标对象;
[0136]
s514,在确定第i帧图像中存在目标对象的情况下,由于关键点识别模型输出的关键点是图像区域a中的关键点,因此,将图像区域a中目标对象的关键点坐标转换为第i帧图像中目标对象的关键点坐标,并输出第i帧图像中目标对象的关键点坐标;
[0137]
s516,在第i帧图像中不存在目标对象的情况下,令i=i+1,返回至s502,识别下一帧图像;
[0138]
s518,获取图像序列中的第i+1帧图像;
[0139]
s520,根据目标对象在第i帧图像中的位置信息,从第i+1帧图像中裁剪出与该位置信息对应的图像区域b;
[0140]
s522,将图像区域b输入至关键点识别模型中,得到第i+1帧图像中目标对象的关键点以及各个关键点的置信度;
[0141]
s524,根据第i+1帧图像中目标对象的各个关键点的置信度,确定第i+1帧图像中是否存在目标对象;
[0142]
s526,在第i+1帧图像中不存在目标对象的情况下,令i=i+2,返回至s502,识别下一帧图像;
[0143]
在第i+1帧图像中存在目标对象的情况下,执行s528,如图12-b所示,图像识别方法还可以包括:
[0144]
s528,将图像区域b中目标对象的关键点坐标转换为第i+1帧图像中目标对象的关键点坐标,并输出第i+1帧图像中目标对象的关键点坐标;
[0145]
s530,获取图像序列中的第i+2帧图像;
[0146]
s532,根据第i帧图像中目标对象的关键点以及第i+1帧图像中目标对象的关键点,对目标对象在第i帧图像中的位置信息进行校正,得到目标对象在第i+1帧图像中的位置信息;
[0147]
s534,根据目标对象在第i+1帧图像中的位置信息,从第i+2帧图像中裁剪出与该位置信息对应的图像区域c;
[0148]
s536,将图像区域c输入至关键点识别模型中,得到第i+2帧图像中目标对象的关键点以及各个关键点的置信度。
[0149]
另外,在s536之后,图像识别方法还可以包括:根据第i+2帧图像中目标对象的各个关键点的置信度,确定第i+2帧图像中是否存在目标对象。此步骤类似于上述的s524,并依次对图像序列中的各个图像进行识别,直到对对图像序列中的各个图像识别完为止。
[0150]
与本申请实施例的图像识别方法对应地,本申请实施例还提供一种图像识别装置。图13是本申请提供的一个实施例的图像识别装置的结构示意图。如图13所示,图像识别装置600包括:
[0151]
第一获取模块602,用于获取第一图像,第一图像为图像序列中的非首帧图像;
[0152]
第二获取模块604,用于在已确定第二图像中包括目标对象的情况下,获取目标对象在第二图像中的第一位置信息;第二图像为图像序列中位于第一图像之前的图像,第一图像与第二图像之间相隔的图像帧数小于预定帧数;
[0153]
第一裁剪模块606,用于从第一图像中裁剪出与第一位置信息对应的图像区域,得到第一裁剪图像;
[0154]
第一输入模块608,用于将第一裁剪图像输入至第一图像识别模型中,得到对第一图像中目标对象的识别结果。
[0155]
在本申请实施例中,当对图像序列中的第一图像进行识别时,如果在第一图像之前的第二图像中具有目标对象,那么可以根据目标对象在第二图像中的第一位置信息,从第一图像中裁剪出第一裁剪图像。然后,通过第一图像识别模型对第一裁剪图像进行识别,得到第一图像中目标对象的识别结果。由于第一图像与第二图像之间相隔的图像帧数小于预定帧数,说明第一图像与第二图像之间比较近,进而说明目标对象在第一图像与第二图像中的位置变化比较小。因此,可以根据第二图像中目标对象的第一位置信息,从第一图像中裁剪出第一裁剪图像,并进行目标对象的识别。可见,在对第一图像进行识别时,可以利用之前帧的第二图像中目标对象的第一位置信息,不需要通过一个模型确定第一图像中目标对象的位置信息。由此,在对第一图像进行识别时,减少了一个模型的运算量,从而提高
对第一图像的识别速度。
[0156]
在本申请的一个或多个实施例中,第一位置信息包括用于表征目标对象在第二图像中的第一位置范围;第一裁剪模块606可以包括:
[0157]
范围扩大单元,用于按照预定放大方式扩大第一位置范围,得到第二位置范围;
[0158]
裁剪单元,用于从第一图像中裁剪出在第二位置范围内的第一裁剪图像。
[0159]
在本申请实施例中,由于目标对象在第一图像与第二图像中的位置有可能发生了变化,因此,扩大第一位置范围,得到第二位置范围。然后,从第一图像中裁剪出在第二位置范围内的第一裁剪图像。由此,可以使得目标对象在扩大后的第二位置范围中,保证后续识别结果的准确性。
[0160]
在本申请的一个或多个实施例中,第二获取模块604可以包括:
[0161]
第一获取单元,用于在已通过第二图像识别模型确定目标对象在第二图像中的第一位置信息的情况下,从存储数据中获取第一位置信息,存储数据中包括在对图像序列中的图像进行识别的过程中产生的数据。
[0162]
在本申请实施例中,如果已通过第二图像识别模型确定目标对象在第二图像中的第一位置信息,则直接从存储数据中获取第一位置信息即可。然后,可以根据目标对象在上一帧的第二图像中的第一位置信息,从当前帧的第一图像中裁剪出第一裁剪图像,不需要通过一个模型确定第一图像中目标对象的位置信息。
[0163]
在本申请的一个或多个实施例中,第二获取模块604可以包括:
[0164]
第二获取单元,用于在未通过第二图像识别模型确定目标对象在第二图像中的第一位置信息的情况下,从存储数据中获取目标对象在第三图像中的第二位置信息,第三图像为图像序列中位于第二图像之前的图像,第二图像与第三图像之间相隔的图像帧数小于预定帧数,存储数据中包括在对图像序列中的图像进行识别的过程中产生的数据;
[0165]
校正单元,用于根据第三图像以及第二图像,对第二位置信息进行校正,得到第一位置信息。
[0166]
在本申请实施例中,可以根据第三图像以及第二图像,对目标对象在第三图像中的第二位置信息进行校正,得到目标对象在第二图像中的第一位置信息。然后,可以根据目标对象在上一帧的第二图像中的第一位置信息,从当前帧的第一图像中裁剪出第一裁剪图像,不需要通过一个模型确定第一图像中目标对象的位置信息。
[0167]
在本申请的一个或多个实施例中,校正单元可以包括:
[0168]
关键点获取单元,用于获取第二图像中目标对象的多个第一关键点以及第三图像中目标对象的多个第二关键点,多个第一关键点与多个第二关键点一一对应;
[0169]
矩阵确定单元,用于根据对应的第一关键点与第二关键点的坐标,确定仿射变换矩阵,仿射变换矩阵用于表征从第三图像至第二图像目标对象的位置变化信息;
[0170]
仿射变换单元,用于基于仿射变换矩阵,对第二位置信息进行仿射变换,得到第一位置信息。
[0171]
在本申请实施例中,可以根据首帧图像中目标对象的关键点以及第二帧图像中目标对象的关键点,确定目标对象从首帧图像至第二帧图像的位置变化情况。然后,根据目标对象从第三图像至第二图像的位置变化情况,对目标对象在第三图像中的第二位置信息进行校正,得到目标对象在第二图像中的第一位置信息。再然后,可以根据目标对象在上一帧
的第二图像中的第一位置信息,从当前帧的第一图像中裁剪出第一裁剪图像,不需要通过一个模型确定第一图像中目标对象的位置信息。
[0172]
在本申请的一个或多个实施例中,图像识别装置600还可以包括:
[0173]
仿射变换模块,用于基于仿射变换矩阵,对第一位置信息进行仿射变换,得到第三位置信息,第三位置信息为预测出的目标对象在第一图像中的位置信息。
[0174]
在本申请实施例中,可以基于仿射变换矩阵预测目标对象在第一图像中的位置信息,以便于基于目标对象在第一图像中的位置信息,对位于第一图像之后的图像中的目标对象进行识别,不需要通过一个模型来确定位于第一图像之后的图像的位置信息。
[0175]
在本申请的一个或多个实施例中,存储数据中包括通过第二图像识别模型识别的第二图像中至少一个对象的位置信息以及各对象的类别;图像识别装置600还可以包括:
[0176]
类别获取模块,用于从存储数据中获取至少一个对象中各对象的类别;
[0177]
第一确定模块,用于根据第一图像识别模型对应的目标类别,将至少一个对象中属于目标类别的对象确定为目标对象,其中,目标类别为第一图像识别模型用于识别的对象的类别。
[0178]
在本申请的一个或多个实施例中,第一图像识别模型包括关键点识别模型,识别结果包括第一图像中目标对象的关键点;图像识别装置600还可以包括:
[0179]
第二裁剪模块,用于在得到第一位置信息的情况下,从第二图像中裁剪出与第一位置信息对应的图像区域,得到第二裁剪图像;
[0180]
第二输入模块,用于将第二裁剪图像输入至关键点识别模型,得到第二裁剪图像中目标对象的多个目标关键点以及每个目标关键点的置信度,置信度表征目标关键点为正确关键点的概率;
[0181]
第二确定模块,用于在各个目标关键点的置信度大于或等于预设阈值的情况下,确定第二图像中具有目标对象;
[0182]
第三确定模块,用于在至少部分目标关键点的置信度小于预设阈值的情况下,确定第二图像中没有目标对象。
[0183]
在本申请实施例中,在将第二裁剪图像输入至关键点识别模型之后,关键点识别模型不仅识别目标对象在第二图像中的关键点,还确定目标对象在第二图像中的各个关键点的置信度。然后,根据置信度可以准确地确定第二图像中是否有目标对象。
[0184]
本申请实施例提供一种图像识别设备,图像识别设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述任意一项的图像识别方法。
[0185]
图14是本申请提供的一个实施例的图像识别设备的硬件结构示意图。
[0186]
在图像识别设备可以包括处理器701以及存储有计算机程序指令的存储器702。
[0187]
具体地,上述处理器701可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。
[0188]
存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合
适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在综合网关容灾设备的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。
[0189]
在特定实施例中,存储器702包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
[0190]
存储器可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
[0191]
处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现上述实施例中的任意一种图像识别方法。
[0192]
在一个示例中,图像识别设备还可包括通信接口703和总线710。其中,如图14所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。
[0193]
通信接口703,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
[0194]
总线710包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
[0195]
另外,结合上述实施例中的图像识别方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种图像识别方法。
[0196]
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0197]
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、
光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0198]
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0199]
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
[0200]
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1