图片检索方法及装置、计算机设备及计算机可读介质与流程

文档序号:16331564发布日期:2018-12-19 06:13阅读:162来源:国知局
图片检索方法及装置、计算机设备及计算机可读介质与流程

本申请涉及计算机应用技术领域,尤其涉及一种图片检索方法及装置、计算机设备及计算机可读介质。

背景技术

随着计算机与网络技术的发展,建立有效的检索机制实现快速精准的图片检索成为一种需求。在众多的图片检索系统中,基于内容的图片检索方法得到了越来越广泛的应用,它满足了人们用已有的样本快速找出目标图片的需求。现有的技术虽然利用深度学习可以利用大量的图片样本数据进行检索模型的训练,以获得用于对目标进行检索的深度神经网络模型,但由于样本数据的数量太大,导致拟合后的神经网络模型精度较低。



技术实现要素:

鉴于以上问题,本发明的实施例提供一种图片检索方法及装置、计算机设备及计算机可读介质,其能解决上述背景技术部分提到的技术问题。

按照本发明的实施例的图片检索方法,包括:接收携带目标图片的检索请求;根据预先采集的图片数据库、已训练的第一神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第一图片;如果所述第一图片的相似度值小于预设相似度阈值,则根据所述图片数据库、已训练的第二神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第二图片;将所述第一图片和所述第二图片确定为所述目标图片的检索结果,或,比较所述第一图片和所述第二图片的相似度值大小,将相似度值较大的图片确定为所述目标图片的检索结果。

按照本发明的实施例的图片检索装置,接收模块,用于接收携带目标图片的检索请求;第一获取模块,用于根据预先采集的图片数据库、已训练的第一神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第一图片;第二获取模块,用于如果所述第一图片的相似度值小于预设相似度阈值,则根据所述图片数据库、已训练的第二神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第二图片;确定模块,用于将所述第一图片和所述第二图片确定为所述目标图片的检索结果,或,比较所述第一图片和所述第二图片的相似度值大小,将相似度值较大的图片确定为所述目标图片的检索结果。

按照本发明的实施例的计算机设备,包括处理器;以及存储器,其上存储有可执行指令,其中,所述可执行指令当被执行时使得所述处理器执行如上所述的图片检索方法。

按照本发明的实施例的计算机可读介质,其上存储有可执行指令,其中,所述可执行指令当被执行时使得计算机执行如上所述的图片检索方法。

从以上的描述可以看出,本发明的实施例的方案利用图像样本数据中的不同训练图片集分别训练得到第一神经网络和第二神经网络,降低了训练的难度,提高了拟合的精度,在进行目标检测时,先利用第一神经网络进行检索,若满足预设相似度阈值,则输出检索结果,若不满足则进一步利用第二神经网络进行检索,兼顾了检索效率和检索精度。

附图说明

图1为按照本发明的一个实施例的用于模型训练的方法的流程图;

图2为按照本发明的一个实施例的图片检索方法的总体流程图;

图3为按照本发明的一个实施例的图片检索方法的流程图;

图4为按照本发明的一个实施例的图片检索装置的流程图;

图5为按照本发明的一个实施例的计算机设备的示意图。

具体实施方式

现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其他例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

本发明的实施例的方案包括模型训练阶段和实际检索阶段。

图1示出了按照本发明的一个实施例的用于模型训练的方法的流程图。图1所示的方法100对应于模型训练阶段,其利用训练数据训练得到卷积神经网络(cnn:convolutionalneuralnetwork)模型m1和基于区域信息的卷积神经网络(rcnn:regionbasedconvolutionalneuralnetwork)模型m2,其中cnn模型m1和rcnn模型m2都用于图片检索。图1所示的方法可以例如由计算机或其他合适的具有计算能力的电子设备来实现。

如图1所示,在方框102,采集样本图片。用户可根据检索需求采集样本图片,例如用于织物图片的检索可采集织物相关的样本图片,用于汽车图片的检索可采集汽车相关的样本图片。用户可通过在网上下载或拍摄等方式采集样本图片。

