图像检索方法、装置、电子设备及计算机可读存储介质与流程

专利2022-05-09  95


本公开涉及人工智能技术领域,特别涉及计算机视觉和深度学习等领域的图像检索方法、装置、电子设备及计算机可读存储介质。



背景技术:

目前,图像检索技术已经应用到了生活中的方方面面,如商品检索,地标检索等。

可采用以下具体实现方式:分别对图库中的各图像(为便于表述,将其称为待选图像)进行全局特征提取,全局特征通常是指针对整个图像提取出的一个描述子,针对待检索图像,也可对其进行全局特征提取,并可将待检索图像的全局特征与各待选图像的全局特征进行比对,根据比对结果确定出检索结果。

上述方式实现起来简单方便,但也存在一定的局限性,比如,待检索图像为图像的一部分,而图库中的待选图像为完整的图像,这种场景下,按照上述方式进行检索后,检索效果通常都会较差。



技术实现要素:

本公开提供了图像检索方法、装置、电子设备及计算机可读存储介质。

一种图像检索方法,包括:

获取待检索图像的局部特征;

根据所述待检索图像的局部特征及图库中的各待选图像的局部特征,从所述图库中筛选出与所述待检索图像相匹配的待选图像;

根据所述待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

一种图像检索装置,包括:获取模块、筛选模块以及校验模块;

所述获取模块,用于获取待检索图像的局部特征;

所述筛选模块,用于根据所述待检索图像的局部特征及图库中的各待选图像的局部特征,从所述图库中筛选出与所述待检索图像相匹配的待选图像;

所述校验模块,用于根据所述待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。

一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行如以上所述的方法。

一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如以上所述的方法。

上述公开中的一个实施例具有如下优点或有益效果:可基于图像的局部特征来实现图像的检索,对于各种场景均有较好的适用性,从而提升了检索效果,即提升了检索结果的准确性,而且,采用了基于局部特征的筛选和校验两级检索机制,进而进一步提升了检索结果的准确性等。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1为本公开所述图像检索方法第一实施例的流程图;

图2为本公开所述图像检索方法第二实施例的流程图;

图3为本公开所述图像检索装置实施例300的组成结构示意图;

图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1为本公开所述图像检索方法第一实施例的流程图。如图1所示,包括以下具体实现方式。

在步骤101中,获取待检索图像的局部特征。

在步骤102中,根据待检索图像的局部特征及图库中的各待选图像的局部特征,从图库中筛选出与待检索图像相匹配的待选图像。

在步骤103中,根据待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

可以看出,上述方法实施例所述方案中,可基于图像的局部特征来实现图像的检索,对于各种场景均有较好的适用性,从而提升了检索效果,即提升了检索结果的准确性,而且,采用了基于局部特征的筛选和校验两级检索机制,进而进一步提升了检索结果的准确性等。

对于图库中的各待选图像,可预先分别获取其局部特征,并可按照一定的格式进行存储。比如,针对每个待选图像,可分别对该待选图像进行特征点提取,并可分别获取提取出的各特征点对应的局部特征,如p比特(bit)的局部特征,p为大于一的正整数,具体取值可根据实际需要而定,如32。

如何提取图像的特征点不作限制,如可采用现有的各种特征点提取方法。对于不同的两个图像,从中提取出的特征点的数量可能相同,也可能不同。

针对提取出的各特征点,可分别获取其对应的局部特征,即对应的描述子,该描述子通常是固定维度的,本公开所述方法中的局部特征可为量化后的特征,如上述的p比特的局部特征。

如何获取各特征点对应的局部特征同样不作限制,比如,所述局部特征可为基于卷积神经网络(cnn,convolutionalneuralnetworks)获取到的深度特征,即可借助于预先训练得到的卷积神经网络模型来获取所述局部特征。

从时间角度来看,特征可分为传统特征和深度特征,传统特征可包括尺度不变特征变换(sift,scale-invariantfeaturetransform)等,深度特征主要是基于cnn获取到的高维特征。相比于传统特征,深度特征中包含了更多的语义信息等,相应地,采用深度特征作为本公开所述方法中的局部特征,可提升后续检索结果的准确性等。

