一种图像分类方法、装置及服务器、用户终端、存储介质与流程

文档序号:14991447发布日期:2018-07-20 22:18阅读:148来源:国知局

本申请涉及图像处理技术领域,尤其涉及一种图像分类方法、装置及服务器、用户终端、存储介质。



背景技术:

在人们的生活中,经常会遇到各种未知的图像,对于非专业人员而言,根本无法凭借肉眼识别出这些图像所属的类别,很可能会出现“指鹿为马”的尴尬。

随着图像识别技术的发展,使得人们摆脱了传统人眼识别图像的方式,极大地节省了识别图像的时间并提高了识别的效率。但如何更加快速、准确的对各种未知图像进分类,仍是一个研究的热点。



技术实现要素:

本发明实施例提供了一种图像分类方法、装置及服务器、用户终端、存储介质,可快捷准确地对图像进行分类。

一方面,本发明实施例提供了一种图像分类方法,包括:

获取待分类图像;

调用分类模型对所述待分类图像进行分类,确定出所述待分类图像所属的初始类别;

调用特征提取模型确定出所述待分类图像的目标特征向量;

将所述待分类图像的目标特征向量与为所述初始类别配置的候选分类特征向量进行对比,得到对比结果;

根据对比结果确定出所述待分类图像的分类结果。

另一方面,本发明实施例提供了另一种图像分类方法,包括:

检测到针对识别按钮的触发操作时,调用摄像组件获取当前预览图像;

如果检测到所述当前预览图像处于稳定状态,则将所述当前预览图像确定为待分类图像;

向服务器发送分类请求,所述分类请求中携带有所述待分类图像;

接收所述服务器返回的响应信息,所述响应信息包括所述待分类图像的分类结果,所述分类结果是所述服务器根据分类模型和特征提取模型对所述待分类图像进行分类确定后得到的。

再一方面,本发明实施例提供了一种图像分类装置,包括:

获取模块,用于获取待分类图像;

调用模块,用于调用分类模型对所述待分类图像进行分类,确定出所述待分类图像所属的初始类别;

所述调用模块,还用于调用特征提取模型确定出所述待分类图像的目标特征向量;

对比模块,用于将所述待分类图像的目标特征向量与为所述初始类别配置的候选分类特征向量进行对比,得到对比结果;

确定模块,用于根据对比结果确定出所述待分类图像的分类结果。

又一方面,本发明实施例提供了另一种图像分类装置,包括:

检测模块,用于检测针对识别按钮的触发操作;

获取模块,用于所述检测模块检测到针对识别按钮的触发操作时,调用摄像组件获取当前预览图像;

所述检测模块,还用于检测所述当前预览图像是否处于稳定状态;

确定模块,用于如果所述检测模块检测到所述当前预览图像处于稳定状态,则将所述当前预览图像确定为待分类图像;

发送模块,用于向服务器发送分类请求,所述分类请求中携带有所述待分类图像;

接收模块,用于接收所述服务器返回的响应信息,所述响应信息包括所述待分类图像的分类结果,所述分类结果是所述服务器根据分类模型和特征提取模型对所述待分类图像进行分类确定后得到的。

相应地,本发明实施例还提供了一种服务器,包括:处理器和存储装置;所述存储装置,用于存储程序指令;所述处理器,调用所述程序指令,用于执行:获取待分类图像;调用分类模型对所述待分类图像进行分类,确定出所述待分类图像所属的初始类别;调用特征提取模型确定出所述待分类图像的目标特征向量;将所述待分类图像的目标特征向量与为所述初始类别配置的候选分类特征向量进行对比,得到对比结果;根据对比结果确定出所述待分类图像的分类结果。

相应地,本发明实施例还提供了一种用户终端,包括:处理器和存储装置;所述存储装置,用于存储程序指令;所述处理器,调用所述程序指令,用于执行:检测到针对识别按钮的触发操作时,调用摄像组件获取当前预览图像;如果检测到所述当前预览图像处于稳定状态,则将所述当前预览图像确定为待分类图像;向服务器发送分类请求,所述分类请求中携带有所述待分类图像;接收所述服务器返回的响应信息,所述响应信息包括所述待分类图像的分类结果,所述分类结果是所述服务器根据分类模型和特征提取模型对所述待分类图像进行分类确定后得到的。

相应地,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述的各方法。

本发明实施例能够获取待分类图像,并调用分类模型对待分类图像进行初分类,再调用特征提取模型确定出待分类图像的目标特征向量,将待分类图像的目标特征向量仅仅与为初分类中配置的候选分类特征向量进行对比,并根据对比结果确定出待分类图像的分类结果,可有效地提高图像分类的正确率,并且不需要与过多类别的候选分类特征向量进行对比,提高了运算效率,节省了软硬件资源。

附图说明

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

图1是本发明实施例的一种用于进行图像分类的框架示意图;

图2a是本发明实施例的一种初始分类模型的结构示意图;

图2b是本发明实施例的一种初始特征分类模型的结构示意图;

图2c是本发明实施例的特征提取网络与特征表示优化模块之间的对应关系的示意图;

图2d是本发明实施例的训练白化参数的示意图;

图3是本发明实施例的一种图像分类方法的流程示意图;

图4是本发明实施例的另一种图像分类方法的流程示意图;

图5是本发明实施例的一种用户界面的示意图;

图6是本发明实施例的一种图像分类装置的结构示意图;

图7是本发明实施例的一种服务器的结构示意图;

图8是本发明实施例的另一种图像分类装置的结构示意图;

图9是本发明实施例的一种用户终端的结构示意图。

具体实施方式

