图像分类过程的优化方法、图像分类方法、装置及系统与流程

文档序号:16211362发布日期:2018-12-08 07:47阅读:239来源:国知局
图像分类过程的优化方法、图像分类方法、装置及系统与流程

本申请涉及互联网技术领域,特别涉及一种图像分类过程的优化方法、图像分类方法、装置及系统。

背景技术

随着大数据时代的来临,图像分类器正在各行各业发挥着重要的作用。图像分类器通常可以对海量的数据进行分析,提取出数据中的特征,并依据提取的特征将数据进行分类。

在图像分类器中,通常可以划分为训练阶段和预测阶段。其中,训练阶段可以采用大量的已经进行分类的数据样本,对分类器涉及的神经网络进行训练,以使得训练后的神经网络能够正确地将数据样本划分至所属的类别中。预测阶段则可以向完成训练的神经网络中输入待分类的数据,神经网络在对输入的待分类的数据进行计算之后,可以输出该数据对应的类别信息,从而完成预测的过程。

然而,在当前的图像分类器中,通常只能根据数据的全局特征对数据进行分类。例如,当前可以通过lenet-5和softmax组合的神经网络进行图片分类,还可以通过inception-v4和softmax组合的神经网络进行图片分类。这些分类方法在对全局特征存在明显差异的对象进行分类时效果较好。例如,现有的图像分类器在对表示“碗”、“球”、“房子”这些图片进行分类时,通常能够得到较精准的分类结果。但是在对存在相同或者相似局部特征的对象进行分类时,效果往往不够好。例如,现有的图像分类器通常难以很好地对“碗”和“盆”进行识别。由上可见,在针对特征相似的对象时,现有的图像分类器存在分类精度较低的问题。



技术实现要素:

本申请实施方式的目的是提供一种图像分类过程的优化方法、图像分类方法、装置及系统,能够提高图像分类的精度。

为实现上述目的,本申请实施方式提供一种图像分类过程的优化方法,提供有包括图像样本的样本集,所述图像样本被划分为第一类别和第二类别;所述第一类别和所述第二类别中包括的图像样本不同;所述方法包括:生成所述样本集中的图像样本的表征向量;所述表征向量用于表示对应的图像样本;基于所述表征向量输出对应图像样本相应于所述第一类别和所述第二类别的评价信息;在属于所述第一类别的图像样本对应的表征向量中选择一个表征向量作为基准表征向量,计算所述基准表征向量与所述第一类别中其它图像样本的表征向量之间的第一差异值;以及计算所述基准表征向量与所述第二类别中图像样本的表征向量之间的第二差异值;根据所述第一差异值和所述第二差异值的差值,生成第一反馈值;根据所述图像样本在所述样本集中隶属的类别以及所述评价信息得到第二反馈值;使用所述第一反馈值和所述第二反馈值执行优化矫正过程。

为实现上述目的,本申请实施方式还提供一种图像分类过程的优化装置,所述装置包括存储器和处理器,其中:所述存储器,用于存储包括图像样本的样本集,所述图像样本被划分为第一类别和第二类别;所述第一类别和所述第二类别中包括的图像样本不同;所述处理器,用于生成所述样本集中的图像样本的表征向量;所述表征向量用于表示对应的图像样本;基于所述表征向量输出对应图像样本相应于所述第一类别和所述第二类别的评价信息;在属于所述第一类别的图像样本对应的表征向量中选择一个表征向量作为基准表征向量,计算所述基准表征向量与所述第一类别中其它图像样本的表征向量之间的第一差异值;以及计算所述基准表征向量与所述第二类别中图像样本的表征向量之间的第二差异值;根据所述第一差异值和所述第二差异值的差值,生成第一反馈值;根据所述图像样本在所述样本集中隶属的类别以及所述评价信息得到第二反馈值;使用所述第一反馈值和所述第二反馈值执行优化矫正过程。

为实现上述目的,本申请实施方式还提供一种图像分类方法,提供第一类别和第二类别;所述第一类别包括的图像和所述第二类别包括的图像具有部分相似的特征;所述方法包括:接收目标图像;生成所述目标图像的目标表征向量;基于所述目标表征向量输出目标图像相应于所述第一类别和所述第二类别的评价信息;所述评价信息用于表示所述第一类别和所述第二类别中的一个被确定为目标类别,另一个为非目标类别;其中,所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

为实现上述目的,本申请实施方式还提供一种图像分类的装置,所述装置包括存储器和处理器,其中:所述存储器,用于存储第一类别的图像和第二类别的图像;其中,所述第一类别包括的图像和所述第二类别包括的图像具有部分相似的特征;所述处理器,用于接收目标图像;生成所述目标图像的目标表征向量;基于所述目标表征向量输出目标图像相应于所述第一类别和所述第二类别的评价信息;所述评价信息用于表示所述第一类别和所述第二类别中的一个被确定为目标类别,另一个为非目标类别;其中,所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

为实现上述目的,本申请实施方式还提供一种图像分类系统,包括前端服务器和业务服务器,其中:所述前端服务器,用于接收客户端发出的图像分类请求,其中,所述图像分类请求中附带有目标图像;将所述目标图像提供给所述业务服务器;所述业务服务器,用于接收所述目标图像;生成所述目标图像的目标表征向量;基于所述目标表征向量输出目标图像相应于第一类别和第二类别的评价信息;所述评价信息用于表示所述第一类别和所述第二类别中的一个被确定为目标类别,另一个为非目标类别;其中,所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

为实现上述目的,本申请实施方式还提供一种图像分类过程的优化方法,所述方法提供多个图像样本,所述多个图像样本被分类为第一类别和第二类别;所述方法包括:生成用于所述多个图像样本的多个表征向量,所述多个表征向量包括:用于第一类别图像样本的第一表征向量以及用于第二类别图像样本的第二表征向量;选择所述多个表征向量中的一个作为基准表征向量;计算所述基准表征向量与所述第一表征向量之间的第一差异值;计算所述基准表征向量与所述第二表征向量之间的第二差异值;根据所述第一差异值和所述第二差异值,执行优化矫正过程。

为实现上述目的,本申请实施方式还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,实现以下步骤:生成用于多个图像样本的多个表征向量,所述多个表征向量包括:用于第一类别图像样本的第一表征向量以及用于第二类别图像样本的第二表征向量;选择所述多个表征向量中的一个作为基准表征向量;计算所述基准表征向量与所述第一表征向量之间的第一差异值;计算所述基准表征向量与所述第二表征向量之间的第二差异值;根据所述第一差异值和所述第二差异值,执行优化矫正过程。

由上可见,本申请在进行图像分类过程中,可以预先输出图像样本相应于第一类别和第二类别的评价信息,该评价信息可以表征初步的图像分类结果。然后可以将该图像样本分别与同类别以及不同类别中的图像样本进行比较,相应得到第一差异值和第二差异值。后续基于所述评价信息生成的第一反馈值以及基于所述第一差异值和所述第二差异值生成的第二反馈值,均可以作为对神经网络进行修正的参考值,从而可以利用所述第一反馈值和所述第二反馈值对神经网络的每一层神经元进行修正,从而提高再次进行分类的结果的精度。

附图说明

为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施方式中图像分类过程的优化方法示意图;

图2为本申请实施方式中神经元的示意图;

图3为本申请实施方式中图像分类的第一示意图;

图4为本申请实施方式中图像分类的第二示意图;

图5为本申请实施方式中卷基层的工作原理示意图;

图6为本申请实施方式中第一差异值的确定示意图;

图7为本申请实施方式中第二差异值的确定示意图;

图8为本申请实施方式中图像分类过程的优化装置的结构示意图;

图9为本申请实施方式中图像分类的方法流程图;

图10为本申请实施方式中图像分类系统的交互示意图;

图11为本申请实施方式中图像分类过程的优化方法示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。

本申请提供一种图像分类过程的优化方法,所述方法可以应用于具备数据处理功能的电子设备中。所述电子设备例如可以是提供图像分类服务的业务服务器,也可以是用于对神经网络进行训练的测试服务器。当然,随着电子设备的不断发展以及数据处理功能的不断增强,所述图像分类过程的优化方法也可能应用于台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、智能电视机等电子设备中。本申请对电子设备的具体类型并不做限定。在所述电子设备中,可以预先存储或者导入包含图像样本的样本集。

在所述样本集中,各个图像样本可以根据所展示的内容,被划分为第一类别和第二类别。例如,所述样本集中可以包括“碗”和“盆”的各种各样的图像样本,每个图像样本可以与表示“碗”或“盆”的图像标签相绑定。这样,与“碗”图像标签相绑定的图像样本可以属于同一类,与“盆”图像标签相绑定的图像样本可以属于另一类。通常而言,为了能够起到精确的分类效果,所述样本集中的每个图像样本仅可能属于一个类别,而不会同时属于两个类别,因此,所述第一类别所述第二类别中包括的图像样本不同。