对于待检索图像,也可按照上述方式进行处理,即可对待检索图像进行特征点提取,并可分别获取提取出的各特征点对应的局部特征,如p比特的局部特征。

针对所述图库,还可建立各特征点到包括特征点的待选图像之间的倒排索引,即可建立各特征点与包括特征点的待选图像之间的对应关系等,通过特征点可以定位到包括这个特征点的待选图像。

相应地,可结合所建立的倒排索引,根据待检索图像及待选图像的局部特征,从图库中筛选出与待检索图像相匹配的待选图像。

具体地,针对待检索图像中的任一特征点,可分别执行以下处理:将该特征点作为待处理特征点;根据待处理特征点对应的局部特征以及倒排索引中的各特征点对应的局部特征,从倒排索引中的各特征点中筛选出与待处理特征点为同一特征点的特征点;将筛选出的特征点对应的待选图像作为与待检索图像相匹配的待选图像。

其中,针对倒排索引中的任一特征点,可分别将该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容进行比对,根据比对结果确定出该特征点与待处理特征点是否为同一特征点。m为大于一的正整数,且小于p,具体取值可根据实际需要而定。

比如,若该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容之间的汉明距离小于预定阈值,则可确定该特征点与待处理特征点为同一特征点。

上述阈值的具体取值可根据实际需要而定,比如,若阈值的取值为1,那么对于一个特征点来说,该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容之间的汉明距离小于预定阈值,则是指该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容相同,若阈值的取值为2,则是指该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容之间最多可以有一位不同。

优选地,所述阈值可取值为1,即若该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容相同,则可确定该特征点与待处理特征点为同一特征点。

上述过程可举例说明如下:

假设待检索图像中包括3个特征点,分别为特征a、特征点b和特征点c,并假设建立倒排索引的特征点为50个(实际可能远大于此,此处仅为举例说明),分别为特征点1~特征点50。

针对特征点a,可从特征点1~特征点50中筛选出与特征点a为同一特征点的特征点。比如,针对特征点1,可将特征点1对应的局部特征中的第1~m比特内容与特征点a对应的局部特征中的第1~m比特内容进行比对,若特征点1对应的局部特征中的第1~m比特内容与特征点a对应的局部特征中的第1~m比特内容相同,则可确定特征点1与特征点a为同一特征点,反之,为不同特征点,也就是说,特征与特征的比对可采用异或操作,只有当两个特征点对应的局部特征的第1~m比特内容完全相同(一位不差)时,才会认为两个特征点是同一个特征点,按照同样的方式,可分别对特征点1之外的其它特征点进行处理。假设特征点5与特征点a为同一特征点,那么可将特征点5对应的待选图像作为筛选出的与待检索图像相匹配的待选图像,假设此次筛选出的待选图像数量为3。

按照与特征点a同样的方式,针对特征点b,可从特征点1~特征点50中筛选出与特征点b为同一特征点的特征点。假设特征点10与特征点b为同一特征点,那么可将特征点10对应的待选图像作为筛选出的与待检索图像相匹配的待选图像,假设此次筛选出的待选图像数量为2。

按照与特征点a同样的方式,针对特征点c,可从特征点1~特征点50中筛选出与特征点c为同一特征点的特征点。假设特征点20与特征点c为同一特征点,那么可将特征点20对应的待选图像作为筛选出的与待检索图像相匹配的待选图像,假设此次筛选出的待选图像数量为4。

通过上述处理,针对待检索图像,共可从图库中筛选出9(3 2 4)个与待检索图像相匹配的待选图像。

可以看出,上述处理方式中,可分别利用待检索图像中的各特征点进行待选图像的召回,从而提升了召回的覆盖率等,而且,可借助于倒排索引来进行待选图像的召回,从而提升了召回效率等,再有,可通过对局部特征中的部分内容进行比对来进行候选图像的召回,从而提升了比对速度,进而进一步提升了召回效率等。

从图库中筛选出与待检索图像相匹配的待选图像后,可根据待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

具体地,针对筛选出的任一待选图像,可分别执行以下处理:根据该待选图像中的特征点对应的局部特征以及待检索图像中的特征点对应的局部特征,从该待选图像中的特征点中筛选出符合预定要求的特征点,符合预定要求包括:与待检索图像中的一个特征点为同一特征点;将筛选出的特征点数量作为该待选图像的评分。