在本发明实施例中,一方面,通过完成了分类训练优化的分类模型对待分类的图像进行分类,确定出初始类别,该分类模型可以通过专用的分类训练方式进行训练优化,并且预先配置在服务器等具有分类功能的设备中能够较好地对图像进行多类别分类。一方面,通过完成了特征提取优化的特征提取模型来从待分类图像中提取更为精细准确的目标特征向量,基于该目标特征向量与初始类别下的一个或者多个候选图像的候选分类特征向量进行比较,最终确定出待分类图像的类别,得到分类结果。这样有分类模型进行初始分类,再通过更精细的特征向量在初始分类中进行细分,使得确认出来的类别更准确,并且特征比对的数据处理量也有效地减少,节省了软硬件资源,提高了处理效率。

在一个实施例中,对于上述的分类模型,可以采用通用分类模型,通过通用分类模型,可以对图像进行较为粗略的分类,例如可以将某个图像的内容分为猫,或者是狗等类别。该分类模型也可以采用基于强监督信息的细粒度图像分类模型或者基于弱监督信息的细粒度图像分类模型。基于细粒度图像分类模型,可以进行更为细化的分类,例如可以细分到猫的品种、狗的品种等。

基于强监督信息的细粒度图像分类模型是指:在模型训练优化时,为了获得更好的分类精度,除了图像的类别标签外,还使用了物体标注框和部位标注点等额外的人工标注信息,这种类型的分类模型可以实现较高的分类精度。

基于弱监督信息的细粒度图像分类模型是指:在不借助部位标注点的情况下,也可以做到较好的局部信息捕捉。相较于强监督分类精度有差距,但是实现成本低,更适合于工程应用。

本发明实施例主要包括对分类模型和特征提取模型的配置阶段,以及基于分类模型和特征提取模型的图像分类阶段。在配置阶段,可以基于配置服务器来离线建立初始分类模型和初始特征提取模型,并通过大量的训练图像对初始分类模型和初始特征提取模型进行训练优化,得到较优的能够对图像进行分类的分类模型和特征提取模型。将进行训练优化后的分类模型和特征提取模型加载到用于图像分类的服务器(或者其他一些用于进行图像分类的设备)上,以便于在线为用户提供对未知图像的分类服务。在图像分类阶段,用户只需通过用户终端拍摄待分类图像或者通过其他方式(例如下载等方式)获取待分类图像,并将该待分类图像携带在分类请求中发送至用于进行图像分类的服务器,由该服务器调用分类模型和特征提取模型对所述待分类图像进行处理,确定出待分类图像的分类结果,并向用户终端返回对该分类请求的响应信息,该响应信息中携带有对待分类图像的分类结果。

在一个实施例中,图1示出了本发明实施例的一种用于进行图像分类的框架示意图,该框架包括用户侧和服务侧,其中,用户侧的用户终端可以为智能手机、平板电脑等带摄像功能和网络功能的智能终端,当然也可以为个人电脑等终端。服务侧的在线服务可以由一个能够接收目标应用的分类请求,专用于进行图像分类的服务器或者服务器组来提供,服务侧的离线处理服务可以由某些专用于设计和训练分类模型和特征提取模型的服务器或者服务器组来提供。在其他实施例中,服务侧的在线服务和离线服务也可以通过一个专用的服务器或者服务器组来提供。在一个实施例中,该目标应用可以为具有扫描识别模块的应用。

如图2a所示,示出了一种初始分类模型。该初始分类模型包括:input层,stem层,inception-resnet层,reduction层,averagepooling层,dropout层,softmax层。其中,input层为输入层,可以用于输入图像;inception-resnet层为隐含层,该模型拥有三个隐含层,分别为:inception-resnet-a第一隐含层、inception-resnet-b第二隐含层以及inception-resnet-c第三隐含层;stem层为预处理层,可以用于对输入inception-resnet-a的数据进行预处理,该预处理可以包括数据进行多次卷积和池化;averagepooling层为平均池化层,可以用于对inception-resnet-c输出的数据进行降维处理;dropout层,可以用于防止初始分类模型出现过拟合的情况,有效避免初始分类模型对训练图像能够很好的进行分类,但在部署后对实际的需要分类的图像,则分类效果较差的情况;softmax层为分类计算层,它的输出结果可以是通过input层输入的图像属于各个类别的概率。

在一个实施例中,在配置上述分类模型时,可以利用模型生成工具预先将多个图像类别的训练图像输入至初始分类模型,对初始分类模型进行训练。在一个实施例中,当使用的模型生成工具为tensorflow(一种用于图像识别等领域的深度学习框架)工具时,由于tensorflow工具上的反向梯度是自动计算的,因此可以在训练优化过程中,快速地根据输入的训练图像调整以及生成该初始分类模型中每一个节点对应的参数,从而实现对初始分类模型的训练优化,得到分类模型。其中,该训练图像的类别可以根据不同的设计目标进行调整。