需要说明的是,在实际应用场景中,样本集中包含的图像样本可以划分为不止两个类别。但在实施本申请的技术方案时,每次可以从所述样本集中选取两个类别的图像样本进行处理。这样,被选取的两个类别便可以作为类别组合。两个类别组合之间,只要存在一个不同的类别,便可以认定这两个类别组合不同。例如,样本集中包括a1、a2、a3三个类别的图像样本,那么(a1,a2)、(a1,a3)、(a2,a3)这三个类别组合中,任意两个类别组合都是不同的。在实际应用场景中,为了训练数据的完备性,可以将样本集中不同的类别组合都利用本申请的技术方案进行处理,从而可以对神经网络进行充分的矫正,以提高神经网络的分类精度。

请参阅图1,本申请提供的图像分类过程的优化方法包括以下步骤。

s11:生成所述样本集中的图像样本的表征向量;所述表征向量用于表示对应的图像样本。

在本实施方式中,生成图像样本的表征向量的方式可以包括通过将所述图像样本的数据输入神经网络中,并由所述神经网络输出每个所述图像样本的表征向量。具体地,所述神经网络可以由各个层(layer)组成,每个层中均可以包括若干的神经元。其中,每个神经元可以向邻近的其它神经元发出信号,也可以从邻近的其它神经元处获取信号。请参阅图2,x1至x3可以作为之前的神经元向神经元y输入的信号,在神经元y的输出端,可以输出与x1至x3相关联的信号。其中,每个之前的神经元与神经元y输送信号时,还可以具备相应的权重。例如,x1至x3分别可以对应w1至w3的权重。输入的信号与各自的权重加权求和之后,便可以得到输入神经元y的总输入信号。在神经元y中,可以通过激励函数对总输入信号进行处理,从而得到神经元y的输出信号。由此可见,整个神经网络的信号处理过程便可以通过这些神经元之间的相互作用完成。

在本实施方式中,可以将所述图像样本的数据输入神经网络中,通过神经网络中各个神经元的相互作用,最终可以输出所述图像样本对应的表征向量。所述表征向量可以是所述图像样本的数字化表现形式,这样,通过神经网络得到的表征向量可以用于表示所述样本集中的一个图像样本。

在本实施方式中并不限制所述神经网络的类型。具体地,所述神经网络可以包括前馈式网络、输出反馈的前馈式网络、前馈式内层互连网络、反馈型全互连网络以及反馈型局部互连网络等。目前,前馈式网络中的卷积神经网络(convolutionalneuralnetworks,cnn)使用范围较广。举例来说,卷积神经网络可以包括lenet、alexnet、vgg、sppnet、inception等众多的比较成熟的神经网络。通过这些神经网络,均可以基于输入的图像样本,得到图像样本对应的表征向量。

在本实施方式中,生成所述样本集中的图像样本的表征向量的方式还可以包括将所述图像样本的像素值向量作为所述图像样本的表征向量。具体地,所述图像样本所展示的内容可以通过若干像素点组成,每个像素点可以具备相应的像素值。在本实施方式中,可以将所述图像样本上各个像素点的像素值按照一定的顺序进行排列,从而形成所述像素值向量。例如,所述一定的顺序可以是所述图像样本上像素点从左到右从上到下的顺序,当然,所述一定的顺序还可以是人为规定的其它顺序,本申请对此并不做限制。由于不同的图像样本上展示的内容通常不会完全一致,从而使得根据图像样本得到的像素值向量可以具备唯一性。这样,所述像素值向量便可以表征样本集中的图像样本。

s13:基于所述表征向量输出对应图像样本相应于所述第一类别和所述第二类别的评价信息。

在本实施方式中,在得到每个所述表征向量后,可以基于所述表征向量,判断所述图像样本属于第一类别还是第二类别。具体地,在神经网络中可以融入分类器,来对所述图像样本进行分类。所述分类器例如可以是支持向量机(supportvectormachine,svm)分类器或者softmax分类器。这样,基于表征向量输出评价信息的方式可以包括利用分类器针对图像样本的表征向量进行计算,并将输出的计算结果作为所述评价信息。

在本实施方式中,所述评价信息可以用于表示所述表征向量对应的图像样本被划分至不同类别的的可能性。所述评价信息可以是用于表征分类可能性的具体数值,也可以是用于表征分类结果的类别标识。例如,所述评价信息可以是针对第一类别和第二类别的分值,某个类别对应的分值越高,表示图像样本属于该类别的可能性越大。又例如,所述评价信息还可以是第一类别和第二类别中一个类别的标识,该类别的标识用于表示所述图像样本所属的类别。

在本实施方式中,分类器的计算结果通常可以有多种表示方式。具体地,计算结果的一种表示方式是直接表征所述图像样本所属的类别。具体地,所述第一类别和所述第二类别可以具备各自的数值区间,所述分类器输出的计算结果可以是一个具体的数值,这样,根据分类器输出的数值所处的数值区间,从而可以确定所述表征向量表示的图像样本属于哪个类别。这样,分类器输出的具体数值可以作为所述评价信息。当然,根据该具体数值所处的数值区间判断得到的类别的信息也可以作为所述评价信息。

在本实施方式中,计算结果的另一种表示方式是分类器可以相应于第一类别和第二类别输出两个数值,这两个数值的大小可以分别表征图像样本属于第一类别和第二类别的可能性。其中,数值越大,表示属于该类别的可能性越高。这样,通过比较两个数值的大小,从而可以将较大者对应的类别作为图像样本所属的类别。例如,分类器输出的计算结果为(10,-5),其中,10对应着第一类别,-5对应着第二类别,那么可以判定所述图像样本属于第一类别。这样,分类器输出的相应于两个类别的两个数值便可以作为所述评价信息。当然,根据这两个数值判断得到的类别的信息也可以作为所述评价信息。需要说明的是,在实际应用过程中,分类器在输出多个数值时,每个数值还可以表示图像样本属于各个类别的概率。例如,分类器输出的计算结果可以为(0.8,0.2),其中,0.8表示图像样本属于第一类别的概率为0.8,0.2表示图像样本属于第二类别的概率为0.2。这样,根据两个概率值的大小,同样可以判断出图像样本所属的类别。

s15:在属于所述第一类别的图像样本对应的表征向量中选择一个表征向量作为基准表征向量,计算所述基准表征向量与所述第一类别中其它图像样本的表征向量之间的第一差异值;以及计算所述基准表征向量与所述第二类别中图像样本的表征向量之间的第二差异值;根据所述第一差异值和所述第二差异值的差值,生成第一反馈值。

在本实施方式中,由于神经网络中各个神经元对应的初始权重通常是预先设定的,根据这些预先设定的初始权重计算得到的表征向量可能不太准确,从而导致最终图像分类的结果也不太准确。鉴于此,在本实施方式中可以对神经元对应的权重不断矫正,以使得神经网络输出的分类结果与真实的分类结果相近或者一致。

在本实施方式中,为了区分处于同一类别和不同类别中的图像样本,可以在属于所述第一类别的图像样本对应的表征向量中选择一个表征向量作为基准表征向量。通常而言,选择所述基准表征向量的方式可以包括从第一类别的图像样本对应的表征向量中随机选择一个作为基准表征向量。这样,在选择了该基准表征向量之后,可以计算所述基准表征向量与所述第一类别中其它图像样本的表征向量之间的第一差异值。

在本实施方式中,所述第一差异值可以指所述基准表征向量与第一类别中其它图像样本的表征向量在向量空间的距离。具体地,计算所述第一差异值的方式可以包括计算所述基准表征向量与所述第一类别中各个其它图像样本的表征向量之间的差异值,并将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。在向量空间中,计算两个向量之间的差异值可以指计算这两个向量之间的距离。差异值越大,表明在向量空间中这两个向量距离越远。因此,所述第一差异值可以表示所述基准表征向量与第一类别中其它图像样本的表征向量之间的平均距离或者最远距离。

在本实施方式中,还可以计算所述基准表征向量与所述第二类别中图像样本的表征向量之间的第二差异值。所述第二差异值可以指所述基准表征向量与第二类别中图像样本的表征向量在向量空间的距离。计算所述第二差异值的方式可以包括计算所述基准表征向量与所述第二类别中各个图像样本的表征向量之间的差异值,并将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。同样地,所述第二差异值可以表示所述基准表征向量与第二类别中图像样本的表征向量之间的平均距离或者最近距离。

在本实施方式中,计算所述第一差异值和第二差异值的目的在于衡量同类别中图像样本的表征向量之间的距离以及不同类别中图像样本的表征向量之间的距离。为了能够具备较好的分类结果,不同类别中图像样本的表征向量之间的距离应当大于同类别中图像样本的表征向量之间的距离。这样,才能使得类别与类别之间具备清晰的分界线,从而使得针对图像样本的分类更佳精确。

在本实施方式中,为了能够使得神经网络具备较好的分类效果,可以将第一类别和第二类别在向量空间的距离拉大。为了达到该目的,可以根据所述第一差异值和所述第二差异值的差值,生成第一反馈值。其中,第一差异值可以表示同一类别中表征向量之间的距离,第二差异值可以表示不同类别中表征向量之间的距离。那么生成所述第一反馈值的方式可以包括基于所述第一差异值和所述第二差异值之间的差值生成所述第一反馈值。具体地,可将所述第一差异值和所述第二差异值之间的差值作为所述第一反馈值。这样,请参阅图3,当所述第一反馈值小于或者等于0时,表明同一类别中两个表征向量之间的距离不大于不同类别中两个表征向量之间的距离。在这种情况下,向量空间中不同类别之间具备比较明显的分界线。然而,当所述第一反馈值大于0时,表明同一类别中两个表征向量之间的距离小于不同类别中两个表征向量之间的距离。请参阅图4,在这种情况下,向量空间中不同类别之间则可能存在交集,分类效果则不佳。由上可见,所述第一反馈值的大小可以表征第一类别和第二类别分类效果的好坏。

