一种图像检索方法

文档序号:6603913阅读:196来源:国知局
专利名称:一种图像检索方法
技术领域
本发明涉及一种图像检索方法,特别涉及一种在图像数据库中基于特征点提取的 无指导图像检索方法。
背景技术
随着计算机技术和多媒体技术等的飞速发展,人们获取数字图像的途径越来越 多,获取数字图像的能力也越来越强。大量图片的获取和存储,使得对图片库进行有效的管 理成为难题。其中,在给定待检索图片的情况下,如何快速、准确地从图像库中找到用户想 要的图片是最基本却最常用的问题之一。解决这个问题的有效手段便是图像检索技术。常 用的图像检索技术是主要可分为基于文本的和基于内容的二种。其中,基于文本的图像检 索技术通常通过在对比图像库中各图像的特征描述与待检索图片特征描述来查找符合要 求的图像。这种技术存在二个明显不足首先,图像特征描述的复杂性使得对大量图片进行 特征描述成为一种异常繁琐的工作。其次,图像特征描述的主观性使得描述与图片内容具 有一定的不一致性,必然导致检索结果中存在大量不相关的结果。基于内容的图像检索技 术主要是对图像本身的各种特征进行分析和检索的技术。目前常用的图像特征有颜色、纹 理和形状等。但基于颜色直方图的检索方法过于依赖图像的颜色,使得检索结果的精度不 高。而基于纹理或形状的检索方法存在分析和描述困难的问题,使得检索的精度和效率也 都不够好。还有些图像检索方法采用了半监督的反馈技术,通过与用户的交互来改善检索 的结果,直到用户满意。这种方法通常会给用户带来较大的负担和时间开销。