在一个实施例中,设计目标为建立可以用于对第一类别(例如猫类)和第二类别(例如狗类)图像进行区分的分类模型。针对这种情况,在对初始分类模型进行训练时,可以预先选取m(m为正整数,如10000)个已经被确定为狗类别的图像作为初始分类模型的狗类训练图像和p个(p为正整数,如10000)已经被确定为猫类别的图像作为初始分类模型的猫类训练图像。在一个实施例中,当某一狗类训练图像被输入至初始分类模型后,初始分类模型可以提取该狗类训练图像的图像特征数据,并根据这些图像特征数据对狗类训练图像进行分类,如果输出的分类结果指示该狗类训练图像的类别也为狗,则表明分类网络模型对该狗类训练图像的分类是成功的。进一步地,针对m个已经被标注为狗类别的训练图像进行分类后,如果成功率大于预设成功率阈值(如90%),则确定该初始分类模型能够很好地对狗类别的图像进行分类识别,否则,则可以调整该初始分类模型中每一个节点对应的参数,并通过调整后的分类模型再次对m个狗类训练图像进行分类。同理,可以采用同样的方式利用p个猫类训练图像对初始分类模型进行训练以及优化,如果最终对狗类训练图像和猫类训练图像的分类成功率均满足预设的成功率阈值,则对初始分类模型的训练完成,并将训练完成的初始分类模型作为本发明实施例中的分类模型。在其他实施例中,还可以设置更多的不同类别,通过获取大量的不同类别的训练图像,来对初始分类模型进行训练优化,使得最终得到的分类模型能够对各个类型的图像进行分类的成功率均高于某一成功率阈值。上述的第一类别和第二类别等类别,可以是诸如猫或者狗等类别,也可以是具体的猫和/或狗的品种等更细化的类别,例如可以是牧羊犬、柴犬等等细分类别。

在一个实施例中,在初始分类模型的训练优化过程中,可以将每个训练成功的训练图像确定为候选图,并根据其所述的类别为该候选图设置一个其所属类别的类别标签,将该候选图以及对应的类别标签关联存储至数据库中,以便于后续基于该类别标签确定候选图所属的类别。

在本发明实施例中,上述特征提取模型可以是根据特征提取网络和特征表示优化模块构成的,该特征提取网络用于基于神经网络提取待分类图像的初始特征向量,该特征表示优化模块用于对初始特征向量进行优化得到n维的目标特征向量,n为正整数,该特征提取模型最终输出n维的关于图像的目标特征向量,例如输出2048维目标特征向量。

在一个实施例中,为了生成上述特征提取模型,可以获取初始特征分类模型和训练图像,该初始特征分类模型中包括基于神经网络构成的初始特征提取网络。进一步地,可以根据获取到的训练图像对初始特征分类模型进行训练优化,得到特征分类模型,该特征分类模型中包括对初始特征提取网络进行训练优化后得到的特征提取网络,进而可以从该特征分类模型中获取特征提取网络,基于白化参数生成特征表示优化模块,并根据该特征提取网络和该特征表示优化模块生成特征提取模型。在一个实施例中,该特征表示优化模块可以基于r-mac(一种图像特征提取方法)来实现。

在一个实施例中,该特征表示优化模块可以是基于训练图像对白化参数进行训练优化后得到的,该白化参数可以由矩阵w和偏置矩阵b构成,该特征表示优化模块可以用于对特征提取网络输出的特征向量进行优化,并输出优化后的特征向量。该特征表示优化模块的处理过程可以是一个白化处理的过程。在一个实施例中,白化参数的训练优化过程包括:可以首先调用特征提取网络从多个训练图像中分别提取出特征向量,并根据获取到的特征向量进行计算来优化得到矩阵w和偏置矩阵b,进而得到特征表示优化模块,该特征表示优化模块基于矩阵w和偏置矩阵b生成。例如,有100万的训练样本,即存在100万个训练图像,针对每一个训练图像会得到2048维的特征表示训练矩阵x,需要计算出一个2048*2048的矩阵w和2048的偏置矩阵b来白化这个2048维的特征表示训练矩阵x,使得2048维的特征表示训练矩阵x在白化后的矩阵中,维度数据之间不相关,也就是知道某个维度数据的值之后对猜测或者计算别的维度的值没有帮助。具体来说,如图2d所示,图2d中左侧的图像为100万*2048维的二维向量,可以看出左侧的图像中,维度数据之间比较密集,维度数据的值之间存在一定的相关性,通过数学计算的方式,不断计算出矩阵w和偏置矩阵b,最终使得左侧的二维向量通过xw=x*w+b的计算公式计算后,得到右侧的图像。可以看出,右侧的图像中,各个维度数据之间的相关性低。在理论上是可以直接计算出w和b的,但是往往由于样本数量太大,而是通过训练的方式去趋近一个w和b,使得输入的二维向量经过w和b后,能够从左侧的图像转换为右侧的图像。其中,2048维是指特征表示优化模块需要输出的维度量,如果存在其他维度量的需求,例如需要输出4096维甚至更多维度量的数据,则在训练w和b,生成特征表示优化模块的过程中,上述的2048需要调整至4096维甚至更多维度量的数值。

在一个实施例中,该特征表示优化模块是根据一个转换公式生成的,该转换公式为:xw=x*w+b。也即当一个初始矩阵x输入特征表示优化模块后,该特征表示优化模块可以根据该转换关系输出优化后的矩阵xw=x*w+b。同样的,当特征提取网络将特征向量输入至特征表示优化模块后,该特征表示优化模块也可以采用相似的方式,输出优化后的特征向量。采用这样的优化处理方式,可以使优化处理后的特征向量中,特征值所表示的特征之间相关性低,例如需要低于一定的相关性阈值,各特征具有相同或者相近似的方差。

在一个实施例中,上述特征分类模型和特征表示优化模块均可以是利用模型生成工具对初始特征分类模型和白化参数进行训练而生成得到。具体地,所使用的模型生成工具也可以为tensorflow工具,由于在tensorflow上的反向梯度是自动计算的,可以较为快捷地得到特征分类模型和特征表示优化模块。