进一步地,可按照评分由高到低的顺序对筛选出的待选图像进行排序,将排序后处于前q位的待选图像作为检索结果,q为正整数,且小于筛选出的待选图像数量。q的具体取值可根据实际需要而定,比如,可以为1,也可以大于一。

其中,针对筛选出的任一待选图像,在从该待选图像中的特征点中筛选出符合预定要求的特征点时,可针对该待选图像中的任一特征点,分别将该特征点对应的局部特征中的第n~p比特内容与待检索图像中的各特征点对应的局部特征中的第n~p比特内容进行比对,根据比对结果确定出该特征点是否符合预定要求,n为大于一的正整数,且小于p,具体取值可根据实际需要而定。

比如,若该特征点对应的局部特征中的第n~p比特内容与待检索图像中的任一特征点对应的局部特征中的第n~p比特内容之间的汉明距离小于预定阈值,则可确定该特征点符合预定要求。同样地,所述阈值的具体取值可根据实际需要而定。

上述过程可举例说明如下:

假设待检索图像中包括3个特征点,分别为特征a、特征点b和特征点c,并假设从图库中筛选出了9个与待检索图像相匹配的待选图像,分别为待选图像1~待选图像9。

以待选图像1为例,假设其中也包括3个特征点,分别为特征点1、特征点2和特征点3。那么针对特征点1,可分别计算特征点1对应的局部特征中的第n~p比特内容与特征点a对应的局部特征中的第n~p比特内容之间的汉明距离、特征点1对应的局部特征中的第n~p比特内容与特征点b对应的局部特征中的第n~p比特内容之间的汉明距离以及特征点1对应的局部特征中的第n~p比特内容与特征点c对应的局部特征中的第n~p比特内容之间的汉明距离,假设特征点1对应的局部特征中的第n~p比特内容与特征点c对应的局部特征中的第n~p比特内容之间的汉明距离小于预定阈值,那么则可认为特征点1符合预定要求,即特征点1与特征点c为同一特征点。按照同样的方式,可分别对特征点2和特征点3进行处理,假设特征点2也符合预定要求,与特征点a为同一特征点,但特征点3不符合预定要求。那么则可确定从待选图像1中的特征点中筛选出的符合预定要求的特征点数量为2,相应地,待选图像1的评分可为2。

按照同样的方式,可分别得到待选图像2~待选图像9的评分,并可按照评分由高到低的顺序对待选图像1~待选图像9进行排序,进而可将排序后处于第一位的待选图像作为所需的检索结果。

上述处理方式中,基于局部特征对筛选出的待选图像进行了进一步校验,从而进一步提升了检索结果的准确性等,而且,可通过对局部特征中的部分内容进行比对来实现所述校验,从而提升了比对速度,进而进一步提升了检索效率等。

图2为本公开所述图像检索方法第二实施例的流程图。如图2所示,包括以下具体实现方式。

在步骤201中,针对图库中的各待选图像,分别进行特征点提取,并分别获取提取出的各特征点对应的32比特的局部特征。

所述局部特征可为基于卷积神经网络获取到的深度特征。

在步骤202中,针对图库,建立各特征点到包括特征点的待选图像之间的倒排索引。

在步骤203中,对待检索图像进行特征点提取,并分别获取提取出的各特征点对应的32比特的局部特征。

在步骤204中,针对待检索图像中的每个特征点,分别执行步骤205~步骤206所示处理。

在步骤205中,将该特征点作为待处理特征点,针对倒排索引中的每个特征点,分别将该特征点对应的局部特征中的前24比特(即第1~24比特)内容与待处理特征点对应的局部特征中的前24比特内容进行比对,若任一特征点对应的局部特征中的前24比特内容与待处理特征点对应的局部特征中的前24比特内容相同,则将该特征点作为筛选出的与待处理特征点为同一特征点的特征点。

在步骤206中,将筛选出的特征点对应的待选图像作为筛选出的与待检索图像相匹配的待选图像。

在步骤207中,针对筛选出的每个待选图像,分别执行步骤208-步骤209所示处理。