在方框104,对样本图片执行手动分类,并按其所在类别进行重命名,以得到第一样本图片集sp1。其中,重命名可采用0102.jpg,0308.jpg,0910.jpg,…,这种方式进行,其中,前两个数字表示它所属的类,后两个数表示是这一类中图片的第几张图,比如,0308就表示第三类图片中第8张图。

在方框106,从第一样本图片集sp1中选取一些或全部样本图片作为种子图片。

在方框108,对每一个种子图片执行一次或多次等角度旋转、镜像和/或其他合适的操作,以从每一个种子图片中衍生得到一个或多个图片。将第一样本图片集sp1中的样本图片和从各个种子图片中衍生得到的图片共同组合为第二样本图片集sp2。

通过方框106和108的操作,能够增加样本图片的数量(例如,能够将2500张样本图片经过处理后得到超过50000张,甚至100000张的样本图片)。样本图片越多,训练得到的用于图片检索的神经网络模型的参数越准确。

在方框110,生成图片数据库。其中,图片数据库中存储有第二样本图片集sp2,第二样本图片集sp2中的各样本图片可以是根据索引号来存储。

方框102-110构成了方法100的图片数据库生成过程。

在方框112,获取第二样本图片集sp2中的各个样本图片的属性参数,其中,该属性参数包括但不局限于图片的高度、长度等。

在方框114,从第二样本图片集sp2中选取其属性参数满足第一组规则中的各个规则的多个图片,作为用于训练cnn模型的第一训练图片集tp1。其中,该第一组规则用于定义适用于训练cnn模型的样本图片需要满足的高度限制、长度限制等。

在方框116,从第二样本图片集sp2中选取其属性参数满足第二组规则中的各个规则的多个图片,作为用于训练rcnn模型的第二训练图片集tp2。其中,该第二组规则用于定义适用于训练rcnn模型的样本图片需要满足的高度限制、长度限制等。

这里,利用规则来选取适用于训练cnn模型和rcnn模型的样本图片,从而训练得到的cnn模型和rcnn模型能够具有更高的图片检索准确度。

在方框118,使用第一训练图片集tp1中的图片作为训练数据,训练得到cnn模型m1。

在方框120,使用第二训练图片集tp2中的图片作为训练数据,训练得到rcnn模型m2。

图2示出了按照本发明的一个实施例的图片检索方法的总体流程图。图2所示的方法200对应于实际检索阶段,其使用利用方法100生成的图片数据库、训练得到的cnn模型m1和rcnn模型m2来进行图片检索。图2所示的方法200可以例如由计算机或其他合适的具有计算能力的电子设备来实现。

如图2所示,在方框202,接收携带目标图片t的检索请求。本实施例的图片检索方法的执行主体可以为图片检索装置,该图片检索装置可以为一个实体的电子装置,也可以为采用软件集成的装置。

图片检索装置可以通过连接的摄像头接收用户拍摄的目标图片t,或者接收用户通过人机接口模块从相册或者其他路径下选择目标图片t,并接收用户触发的基于目标图片t的图片检索请求。

在方框204,利用已训练的cnn模型m1对目标图片t的特征进行抽取,获取最能够表征目标图片t的特征即特征向量;同理利用cnn模型m1获取图片数据库中每个样本图片对应的特征向量。

在方框206,计算由cnn模型m1获取的目标图片t的特征向量与图片数据库中每个样本图片的特征向量的相似度,获取相似度值最大的图片作为第一图片。

在判断框208,判断第一图片的相似度值是否大于或等于预设相似度阈值。

在方框210,如果在判断框208处,第一图片的相似度值大于或等于预设相似度阈值,则将第一图片确定为所述目标图片t的检索结果,并输出。然后流程结束。

在方框212,如果在判断框208处,第一图片的相似度值小于预设相似度阈值,则利用已训练的rcnn模型m2对目标图片t的特征进行抽取,获取最能够标注目标图片t的特征即特征向量;同理利用rcnn模型m2获取图片数据库中每个样本图片对应的特征向量。

在方框214,计算由rcnn模型m2获取的目标图片t的特征向量与图片数据库中每个样本图片的特征向量的相似度,获取相似度值最大的图片作为第二图片。