如图2b所示,示出了一种初始特征分类模型,该初始特征分类模型包括基于神经网络构成的初始特征提取网络,该神经网络可以采用卷积神经网络。从图中可以看出,该初始特征提取网络包括三个卷积层:第一卷积层cfgl[0]block、第二卷积层cfgl[1]block、第三卷积层cfgl[2]block,在其他实施例中,还可以包括更多的卷积层,例如在cfgl[2]block之后,还可以包括第四卷积层cfgl[3]block等。在训练优化的过程中,初始特征提取网络中的每一个卷积层对输入的训练图像进行卷积处理,并输出关于输入的训练图像的特征向量(即训练图像的初始分类特征向量)。其中,初始特征提取网络包括第一类型的卷积层和第二类型的卷积层,图2b中,cfgl[0]block、cfgl[1]block为第一类型的卷积层,cfgl[0]block将卷积处理后的数据发送给cfgl[1]block,而cfgl[1]block则将卷积处理后的数据发送给cfgl[2]block。图2b所示的cfgl[2]block为第二类型的卷积层,cfgl[2]block将卷积处理后的数据(即训练图像的初始分类特征向量)输出,以便于后续的网络层对初始分类特征向量进行计算,确定图像的类别。在对该初始特征分类模型训练结束得到特征分类模型后,从训练得到的特征分类模型中提取出用于计算分类特征向量的网络层,将这些网络层作为特征提取网络,例如将cfgl[0]block、cfgl[1]block以及cfgl[2]block、cfgl[3]block作为特征提取网络。

在本发明实施例中,对图2b示出的初始特征分类模型进行训练优化,得到特征分类模型后,可以从特征分类模型中获取训练优化后的初始特征提取网络(即从特征分类模型中获取特征提取网络),并建立特征提取网络与特征表示优化模块的连接关系如图2c所示。从图中可以看出,在图像输入特征提取网络后,特征提取网络中的每一个卷积层(cfgl[0]block、cfgl[1]block以及cfgl[2]block)均可以对输入的图像进行卷积处理,进而确定出输入图像的初始分类特征向量,并通过最后一个卷积层cfgl[2]block将输入图像的初始分类特征向量发送至特征表示优化模块,进而利用特征表示优化模块对输入图像的初始分类特征向量进行优化处理,确定并输出输入图像的候选分类特征向量。其中,该优化处理可以为对输入图像的初始分类特征向量进行多维度的向量标识,例如2048维的向量表示,也即优化后的特征向量(即候选分类特征向量)可以为一个2048维的向量,该2048维的特征数据的表现形式例如可以是(0.1、0.11、0.15、……、0.16)。可以理解的是,基于不同的特征表示优化模块,还可以得到其它维数的向量,所使用向量的维度越高,对输入图像的分类结果也越准确。

在本发明实施例中,可以调用分类模型对各种训练图像进行初始分类,并将分类成功的训练图像作为候选图存储在数据库中。进一步地,可以将候选图作为特征提取网络的输入,调用特征提取模型计算得到全部候选图的候选分类特征向量,为全部候选图生成各自对应的候选分类特征向量,并将候选图和候选分类特征向量进行关联存储,以便于后续在接收到用户关于图像的分类请求时,能够直接基于这些候选分类特征向量确定出所需分类图像的分类结果并返回给用户终端,而不需要在接收到关于图像的分类请求后,再调用特征提取模型对海量的候选图进行计算得到候选分类特征向量,节省大量计算以及查询时间。

在一个实施例中,在将候选图和候选分类特征向量进行关联存储时,可以建立候选图与候选分类特征向量的映射关系列表,列1为候选图的存储地址,列2为候选分类特征向量,当查找到候选分类特征向量时,便可以根据该映射关系列表,快速查找到该候选分类特征向量对应的候选图,反之亦然。

在通过大量的训练图像完成对分类模型和特征提取模型进行训练以及相关参数的优化后,即可将完成了训练优化后的分类模型和特征提取模型配置到相应的服务器中,并将大量的候选图和候选分类特征向量关联存储在相应的服务器中,为用户提供在线的图像分类服务。

在一个实施例中,将大量的候选图和候选分类特征向量关联存储在相应的服务器时,还可以根据候选图所属的类别,对不同的类别配置不同的候选分类特征向量。具体地,在某一类别下存储有l(l为正整数)个候选图时,可以直接为该类别配置l个候选分类特征向量,也即是每个候选图对应一个候选分类特征向量。或者,也可以对该类别下各个候选图的候选分类特征向量进行相似度计算,并将相似度小于第一相似度阈值的各个候选分类特征向量归为同一类的特征向量,令属于同一类的候选分类特征向量所对应的各个候选图均使用同一个候选分类特征向量来表征,也即多个候选图均对应同一个候选分类特征向量,进而为该类别配置小于l个的候选分类特征向量。采用这样的方式,可以在保证图像分类准确度的同时,减少为各个类别配置候选分类特征向量的数量,进而提高运算速率。在一个实施例中,候选图可以是前述采用的各种训练图像,也可以是用户通过下载或者拍摄等方式获取到的相应类型的图像,这些图像已知类别,并且通过上述提到的特征提取模型从中提取了候选分类特征向量,这些图像和对应的候选分类特征向量均可以存到数据库中,方便后续查找。

可以理解的是,在本发明实施例中描述了可以通过服务器来训练、配置分类模型和特征提取模型,在其他实施例中,也可以通过功能强大、软硬件资源丰富的个人电脑来实现,本发明对此不作具体限定。

再请参见图3,是本发明实施例的一种图像分类的流程示意图,本发明实施例的所述方法可以由一个服务器或服务器组来执行。本发明实施例的所述方法包括如下步骤。

s301:获取待分类图像。具体实现中,服务器可以接收用户终端发送的分类请求,并从该分类请求中获取携带的待分类图像。该待分类图像可以为用户利用用户终端的拍摄模块获取得到的,也可以为采用其他方式获取得到的,本发明对此不作具体限定。

