图像检索方法、电子装置和存储介质与流程

文档序号:26005439发布日期:2021-07-23 21:23阅读:77来源:国知局
图像检索方法、电子装置和存储介质与流程

本申请涉及图像处理领域,特别是涉及图像检索方法、电子装置和存储介质。



背景技术:

图像检索(content-basedimageretrieval,简称cbir)是一种基于内容的检索,例如对颜色、纹理、布局等进行分析和检索,其中主要包括三方面:一方面对用户需求的分析和转化,形成可以检索索引数据库的图文;另一方面,收集和加工图像资源,提取特征点,分析并进行标引,建立图像的索引数据库;最后一方面是根据相似度算法,计算用户提问与索引数据库中记录的相似度大小,提取出满足阈值的记录作为结果,按照相似度降序的方式输出。

相关技术给出了以下图像检索方法:

暴力匹配和kd-tree(k-d树最邻近搜索)匹配法:将待检索图像的每一个特征点和多个待匹配图像中的每一个特征点进行匹配。该方法缺点是需要在两个图像的特征点之间进行遍历搜索,检索耗时高。

基于加权平均特征点的非特征点匹配法:对待匹配图像的全局特征进行加权平均,将待检索图像和进行加权平均后的待匹配图像进行匹配。该方法缺点是没有利用特征点之间的位置关系,检索精度低。

上述图像检索方法对于手机、平板电脑、ar(augmentedreality,增强现实)眼镜等算力较弱的移动终端而言,应用效果不理想,无论是在检索耗时方面还是检索精度方面,检索质量都不高,无法满足实际应用场景的要求。

针对相关技术中存在的图像检索质量低的问题,目前还没有提出有效的解决方案。



技术实现要素:

在本实施例中提供了一种图像检索方法、电子装置和存储介质,以解决相关技术中图像检索质量低的问题。

第一个方面,在本实施例中提供了一种图像检索方法,包括:

获取待检索图像和多个待匹配图像的特征点以及特征点所属的类别;

对每个类别中所述待匹配图像的特征点和所述待检索图像的特征点进行特征匹配,得到匹配特征点对;

确定各所述待匹配图像与所述待检索图像匹配的所述匹配特征点对的数目;

确定所述匹配特征点对的数目最多的所述待匹配图像为所述待检索图像的检索结果。

在其中一些实施例中,所述特征点包括用于表示所述特征点的特征信息的描述子和用于表示所述特征点在图像中位置的特征点位置;其中,特征点的特征匹配基于所述特征点位置和所述描述子。

在其中一些实施例中,所述特征点包括用于表示所述特征点的特征信息的描述子;获取特征点所属的类别包括:

根据所述描述子,对所述特征点进行聚类,得到聚类中心;

根据所述聚类中心对所述特征点进行分类,得到所述特征点所属的类别。

在其中一些实施例中,所述特征点包括用于表示所述特征点的特征信息的描述子;获取特征点所属的类别包括:

获取预设类别;

根据所述描述子,将所述特征点分类到所述预设类别,得到所述特征点所属的类别。

在其中一些实施例中,获取预设类别包括:

获取多个训练图像;

分别提取各所述训练图像的特征点,并将提取到的特征点进行聚类,得到预设数量的聚类中心,将所述预设数量的聚类中心作为所述预设类别。

在其中一些实施例中,所述特征点包括用于表示所述特征点的特征信息的描述子;在获取待检索图像和多个待匹配图像的特征点以及特征点所属的类别之前,所述方法还包括:

获取多个预先存储图像的特征点以及特征点所属的类别;

根据各所述预先存储图像的特征点的描述子和特征点所属的类别,确定各所述预先存储图像的全局描述子,以及根据所述待检索图像的特征点的描述子和特征点所属的类别,确定所述待检索图像的全局描述子;

根据所述全局描述子,对所述待检索图像和多个所述预先存储图像进行特征匹配,将与所述待检索图像匹配的所述预先存储图像作为所述待匹配图像。

在其中一些实施例中,所述特征点包括用于表示所述特征点的特征信息的第一描述子;获取特征点所属的类别包括:获取预设类别;根据所述第一描述子,将所述特征点分类到所述预设类别,得到所述特征点所属的类别,其中,所述预设类别包括第二描述子;

