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

图像识别方法、装置、电子设备及计算机可读存储介质

文献发布时间:2024-04-18 19:59:31


图像识别方法、装置、电子设备及计算机可读存储介质

技术领域

本申请涉及人工智能技术领域,尤其涉及一种图像识别方法、装置、电子设备及计算机可读存储介质。

背景技术

图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同的目标和对象的技术,是应用深度学习算法的一种实践应用。举例来说,图像识别包括人脸识别和商品识别等。

相关技术中,由于模型在训练时,只使用了可见类样本进行训练,且由于可见类和不可见类不相交,导致在输入测试集时,结果便更倾向于对不可见类样本贴上可见类对应的标签,即出现域偏移现象,该现象会使图像识别的准确率大幅下降。此外,由于现实中的物体类别通常遵循长尾分布,即一些类别具有丰富的训练样本,而另一些类别几乎没有可用的训练样本。这些类别的训练集数据不平衡,也会导致后续图像识别的准确率的下降。

发明内容

本申请实施例提供一种图像识别方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够提高图像识别的准确率。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种图像识别方法,包括:

获取已标记的训练样本图像、以及未标记的测试样本图像;

基于所述测试样本图像对应的第一语义描述符和噪声,生成合成样本图像;

将所述训练样本图像和所述合成样本图像输入嵌入模型,并基于目标损失函数对所述嵌入模型进行训练,得到训练后的所述嵌入模型;

基于训练后的所述嵌入模型对所述测试样本图像进行嵌入处理,得到第一嵌入特征;

基于所述第一嵌入特征进行识别处理,得到识别结果。

本申请实施例提供一种图像识别装置,包括:

获取模块,用于获取已标记的训练样本图像、以及未标记的测试样本图像;

生成模块,用于基于所述测试样本图像对应的第一语义描述符和噪声,生成合成样本图像;

训练模块,用于将所述训练样本图像和所述合成样本图像输入嵌入模型,并基于目标损失函数对所述嵌入模型进行训练,得到训练后的所述嵌入模型;

嵌入模块,用于基于训练后的所述嵌入模型对所述测试样本图像进行嵌入处理,得到第一嵌入特征;

识别模块,用于基于所述第一嵌入特征进行识别处理,得到识别结果。

本申请实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的图像识别方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的图像识别方法。

本申请实施例提供一种计算机程序产品,包括计算机程序或指令,用于被处理器执行时,实现本申请实施例提供的图像识别方法。

本申请实施例具有以下有益效果:

首先通过测试样本图像对应的第一语义描述符和噪声,生成合成样本图像,接着基于训练样本图像和合成样本图像对嵌入模型进行训练,得到训练后的嵌入模型,随后调用训练后的嵌入模型对测试样本图像进行嵌入处理,并基于嵌入特征进行识别处理,如此,一方面可以缓解训练数据不平衡的问题,另一方面,也可以降低图像特征的数据维度,从而提高图像识别的准确率。

附图说明

图1是本申请实施例提供的图像识别系统100的架构示意图;

图2是本申请实施例提供的服务器200的结构示意图;

图3是本申请实施例提供的图像识别方法的流程示意图;

图4是本申请实施例提供的图像识别方法的流程示意图;

图5是本申请实施例提供的图像识别方法的流程示意图;

图6是本申请实施例提供的图像识别方法的应用场景示意图;

图7是本申请实施例提供的生成合成样本图像的原理示意图;

图8是本申请实施例提供的对比嵌入的原理示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

可以理解的是,在本申请实施例中,涉及到用户信息等相关的数据(例如用户拍摄的图片等),当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

在以下的描述中,所涉及的术语“第一第二第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一第二第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)零样本学习(ZSL,Zero-Shot Learning):主要用于解决在有标签的训练样本不足以涵盖所有对象类的情况下,如何对未知新目标进行正确分类识别的问题。在零样本学习中,通常假设可见类与不可见类集合是不相关的。在特征空间中有一部分样本是有标注的,这些样本称为可见类别样本,用于训练模型。在特征空间中还有一部分未被标注的样本实例,这些样本类别称为不可见类别样本。

2)语义描述符:即能够表征图像类别语义的语义特征,包括属性特征和文本特征,其中,属性特征可以是人为标注的,文本特征可以是从语料库中提取的,每一个类别就对应着在文本描述空间中的一个向量。