在本实施方式中,还可以在所述第一差异值和所述第二差异值之间的差值的基础上加上指定常量,并将相加后的结果作为所述第一反馈值。所述指定常量的作用是为了将不同类别之间的距离进一步拉大。在加上所述指定常量后,当第一反馈值小于或者等于0时,表明同一类别中两个表征向量之间的距离与不同类别中两个表征向量之间的距离之间还至少相差所述指定常量,从而进一步拉大了两个类别在向量空间中的距离。

s17:根据所述图像样本在所述样本集中隶属的类别以及所述评价信息得到第二反馈值。

在本实施方式中,还可以从分类结果的方面来对神经网络中各个神经元对应的权重进行矫正。具体地,所述评价信息可以表征经过神经网络的分类结果,而所述表征向量表示的图像样本在所述样本集中隶属的类别则可以表示真实的分类结果。在本实施方式中,所述评价信息以及图像样本在所述样本集中隶属的类别均可以通过数字化的形式来表示。具体地,所述评价信息中可以包括两个类别对应的数值,这样,所述评价信息可以是一个二维的向量。例如,所述评价信息可以是(10,2),其中,10表示第一类别对应的评价值,2表示第二类别对应的评价值。同样地,所述图像样本在所述样本集中隶属的类别也可以通过二维的向量表示,只不过表征隶属类别的二维向量中,真实类别对应的数值通常会远大于另一个类别对应的数值。例如,对于一个隶属于第一类别的图像样本而言,其对应的二维向量可以是(255,0)。这样,这两个二维向量之间的差值便可以作为所述第二反馈值,以用于对神经网络中神经元的权重进行矫正。

s19:使用所述第一反馈值和所述第二反馈值执行优化矫正过程。

在本实施方式中,在分别得到所述第一反馈值和所述第二反馈值之后,便可以将所述第一反馈值和所述第二反馈值作为对神经网络矫正的依据,对神经网络的各个层进行矫正,使得根据矫正后的神经网络再次生成的结果与真实结果更加接近。

在本实施方式中,所述优化矫正过程可以包括将所述第一反馈值和第二反馈值分别对神经网络进行矫正,这样,便可以对神经网络进行两次整体的矫正。此外,还可以将所述第一反馈值和第二反馈值整合为一个反馈值后对神经网络进行矫正,从而可以只对神经网络进行一次整体的矫正。在本实施方式中,所述优化矫正过程可以指对神经网络中各个神经元对应的权重进行修正,以使得根据修正后的权重进行数据传递时,能够得到与真实结果比较接近的结果。

在申请一个实施方式中,使用所述第一反馈值和所述第二反馈值执行优化矫正过程可以包括:将所述第一反馈值和所述第二反馈值反向传播,以用于使得再次生成的第一反馈值与设定阈值趋于符合指定关系。

在本实施方式中,所述设定阈值可以是一个常数,该设定阈值的意义在于将第一类别和第二类别在向量空间的距离拉大。具体地,所述设定数值可以是一个负数,这样,所述第一反馈值小于所述设定阈值可以表明第一类别和第二类别之间的距离大于某个设定的距离,从而可以将第一类别和第二类别在向量空间中分隔开。在实际应用过程中,可以将所述基准表征向量和同一类别中最远的表征向量之间的距离作为第一差异值,并将将所述基准表征向量和不同类别中最近的表征向量之间的距离作为第二差异值,这样,第一差异值和第二差异值之间依然相差所述设定阈值,从而可以进一步地拉大不同类别之间的距离,从而使得分类结果更加精确。

在本实施方式中,反向传播可以用于将反馈值反馈至神经网络中,以对生成表征向量和输出评价信息的过程中涉及的参数进行矫正。在将第一反馈值和第二反馈值反向传播时,一方面可以先后将所述第一反馈值和第二反馈值分别反向传播,从而对神经网络进行两次整体的矫正。此外,还可以将所述第一反馈值和第二反馈值整合为一个反馈值后进行反向传播,从而对神经网络进行一次整体的矫正。具体地,在将第一反馈值和第二反馈值整合为一个反馈值时,可以分别为第一反馈值和第二反馈值分配相应的权重系数,从而使得第一反馈值和第二反馈值进行加权求和之后,得到整合后的反馈值。

在本实施方式中,在对神经网络进行矫正之后,可以对样本集中的图像样本再次进行计算,以再次生成所述第一反馈值。在本实施方式中,所述指定关系可以用于评判是否需要对神经网络再次进行矫正。具体地,所述指定关系可以指所述第一反馈值小于或等于所述设定阈值。在本实施方式中,再次生成的第一反馈值趋于所述指定关系可以表示再次生成的第一反馈值不满足所述指定关系,但是与上一次生成的第一反馈值相比,更加接近于该指定关系。具体地,可以通过所述第一反馈值与所述设定阈值之差来表示这种趋近关系。在每次反向传播之后,再次生成第一反馈值时,可以将该第一反馈值与所述设定阈值求差值,只要所述差值比上次计算的差值小,就表明所述第一反馈值与所述设定阈值趋于所述指定关系。

这样,通过对神经网络多次进行矫正,从而可以使得所述第一反馈值与所述设定阈值最终满足所述指定关系,从而可以停止对神经网络的矫正过程。

在本申请一个实施方式中,所述样本集中的图像样本可以根据所展示的内容进行类别划分。具体地,所述样本集中可以预先设置第一类别和第二类别对应的标签。这样,当图像样本上展示的内容与其中一个标签相匹配时,便可以将该图像样本划分至该标签对应的类别中。通常而言,为了对样本集中的图像样本进行分类,样本集中的同一个图像样本不可能被同时划分至两个类别中,也就是说,不同类别之间存在互斥性,不同类别之间不具备相同的图像样本。

在本申请一个实施方式中,所述评价信息可以包括相应于所述第一类别的第一评价值以及相应于所述第二类别的第二评价值;其中,所述第一评价值和所述第二评价值分别表示图像样本属于所述第一类别和所述第二类别的可能性。

在本实施方式中,可以理解为评价值越大,表示属于该类别的可能性越高。这样,通过比较两个评价值的大小,从而可以将较大者对应的类别作为图像样本所属的类别。例如,所述评价信息为(10,-5),其中,10为所述第一评价值,对应着第一类别;-5为所述第二评价值,对应着第二类别,那么可以判定所述图像样本属于第一类别。此外,这两个评价值还可以表示图像样本属于各个类别的概率。例如,所述评价信息可以为(0.8,0.2),其中,0.8为所述第一评价值,用于表示图像样本属于第一类别的概率为0.8,0.2为第二评价值,用于表示图像样本属于第二类别的概率为0.2。这样,根据两个概率值的大小,同样可以判断出图像样本所属的类别。由上可见,当所述第一评价值和第二评价值为概率值时,所述第一评价值和所述第二评价值的和可以为1。

在本申请一个实施方式中,生成所述样本集中的图像样本的表征向量可以包括以下步骤。获取由所述图像样本中各个像素点的像素值构成的像素值向量,并对所述像素值向量进行降维处理,以得到所述图像样本的表征向量。

在本实施方式中,所述图像样本所展示的内容可以通过若干像素点组成,每个像素点可以具备相应的像素值。这样,可以将所述图像样本上各个像素点的像素值按照一定的顺序进行排列,从而可以获取所述像素值向量。例如,所述一定的顺序可以是所述图像样本上像素点从左到右从上到下的顺序,当然,所述一定的顺序还可以是人为规定的其它顺序,本申请对此并不做限制。

在本实施方式中,根据图像样本得到的像素值向量通常具备较高的维度,如果直接对该像素值向量进行计算,会使得运算压力特别大,从而使得分类的效率降低。鉴于此,在本实施方式中可以对所述像素值向量进行降维处理,从而生成维度较低的表征向量。具体地,可以通过主成分分析算法(principalcomponentanalysis,pca)、线性降维算法(lineardiscriminantanalysis,lda)、局部线性嵌入算法(locallylinearembedding,lle)等算法对所述像素值向量进行降维,从而得到所述表征向量。

在本申请一个实施方式中,可以采用卷积神经网络的结构来对像素值向量进行降维。

在本实施方式中,在所述卷积神经网络中,可以具备交替出现的卷基层和池化层(下采样层),从而逐步对像素值向量进行降维。具体地,请参阅图5,在卷基层中,可以通过至少一个卷积核对所述图像样本进行局部卷积,每个卷积核可以对应图像样本中的一部分图像。这样,通过这些卷积核对图像样本进行局部卷积后,可以提取图像样本的局部特征,这些局部特征可以与各个卷积核相对应。在提取了图像样本的局部特征之后,可以对各个所述局部特征进行下采样(池化)。具体地,可以计算局部特征的某个区域对应的平均值,并将该平均值作为该区域下采样的结果。这样,通过区域化聚合统计的方式,可以进一步地降低局部特征的维度。