根据所述待检索图像的特征点的描述子和特征点所属的类别,确定所述待检索图像的全局描述子包括:将所述待检索图像的特征点的第一描述子分别与特征点所属的类别的第二描述子作差,得到各特征点的残差描述子;合并属于相同类别的特征点的残差描述子,作为所述待检索图像在该相同类别的残差描述子,以及确定所述待检索图像在未包含所述待检索图像的任意特征点的类别的残差描述子为预设描述子;按照所述预设类别的顺序,级联所述待检索图像在所述预设类别的所有残差描述子,得到所述待检索图像的所述全局描述子。

在其中一些实施例中,所述待检索图像、所述待匹配图像和预先存储图像的特征点的描述子均为二值化残差描述子,其中,所述二值化残差描述子包括每维度均为二值化数据格式的多维度数据;所述方法还包括:

获取目标图像,其中,所述目标图像包括:所述待检索图像、所述待匹配图像和/或预先存储图像;

提取所述目标图像的特征点,其中,所述目标图像的特征点包括非二值化描述子,所述非二值化描述子包括每维度均为非二值化数据格式的多维度数据;

根据所述非二值化描述子,将所述目标图像的特征点分类到预设类别;

将所述目标图像的特征点的非二值化描述子分别与特征点所属的预设类别的非二值化描述子作差,得到非二值化残差描述子;

对所述非二值化残差描述子的各维度数据进行二值化处理,得到二值化残差描述子。

在其中一些实施例中,在所述目标图像为预先存储图像的情况下,所述方法还包括:

存储所述预先存储图像的二值化残差描述子

第二个方面,在本实施例中提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述第一个方面所述的图像检索方法。

第三个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一个方面所述的图像检索方法步骤。

与相关技术相比,在本实施例中提供的图像检索方法、电子装置和存储介质,解决了相关技术中图像检索质量低的问题,提升了图像检索的质量。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征点、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本实施例的图像检索方法的终端的硬件结构框图;

图2是本实施例的图像检索方法的流程图;

图3是本优选实施例的词典建立阶段的流程图;

图4是本优选实施例的粗检索离线阶段的流程图;

图5是本优选实施例的粗检索在线阶段的流程图

图6是本优选实施例的精确检索阶段的流程图;

图7是本优选实施例的待检索图像的原始图像;

图8是本优选实施例的经特征点提取后的待检索图像;

图9是本优选实施例的经特征点提取后的预先存储图像。

具体实施方式

为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。

除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。

在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的图像检索方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的图像检索方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种图像检索方法,图2是本实施例的图像检索方法的流程图,如图2所示,该流程包括如下步骤:

步骤s201,获取待检索图像和多个待匹配图像的特征点以及特征点所属的类别。

待匹配图像为用于和待检索图像进行特征点匹配的图像,待匹配图像可以预先存储于图像库中。

特征点的获取可以分为离线和在线两种模式,离线模式下,从预先存储的特征点库中获取得到各图像的特征点,在线模式下,直接对图像进行特征点提取处理之后获取得到。无论是待检索图像的特征点,还是待匹配图像的特征点,均包括但不限于颜色、纹理、布局中的任意一种信息。

获取特征点所属的类别,是指获取特征点被分配到各类别的分配信息,类别可以是对颜色、纹理、布局中的任意一种特征信息进行划分。

步骤s202,对每个类别中待匹配图像的特征点和待检索图像的特征点进行特征匹配,得到匹配特征点对。

根据特征点被分配到各类别的分配信息,将同属一个类别的待检索图像的特征点和待匹配图像的特征点进行特征匹配,得到匹配特征点对。

特征点(keypoint,简称为kpt)包括用于表示特征点的特征信息的描述子和用于表示特征点在图像中位置的特征点位置;其中,特征点的特征匹配基于特征点位置和描述子。

特征点位置指特征点在图像中的位置,描述子(descriptor,简称为desc)是一个向量,用于按照预设方式描述特征点邻域像素的信息,比如按照外观相似的特征点应该有相似的描述子规则设计描述子。

本实施例的描述子可以是浮点数型描述子(例如surf描述子、sift描述子),也可以是二进制描述子(brief描述子),根据描述子的不同,可以选择不同的距离度量。如果是浮点数型描述子,可以使用其欧式距离,对于二进制描述子,可以使用其汉明距离(两个不同二进制之间的汉明距离指的是两个二进制串不同位的个数)。

