一种多幅影像间的快速相似度计算方法技术

技术编号:15504907 阅读:41 留言:0更新日期:2017-06-04 00:41
本发明专利技术公开了一种多幅影像间的快速相似度计算方法,输入:影像集合p={image

A method of fast similarity calculation between multiple images

The invention discloses a method for fast similarity calculation between multiple images. Input: image set P = {image;

【技术实现步骤摘要】
一种多幅影像间的快速相似度计算方法
本专利技术涉及影像处理
,具体地说,涉及一种多幅影像间的快速相似度计算方法。
技术介绍
高分辨率影像在进行特征提取之后,需要通过特征匹配来建立相似关系,并计算相似度。计算相似度的算法如果性能不高,会严重影响建立在此技术路线之上的应用。如果是多张影像两两计算,性能更差。现有的算法,当影像的特征点个数在1000以内时,相似度的计算性能基本没问题。但当特征点数目急剧增加时,性能就会陡降。因为计算和特征点个数的关系,是指数相关。
技术实现思路
本专利技术的目的在于克服上述技术存在的缺陷,提供一种多幅影像间的快速相似度计算方法,该方法可以在sift特征点匹配的基础上,快速的计算出多张影像之间的相似度,提供O(k2n2)复杂性的算法,k是常量,n是影像个数。其具体技术方案为:一种多幅影像间的快速相似度计算方法,包括以下步骤:输入:影像集合p={imagei},i=1,2...n,f={featurei},i=1,2...m;输出:影像两两相似度矩阵Sim[pi,pj];步骤1computeTrack():计算每一个影像的SIFT特征点的idf;步骤2构造K个hash函数;步骤3对所有影像进行K次哈希求值;步骤4foreachimageiandimagej;步骤5Sim[pi,pj]=imagei和imagej之间的相似度sim(pi,pj);步骤6endfor。进一步,步骤1中computeTrack()计算每一个影像的SIFT特征点的idf倒排索引,输出的就是各个特征点在各个影像上的分布情况的稀疏矩阵。进一步,步骤2中构造K个hash函数,此处定义K=50,哈希函数是单向映射函数,选择标准较为宽泛,只要能够从[0..R-1]映射到[0..R-1]即能采用,主要的目标就是均匀的覆盖所有值域区间。利用哈希函数生成器,指定映射的范围,能方便生成指定数目的哈希函数。进一步,步骤3中哈希求值:使用这K个hash函数,对每个影像中的每个特征点进行哈希求值,记为h(featurei),i=1,2...m。每个影像imagei都得到K个hmink(imagei),hmink(imagei)是影像imagei中的特征点元素经过hash函数变换后,具有最小哈希值的特征点元素featurei,此时每个影像维度为K,比原有的影像上特征点维度n大大降低了。进一步,步骤4中影像imagei和影像imagej之间的相似度计算,采用如下公式:sim(pi,pj)=|hmink(imagei)∩hmink(imagej)|/hmink(imagei)∪hmink(imagei)即在K个最小哈希值中求出交集和并集之比,即为两个影像的相似度。与现有技术相比,本专利技术的有益效果为:本专利技术可以在sift特征点匹配的基础上,快速的计算出多张影像之间的相似度,提供O(k2n2)复杂性的算法,k是常量,n是影像个数。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实例进一步阐述本专利技术。输入:影像集合p={imagei},i=1,2...n,f={featurei},i=1,2...m;输出:影像两两相似度矩阵Sim[pi,pj];1computeTrack():计算每一个影像的SIFT特征点的idf;2构造K个hash函数;3对所有影像进行K次哈希求值;4foreachimageiandimagej;5Sim[pi,pj]=imagei和imagej之间的相似度sim(pi,pj);6endfor。对上述算法进行说明如下:1)computeTrack()计算每一个影像的SIFT特征点的idf(倒排索引),输出的就是各个特征点在各个影像上的分布情况的稀疏矩阵。2)构造K个hash函数,此处定义K=50。因为哈希函数是单向映射函数,所以选择标准较为宽泛,只要能够从[0..R-1]映射到[0..R-1]即可采用,主要的目标就是均匀的覆盖所有值域区间。利用哈希函数生成器,指定映射的范围,可以方便生成指定数目的哈希函数。3)哈希求值:使用这K个hash函数,对每个影像中的每个特征点进行哈希求值(每个特征点包含的信息有对应的影像序列,像点坐标),记为h(featurei),i=1,2...m。每个影像imagei都得到K个hmink(imagei),hmink(imagei)是影像imagei中的特征点元素经过hash函数变换后,具有最小哈希值的特征点元素featurei。此时每个影像维度为K,比原有的影像上特征点维度n大大降低了。4)影像imagei和影像imagej之间的相似度计算,采用如下公式:sim(pi,pj)=|hmink(imagei)∩hmink(imagej)|/hmink(imagei)∪hmink(imagei)即在K个最小哈希值中求出交集和并集之比,即为两个影像的相似度。实际上直接利用Jacarrd距离算出两个影像的近似相似度,在实验中验证是足够使用的,因为有些影像完全没有重叠度,这种影像间的相似度计算本应该采取快速的方式处理,相反如果用里面所有的SIFT特征点做蛮力比较,效率将会非常低下。使得影像分辨率在非常大的情况下,也可以提供一个快速的相似度计算,算法的时间复杂度为O(nk)。其中,n是匹配点个数,k是个常数值。和多幅影像比较知名的相似度匹配算法Farenzena算法进行了对比。Farenzena的方法需要计算特征点的串点信息之外,还需要在每张图像上计算出其包含的凸包范围以及两两图像对间特征点的交集,计算复杂度是O(m2n2),m和n分别为影像数量和匹配点数量。相比之下,minhash基于局部hash的特征比较,计算维度为固定的K维,即hash函数的个数,这个数量远比特征点的个数要小,算法复杂度为:T(n)=O(Kn)+O(K2n2)=O(K2n2)。在分辨率高的图像上,K的大小远小于m,因此这种方法相似度比较的性能会明显高一个数量级。在进行这两种方法的性能对比时,采用50张左右的图像进行相似度计算,对原始的5000×4000图像通过重采样生成不同分辨率的图像,并分别使用SIFT提取特征点,并使用线性hash函数生成器,生成100个hash函数分别将特征点ID映射到0-1的范围中去。在表1中,使用了5组图像进行相似度计算的耗时比较,可以发现采用Farenzena的方法,在特征点数小于1000时,和minhash算法的性能基本相当,但当特征点数目变得特别多的时候,性能差异就非常的明显。表1以上所述,仅为本专利技术最佳实施方式,任何熟悉本
的技术人员在本专利技术披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本专利技术的保护范围内。本文档来自技高网
...