请参阅图6,在本申请一个实施方式中,确定所述第一差异值可以包括以下步骤。

s31:计算所述基准表征向量与所述第一类别中各个其它图像样本的表征向量之间的差异值。

s33:将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。

在本实施方式中,计算两个向量之间的差异值,实际上可以指计算两个向量之间的距离。具体地,该距离可以通过欧氏距离的形式来表示。在本实施方式中,可以将计算得到的欧氏距离中的最大值作为所述第一差异值,也可以将各个欧氏距离的平均值作为所述第一差异值。

相似地,请参阅图7,在本申请一个实施方式中,确定所述第二差异值可以包括以下步骤。

s41:计算所述基准表征向量与所述第二类别中各个图像样本的表征向量之间的差异值。

s43:将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。

在本实施方式中,可以将计算得到的欧氏距离中的最小值作为所述第二差异值,也可以将各个欧氏距离的平均值作为所述第二差异值。

在实际应用中,所述第一差异值可以选取计算得到的欧氏距离中的最大值,而所述第二差异值可以选取计算能得到的欧氏距离中的最小值。这样选取的目的在于,需要使得所述基准表征向量与同一类别中最远的表征向量之间的距离依然小于所述基准表征向量与不同类别中最近的表征向量之间的距离,从而可以将不同的类别明显区分开,得到较好的分类结果。

在本申请一个实施方式中,根据所述第一差异值和所述第二差异值的差值,生成第一反馈值可以包括以下步骤。

s51:计算所述第一差异值和所述第二差异值之间的差值,并计算所述差值与指定常数的和;

s53:当所述和小于或者等于零时,将零作为所述第一反馈值;当所述和大于零时,将所述和作为所述第一反馈值。

在本实施方式中,可以用所述第一差异值减去所述第二差异值,从而求取所述第一差异值和所述第二差异值之间的差值,并将该差值与大于0的一个指定常数相加。所述指定常数可以用于限定两个不同类别之间的最小间隔。通过所述指定常数,可以使得所述基准表征向量和同一类别中最远的表征向量之间的距离,与所述基准表征向量和不同类别中最近的表征向量之间的距离依然相差所述指定常数,从而可以进一步地拉大不同类别之间的距离,从而使得分类结果更加精确。

在本实施方式中,当所述和小于或者等于零时,表明当前分类后的结果中,两个不同类别之间的距离已经相距所述指定常数,达到了分类精度的要求,从而可以将0作为所述第一反馈值,表示不需要对神经网络进行矫正。而当所述和大于零时,表明分类后的结果中,两个不同类之间的距离可能小于所述指定常数,未达到分类精度的要求,从而可以将所述和作为所述第一反馈值,以对神经网络进行进一步地矫正。

在本申请一个实施方式中,在求取所述第二反馈值时,可以根据所述表征向量表示的图像样本在所述样本集中隶属的类别,确定所述图像样本对应的标准分类信息。所述标准分类信息可以通过数字化的形式表示。具体地,所述标准分类信息可以通过二维向量来表示,在所述二维向量中,真实类别对应的数值通常会远大于另一个类别对应的数值。例如,对于一个隶属于第一类别的图像样本而言,其对应的二维向量可以是(255,0)。同样地,所述评价信息也可以是一个二维的向量。例如,所述评价信息可以是(10,2),其中,10表示第一类别对应的评价值,2表示第二类别对应的评价值。这样,可以将所述标准分类信息与所述评价信息之间的差异值作为所述第二反馈值,以用于对神经网络中神经元的权重进行矫正。

在本申请一个实施方式中,将所述第一反馈值和所述第二反馈值反向传播可以指利用所述第一反馈值和所述第二反馈值对生成表征向量和输出评价信息的过程中涉及的参数进行矫正。其中,所述参数可以指神经网络中各个神经元对应的权重。也就是说,可以将所述第一反馈值和所述第二反馈值作为对神经网络矫正的依据,对神经网络的各个层进行矫正。具体地,所述反向传播的方法可以包括以下步骤。

s61:分别为所述第一反馈值和所述第二反馈值分配第一权重值和第二权重值;

s63:将所述第一反馈值与所述第一权重值相乘,以及将所述第二反馈值与所述第二权重值相乘;

s65:将相乘后的结果相加,并将相加后的结果反向传播。

在本实施方式中,可以将所述第一反馈值和第二反馈值整合为一个反馈值后进行反向传播,从而对神经网络进行一次整体的矫正。具体地,在将第一反馈值和第二反馈值整合为一个反馈值时,可以分别为第一反馈值和第二反馈值分配相应的权重值,从而使得第一反馈值和第二反馈值进行加权求和之后,得到整合后的反馈值,并将整合后的反馈值进行反向传播。

在一个实际应用示例中,可以在softmax的分类网络中引入tripletloss损失函数,在softmax分类网络中,原本具备softmaxloss的损失函数,通过该损失函数可以对网络进行矫正,以使得经过网络的分类结果能够趋近真实的分类结果。但由于softmax分类网络通常是基于图像的整体特征进行考量,因此在划分具备明显区别特征的图像时分类效果较好。例如,在将“碗”、“球”、“房子”这些图像进行分类时,softmax的分类网络能够实现较高的分类精度。然而,当对于存在部分相同或者相似特征的图像,softmax分类网络便难以有效地将这些图像进行准确的分类。例如,对于“碗”和“盆”这两类图像,softmax分类网络便难以达到较高的分类精度。基于此,在本应用示例中,可以引入tripletloss损失函数,并通过softmaxloss和tripletloss的结合,提高分类的精度。

具体地,在本应用示例中,在softmax的分类网络中可以针对输入的图像样本的数据,生成图像样本的表征向量。在生成所述表征向量时,可以先获取图像样本的像素值向量,然后可以通过softmax分类网络中的卷积层和下采样层对所述像素值向量进行处理,从而可以对所述像素值向量进行降维,以得到维度较低的表征向量。

在本应用示例中,可以针对该表征向量生成对应于第一分类和第二分类的二维向量。具体地,该二维向量中的两个数值可以分别表示图像样本属于第一类别的概率以及属于第二类别的概率。例如,所述二维向量可以是(0.7,0.3)。在该应用示例中,图像样本通常可以对应标准分类向量,所述标准分类向量也可以是二维向量,其中,对应真实类别的数值通常会远大于另一个类别的数值。例如,所述标准分类向量可以是(1,0)。这样,softmax分类网络得到的二维向量与所述标准分类向量之间的差值可以作为第二反馈值。

在本应用示例中,在引入了tripletloss损失函数后,可以将该图像样本表示的表征向量作为基准表征向量,并计算所述基准表征向量与所述第一类别中最远的表征向量之间的第一差异值;以及计算所述基准表征向量与所述第二类别中最近的表征向量之间的第二差异值,从而可以用所述第一差异值减去所述第二差异值,从而生成第一反馈值。

在本应用示例中,在得到第一反馈值和第二反馈值之后,可以分别为这两个反馈值设置两个权重值,然后可以进行加权求和之后便得到总的反馈值。在本应用示例中,通过该总的反馈值在softmax分类网络中进行反向传播,从而可以对所述softmax网络逐层进行矫正,以使得最终的分类结果能够满足分类精度。具体地,在对softmax网络的各个层进行矫正之后,可以再次输入所述图像样本的数据,从而按照上述过程再次生成所述第一反馈值。在生成所述第一反馈值之后,可以将再次生成的第一反馈值与设定阈值进行对比。具体地,在应用示例中,所述设定阈值可以是一个负数,这样,所述第一反馈值小于所述设定阈值可以表明第一类别和第二类别之间的距离大于某个设定的距离,从而可以将第一类别和第二类别在向量空间中分隔开。这样,两个类别之间不存在交集,从而具备更好的分类效果。

请参阅图8,本申请还提供一种图像分类过程的优化装置,所述装置包括存储器100和处理器200。

其中,所述存储器100,用于存储包括图像样本的样本集,所述图像样本被划分为第一类别和第二类别;所述第一类别和所述第二类别中包括的图像样本不同。

所述处理器200,用于生成所述样本集中的图像样本的表征向量;所述表征向量用于表示对应的图像样本;基于所述表征向量输出对应图像样本相应于所述第一类别和所述第二类别的评价信息;在属于所述第一类别的图像样本对应的表征向量中选择一个表征向量作为基准表征向量,计算所述基准表征向量与所述第一类别中其它图像样本的表征向量之间的第一差异值;以及计算所述基准表征向量与所述第二类别中图像样本的表征向量之间的第二差异值;根据所述第一差异值和所述第二差异值的差值,生成第一反馈值;根据所述图像样本在所述样本集中隶属的类别以及所述评价信息得到第二反馈值;使用所述第一反馈值和所述第二反馈值执行优化矫正过程。

在本实施方式中,所述存储器100可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储器,如内存条、tf卡等。

所述处理器200可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。

上述实施方式公开的装置,其存储器100和处理器200实现的具体功能,可以与本申请中图像分类过程的优化方法的实施方式相对照解释,可以实现本申请的图像分类过程的优化方法的实施方式并达到方法实施方式的技术效果。