在进行特征点匹配的时候,可以通过计算两个特征点的描述子在向量空间的距离来确定二者是否属于同一个特征点,例如,计算待检索图像中某个描述子与待匹配图像中所有描述子之间的距离,然后将得到的距离进行排序,取距离最近的一个作为匹配点。

步骤s203,确定各待匹配图像与待检索图像匹配的匹配特征点对的数目。

如果特征点的类别是基于近邻规则进行划分的,也有可能一些特征点在两个或多个类别之间具有相似甚至相同的距离,将其归属于任何一个类别都会损失信息,导致出现分配误差,这种分配误差会影响后续特征点的匹配,为解决该问题,在确定匹配特征点对的数目时,可以通过滤掉错误的匹配特征点对,得到正确的匹配特征点对的数目。

一种是选择已经匹配的特征点对的汉明距离小于最小距离的两倍作为判断依据,如果小于该值则认为是一个错误的匹配,过滤掉,大于该值则认为是一个正确的匹配。

一种是使用交叉匹配的方法来过滤错误的匹配,假如第一次特征点a匹配到的特征点是特征点b;反过来,使用特征点b进行匹配,如果匹配到的仍然是特征点a,则就认为这是一个正确的匹配,否则就是一个错误的匹配。

一种是在匹配的时候选择与特征点最相似的k个点,如果这k个点之间的区别足够大,则选择最相似的那个点作为匹配点,k可以设置为2,也就是最近邻匹配。对每个匹配返回两个最近邻的匹配,如果第一匹配和第二匹配距离比率足够大(向量距离足够远),则认为这是一个正确的匹配,比率的阈值可设置为2。

较优选的方式是利用已匹配的特征点对计算两个图像之间的单应矩阵,然后利用重投影误差来判定某一匹配特征点对是否为正确的匹配,可以通过设定重投影误差的阈值来得到一个向量掩膜(vectormask),以指定哪些是符合该重投影误差的匹配特征点对,以此来剔除错误的匹配特征点对,从而得到成功匹配的匹配特征点对,提升图像检索的精度。

步骤s204,确定匹配特征点对的数目最多的待匹配图像为待检索图像的检索结果。

匹配特征点对的数目最多越多,则待匹配图像和待检索图像越相似。

本实施例在进行特征点匹配时,先验信息是属于相同类别的特征点,两个特征点之间的距离比较近,只需将属于相同类别的待检索图像的特征点和待匹配图像的特征点进行匹配,而无需在两个图像的所有特征点之间进行遍历搜索,缩小了特征点的匹配范围,大大缩小了特征点匹配范围,满足图像检索的实时性要求。而且,相匹配的待检索图像的特征点和待匹配图像的特征点归属于同一类别,利用了特征点之间的先验信息,保证了检索精度。通过上述步骤,解决了相关技术中存在的图像检索质量低的问题,提升了图像检索质量。

在一个实施例中,假设待检索图像有1000个特征点,待匹配图像有1000个特征点,在将待检索图像和一张待匹配图像进行特征点匹配的过程中,如果按照相关技术的暴力匹配和kd-tree(k-d树最邻近搜索)匹配法,则需要进行1000×1000=100000次特征点匹配,通常计算需耗时150ms,在一些终端算力较弱且实时性要求较高的场景中,获取目标图像的耗时会很高,相关技术无法满足应用需求。

而在本实施例中,仍然假设待检索图像有1000个特征点,待匹配图像有1000个特征点,待检索图像和多个待匹配图像的特征点所属的类别共有512个,平均约每2个待检索图像的特征点和2个待匹配图像的特征点被分配至同一个类别,在将待检索图像和一张待匹配图像进行特征点匹配的过程中,则只需要进行2×2×512=2048次特征点匹配,计算耗时远小于150ms,无论是在检索耗时方面还是检索精度方面,均能够适用于终端算力较弱且实时性要求较高的场景。

在其中一些实施例中,特征点包括用于表示特征点的特征信息的描述子;获取特征点所属的类别包括:根据描述子,对特征点进行聚类,得到聚类中心;根据聚类中心对特征点进行分类,得到特征点所属的类别。聚类所采用的方法包括但不限于k-means算法、k-medoids算法、clarans算法。

在其中一些实施例中,特征点包括用于表示特征点的特征信息的描述子;获取特征点所属的类别包括:获取预设类别;根据描述子,将特征点分类到预设类别,得到特征点所属的类别。例如,可以预先设定好多个聚类中心,每个聚类中心表示一个预设类别,确定待检索图像和待匹配图像中任意一个特征点和给定的所有聚类中心之间的距离,根据近邻规则将特征点分配至相应的聚类中心,以确定特征点所属的类别。在图像处理领域,聚类中心也称之为视觉词汇。