3)生成对抗网络(GAN,Generative Adversarial Network):是一种深度学习模型,通过框架中至少两个模块:特征生成器和鉴别器的互相博弈学习产生相当好的输出。

4)语义空间:即语言意义的世界,不同的语义在语义空间对应不同位置的点,意思相近的语义,在语义空间中的距离较近;相反的,在语义空间中距离较远的两个点对应的语义,差别较大。因此,不同词语在语义空间中的投影位置,可以用于表征该词语的语义。例如,语义空间可以看成三维空间,“动物”在语义空间中的位置可以是(1,2,3),“小猫”在语义空间中的位置可以是(1,1,3)。

目前,深度学习已经在计算机视觉、自然语言处理、车联网等领域广泛发展应用,其优秀性能的实现需要大量的有标签数据来进行不断训练,但考虑其广泛的适用领域,获取这些大量有标签数据十分困难。因此,无需通过训练大量标签信息的数据,就能实现标注与检测任务的零样本学习便颇具研究价值。

然而,申请人发现:相关技术提供的方案中,由于模型在训练时,只使用了可见类样本进行训练,且可见类样本的先验形式概率分布在模型中分布更广和丰富,于是在模型中,可见类更具主导地位。在输入测试集时,结果便更倾向于对不可见类样本贴上可见类的对应标签,这种现象称为域偏移现象,该现象会使零样本学习产生和传统监督学习方法相比,图像识别准确率大幅下降的问题。

此外,申请人还发现:由于现实中的物体类别通常遵循长尾分布,即其中一些类别具有丰富的训练样本,而另一些类别几乎没有可用的训练样本。这些类别的训练数据不平衡,因此在零样本学习中识别长尾分布的物品作为不可见类就难以实现。

进一步的,申请人还发现:相关技术提供的方案通常只研究实例级的图像识别分类,往往忽略了对于类级的图像识别分类,类级的图像识别分类同样具备现实意义和市场需求。

鉴于此,本申请实施例提供一种图像识别方法、装置、电子设备、计算机可读存储介质和计算机程序产品,能够提高图像识别的准确率。下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为服务器,也可以由终端设备和服务器协同实施。下面以服务器和终端设备协同实施本申请实施例提供的图像识别方法为例进行说明。

参见图1,图1是本申请实施例提供的图像识别系统100的架构示意图,为实现支撑一个提高图像识别的准确率的应用,终端设备400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。

如图1所示,在终端设备400上运行有客户端410,客户端410可以是各种类型的客户端,例如即时通信客户端、电商购物客户端、浏览器等,终端设备400可以通过网络300将需要识别的目标图像(例如用户实时拍摄的图像或者用户从相册中选中的图像)发送至服务器200。服务器200在接收到终端设备400发送的目标图像之后,首先调用神经网络模型对目标图像进行特征提取处理,得到目标图像的视觉特征,接着服务器200调用训练后的嵌入模型对目标图像的视觉特征进行嵌入处理,接着基于得到的嵌入特征(即嵌入向量)调用分类模型(例如Softmax分类器)进行识别(即将目标图像的视觉特征映射到语义空间,在语义空间中执行最终的分类识别任务),得到识别结果,最后,服务器200可以将识别结果返回给终端设备400,以使终端设备400调用客户端410的人机交互界面进行显示。

本申请实施例提供的图像识别方法可以应用于多种不同类型的场景,例如可以应用于影像拍摄中物体的查找,或者购物搜索的相关推荐等图像识别与分类场景。

示例的,本申请实施例提供的图像识别方法可以应用于婴幼儿早教产品,使用ImageNet等数据集对模型进行训练后,使训练后的模型具备识别现实中未曾出现在训练集中的动植物等物品的能力。例如用户在使用时,只需对想识别的物品进行拍照,将照片输入模型即可得到识别结果。

示例的,本申请实施例提供的图像识别方法也可以应用于网购图像搜索的相关推荐,例如通过使用网络购物平台已有的商品图像数据集对模型进行训练,使训练后的模型具备识别未曾出现在训练集中的商品的相关品牌和名称的能力。例如用户在使用时,只需对想要识别的商品进行拍照,将照片输入模型即可得到识别结果。