针对本实施方式中术语实现的功能和效果,可以参照其它实施方式对照解释。

本申请还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,可以实现以下步骤。

s11:生成所述样本集中的图像样本的表征向量;所述表征向量用于表示对应的图像样本。

s13:基于所述表征向量输出对应图像样本相应于所述第一类别和所述第二类别的评价信息。

s15:在属于所述第一类别的图像样本对应的表征向量中选择一个表征向量作为基准表征向量,计算所述基准表征向量与所述第一类别中其它图像样本的表征向量之间的第一差异值;以及计算所述基准表征向量与所述第二类别中图像样本的表征向量之间的第二差异值;根据所述第一差异值和所述第二差异值的差值,生成第一反馈值。

s17:根据所述图像样本在所述样本集中隶属的类别以及所述评价信息得到第二反馈值。

s19:使用所述第一反馈值和所述第二反馈值执行优化矫正过程。

在本实施方式中,所述计算机存储介质可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储介质;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储介质,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储介质,如内存条、tf卡等。

针对本实施方式中术语实现的功能和效果,可以参照其它实施方式对照解释。

本申请还提供一种图像分类方法,所述方法可以应用于具备数据处理功能的电子设备或者应用于运行在所述电子设备的软件中。例如,所述电子设备可以是图像分类网站的后台业务服务器,所述软件可以是图像分类网站提供的可在用户终端上运行的应用(application,app)。在所述电子设备或软件中,可以预先导入经过上述的图像分类过程的优化方法得到的经过矫正的神经网络模型。该神经网络模型能够对第一类别和第二类别的图像进行分类。具体地,属于所述第一类别的图像和属于所述第二类别的图像具有部分相似的特征。所述部分相似的特征可以是图像展示的内容的外型。例如“碗”和“盆”的轮廓、人脸的轮廓、“保龄球”和“棒球”的轮廓等。请参阅图9,所述方法包括以下步骤。

s71:接收目标图像。

在本实施方式中,接收目标图像的方式可以根据目标图像的访问路径,在本地加载所述目标图像;也可以是通过网络通信方式接收其它设备发来的图像。

s73:生成所述目标图像的目标表征向量。

在本实施方式中,可以通过完成矫正的神经网络生成所述目标图像的目标表征向量。具体地,所述神经网络可以由各个层组成,每个层中均可以包括若干的神经元。其中,每个神经元可以向邻近的其它神经元发出信号,也可以从邻近的其它神经元处获取信号。每个神经元还可以对应自身的权重,该权重可以在上述优化的方法中进行了修正。这样,输入神经网络的目标图像可以通过这些神经元之间的相互作用,最终得到对应的目标表征向量。

s75:基于所述目标表征向量输出目标图像相应于所述第一类别和所述第二类别的评价信息;所述评价信息用于表示所述第一类别和所述第二类别中的一个被确定为目标类别,另一个为非目标类别;其中,所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

在本实施方式中,在得到所述目标表征向量后,可以经过神经网络中的分类器输出所述目标表征向量对应的评价信息。该评价信息的一种表示方式是直接表征所述图像样本所属的类别。具体地,所述第一类别和所述第二类别可以具备各自的数值区间,所述分类器输出的计算结果可以是一个具体的数值,这样,根据分类器输出的数值所处的数值区间,从而可以确定所述表征向量表示的图像样本属于哪个类别。这样,分类器输出的具体数值可以作为所述评价信息。当然,根据该具体数值所处的数值区间判断得到的类别的信息也可以作为所述评价信息。

在本实施方式中,评价信息的另一种表示方式是分类器可以相应于第一类别和第二类别输出两个数值,这两个数值的大小可以分别表征图像样本属于第一类别和第二类别的可能性。其中,数值越大,表示属于该类别的可能性越高。这样,通过比较两个数值的大小,从而可以将较大者对应的类别作为图像样本所属的目标类别,另一个则为非目标类别。例如,分类器输出的计算结果为(10,-5),其中,10对应着第一类别,-5对应着第二类别,那么可以判定所述图像样本属于第一类别,第一类别便可以是所述目标类别,第二类别便可以是所述非目标类别。这样,分类器输出的相应于两个类别的两个数值便可以作为所述评价信息。需要说明的是,在实际应用过程中,分类器在输出多个数值时,每个数值还可以表示图像样本属于各个类别的概率。例如,分类器输出的计算结果可以为(0.8,0.2),其中,0.8表示图像样本属于第一类别的概率为0.8,0.2表示图像样本属于第二类别的概率为0.2。这样,根据两个概率值的大小,同样可以判断出图像样本所属的目标类别。

在本实施方式中,除了可以输出所述目标表征向量相应于所述第一类别和所述第二类别的评价信息之外,所述目标表征向量还可以满足:所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

在本实施方式中,所述第一差异值可以通过计算所述目标表征向量与所述第一类别中各个其它图像样本的表征向量之间的差异值得到。具体地,可以将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。在向量空间中,计算两个向量之间的差异值可以指计算这两个向量之间的距离。差异值越大,表明在向量空间中这两个向量距离越远。因此,所述第一差异值可以表示所述目标表征向量与第一类别中其它图像样本的表征向量之间的平均距离或者最远距离。

在本实施方式中,所述第二差异值可以通过计算所述目标表征向量与所述第二类别中各个图像样本的表征向量之间的差异值得到。具体地,可以将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。同样地,所述第二差异值可以表示所述目标表征向量与第二类别中图像样本的表征向量之间的平均距离或者最近距离。

在本实施方式中,所述设定数值的意义在于将第一类别和第二类别在向量空间的距离拉大。其中,所述设定数值可以是一个负数,这样,所述第一差异值与所述第二差异值之间的差值小于设定数值可以表明第一类别和第二类别之间的距离大于某个设定的距离,从而可以将第一类别和第二类别在向量空间中分隔开。这样,两个类别之间不存在交集,从而具备更好的分类效果。在实际应用过程中,可以将所述目标表征向量和同一类别中最远的表征向量之间的距离作为第一差异值,并将将所述目标表征向量和不同类别中最近的表征向量之间的距离作为第二差异值,这样,第一差异值和第二差异值之间依然相差所述设定数值,从而可以进一步地拉大不同类别之间的距离,从而使得分类结果更加精确。

在本申请一个实施方式中,所述评价信息可以包括相应于所述第一类别的第一评价值以及相应于所述第二类别的第二评价值;其中,所述第一评价值和所述第二评价值中的较大者对应的类别作为所述目标类别,较小者对应的类别作为所述非目标类别。

在本实施方式中,评价值越大,表示属于该类别的可能性越高。这样,通过比较两个评价值的大小,从而可以将较大者对应的类别作为图像样本所属的目标类别。例如,所述评价信息为(10,-5),其中,10为所述第一评价值,对应着第一类别;-5为所述第二评价值,对应着第二类别,那么可以判定所述图像样本属于第一类别。此外,这两个评价值还可以表示图像样本属于各个类别的概率。例如,所述评价信息可以为(0.8,0.2),其中,0.8为所述第一评价值,用于表示图像样本属于第一类别的概率为0.8,0.2为第二评价值,用于表示图像样本属于第二类别的概率为0.2。这样,根据两个概率值的大小,同样可以判断出图像样本所属的目标类别。由上可见,当所述第一评价值和第二评价值为概率值时,所述第一评价值和所述第二评价值的和可以为1。

在本申请一个实施方式中,所述第一差异值可以根据以下步骤确定。

计算所述目标表征向量与所述目标类别中各个其它图像的表征向量之间的差异值;

将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。

在本实施方式中,计算两个向量之间的差异值,实际上可以指计算两个向量之间的距离。具体地,该距离可以通过欧氏距离的形式来表示。在本实施方式中,可以将计算得到的欧氏距离中的最大值作为所述第一差异值,也可以将各个欧氏距离的平均值作为所述第一差异值。

在本申请一个实施方式中,所述第二差异值可以根据以下步骤确定。

计算所述目标表征向量与所述非目标类别中各个图像的表征向量之间的差异值;

将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。

在本实施方式中,可以将计算得到的欧氏距离中的最小值作为所述第二差异值,也可以将各个欧氏距离的平均值作为所述第二差异值。

在一个实际应用示例中,图像分类网站的后台业务服务器中可以导入经过矫正的神经网络模型。搞神经网络模型可以将第一类别和第二类别的图像进行分类。所述第一类别可以是“碗”,所述第二类别可以是“盆”。用户通过浏览器或者app可以访问该图像分类网站的首页。在首页中,用户可以通过选择图像路径或者直接将图像拖入首页中的方式,将一个展示“盆”的图像提供给图像分类网站的后台业务服务器。业务服务器在接收到该图像之后,可以将该图像的数据作为神经网络的输入数据,通过所述神经网络转换为目标表征向量。该目标表征向量属于“盆”这一类,而经过该神经网络模型计算的到的表征向量中,“碗”这一类的表征向量与“盆”这一类的表征向量之间存在一定的距离。因此,该“盆”的表征向量可以满足和其它“盆”图像的表征向量之间的第一差异值,与和“碗”图像的表征向量之间的第二差异值之间的差值小于设定数值。并且,神经网络在将“盆”图像转换得到目标表征向量之后,可以基于该目标表征向量输出一个二维向量(0.8,0.2),其中,0.8表示输入的图像属于“盆”的概率,0.2表示输入的图像属于“碗”的概率。由此可见,输入的图像对应的目标类别为“盆”。

