对象识别模型的训练方法、对象识别方法和对象识别设备与流程

文档序号:31407859发布日期:2022-09-03 07:43阅读:66来源:国知局
对象识别模型的训练方法、对象识别方法和对象识别设备与流程

1.本公开涉及计算机技术领域,具体来说,涉及一种对象识别模型的训练方法、对象识别方法和对象识别设备。


背景技术:

2.为了对例如植物、昆虫等各种对象进行识别,用户可以提供所拍摄的对象图像,并利用预先训练获得的对象识别模型来完成识别,从而获得例如物种信息等识别结果。然而,目前的对象识别模型的准确率还较低,因此存在对改进的对象识别模型的需求。


技术实现要素:

3.本公开的目的之一是提供一种对象识别模型的训练方法、对象识别方法和对象识别设备。
4.根据本公开的第一方面,提出了一种对象识别模型的训练方法,所述训练方法包括:
5.获取训练集,其中,所述训练集包括用于训练的多组输入样本和与输入样本对应的标记结果,每个输入样本包括对象图像和元数据,元数据被配置为描述相应的对象图像;
6.基于神经网络,使用所述训练集来训练所述对象识别模型;以及
7.当训练准确率大于或等于预设准确率时结束训练,并得到训练后的对象识别模型。
8.在一些实施例中,在基于神经网络,使用所述训练集来训练所述对象识别模型之前,所述训练方法还包括:
9.对元数据进行归一化处理。
10.在一些实施例中,元数据包括对象图像的拍摄地理位置、拍摄时间、拍摄场景、对象部位和对象状态中的至少一者。
11.在一些实施例中,所述神经网络包括分类器组件和至少一个块组件,所述至少一个块组件包括第一块组件;
12.基于神经网络,使用所述训练集来训练所述对象识别模型包括:
13.通过所述第一块组件根据对象图像产生第一图像特征向量;
14.根据元数据产生第一嵌入特征向量;
15.将第一图像特征向量与第一嵌入特征向量融合以产生第一融合特征向量;以及
16.通过所述分类器组件根据第一融合特征向量产生分类结果,以训练所述对象识别模型。
17.在一些实施例中,根据元数据产生第一嵌入特征向量包括:
18.通过至少一个全连接层根据元数据产生第一嵌入特征向量。
19.在一些实施例中,根据元数据产生第一嵌入特征向量包括:
20.通过至少一个全连接层和至少一个线性整流层根据元数据产生第一嵌入特征向
量。
21.在一些实施例中,第一图像特征向量的维度与第一嵌入特征向量的维度相同。
22.在一些实施例中,将第一图像特征向量与第一嵌入特征向量融合以产生第一融合特征向量包括:
23.将第一图像特征向量中的每个图像向量分量分别与第一嵌入特征向量中的相应的嵌入向量分量相加,以产生第一融合特征向量中的各个融合向量分量。
24.在一些实施例中,将第一图像特征向量与第一嵌入特征向量融合以产生第一融合特征向量包括:
25.在预设维度上将第一图像特征向量与第一嵌入特征向量进行连接,以产生第一融合特征向量。
26.在一些实施例中,所述至少一个块组件还包括与所述第一块组件串联的第二块组件;
27.通过所述第一块组件根据对象图像产生第一图像特征向量包括:
28.通过所述第二块组件根据对象图像产生第二图像特征向量;
29.根据元数据产生第二嵌入特征向量;
30.将第二图像特征向量与第二嵌入特征向量融合以产生第二融合特征向量;以及
31.通过所述第一块组件根据第二融合特征向量产生第一图像特征向量。
32.在一些实施例中,所述神经网络还包括预处理组件;
33.基于神经网络,使用所述训练集来训练所述对象识别模型包括:
34.通过所述预处理组件根据对象图像产生预处理图像,并将预处理图像作为所述至少一个块组件中的与所述预处理组件相邻的块组件的输入。
35.在一些实施例中,所述训练方法还包括:
36.获取测试集,其中,所述测试集包括用于测试的多组输入样本和与输入样本对应的标记结果,每个输入样本包括对象图像和元数据,元数据被配置为描述相应的对象图像,且所述测试集不同于所述训练集;
37.使用所述测试集来确定训练后的对象识别模型的模型准确率;以及
38.当模型准确率小于所述预设准确率时,对所述对象识别模型重新进行训练。
39.在一些实施例中,神经网络包括残差神经网络。
40.根据本公开的第二方面,提出了一种对象识别方法,所述对象识别方法包括:
41.获取待识别的对象图像和元数据,其中,元数据被配置为描述待识别的对象图像;
42.使用对象识别模型根据对象图像和元数据确定识别结果,其中,所述对象识别模型是采用如上所述的训练方法来训练获得的。
43.根据本公开的第三方面,提出了一种对象识别设备,所述对象识别设备包括存储器和处理器,所述存储器上存储有指令,当所述指令被所述处理器执行时,实现如上所述的训练方法或对象识别方法。
44.根据本公开的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现如上所述的训练方法或对象识别方法。
45.根据本公开的第五方面,提出了一种计算机程序产品,所述计算机程序产品包括
指令,当所述指令被处理器执行时,实现如上所述的训练方法或对象识别方法。
46.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
47.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
48.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
49.图1示出了根据本公开的一示例性实施例的网络环境的示意图;
50.图2示出了根据本公开的一示例性实施例的用于对象识别模型的训练方法的流程示意图;
51.图3示出了根据本公开的一示例性实施例的训练方法的步骤s120的流程示意图;
52.图4示出了根据本公开的一具体示例的训练方法的示意图;
53.图5示出了根据本公开的一示例性实施例的训练方法的步骤s121的流程示意图;
54.图6示出了根据本公开的另一具体示例的训练方法的示意图;
55.图7示出了根据本公开的另一示例性实施例的用于对象识别模型的训练方法的流程示意图;
56.图8示出了根据本公开的一示例性实施例的对象识别方法的流程示意图;
57.图9示出了根据本公开的一示例性实施例的对象识别设备的示意图。
58.注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
59.为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
60.下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
61.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
62.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
63.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
64.图1示出了根据本公开的一示例性实施例的网络环境900的示意图。网络环境900可以包括移动设备902、远程服务器903、训练设备904和数据库905,它们通过网络906彼此有线或无线地耦接。网络906可以体现为广域网(诸如移动电话网络、公共交换电话网络、卫星网络、互联网等)、局域网(诸如wi-fi、wi-max、zigbeetm、bluetoothtm等)和/或其它形式的联网功能。
65.移动设备902可以为移动电话、平板计算机、膝上型计算机、个人数字助理和/或被配置用于采集、存储和/或传输诸如数字照片之类的图像的其它计算装置。因此,移动设备902可以包括诸如数字相机之类的图像采集单元和/或可以被配置为从其它装置接收图像。移动设备902可以包括显示器。显示器可以被配置用于向用户901提供一个或多个用户界面,所述用户界面可以包括多个界面元素,用户901可以与界面元素进行交互等。例如,用户901可以使用移动设备902对植物、昆虫等对象进行拍照并上传或存储对象图像。移动设备902可以向用户输出有关植物、昆虫等对象的物种信息等。
66.远程服务器903可以被配置为对经由网络906从移动设备902接收的对象图像等进行分析以确定对象的种类等,例如用于执行如下文所述的对象识别方法。远程服务器903还可以被配置为创建并训练如下文所述的对象识别模型。
67.训练设备904可以耦合到网络906以促进对象识别模型的训练,例如用于执行如下文所述的对象识别模型的训练方法。训练设备904可以具有多个cpu和/或gpu以辅助训练对象识别模型,具体的训练过程将在下文中详细阐述。
68.数据库905可以耦合到网络906并提供远程服务器903进行相关计算所需的数据。数据库905可以采取本领域中已知的各种数据库技术来实现。远程服务器903可以根据需要访问数据库905以进行相关操作。
69.应该理解的是,本文的网络环境仅仅是一个示例。本领域技术人员可以根据需要,增加更多的装置或删减一些装置,并且可以对一些装置的功能和配置进行修改。
70.在一些示例中,可以基于神经网络来训练和建立对象识别模型,其训练过程如下:
71.为每个对象种类获取一定数量的标注有标记结果的对象图像,为每个对象种类准备的对象图像的数量可以相等也可以不等。为每个对象图像标注的标记结果可以包括该对象图像中的对象名称(包括学名、别称、生物学分类的类别名称等)。为每个对象种类获取的对象图像可以尽可能包括该种类的对象的不同拍摄地理位置、不同拍摄时间、不同拍摄场景、不同对象部位、不同对象状态等的图像。
72.将经过上述标注处理的对象图像划分为用于训练对象识别模型的训练集和用于对训练结果进行测试的测试集。通常训练集内的样本的数量明显大于测试集内的样本的数量,例如,测试集内的样本的数量占总样本数量的5%到20%,相应的训练集内的样本的数量占总样本数量的80%到95%。本领域技术人员应该理解的是,训练集和测试集内的样本数量可以根据需要来调整。
73.利用训练集对神经网络进行训练,直至达到预设准确率。在一些情况下,还可以根据需要利用测试集对经过训练的神经网络的模型准确率进行测试。若模型准确率不满足要求,则增加训练集中的样本数量,并利用更新的训练集重新对神经网络进行训练,直到经过训练的神经网络的模型准确率满足要求为止。
74.上述神经网络例如可以包括卷积神经网络(cnn)或者残差神经网络(resnet)等。
其中,卷积神经网络为深度前馈神经网络,其利用卷积核扫描对象图像,提取出对象图像中待识别的特征,进而对对象的待识别的特征进行识别。另外,在对对象图像进行识别的过程中,可以直接将原始的对象图像输入卷积神经网络模型,而无需对对象图像进行预处理。卷积神经网络模型相比于其他的识别模型,具备更高的识别准确率以及识别效率。而残差神经网络模型相比于卷积神经网络模型增加了恒等映射层,可以避免随着网络(网络中叠层的数量)的增加,卷积神经网络造成的准确率饱和、甚至下降的现象。残差神经网络模型中恒等映射层的恒等映射函数需要满足:恒等映射函数与残差神经网络模型的输入之和等于残差神经网络模型的输出。引入恒等映射以后,残差神经网络模型对输出的变化更加明显,因此可以大大提高对象识别的准确率和效率。在下文的具体示例中,将以神经网络为残差神经网络为例进行具体阐述,然而可以理解的是,在不脱离本公开的构思的前提下,也可以采用其他类型的神经网络进行训练。
75.根据上文的描述可知,在训练对象识别模型时,一般仅根据对象图像本身来进行训练,例如将对象图像的rgb数据输入神经网络进行训练,这往往导致较低的识别准确率。为了提高对象识别模型的准确率,本公开提出了一种对象识别模型的训练方法,不仅仅基于对象图像本身,还基于被配置为描述对象图像的元数据来进行对象识别模型的训练,以提高识别准确率和识别效率。如图2所示,在本公开的一示例性实施例中,该训练方法可以包括:
76.步骤s110,获取训练集,其中,训练集包括用于训练的多组输入样本和与输入样本对应的标记结果,每个输入样本包括对象图像和元数据,元数据被配置为描述相应的对象图像。
77.其中,对象图像可以包括用户拍摄植物、昆虫等对象所获得的相片、视频等。对象图像可以是例如rgb格式的。对象图像中的每个像素可以由红(r)、绿(g)和蓝(b)3个颜色分量构成。可以理解的是,也可以采用其他的数据格式来表示对象图像,例如rgba格式、hsv格式等。
78.元数据(meta data)是用来描述对象图像的数据,每一幅对象图像可以具有其相应的元数据。在一些实施例中,元数据可以包括对象图像的拍摄地理位置、拍摄时间、拍摄场景、对象部位和对象状态中的至少一者。其中,拍摄场景可以用来描述拍摄对象时的环境,例如是室内还是室外等;对象部位可以用来描述对象图像中所呈现的或主要呈现的对象部位,例如植物的根、茎、叶、花、果实等,昆虫的头、腹等;对象状态可以用来描述对象图像中所呈现的对象当前所处的阶段,例如植物的幼苗期、花期、果实期等,昆虫的幼虫期、成虫期等。可以理解的是,在其他一些实施例中,元数据还可以包括用来描述对象图像的其他数据,在此不作限制。在训练对象识别模型的过程中,可以使所有的元数据参与到训练过程中;或者,可以挑选其中能够对对象的识别起到关键作用的一部分元数据用于训练,以在提高模型的准确率的同时保持较高的训练效率,避免训练资源的浪费。
79.在一些实施例中,为了方便训练过程中数据的处理,训练方法还可以包括对元数据进行归一化处理,从而将元数据的取值范围限定在期望的范围内,例如使得元数据的绝对值在0至1之间(包含0和1),以改善训练结果。可以理解的是,根据具体的元数据对识别所起的作用的大小,以及元数据和对象图像之间的关系,可以根据需要来调整元数据的取值范围,在此不作限制。此外,根据不同类型的元数据,还可以采用不同的归一化方式。
80.例如,在元数据为对象图像的拍摄地理位置的情况下,通常可以采用经度和纬度来表征该拍摄地理位置。那么,在对拍摄地理位置进行归一化的过程中,可以采用正弦函数和余弦函数来将经度和纬度转换为绝对值在0至1之间的值。在一具体示例中,若某一拍摄地理位置可以被表示为(l1,l2),其中,l1为该拍摄地理位置的经度(表示为角度),l2为该拍摄地理位置的纬度(表示为角度),那么,归一化后的拍摄地理位置可以被表示为(sin(πl1/180),cos(πl1/180),sin(πl2/180),cos(πl2/180)),即可以采用一个维度为4的向量来唯一地表示一具体的拍摄地理位置。
81.在元数据为对象图像的拍摄时间的情况下,可以将拍摄时间分为拍摄日期和在这一天中的拍摄时刻两个部分,并将拍摄时刻转换为世界标准(utc)时间的形式。然后,分别采用归一化的方式来表示拍摄日期和拍摄时刻。在一具体示例中,拍摄时间可以被表示为(sin(2πd/y),cos(2πd/y),sin(2πt/d),cos(2πt/d)),其中,d表示当前的拍摄日期为一年中的第d天,y表示一年中的总天数(为365或366),t表示当前的拍摄时刻为一天中的第t个时刻,d表示一天中的总时刻数(例如在时刻精确到小时的情况下,为24),即同样可以采用一个维度为4的向量来唯一地表示一具体的拍摄时间。
82.综上可知,在元数据为某一能够连续取值的量时,可以利用正弦函数和余弦函数来实现该元数据的归一化。然而可以理解的是,也可以采用其他函数来实现能够连续取值的元数据的归一化,在此不作限制。
83.在元数据为对象图像的拍摄场景、对象部位和对象状态中的一者的情况下,或者说在元数据为某一离散量的情况下,可以采用“查字典”的方式来确定元数据的取值。例如,在元数据表示植物的各个部位的情况下,可以用1来表示植物的根部位,2表示植物的茎部位,3表示植物的叶部位,4表示植物的花部位,以及5表示植物的果实部位。这样,对象部位可以被编码为一个[5,x]的矩阵,其中5对应于5个分类,也就是说每个分类对应于一个x个数值的向量。分别对对象部位、对象状态等元数据进行编码后,可以得到一个[n,x]的向量,n为这种离散特征的个数。
[0084]
在训练过程中,可以将各种元数据组合在一起,例如根据各种元数据分别形成向量,然后将这些向量相加进行融合。例如,可以将各种元数据的向量通过若干次(例如,3次)全连接层转换为预设维度(例如,2048)的向量,然后将这些向量的相应分量分别相加得到表示所有参与训练的元数据的向量。
[0085]
返回图2,在本公开的示例性实施例中,训练方法还可以包括:
[0086]
步骤s120,基于神经网络,使用训练集来训练对象识别模型。
[0087]
如上文所述,由于训练集的输入样本中包含了对象图像及其元数据,因此有助于改善所训练的对象识别模型的准确率。对于不同结构的神经网络而言,可以采用不同的方式将元数据嵌入到训练过程中。
[0088]
在一些实施例中,如图3和图4所示,神经网络可以包括分类器组件830和至少一个块组件(block),至少一个块组件被包含在图像特征提取网络810中,且至少一个块组件可以包括第一块组件。相应地,基于神经网络,使用训练集来训练对象识别模型可以包括:
[0089]
步骤s121,通过第一块组件根据对象图像产生第一图像特征向量;
[0090]
步骤s122,根据元数据产生第一嵌入特征向量;
[0091]
步骤s123,将第一图像特征向量与第一嵌入特征向量融合以产生第一融合特征向
量;以及
[0092]
步骤s124,通过分类器组件根据第一融合特征向量产生分类结果,以训练对象识别模型。
[0093]
在一具体示例中,第一块组件可以是图像特征提取网络810中的与分类器组件830相邻的块组件。也就是说,在训练过程中,对象图像经过完整的图像特征提取网络810(例如,残差神经网络中的网络骨架(backbone))被转换为第一图像特征向量,而元数据经过嵌入网络820被转换为第一嵌入特征向量,第一图像特征向量与第一嵌入特征向量相融合产生第一融合特征向量(图中未示出),且所产生的第一融合特征向量被输入到分类器组件830中以产生分类结果。在这样的示例中,图像特征提取网络810和嵌入网络820是彼此独立的,仅仅在做最后的分类前,第一图像特征向量与第一嵌入特征向量被融合。
[0094]
在一些实施例中,嵌入网络820可以包括至少一个全连接层。相应地,根据元数据产生第一嵌入特征向量可以包括通过至少一个全连接层根据元数据产生第一嵌入特征向量。
[0095]
在另一些实施例中,嵌入网络820还可以包括至少一个线性整流层。相应地,根据元数据产生第一嵌入特征向量可以包括通过至少一个全连接层和至少一个线性整流层根据元数据产生第一嵌入特征向量。
[0096]
此外,可以采用多种方式来对第一图像特征向量和第一嵌入特征向量进行融合。在一些实施例中,第一图像特征向量的维度可以与第一嵌入特征向量的维度相同。这样,将第一图像特征向量与第一嵌入特征向量融合以产生第一融合特征向量可以包括将第一图像特征向量中的每个图像向量分量分别与第一嵌入特征向量中的相应的嵌入向量分量相加(add),以产生第一融合特征向量中的各个融合向量分量,且所产生的第一融合特征向量的维度依然保持与第一图像特征向量的维度或第一嵌入特征向量的维度相同。例如,若第一图像特征向量a的维度为[ax,ay],第一嵌入特征向量b的维度为[bx,by],那么,如果a和b相加得到第一融合特征向量c,其维度为[ax,ay],其中要求ax=bx,且ay=by。在这种情况下,所产生的第一融合特征向量的维度不变,因此可以无需对后续的网络结构进行调整,不会破坏网络的主体结构。
[0097]
在另一些实施例中,将第一图像特征向量与第一嵌入特征向量融合以产生第一融合特征向量可以包括在预设维度上将第一图像特征向量与第一嵌入特征向量进行连接(concatenate),以产生第一融合特征向量。例如,若第一图像特征向量a的维度为[ax,ay],第一嵌入特征向量b的维度为[bx,by],那么,如果a和b在第一个维度上进行连接,将得到第一融合特征向量c,其维度为[ax+bx,ay],其中要求ay=by。在这种情况下,在后续训练中可能涉及对网络结构的一些相应调整,因为第一融合特征向量的维度发生了变化,但此时不要求第一图像特征向量与第一嵌入特征向量的维度必须是相同的。
[0098]
在另一些实施例中,图像特征提取网络810和嵌入网络820可以不是完全独立的,某一个块组件的输入可以是由其上方的另一个块组件产生的图像特征向量与相应的嵌入特征向量相融合所产生的融合特征向量。换句话说,嵌入网络可以部分地嵌入到图像特征提取网络中,在各个阶段插入元数据,强化提取的特征,其中,每个嵌入网络都可以看作是一个独立的嵌入网络。具体而言,如图5和图6所示,至少一个块组件还可以包括与第一块组件811串联的第二块组件812。其中,图6中所示的各个块组件都被包含在图像特征提取网络
810中。相应地,通过第一块组件根据对象图像产生第一图像特征向量可以包括:
[0099]
步骤s1211,通过第二块组件根据对象图像产生第二图像特征向量;
[0100]
步骤s1212,根据元数据产生第二嵌入特征向量;
[0101]
步骤s1213,将第二图像特征向量与第二嵌入特征向量融合以产生第二融合特征向量;以及
[0102]
步骤s1214,通过第一块组件根据第二融合特征向量产生第一图像特征向量。
[0103]
类似地,可以采用形成第一嵌入特征向量的方式来根据元数据产生第二嵌入特征向量,并采用形成第一融合特征向量的方式来根据第二图像特征向量与第二嵌入特征向量产生第二融合特征向量。依此类推,还可以在更多的块组件处进行图像特征向量与嵌入特征向量的融合,并将所产生的融合特征向量作为下一级块组件的输入,以改善训练效果。
[0104]
此外,如图6所示,在一些实施例中,神经网络还可以包括预处理组件815(stem),该预处理组件815也被包含在backbone中。相应地,基于神经网络,使用训练集来训练对象识别模型可以包括:通过预处理组件根据对象图像产生预处理图像,并将预处理图像作为至少一个块组件中的与预处理组件相邻的块组件的输入。其中,预处理组件和块组件的具体设置方式可以参考残差神经网络中的设置,在此不再赘述。
[0105]
根据实验结果,如图6的具体示例中所示,在四个块组件处用同样的方式来嵌入可以强化元数据的作用,从而获得较好的训练效果。具体而言,对象图像经由预处理组件815的预处理后产生预处理图像。然后,预处理图像被输入到第四块组件814中,转换为第四图像特征向量。并且,元数据被输入到第四嵌入网络824中,转换为第四嵌入特征向量。然后,第四图像特征向量与第四嵌入特征向量融合以产生第四融合特征向量,该第四融合特征向量被输入到第三块组件813中,转换为第三图像特征向量。并且,元数据经过第三嵌入网络823转换为第三嵌入特征向量。然后,第三图像特征向量与第三嵌入特征向量融合以产生第三融合特征向量,该第三融合特征向量继续被输入到第二块组件812中,转换为第二图像特征向量。并且,元数据经过第二嵌入网络822转换为第二嵌入特征向量。然后,第二图像特征向量与第二嵌入特征向量融合以产生第二融合特征向量,该第二融合特征向量继续被输入到第一块组件812中,转换为第一图像特征向量。并且,元数据经过第一嵌入网络821转换为第一嵌入特征向量。其中,根据残差神经网络的特点,第四嵌入网络824、第三嵌入网络823、第二嵌入网络822和第一嵌入网络821输出的第四嵌入特征向量、第三嵌入特征向量、第二嵌入特征向量和第一嵌入特征向量的维度可以分别为256,512,1024和2048。在一具体示例中,第四嵌入网络824、第三嵌入网络823和第二嵌入网络822可以分别包括仅一个全连接层和一个线性整流层,而第一嵌入网络821可以包括三个全连接层和三个线性整流层,其中最后一个全连接层输出维度为2048的特征向量。最后,第一图像特征向量与第一嵌入特征向量融合以产生第一融合特征向量,该第一融合特征向量被输入到分类器组件830中以产生分类结果。
[0106]
可以理解的是,在其他一些实施例中,在两个相邻的将接收融合特征向量的块组件之间还可以存在其他的块组件。此外,在预处理组件与第四块组件之间,和/或在第一块组件与分类器组件之间,也可以存在其他的块组件。
[0107]
返回图2,在本公开的示例性实施例中,训练方法还可以包括:
[0108]
步骤s130,当训练准确率大于或等于预设准确率时结束训练,并得到训练后的对
象识别模型。
[0109]
进一步地,为了验证训练所得的对象识别模型的模型准确率,在一些实施例中,如图7所示,训练方法还可以包括:
[0110]
步骤s210,获取测试集,其中,测试集包括用于测试的多组输入样本和与输入样本对应的标记结果,每个输入样本包括对象图像和元数据,元数据被配置为描述相应的对象图像,且测试集不同于训练集;
[0111]
步骤s220,使用测试集来确定训练后的对象识别模型的模型准确率;以及
[0112]
步骤s230,当模型准确率小于预设准确率时,对对象识别模型重新进行训练。
[0113]
如上文所述,测试集和训练集中的输入样本并不完全相同,因而可以用测试集来测试对象识别模型是否对训练集之外的对象图像也有很好的识别效果。在测试过程中,通过比较根据测试集中的对象图像及其元数据所产生的输出结果,来计算对象识别模型的模型准确率。在一些示例中,模型准确率的计算方法可以与训练准确率的计算方法相同。当测试得到的模型准确率小于预设准确率时,表明对象识别模型的识别效果还不够好,因而可以调整训练集,具体例如可以增加训练集中的样本数量,或者调整对象识别模型本身,或者对上述两者均进行调整,然后重新训练对象识别模型来改善其识别效果。
[0114]
本公开还提出了一种对象识别方法,如图8所示,该对象识别方法可以包括:
[0115]
步骤s310,获取待识别的对象图像和元数据,其中,元数据被配置为描述待识别的对象图像;
[0116]
步骤s320,使用对象识别模型根据对象图像和元数据确定识别结果,其中,对象识别模型是采用如上所述的训练方法进行训练所获得的。
[0117]
本公开还提出了一种对象识别设备,如图9所示,该对象识别设备可以包括存储器720和处理器710,存储器720上存储有指令,当指令被处理器710执行时,实现如上所述的训练方法或对象识别方法。
[0118]
其中,处理器710可以根据存储在存储器720中的指令执行各种动作和处理。具体地,处理器710可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是x86架构或者是arm架构等。
[0119]
存储器720存储有可执行指令,该指令在被处理器710执行上文所述的对象识别模型的训练方法或对象识别方法。存储器720可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、增强型同步动态随机存取存储器(esdram)、同步连接动态随机存取存储器(sldram)和直接内存总线随机存取存储器(drram)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0120]
本公开还提出了一种计算机可读存储介质,该计算机可读存储介质上存储有指令,当指令被处理器执行时,实现如上所述的对象识别模型的训练方法或对象识别方法。
[0121]
类似地,本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。应注意,本文描述的计算机可读存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
[0122]
本公开进一步提出了一种计算机程序产品,该计算机程序产品可以包括指令,当指令被处理器执行时,实现如上所述的对象识别模型的训练方法或对象识别方法。
[0123]
指令可以是将由一个或多个处理器直接地执行的任何指令集,诸如机器代码,或者间接地执行的任何指令集,诸如脚本。本文中的术语“指令”、“应用”、“过程”、“步骤”和“程序”在本文中可以互换使用。指令可以存储为目标代码格式以便由一个或多个处理器直接处理,或者存储为任何其他计算机语言,包括按需解释或提前编译的独立源代码模块的脚本或集合。指令可以包括引起诸如一个或多个处理器来充当本文中的各神经网络的指令。本文其他部分更加详细地解释了指令的功能、方法和例程。
[0124]
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0125]
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
[0126]
在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
[0127]
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
[0128]
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形
之间的差异。
[0129]
另外,前面的描述可能提及了被“连接”或“耦接”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦接”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦接”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
[0130]
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
[0131]
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
[0132]
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
[0133]
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1