【技术保护点】
一种多幅影像间的快速相似度计算方法,其特征在于,包括以下步骤:输入:影像集合p={image

【技术特征摘要】
1.一种多幅影像间的快速相似度计算方法,其特征在于,包括以下步骤:输入:影像集合p={imagei},i=1,2...n,f={featurei},i=1,2...m;输出:影像两两相似度矩阵Sim[pi,pj];步骤1computeTrack():计算每一个影像的SIFT特征点的idf;步骤2构造K个hash函数;步骤3对所有影像进行K次哈希求值;步骤4foreachimageiandimagej;步骤5Sim[pi,pj]=imagei和imagej之间的相似度sim(pi,pj);步骤6endfor。2.根据权利要求1所述的多幅影像间的快速相似度计算方法,其特征在于,步骤1中computeTrack()计算每一个影像的SIFT特征点的idf倒排索引,输出的就是各个特征点在各个影像上的分布情况的稀疏矩阵。3.根据权利要求1所述的多幅影像间的快速相似度计算方法,其特征在于,步骤2中构造K个hash函数,此处定义K=50,哈希函数是单向映射函数,选择标准较为宽泛,只...

【专利技术属性】
技术研发人员:万方靳华中雷光波关峰刘潇龙黄磊李清
申请(专利权)人:湖北工业大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1