在另一个实际应用示例中,所述图像分类方法还可以应用于通过图像进行商品搜索的场景中。具体地,用户可以将目标图像通过客户端发送至京东网、苏宁网这些购物平台网站的后台服务器。后台服务器在接收到该目标图像后,可以按照上述的方式确定出该目标图像中展示的内容所属的商品类别。其中,每个商品类别均可以与一个商品资源集相对应,所述商品资源集中可以包括各个商品的标识或者简介。这样,在确定了目标图像中展示的内容所属的商品类别后,后台服务器可以向用户的客户端反馈与该商品类别相对应的商品资源集。用户从而可以在客户端中浏览与其提供的目标图像相关联的商品。

本申请还提供一种图像分类的装置,所述装置包括存储器和处理器。

其中,所述存储器,用于存储第一类别的图像和第二类别的图像;其中,所述第一类别包括的图像和所述第二类别包括的图像具有部分相似的特征。

所述处理器,用于接收目标图像;生成所述目标图像的目标表征向量;基于所述目标表征向量输出目标图像相应于所述第一类别和所述第二类别的评价信息;所述评价信息用于表示所述第一类别和所述第二类别中的一个被确定为目标类别,另一个为非目标类别;其中,所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

在本实施方式中,所述存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储器,如内存条、tf卡等。

所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。

上述实施方式公开的装置,其存储器和处理器实现的具体功能,可以与本申请中的图像分类方法的实施方式相对照解释,可以实现本申请的图像分类方法的实施方式并达到方法实施方式的技术效果。

本申请还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,可以实现以下步骤。

s71:接收目标图像。

s73:生成所述目标图像的目标表征向量。

s75:基于所述目标表征向量输出目标图像相应于所述第一类别和所述第二类别的评价信息;所述评价信息用于表示所述第一类别和所述第二类别中的一个被确定为目标类别,另一个为非目标类别;其中,所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

在本实施方式中,所述计算机存储介质可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储介质;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储介质,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储介质,如内存条、tf卡等。

针对本实施方式中术语实现的功能和效果,可以参照其它实施方式对照解释。

请参阅图10,本申请还提供一种图像分类系统,所述系统包括前端服务器和业务服务器。

其中,所述前端服务器,用于接收客户端发出的图像分类请求,其中,所述图像分类请求中附带有目标图像;将所述目标图像提供给所述业务服务器。

所述业务服务器,用于接收所述目标图像;生成所述目标图像的目标表征向量;基于所述目标表征向量输出目标图像相应于第一类别和第二类别的评价信息;所述评价信息用于表示所述第一类别和所述第二类别中的一个被确定为目标类别,另一个为非目标类别;其中,所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

在本实施方式中,所述前端服务器可以图像分类网站中与用户进行交互的服务器。用户在客户端中通过点击某个图像,或者通过上传某个图像的方式,可以将目标图像通过图像分类请求的方式发送至所述前端服务器。前端服务器在接收到所述图像分类请求后,可以将其中包含的目标图像提取出来,并将提取的目标图像发送至所述业务服务器。

在本实施方式中,所述业务服务器可以是负责进行数据存储以及数据处理的具备较强运算功能的服务器。该业务服务器接收到所述目标图像后,可以通过内置的神经网络模型对该目标图像的类别进行预测。具体地,通过所述神经网络模型中的各个层,可以将输入的目标图像的数据转换为目标表征向量。在得到所述目标表征向量后,可以经过神经网络模型中的分类器输出所述目标表征向量对应的评价信息。该评价信息的一种表示方式是直接表征所述图像样本所属的类别。具体地,所述第一类别和所述第二类别可以具备各自的数值区间,所述分类器输出的计算结果可以是一个具体的数值,这样,根据分类器输出的数值所处的数值区间,从而可以确定所述表征向量表示的图像样本属于哪个类别。这样,分类器输出的具体数值可以作为所述评价信息。当然,根据该具体数值所处的数值区间判断得到的类别的信息也可以作为所述评价信息。

在本实施方式中,评价信息的另一种表示方式是分类器可以相应于第一类别和第二类别输出两个数值,这两个数值的大小可以分别表征图像样本属于第一类别和第二类别的可能性。其中,数值越大,表示属于该类别的可能性越高。这样,通过比较两个数值的大小,从而可以将较大者对应的类别作为图像样本所属的目标类别,另一个则为非目标类别。例如,分类器输出的计算结果为(10,-5),其中,10对应着第一类别,-5对应着第二类别,那么可以判定所述图像样本属于第一类别,第一类别便可以是所述目标类别,第二类别便可以是所述非目标类别。这样,分类器输出的相应于两个类别的两个数值便可以作为所述评价信息。需要说明的是,在实际应用过程中,分类器在输出多个数值时,每个数值还可以表示图像样本属于各个类别的概率。例如,分类器输出的计算结果可以为(0.8,0.2),其中,0.8表示图像样本属于第一类别的概率为0.8,0.2表示图像样本属于第二类别的概率为0.2。这样,根据两个概率值的大小,同样可以判断出图像样本所属的目标类别。

在本实施方式中,除了可以输出所述目标表征向量相应于所述第一类别和所述第二类别的评价信息之外,所述目标表征向量还可以满足:所述目标表征向量与所述目标类别中其它图像的表征向量的第一差异值,与所述目标表征向量与所述非目标类别中图像的表征向量的第二差异值之间的差值小于设定数值。

在本实施方式中,所述第一差异值可以通过计算所述目标表征向量与所述第一类别中各个其它图像样本的表征向量之间的差异值得到。具体地,可以将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。在向量空间中,计算两个向量之间的差异值可以指计算这两个向量之间的距离。差异值越大,表明在向量空间中这两个向量距离越远。因此,所述第一差异值可以表示所述目标表征向量与第一类别中其它图像样本的表征向量之间的平均距离或者最远距离。

在本实施方式中,所述第二差异值可以通过计算所述目标表征向量与所述第二类别中各个图像样本的表征向量之间的差异值得到。具体地,可以将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。同样地,所述第二差异值可以表示所述目标表征向量与第二类别中图像样本的表征向量之间的平均距离或者最近距离。

在本实施方式中,所述设定数值的意义在于将第一类别和第二类别在向量空间的距离拉大。其中,所述设定数值可以是一个负数,这样,所述第一差异值与所述第二差异值之间的差值小于设定数值可以表明第一类别和第二类别之间的距离大于某个设定的距离,从而可以将第一类别和第二类别在向量空间中分隔开。这样,两个类别之间不存在交集,从而具备更好的分类效果。在实际应用过程中,可以将所述目标表征向量和同一类别中最远的表征向量之间的距离作为第一差异值,并将将所述目标表征向量和不同类别中最近的表征向量之间的距离作为第二差异值,这样,第一差异值和第二差异值之间依然相差所述设定数值,从而可以进一步地拉大不同类别之间的距离,从而使得分类结果更加精确。

在本申请一个实施方式中,当业务服务器对所述目标图像进行分类之后,可以将所述目标图像对应的目标类别反馈至所述前端服务器。这样,通过所述前端服务器,可以将所述目标类别反馈给所述客户端,从而完成图像分类的过程,该过程也可以视为对目标图像进行打标签的过程。

在本申请一个实施方式中,所述第一类别包括的图像和所述第二类别包括的图像可以具有部分相似的特征。所述部分相似的特征可以是图像展示的内容的外型。例如“碗”和“盆”的轮廓、人脸的轮廓、“保龄球”和“棒球”的轮廓等。

在本申请一个实施方式中,所述评价信息包括相应于所述第一类别的第一评价值以及相应于所述第二类别的第二评价值;相应地,所述业务服务器还用于将所述第一评价值和所述第二评价值中的较大者对应的类别确定为所述目标类别,并将较小者对应的类别确定为所述非目标类别。

在本实施方式中,所述第一评价值和所述第二评价值分别表示图像样本属于所述第一类别和所述第二类别的可能性。具体地,评价值越大,表示属于该类别的可能性越高。这样,所述业务服务器通过比较两个评价值的大小,从而可以将较大者对应的类别作为图像样本所属的目标类别。例如,所述评价信息为(10,-5),其中,10为所述第一评价值,对应着第一类别;-5为所述第二评价值,对应着第二类别,那么可以判定所述图像样本属于第一类别。此外,这两个评价值还可以表示图像样本属于各个类别的概率。例如,所述评价信息可以为(0.8,0.2),其中,0.8为所述第一评价值,用于表示图像样本属于第一类别的概率为0.8,0.2为第二评价值,用于表示图像样本属于第二类别的概率为0.2。这样,根据两个概率值的大小,同样可以判断出图像样本所属的目标类别。

在本申请一个实施方式中,所述业务服务器可以根据以下步骤确定所述第一差异值。

计算所述目标表征向量与所述目标类别中各个其它图像的表征向量之间的差异值;

将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。