s302:调用分类模型对待分类图像进行分类,确定出待分类图像所属的初始类别。在一个实施例中,该分类模型可以是开发用户基于初始分类模型进行训练优化得到的,该分类模型有着top5准确率高的特点,也即该分类模型可以比较准确的确定出待分类图像所属的类别(即初始类别),例如,当待分类图像对应的物体为一只波斯猫,那么分类模型则可以比较准确的确定出待分类图像所属的初始类别为猫类,而非狗类。

在一个实施例中,该分类模型由初始分类模型经过大量的训练优化得到。初始分类模型可以如图2a所示,对该初始分类模型进行训练优化,得到分类模型的过程,可以参见上述的相关描述,此处不再赘述。

在一个实施例中,待分类图像输入分类模型后,分类模型可以提取待分类图像的特征数据,并根据这些特征数据计算出待分类图像属于各个候选类别的概率,进而可以将概率排名靠前的k(k为正整数)个候选类别,确定为待分类图像所属的初始类别。

s303:调用特征提取模型确定出待分类图像的目标特征向量。其中,该特征提取模型可以是根据特征提取网络和特征表示优化模块构成的,该特征提取网络用于基于神经网络提取待分类图像的初始特征向量,该特征表示模块用于对该初始特征向量进行优化得到n维的目标特征向量,n为正整数。

在一个实施例中,为了生成上述特征提取模型,可以获取初始特征分类模型和训练图像,该初始特征分类模型中包括基于神经网络构成的初始特征提取网络。进一步地,可以根据获取到的训练图像对初始特征分类模型进行训练优化,得到特征分类模型,该特征分类模型中包括对初始特征提取网络进行训练优化后得到的特征提取网络,进而可以从该特征分类模型中获取特征提取网络,并根据特征提取网络和预先生成的特征表示优化模块生成特征提取模型。其中,该特征表示优化模块可以是基于训练图像对白化参数进行训练优化得到的,该特征表示优化模块可以用于对特征提取网络输出的特征向量进行优化,并输出优化后的特征向量。

在一个实施例中,上述特征提取网络与特征表示优化模块的连接关系可以如图2c所示。其中,该特征提取网络可以是开发用户基于神经网络构成的,该特征提取网络可包括第一类型的卷积层和第二类型的卷积层,第一类型的卷积层将卷积处理的数据输出给特征提取网络中的另一个卷积层,第二类型的卷积层将卷积处理后的数据输出给特征表示优化模块。在待分类图像输入特征提取网络后,可以首先调用特征提取网络对待分类图像进行处理,可以得到关于待分类图像的一个初始特征向量,并通过第二类型的卷积层将初始特征向量输入特征表示优化模块,进而调用特征表示优化模块对初始特征向量进行优化,得到一个关于待分类图像的n维的目标特征向量,例如一个2048维的向量,该目标特征向量能够在一定程度上表示该待分类图像,该目标特征向量为计算机理解的图像,用户不易理解,不易可视化。

s304:将待分类图像的目标特征向量与为初始类别配置的候选分类特征向量进行对比,得到对比结果。比较的方式可以为计算目标特征向量和候选分类特征向量中,每一维向量之间的相似度,例如计算每一维向量之间的相似度汉明距离或者欧氏距离。最终确定的相似度越高,则待分类图像属于对应的候选分类特征向量所属的类别的概率越大。

s305:根据对比结果确定出待分类图像的分类结果。

在一个实施例中,该初始类别下可以包括至少一个候选图,服务器或者服务器组可以获取属于初始类别的候选图,并根据候选图,调用特征提取模型为初始类别配置候选分类特征向量。

在一个实施例中,为初始类别配置的候选分类特征向量可以是通过特征提取模型中的特征提取网络对候选图进行处理,得到初始类别下的初始分类特征向量,并通过特征提取模型中的特征表示优化模块对初始类别下的初始分类特征向量进行优化得到的。该候选分类特征向量可以为一个n维的特征向量,例如可以为2048维的向量。

初始类别下可以包括q个候选图(每个候选图对应一个候选分类特征向量)。针对这种情况,在调用特征提取模型为初始类别配置候选分类特征向量时,可以直接为初始类别配置q个候选分类特征向量,也即是每个候选图对应一个候选分类特征向量。或者,也可以对初始类别下各个候选图的候选分类特征向量进行相似度计算,并将相似度小于第一相似度阈值的候选分类特征向量归为同一类,属于同一类的候选分类特征向量所对应的各个候选图均使用同一个候选分类特征向量来表征,也即多个候选图均对应同一个候选分类特征向量,进而为初始类别配置小于q个的候选分类特征向量。采用这样的方式,可以在保证图像分类精度的同时,减少为初始类别配置候选分类特征向量的数量,进而减少计算量,以此提高运算速率。

在一个实施例中,该初始类别可以包括第一类别和第二类别,服务器可以对待分类图像的目标特征向量与为第一类别配置的候选分类特征向量进行相似度计算,得到第一相似度;对目标特征向量与为第二类别配置的候选分类特征向量进行相似度计算,得到第二相似度,并将第一相似度和第二相似度进行对比,得到对比结果,该对比结果指示了第一相似度和第二相似度之间的较大值。进一步地,如果对比结果指示第一相似度大于第二相似度,则可以确定待分类图像属于第一类别。其中,该初始类别还可以包括第三类别、第四类别或者其它类别,本发明对此不作具体限定。

例如,待分类图像的目标特征向量为(0.23、0.44、….、0.61),初始类别为狗类,其中,狗类中包括的第一类别为金毛,第二类别为泰迪,金毛对应的候选分类特征向量为(0.23、0.44、….、0.67),泰迪对应的候选分类特征向量为(0.23、0.31、….、0.60),服务器通过对目标特征向量(0.23、0.41、….、0.61)与金毛对应的候选分类特征向量(0.23、0.44、….、0.67)进行相似度计算,得到第一相似度为98%,进一步地,对目标特征向量(0.23、0.41、….、0.61)与泰迪对应的候选分类特征向量(0.23、0.31、….、0.60)进行相似度计算,得到第二相似度为90%,通过对比第一相似度和第二相似度的大小,确定对比结果为第一相似度大于第二相似度,则可以确定待分类图像属于金毛。