发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种图像检 索方法。技术方案本发明公开了一种图像检索方法,包括训练和检索两个部分;所述训练部分包括以下步骤步骤1,特征点的提取对待检索的图像数据库中的每一幅图像进行特征点的检 测和描述,得到一组特征点集;特征点集中每一个特征点包含点在图像中的位置坐标和 一个128维的描述子矢量;步骤2,特征点的补充和匹配关系的确定对基于同一场景的各图像的特征点集 进行补充,并找到同一场景中不同图像特征点间的匹配关系,具有匹配关系的点对应不同 图像中的同一物理点;步骤3,同类点集的生成将所述在不同图像中且对应同一场景的同一物理点的 特征点放入一个同类特征点集中;步骤4,特征点集聚类对同类特征点集的描述子矢量进行聚类,并确定各个聚类 中心;步骤5,图像数据库中每幅图像特征矢量的生成确定每幅图像特征点集的描述
5子矢量所属的聚类,统计各个聚类的频数,根据所述频数生成一个长度为聚类数的特征矢 量;所述步骤2具体包括以下步骤步骤21,在同一场景的所有图像点集中,对于N个属于同一场景的图像点集,选取 一个特征点最多的图像点集作为基准特征点集Na ;步骤22,对基准特征点集Na之外的每个图像特征点集队中的每个特征点Fp在基 准特征点集Na中求取该特征点&基于描述子矢量欧拉距离的最近邻特征点F/和次近邻 特征点F/’;将特征点&和基准特征点集队中的最近邻特征点F/的对应关系(FyF/ )作 为新的匹配关系加入特征点集队和基准特征点集队的匹配关系集中;再用特征点&与基 准特征点点集Na中的最近邻特征点F/及次近邻特征点F/’的描述子矢量欧拉距离的比值 阈值(本发明中一般设定比值阈值<0.8,当然也可以根据精度需求选取其他数值,一般范 围在<0.8士0. 2)过滤超出阈值范围的匹配关系;步骤23,对步骤22中得到的特征点集队和基准特征点集队的匹配关系集中各 匹配特征点对所对应的各坐标对,确定准确的匹配坐标子集和变换对应的线性映射关系矩 阵,其中,准确的匹配坐标是指匹配的坐标点所指示的不同图像上的位置对应物理上同一 物体或同一场景上的同一点;步骤24,对所述图像点集队中未匹配到的特征点G”使用所述线性映射矩阵计算 其在基准特征点集Na对应图像中的匹配坐标点。如果该匹配坐标超出图像大小,则表示在 基准特征点集Na对应的图像中找不到特征点&对应的匹配,否则计算匹配坐标的特征点描 述子矢量,形成新的特征点G/;如果求得的描述子矢量与当前图像点集队中的特征点&的 描述子矢量的欧拉距离小于设定的阈值(本发明中一般设定该阈值< 350.当然也可以根 据精度需求选取其他数值,一般范围在< 350士 10),则将所述新生成特征点Gi’点加入基 准特征点集Na中并将已知的图像点集M中的特征点&和新生成的特征点G/的对应关系 (&,G/ )作为新的匹配关系放入图像点集队和基准特征点集队的匹配关系集中,否则特 征点&的匹配特征点在基准特征点集队对应的图像中不存在,舍弃新的特征点G/ ;步骤25,对每个所述图像点集队中所有未匹配特征点返回执行步骤24,最后得到 基准特征点集Na基于特征点队补充后的特征点集Nai和更新的匹配关系集;步骤26,将所述基准特征点集Na基于特征点集&至特征点集队补充后的特征点 集Nal至特征点集Nai合并为最终基准特征点集Na’,并且使相似的特征点只保留一个在最终 基准特征点集Na’中;相似特征点通过二个条件来判定其一是两个特征点的沿x或y方向 的坐标差均不超过2个像素,其二是它们的描述子矢量距离小于指定的阈值(本发明中一 般设定该阈值< 50,当然也可以根据精度需求选取其他数值,一般范围在< 50士 10);将步 骤22至步骤25中得到的所述各图像特征点集队与原基准特征点集Na的匹配关系集更新 为各图像点集队与新的基准特征点集Na’的匹配关系集;步骤27,对在每个所述图像点集队中未找到匹配点的最终基准特征点集Na’中的 特征点Mp返回步骤24求得其在图像点集队对应图像中的对应坐标和相应的特征点描述 子矢量,生成新的特征点M/ ;将该特征点M/加入图像点集队并将它和新基准特征点集Na’ 中的特征点虬的对应关系(M/,M》保存到图像点集队和基准特征点集Na’的匹配关系集 中;
步骤28,基于步骤23至步骤27得到的匹配关系集,找到同一场景的几幅图像中对 应同一物理点的特征点,即同类点;如果经过步骤23至步骤27,最终基准特征点集Na’中的 特征点ma分别同图像点集队中的特征点叫匹配,即得到的匹配关系为OvnO,…,Ovp ma), (ma+1,ma),贝U nv m^, ma, ma+1,…为同类点,否贝U nv m^, ma, ma+1,...不为同 类占.所述步骤4具体包括以下步骤步骤41,计算各个同类点集的描述子矢量的质心向量^和其包含的点的个数叫;步骤42,对集合(Ci,m,)用加权的聚类方法进行聚类,确定各聚类的聚类中心;步骤43,设定质心为向量^的同类特征点所属聚类为质心向量(^所属聚类;步骤44,对图像数据库中的每幅图像计算其特征点所属各聚类的频数ni ;步骤45,计算每个聚类在图像数据库中出现的概率对数Wi,Wi = lr^N/X),其中N 为图像总数,Ni为当前聚类所出现的图像的个数;步骤46,对图像数据库中每幅图像,基于特征点所属聚类的频数ni和各聚类的概 率对数生成一个特征矢量并单位化;所述检索部分包括以下步骤步骤6,提取待检索图片的特征点,生成特征点集;步骤7,计算各个特征点描述子向量到各个聚类中心的距离,以最小距离确定当前 特征点所属聚类;步骤8,计算待检索图片的特征点所属各个聚类的频数ni ;步骤9,基于待检索图片的特征点所属聚类的频数ni和所述的各聚类的概率对数 w,生成一个特征矢量并单位化;步骤10,计算待检索图片的特征矢量到图片库各图像特征矢量的欧拉距离,选取 距离最小的图像输出为检索结果。本发明步骤1中,使用SIFT算法对图像进行特征点的检测和描述,得到图像的所 有特征点位置和描述子矢量。SIFT算法的具体内容可参见维基百科关于尺度不变特征转换 的阐述或作者David Lowe的原论文。本发明步骤23中利用随机采样一致性算法鲁棒地确定准确的匹配坐标子集和 变换对应的线性映射关系矩阵,具体步骤是首先随机地选取坐标对中选取的四对坐标点 ((x” yj), (x/ , y/ )), ((x2, y2), (x2,,y2' )), ((x3, y3), (x3,, y3' )), ((x4, y4), (x4,, y4')), 四对坐标在各自图像中的任三点都不处在同一条直线上。假设四对坐标点满足映射关系 H*[Xi,yi,l]T= [Xi’,yi’,l]T,其中H是3X3的系数矩阵,为待求解的线性映射矩阵;将上述 四对匹配坐标代入映射关系求解出矩阵H ;再将除上述四对坐标外的其他匹配坐标对一一 代入映射关系,确定是否符合当前矩阵H的映射关系;如果符合,标记为正确匹配;否则,标 记为错误匹配;重新选取四对坐标点,执行上述过程,得到一个新的线性映射矩阵H和对应 的匹配关系。如此循环n(n = 10)次,选出正确匹配对数目最多的线性映射矩阵H并保存 对应的正确的匹配关系。本发明步骤4中,使用加权k-means的聚类方法把同类特征点集的描述子矢量聚 成k类,其具体步骤是步骤42a,在所有的初始同类特征点集描述子质心矢量Ci的集合中随机选取一个矢量作为第一个聚类中心C1;步骤42b,在选取第i个聚类中心Q时,首先在初始质心矢量集合中随机 抽取m(本发明中可以选取m= 10,当然,也可以根据需求选择其他任意数量)个矢 量Xl,X2,…,xm,分别计算各个矢量到已选取聚类中心集合IA,C2,…,(VJ的最 小欧拉距离,再选择该最小距离中的最大值对应的抽取矢量为新的聚类中心Q ;即
其中 Ci 为最后确定的第 i 个聚类中心,xi,x2,…,
Xm为当前随机抽取的m个初始同类特征点集描述子的质心矢量,(^,(2,为已选取的 聚类中心;minj = i, ..., ^dist (xk, Cj)求取了随机抽取的质心矢量xk到各已选出的聚类中心 的最小距离,
选出质心矢量Xl,X2,…,Xm中到聚类中心 Q, C2,…,C^最小距离的最大者;步骤42c,重复步骤42b选取k个聚类中心;步骤42d,计算各初始同类特征点集描述子质心矢量到聚类中心的欧拉距离,以最 小距离确定当前质心矢量所属聚类;步骤42e,计算新生成的各聚类的质心矢量,假设当前的第i个聚类是矢量集 {(cn,wn), (ci2,wi2),,(、,、),…},则其质心计算公式为
中是初始同类特征点集质心矢量,WiJ是对应同类特征点集所包含特征点的个数;步骤42f,循环执行步骤42e直到计算出所有聚类的质心矢量C/,再将每个聚类 计算所得的质心矢量C/同对应聚类的中心Ci做比较,如果全部k个聚类的比较结果均相 等或聚类过程超过最大迭代次数,则聚类过程结束,否则以计算所得各聚类的质心矢量作 为对应聚类的中心重新执行步骤42d。有益效果本发明的显著优点是检索方法具有很好的效率并且检索结果具有很高 的精度。具体而言,本发明将分别从算法的精度和效率方面来阐述(1)算法的精度保证 尺度不变特征变换(Scale-invirant Feature Transform, SIFT)是一种图像局部特征的检 测和描述算法,其生成的描述子对图像的平移、旋转、缩放、亮度变化及噪声等都具有良好 的不变性,对视角的变换和仿射变换也具有一定程度的稳定性。一幅图像的SIFT特征点描 述子集合是对图像本质内容的缩略描述。不同内容的图像的SIFT特征描述子集合具有很 好的区分性。因此,SIFT被广泛应用于物体的识别、图像的匹配等实际应用中。本发明的 主要思想是将SIFT特征点提取方法应用到图像检索中,用以提高检索算法的精度。其基本 思想是先用SIFT算子对图像中的图像进行特征提取和描述,再对所有提取的特征点集进 行聚类,并基于得到的聚类为每幅图像和待检索图像计算一个特征矢量。最后比较待检索 图像和库中各图像的特征矢量,选出最后结果。在此基础上,为进一步提高精度,还着重解 决了二个问题1)由于需对大量的图片做统一的特征检测,SIFT算法的各项参数需统一取 值,因此在检测过程中各图像必然存在不同程度的特征点缺失。2)对于同一场景的不同图 像的特征点集合,必存在一些物理上属于同一点的同类点。由于受到特征描述和聚类算法 等误差的影响,这些同类点在聚类完成后,可能属于不同的聚类。以上二点都必然对检索结 果的正确性产生影响。本发明的解决办法是1)在对图像数据库的特征点提取完成后,本 发明用随机采样一致性(RANdom SAmple Consensus, RANSAC)算法找出了同一场景不同图 像之间的变换关系。基于该变换关系,对各图像的特征点集进行了补充,并找出了属于物理上同一点的同类点。2)本发明采用了基于点集的聚类方法,保证了所有的同类点在聚类之 后都属于同一个聚类。(2)算法的效率保证本发明包括二个阶段训练和检索。训练阶段 主要是对图像数据库中的图片作一次性的预处理。这一阶段可作为离线操作而不增加真正 的检索时间。真正的检索只发生在检索阶段。在此阶段,本发明将只对待检索图片(结合 训练阶段的结果)作处理。因此,本发明能更好地保证检索的效率,满足实时响应的需求。