在另一些实施例中,本申请实施例还可以借助于云技术(Cloud Technolog y)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。

示例的,图1中示出的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端设备400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。

下面继续对图1中示出的服务器200的结构进行说明。参见图2,图2是本申请实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器240、至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。

处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。

存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器240旨在包括任意适合类型的存储器。

在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;

在一些实施例中,本申请实施例提供的图像识别装置可以采用软件方式实现,图2示出了存储在存储器240中的图像识别装置243,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2431、生成模块2432、训练模块2433、嵌入模块2434、识别模块2435、确定模块2436、编码模块2437、构建模块2438、组合模块2439、鉴别模块24310、更新模块24311、提取模块24312、比较模块24313和非线性变换模块24314,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。需要指出的是,在图2中为了方便表达,一次性示出了上述所有模块,但是不应视为在图像识别装置243排除了可以只包括获取模块2431、生成模块2432、训练模块2433、嵌入模块2434和识别模块2435的实施,将在下文中说明各个模块的功能。

下面将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的图像识别方法。

参见图3,图3是本申请实施例提供的图像识别方法的流程示意图,将结合图3示出的步骤进行说明。

在步骤101中,获取已标记的训练样本图像、以及未标记的测试样本图像。

在一些实施例中,服务器可以从数据库中获取已标记的训练样本图像(例如携带标签的样本图像,又称可见类样本图像,用于模型的训练)、以及未标记的测试样本图像(例如未携带标签的样本图像,又称不可见类样本图像,用于模型的测试),其中,训练样本图像和测试样本图像在类别上没有交集。

示例的,本申请实施例中的训练样本图像和测试样本图像可以分别选自AWA2和CUB,其中,AWA2是哺乳动物识别数据库,该数据库包含50种不同类型的哺乳动物的37322张图像,每个类别都带有85个属性的注释,本申请实施例可以使用这些属性作为类级语义描述符(即训练样本图像对应的第二语义描述符)。CUB是一个鸟类细粒度分类数据集,包含了来自20种不同类型的鸟类的11788张图像,对于CUB的语义描述符(即测试样本图像对应的第一语义描述符),本申请实施例可以采用文本描述生成1024维的类别嵌入,将在下文进行具体说明。

在步骤102中,基于测试样本图像对应的第一语义描述符和噪声,生成合成样本图像。

在一些实施例中,服务器在执行步骤102之前,还可以执行以下处理:确定测试样本图像对应的类别;从语料库中获取与类别关联的文本信息;对文本信息进行编码处理,得到语义特征;将语义特征确定为测试样本图像对应的第一语义描述符。

示例的,服务器可以首先确定测试样本图像对应的类别(例如假设测试样本图像为各种不同的鸟的照片,则可以确定测试样本图像对应的类别为鸟类),接着服务器可以从语料库(例如百科、数字图书馆等)中获取与所确定出的类别(例如鸟类)关联的文本信息(例如各种不同类型的鸟的介绍信息),随后服务器可以将所获取到的文本信息输入至分层模型中,得到文本有用信息(例如关键词),并将文本有用信息输入至自编码器中进行编码处理,得到对应的语义特征(即语义向量,其中,每种类型的鸟对应一个语义向量),最后服务器可以将编码得到的多个语义特征确定为测试样本图像对应的多个第一语义描述符(其中,每个第一语义描述符用于描述测试样本图像中对应的一个类别)。

在一些实施例中,参见图4,图4是本申请实施例提供的图像识别方法的流程示意图,如图4所示,图3示出的步骤102可以通过图4示出的步骤1021至步骤1023实现,将结合图4示出的步骤进行说明。

在步骤1021中,构建生成对抗网络。

在一些实施例中,生成对抗网络可以包括特征生成器。

示例的,特征生成器可以包括全连接模块、全连接层(FC,Fully Connect ed)、重采样层(Reshape)、以及上采样模块,其中,全连接模块可以由一个全连接层、一个激活层(例如Leaky ReLU)组成,上采样模块可以由两个上采样层(Upconv)、两个Leaky ReLU组成,并且上采样层和Leaky ReLU交替连接。举例来说,本申请实施例中的特征生成器可以包括3个全连接模块、4层4096维的全连接层、一个重采样层、以及6组上采样模块。