在一个实施例中,上述第一类别下和第二类别下均可以包括与候选分类特征向量关联的候选图,如果对比结果指示上述第一相似度大于上述第二相似度,则可以根据第一相似度确定得到所述待分类图像的关联图像,该关联图像是指:候选分类特征向量与目标特征向量之间的相似度为第一相似度的候选图。例如,待分类特征向量与目标特征向量之间的相似度为第一相似度的候选图为图像jpg1和图像jpg2,那么,则可以将图像jpg1和图像jpg2均确定为待分类图像的关联图像。

在一个实施例中,待分类图像的目标特征向量与为第一类别或者第二类别配置的候选分类特征向量进行相似度计算时,可以通过匹配算法计算该待分类图像的目标特征向量与第一类别下或者第二类别下候选分类特征向量之间的欧氏距离或余弦夹角,进而得到目标特征向量与各个候选图对应的候选分类特征向量之间的相似程度。在通过匹配算法计算相似度时,还可以通过顺序遍历依次比较的方式进行匹配,当然也可以采用基于faiss(开源的一个用于有效的相似性搜索和稠密矢量聚类的库)搜索引擎来搜索候选分类特征向量并进行匹配。

在一个实施例中,当服务器确定出待分类图像的分类结果后,可以向用户终端返回针对上述分类请求的响应信息,该响应信息可以包括上述分类结果和上述关联图像中的至少一种。

再请参见图4,是本发明实施例的另一种图像分类方法的流程示意图,本发明实施例的所述方法可以由用户终端来执行。本发明实施例的所述方法包括如下步骤。

s401:检测到针对识别按钮的触发操作时,调用摄像组件获取当前预览图像。

s402:如果检测到当前预览图像处于稳定状态,则将当前预览图像确定为待分类图像。

在一个实施例中,用户终端安装有存在图像分类功能入口的目标应用,该图像分类功能入口可以包括扫描识别模块。当用户想要识别某个物体时,可以针对该扫描识别模块所提供的识别按钮输入触发操作,用户终端检测到该触发操作时,即可产生扫描识别操作事件,基于该事件可以调用摄像组件获取当前预览图像。进一步地,如果检测到当前预览图像处于稳定状态,则可以将处于稳定状态的当前预览图像作为待分类图像,或者直接导入已存储的图像作为待分类图像。其中,该目标应用例如可以为浏览器,即时通讯应用、支付应用等具有图像分类功能入口的应用。

在一个实施例中,可以按照预设时间间隔获取当前预览图像,在确定当前预览图像是否处于稳定状态时,可以将当前预览图像与前t次获取的预览图像进行相似度对比,如果相似度大于或者等于相似度阈值,则可以确定当前预览图像处于稳定状态。其中t为大于0的正整数,t的具体值可以根据不同设计需求进行相应调整,本发明对此不作具体限定。

在一个实施例中,如图5所示,目标应用为浏览器,在点击了浏览器上的扫描识别按钮501后,用户终端进入图像获取界面,在图像获取界面上包括图像显示区域502和提示导入图像的“+”按钮503,用户点击按钮503可以进入图像选择和确认界面。当检测到图像显示区域502所显示的预览图像处于稳定状态时,则将处于稳定状态的预览图像确定为待分类图像。

s403:向服务器发送分类请求,该分类请求中携带有待分类图像。在得到了待分类图像后,用户终端可以生成携带该待分类图像的分类请求,然后将分类请求发送给提供在线分类服务的服务器。

s404:接收服务器返回的响应信息。该响应信息包括待分类图像的分类结果,该分类结果可以是服务器根据分类模型和特征提取模型对待分类图像进行分类确定后得到的。在一个实施例中,服务器接收到该分类请求后,可以响应该分类请求,确定出待分类图像的分类结果,并将该分类结果携带在响应信息中返回至用户终端。进一步地,用户终端接收到服务器返回的携带有分类结果的响应信息时,可以将该分类结果显示在用户界面上,以便于用户查看。其中,该响应信息除了可以携带分类结果以外还可以包括待分类图像的关联图像或者其它信息,本发明对此不作具体限定。

在一个实施例中,用户终端在接收到从服务器返回的响应信息后,可以显示用户界面,该用户界面显示有:待分类图像的分类结果、关联图像和描述信息中的任意一个或者多个,该分类结果和关联图像可以是响应信息中携带的,该描述信息可以是根据分类结果查询得到的。其中,该描述信息可以为与分类结果相关联的文本信息和图像信息。例如,分类结果显示待分类图像中包括的物体为x系越野车01,那么该描述信息则可以包括x系越野车01的基本介绍,例如性能列表、上市时间、价格、附近售卖该x系越野车01的4s店等等,还可以包括售卖该x系越野车01的平台网址等等,本发明对此不作具体介绍。

在一个实施例中,用户终端在接收到响应信息后,可以直接基于响应信息中携带的分类结果在线搜索,进而获得待分类图像的描述信息,并将该描述信息显示在用户界面上。或者,可以在接收到针对用户界面的触发操作时,再在线搜索或者本地获取该分类结果的描述信息,并将获取到的该描述信息显示在用户界面上。

需要说明的是,上述用户界面显示的描述信息除了可以是通过分类结果查询得到以外,也可以是响应信息携带有描述信息,用户终端从该响应信息中获取得到的,本发明对此不作具体限定。