下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述和 /或其他方面的优点将会变得更加清楚。图1为本发明方法的基本流程图。图2为本发明所述SIFT特征点的补充和同类点集的生成流程图。图3为图像数据库各图像特征矢量生成流程图。
具体实施例方式如图1所示,在训练阶段,首先对给定的图像数据库中的每一幅图像用实现的 SIFT算法进行特征点的检测和描述,得到一组特征点集。每一个特征点将包含以下信息 点在图像中的位置坐标、所描述区域的尺度、所描述区域的主梯度方向和描述子矢量。对每 一张图像,基于其相同场景的其他图像补充特征点并生成同类点集,如图2所示。再基于同 类点集进行聚类并确定所有特征点所属聚类,统计每幅图像所属各聚类的频数进而形成图 像的特征矢量,如图3的流程。在检索阶段,首先对待检索图片用SIFT算法提取特征点,得 到一组特征点集。对每个特征点求取其描述子向量与训练阶段生成的各聚类中的欧拉距 离,选取距离最小的聚类作为当前特征点所属聚类。统计每个聚类包含的特征点的个数rv 结合训练阶段得到的各聚类的概率对数Wi,生成待检索图像的特征矢量,具体为[nlWl,…, niWi,…]。为了保证检索结果不受各图像具体特征点个数的影响,需对特征矢量进行单位 化。即最后的特征矢量为[nlWl/E niWi,…,niWi/E niWi,…]。最后计算该特征矢量与 图像数据库各图像特征矢量的欧拉距离,选取其中最小的一幅或几幅作为检索结果。具体地说,如图1所示,本发明公开了一种图像检索方法,包括训练和检索两个部 分;所述训练部分包括以下步骤步骤1,特征点的提取对图像数据库中的每一幅图像进行特征点的检测和描述, 得到一组特征点集;特征点集中每一个特征点包含点在图像中的位置坐标和一个128维 的描述子矢量;步骤2,特征点的补充和匹配关系的确定对基于同一场景的各图像的特征点集 进行补充,并找到同一场景中不同图像特征点间的匹配关系,具有匹配关系的点对应不同 图像中的同一物理点;步骤3,同类点集的生成将所述在不同图像中且对应同一场景的同一物理点的 特征点放入一个同类特征点集中;步骤4,特征点集聚类对同类特征点集的描述子矢量进行聚类,并确定各个聚类 中心;
步骤5,图像数据库中每幅图像特征矢量的生成确定每幅图像特征点集的描述 子矢量所属的聚类,统计各个聚类的频数,根据所述频数生成一个长度为聚类数的特征矢 量;如图2所示,所述步骤2具体包括以下步骤步骤21,在同一场景的所有图像点集中,对于N个属于同一场景的图像点集,选取 一个特征点最多的图像点集作为基准特征点集Na ;步骤22,对基准特征点集Na之外的每个图像特征点集队中的每个特征点&,在基 准特征点集Na中求取该特征点&基于描述子矢量欧拉距离的最近邻特征点F/和次近邻 特征点F/’;将特征点&和基准特征点集队中的最近邻特征点F/的对应关系(FyF/ )作 为新的匹配关系加入特征点集队和基准特征点集队的匹配关系集中;再用该特征点&与 基准特征点点集队中的最近邻特征点F/和次近邻特征点F/’的描述子矢量欧拉距离的比 值阈值过滤超出阈值范围的匹配关系;步骤23,对步骤22中得到的特征点集队和基准特征点集Na的匹配关系集中各 匹配特征点对所对应的各坐标对,确定准确的匹配坐标子集和变换对应的线性映射关系矩 阵,其中,准确的匹配坐标是指匹配的坐标点所指示的不同图像上的位置对应物理上同一 物体或同一场景上的同一点;步骤24,对所述图像点集队中每一个未匹配到的特征点G”使用所述线性映射矩 阵计算其在基准特征点集Na对应图像中的匹配坐标点。如果该匹配坐标超出图像大小,则 表示在基准特征点集Na对应的图像中找不到特征点&对应的匹配,否则计算匹配坐标的特 征点描述子矢量,形成新的特征点G/;如果求得的描述子矢量与当前图像点集队中的特征 点&的描述子矢量的欧拉距离小于设定的阈值,则将所述新生成特征点G/点加入基准特 征点集Na中并将已知的图像点集队中的特征点&和新生成的特征点G/的对应关系(Gp G/ )作为新的匹配关系放入图像点集队和基准特征点集队的匹配关系集中,否则特征点 &的匹配特征点在基准特征点集队对应的图像中不存在,舍弃新的特征点G/ ;步骤25,对每个所述图像点集队中所有未匹配特征点返回执行步骤24,最后得到 基准特征点集Na基于特征点队补充后的特征点集Nai和更新的匹配关系集;步骤26,将所述基准特征点集Na基于特征点集&至特征点集队补充后的特征点 集Nal至特征点集Nai合并为最终基准特征点集Na’,并且使相似的特征点只保留一个在最终 基准特征点集Na’中;相似特征点通过特征点的坐标差阈值和描述子矢量的距离小于设定 的阈值来判定;将步骤22 步骤25中得到的所述各图像特征点集队与原基准特征点集Na 的匹配关系集更新为各图像点集队与新的基准特征点集Na’的匹配关系集;步骤27,对在每个所述图像点集队中未找到匹配点的最终基准特征点集Na’中的 特征点Mp返回步骤24求得其在图像点集队对应图像中的对应坐标和相应的特征点描述 子矢量,生成新的特征点M/ ;将该特征点M/加入图像点集队并将它和新基准特征点集Na’ 中的特征点虬的对应关系(MyM/ )保存到图像点集队和基准特征点集Na’的匹配关系集 中;步骤28,基于步骤23 步骤27得到的匹配关系集,找到同一场景的几幅图像中对 应同一物理点的特征点,即同类点;如果经过步骤23 步骤27,最终基准特征点集Na’中的 特征点ma分别同图像点集队中的特征点叫匹配,即得到的匹配关系为OvnO,…,Ovp
10ma), (ma+1,ma),贝U nv m^, ma, ma+1,…为同类点,否贝U nv m^, ma, ma+1,...不为同 类占.如图3所示,所述步骤4具体包括以下步骤步骤41,计算各个同类点集的描述子矢量的质心向量^和其包含的点的个数% ;步骤42,对集合(Ci,mi)用加权的聚类方法进行聚类,确定各聚类的聚类中心;步骤43,设定质心为向量^的同类特征点所属聚类为质心向量(^所属聚类;步骤44,对图像数据库中的每幅图像计算其特征点所属各聚类的频数ni ;步骤45,计算每个聚类在图像数据库中出现的概率对数Wi,Wi = lr^N/X),其中N 为图像总数,Ni为当前聚类所出现的图像的个数;步骤46,对图像数据库中每幅图像,基于特征点所属聚类的频数ni和各聚类的概 率对数生成一个特征矢量并单位化;所述检索部分包括以下步骤步骤6,提取待检索图片的特征点,生成特征点集;步骤7,计算各个特征点描述子向量到各个聚类中心的距离,以最小距离确定当前 特征点所属聚类;步骤8,计算待检索图片的特征点所属各个聚类的频数^步骤9,基于待检索图片的特征点所属聚类的频数ni和所述的各聚类的概率对数 w,生成一个特征矢量并单位化;步骤10,计算待检索图片的特征矢量到图片库各图像特征矢量的欧拉距离,选取 距离最小的图像输出为检索结果。本发明步骤1中,使用SIFT算法对图像进行特征点的检测和描述,得到图像的所 有特征点位置和描述子矢量。本发明步骤23中利用随机采样一致性算法鲁棒地确定准确的匹配坐标子集和 变换对应的线性映射关系矩阵,具体步骤是首先随机地选取坐标对中选取的四对坐标点 ((x” yj), (x/ , y/ )), ((x2, y2), (x2,,y2' )), ((x3, y3), (x3,, y3' )), ((x4, y4), (x4,, y4')), 四对坐标在各自图像中的任三点都不处在同一条直线上。假设四对坐标点满足映射关系 H*[Xi,yi,l]T= [Xi’,yi’,l]T,其中H是3X3的系数矩阵,为待求解的线性映射矩阵;将上述 四对匹配坐标代入映射关系求解出矩阵H ;再将除上述四对坐标外的其他匹配坐标对一一 代入映射关系,确定是否符合当前矩阵H的映射关系;如果符合,标记为正确匹配;否则,标 记为错误匹配;重新选取四对坐标点,执行上述过程,得到一个新的线性映射矩阵H和对应 的匹配关系。如此循环n(n = 10)次,选出正确匹配对数目最多的线性映射矩阵H并保存 对应的正确的匹配关系。本发明步骤4中,使用加权k-means的聚类方法把同类特征点集的描述子矢量聚 成k类,其具体步骤是步骤42a,在所有的初始同类特征点集描述子质心矢量Ci的集合中随机选取一个 矢量作为第一个聚类中心C1;步骤42b,在选取第i个聚类中心Q时,首先在初始质心矢量集合中随机抽取 m个矢量Xl,x2,…,xm,分别计算各个矢量到已选取聚类中心集合IA,C2,…,(VJ的 最小欧拉距离,再选择该最小距离中的最大值对应的抽取矢量为新的聚类中心Q ;即Ci=argmaxXi,...,Xmminj=1,..,i_1dist(xk,Cj),其中 Ci 为最后确定的第 i 个聚类中心,xi,x2,…,
xm为当前随机抽取的m个初始同类特征点集描述子的质心矢量,(^,(2,为已选取的 聚类中心;mirijM,...^ dist(xk,CJ)求取了随机抽取的质心矢量xk到各已选出的聚类中心 的最小距离,argmaxx,,. ■ .’Xm j=l,. ■ .,i一1
disKx^Cj)选出质心矢量Xl,X2,…,Xm中到聚类中心
Q, c2,…,c^最小距离的最大者;步骤42c,重复步骤42b选取k个聚类中心;步骤42d,计算各初始同类特征点集描述子质心矢量到聚类中心的欧拉距离,以最 小距离确定当前质心矢量所属聚类;步骤42e,计算新生成的各聚类的质心矢量,假设当前的第i个聚类是矢量集 {(cn,Wn) , (ci2, wi2),…,(Cij, Wij) , ...},则其质心计算公式为 C/ =E jCij^Wij/ E jWij,其 中是初始同类特征点集质心矢量,WiJ是对应同类特征点集所包含特征点的个数;步骤42f,循环执行步骤42e直到计算出所有聚类的质心矢量C/,再将每个聚类 计算所得的质心矢量C/同对应聚类的中心Q做比较,如果全部k个聚类的比较结果均相 等或聚类过程超过最大迭代次数,则聚类过程结束,否则以计算所得各聚类的质心矢量作 为对应聚类的中心重新执行步骤42d。实施例图2以三幅同一场景的不同图像为例,给出了对图像数据库中各图像初始特征点 集进行补充以及生成同类点集的流程。步骤20是初始动作。步骤21选取了特征点最多的 点集C作为匹配的基准特征点集。步骤22对特征点集A中的每一个特征点求其在基准特 征点集C中基于描述子矢量欧拉距离的最近邻匹配,得到初始匹配集,并用最近邻和次紧 邻的比率阈值(0.8)过滤掉大于阈值的匹配关系。步骤23对经22的得到的匹配点集的所 有坐标对,利用RANSAC算法鲁棒地确定其准确的坐标匹配子集和变换对应的线性映射关 系矩阵。RANSAC的执行过程是每次随机地在初始匹配对中选取4对坐标点,要求这4对坐 标在特征点集A和C对应的图像中的点都不在同一条直线上。求解出符合这4个匹配关系 的线性映射矩阵。将其它坐标匹配对代入并查看其是否具有当前的线性映射矩阵的映射关 系。如果有,标记为正确匹配。否则,标记为错误匹配。循环地执行上述过程多次,选出正 确匹配对最多的线性映射矩阵MAc并保存正确的匹配关系。步骤24a首先选取一个特征点 集A中未正确匹配的特征点,用MAe计算其在基准特征点集C对应图像中的坐标点。如果该 坐标超出了特征点集C对应图像的范围,则表示该失配特征点在特征点集C对应的图像中 没有匹配点,在特征点集A中选取下一个未处理的失配特征点返回步骤24a进行处理。否 则,在求得的匹配坐标处用SIFT求得对应的描述子矢量并判断该描述子矢量与当前A中的 特征点描述子矢量的欧拉距离是否小于设定的阈值350。如果是,则进行步骤24b将该新 生成的特征点加入特征点集C中并将当前匹配关系放入匹配集。否则同样表示该失配特征 点在特征点集C对应的图像中不存在匹配点。处理完当前失配特征点后,继续在特征点集 A中选取下一个未处理的失配特征点返回步骤24a处理。当对特征点集A中所有失配特征 点进行完上述过程后,步骤24b中得到了补充后的基准特征点集C’,和新的匹配集。同样 的方法,步骤25a 25e获得了补充后的特征点集C’B和对应的匹配集。步骤2f将特征点 C’ A和特征点集C’ B合并为最终基准特征点集C’,并保证相似的特征点只保留一个在最终 基准特征点C’中。相似特征点通过二个条件来判定其一是两个特征点的沿x或y方向的坐标差均不超过2,其二是它们的描述子矢量距离小于指定的阈值50。步骤27a,27b分别 对基准特征点集C’中尚未在特征点集A、B中找到匹配的点,生成新的匹配点用于补充A和 B,方法同步骤24。步骤28基于以上得到的所有的匹配关系找到同一场景的几幅图像中对 应同一物理点的特征点,并把它们放入一个同类特征点集中。具体地,假设a、b、c分别是特 征点集A、B、C中的三个特征点。现确定他们的匹配关系为化与(匹配,b与c也匹配。那 么,可将a、b、c视为同类点并放入一个同类点集中。步骤29是图2的结束步骤。图3给出了图像数据库中各图像的特征矢量的生成流程图。步骤40为初始动作。 步骤41计算了各个同类点集的描述子矢量的质心向量Ci和其包含的点的个数% ;步骤42 对集合(c” m,)用加权k-means的聚类方法进行聚类。所述加权k-平均聚类方法的具体 过程是(42a)在所有的初始矢量Ci的集合中随机选取一个矢量作为第一个聚类中心q ; (42b)在选取第i个聚类中心Q时,首先在初始矢量Ci集合中随机抽取m(m= 10)个矢量 Xl,X2,…,Xm,分别计算它们到集合{A,C2,的最小欧拉距离,再选择该最小距离中 的最大值对应的抽取矢量为新的聚类中心C”即fpargmax》,...,Xm minj=1 .^distCx^Cj); (42c)重复(42b)选取k个聚类中心;(42d)计算各初始矢量到聚类中心的欧拉距离,以最 小距离确定当前质心矢量所属聚类;(42e)计算新生成的各聚类的质心矢量作为新的聚类 中心。由于初始矢量(^是有权值的,因此质心的计算需将权值考虑在内。假设当前的第 i个聚类是矢量集Kcn,wn),(ci2, wi2),…,(CiJ, WiJ),…},则其质心计算公式为C/ = E jc.j^j/ E jWiJO (42f)循环执行步骤(42e)直到计算出所有聚类的质心矢量C/,再将 每个聚类计算所得的质心矢量C/同对应聚类的中心Q做比较,如果全部k个聚类的比较 结果均相等或聚类过程超过最大迭代次数,则聚类过程结束,执行步骤42g,否则以计算所 得各聚类的质心矢量作为对应聚类的中心重新执行步骤42d ; (42g)聚类结束;步骤43设 定质心为Q的同类特征点所属聚类为Q所属聚类;步骤44对图像数据库中的每幅图像计 算其特征点所属各聚类的频数1^ ;步骤45计算每个聚类在图像数据库中出现的概率对数Wi =ln(N/Ni),其中N为图像总数,队为当前聚类所出现的图像的个数;步骤46对计算图像 数据库中每幅图像,基于其特征点所属聚类的频数和各聚类的概率对数生成一个特征矢量 并单位化,具体为[nlWl/ E niWi,…,niWi/ E niWi,…];步骤47是流程的结束步骤。表1给出了用本发明的方法进行相关测试的结果。用于测试的硬件环境是 Intel-Core2Duo 2. 93GHz 3G 内存。软件环境是 Visual Studio2005 和 Window XP。本发 明用C++语言实现了本发明提出的方法。测试图像来源于University of Kentucky的 Uft^MM^M^fu^^ (Center for Visualization and Virtual Environments)白勺 RecognitionBenchmark Images0本发明从中抽取了 2组数据进行了测试,分别包含400张 和1112张图片。各组数据中,每4张图片是关于同一场景的。本发明分别选取其中3张用 于形成图像数据库的训练,另外1张用于检索测试。因此每组数据均分为训练和检索二部 分,数据量比率为3 1。在进行检索测试时,每幅图像最多有3幅相同场景的正确检索结 果。本发明通过返回结果的正确率来判断算法的好坏。表中“第一返回正确率”指的是第一 张检索结果图像的正确率。“第一、二返回正确率”表示头二张返回结果均正确的概率。“第 一、二、三返回正确率”表示头三张返回结果均正确的概率。将本发明的方法同只用k-平均 聚类的方法(即没有特征点补充和加权k-平均)进行了对比。由图可见,本发明的方法具 有很高的检索精度。在检索效率方面,当给定一幅待检索图像后,本发明的方法能在1秒内给出结果,保证了搜索的实时性。表 1 本发明提供了一种图像检索方法的思路及方法,具体实现该技术方案的方法和途 径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视 为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
权利要求
一种图像检索方法,其特征在于,包括训练和检索两个部分;所述训练部分包括以下步骤步骤1,特征点的提取对图像数据库中的每一幅图像进行特征点的检测和描述,得到一组特征点集;特征点集中每一个特征点包含点在图像中的位置坐标和一个128维的描述子矢量;步骤2,特征点的补充和匹配关系的确定对基于同一场景的各图像的特征点集进行补充,并找到同一场景中不同图像特征点间的匹配关系,具有匹配关系的点对应不同图像中的同一物理点;步骤3,同类点集的生成将所述在不同图像中且对应同一场景的同一物理点的特征点放入一个同类特征点集中;步骤4,特征点集聚类对同类特征点集的描述子矢量进行聚类,并确定各个聚类中心;步骤5,图像数据库中每幅图像特征矢量的生成确定每幅图像特征点集的描述子矢量所属的聚类,统计各个聚类的频数,根据所述频数生成一个长度为聚类数的特征矢量;所述步骤2具体包括以下步骤步骤21,在同一场景的所有图像点集中,对于N个属于同一场景的图像点集,选取一个特征点最多的图像点集作为基准特征点集Na;步骤22,对基准特征点集Na之外的每个图像特征点集Ni中的每个特征点Fi,在基准特征点集Na中求取该特征点Fi基于描述子矢量欧拉距离的最近邻特征点Fi’和次近邻特征点Fi”;将特征点Fi和基准特征点集Na中的最近邻特征点Fi’的对应关系(Fi,Fi’)作为新的匹配关系加入特征点集Ni和基准特征点集Na的匹配关系集中;并用特征点Fi与基准特征点点集Na中的最近邻特征点Fi’及次近邻特征点Fi”的描述子矢量欧拉距离的比值阈值过滤超出阈值范围的匹配关系;步骤23,对步骤22中得到的特征点集Ni和基准特征点集Na的匹配关系集中各匹配特征点对所对应的各坐标对,确定匹配坐标子集和对应的线性映射关系矩阵,匹配坐标指匹配的坐标点所指示的不同图像上的位置对应物理上同一物体或同一场景上的同一点;步骤24,对所述图像点集Ni中每一个未匹配到的特征点Gi,使用所述线性映射矩阵计算其在基准特征点集Na对应图像中的匹配坐标点,如果该匹配坐标超出图像大小,则表示在基准特征点集Na对应的图像中找不到特征点Gi对应的匹配,否则计算匹配坐标的特征点描述子矢量,形成新的特征点Gi’;如果所述新的特征点Gi’的描述子矢量与特征点Gi的描述子矢量的欧拉距离小于设定的阈值,则将所述新的特征点Gi’点加入基准特征点集Na中并将已知的图像点集Ni中的特征点Gi和新的特征点Gi’的对应关系(Gi,Gi’)作为新的匹配关系放入图像点集Ni和基准特征点集Na的匹配关系集中,否则特征点Gi的匹配特征点在基准特征点集Na对应的图像中不存在,舍弃新的特征点Gi’;步骤25,对每个所述图像点集Ni中所有未匹配特征点返回执行步骤24,得到基准特征点集Na基于特征点Ni补充后的特征点集Nai和更新的匹配关系集;步骤26,将所述基准特征点集Na基于特征点集N1至特征点集Ni补充后的特征点集Na1至特征点集Nai合并为最终基准特征点集Na’,并且使相似的特征点只保留一个在最终基准特征点集Na’中;相似特征点通过特征点的坐标差阈值和描述子矢量的距离小于设定的阈值来判定;将步骤22至步骤25中得到的所述各图像特征点集Ni与原基准特征点集Na的匹配关系集更新为各图像点集Ni与新的基准特征点集Na’的匹配关系集;步骤27,对在每个所述图像点集Ni中未找到匹配点的最终基准特征点集Na’中的特征点Mi,返回步骤24求得其在图像点集Ni对应图像中的对应坐标和相应的特征点描述子矢量,生成新的特征点Mi’;将该特征点Mi’加入图像点集Ni并将它和新基准特征点集Na’中的特征点Mi的对应关系(Mi’,Mi)保存到图像点集Ni和基准特征点集Na’的匹配关系集中;步骤28,基于步骤23至步骤27得到的匹配关系集,找到同一场景的几幅图像中对应同一物理点的特征点,即同类点;如果经过步骤23至步骤27,基准特征点集Na’中的特征点ma分别同图像点集Ni中的特征点mi匹配,即得到的匹配关系为(m1,ma),…,(ma-1,ma),(ma+1,ma)…,则m1,…,ma-1,ma,ma+1,…为同类点,否则m1,…,ma-1,ma,ma+1,…不为同类点;所述步骤4具体包括以下步骤步骤41,计算各个同类点集的描述子矢量的质心向量ci和其包含的点的个数mi;步骤42,对集合(ci,mi)用加权的聚类方法进行聚类,确定各聚类的聚类中心;步骤43,设定质心为向量ci的同类特征点所属聚类为质心向量ci所属聚类;步骤44,对图像数据库中的每幅图像计算其特征点所属各聚类的频数ni;步骤45,计算每个聚类在图像数据库中出现的概率对数wi,wi=ln(N/Ni),其中N为图像总数,Ni为当前聚类所出现的图像的个数;步骤46,对图像数据库中每幅图像,基于特征点所属聚类的频数ni和各聚类的概率对数wi生成一个特征矢量并单位化;所述检索部分包括以下步骤步骤6,提取待检索图片的特征点,生成特征点集;步骤7,计算各个特征点描述子向量到各个聚类中心的距离,以最小距离确定当前特征点所属聚类;步骤8,计算待检索图片的特征点所属各个聚类的频数ni;步骤9,基于待检索图片的特征点所属聚类的频数ni和所述的各聚类的概率对数wi生成一个特征矢量并单位化;步骤10,计算待检索图片的特征矢量到图片库各图像特征矢量的欧拉距离,选取距离最小的图像输出为检索结果。
2.根据权利要求1所述的一种图像检索方法,其特征在于,步骤1中,使用SIFT算法对 图像进行特征点的检测和描述,得到图像的所有特征点位置和描述子矢量。
3.根据权利要求1所述的一种图像检索方法,其特征在于,步骤23中利用随机采样一 致性算法确定匹配坐标子集和对应的线性映射关系矩阵,包括以下步骤首先随机地选取 坐标对中选取的四对坐标点,四对坐标在各自图像中的任三点都不处在同一条直线上;如 果四对坐标点满足线性映射关系,则求出对应的线性映射矩阵H;再将除上述四对坐标外 的其他匹配坐标对一一代入线性映射关系,确定是否符合当前矩阵的线性映射关系;如果 符合,则标记为正确匹配;否则,标记为错误匹配;不断重新选取四对坐标点,执行上述过 程,求出每个新的线性映射矩阵和对应的匹配关系;选出正确匹配对数目最多的线性映射 矩阵H,并保存该线性映射矩阵对应的匹配关系。
4.根据权利要求1所述的一种图像检索方法,其特征在于,步骤4中,使用加权k-means的聚类方法把同类特征点集的描述子矢量聚成k类,其具体步骤是步骤42a,在所有的初始同类特征点集描述子质心矢量Ci的集合中随机选取一个矢量 作为第一个聚类中心C1;步骤42b,在选取第i个聚类中心Q时,首先在初始质心矢量集合中随机抽取m个 矢量Xl,X2,…,xm,分别计算各个矢量到已选取聚类中心集合IA,C2,…,Cg}的最 小欧拉距离,再选择该最小距离中的最大值对应的抽取矢量为新的聚类中心Q ;即 C;= argmaxX) Xm minj=i,...,i-i dist(xk,Cj),其中Ci为最后确定的第i个聚类中心,Xl,X2,…, xm为当前随机抽取的m个初始同类特征点集描述子的质心矢量,(^,(2,为已选取的 聚类中心;minj = i, ..., ^dist (xk, Cj)求取了随机抽取的质心矢量xk到各已选出的聚类中心 的最小距离,minj = 1, ..ndistO^Cj)选出质心矢量xi,x2,…,xm中到聚类中心CpQ,…, Ch最小距离的最大者;步骤42c,重复步骤42b选取k个聚类中心;步骤42d,计算各初始同类特征点集描述子质心矢量到聚类中心的欧拉距离,以最小距 离确定当前质心矢量所属聚类;步骤42e,计算新生成的各聚类的质心矢量,假设当前的第i个聚类是矢量集{(cn, Wn),(Ci2,Wi2),…,(CiJ, WiJ),…},则其质心计算公式为 ,其中CiJ 是初始同类特征点集质心矢量,WiJ是对应同类特征点集所包含特征点的个数;步骤42f,循环执行步骤42e直到计算出所有聚类的质心矢量C/,再将每个聚类计算 所得的质心矢量C/同对应聚类的中心Q做比较,如果全部k个聚类的比较结果均相等或 聚类过程超过最大迭代次数,则聚类过程结束,否则以计算所得各聚类的质心矢量作为对 应聚类的中心重新执行步骤42d。
全文摘要
本发明公开了一种图像检索方法,包括训练和检索两个部分;所述训练部分包括以下步骤特征点的提取;特征点的补充和匹配关系的确定;同类点集的生成;特征点集聚类;图像数据库中每幅图像特征矢量的生成;所述检索部分包括以下步骤提取待检索图片的特征点,生成特征点集;计算各个特征点描述子向量到各个聚类中心的距离,以最小距离确定当前特征点所属聚类;计算待检索图片的特征点所属各个聚类的频数ni;基于待检索图片的特征点所属聚类的频数ni和所述的各聚类的概率对数wi生成一个特征矢量并单位化;计算待检索图片的特征矢量到图片库各图像特征矢量的欧拉距离,选取距离最小的图像输出为检索结果。
文档编号G06F17/30GK101859326SQ201010195710
公开日2010年10月13日 申请日期2010年6月9日 优先权日2010年6月9日
发明者汪粼波, 郭延文 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1