在步骤208中,针对该待选图像中的每个特征点,分别将该特征点对应的局部特征中的后24比特内容与待检索图像中的各特征点对应的局部特征中的后24比特内容进行比对,若该特征点对应的局部特征中的后24比特内容与待检索图像中的任一特征点对应的局部特征中的后24比特内容之间的汉明距离小于预定阈值,则确定该特征点符合预定要求。

在步骤209中,将符合预定要求的特征点数量作为该待选图像的评分。

在步骤210中,按照评分由高到低的顺序对筛选出的待选图像进行排序,将排序后处于第一位的待选图像作为检索结果。

需要说明的是,对于前述的各方法实施例,为了简单描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。另外,某个实施例中没有详述的部分,可以参见其它实施例中的相关说明。

以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。

图3为本公开所述图像检索装置实施例300的组成结构示意图。如图3所示,包括:获取模块301、筛选模块302以及校验模块303。

获取模块301,用于获取待检索图像的局部特征。

筛选模块302,用于根据待检索图像的局部特征及图库中的各待选图像的局部特征,从图库中筛选出与待检索图像相匹配的待选图像。

校验模块303,用于根据待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

其中,获取模块301可对待检索图像进行特征点提取,并分别获取提取出的各特征点对应的局部特征,如p比特的局部特征,p为大于一的正整数。

获取模块301还可预先分别对图库中的各待选图像进行特征点提取,并分别获取提取出的各特征点对应的局部特征,如p比特的局部特征。

所述局部特征可为基于卷积神经网络获取到的深度特征。

进一步地,获取模块301还可针对图库,建立各特征点到包括特征点的待选图像之间的倒排索引。

相应地,筛选模块302在根据待检索图像的局部特征及图库中的各待选图像的局部特征,从图库中筛选出与待检索图像相匹配的待选图像时,可针对待检索图像中的任一特征点,分别执行以下处理:将该特征点作为待处理特征点;根据待处理特征点对应的局部特征以及倒排索引中的各特征点对应的局部特征,从倒排索引中的各特征点中筛选出与待处理特征点为同一特征点的特征点;将筛选出的特征点对应的待选图像作为筛选出的与待检索图像相匹配的待选图像。

其中,筛选模块302可针对倒排索引中的任一特征点,分别将该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容进行比对,根据比对结果确定出该特征点与待处理特征点是否为同一特征点,m为大于一的正整数,且小于p。

比如,筛选模块302在确定该特征点对应的局部特征中的第1~m比特内容与待处理特征点对应的局部特征中的第1~m比特内容之间的汉明距离小于预定阈值时,可确定该特征点与待处理特征点为同一特征点。

进一步地,校验模块303可根据待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

具体地,校验模块303可针对筛选出的任一待选图像,分别执行以下处理:根据该待选图像中的特征点对应的局部特征以及待检索图像中的特征点对应的局部特征,从该待选图像中的特征点中筛选出符合预定要求的特征点,符合预定要求包括:与待检索图像中的一个特征点为同一特征点;将筛选出的特征点数量作为该待选图像的评分。

相应地,校验模块303可按照评分由高到低的顺序对筛选出的待选图像进行排序,将排序后处于前q位的待选图像作为检索结果,q为正整数,且小于筛选出的待选图像数量。

其中,校验模块303可针对待选图像中的任一特征点,分别将该特征点对应的局部特征中的第n~p比特内容与待检索图像中的各特征点对应的局部特征中的第n~p比特内容进行比对,根据比对结果确定出该特征点是否符合预定要求,n为大于一的正整数,且小于p。

比如,校验模块303在确定该特征点对应的局部特征中的第n~p比特内容与待检索图像中的任一特征点对应的局部特征中的第n~p比特内容之间的汉明距离小于预定阈值时,可确定该特征点符合预定要求。

图3所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。

总之,采用本公开装置实施例所述方案,可基于图像的局部特征来实现图像的检索,对于各种场景均有较好的适用性,从而提升了检索效果,即提升了检索结果的准确性,而且,采用了基于局部特征的筛选和校验两级检索机制,进而进一步提升了检索结果的准确性等。

本公开所述方案可应用于人工智能领域,特别涉及计算机视觉和深度学习等领域,可应用于图像检索场景下。