本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。

再请参见图6,是本发明实施例的一种图像分类装置的结构示意图,该图像分类装置可以设置在服务器中,或者也可以设置一些软硬件资源较为丰富的智能终端中,例如一些个人电脑中。

本发明实施例的所述装置的一个实现方式中,所述装置包括如下结构。

获取模块601,用于获取待分类图像;

调用模块602,用于调用分类模型对所述待分类图像进行分类,确定出所述待分类图像所属的初始类别;

所述调用模块602,还用于调用特征提取模型确定出所述待分类图像的目标特征向量;

对比模块603,用于将所述待分类图像的目标特征向量与为所述初始类别配置的候选分类特征向量进行对比,得到对比结果;

确定模块604,用于根据对比结果确定出所述待分类图像的分类结果。

在一个实施例中,所述特征提取模型是根据特征提取网络和特征表示优化模块构成的,所述特征提取网络用于基于神经网络提取待分类图像的初始特征向量,所述特征表示优化模块用于对所述初始特征向量进行优化得到n维的目标特征向量,n为正整数。

在一个实施例中,所述装置还可以包括:训练模块605,生成模块606,其中:获取模块601,还用于获取初始特征分类模型和训练图像,所述初始特征分类模型中包括基于神经网络构成的初始特征提取网络;训练模块605,用于根据获取模块601获取到的所述训练图像对所述初始特征分类模型进行训练优化,得到特征分类模型,其中,所述特征分类模型中包括对所述初始特征提取网络进行训练优化后,得到的特征提取网络;获取模块601,还用于从所述特征分类模型中获取所述特征提取网络;生成模块606,用于基于白化参数生成特征表示优化模块;生成模块606,还用于根据所述特征提取网络和所述特征表示优化模块,生成特征提取模型,其中,所述特征表示优化模块用于对所述特征提取网络输出的特征向量进行优化,并用于输出优化后的特征向量。

在一个实施例中,所述装置还可以包括:配置模块607,其中:获取模块601,还用于获取属于所述初始类别的候选图;配置模块607,用于根据获取模块601获取到的所述候选图,调用所述特征提取模型为所述初始类别配置候选分类特征向量。

在一个实施例中,配置模块607,可以具体用于通过所述特征提取模型中的特征提取网络对所述候选图进行处理,得到所述初始类别下的初始分类特征向量,并通过所述特征提取模型中的特征表示优化模块对所述初始类别下的初始分类特征向量进行优化,得到所述初始类别下的n维的候选分类特征向量。

在一个实施例中,所述初始类别包括第一类别和第二类别,所述对比模块603,可以包括:计算单元6031,用于对所述待分类图像的目标特征向量与为所述第一类别配置的候选分类特征向量进行相似度计算,得到第一相似度;对目标特征向量与为所述第二类别配置的候选分类特征向量进行相似度计算,得到第二相似度;对比单元6032,用于将所述第一相似度和所述第二相似度进行对比,得到对比结果,所述对比结果指示了所述第一相似度和所述第二相似度之间的较大值。

在一个实施例中,确定模块604可以具体用于如果所述对比结果指示所述第一相似度大于所述第二相似度,则确定所述待分类图像属于所述第一类别。

在一个实施例中,所述第一类别下和所述第二类别下均包括与候选分类特征向量关联的候选图,确定模块604还可以用于如果所述对比结果指示所述第一相似度大于所述第二相似度,则根据所述第一相似度确定得到所述待分类图像的关联图像,所述关联图像是指:所述候选分类特征向量与所述目标特征向量之间的相似度为第一相似度的候选图。

在本发明实施例中,上述各个模块的具体实现可参考前述附图3所对应的实施例中相关内容的描述。

再请参见图7,是本发明实施例的一种服务器的结构示意图,本发明实施例的所述服务器包括供电模块等结构,并包括处理器701、存储装置702以及网络接口703。所述处理器701、存储装置702以及网络接口703之间可以交互数据,由处理器701实现相应的图像分类功能。

所述存储装置702可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储装置702也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),固态硬盘(solid-statedrive,ssd)等;所述存储装置702还可以包括上述种类的存储器的组合。

所述网络接口703可以与其他服务器、各种用户终端之间交互数据,用户终端可以将携带待分类图像的分类请求发送给所述网络接口703,由所述网络接口703输出给服务器的处理器701进行处理。

所述处理器701可以是中央处理器(centralprocessingunit,cpu)。在一个实施例中,所述处理器701还可以是图形处理器701(graphicsprocessingunit,gpu)。所述处理器701也可以是由cpu和gpu的组合。在所述服务器中,可以根据需要包括多个cpu和gpu进行相应的图像处理。在一个实施例中,所述存储装置702用于存储程序指令。所述处理器701可以调用所述程序指令,实现如本发明实施例中上述涉及的各种方法。

在第一个可能的实施方式中,所述服务器的所述处理器701,调用所述存储装置702中存储的程序指令,用于获取待分类图像;调用分类模型对所述待分类图像进行分类,确定出所述待分类图像所属的初始类别;调用特征提取模型确定出所述待分类图像的目标特征向量;将所述待分类图像的目标特征向量与为所述初始类别配置的候选分类特征向量进行对比,得到对比结果;根据对比结果确定出所述待分类图像的分类结果。

在一个实施例中,所述特征提取模型是根据特征提取网络和特征表示优化模块构成的,所述特征提取网络用于基于神经网络提取待分类图像的初始特征向量,所述特征表示优化模块用于对所述初始特征向量进行优化得到n维的目标特征向量,n为正整数。