在方框216,比较第一图片和第二图片的相似度值大小。

在方框218,将相似度值较大的图片确定为目标图片t的检索结果并输出。然后流程结束。

其他变型

本领域技术人员将理解,虽然在上面的实施例中,方法100包括对样本图片执行手动分类的方框104,然而,本发明并不局限于此。在本发明的其他实施例中,例如但不局限于,在方框102所采集的样本图片已分类好的情况下,方法100也可以不包括对采集的样本图片执行手动分类的方框104。

本领域技术人员将理解,虽然在上面的实施例中,方法100包括方框106和108以衍生更多的样本图片,然而,本发明并不局限于此。在本发明的其他实施例中,例如但不局限于,在方框102所采集的样本图片的数量已经足够多的情况下,方法100也可以不包括方框106和108。

本领域技术人员将理解,虽然在上面的实施例中,方法100包括方框110将第二样本图片集sp2存储以生成图片数据库,然而,本发明并不局限于此。在本发明的其他实施例中,例如但不局限于,当图片数据库和用于图片检索的神经网络模型确定时,也可以根据上述实施例记载的方式,根据预先采集的图片数据库和已训练的神经网络模型,获取图片数据库中每个样本图片对应的特征向量,并可以将每个样本图片对应的特征向量也存储在图片数据库中;或者也可以再建立一个特征向量数据库,专门用来存储该图片数据库中各样本图片对应的特征向量。相应的,方法200对目标图片t进行检索时,在方框204和方框212,可以仅获取目标图片t的特征向量,然后直接从图片数据库或者特征向量数据库中获取预先存储的每个样本图片的特征向量,然后直接进行图片检索的后续处理即可。如此,可以节省图片检索的时间,提高图片检索的效率。

本领域技术人员将理解,虽然在上面的实施例中,方法100包括方框112-116以选取适用于训练cnn模型和rcnn模型的样本图片,然而,本发明并不局限于此。在本发明的其他实施例中,方法100也可以不包括方框112-116。

本领域技术人员将理解,虽然在上面的实施例中,被训练用来获取图片特征的神经网络模型是cnn模型和rcnn模型,然而,本发明并不局限于此。在本发明的其他实施例中,被训练用来获取图片特征的神经网络模型也可以是以下的任意两种:cnn模型、rcnn模型、fastrcnn(fastregionbasedconvolutionalneuralnetwork)模型、fasterrcnn(fasterregionbasedconvolutionalneuralnetwork)模型,以及,一种或多种除了上述模型之外的其他类型的神经网络模型。其中,rcnn模型、fastrcnn模型和fasterrcnn模型均为基于区域信息的卷积神经网络模型。

本领域技术人员将理解,虽然在上面的实施例中,方法200采用的图片数据库由方法100生成,然而,本发明并不局限于此。在本发明的其他实施例中,方法200采用的图片数据库可通过另外采集图片生成,也就是说,神经网络模型训练时所使用的图片数据库与实际检索使用时所使用的图片数据库可以没有关系,方法200可以对目标图片在训练时采用的图片数据库以外的其他任意数据库中进行检索。

本领域技术人员将理解,虽然在上面的实施例中,方法200包括方框216-218以将第一图片和第二图片中相似度值较大的图片确定为目标图片t的检索结果,然而,本发明并不局限于此。在本发明的其他实施例中,方法200也可以将第一图片和第二图片同时确定为目标图片t的检索结果并输出。在这种情况下,例如但不局限于,可以由发送检索请求的用户对检索结果进行选择。可以理解的,当第一图片和第二图片为同一图片时,可以仅输出一个检索结果。

图3示出了按照本发明的一个实施例的一种图片检索方法的流程图。图3所示的方法300可以例如由计算机或其他合适的具有计算能力的电子设备来实现。

如图3所示,方法300可以包括,在方框302,接收携带目标图片的检索请求。

方法300还可以包括,在方框304,根据预先采集的图片数据库、已训练的第一神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第一图片。

方法300还可以包括,在方框306,如果所述第一图片的相似度值小于预设相似度阈值,则根据所述图片数据库、已训练的第二神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第二图片。