在步骤1022中,获取高斯噪声。

这里,高斯噪声(Gaussian Noise)是指概率密度函数服从高斯分布(即正态分布)的一类噪声,常见的高斯噪声包括起伏噪声、宇宙噪声、热噪声和散粒噪声等。

在一些实施例中,服务器可以从随机高斯噪声中采样得到所需的高斯噪声,并将高斯噪声连同测试样本图像对应的第一语义描述符作为特征生成器的输入,使特征生成器输出合成样本图像。

需要说明的是,除了高斯噪声外,本申请实施例还可以获取其他类型的噪声作为特征生成器的输入,例如椒盐噪声(即出现在随机位置、噪点深度基本固定的噪声),本申请实施例对此不作具体限定。

在步骤1023中,基于测试样本图像对应的第一语义描述符和高斯噪声,调用特征生成器进行生成处理,得到合成样本图像。

在一些实施例中,服务器在获取到高斯噪声之后,可以将高斯噪声和测试样本图像对应的第一语义描述符一起输入特征生成器。将高斯噪声和测试样本图像对应的第一语义描述符输入到特征生成器之后,首先通过全连接模块进行全连接处理和激活处理,接着针对激活处理后得到的激活特征,再次通过一个4层4096维的全连接层进行全连接处理,随后经过一个重采样层进行重采样处理,得到重采样特征,最后针对重采样特征,经过一个6组的上采样模块进行上采样处理,得到合成样本图像。

在另一些实施例中,生成对抗网络还包括鉴别器,则服务器还可以执行以下处理:将训练样本图像、以及训练样本图像对应的第二语义描述符组合成真实对;将合成样本图像、以及第一语义描述符组合成合成对;调用鉴别器对真实对和合成对进行鉴别处理,得到鉴别结果;基于鉴别结果对特征生成器的参数进行更新。

示例的,鉴别器可以包括一组全连接模块和一个全连接层,其中,全连接模块由一个全连接层和一个Leaky ReLU组成,鉴别器最后一层的全连接层用于0/1(真假)二分类。鉴别器用来鉴别特征生成器生成的合成样本图像和原始的测试样本图像之间的真假,例如将由合成样本图像、以及第一语义描述符组合得到的合成对输入鉴别器之后,首先可以用1024维的全连接层进行特征提取,然后经过激活函数防止梯度消失,最后用全连接层对提取到的特征进行二分类,判断输入的合成对的真假。此外,还可以根据鉴别器输出的鉴别结果反向对特征生成器的参数进行更新,直至鉴别器无法对合成对的真假进行鉴别。

在一些实施例中,服务器还可以执行以下处理:针对训练样本图像经过嵌入处理后得到的第二嵌入特征,调用非线性变换模型对第二嵌入特征进行非线性变换处理,得到用于训练嵌入模型的第四嵌入特征。

示例的,为了更好地约束语义空间,服务器还可以针对训练样本图像经过嵌入处理后得到的第二嵌入特征,调用非线性变换模型(例如非线性变换映射函数H)对第二嵌入特征进行非线性变换处理(例如旋转处理、缩放处理等),得到用于训练嵌入模型的第四嵌入特征,如此,可以进一步提高训练得到的嵌入模型的鲁棒性和泛化性。

在步骤103中,将训练样本图像和合成样本图像输入嵌入模型,并基于目标损失函数对嵌入模型进行训练,得到训练后的嵌入模型。

这里,目标损失函数可以包括生成对抗网络的损失函数、嵌入模型的损失函数、以及比较器网络的损失函数,例如可以对生成对抗网络的损失函数、嵌入模型的损失函数、以及比较器网络的损失函数进行相加处理,得到目标损失函数。

在一些实施例中,参见图5,图5是本申请实施例提供的图像识别方法的流程示意图,如图5所示,图3示出的步骤103可以通过图5示出的步骤1031和步骤1032实现,将结合图5示出的步骤进行说明。

在步骤1031中,分别对训练样本图像和合成样本图像进行特征提取处理,对应得到真实视觉特征和合成视觉特征。

在一些实施例中,服务器可以通过调用卷积神经网络模型(CNN,Convol utionalNeural Network),例如基于注意力机制的CNN模型分别对训练样本图像和合成样本图像进行特征提取处理,对应得到真实视觉特征(即训练样本图像对应的视觉特征)和合成视觉特征(即通过特征生成器生成的合成样本图像对应的视觉特征)。