在一个实施例中,所述处理器701,还用于获取初始特征分类模型,所述初始特征分类模型中包括基于神经网络构成的初始特征提取网络;获取训练图像,并根据所述训练图像对所述初始特征分类模型进行训练优化,得到特征分类模型,其中,所述特征分类模型中包括对所述初始特征提取网络进行训练优化后,得到的特征提取网络;从所述特征分类模型中获取所述特征提取网络;基于白化参数生成特征表示优化模块;根据所述特征提取网络和所述特征表示优化模块,生成特征提取模型,其中,所述特征表示优化模块用于对所述特征提取网络输出的特征向量进行优化,并用于输出优化后的特征向量。

在一个实施例中,所述处理器701,还用于获取属于所述初始类别的候选图;根据所述候选图,调用所述特征提取模型为所述初始类别配置候选分类特征向量。

在一个实施例中,所述处理器701,还用于通过所述特征提取模型中的特征提取网络对所述候选图进行处理,得到所述初始类别下的初始分类特征向量,并通过所述特征提取模型中的特征表示优化模块对所述初始类别下的初始分类特征向量进行优化,得到所述初始类别下的n维的候选分类特征向量。

在一个实施例中,所述初始类别包括第一类别和第二类别,所述处理器701,还用于对所述待分类图像的目标特征向量与为所述第一类别配置的候选分类特征向量进行相似度计算,得到第一相似度;对目标特征向量与为所述第二类别配置的候选分类特征向量进行相似度计算,得到第二相似度;将所述第一相似度和所述第二相似度进行对比,得到对比结果,所述对比结果指示了所述第一相似度和所述第二相似度之间的较大值。

在一个实施例中,所述处理器701,还用于如果所述对比结果指示所述第一相似度大于所述第二相似度,则确定所述待分类图像属于所述第一类别。

在一个实施例中,所述第一类别下和所述第二类别下均包括与候选分类特征向量关联的候选图,所述处理器701,还用于如果所述对比结果指示所述第一相似度大于所述第二相似度,则根据所述第一相似度确定得到所述待分类图像的关联图像,所述关联图像是指:所述候选分类特征向量与所述目标特征向量之间的相似度为第一相似度的候选图。

在本发明实施例中,所述处理器701的具体实现可参考前述附图3所对应的实施例中相关内容的描述。

再请参见图8,是本发明实施例的另一种图像分类装置的结构示意图,该图像分类装置可以设置在用户终端中。

本发明实施例的所述装置的一个实现方式中,所述装置包括如下结构。

检测模块801,用于检测针对识别按钮的触发操作;

获取模块802,用于所述检测模块检测到针对识别按钮的触发操作时,调用摄像组件获取当前预览图像;

所述检测模块801,还用于检测所述当前预览图像是否处于稳定状态;

确定模块803,用于如果所述检测模块检测到所述当前预览图像处于稳定状态,则将所述当前预览图像确定为待分类图像;

发送模块804,用于向服务器发送分类请求,所述分类请求中携带有所述待分类图像;

接收模块805,用于接收所述服务器返回的响应信息,所述响应信息包括所述待分类图像的分类结果,所述分类结果是所述服务器根据分类模型和特征提取模型对所述待分类图像进行分类确定后得到的。

在一个实施例中,该装置还可以包括:显示模块806,用于在接收到从服务器返回的响应信息后,显示用户界面,所述用户界面显示有:所述待分类图像的分类结果、关联图像和描述信息中的任意一个或者多个,所述分类结果和所述关联图像均是所述响应信息中携带的,所述描述信息是根据所述分类结果查询得到的。

在本发明实施例中,上述各个模块的具体实现可参考前述附图4所对应的实施例中相关内容的描述。

再请参见图9,是本发明实施例的一种用户终端的结构示意图,本发明实施例的所述用户终端可以包括供电模块等结构,并包括处理器901、存储装置902以及收发器903。所述处理器901、存储装置902以及收发器903之间可以交互数据,由处理器901实现相应的图像分类功能。

所述存储装置902可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储装置902也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),固态硬盘(solid-statedrive,ssd)等;所述存储装置902还可以包括上述种类的存储器的组合。

所述收发器903可以与服务器、各种用户终端之间交互数据,服务器可以将携带有分类结果的响应信息发送给所述收发器903,由所述收发器903输出给用户终端的处理器901进行处理。

所述处理器901可以是中央处理器901(centralprocessingunit,cpu)。在一个实施例中,所述处理器901还可以是图形处理器901(graphicsprocessingunit,gpu)。所述处理器901也可以是由cpu和gpu的组合。在所述用户终端中,可以根据需要包括多个cpu和gpu进行相应的图像处理。在一个实施例中,所述存储装置902用于存储程序指令。所述处理器901可以调用所述程序指令,实现如本发明实施例中上述涉及的各种方法。

在第一个可能的实施方式中,所述用户终端的所述处理器901,调用所述存储装置902中存储的程序指令,用于检测到针对识别按钮的触发操作时,调用摄像组件获取当前预览图像;如果检测到所述当前预览图像处于稳定状态,则将所述当前预览图像确定为待分类图像;向服务器发送分类请求,所述分类请求中携带有所述待分类图像;接收所述服务器返回的响应信息,所述响应信息包括所述待分类图像的分类结果,所述分类结果是所述服务器根据分类模型和特征提取模型对所述待分类图像进行分类确定后得到的。

在一个实施例中,所述处理器901,还用于在接收到从服务器返回的响应信息后,显示用户界面,所述用户界面显示有:所述待分类图像的分类结果、关联图像和描述信息中的任意一个或者多个,所述分类结果和所述关联图像均是所述响应信息中携带的,所述描述信息是根据所述分类结果查询得到的。

在本发明实施例中,所述处理器901的具体实现可参考前述附图4所对应的实施例中相关内容的描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

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