图像识别模型的训练方法、图像识别方法、装置及设备
文献发布时间:2024-04-18 19:53:33
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图像识别模型的训练方法、图像识别方法、装置及设备。
背景技术
图像识别是指利用计算机对图像进行处理、分析和理解,以识别各种目标和对象的技术,可以应用在例如人脸识别、商标识别等各种场景。
在商标识别场景中,随着影视综种类的不断扩大,需要检索的商标种类不断的累加,这就要求模型针对不同的商标都能具有不错的识别能力,即,较强的泛化性能。通常的图像识别模型只能用于一种识别场景,通过该识别场景下的一些识别难度较高的样本来进行训练,可以使得模型的识别精度越来越高。但是,图像识别模型若在特定识别场景中获得越来越高的识别精度,模型的泛化性能就会变得越来越弱,对于一些识别场景很难划分地很细的情况,模型的识别效果就会降低。
发明内容
本申请提供一种图像识别模型的训练方法、图像识别方法、装置及设备,能够提高图像识别模型的泛化能力,进而增大识别场景。
第一方面,本申请提供一种图像识别模型的训练方法,包括:获取预训练模型,预训练模型是基于包括多种识别对象的通用样本训练得到的;获取包括目标识别对象的训练样本,以及训练样本对应的类别标签,将训练样本输入预训练模型,得到预训练模型的预设提取层输出的第一特征;获取图像识别模型,将训练样本输入图像识别模型,得到图像识别模型的预设提取层输出的第二特征,以及图像识别模型的分类层输出的预测类别;确定第一特征与第二特征之间的第一损失,并确定预测类别与训练样本对应的类别标签之间的第二损失;融合第一损失与第二损失,得到最终损失,通过最终损失对图像识别模型进行调整,直至调整后的图像识别模型符合收敛条件。
采用本方案,通过多种识别对象的通用样本先训练得到预训练模型,该预训练模型能够应用于识别多种识别对象,具有较好的泛化能力。然后基于目标识别对象的训练样本对图像识别模型进行训练,并且在训练图像识别模型时,通过提前训练好的预训练模型提取的特征来计算损失,能够加快训练,提高训练效率。同时,图像识别模型以预训练模型提取的特征作为参考,可以学习预训练模型的特征表达,从而保留预训练得到的泛化能力,能够应用于更广泛的识别场景。
在本申请的一种可能的实施方式中,融合第一损失与第二损失,得到最终损失,包括:确定第一损失对应的第一权重,以及第二损失对应的第二权重,其中,第二权重大于第一权重;基于第一权重、第二权重对第一损失与第二损失进行加权求和,得到最终损失。
在本申请的一种可能的实施方式中,预训练模型中包括多个特征提取层,预训练模型的预设提取层为多个特征提取层中的至少两个,至少两个预设提取层的层级不同,图像识别模型的预设提取层与预训练模型的预设提取层的层级相同。
在本申请的一种可能的实施方式中,第一特征包括预训练模型中的多个预设提取层分别输出的第一浅层特征、第一中层特征和第一深层特征,第二特征包括图像识别模型中的多个预设提取层分别输出的第二浅层特征、第二中层特征以及第二深层特征;基于第一特征与第二特征确定图像识别模型的第一损失,包括:确定第一浅层特征与第二浅层特征之间的浅层损失;确定第一中层特征与第二中层特征之间的中层损失;确定第一深层特征与第二深层特征之间的深层损失;将浅层损失、中层损失以及深层损失进行融合,得到图像识别模型的第一损失。
在本申请的一种可能的实施方式中,将浅层损失、中层损失以及深层损失进行融合,得到图像识别模型的第一损失,包括:分别确定浅层损失、中层损失以及深层损失的权重,基于权重将浅层损失、中层损失以及深层损失进行融合,得到第一损失。
在本申请的一种可能的实施方式中,确定第一特征与第二特征之间的第一损失,包括:通过注意力机制确定第一特征的增强权重,利用增强权重对第一特征进行加权,得到加权后的第一特征;基于加权后的第一特征与第二特征确定图像识别模型的第一损失。
第二方面,本申请提供一种图像识别方法,应用于一种电子设备,该电子设备中部署有应用上述图像识别模型的训练方法训练得到的图像识别模型,该方法包括:获取待处理图像,将待处理图像输入图像识别模型,得到图像识别模型的识别结果,识别结果包括待处理图像的目标类别。
本方案中的图像识别模型的泛化能力较强,能够适应于各种类别的待处理图像,可用性更高,并且能够在识别目标类别时具有较高的准确性。
在本申请的一种可能的实施方式中,该方法还包括:获取图像检索库,图像检索库中包括多个图像;通过图像识别模型提取得到图像检索库中每个图像的特征,得到入库特征;通过图像识别模型提取待处理图像的特征,得到待查询特征;在入库特征中检索与待查询特征相匹配的目标特征,得到目标特征对应的目标图像,作为识别结果。
在本申请的一种可能的实施方式中,基于前述,该方法还包括:获取待识别视频,在待识别视频中确定与目标图像匹配的图像区域;将图像区域进行遮挡处理。
在本申请的一种可能的实施方式中,基于前述,待处理图像包括商标图像,目标类别为商标图像的商标类别。
第三方面,本申请提供一种图像识别模型的训练装置,包括:预训练模块,用于获取预训练模型,预训练模型是基于包括多种识别对象的通用样本训练得到的;样本获取模块,用于获取包括目标识别对象的训练样本,以及训练样本对应的类别标签,将训练样本输入预训练模型,得到预训练模型的预设提取层输出的第一特征;预测模块,用于获取图像识别模型,将训练样本输入图像识别模型,得到图像识别模型的预设提取层输出的第二特征,以及图像识别模型的分类层输出的预测类别;损失计算模块,用于确定第一特征与第二特征之间的第一损失,并确定预测类别与训练样本对应的类别标签之间的第二损失;参数调整模块,用于融合第一损失与第二损失,得到最终损失,通过最终损失对图像识别模型进行调整,直至调整后的图像识别模型符合收敛条件。
第四方面,本申请提供一种图像识别装置,包括:识别模块,用于获取待处理图像,将待处理图像输入图像识别模型,得到图像识别模型的识别结果,识别结果包括待处理图像的目标类别。
第五方面,本申请提供一种电子设备,该电子设备包括存储器、一个或多个处理器。其中,该存储器中存储有一个或多个计算机程序,计算机程序包括指令,当该指令被处理器执行时,可使得电子设备执行如第一方面中的图像识别模型的训练方法。
第六方面,本申请提供一种电子设备,该电子设备包括存储器、一个或多个处理器。其中,该存储器中存储有一个或多个计算机程序,计算机程序包括指令,当该指令被处理器执行时,可使得电子设备执行如第二方面中的图像识别方法。
第七方面,本申请提供一种计算机可读介质,该计算机可读介质中存储有指令,当该指令在电子设备上运行时,使得电子设备执行如第一方面中的图像识别模型的训练方法。
第八方面,本申请提供一种计算机可读介质,该计算机可读介质中存储有指令,当该指令在电子设备上运行时,使得电子设备执行如第二方面中的图像识别方法。
第九方面,本申请提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面的图像识别模型的训练方法。
第十方面,本申请提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第二方面的图像识别方法。
可以理解地,上述提供的图像识别模型的训练装置、图像识别装置、电子设备、计算机可读介质、计算机程序产品所能达到的有益效果,可参考第一方面或第二方面中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的图像识别模型的训练方法的流程示意图;
图2为本申请实施例提供的图像识别模型的训练方法的另一流程示意图;
图3为本申请实施例提供的图像识别方法的流程示意图;
图4为本申请实施例提供的图像识别模型的训练装置的结构示意图;
图5为本申请实施例提供的图像识别装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。
需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。
本实施方式中首先提供了一种图像识别模型的训练方法,示例性的,该图像识别模型的训练方法可以应用于个人计算机、工业电脑等各种电子设备,也可以应用于服务器,本实施方式对此不做特殊限定。
图1示出了本实施方式提供的图像识别模型的训练方法的流程示意图。
如图1所示,该图像识别模型的训练方法可以包括如下步骤:
S11:获取预训练模型,预训练模型是基于包括多种识别对象的通用样本训练得到的。
S12:获取包括目标识别对象的训练样本,以及训练样本对应的类别标签,将训练样本输入预训练模型,得到预训练模型的预设提取层输出的第一特征。
S13:获取图像识别模型,将训练样本输入图像识别模型,得到图像识别模型的预设提取层输出的第二特征,以及图像识别模型的分类层输出的预测类别。
S14:确定第一特征与第二特征之间的第一损失,并确定预测类别与训练样本对应的类别标签之间的第二损失。
S15:融合第一损失与第二损失,得到最终损失,通过最终损失对图像识别模型进行调整,直至调整后的图像识别模型符合收敛条件。
在本实施方式中,通过多种识别对象的通用样本先训练得到预训练模型,使得该预训练模型能够应用于识别多种识别对象。然后基于目标识别对象的训练样本对图像识别模型进行训练,在训练图像识别模型时,以预训练模型提取的特征作为参考,可以学习预训练模型的特征表达,得到预训练对多种识别对象的识别能力,提高图像识别模型的泛化能力,从而使得训练后的图像识别模型能够应用于更广泛的识别场景。同时,通过提前训练好的预训练模型提取的特征来计算损失,能够加快训练,提高训练效率。将包括目标识别对象的图像作为训练样本,能够提高图像识别模型对目标识别对象的识别准确性。
下面对上述实施例中的各个步骤进行详细说明。
在步骤S11中,通用样本为预设数量的带标签的图像。这些图像中包括的识别对象的类别可以不同。识别对象的类型可以为人脸、表情、商品、商标等等,本实施方式对识别对象的种类不做限定。
以识别对象为商标为例,多种识别对象可以是多种不同类型的商标,例如,文字商标、图形商标、三维商标等。在不同的分类规则下,商标的类别还可以分为食品商标、服饰商标等。
具体的,通过网络可以收集到各种开源数据集或业务数据,业务数据是特定识别业务中使用的图像数据。这些开源数据集或业务数据可以是各种识别任务所使用的样本集合,例如商标A的图像集合、商标B的图像集合等等。每个样本集合中可以包括预设数量的图像,不同的样本集合中可以包括不同类型的识别对象,通过获取多种样本集合可以得到包括多种识别对象的图像集合,该图像集合中的图像称为通用样本。
示例性的,在获得多个样本集合之后,可以对获得的多个样本集合进行数据清洗,得到清洗好的数据,作为通用样本。具体的,通过聚类算法可以对多个样本集合进行聚类,根据聚类结果对样本集合进行去重,删去重复的图像,得到通用样本,可以减少图像规模,减少资源的占用。同时也可以使得通用样本更加干净。
对于商标识别场景来说,针对实际的业务场景收集数据,可以得到包含多种类别的商标图像的样本集合。该样本集合可以包括几十万张样本图像,然后再对该样本集合进行聚类去重,去重之后的数据可以减少到几万张。经过聚类去重后剩余的图像可以作为通用样本。
通过通用样本可以对预先构建的预训练模型进行训练,预训练模型中可以包括多个特征提取层,用于进行特征提取,并且还可以包括分类层,用于计算特征对应的类别。示例性的,预训练模型可以采用ResNet50的结构,也可以采用其他网络结构,例如ResNet结构等等。该预训练模型可以包括多个特征提取层,依次进行特征提取,最终提取出高维的图像特征,这些高维的图像特征可以用于分类层进行分类,确定图像的类别。
在步骤S12中,训练样本可以指包括目标识别对象的图像,例如包括商标A的多个图像等。目标识别对象可以包括商标。训练样本对应的类别标签为训练样本中的目标识别对象的真实类别。利用上述训练得到的预训练模型,可以对训练样本进行识别。将训练样本划分为多个批次,每个批次可以包括预设数量的图像。按照划分的批次可以依次将训练样本输入到预训练模型中,预训练模型中的特征提取层可以输出训练样本的特征。预设提取层可以包括其中一个或多个特征提取层,预设提取层输出的特征为第一特征。
在步骤S13中,图像识别模型可以为与预训练模型结构相同的模型。同理的,图像识别模型中也可以包括多个特征提取层,预先可以确定其中的一个或多个作为预设提取层。图像识别模型中的预设提取层与预训练模型中的预设提取层的层级可以相同。例如,预训练模型中的第一个特征提取层作为预训练模型的预设提取层,则图像识别模型中的第一个特征提取层相应地也为图像识别模型的预设提取层。可以理解的是,预训练模型中的参数是经过多种识别对象的通用样本训练后的参数,图像识别模型的参数初始可以随机设置。
预训练模型与图像识别模型的结构相同,两者均可以包括多个特征提取层。在多个特征提取层提取特征的过程中,通过卷积和池化操作,空间维度逐渐降低,通道维度逐渐增加,可以提取到越来越高维的特征。最终提取到的高维特征通过分类层,计算得出对应的预测类别。
将训练样本输入到图像识别模型中,可以得到图像识别模型中的预设提取层输出的特征,该特征作为第二特征。同时,第二特征可以再作为图像识别模型中的其他特征提取层的输入,再次进行特征提取,得到更深层次的特征。最终提取的特征作为图像识别模型中的分类层的输入,得到训练样本的预测类别。
在步骤S14中,通过预先定义的损失函数可以计算第一特征与第二特征之间的差异,得到第一损失,计算预测类别与训练样本的真实的类别标签之间的差异,得到第二损失。计算第一损失的损失函数与计算第二损失的损失函数可以不同,本实施例对此不作特殊限定。示例性的,第一损失以及第二损失可以利用多种损失函数进行计算,例如利用L1范数损失、均方误差损失、交叉熵损失等算法。
在步骤S15中,融合第一损失与第二损失可以包括将第一损失、第二损失相加,相乘等,得到的结果为最终损失。最终损失可以作为图像识别模型调整的依据,从而对图像识别模型的参数进行调整,使得调整后的损失能够缩小,模型达到收敛。通过多批训练样本可以对图像识别模型的参数进行反复调整,直到使得模型收敛,训练完成,保存训练完成时的参数,得到训练完成的图像识别模型。示例性的,图像识别模型的收敛条件可以为最终损失小于预设值。
本实施方式中,先通过通用样本训练得到预训练模型,该预训练模型能够应用于识别多种识别对象,具有较好的泛化能力。再将该预训练模型作为图像识别模型训练时的参考,通过包括目标识别对象的训练样本对该图像识别模型进一步训练。训练得到的图像识别模型可以继承预训练模型在多种识别对象上的识别能力,具有较好的泛化能力。并且,在图像识别模型的训练过程中,通过预训练模型提取的特征进行指导,可以使得图像识别模型学习预训练模型的特征表达,进一步提升泛化能力。同时,针对目标识别对象的训练样本来对图像识别模型进行调整,可以提高图像识别模型在目标识别对象上的识别精度。
本实施方式中的识别模型不仅能够识别多种识别对象,具有较好的泛化能力,还对于目标识别对象具有较高的识别精度,同时兼顾了泛化能力和识别精度。
示例性的实施方式中,第一损失与第二损失可以通过加权求和的方式融合。具体的,分别确定第一损失对应的第一权重,以及第二损失对应的第二权重,基于第一权重与第二权重对第一损失与第二损失进行加权求和,得到的结果作为最终损失。其中,第二权重要大于第一权重。第二权重为预测类别与真实类别之间的损失的权重,第二权重大于第一权重,可以加快模型输出的类别接近真实类别,从而加快模型收敛。
示例性的实施方式中,预训练模型中可以包括多个特征提取层,预训练模型的预设提取层为多个特征提取层中的至少两个,该至少两个预设提取层的层级不同。同理的,图像识别模型也包括多个特征提取层,其预设提取层与预训练模型的预设提取层的层级相同。
在预训练模型与图像识别模型均包括多个预设提取层的情况下,多个预设提取层可以具体分为三部分,第一部分通过对输入的图像进行卷积和池化,可以得到输入图像的浅层特征;该浅层特征作为第二部分的输入,再次进行卷积、池化等处理,增加特征的维度,输出维度高于浅层特征的中层特征;该中层特征可以作为第三部分的输入,通过第三部分的处理,输出维度高于中层特征的深层特征。例如,预训练模型与图像识别模型均可以采用以ResNet50的网络结构,则浅层特征可以为通道维度128维的特征,中层特征可以是通道维度256维和1024维的特征,深层特征可以为2048维的特征。
也就是说,预训练模型针对训练样本中的图像提取到的第一特征,可以包括第一浅层特征,第一中层特征以及第一深层特征。图像识别模型针对第二训练集中的图像提取到的第二特征也可以包括第二浅层特征、第二中层特征以及第二深层特征。
可以理解的,第一浅层特征、第一中层特征以及第一深层特征分别可以包括多个特征,例如,第一浅层特征可以包括两个特征提取层分别输出的特征等。同理的,第二浅层特征、第二中层特征以及第二深层特征也可以包括多个特征。
在存在多个预设提取层的情况下,计算第一损失的过程如下:确定第一浅层特征与第二浅层特征之间的浅层损失;再确定第一中层特征与第二中层特征之间的中层损失;以及确定第一深层特征与第二深层特征之间的深层损失;将得到的浅层损失、中层损失以及深层损失进行融合,融合后得到的结果作为第一损失。
确定第一损失对应的第一权重时,则可以分别确定浅层损失、中层损失以及深层损失分别对应的权重,然后再基于权重将第一损失与第二损失进行融合,得到最终损失。
示例性的,浅层损失、中层损失、深层损失与第二损失可以通过如下方式进行融合:
total_loss=w1*loss1+w2*loss2+w3*loss3+w4*loss4。
其中,loss1为浅层损失,loss2为中层损失,loss3为深层损失,loss4为第二损失。total_loss为融合后的最终损失。w1、w2、w3、w4分别为权重系数,可以根据实际情况确定。其中,第二权重为第二损失的权重,是在图像识别模型输出预测类别时的损失,因此第二损失的权重系数w4可以大于其他权系数。
本实施方式中,通过预训练模型的浅层特征、中层特征、深层特征分别确定图像识别模型的特征提取过程的损失,可以更加精确地控制图像识别模型的特征提取,使得图像识别模型的特征提取更加精确,进一步提高模型的泛化能力。
示例性的实施方式中,通过注意力机制可以确定第一特征的增强权重,利用增强权重对第一特征进行加权,通过加权后的第一特征确定图像识别模型的第一损失。具体的,确定加权后的第一特征与第二特征之间的第一损失,然后将该第一损失与第二损失进行融合,得到最终损失。
第一特征是预训练模型针对训练样本提取的特征,预训练模型已经具有一定的识别能力,通过注意力机制对第一特征进行加权后,可以提高第一特征的重要性,从而促进图像识别模型学习预训练模型的特征提取能力,进一步加快图像识别模型的收敛。
在第一特征包括第一浅层特征、第一中层特征、第一深层特征时,可以分别通过注意力机制对其进行进行加权,确定第一浅层特征的增强权重、第一中层特征的增强权重以及第一深层特征的增强权重,然后再利用各自的增强权重对其进行加权。计算加权后第一浅层特征与第二浅层特征的浅层损失、加权后第一中层特征与第二中层特征的中层损失,以及加权后第一深层特征与第二深层特征的深层损失;然后再对浅层损失、中层损失、深层损失以及第二损失进行融合,得到最终损失,进而通过最终损失对图像识别模型进行训练。
本实施方式中,通过注意力机制确定第一浅层特征、第一中层特征以及第一深层特征之间的增强权重,可以增加对特征提取比较重要的特征提取层的权重,从而加快图像识别模型的训练,提高训练效率。
本实施方式中,基于迁移学习的方式,先通过通用样本训练得到预训练模型,再在预训练模型的基础上得到对于目标识别对象的图像识别模型。但是,与迁移学习直接对预训练模型进行微调的方式不同,本实施方式中不采用直接对预训练模型进行调整的方式,而是通过预训练模型提取的特征,来指导图像识别模型的训练,使得图像识别模型学习预训练模型的特征表达,从而提高图像识别模型的泛化能力。
图2示出了图像识别模型的训练方法的另一种流程图。如图2所示,该图像识别模型的训练方法也可以包括如下步骤:
S201:输入训练样本。
S202:通过预训练模型浅层提取训练样本的第一浅层特征。其中,预训练模型浅层即为预训练模型的其中一个预设提取层。
S203:通过图像识别模型浅层提取训练样本的第二浅层特征。
S204:通过注意力机制确定第一浅层特征的权重,对第一浅层特征进行加权。
S205:通过预训练模型中层提取训练样本的第一中层特征。
S206:通过图像识别模型中层提取训练样本的第二中层特征。
S207:通过注意力机制确定第一中层特征的权重,对第一中层特征进行加权。
S208:通过预训练模型深层提取训练样本的第一深层特征。
S209:通过图像识别模型深层提取训练样本的第二深层特征。
S210:通过注意力机制确定第一深层特征的权重,对第一深层特征进行加权。
S211:通过图像识别模型确定训练样本的预测类别。
S212:计算加权后的第一浅层特征与第二浅层特征之间的损失loss1。
S213:计算加权后的第一中层特征与第二中层特征之间的损失loss2。
S214:计算加权后的第一深层特征与第二深层特征之间的损失loss3。
S215:计算预测类别与训练样本的类别标签之间的损失loss4。
S216:融合loss1、loss2、loss3与loss4得到最终损失,对图像识别模型进行训练。
可理解的,图2中各个步骤的具体实施细节,在上述实施方式中已有详细介绍,此处不再赘述。
需要理解的是,在图像识别模型的训练过程中,预训练模型的参数固定不变,只调整图像识别模型的参数。
本实施方式中还提供一种图像识别方法,能够应用于电子设备,该电子设备中预先部署有上述图像识别模型的训练方法训练得到的图像识别模型。示例性的,该电子设备可以包括个人计算机、平板电脑、增强现实/虚拟现实设备、智能家居设备、可穿戴设备等等,也可以包括服务器,本实施方式对此不作特殊限定。
图3示出了该图像识别方法的流程示意图。如图3所示,该图像识别方法可以包括如下步骤:
S31:获取待处理图像,将待处理图像输入图像识别模型,得到图像识别模型的识别结果,识别结果包括待处理图像的目标类别。
其中,待处理图像可以包括目标识别对象的图像,也可以包括其他识别对象的图像。用户可以将需要识别的待处理图像输入到电子设备中,电子设备可以调用预先部署的图像识别模型,将待处理图像作为该图像识别模型的输入,从而得到图像识别模型输出的目标类别。目标类别用于指示待处理图像中包括的目标识别对象或其他识别对象的所属类别。例如,图像识别模型可以识别出待处理图像中的商标所属的目标类别为“商标A”。
本实施方式中,电子设备中部署有图像识别模型,通过该模型电子设备不仅能够识别多种识别对象,应用范围更大,能够增大识别场景,提高识别效率,还能够提高对目标识别对象的识别精确度。
示例性的应用场景中,上述图像识别模型的训练方法可以在服务器中执行,训练得到的图像识别模型也可以部署在服务器中。便于表述,将执行上述图像识别模型的训练方法的服务器称为第一服务器,将部署有训练好的图像识别模型的服务器称为第二服务器。用户可以通过与第二服务器对应的客户端,向第二服务器发送请求,将需要识别的待处理图像发送给第二服务器。第二服务器获取到客户端发送的待处理图像后,可以利用图像识别模型来对待处理图像进行识别,得到待处理图像的识别结果。然后,第二服务器可以将该识别结果发送给对应的客户端,客户端可以将该识别结果进行显示,供用户查看。
在一种示例性的应用场景中,对待处理图像进行识别之后,还包括:获取图像检索库,该图像检索库中包括多个图像。该图像可以是包括目标识别对象的图像。通过图像识别模型提取图像检索库中每个图像的特征,得到入库特征,通过识别模型提取待处理图像的特征,得到待查询特征。在入库特征中检索与待查询特征相匹配的目标特征,得到目标特征对应的目标图像。将目标图像可以作为待处理图像的识别结果。进一步的,电子设备可以显示出识别结果,供用户查看,进而满足用户对待处理图像的识别及检索需求。
本实施方式中,图像检索库是人工预先分类好的图像。通过图像识别模型提取图像检索库中每个图像的特征,作为入库特征,通过特征匹配检索出与待处理图像的特征相匹配的目标特征,从特征层面进行匹配,可以提高匹配的精确性,从而更加准确的得出待处理图像对应的目标图像,实现图像识别。
以目标识别对象为商标举例,同一种商品的商标可能包括文字、图形等各种元素,图像检索库中可以包括同一商标的各种图像,例如正面图像、局部图像等等。通过图像识别模型可以识别出与待处理图像属于同种类别的商标的图像,进而得到该商标的各个角度、各种元素的目标图像。
示例性的,在一些场景中,视频在播放时需要将其中涉及到的商品进行遮挡。具体的,得到商品的商标对应的目标图像之后,可以获取待识别视频,在待识别视频中确定与目标图像匹配的图像区域,将该图像区域进行遮挡处理。示例性的,通过图像对比可以确定待识别视频中每一帧与目标图像是否匹配。或者,通过图像识别模型可以提取待识别视频中各个帧的特征,从而通过特征对比来确定与目标图像的特征相匹配的帧。遮挡处理指的是通过一些图像处理算法实现遮挡效果的处理方法。例如,确定与目标图像相匹配的图像区域后,可以通过马赛克算法、擦除算法等算法对这些图像区域进行处理,实现遮挡的效果。
进一步的,本实施方式还提供一种图像识别模型的训练装置,用于执行上述图像识别模型的训练方法。
图4示出了该图像识别模型的训练装置40的框图。如图4所示,该图像识别模型的训练装置40可以包括:预训练模块41,用于获取预训练模型,预训练模型是基于包括多种识别对象的通用样本训练得到的;样本获取模块42,用于获取包括目标识别对象的训练样本,以及训练样本对应的类别标签,将训练样本输入预训练模型,得到预训练模型的预设提取层输出的第一特征;预测模块43,用于获取图像识别模型,将训练样本输入图像识别模型,得到图像识别模型的预设提取层输出的第二特征,以及图像识别模型的分类层输出的预测类别;损失计算模块44,用于确定第一特征与第二特征之间的第一损失,并确定预测类别与训练样本对应的类别标签之间的第二损失;参数调整模块45,用于融合第一损失与第二损失,得到最终损失,通过最终损失对图像识别模型进行调整,直至调整后的图像识别模型符合收敛条件。
在本申请的一种示例性实施方式中,参数调整模块45具体可以包括:权重确定模块,用于确定第一损失对应的第一权重,以及第二损失对应的第二权重,其中,第二权重大于第一权重;加权模块,用于基于第一权重、第二权重对第一损失与第二损失进行加权求和,得到最终损失。
在本申请的一种示例性实施方式中,预训练模型中包括多个特征提取层,预训练模型的预设提取层为多个特征提取层中的至少两个,至少两个预设提取层的层级不同,图像识别模型的预设提取层与预训练模型的预设提取层的层级相同。
在本申请的一种示例性的实施方式中,第一特征包括预训练模型中的多个预设提取层分别输出的第一浅层特征、第一中层特征和第一深层特征,第二特征包括图像识别模型中的多个预设提取层分别输出的第二浅层特征、第二中层特征以及第二深层特征;基于此,损失计算模块44具体包括:浅层损失计算模块,用于确定第一浅层特征与第二浅层特征之间的浅层损失;中层损失计算模块,用于确定第一中层特征与第二中层特征之间的中层损失;深层损失计算模块,用于确定第一深层特征与第二深层特征之间的深层损失;损失融合模块,用于将浅层损失、中层损失以及深层损失进行融合,得到图像识别模型的第一损失。
在本申请的一种示例性实施方式中,上述损失融合模块具体用于:分别确定浅层损失、中层损失以及深层损失的权重,基于权重将浅层损失、中层损失以及深层损失进行融合,得到第一损失。
在本申请的一种示例性实施方式中,损失计算模块44具体包括:特征增强模块,用于通过注意力机制确定第一特征的增强权重,利用增强权重对第一特征进行加权,得到加权后的第一特征;增强损失计算模块,用于基于加权后的第一特征与第二特征确定图像识别模型的第一损失。
上述图像识别模型的训练装置中各模块或单元的具体细节已经在对应的图像识别模型的训练方法中进行了详细的描述,因此此处不再赘述。
本申请还提供一种图像识别装置,可应用于部署有上述图像识别模型的电子设备。如图5所示,该图像识别装置50可以包括:识别模块51,用于获取待处理图像,将待处理图像输入图像识别模型,得到图像识别模型的识别结果,识别结果包括待处理图像的目标类别。
在一种实施方式中,该图像识别装置50还可以包括:检索库获取模块,用于获取图像检索库,图像检索库中包括多个图像;入库特征提取模块,用于通过图像识别模型提取得到图像检索库中每个图像的特征,得到入库特征;查询特征提取模块,用于通过图像识别模型提取待处理图像的特征,得到待查询特征;特征识别模块,用于在入库特征中检索与待查询特征相匹配的目标特征,得到目标特征对应的目标图像,作为识别结果。
在一种实施方式中,该图像识别装置50还可以包括:视频识别模块,用于获取待识别视频,在待识别视频中确定与目标图像匹配的图像区域;图像遮挡模块,用于将图像区域进行遮挡处理。
在一种实施方式中,待处理图像包括商标图像,目标类别则为商标图像的商标类别。
上述图像识别装置中各模块或单元的具体细节已经在对应的图像识别方法中进行了详细的描述,因此此处不再赘述。
本申请实施例还提供了一种电子设备,包括处理器和存储器,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行上述图像识别模型的训练方法,或者,使所述电子设备执行上述图像识别方法。
图6示出了适于用来实现本公开实施例的电子设备的结构示意图。图6示出的电子设备100仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备100包括中央处理单元(CPU)101,其可以根据存储在只读存储器(ROM)102中的程序或者从存储部分108加载到随机访问存储器(RAM)103中的程序而执行各种适当的动作和处理。在RAM 103中,还存储有系统操作所需的各种程序和数据。CPU101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。
I/O接口105还可以连接以下部件:如键盘、鼠标等的输入部分106;包括例如阴极射线管(CRT)、液晶显示器(LCD)等、以及扬声器等的输出部分107;包括如硬盘等的存储部分108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分109。通信部分109经由诸如因特网的网络执行通信处理。驱动器110也根据需要连接至I/O接口105。可拆卸介质111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器110上,以便于从其上读出的计算机程序根据需要被安装入存储部分108。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分109从网络上被下载和安装,和/或从可拆卸介质111被安装。在该计算机程序被中央处理单元(CPU)101执行时,执行本申请实施例中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,该一个或多个程序中包括指令,当该指令被电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 一种MiniLed电视产品的电流测试系统及方法及电视机
- 一种产品电路板的测试系统和方法以及电视机