在步骤1032中,将真实视觉特征和合成视觉特征作为嵌入模型的输入,并根据目标损失函数,采用反向传播的方式对生成对抗网络、嵌入模型、以及比较器网络进行联合训练,得到训练后的嵌入模型(即用于将图像的视觉特征映射到语义空间的模型,嵌入模型可以是各种类型的神经网络模型)。

在一些实施例中,服务器可以通过以下方式实现步骤1032:调用嵌入模型分别对真实视觉特征和合成视觉特征进行嵌入处理,对应得到第二嵌入特征(例如记为h

示例的,服务器可以通过以下方式实现上述的基于第二嵌入特征、第三嵌入特征、以及多个第二语义描述符(假设包括S个第二语义描述符,分别为{a

需要说明的是,上述的生成对抗网络的损失函数可以是以训练样本图像、以及训练样本图像对应的第二语义描述符组成的真实对、以及由合成样本图像、以及第一语义描述符组成的合成对为因子构建的;嵌入模型的损失函数可以是以生成对抗网络包括的特征生成器、以及第一语义描述符为因子构建的;比较器网络的损失函数可以是以可变参数、以及多个第二语义描述符为因子构建的,将在下文具体说明这3个损失函数。

在步骤104中,基于训练后的嵌入模型对测试样本图像进行嵌入处理,得到第一嵌入特征。

在一些实施例中,在输入测试样本图像时,服务器可以首先调用基于注意力机制的CNN模型对测试样本图像进行特征提取处理,得到对应的视觉特征,接着服务器可以调用训练后的嵌入模型对所得到的视觉特征进行嵌入处理,得到第一嵌入特征(即服务器可以调用训练后的嵌入模型将针对测试样本图像进行特征提取得到的视觉特征映射到语义空间,以在语义空间中执行最终的分类识别任务)。

在步骤105中,基于第一嵌入特征进行识别处理,得到识别结果。

在一些实施例中,服务器可以通过以下方式实现步骤105:基于第一嵌入特征调用分类模型进行分类处理,得到分类结果;其中,分类模型是基于训练样本图像和合成样本图像进行训练得到的。

在一些实施例中,服务器还可以首先基于训练样本图像和合成样本图像对分类模型(例如基于Softmax的分类器)进行训练,得到训练后的分类模型,接着服务器在调用训练后的嵌入模型对测试样本图像进行嵌入处理,得到第一嵌入特征之后,可以将第一嵌入特征输入训练后的分类模型,以使训练后的分类模型输出最终的分类结果,从而完成分类识别任务。

本申请实施例提供的图像识别方法,首先通过测试样本图像对应的第一语义描述符和噪声,生成合成样本图像,接着基于训练样本图像和合成样本图像对嵌入模型进行训练,得到训练后的嵌入模型,随后调用训练后的嵌入模型对测试样本图像进行嵌入处理,并基于嵌入特征进行识别处理(即将视觉特征映射到语义空间中执行最终的分类识别任务),如此,一方面可以缓解训练数据不平衡的问题,另一方面,也可以降低图像特征的数据维度,从而提高图像识别的准确率。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

本申请实施例提供一种图像识别方法,通过基于嵌入模型(例如嵌入函数E)和生成模型(例如特征生成器G)的集成,实现了零样本学习任务,其中,生成模型可以合成不可见类的缺失视觉特征,以缓解零样本学习中的数据不平衡问题。此外,本申请实施例通过将嵌入模型和生成模型相结合,生成一个组合零样本学习框架,将生成模型生成的合成样本图像和真实样本图像映射到语义空间,在语义空间中执行最终的零样本分类任务。

下面对本申请实施例提供的图像识别方法进行具体说明。

在一些实施例中,参见图6,图6是本申请实施例提供的图像识别方法的应用场景示意图,如图6所示,本申请实施例提供的方案可以应用于影像拍摄中物体的查找或者购物搜索的相关推荐等图像识别与分类场景,例如本申请实施例提供的方案可以应用于婴幼儿早教产品,使用ImageNet等数据集对模型进行训练,使产品具备识别现实中未曾出现在训练集中的动植物等物品的能力。在使用时,用户只需对想要识别的物品进行拍照,将照片输入训练后的模型中进行识别,即可得到识别结果,该应用具有广泛的识别知识,可以满足家长的早教需求和婴幼儿的好奇心。此外,应用还可以连接服务器进行训练集的更新和相关语义的联想搜索,具备一定的更新能力和可扩展性。

在另一些实施例中,本申请实施例提供的方案还可以应用于网络购物图像搜索的相关推荐,例如可以使用网络购物平台已有的商品图像数据集对模型进行训练,使产品具备识别未曾出现在训练集中的商品的相关品牌和名称的能力。在使用时,用户只需对想要识别的商品进行拍照,将照片输入模型进行识别,即可得到与输入图像最匹配的语义描述符和相关图像。此外,应用还可以连接服务器进行训练集的更新和相关语义的联想搜索,具备一定的更新能力和可扩展性。

下面首先对模型的定义进行说明。

在一些实施例中,针对零样本学习,可以有两个不相交的数据集所属为两个不同类,其中,可以将S定义为可见类,对应的类别集合为Y

其中,

同时,假设能提供N个来自Y

D

D

其中,训练数据集D

需要说明的是,在嵌入空间中,无论是可见类或者不可见类,都有对应的向量表示,一般可以将这一向量称之为该类的原型。例如可以设定T为语义空间,假设T是M维的向量,通常可以表示为:R

A={a

其中,前S个语义描述符(即a

下面继续对组合的零样本学习框架及嵌入方法进行说明。

步骤1:不可见类样本图像的生成。

本步骤的目的在于合成不可见类的缺失训练样本,在一些实施例中,参见图7,图7是本申请实施例提供的生成合成样本图像的原理示意图,如图7所示,可以通过学习一个生成模型(例如特征生成器G)来生成合成样本图像

其中,

其中,

步骤2:将合成视觉特征映射至语义空间。

在一些实施例中,本申请实施例提供的组合零样本学习框架可以将真实视觉特征和合成视觉特征均映射到语义空间,在该语义空间中进行最终的零样本学习分类。例如,本申请实施例可以选择语义描述符空间作为真实视觉特征和合成视觉特征的语义空间,并结合步骤1中定义的特征生成目标。为了将合成视觉特征映射到语义空间,本申请实施例引入了如下的合成视觉特征的嵌入损失(对应于上述的嵌入模型的损失函数):

其中,E表示嵌入函数,a

步骤3:将总体视觉特征映射至语义空间。

在一些实施例中,本申请实施例基于基本的组合零样本学习框架提出了一个对比嵌入模型。对比嵌入模型实现了基于类监督的类级对比嵌入。

示例的,参见图8,图8是本申请实施例提供的对比嵌入的原理示意图,如图8所示,由于本申请实施例没有将嵌入空间限制为语义描述符空间,而是提出了一个零样本学习框架,因此无法直接计算嵌入特征(即嵌入向量)和语义描述符之间的点积相似度。于是,本申请实施例提供了一个比较器网络F(h,a),它能够测量嵌入特征h(例如包括调用嵌入函数E对合成视觉特征x

其中,τ

此外,本申请实施例还为类别对比嵌入定义了如下的损失函数(对应于上述的比较器网络的损失函数):

其中,

需要说明的是,这是在新的嵌入空间中对样本的预期损失,无论是真实的样本图像还是合成的样本图像,以及它们相应的语义描述符,即正确的语义描述符。

步骤4:构建总体的损失函数。

在一些实施例中,可以结合步骤1和步骤2中的损失函数,构建组合零样本学习框架的总损失函数(对应于上述的目标损失函数):

步骤5:最终的零样本学习分类实现。

在一些实施例中,本申请实施例首先通过构建特征生成器G和嵌入函数E,为语义空间中的每个不可见类生成特征:

最终,本申请实施例利用语义空间中的真实的可见类样本和合成的不可见类样本来训练Softmax模型作为最终的零样本学习分类器,将问题转化为有监督的分类问题。

需要说明的是,可以基于本申请实施例提供的组合零样本学习框架,选择不同的嵌入方式,例如图嵌入、文本嵌入等方式,实现零样本学习任务。此外,也可以基于本申请实施例提供的组合零样本学习框架,选择不同的生成模型,根据需要生成不同的训练集样本特征,例如f-xGAN、可逆零次识别流程(IZF,Invertible Zero-Shot Recognition Flows)等特征生成模型,或后续更新的特征生成模型,实现零样本学习任务。另外,还可以基于本申请实施例提供的对比嵌入零样本学习算法,根据应用场景来对本申请实施例提供的损失函数进行动态调整,产生更具有益效果的识别分类结果。

综上所述,本申请实施例提供的图像识别方法,通过将嵌入模型与生成模型相结合,在生成模型中,特征生成器G的学习基于语义描述符a和高斯噪声∈,来生成合成视觉特征。而鉴别器D旨在区分合成视觉特征和真实视觉特征。在生成模型之后,又学习了一个嵌入函数E,它将真实样本图像和合成样本图像的视觉特征映射到语义空间中,即h

也就是说,本申请实施例提供的图像识别方法,一方面通过运用了一种特征生成方法,弥补了不可见类训练样本的不足,将可见类样本图像的真实视觉特征和合成的不可见类的合成视觉特征相结合,从而为可见和不可见的类别生成一个完全可见的训练集;另一方面,本申请实施例运用了一种对比嵌入方法,将图像的视觉特征嵌入至语义空间,即将高维的视觉特征转化为低维向量,从而降低了图像特征的数据维度;此外,本申请实施例提供的图像识别方法还可以实现类级识别分类,这往往被现有的零样本学习研究所忽略,即本申请实施例提供的图像识别方法同时解决了类级与实例级的零样本学习分类问题。

下面将结合实验数据对本申请实施例提供的图像识别方法的有益效果进行进一步的说明。

本申请实施例在两个零样本学习的基准数据集上评估了模型:AWA2、CU B。其中,AWA2为哺乳动物识别数据库,该数据集包含了50种类别哺乳动物的37322张图像,每个类别都带有85个属性的注释,本申请实施例使用这些属性作为类级语义描述符。CUB是一个鸟类细粒度分类数据集,包含了来自20种鸟类的11788张图像。对于CUB的语义描述符,本申请实施例采用了文本描述生成的1024维的类别嵌入。

在一些实施例中,本申请实施例首先使用在ImageNet-1K上预先训练的Re sNet-101为所有数据集提取2048维的CNN特征,无需微调。并且根据已有的建议划分方式将所有类划分为可见类和不可见类。在零样本学习场景下,本申请实施例评估了可见类和不可见类的最高准确率,分别将其对应的准确率表示为S和U,零样本学习模型的结果表现用它们的调和平均H来表示:

H=2×S×U/(S+U) (11)

示例的,参见表1,表1是本申请实施例提供的准确率比较表,表1给出了本申请实施例提供的生成对比嵌入零样本学习算法与相关技术提供的零样本学习算法的准确率比较结果。从表1可以看出,本申请实施例提供的算法在AWA2和CUB数据集上均实现了当前表现最佳的不可见类预测准确率U和当前表现最佳的平均准确率H。特别地,在CUB数据集上,本申请实施例提供的算法在U和H上都实现了大于60%的准确率。此外,与相关技术提供的生成模型的IZF相比,本申请实施例提供的组合零样本学习模型与最简单的生成模型相结合,仍然取得了具有竞争力的结果。通过上表可以总体看出,本申请实施例提供的生成对比嵌入的零样本学习算法在相关技术提供的零样本图像识别算法中有较强的竞争力,具备一定的准确性和鲁棒性。

表1准确率比较表

下面继续说明本申请实施例提供的图像识别装置243的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器240的图像识别装置243中的软件模块可以包括:获取模块2431、生成模块2432、训练模块2433、嵌入模块2434和识别模块2435。

获取模块2431,用于获取已标记的训练样本图像、以及未标记的测试样本图像;生成模块2432,用于基于测试样本图像对应的第一语义描述符和噪声,生成合成样本图像;训练模块2433,用于将训练样本图像和合成样本图像输入嵌入模型,并基于目标损失函数对嵌入模型进行训练,得到训练后的嵌入模型;嵌入模块2434,用于基于训练后的嵌入模型对测试样本图像进行嵌入处理,得到第一嵌入特征;识别模块2435,用于基于第一嵌入特征进行识别处理,得到识别结果。

在一些实施例中,图像识别装置243还包括确定模块2436,用于在基于测试样本图像对应的第一语义描述符和噪声,生成合成样本图像之前,确定测试样本图像对应的类别;获取模块2431,还用于从语料库中获取与类别关联的文本信息;图像识别装置243还包括编码模块2437,用于对文本信息进行编码处理,得到语义特征;确定模块2436,还用于将语义特征确定为测试样本图像对应的第一语义描述符。

在一些实施例中,图像识别装置243还包括构建模块2438,用于构建生成对抗网络,其中,生成对抗网络包括特征生成器;获取模块2431,还用于获取高斯噪声;生成模块2432,还用于基于测试样本图像对应的第一语义描述符和高斯噪声,调用特征生成器进行生成处理,得到合成样本图像。

在一些实施例中,生成对抗网络还包括鉴别器;图像识别装置243还包括组合模块2439,用于将训练样本图像、以及训练样本图像对应的第二语义描述符组合成真实对;以及用于将合成样本图像、以及第一语义描述符组合成合成对;图像识别装置243还包括鉴别模块24310,用于调用鉴别器对真实对和合成对进行鉴别处理,得到鉴别结果;图像识别装置243还包括更新模块24311,用于基于鉴别结果对特征生成器的参数进行更新。

在一些实施例中,目标损失函数包括生成对抗网络的损失函数、嵌入模型的损失函数、以及比较器网络的损失函数;图像识别装置243还包括提取模块24312,用于分别对训练样本图像和合成样本图像进行特征提取处理,对应得到真实视觉特征和合成视觉特征;训练模块2433,还用于将真实视觉特征和合成视觉特征作为嵌入模型的输入,并根据目标损失函数,采用反向传播的方式对生成对抗网络、嵌入模型、以及比较器网络进行联合训练,得到训练后的嵌入模型。

在一些实施例中,嵌入模块2434,还用于调用嵌入模型分别对真实视觉特征和合成视觉特征进行嵌入处理,对应得到第二嵌入特征和第三嵌入特征;获取模块2431,还用于获取训练样本图像对应的第二语义描述符;图像识别装置243还包括比较模块24313,用于基于第二嵌入特征、第三嵌入特征、以及多个第二语义描述符,调用比较器网络进行比较处理,得到比较结果;训练模块2433,还用于将比较结果、训练样本图像的标记结果、以及第一语义描述符代入目标损失函数,以确定对应的差异;基于差异进行反向传播处理,得到训练后的嵌入模型。

在一些实施例中,比较模块24313,还用于调用比较器网络确定第二嵌入特征与每个第二语义描述符之间的相关性得分、以及第三嵌入特征与每个第二语义描述符之间的相关性得分;确定模块2436,还用于将第二嵌入特征对应的相关性得分最高的第二语义描述符、以及第三嵌入特征对应的相关性得分最高的第二语义描述符,确定为比较结果。

在一些实施例中,构建模块2438,还用于以由训练样本图像、以及训练样本图像对应的第二语义描述符组成的真实对、以及由合成样本图像、以及第一语义描述符组成的合成对为因子,构建生成对抗网络的损失函数;以生成对抗网络包括的特征生成器、以及第一语义描述符为因子,构建嵌入模型的损失函数;以可变参数、以及多个第二语义描述符为因子,构建比较器网络的损失函数。

在一些实施例中,图像识别装置243还包括非线性变换模块24314,用于针对训练样本图像经过嵌入处理后得到的第二嵌入特征,调用非线性变换模型对第二嵌入特征进行非线性变换处理,得到用于训练嵌入模型的第四嵌入特征。

在一些实施例中,识别模块2435,还用于基于第一嵌入特征调用分类模型进行分类处理,得到分类结果;其中,分类模型是基于训练样本图像和合成样本图像进行训练得到的。

需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的图像识别装置中未尽的技术细节,可以根据图3至图5中的任一附图的说明而理解。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的图像识别方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的图像识别方法,例如,如图3至图5任一附图示出的图像识别方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

相关技术
  • 一种帽式光缆接续盒用姿态检测仪及姿态检测方法
  • 一种划桨姿态训练器
  • 一种用于龙舟陆上划桨训练器
技术分类

06120116520553