在本实施方式中,计算两个向量之间的差异值,实际上可以指计算两个向量之间的距离。具体地,该距离可以通过欧氏距离的形式来表示。在本实施方式中,可以将计算得到的欧氏距离中的最大值作为所述第一差异值,也可以将各个欧氏距离的平均值作为所述第一差异值。

在本申请一个实施方式中,所述业务服务器可以根据以下步骤确定所述第二差异值。

计算所述目标表征向量与所述非目标类别中各个图像的表征向量之间的差异值;

将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。

在本实施方式中,可以将计算得到的欧氏距离中的最小值作为所述第二差异值,也可以将各个欧氏距离的平均值作为所述第二差异值。

本申请还提供一种图像分类过程的优化方法,所述方法可以应用于具备数据处理功能的电子设备中。所述电子设备例如可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、智能电视机等。在所述电子设备中,可以预先存储或者导入多个图像样本。其中,各个图像样本可以根据所展示的内容,被划分为第一类别和第二类别。例如,所述多个图像样本中可以包括“碗”和“盆”的各种各样的图像样本,每个图像样本可以与表示“碗”或“盆”的图像标签相绑定。这样,与“碗”图像标签相绑定的图像样本可以属于同一类,与“盆”图像标签相绑定的图像样本可以属于另一类。通常而言,为了能够起到精确的分类效果,每个图像样本仅可能属于一个类别,而不会同时属于两个类别,因此,所述第一类别所述第二类别中包括的图像样本不同。

请参阅图11,本申请提供的图像分类过程的优化方法包括以下步骤。

s81:生成用于所述多个图像样本的多个表征向量,所述多个表征向量包括:用于第一类别图像样本的第一表征向量以及用于第二类别图像样本的第二表征向量。

在本实施方式中,生成图像样本的表征向量的方式可以包括通过将所述图像样本的数据输入神经网络中,并由所述神经网络输出每个所述图像样本的表征向量。具体地,所述神经网络可以由各个层(layer)组成,每个层中均可以包括若干的神经元。其中,每个神经元可以向邻近的其它神经元发出信号,也可以从邻近的其它神经元处获取信号。请参阅图2,x1至x3可以作为之前的神经元向神经元y输入的信号,在神经元y的输出端,可以输出与x1至x3相关联的信号。其中,每个之前的神经元与神经元y输送信号时,还可以具备相应的权重。例如,x1至x3分别可以对应w1至w3的权重。输入的信号与各自的权重加权求和之后,便可以得到输入神经元y的总输入信号。在神经元y中,可以通过激励函数对总输入信号进行处理,从而得到神经元y的输出信号。由此可见,整个神经网络的信号处理过程便可以通过这些神经元之间的相互作用完成。

在本实施方式中,可以将所述图像样本的数据输入神经网络中,通过神经网络中各个神经元的相互作用,最终可以输出所述图像样本对应的表征向量。所述表征向量可以是所述图像样本的数字化表现形式,这样,通过神经网络得到的表征向量可以用于表示一个图像样本。

在本实施方式中并不限制所述神经网络的类型。具体地,所述神经网络可以包括前馈式网络、输出反馈的前馈式网络、前馈式内层互连网络、反馈型全互连网络以及反馈型局部互连网络等。目前,前馈式网络中的卷积神经网络(convolutionalneuralnetworks,cnn)使用范围较广。举例来说,卷积神经网络可以包括lenet、alexnet、vgg、sppnet、inception等众多的比较成熟的神经网络。通过这些神经网络,均可以基于输入的图像样本,得到图像样本对应的表征向量。

在本实施方式中,生成所述样本集中的图像样本的表征向量的方式还可以包括将所述图像样本的像素值向量作为所述图像样本的表征向量。具体地,所述图像样本所展示的内容可以通过若干像素点组成,每个像素点可以具备相应的像素值。在本实施方式中,可以将所述图像样本上各个像素点的像素值按照一定的顺序进行排列,从而形成所述像素值向量。例如,所述一定的顺序可以是所述图像样本上像素点从左到右从上到下的顺序,当然,所述一定的顺序还可以是人为规定的其它顺序,本申请对此并不做限制。由于不同的图像样本上展示的内容通常不会完全一致,从而使得根据图像样本得到的像素值向量可以具备唯一性。这样,所述像素值向量便可以表征样本集中的图像样本。

在本实施方式中,由于图像样本可以被划分为第一类别和第二类别,那么经过神经网络对图像样本进行处理后得到的特征向量,也相应地可以划分为用于第一类别图像样本的第一表征向量以及用于第二类别图像样本的第二表征向量。其中,所述第一表征向量可以泛指第一类别图像样本的表征向量中的任意一个表征向量。同样地,所述第二表征向量可以泛指第二类别图像样本的表征向量中的任意一个表征向量。

s83:选择所述多个表征向量中的一个作为基准表征向量。

在本实施方式中,由于神经网络中各个神经元对应的初始权重通常是预先设定的,根据这些预先设定的初始权重计算得到的表征向量可能不太准确,从而导致最终图像分类的结果也不太准确。鉴于此,在本实施方式中可以对神经元对应的权重不断矫正,以使得神经网络输出的分类结果与真实的分类结果相近或者一致。

在本实施方式中,为了区分处于同一类别和不同类别中的图像样本,可以先在多个表征向量中选择一个表征向量作为基准表征向量。所述基准表征向量可以是第一表征向量,也可以是第二表征向量。通常而言,选择所述基准表征向量的方式可以包括从第一类别的图像样本对应的表征向量中随机选择一个作为基准表征向量。

s85:计算所述基准表征向量与所述第一表征向量之间的第一差异值。

在本实施方式中,在选定了所述基准表征向量之后,可以计算所述基准表征向量与所述第一表征向量之间的第一差异值。

在本实施方式中,所述第一差异值可以指所述基准表征向量与所述第一表征向量在向量空间的距离。具体地,计算所述第一差异值的方式可以包括计算所述基准表征向量与各个所述第一表征向量之间的差异值,并将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。在向量空间中,计算两个向量之间的差异值可以指计算这两个向量之间的距离。差异值越大,表明在向量空间中这两个向量距离越远。因此,所述第一差异值可以表示所述基准表征向量与第一表征向量之间的平均距离或者最远距离。

s87:计算所述基准表征向量与所述第二表征向量之间的第二差异值。

在本实施方式中,还可以计算所述基准表征向量与所述第二表征向量之间的第二差异值。所述第二差异值可以指所述基准表征向量与第二表征向量在向量空间的距离。计算所述第二差异值的方式可以包括计算所述基准表征向量与各个所述第二表征向量之间的差异值,并将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。同样地,所述第二差异值可以表示所述基准表征向量与第二表征向量之间的平均距离或者最近距离。

由上可见,在确定第一差异值和第二差异值时,一种实施方式是将基准表征向量与各个所述第一表征向量之间的最大差异值作为第一差异值,并将基准表征向量与各个所述第二表征向量之间的最小差异值作为第二差异值。当然,在实际应用场景中,还可以将基准表征向量与各个所述第一表征向量之间的最小差异值作为第一差异值,并将基准表征向量与各个所述第二表征向量之间的最大差异值作为第二差异值。具体地,可以视所述基准表征向量所属的类别而定。例如,当基准表征向量属于第一表征向量时,所述第一差异值便可以为基准表征向量与各个所述第一表征向量之间的最大差异值,而所述第二差异值便可以为基准表征向量与各个所述第二表征向量之间的最小差异值。如果基准表征向量属于第二表征向量,所述第一差异值便可以为基准表征向量与各个所述第一表征向量之间的最大差异值,而所述第二差异值便可以为基准表征向量与各个所述第二表征向量之间的最小差异值。

在本实施方式中,计算所述第一差异值和第二差异值的目的在于衡量同类别中图像样本的表征向量之间的距离以及不同类别中图像样本的表征向量之间的距离。为了能够具备较好的分类结果,不同类别中图像样本的表征向量之间的距离应当大于同类别中图像样本的表征向量之间的距离。这样,才能使得类别与类别之间具备清晰的分界线,从而使得针对图像样本的分类更佳精确。

s89:根据所述第一差异值和所述第二差异值,执行优化矫正过程。

在本实施方式中,为了能够使得神经网络具备较好的分类效果,可以将第一类别和第二类别在向量空间的距离拉大。为了达到该目的,可以根据所述第一差异值和所述第二差异值,对神经网络执行优化矫正过程。

在本实施方式中,所述优化矫正的过程可以包括根据所述第一差异值和所述第二差异值的差值,生成反馈值,并利用所述反馈值对生成表征向量的过程中涉及的参数进行矫正。其中,第一差异值可以表示同一类别中表征向量之间的距离,第二差异值可以表示不同类别中表征向量之间的距离。当然,在实际应用过程中,第一差异值也可以表示不同类别中表征向量之间的距离,而第二差异值则可以表示同类别中表征向量之间的距离。具体地,可以视基准表征向量所属的类别而定。例如,当基准表征向量属于第一表征向量时,所述第一差异值便可以表示同类别中表征向量之间的距离。而如果基准表征向量属于第二表征向量,所述第一差异值便可以表示不同类别中表征向量之间的距离。

