一种图像分类方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 09:27:35
技术领域
本发明涉及计算机技术领域,特别涉及一种图像分类方法、装置、电子设备及存储介质。
背景技术
随着科技的进步,人工智能(Artificial Intelligence,AI)技术迅速发展,在图像处理等相关领域得到了广泛应用,例如通过图像识别模型对图像进行分类,将分类结果提供给用户进行参考,以使用户方便地进行类别选择。
相关技术中,根据样本图像和这些样本图像的实际类别,训练得到图像识别模型,将需要分类的图像输入该图像识别模型,就能得到预测类别。
然而,上述图像识别模型学习的特征较差,提供给用户进行参考的预测类别不能准确表征图像所要表达的内容或含义。
发明内容
本发明提供了一种图像分类方法、装置、电子设备及存储介质,用以使图像的分类结果能够准确表征图像所要表达的内容或含义。
第一方面,本发明实施例提供一种图像分类方法,该方法包括:
提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量;
根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量;
根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
上述方案,通过确定待处理图像的类别特征向量,进而根据表征各预设类别特征向量与待处理图像的类别特征向量之间接近程度的相对熵,从预设类别特征向量中选择目标类别特征向量,由于不同的类别是孤立的,但是不同的类别对应的类别特征向量间是有关联的,相似的类别对应的类别特征向量间的相对熵较小,也就是说通过类别特征向量间的相对熵能够很好的将相似的类别关联起来,相比于孤立的类别来说,提升了图像到类别的映射能力,因此上述目标类别特征向量对应的预设类别能够准确表征待处理图像所要表达的内容或含义。
在一种可能的实现方式中,提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量,包括:
将所述待处理图像输入训练后的神经网络模型的输入层,通过所述输入层以及所述训练后的神经网络模型的隐含层提取所述待处理图像的类别特征;
通过所述训练后的神经网络模型的输出层对所述待处理图像的类别特征进行线性变换,所述输出层输出所述待处理图像的类别特征向量。
上述方案,将上述待处理图像输入训练后的神经网络模型,通过该训练后的神经网络模型的输入层和隐含层能够准确地提取该待处理图像的类别特征,由于该训练后的神经网络模型的输出层的激活函数输出的数值格式与向量格式不同,因此输出层不使用激活函数,而是直接对该待处理图像的类别特征进行线性变换,从而得到符合格式要求的待处理图像的类别特征向量。
在一种可能的实现方式中,通过以下方式训练得到所述训练后的神经网络模型:
将样本图像以及所述样本图像的实际类别对应的特征向量作为输入,将预测结果作为输出,将所述预测结果和所述实际类别对应的特征向量之间的相对熵作为优化函数,对初始神经网络模型进行训练得到所述训练后的神经网络模型。
上述方案,通过将样本图像以及这些样本图像的实际类别对应的特征向量作为输入,将预测结果作为输出,同时将预测结果和实际类别对应的特征向量之间的相对熵作为优化函数,对初始神经网络模型进行训练,能够得到预测结果不断靠近实际类别对应的特征向量的神经网络模型,从而得到预测结果与实际类别对应的特征向量的偏差在合理范围内的训练后的神经网络模型。
在一种可能的实现方式中,根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量,包括:
将所述预设类别特征向量按照相对熵由小到大进行排序,确定各预设类别特征向量的排位;
将在第一预设排位前的预设类别特征向量作为所述目标类别特征向量。
上述方案,通过将预设类别特征向量按照相对熵由小到大进行排序,并确定各预设类别特征向量的排位,排位越靠前的预设类别特征向量越接近待处理图像的类别特征向量,将在第一预设排位前的预设类别特征向量作为目标类别特征向量,保证了选择出与待处理图像的类别特征向量最为接近的一个或多个向量,进而保证上述选择出的向量对应的预设类别能够准确表征图像所要表达的内容或含义。
在一种可能的实现方式中,若所述目标类别特征向量的数量为多个,则确定所述目标类别特征向量对应的预设类别之后,还包括:
通过预设通知方式发送所有目标类别特征向量对应的预设类别;
响应接收到的类别选择指令,将所述类别选择指令中包含的目标类别特征向量对应的预设类别作为所述待处理图像的目标类别。
上述方案,通过预设通知方式发送所有目标类别特征向量对应的预设类别,可以使用户能够参考这些能够较为准确地表征待处理图像所要表达的内容或含义的预设类别,用户参考这些类别后选择的其中的一个类别作为该待处理图像的目标类别。
在一种可能的实现方式中,所述实际类别对应的特征向量通过以下方式得到:
将所述样本图像的实际类别作为训练后的变压器的双向编码器表示(Bidirectional Encoder Representations from Transformer,BERT)模型的输入,输出结果作为所述实际类别对应的特征向量。
上述方案,通过BERT模型,能够准确得到样本图像的实际类别对应的特征向量。
在一种可能的实现方式中,通过以下方式获得所述样本图像:
根据所有历史图像的实际类别,确定相同实际类别对应的历史图像的数量;
将所述相同实际类别按照数量由多到少进行排序,确定各相同实际类别的排位,以及将在第二预设排位前的相同实际类别对应的历史图像作为所述样本图像。
上述方案,根据相同实际类别对应的历史图像的数量对所有历史图像进行筛选,将数量较多的相同实际类别对应的历史图像作为样本图像,避免了数据噪音的影响,使得神经网络模型在训练过程中能够更好的拟合数据,训练后的神经网络模型学习的特征较好。
在一种可能的实现方式中,所述预设类别特征向量与预设类别的对应关系通过以下方式得到:
将各预设类别作为训练后的BERT模型的输入,输出结果作为预设类别的预设类别特征向量。
上述方案,通过BERT模型,能够准确得到预设类别对应的特征向量。
第二方面,本发明实施例提供一种图像分类装置,包括:
向量获得单元,用于提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量;
向量选择单元,用于根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量;
图像分类单元,用于根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
在一种可能的实现方式中,所述向量获得单元,具体用于:
将所述待处理图像输入训练后的神经网络模型的输入层,通过所述输入层以及所述训练后的神经网络模型的隐含层提取所述待处理图像的类别特征;
通过所述训练后的神经网络模型的输出层对所述待处理图像的类别特征进行线性变换,所述输出层输出所述待处理图像的类别特征向量。
在一种可能的实现方式中,所述向量获得单元,还用于:
将样本图像以及所述样本图像的实际类别对应的特征向量作为输入,将预测结果作为输出,将所述预测结果和所述实际类别对应的特征向量之间的相对熵作为优化函数,对初始神经网络模型进行训练得到所述训练后的神经网络模型。
在一种可能的实现方式中,所述向量选择单元,具体用于:
将所述预设类别特征向量按照相对熵由小到大进行排序,确定各预设类别特征向量的排位;
将在第一预设排位前的预设类别特征向量作为所述目标类别特征向量。
在一种可能的实现方式中,若所述目标类别特征向量的数量为多个,则图像分类单元还用于在确定所述目标类别特征向量对应的预设类别之后,
通过预设通知方式发送所有目标类别特征向量对应的预设类别;
响应接收到的类别选择指令,将所述类别选择指令中包含的目标类别特征向量对应的预设类别作为所述待处理图像的目标类别。
在一种可能的实现方式中,所述向量获得单元,还用于:
将所述样本图像的实际类别作为训练后的BERT模型的输入,输出结果作为所述实际类别对应的特征向量。
在一种可能的实现方式中,所述向量获得单元,还用于:
根据所有历史图像的实际类别,确定相同实际类别对应的历史图像的数量;
将所述相同实际类别按照数量由多到少进行排序,确定各相同实际类别的排位,以及将在第二预设排位前的相同实际类别对应的历史图像作为所述样本图像。
在一种可能的实现方式中,所述向量获得单元,还用于:
将各预设类别作为训练后的BERT模型的输入,输出结果作为预设类别的预设类别特征向量。
第三方面,本发明实施例提供一种电子设备,该电子设备包括一个或多个处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面任一项所述的图像分类方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面任一项所述的图像分类方法。
另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用场景示意图;
图2为本发明实施例提供的第一种图像分类方法的示意流程图;
图3为本发明实施例提供的第二种图像分类方法的示意流程图;
图4为本发明实施例提供的第三种图像分类方法的示意流程图;
图5为本发明实施例提供的第四种图像分类方法的示意流程图;
图6A为本发明实施例提供的第一种用户界面示意图;
图6B为本发明实施例提供的第二种用户界面示意图;
图6C为本发明实施例提供的第三种用户界面示意图;
图7为本发明实施例提供的一种图像分类装置的结构示意图;
图8为本发明实施例提供的一种电子设备的示意框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面对文中出现的一些词语进行解释:
1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
2、术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
3、本发明实施例中术语“电子设备”可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
4、本发明实施例中术语“图像”可以为一帧图像,也可以为连续多帧图像,也就是视频。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是直接相连,也可以通过中间媒介间接相连,可以是两个器件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
在本发明实施例中,主要涉及其中的机器学习(Machine Learning,ML)方向,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在本发明实施例中提出的图像分类方法可分为两部分,包括训练部分和图像分类部分;其中,训练部分就涉及到机器学习这一技术领域。
在一些实施例中,通过样本图像和这些样本图像的实际类别,训练得到图像识别模型,也就是说每种类别都是孤立的,例如在训练过程中白色的猫类别对应的值为1,狗类别对应的值为2,兔子类别对应的值为3,黑色的猫类别对应的值为4,白色的猫和黑色的猫之间的特征是非常相似的,但这两个类别对应的值之间没有任何关联,也就是说一个类别对应的值体现不出与其他类别之间的相似与差异。
因此,上述图像识别模型学习的特征较差,例如:
当输入一个灰色的猫的图像,图像识别模型只学习到了白色的猫的特征和黑色的猫的特征,并没有学到白色的猫和黑色的猫的特征关联,可能就会输出一个白色的猫的类别,或者无法判断出是输出一个白色的猫的类别还是输出一个黑色的猫的类别,就会造成提供给用户进行参考的预测的类别不能准确表征图像所要表达的内容或含义。
本发明实施例为了使图像分类结果能够准确表征图像所要表达的内容或含义,提供了一种图像分类方法、装置、电子设备及存储介质,通过确定待处理图像的类别特征向量,进而根据表征各预设类别特征向量与待处理图像的类别特征向量之间接近程度的相对熵,从预设类别特征向量中选择目标类别特征向量,由于不同的类别是孤立的,但是不同的类别对应的类别特征向量间是有关联的,相似类型的类别对应的类别特征向量间的相对熵较小,也就是说通过类别特征向量间的相对熵能够很好的将相似的类别关联起来,相比于分类类别将每个类别作为孤立的类别来说,提升了图像到类别的映射能力,因此上述目标类别特征向量对应的预设类别能够准确表征待处理图像所要表达的内容或含义。
下面结合附图及具体实施例对本发明作进一步详细的说明。
如图1所示,其为本发明实施例的应用场景示意图。该应用场景图中包括用户设备(图中以两个用户设备:用户设备1101和用户设备1102为例进行说明,在实际应用中用户设备的数量可以更多或者更少)和电子设备120。
用户设备与电子设备120之间可以通过多种通信网络进行通信。这里可允许用户设备通过局域网(Local Area Network,LAN)、无线局域网(Wireless Local AreaNetwork,WLAN)和其他网络,与电子设备120进行通信,例如:用户设备通过WLAN向电子设备120发送待处理图像;电子设备120通过WLAN将经过计算后得到的类别发送给用户设备。
电子设备120可以提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量;
还可以根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量;
也可以根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
在本发明实施例中,用户设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通讯类软件及网站或者社交类软件及网站的电子设备。
电子设备120包括一组或者多组服务器,服务器可以一类或多类。
上述应用场景只是实现本发明实施例的应用场景的示例,本发明实施例并不限于上述应用场景。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本发明实施例提供的第一种图像分类方法的示意流程图,应用于上述电子设备,如图2所示,该方法可以包括:
步骤201:提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量。
本实施例,待处理图像可以为电子设备接收的上述用户设备发送的需要进行分类或者进行类别推荐的图像,例如:需要进行类别推荐的一帧图像,或者需要进行类别推荐的连续多帧图像(视频)。
上述待处理图像的类别特征向量为能够表征上述待处理图像的预测类别的特征的向量,例如可以为待处理图像的预测类别的文本词向量,本实施例对该向量的维度不做具体限定,例如可以是768维的向量。
步骤202:根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量。
本实施例,在获得表征上述待处理图像的预测类别的特征的向量后,还需要将其与候选的预设类别特征向量进行比对,找到与其相似的预设类别特征向量,才能确定哪些预设类别能够较为准确表征待处理图像所要表达的内容或含义。
相对熵是两个概率分布(probability distribution)间差异的非对称性度量。本实施例可采用限不限于以下方式确定各预设类别特征向量与待处理图像的类别特征向量之间的相对熵:
预设类别特征向量P(x)与待处理图像的类别特征向量Q(x)之间的相对熵
其中,∑D(P||Q)就代表预设类别特征向量P(x)相对于待处理图像的类别特征向量Q(x)的相对熵。
可以看到,P(x)与Q(x)越接近,P(x)与Q(x)之间的相对熵越小。这里的相对熵能够表征预设类别特征向量与待处理图像的类别特征向量的接近程度,也就是相似度。也就是说通过类别对应的类别特征向量间的相对熵能够很好的将相似的类别关联起来,例如:
就白色的猫的特征向量与黑色的猫的特征向量之间的相对熵来说,要比白色的猫的特征向量与狗的特征向量之间的相对熵要小得多,但比白色的猫的特征向量与猫的特征向量之间的相对熵要大。通过类别特征向量间的相对熵,将特征相近的不同类别(白色的猫与黑色的猫,白色的猫与猫)关联起来。
本实施例根据各预设类别特征向量与待处理图像的类别特征向量之间的相对熵,可以从预设类别特征向量中选择与待处理图像的类别特征向量较为接近的目标类别特征向量。
步骤203:根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
本实施例,在确定与待处理图像的类别特征向量较为接近的目标类别特征向量后,可以确定出该目标类别特征向量对应的预设类别。
上述方案,通过确定待处理图像的类别特征向量,进而根据表征各预设类别特征向量与待处理图像的类别特征向量之间接近程度的相对熵,从预设类别特征向量中选择目标类别特征向量,由于不同的类别是孤立的,但是不同的类别对应的类别特征向量间是有关联的,相似类型的类别对应的类别特征向量间的相对熵较小,也就是说通过类别特征向量间的相对熵能够很好的将相似的类别关联起来,相比于孤立的类别来说,提升了图像到类别的映射能力,因此上述目标类别特征向量对应的预设类别能够准确表征待处理图像所要表达的内容或含义。
图3为本发明实施例提供的第二种图像分类方法的示意流程图,应用于上述电子设备,如图3所示,该方法可以包括:
步骤301:将所述待处理图像输入训练后的神经网络模型的输入层,通过所述输入层以及所述训练后的神经网络模型的隐含层提取所述待处理图像的类别特征;通过所述训练后的神经网络模型的输出层对所述待处理图像的类别特征进行线性变换,所述输出层输出所述待处理图像的类别特征向量。
本实施例,通过训练后的神经网络可以准确地提取上述待处理图像的类别特征,然而向量中的数值有正有负,训练后的神经网络模型的输出层通过激活函数计算后只能输出非负数值,输出结果不符合向量格式要求。
基于此,通过上述训练后的神经网络模型的输入层和隐含层提取该待处理图像的类别特征后,输出层仅对该待处理图像的类别特征进行线性变换,也就是说输出层不使用激活函数,这样输出层就可以输出负数值,从而得到符合向量格式要求的待处理图像的类别特征向量。
在一些具体的实施例中,可以通过以下方式训练得到上述训练后的神经网络模型:
将样本图像以及所述样本图像的实际类别对应的特征向量作为输入,将预测结果作为输出,将所述预测结果和所述实际类别对应的特征向量之间的相对熵作为优化函数,对初始神经网络模型进行训练得到所述训练后的神经网络模型。
本实施例中神经网络模型的训练目标就是不断降低预测结果和实际类别对应的特征向量之间的差异,使得预测结果不断靠近实际类别对应的特征向量。如上所述,相对熵是两个概率分布间差异的非对称性度量,能够表征向量之间的接近程度,基于此,将预测结果和实际类别对应的特征向量之间的相对熵作为优化函数,能够得到预测结果不断靠近实际类别对应的特征向量的神经网络模型,从而得到预测结果与实际类别对应的特征向量的偏差在合理范围内的训练后的神经网络模型。
本实施例对训练过程中使用的深度学习图像识别器、学习速率、优化器类型、迭代轮数以及训练平台等参数不做限定,例如:
将样本图像以及样本图像的实际类别对应的特征向量输入resnet50(残差50网络)深度学习图像识别器中,设置学习速率为0.001s,采用优化器(例如Rectified Adam,RAdam),将预测结果和实际类别对应的特征向量之间的相对熵作为优化函数,迭代轮数设置为80代(epoch),然后在tensorflow(一种机器学习库)平台上训练,得到上述训练后的神经网络模型。
以上参数均可以根据实际应用场景进行设定,此处不再赘述。
步骤302:根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量。
步骤303:根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
该步骤302-303与上述步骤202-203的实现方式相同,此处不再赘述。
上述方案,将上述待处理图像输入训练后的神经网络模型,通过该训练后的神经网络模型的输入层和隐含层能够准确地提取该待处理图像的类别特征,由于该训练后的神经网络模型的输出层的激活函数输出的数值格式与向量格式不同,因此输出层不使用激活函数,而是直接对该待处理图像的类别特征进行线性变换,从而得到符合格式要求的待处理图像的类别特征向量。
在一些可选的实施方式中,所述实际类别对应的特征向量通过以下方式得到:
将所述样本图像的实际类别作为训练后的BERT模型的输入,输出结果作为所述实际类别对应的特征向量。
特征向量具有良好的语义特性,是表示词语特征的常用方式,特征向量每一维的值代表一个具有一定的语义和语法上解释的特征。
BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的文本的语义表示。BERT模型通过查询字向量表将文本中的每个字转换为一维向量,作为模型输入;模型输出则是输入各字对应的融合全文语义信息后的向量表示。此外,模型输入除了字向量,还包含文本向量(该向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合),以及位置向量(出现在文本不同位置的字/词所携带的语义信息存在差异,对不同位置的字/词分别附加一个不同的向量以作区分),因此,通过BERT模型能够快速、精准地提取类别的特征向量。实际类别对应的特征向量可以很全面地从多个维度表示实际类别的语义。
可选地,上述样本图像可以通过但不限于以下方式得到:
第一种方式:将所有打类别的历史图像都作为样本图像。
第二种方式:根据所有历史图像的实际类别,确定相同实际类别对应的历史图像的数量;
将所述相同实际类别按照数量由多到少进行排序,确定各相同实际类别的排位,以及将在第二预设排位前的相同实际类别对应的历史图像作为所述样本图像。
在一些场景中,有些类型的类别数量非常少,如果基于这些类别对应的特征向量和对应的历史图像对神经网络模型进行训练,神经网络模型并不能很好地拟合这些数据。基于此,需要根据相同实际类别对应的历史图像的数量对所有历史图像进行筛选,将数量较多的相同实际类别对应的历史图像作为样本图像,例如:
白色的猫对应的历史图像的数量为100个、狗对应的历史图像的数量为70个、兔子对应的历史图像的数量为30个、黑色的猫对应的历史图像的数量为50个、牛对应的历史图像的数量为10个;按照数量由多到少进行排序,依次为白色的猫(排位为1)、狗(排位为2)、黑色的猫(排位为3)、兔子(排位为4)和牛(排位为5),如果第二预设排位为4,白色的猫、狗、黑色的猫和兔子在第二预设排位前(包含第二预设排位),将白色的猫、狗、黑色的猫和兔子对应的历史图像作为样本图像。
通过对进行筛选,避免了数据噪音的影响,使得神经网络模型在训练过程中能够更好的拟合数据,训练后的神经网络模型学习的特征较好。
在一些可选的实施方式中,所述预设类别特征向量与预设类别的对应关系通过以下方式得到:
将各预设类别作为训练后的BERT模型的输入,输出结果作为预设类别的预设类别特征向量。
其中,上述预设类别的集合可以包含上述样本图像的实际类别的集合,且预设类别的集合比上述样本图像的实际类别的集合要大,这样确定的目标类别特征向量对应的预设类别能够更加准确地表征图像所要表达的内容或含义。例如:
样本图像的实际类别有白色的猫、狗、兔子和黑色的猫;
预设类别有白色的猫、狗、兔子、黑色的猫、猫和灰色的猫;
如果待处理图像是对灰色的猫进行拍摄得到的图像,待处理图像的类别特征向量就是灰色的猫的特征向量,那么预设的灰色的猫的特征向量与待处理图像的类别特征向量之间的相对熵最小,预设的猫的特征向量与待处理图像的类别特征向量之间的相对熵次之,预设的其他类别特征向量与待处理图像的类别特征向量之间的相对熵更大一些。
通过将预设类别的集合设置大一些,这样根据相对熵从预设类别特征向量中进行选择时,能够选择出与待处理图像的类别特征向量更为接近的目标类别特征向量。
上述样本图像的实际类别和预设类别的类型仅是举例说明,样本图像的实际类别和预设类别具体包括哪些类型都可以根据实际需要进行选择。
图4为本发明实施例提供的第三种图像分类方法的示意流程图,应用于上述电子设备,该方法可以包括:
步骤401:提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量。
该步骤401与上述步骤201的实现方式相同,此处不再赘述。
步骤402:确定各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵。
该步骤402可参照上述确定向量之间的相对熵的实现方式,此处不再赘述。
步骤403:将所述预设类别特征向量按照相对熵由小到大进行排序,确定各预设类别特征向量的排位。
如上所述,各预设类别特征向量与待处理图像的类别特征向量之间的相对熵,表征了各预设类别特征向量与待处理图像的类别特征向量的接近程度,本实施例将预设类别特征向量按照相对熵由小到大进行排序,与待处理图像的类别特征向量越接近的预设类别特征向量排位越靠前。
步骤404:将在第一预设排位前的预设类别特征向量作为所述目标类别特征向量。
本实施例,通过将在第一预设排位前的预设类别特征向量作为目标类别特征向量,也就说在选择了与待处理图像的类别特征向量最为接近的一个或多个预设类别特征向量。例如:
预设类别有白色的猫、狗、兔子、黑色的猫、猫和灰色的猫,对应的预设类别特征向量分别为白色的猫的特征向量、狗的特征向量、兔子的特征向量、黑色的猫的特征向量、猫的特征向量和灰色的猫的特征向量;
如果待处理图像是对灰色的猫进行拍摄得到的图像,待处理图像的类别特征向量就是灰色的猫的特征向量,预设的白色的猫的特征向量与待处理图像的类别特征向量之间的相对熵为KL1;预设的狗的特征向量与待处理图像的类别特征向量之间的相对熵为KL2;预设的兔子的特征向量与待处理图像的类别特征向量之间的相对熵为KL3;预设的黑色的猫的特征向量与待处理图像的类别特征向量之间的相对熵为KL4;预设的猫的特征向量与待处理图像的类别特征向量之间的相对熵为KL5;预设的灰色的猫的特征向量与待处理图像的类别特征向量之间的相对熵为KL6;
KL6<KL5<KL1<KL4<KL3<KL2,预设类别特征向量按照相对熵由小到大进行排序为灰色的猫的特征向量(排位为1)、猫的特征向量(排位为2)、白色的猫的特征向量(排位为3)、黑色的猫的特征向量(排位为4)、兔子的特征向量(排位为5)、狗的特征向量(排位为6);第一预设排位为2,灰色的猫的特征向量和猫的特征向量在第一预设排位前(包含第一预设排位),将灰色的猫的特征向量和猫的特征向量作为目标类别特征向量。
可以理解,上述举例是为了更清楚地说明如何确定目标类别特征向量,而不作为对确定目标类别特征向量的限定,上述预设类别包含的具体类型、第一预设排位等参数都可以根据实际应用场景进行设置。
步骤405:根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
该步骤405与上述步骤203的实现方式相同,此处不再赘述。
上述方案,通过将预设类别特征向量按照相对熵由小到大进行排序,并确定各预设类别特征向量的排位,排位越靠前的预设类别特征向量越接近待处理图像的类别特征向量,将在第一预设排位前的预设类别特征向量作为目标类别特征向量,选择出与待处理图像的类别特征向量最为接近的一个或多个向量,进而保证了上述选择出的向量对应的预设类别能够准确表征图像所要表达的内容或含义。
图5为本发明实施例提供的第四种图像分类方法的示意流程图,应用于上述电子设备,该方法可以包括:
步骤501:提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量。
步骤502:根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量。
步骤503:根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
该步骤501-503与上述步骤201-203的实现方式相同,此处不再赘述。
步骤504:通过预设通知方式发送所有目标类别特征向量对应的预设类别。
本实施例,目标类别特征向量的数量可能只有一个,也可能会有多个,当有多个目标类别特征向量时,目标类别特征向量对应的预设类别也是有多个,电子设备可以将这些类别都推荐给用户,这样用户可以根据实际应用场景选择将哪个类别作为待处理图像的最终的目标类别。
基于此,电子设备需要先通过预设通知方式发送所有目标类别特征向量对应的预设类别。本实施例对发送的消息具体携带的内容不做具体限定,例如:
第一种方式:电子设备将携带所有目标类别特征向量对应的预设类别的信息通过通信网络(LAN、WLAN或者其他网络)发送给用户设备;
用户设备在收到该信息后,将所有目标类别特征向量对应的预设类别进行显示。参阅图6A所示,该用户界面上展示了包含目标类别特征向量对应的预设类别的图标。
第二种方式:电子设备将携带所有目标类别特征向量对应的预设类别以及对应的相对熵的信息通过通信网络(LAN、WLAN或者其他网络)发送给用户设备;
用户设备在收到该信息后,将所有目标类别特征向量对应的预设类别以及对应的相对熵进行显示。参阅图6B所示,该用户界面上展示了包含目标类别特征向量对应的预设类别以及对应的相对熵的图标。
第三种方式:如果是按照图4实施例的方式选择的目标类别特征向量,那么电子设备可以将携带所有目标类别特征向量对应的预设类别以及对应的排位通过通信网络(LAN、WLAN或者其他网络)发送给用户设备;
用户设备在收到该信息后,将所有目标类别特征向量对应的预设类别以及对应的排位进行显示。参阅图6C所示,该用户界面上展示了目标类别特征向量对应的预设类别以及对应的排位的图标。
上述电子设备发送的消息仅是举例说明,本实施例还可发送携带其他内容的消息,对应的,用户设备也可展示其他内容。
步骤505:响应接收到的类别选择指令,将所述类别选择指令中包含的目标类别特征向量对应的预设类别作为所述待处理图像的目标类别。
用户通过触摸图6A-图6C任意一种用户界面上的任一包含目标类别特征向量对应的预设类别的图标,触发针对该目标类别特征向量对应的预设类别的类别选择指令,电子设备收到该类别选择指令后,将该类别选择指令中包含的目标类别特征向量对应的预设类别作为待处理图像的目标类别。
上述方案,通过预设通知方式发送所有目标类别特征向量对应的预设类别,可以使用户能够参考这些能够较为准确地表征待处理图像所要表达的内容或含义的预设类别,用户参考这些类别后选择的其中的一个类别作为该待处理图像的目标类别。
如图7所示,基于相同的发明构思,本发明实施例提供一种图像分类装置700,包括:向量获得单元701、向量选择单元702和图像分类单元703。
向量获得单元701,用于提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量;
向量选择单元702,用于根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量;
图像分类单元703,用于根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
在一种可能的实现方式中,所述向量获得单元701,具体用于:
将所述待处理图像输入训练后的神经网络模型的输入层,通过所述输入层以及所述训练后的神经网络模型的隐含层提取所述待处理图像的类别特征;
通过所述训练后的神经网络模型的输出层对所述待处理图像的类别特征进行线性变换,所述输出层输出所述待处理图像的类别特征向量。
在一种可能的实现方式中,所述向量获得单元701,还用于:
将样本图像以及所述样本图像的实际类别对应的特征向量作为输入,将预测结果作为输出,将所述预测结果和所述实际类别对应的特征向量之间的相对熵作为优化函数,对初始神经网络模型进行训练得到所述训练后的神经网络模型。
在一种可能的实现方式中,所述向量选择单元702,具体用于:
将所述预设类别特征向量按照相对熵由小到大进行排序,确定各预设类别特征向量的排位;
将在第一预设排位前的预设类别特征向量作为所述目标类别特征向量。
在一种可能的实现方式中,若所述目标类别特征向量的数量为多个,则图像分类单元703还用于:
在确定所述目标类别特征向量对应的预设类别之后,
通过预设通知方式发送所有目标类别特征向量对应的预设类别;
响应接收到的类别选择指令,将所述类别选择指令中包含的目标类别特征向量对应的预设类别作为所述待处理图像的目标类别。
在一种可能的实现方式中,所述向量获得单元701,还用于:
将所述样本图像的实际类别作为训练后的BERT模型的输入,输出结果作为所述实际类别对应的特征向量。
在一种可能的实现方式中,所述向量获得单元701,还用于:
根据所有历史图像的实际类别,确定相同实际类别对应的历史图像的数量;
将所述相同实际类别按照数量由多到少进行排序,确定各相同实际类别的排位,以及将在第二预设排位前的相同实际类别对应的历史图像作为所述样本图像。
在一种可能的实现方式中,所述向量获得单元701,还用于:
将各预设类别作为训练后的BERT模型的输入,输出结果作为预设类别的预设类别特征向量。
由于该装置即是本发明实施例中的方法中的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图8所示,基于相同的发明构思,本发明实施例提供一种电子设备800,该电子设备800包括一个或多个处理器801,以及用于存储所述处理器可执行指令的存储器802;
存储器802可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器802也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器802可以是上述存储器的组合。
处理器801,可以包括一个或多个中央处理单元(central processing unit,CPU),图形处理单元(Graphics Processing Unit,GPU)或者为数字处理单元等等。
本发明实施例中不限定上述存储器802和处理器801之间的具体连接介质。本发明实施例在图8中以存储器802和处理器801之间通过总线803连接,总线803在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线803可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,当所述指令被所述处理器执行时,使得所述处理器801执行下列过程:
提取待处理图像的类别特征,并对所述待处理图像的类别特征进行线性变换,获得所述待处理图像的类别特征向量;
根据各预设类别特征向量与所述待处理图像的类别特征向量之间的相对熵,从预设类别特征向量中选择至少一个目标类别特征向量;
根据所述预设类别特征向量与预设类别的对应关系,确定所述目标类别特征向量对应的预设类别。
在一种可能的实现方式中,所述处理器801具体用于:
将所述待处理图像输入训练后的神经网络模型的输入层,通过所述输入层以及所述训练后的神经网络模型的隐含层提取所述待处理图像的类别特征;
通过所述训练后的神经网络模型的输出层对所述待处理图像的类别特征进行线性变换,所述输出层输出所述待处理图像的类别特征向量。
在一种可能的实现方式中,所述处理器801还用于:
将样本图像以及所述样本图像的实际类别对应的特征向量作为输入,将预测结果作为输出,将所述预测结果和所述实际类别对应的特征向量之间的相对熵作为优化函数,对初始神经网络模型进行训练得到所述训练后的神经网络模型。
在一种可能的实现方式中,所述处理器801具体用于:
将所述预设类别特征向量按照相对熵由小到大进行排序,确定各预设类别特征向量的排位;
将在第一预设排位前的预设类别特征向量作为所述目标类别特征向量。
在一种可能的实现方式中,若所述目标类别特征向量的数量为多个,则所述处理器801还用于:
在确定所述目标类别特征向量对应的预设类别之后,
通过预设通知方式发送所有目标类别特征向量对应的预设类别;
响应接收到的类别选择指令,将所述类别选择指令中包含的目标类别特征向量对应的预设类别作为所述待处理图像的目标类别。
在一种可能的实现方式中,所述处理器801还用于:
将所述样本图像的实际类别作为训练后的BERT模型的输入,输出结果作为所述实际类别对应的特征向量。
在一种可能的实现方式中,所述处理器801还用于:
根据所有历史图像的实际类别,确定相同实际类别对应的历史图像的数量;
将所述相同实际类别按照数量由多到少进行排序,确定各相同实际类别的排位,以及将在第二预设排位前的相同实际类别对应的历史图像作为所述样本图像。
在一种可能的实现方式中,所述处理器801还用于:
将各预设类别作为训练后的BERT模型的输入,输出结果作为预设类别的预设类别特征向量。
由于该电子设备即是执行本发明实施例中的方法的电子设备,并且该电子设备解决问题的原理与该方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述图像分类方法的步骤。其中,可读存储介质可以为非易失可读存储介质。
以上参照示出根据本发明实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
- 图像分类方法、图像分类装置、存储介质与电子设备
- 一种图像分类方法、装置、电子设备及存储介质