在其中一些实施例中,获取预设类别包括:获取多个训练图像;分别提取各训练图像的特征点,并将提取到的特征点进行聚类,得到预设数量的聚类中心,将预设数量的聚类中心作为预设类别。

训练图像可以是基于待检索图像和/或待匹配图像获取得到,也可以从除待检索图像和待匹配图像以外的预先存储的图像库获取得到。

以预先存储的图像库为例,提取预先存储的图像的特征点,先使用经典特征点检测算法brisk检测预先存储的图像得到描述子,再使用k-means聚类算法对描述子进行聚类得到多个聚类中心,即得到多个预设类别。

为进一步提升图像检索速度,在其中一些实施例中,特征点包括用于表示特征点的特征信息的描述子;在获取待检索图像和多个待匹配图像的特征点以及特征点所属的类别之前,方法还包括:

获取多个预先存储图像的特征点以及特征点所属的类别;

根据各预先存储图像的特征点的描述子和特征点所属的类别,确定各预先存储图像的全局描述子,以及根据待检索图像的特征点的描述子和特征点所属的类别,确定待检索图像的全局描述子;

根据全局描述子,对待检索图像和多个预先存储图像进行特征匹配,将与待检索图像匹配的预先存储图像作为待匹配图像。

根据特征点的描述子和特征点所属的类别,将特征点编码成全局特征,以此表征整个图像,全局特征之间的匹配耗时会低于多个特征点之间的匹配耗时,因此,先通过全局特征对待检索图像和待匹配图像进行匹配,得到初步匹配结果,根据初步匹配结果能够从预先存储图像中快速确定和待检索图像初步匹配的待匹配图像。

在一些实施例中,可将图像检索分为粗检索阶段和精确检索阶段,在粗检索阶段,通过全局特征匹配,得到按照匹配程度降序排列的待匹配图像的顺序,根据该顺序快速地确定和待检索图像相匹配的topn个待匹配图像,其中,n为正整数;在精确检索阶段,在topn个待匹配图像中检索目标图像,即将待检索图像和topn个待匹配图像进行特征点匹配。如此设置,减少了待检索图像和待匹配图像进行特征点匹配时候的检索范围,进一步减少了检索耗时。

其中,编码方法包括但不限于采用bow算法的编码方法、采用vlad算法的编码方法。例如,通过bow(bagofword,词袋)算法统计特征点落入最近聚类中心的数目,得到图像的全局特征。又例如,通过vlad(vectoroflocallyaggregateddescriptors,特征点描述符)算法统计落入最近聚类中心的特征点与该聚类中心的累积残差,得到图像的全局特征。

在其中一些实施例中,特征点包括用于表示特征点的特征信息的第一描述子;获取特征点所属的类别包括:获取预设类别;根据第一描述子,将特征点分类到预设类别,得到特征点所属的类别,其中,预设类别包括第二描述子;

根据待检索图像的特征点的描述子和特征点所属的类别,确定待检索图像的全局描述子包括:将待检索图像的特征点的第一描述子分别与特征点所属的类别的第二描述子作差,得到各特征点的残差描述子;合并属于相同类别的特征点的残差描述子,作为待检索图像在该相同类别的残差描述子,以及确定待检索图像在未包含待检索图像的任意特征点的类别的残差描述子为预设描述子;按照预设类别的顺序,级联待检索图像在预设类别的所有残差描述子,得到待检索图像的全局描述子。

第一描述子和第二描述子均为m维向量,m为正整数。其中,第二描述子为聚类中心。

对于某待检索图像而言,将归属于某一类别的所有特征点的第一描述子和该类别的第二描述子相减,得到各特征点的残差描述子,并将各特征点的残差描述子相加,得到待检索图像在该相同类别的残差描述子,如果存在某一类别未被分配到待检索图像的任一特征点,则对待检索图像在该类别的残差描述子设置为预设描述子,比如置0,将待检索图像对应于所有类别的残差描述子进行级联,得到待检索图像的全局特征。

在其中一些实施例中,为简化计算,在将各特征点的残差描述子相加之后,还对相加之后得到的向量进行归一化处理,并在将待检索图像对应于所有类别的残差描述子进行级联之后,还对级联之后得到的向量进行归一化处理。