方法300还可以包括,在方框308,将所述第一图片和所述第二图片确定为所述目标图片的检索结果,或,比较所述第一图片和所述第二图片的相似度值大小,将相似度值较大的图片确定为所述目标图片的检索结果。

在一个方面,所述第一神经网络模型是利用第一训练图片集训练得到的,以及,所述第二神经网络模型是利用第二训练图片集训练得到的,其中,所述第一训练图片集是基于第一规则集中的规则从所述图片数据库中选取的,以及,所述第二训练图片集是基于第二规则集中的规则从所述图片数据库中选取的。

在另一个方面,所述图片数据库中的至少一部分图片是从所述图片数据库中选取的一个或多个种子图片衍生得到的。

在又一个方面,所述第一神经网络模型是卷积神经网络模型,以及所述第二神经网络模型是基于区域信息的卷积神经网络模型。

图4示出了按照本发明的一个实施例的一种图片检索装置的示意图。图4所示的装置400可以利用软件、硬件或软硬件结合的方式来实现。装置400例如可以安装在计算机或其他合适的具有计算能力的电子设备中。

如图4所示,装置400可以包括接收模块402、第一获取模块404、第二获取模块406以及确定模块408。接收模块402用于接收携带目标图片的检索请求。第一获取模块404用于根据预先采集的图片数据库、已训练的第一神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第一图片。第二获取模块406用于如果所述第一图片的相似度值小于预设相似度阈值,则根据所述图片数据库、已训练的第二神经网络模型和所述目标图片,从所述图片数据库中获取相似度值最大的第二图片。确定模块408用于将所述第一图片和所述第二图片确定为所述目标图片的检索结果,或,比较所述第一图片和所述第二图片的相似度值大小,将相似度值较大的图片确定为所述目标图片的检索结果。

在一个方面,所述第一神经网络模型是利用第一训练图片集训练得到的,以及,所述第二神经网络模型是利用第二训练图片集训练得到的,其中,所述第一训练图片集是基于第一规则集中的规则从所述图片数据库中选取的,以及,所述第二训练图片集是基于第二规则集中的规则从所述图片数据库中选取的。

在另一个方面,所述图片数据库中的至少一部分图片是从所述图片数据库中选取的一个或多个种子图片衍生得到的。

在又一个方面,所述第一神经网络模型是卷积神经网络模型,以及所述第二神经网络模型是基于区域信息的卷积神经网络模型。

图5示出了按照本发明的一个实施例的计算机设备的示意图。如图5所示,计算机设备500可以包括处理器502和存储器504,其中,存储器504上存储有可执行指令,其中,所述可执行指令当被执行时使得处理器502执行图1所示的方法100、图2所示的方法200或图3所示的方法300。

在一个方面,处理器502设置在处理组件501中,设备500还可以包括以下一个或多个组件:电源组件503、多媒体组件505、音频组件507、输入/输出(i/o)接口509、传感器组件511、以及通信组件513。

其中,电源组件503为计算机设备500的各种组件提供电源。电源组件503可以包括电源管理系统,一个或多个电源。

多媒体组件505包括在设备500和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(lcd)和触摸面板(tp)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

音频组件507被配置为输出和/或输入音频信号。例如,音频组件507包括一个麦克风(mic),麦克风被配置为接收外部音频信号。在一些实施例中,音频组件507还包括一个扬声器,用于输出音频信号。

i/o接口509为处理器502和外围接口模块之间提供接口。上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。

传感器组件511包括一个或多个传感器。传感器组件511可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。在一些实施例中,该传感器组件511还可以包括摄像头等。

通信组件513被配置为便于设备500和其他设备之间有线或无线方式的通信。

设备500可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个实施例中,该设备500中可以包括sim卡插槽,该sim卡插槽用于插入sim卡,使得设备500可以登录gprs网络,通过互联网与服务器建立通信。

本发明的实施例还提供一种计算机可读介质,其上存储有可执行指令,其中,所述可执行指令当被执行时使得计算机执行图1所示的方法100、图2所示的方法200或图3所示的方法300。

本领域的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

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