人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术,人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术,人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(rom)402中的计算机程序或者从存储单元408加载到随机访问存储器(ram)403中的计算机程序,来执行各种适当的动作和处理。在ram403中,还可存储设备400操作所需的各种程序和数据。计算单元401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。

设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如本公开所述的方法。例如,在一些实施例中,本公开所述的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由rom402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到ram403并由计算单元401执行时,可以执行本公开所述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开所述的方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。云计算指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系,通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。


技术特征:

1.一种图像检索方法,包括:

获取待检索图像的局部特征;

根据所述待检索图像的局部特征及图库中的各待选图像的局部特征,从所述图库中筛选出与所述待检索图像相匹配的待选图像;

根据所述待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

2.根据权利要求1所述的方法,其中,

所述获取待检索图像的局部特征包括:对所述待检索图像进行特征点提取,并分别获取提取出的各特征点对应的局部特征;

所述方法还包括:预先分别对所述图库中的各待选图像进行特征点提取,并分别获取提取出的各特征点对应的局部特征。

3.根据权利要求2所述的方法,其中,

所述局部特征包括:基于卷积神经网络获取到的深度特征。

4.根据权利要求2或3所述的方法,还包括:针对所述图库,建立各特征点到包括特征点的待选图像之间的倒排索引;

其中,所述从所述图库中筛选出与所述待检索图像相匹配的待选图像包括:针对所述待检索图像中的任一特征点,分别执行以下处理:

将所述特征点作为待处理特征点;

根据所述待处理特征点对应的局部特征以及所述倒排索引中的各特征点对应的局部特征,从所述倒排索引中的各特征点中筛选出与所述待处理特征点为同一特征点的特征点;

将筛选出的特征点对应的待选图像作为与所述待检索图像相匹配的待选图像。

5.根据权利要求4所述的方法,其中,

所述局部特征包括:p比特的局部特征,p为大于一的正整数;

所述从所述倒排索引中的各特征点中筛选出与所述待处理特征点为同一特征点的特征点包括:

针对所述倒排索引中的任一特征点,分别将所述特征点对应的局部特征中的第1~m比特内容与所述待处理特征点对应的局部特征中的第1~m比特内容进行比对,根据比对结果确定出所述特征点与所述待处理特征点是否为同一特征点,m为大于一的正整数,且小于p。

6.根据权利要求5所述的方法,其中,所述根据比对结果确定出所述特征点与所述待处理特征点是否为同一特征点包括:

若所述特征点对应的局部特征中的第1~m比特内容与所述待处理特征点对应的局部特征中的第1~m比特内容之间的汉明距离小于预定阈值,则确定所述特征点与所述待处理特征点为同一特征点。

7.根据权利要求2或3所述的方法,其中,

所述对筛选出的待选图像进行校验,得到作为检索结果的待选图像包括:

针对筛选出的任一待选图像,分别执行以下处理:根据所述待选图像中的特征点对应的局部特征以及所述待检索图像中的特征点对应的局部特征,从所述待选图像中的特征点中筛选出符合预定要求的特征点,所述符合预定要求包括:与所述待检索图像中的一个特征点为同一特征点;将筛选出的特征点数量作为所述待选图像的评分;

按照所述评分由高到低的顺序对筛选出的待选图像进行排序,将排序后处于前q位的待选图像作为所述检索结果,q为正整数,且小于筛选出的待选图像数量。

8.根据权利要求7所述的方法,其中,

所述局部特征包括:p比特的局部特征,p为大于一的正整数;

所述从所述待选图像中的特征点中筛选出符合预定要求的特征点包括:

针对所述待选图像中的任一特征点,分别将所述特征点对应的局部特征中的第n~p比特内容与所述待检索图像中的各特征点对应的局部特征中的第n~p比特内容进行比对,根据比对结果确定出所述特征点是否符合预定要求,n为大于一的正整数,且小于p。

9.根据权利要求8所述的方法,其中,所述根据比对结果确定所述特征点与是否符合预定要求包括:

若所述特征点对应的局部特征中的第n~p比特内容与所述待检索图像中的任一特征点对应的局部特征中的第n~p比特内容之间的汉明距离小于预定阈值,则确定所述特征点符合预定要求。