其中,归一化处理可以采用l2范数归一化方法实现。例如,将各特征点的残差描述子相加之后得到的向量或者将待检索图像对应于所有类别的残差描述子进行级联之后得到的向量为:

x=(x1,x2,…,xk)

l2范数为:

归一化处理过程中,将该向量的各元素除以l2范数,得到归一化处理后的向量。其中,k为正整数,xk为该向量的元素。

以surf描述子为例,每个第一描述子和每个类别的第二描述子均为64维向量,则残差描述子也为64维向量,如果给定512个预设类别,则得到的待检索图像的全局特征为一个512×64=32768维向量。

需要说明的是,本申请并不限定描述子的类型,在其中一些实施例中,还可以利用sift描述子(128维向量)描述图像的特征点。

基于和待检索图像提取全局特征相近的原理,可以采取和待检索图像相同的步骤提取待匹配图像的全局特征。

本申请的粗检索阶段并不限于用全局特征匹配的方式初步筛选得到topn个待匹配图像,在其中一些实施例中,还可以采用已训练好的卷积神经网络分别提取待检索图像和预先存储图像的特征信息,并进行特征匹配,得到topn个待匹配图像。

相关技术的图像检索对内存资源开销较大,对于一些内存要求较高的设备而言,无法满足庞大的图像检索任务的存储需求,为解决该问题,在其中一些实施例中,待检索图像、待匹配图像和预先存储图像的特征点的描述子均为二值化残差描述子,其中,二值化残差描述子包括每维度均为二值化数据格式的多维度数据;方法还包括:

获取目标图像,其中,目标图像包括:待检索图像、待匹配图像和/或预先存储图像;

提取目标图像的特征点,其中,目标图像的特征点包括非二值化描述子,非二值化描述子包括每维度均为非二值化数据格式的多维度数据;

根据非二值化描述子,将目标图像的特征点分类到预设类别;

将目标图像的特征点的非二值化描述子分别与特征点所属的预设类别的非二值化描述子作差,得到非二值化残差描述子;

对非二值化残差描述子的各维度数据进行二值化处理,得到二值化残差描述子。

以待检索图像作为目标图像为例,对非二值化残差描述子的各维度数据进行二值化处理包括将待检索图像的描述子和所属的预设类别的描述子进行逐维相减,根据得到的差值中各维数值和预设阈值的比较结果,对待检索图像的描述子进行二值化处理,并根据经二值化处理后的描述子得到用于进行特征点匹配的待检索图像的特征点,使得在待检索图像和待匹配图像进行特征点匹配的过程中使用二值操作即可,进一步压缩匹配的时间,同时将浮点数描述子转化为二值描述子,缩小了存储空间,可以加快加载速度以及减少内存消耗。

需要说明的是,二值化处理后得到的二值描述子不同于二进制描述子,本实施例的二值描述子匹配相比于二进制描述子匹配所需耗费的时间更少。

例如,特征点的描述子中各维度数值是32位浮点数,原本需要32个bit位来存储,以surf描述子为例(64个维度),原本每个描述子需要存储的bit位是64*32bit。在本实施例中,通过将特征点的描述子和所属预设类别的描述子进行逐维相减,得到各维度差值,如果某一维度差值大于或者等于预设阈值,则对该维度赋值为1,否则,则对该维度的值赋值为0。二值化处理后待检索图像的描述子需要存储的bit位是64*1bit,将描述子的存储需求缩小为原来的1/32。

本实施例通过二值化处理将各维度数值的浮点数用预设的两个数值代替,减少了描述子的存储需求和内存资源开销,从而满足庞大的图像检索任务的存储需求。需要说明的是,0和1只是其中一种二值化数据格式,在其中一些实施例中,还可以赋值其他数值,本实施例不作限制。

在其中一些实施例中,在目标图像为预先存储图像的情况下,方法还包括:

存储预先存储图像的二值化残差描述子。

通过存储预先存储图像的二值化残差描述子,能够减少描述子的存储需求和内存资源开销。

在一些优选实施例中,图像检索方法分为四个阶段,分别是词典建立阶段、粗检索离线阶段、粗检索在线阶段以及精确检索阶段,以下将给出各检索阶段的流程。

图3是本优选实施例的词典建立阶段的流程图,如图3所示,该流程包括如下步骤:

步骤s301,获取多个训练图像;