在本实施方式中,生成所述反馈值的方式可以包括将所述第一差异值和所述第二差异值之间的差值作为所述反馈值。这样,当所述反馈值小于或者等于0时,表明同一类别中两个表征向量之间的距离不大于不同类别中两个表征向量之间的距离。在这种情况下,向量空间中不同类别之间具备比较明显的分界线。然而,当所述反馈值大于0时,表明同一类别中两个表征向量之间的距离小于不同类别中两个表征向量之间的距离。在这种情况下,向量空间中不同类别之间则可能存在交集,分类效果则不佳。由上可见,所述反馈值的大小可以表征第一类别和第二类别分类效果的好坏。

在本实施方式中,还可以在所述第一差异值和所述第二差异值之间的差值的基础上加上指定常数,并将相加后的结果作为所述反馈值。所述指定常数的作用是为了将不同类别之间的距离进一步拉大。在加上所述指定常数后,当反馈值小于或者等于0时,表明同一类别中两个表征向量之间的距离与不同类别中两个表征向量之间的距离之间还至少相差所述指定常数,从而进一步拉大了两个类别在向量空间中的距离。

在本实施方式中,在得到所述反馈值之后,可以将所述反馈值作为对神经网络矫正的依据,对神经网络的各个层进行矫正,使得根据矫正后的神经网络再次生成的结果与真实结果更加接近。

在本申请一个实施方式中,使用所述反馈值执行优化矫正过程可以包括将所述反馈值反向传播,以用于使得再次生成的反馈值与设定阈值趋于符合指定关系。

在本实施方式中,在对神经网络进行矫正之后,可以对图像样本再次进行计算,以再次生成所述反馈值。在本实施方式中,所述指定关系可以用于评判是否需要对神经网络再次进行矫正。具体地,所述指定关系可以指所述反馈值小于所述设定阈值。在本实施方式中,再次生成的反馈值趋于所述指定关系可以表示再次生成的反馈值不满足所述指定关系,但是与上一次生成的反馈值相比,更加接近于该指定关系。具体地,可以通过所述反馈值与所述设定阈值之差来表示这种趋近关系。在每次反向传播之后,再次生成反馈值时,可以将该反馈值与所述设定阈值求差值,只要所述差值比上次计算的差值小,就表明所述反馈值与所述设定阈值趋于所述指定关系。

这样,通过对神经网络多次进行矫正,从而可以使得所述反馈值与所述设定阈值最终满足所述指定关系,从而可以停止对神经网络的矫正过程。

在本实施方式中,使用所述反馈值执行优化矫正过程可以指利用所述反馈值对生成表征向量的过程中涉及的参数进行矫正。具体地,所述参数可以指神经网络中各个神经元对应的权重。这样,对神经网络中各个神经元对应的权重进行修正,从而使得根据修正后的权重进行数据传递时,能够得到与真实结果比较接近的结果。

在本申请一个实施方式中,所述第一差异值可以根据以下步骤确定。

计算所述基准表征向量与各个所述第一表征向量之间的差异值;

将计算的各个差异值中的最大值作为所述第一差异值或者将计算的各个差异值的平均值作为所述第一差异值。

在本实施方式中,计算两个向量之间的差异值,实际上可以指计算两个向量之间的距离。具体地,该距离可以通过欧氏距离的形式来表示。在本实施方式中,可以将计算得到的欧氏距离中的最大值作为所述第一差异值,也可以将各个欧氏距离的平均值作为所述第一差异值。

在本申请一个实施方式中,所述第二差异值可以根据以下步骤确定。

计算所述基准表征向量与各个所述第二表征向量之间的差异值;

将计算的各个差异值中的最小值作为所述第二差异值或者将计算的各个差异值的平均值作为所述第二差异值。

在本实施方式中,可以将计算得到的欧氏距离中的最小值作为所述第二差异值,也可以将各个欧氏距离的平均值作为所述第二差异值。

当然,需要说明的是,在实际应用场景中,还可以将基准表征向量与各个所述第一表征向量之间的最小差异值作为第一差异值,并将基准表征向量与各个所述第二表征向量之间的最大差异值作为第二差异值。具体地,可以视所述基准表征向量所属的类别而定。例如,当基准表征向量属于第一表征向量时,所述第一差异值便可以为基准表征向量与各个所述第一表征向量之间的最大差异值。而如果基准表征向量属于第二表征向量,所述第一差异值便可以为基准表征向量与各个所述第一表征向量之间的最小差异值。

在本申请一个实施方式中,根据所述第一差异值和所述第二差异值,执行优化矫正过程可以包括以下步骤。

根据所述第一差异值和所述第二差异值的差值,生成反馈值;

利用所述反馈值对生成表征向量的过程中涉及的参数进行矫正。

在本实施方式中,第一差异值可以表示同一类别中表征向量之间的距离,第二差异值可以表示不同类别中表征向量之间的距离。当然,在实际应用过程中,第一差异值也可以表示不同类别中表征向量之间的距离,而第二差异值则可以表示同类别中表征向量之间的距离。具体地,可以视基准表征向量所属的类别而定。例如,当基准表征向量属于第一表征向量时,所述第一差异值便可以表示同类别中表征向量之间的距离。而如果基准表征向量属于第二表征向量,所述第一差异值便可以表示不同类别中表征向量之间的距离。

在本实施方式中,生成所述反馈值的方式可以包括将所述第一差异值和所述第二差异值之间的差值作为所述反馈值。这样,当所述反馈值小于或者等于0时,表明同一类别中两个表征向量之间的距离不大于不同类别中两个表征向量之间的距离。在这种情况下,向量空间中不同类别之间具备比较明显的分界线。然而,当所述反馈值大于0时,表明同一类别中两个表征向量之间的距离小于不同类别中两个表征向量之间的距离。在这种情况下,向量空间中不同类别之间则可能存在交集,分类效果则不佳。由上可见,所述反馈值的大小可以表征第一类别和第二类别分类效果的好坏。

在本实施方式中,在得到所述反馈值之后,可以将所述反馈值作为对神经网络矫正的依据,对神经网络的各个层进行矫正,使得根据矫正后的神经网络再次生成的结果与真实结果更加接近。

在本申请一个实施方式中,根据所述第一差异值和所述第二差异值的差值,生成反馈值可以包括以下步骤。

计算所述第一差异值和所述第二差异值之间的差值,并计算所述差值与指定常数的和;

当所述和小于或者等于零时,将零作为所述反馈值;当所述和大于零时,将所述和作为所述反馈值。

在本实施方式中,可以用所述第一差异值减去所述第二差异值,从而求取所述第一差异值和所述第二差异值之间的差值,并将该差值与大于0的一个指定常数相加。所述指定常数可以用于限定两个不同类别之间的最小间隔。通过所述指定常数,可以使得所述基准表征向量和同一类别中最远的表征向量之间的距离,与所述基准表征向量和不同类别中最近的表征向量之间的距离依然相差所述指定常数,从而可以进一步地拉大不同类别之间的距离,从而使得分类结果更加精确。

在本实施方式中,当所述和小于或者等于零时,表明当前分类后的结果中,两个不同类别之间的距离已经相距所述指定常数,达到了分类精度的要求,从而可以将0作为所述反馈值,表示不需要对神经网络进行矫正。而当所述和大于零时,表明分类后的结果中,两个不同类之间的距离可能小于所述指定常数,未达到分类精度的要求,从而可以将所述和作为所述反馈值,以对神经网络进行进一步地矫正。

在一个实际应用场景示例中,所述指定关系可以通过以下公式进行表示。

其中,表示所述第一类别中图像样本的基准表征向量,表示所述第一类别中其它图像样本表征的向量,表示所述第二类别中图像样本表征的向量,α表示所述设定阈值,表示所述第一差异值,表示所述第二差异值,所述第一差异值与所述第二差异值之间的差表示所述反馈值。

本申请还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,可以实现以下步骤。

s81:生成用于多个图像样本的多个表征向量,所述多个表征向量包括:用于第一类别图像样本的第一表征向量以及用于第二类别图像样本的第二表征向量;

s83:选择所述多个表征向量中的一个作为基准表征向量;

s85:计算所述基准表征向量与所述第一表征向量之间的第一差异值;

s87:计算所述基准表征向量与所述第二表征向量之间的第二差异值;

s89:根据所述第一差异值和所述第二差异值,执行优化矫正过程。

在本实施方式中,所述计算机存储介质可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储介质;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储介质,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储介质,如内存条、tf卡等。

针对本实施方式中术语实现的功能和效果,可以参照其它实施方式对照解释。

由上可见,本申请在进行图像分类过程中,可以预先输出图像样本相应于第一类别和第二类别的评价信息,该评价信息可以表征初步的图像分类结果。然后可以将该图像样本分别与同类别以及不同类别中的图像样本进行比较,相应得到第一差异值和第二差异值。后续基于所述评价信息生成的第一反馈值以及基于所述第一差异值和所述第二差异值生成的第二反馈值,均可以作为对神经网络进行修正的参考值,从而可以利用所述第一反馈值和所述第二反馈值在对神经网络的每一层神经元进行修正,从而提高再次进行分类的结果的精度。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端、服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端、服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端、服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对装置、系统、计算机存储介质的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1