10.一种图像检索装置,包括:获取模块、筛选模块以及校验模块;

所述获取模块,用于获取待检索图像的局部特征;

所述筛选模块,用于根据所述待检索图像的局部特征及图库中的各待选图像的局部特征,从所述图库中筛选出与所述待检索图像相匹配的待选图像;

所述校验模块,用于根据所述待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。

11.根据权利要求10所述的装置,其中,

所述获取模块对所述待检索图像进行特征点提取,并分别获取提取出的各特征点对应的局部特征;

所述获取模块进一步用于,预先分别对所述图库中的各待选图像进行特征点提取,并分别获取提取出的各特征点对应的局部特征。

12.根据权利要求11所述的装置,其中,

所述局部特征包括:基于卷积神经网络获取到的深度特征。

13.根据权利要求11或12所述的装置,其中,

所述获取模块进一步用于,针对所述图库,建立各特征点到包括特征点的待选图像之间的倒排索引;

所述筛选模块针对所述待检索图像中的任一特征点,分别执行以下处理:将所述特征点作为待处理特征点;根据所述待处理特征点对应的局部特征以及所述倒排索引中的各特征点对应的局部特征,从所述倒排索引中的各特征点中筛选出与所述待处理特征点为同一特征点的特征点;将筛选出的特征点对应的待选图像作为与所述待检索图像相匹配的待选图像。

14.根据权利要求13所述的装置,其中,

所述局部特征包括:p比特的局部特征,p为大于一的正整数;

所述筛选模块针对所述倒排索引中的任一特征点,分别将所述特征点对应的局部特征中的第1~m比特内容与所述待处理特征点对应的局部特征中的第1~m比特内容进行比对,根据比对结果确定出所述特征点与所述待处理特征点是否为同一特征点,m为大于一的正整数,且小于p。

15.根据权利要求14所述的装置,其中,

所述筛选模块在确定所述特征点对应的局部特征中的第1~m比特内容与所述待处理特征点对应的局部特征中的第1~m比特内容之间的汉明距离小于预定阈值时,确定所述特征点与所述待处理特征点为同一特征点。

16.根据权利要求11或12所述的装置,其中,

所述校验模块针对筛选出的任一待选图像,分别执行以下处理:根据所述待选图像中的特征点对应的局部特征以及所述待检索图像中的特征点对应的局部特征,从所述待选图像中的特征点中筛选出符合预定要求的特征点,所述符合预定要求包括:与所述待检索图像中的一个特征点为同一特征点;将筛选出的特征点数量作为所述待选图像的评分;按照所述评分由高到低的顺序对筛选出的待选图像进行排序,将排序后处于前q位的待选图像作为所述检索结果,q为正整数,且小于筛选出的待选图像数量。

17.根据权利要求16所述的装置,其中,

所述局部特征包括:p比特的局部特征,p为大于一的正整数;

所述校验模块针对所述待选图像中的任一特征点,分别将所述特征点对应的局部特征中的第n~p比特内容与所述待检索图像中的各特征点对应的局部特征中的第n~p比特内容进行比对,根据比对结果确定出所述特征点是否符合预定要求,n为大于一的正整数,且小于p。

18.根据权利要求17所述的装置,其中,

所述校验模块在确定所述特征点对应的局部特征中的第n~p比特内容与所述待检索图像中的任一特征点对应的局部特征中的第n~p比特内容之间的汉明距离小于预定阈值时,确定所述特征点符合预定要求。

19.一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。

20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-9中任一项所述的方法。

21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。

技术总结
本公开公开了图像检索方法、装置、电子设备及计算机可读存储介质,涉及计算机视觉和深度学习等人工智能领域,其中的方法可包括:获取待检索图像的局部特征;根据待检索图像的局部特征及图库中的各待选图像的局部特征,从图库中筛选出与待检索图像相匹配的待选图像;根据待检索图像及筛选出的待选图像的局部特征,对筛选出的待选图像进行校验,得到作为检索结果的待选图像。应用本公开所述方案,可提升检索结果的准确性等。

技术研发人员:杨敏
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2021.04.28
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-8795.html

最新回复(0)