步骤s302,对训练图像进行特征点提取,得到多个特征点;

步骤s303,对多个特征点进行聚类,得到512个聚类中心,即得到512个视觉词汇。

图4是本优选实施例的粗检索离线阶段的流程图,如图4所示,该流程包括如下步骤:

步骤s401,获取多个预先存储图像;

步骤s402,对各预先存储图像进行特征点提取,得到预先存储图像的特征点的特征信息;

步骤s403,将预先存储图像的特征点分配给512个聚类中心,得到各预先存储图像的第一分配信息和第一残差信息,并对第一残差信息进行级联和归一化处理,得到各预先存储图像的第一全局特征;

步骤s404,对预先存储图像的描述子进行二值化处理;

步骤s405,存储各预先存储图像的第一分配信息、二值化处理后的特征信息和第一全局特征。

图5是本优选实施例的粗检索在线阶段的流程图,如图5所示,该流程包括如下步骤:

步骤s501,获取待检索图像;

步骤s502,对待检索图像进行特征点提取,得到待检索图像的特征点的特征信息;

步骤s503,将待检索图像的特征点分配给512个聚类中心,得到待检索图像的第二分配信息和第二残差信息,并对第二残差信息进行级联和归一化处理,得到待检索图像的第二全局特征;

步骤s504,对待检索图像的描述子进行二值化处理;

步骤s505,存储待检索图像的第二分配信息、二值化处理后的特征信息和第二全局特征;

步骤s506,将第一全局特征和第二全局特征进行匹配,确定topn个待匹配图像。

图6是本优选实施例的精确检索阶段的流程图,如图6所示,该流程包括如下步骤:

步骤s601,将分配至同一聚类中心的待检索图像的特征点和待匹配图像的特征点进行匹配,得到相匹配的特征点对;

步骤s602,滤除错误的匹配特征点对,确定各待匹配图像的特征点中目标特征点的数量;

步骤s603,确定多个待匹配图像中具有目标特征点的数量最多的待匹配图像为待检索图像的检索结果。

在本优选实施例中,一方面,先验信息是分配给同一聚类中心的特征点,待检索图像和待匹配图像之间相匹配的特征点的距离比较近,能够在进行特征点匹配时大大缩小匹配范围,符合移动终端对实时性的要求。另一方面,在将特征点分配给聚类中心的时候对描述子二值化,特征点之间的匹配使用二值操作即可,进一步压缩匹配时间。同时,将浮点数描述子二值化,缩小了32倍的存储空间,能够加快数据的加载速度和减少内存消耗。

图7是本优选实施例的待检索图像的原始图像,图8是本优选实施例的经特征点提取后的待检索图像,图9是本优选实施例的经特征点提取后的预先存储图像。对于图7至9中的场景a,预先存储该场景a的8张照片,图中不同颜色的点(小圆圈)代表了不同的聚类中心(视觉词汇),相同颜色的点代表特征点比较近似,在对同一个建筑物的不同角度进行拍摄后,需要判断不同角度拍摄得到的物体是否为同一个建筑物,按照分配到相同聚类中心的特征点相似的原理,仅需要比对相同颜色的特征点是否位置一致即可,以提高检索速度。

首先,按照如图4所示的粗检索离线阶段流程,计算每一张照片的第一分配信息、二值化特征点和第一全局特征,并加入图像库中。

然后,当用户在现场参观场景a的时候,会拍摄一张照片,该拍摄的照片会先通过如图5所示的粗检索在线阶段,寻找在图像库中相匹配的top5张照片,然后通过如图6所示的精确检索阶段,得到top1张照片。

在一些ar眼镜应用场合中,若用户拍摄的照片和预先存储在该场景a的10张照片中的1张匹配时,则认为用户目前识别的为场景a,播放与该场景a一致的ar信息(例如视频、图片或者语音)。

在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,获取待检索图像和多个待匹配图像的特征点以及特征点所属的类别;

s2,对每个类别中待匹配图像的特征点和待检索图像的特征点进行特征匹配,得到匹配特征点对;

s3,确定各待匹配图像与待检索图像匹配的匹配特征点对的数目;

s4,确定匹配特征点对的数目最多的待匹配图像为待检索图像的检索结果。

需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。

此外,结合上述实施例中提供的图像检索方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种图像检索方法。

应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。

显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。

“实施例”一词在本申请中指的是结合实施例描述的具体特征点、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

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