图像特征匹配方法和装置转让专利

申请号 : CN201610796636.0

文献号 : CN106375771B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏睿

申请人 : 西安万像电子科技有限公司

摘要 :

本发明公开了一种图像特征匹配方法和装置。其中,该方法包括:获取当前帧中的所有特征,并将每个特征分别用哈希值标识;对所有特征进行去重处理;使用去重处理后的特征在参考帧中进行特征匹配。本发明解决了特征匹配时,由于哈希值冲突导致偏移量不准确的技术问题。

权利要求 :

1.一种图像特征匹配方法,其特征在于,包括:获取当前帧中的所有特征,并将每个特征分别用哈希值标识;

对所述所有特征进行去重处理,其中,对所述所有特征进行去重处理包括:对于具有相同哈希值的特征保留一个;

使用去重处理后的特征在参考帧中进行特征匹配。

2.根据权利要求1所述的方法,其特征在于,对所述所有特征进行去重处理包括:在得到一个新的特征之后,判断所述新的特征的哈希值是否与之前已找到的特征的哈希值相同;

如果相同,则忽略该哈希值对应的特征。

3.根据权利要求1所述的方法,其特征在于,对所述所有特征进行去重处理包括:得到每个特征的哈希值之后,统计每个哈希值出现的次数;

忽略第n次出现的哈希值对应的特征,其中,n大于1。

4.根据权利要求1所述的方法,其特征在于,对所述所有特征进行去重处理包括:得到每个特征的哈希值之后,将相同的哈希值对应的特征放在一个集合中;

对于每个集合只保留1个特征。

5.根据权利要求1至4中任一项所述的方法,其特征在于,使用去重处理后的特征在参考帧中进行特征匹配,包括:对去重之后的每个特征,在参考帧中查找是否有哈希值与所述特征的哈希值相同的特征;

如果有,则记录两个特征的偏移量。

6.根据权利要求5所述的方法,其特征在于,还包括:对每个偏移量进行统计,获取相同的偏移量出现的次数;

如果某个偏移量出现的次数大于阈值,则将该偏移量作为全局运动矢量。

7.一种图像特征匹配装置,其特征在于,包括:获取模块,用于获取当前帧中的所有特征,并将每个特征分别用哈希值标识;

处理模块,用于对所述所有特征进行去重处理,其中,对所述所有特征进行去重处理包括:对于具有相同哈希值的特征保留一个;

匹配模块,用于使用去重处理后的特征在参考帧中进行特征匹配。

8.根据权利要求7所述的装置,其特征在于,所述处理模块进行的去重复处理包括以下至少之一:在得到一个新的特征之后,判断所述新的特征的哈希值是否与之前已找到的特征的哈希值相同,如果相同,则忽略该哈希值对应的特征;

得到每个特征的哈希值之后统计每个哈希值出现的次数,忽略第n次出现的哈希值对应的特征,其中,n大于1;

得到每个特征的哈希值之后将相同的哈希值的特征放在一个集合中,对于每个集合只保留1个特征。

9.根据权利要求7或8所述的装置,其特征在于,所述匹配模块,用于对去重之后的每个特征,在参考帧中查找是否有哈希值与所述特征的哈希值相同的特征,如果有,则记录两个特征的偏移量。

10.根据权利要求9所述的装置,其特征在于,还包括:统计模块,用于对每个偏移量进行统计,获取相同的偏移量出现的次数;

全局运动向量确定模块,用于在某个偏移量出现的次数大于阈值的情况下,则将该偏移量作为全局运动矢量。

11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任意一项所述的一种图像特征匹配方法。

12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的一种图像特征匹配方法。

说明书 :

图像特征匹配方法和装置

技术领域

[0001] 本发明涉及视频图像处理领域,具体而言,涉及一种图像特征匹配方法和装置。

背景技术

[0002] 对连续多帧的计算机屏幕或移动终端屏幕图像进行压缩时,通常有两种处理方式,第一种方式是对每一帧图像独立进行压缩,只能根据本帧内已编码的部分进行预测,一般用于连续多帧图像中的第一帧图像的编码,解码端直接恢复所有信息即可。第二种方式是只对每一帧图像中相对于前一帧图像中的新内容进行编码和压缩,能够采用之前编码的帧作为预测,相同的部分只编码参考图像索引和偏移位置等信息即可。对于第二种方式,适用于除了第一帧之外的图像,解码端从解码图像时找到参考图像,根据位置信息拷贝不变的图像部分,然后将改变的部分也恢复出来,两部分可以合成发送端的图像。相对于第一种方式,第二种方式可以大大消除帧间冗余,从而降低编码后的码率。对于计算机或移动终端屏幕这种图像来说,第二种方式很适合这类图像的编码。第一种方式和第二种方式进行屏幕图像压缩的原理如图1a和图1b所示。结合图1a和图1b可以看出,通过第一种方式对图像进行压缩,解码时直接回复所有信息,通过第二种方式对图片进行压缩,解码时需将位置信息不变的图像和位置信息改变的图形进行结合得到解码后的图像。
[0003] 在通过第二种方式进行图像压缩时,需要找到当前要处理的图像帧与参考帧中相同的内容,即是背景或不变部分,这些部分对应的位移是(0,0)向量;还有一些情况,与当前参考帧相同的内容位于参考帧中不同的位置,这往往是由于用户移动窗口,或者阅读时上下滚动文档等动作造成的,这种情况下就需要估计出这部分内容的位移向量,称为运动向量(MV)。找到相同内容的相对于参考帧的位移就是运动估计过程。
[0004] 大多数的视频压缩标准,如H.263、H.264、MPEG-4等,通常采用基于块匹配的运动估计方法,该方法是将图像序列的每一帧分成许多互不重叠的宏块,并认为宏块内所有像素的位移量相同,然后每个宏块到参考帧某一给定特定范围内,根据一定的匹配准则找出与当前块最相似的块,即匹配块,匹配块和当前块的相对位移即运动矢量。运动估计的目的就是查找运动矢量。TCC-M(Fast motion detection for thin client compression)就是权衡速度与精度而得到的一种快速运动估计算法,该方法先定义特征,其在一定程度上可以标识所在图像区域的唯一性。如图2所示,TCC-M算法定义的特征是32个像素值,满足以下条件,左上角4个灰色的像素值相同,而且和第一个像素值不相同,这样定义这连续的32个像素为一个特征。定义了特征之后,可以在参考图像和当前图像中分别遍历,提取出所有的特征。
[0005] 特征提取之后,另一个关键步骤是进行特征匹配。特征匹配的方法可以采用逐个像素比对的方法,计算量一般都比较大。TCC-M算法在进行特征匹配前,先计算每个特征的哈希值,即对每个特征进行描述,让哈希值作为特征的描述符,然后判断两个特征的哈希值是否相同,如果相同,则认为是匹配特征,记录匹配特征在两帧图像上的偏移。这样避免了在特征匹配阶段逐像素比较耗费的计算量,提高了算法的时效性。最后对每个偏移矢量出现的次数进行统计,得到主偏移矢量,如果主偏移矢量满足一定的条件,就是作为全局运动矢量。
[0006] 然而TCC-M方法对于计算机屏幕或移动屏幕这种人工合成图像,有着以下缺点:哈希运算将特征空间(32字节)压缩在一个较小的空间(2字节或4字节)进行表征,可能存在不相同的重复特征,却产生了相同的哈希值,即发生哈希冲突。也有可能在一个画面中出现多个相同的特征,这些特征当然也会对应相同的哈希值。如图3所示,如英文字母“j”和“i”上的点是我们提取的特征,它们的哈希值是相同的;同样中文汉字“计算机辅助”、“计算机应用”、“计算机科学”中“计”左上角的点是我们提取到的特征,它们的哈希值也是相同的;在特征匹配阶段,当前特征的哈希值可能与参考图像中多个特征的哈希值相同,如当前帧出现“计算机辅助”,而在参考帧出现“计算机应用”或“计算机科学”,就会产生误匹配,这样很难保证找到的匹配特征的偏移是合理的,从而影响配准的精度;因此对于文字图像或计算机屏幕图像,特征之间必然存在哈希冲突,很难找到一个标准处理匹配问题。
[0007] 特征匹配时,由于哈希值冲突导致偏移量不准确的问题,目前尚未提出有效的解决方案。

发明内容

[0008] 本发明实施例提供了一种图像特征匹配方法和装置,以至少解决特征匹配时,由于哈希值冲突导致偏移量不准确的技术问题。
[0009] 根据本发明实施例的一个方面,提供了一种图像特征匹配的方法,包括:获取当前帧中的所有的特征,并将每个特征分别用哈希值标识;对所有特征进行去重处理;使用去重处理后的特征在参考帧中进行特征匹配。
[0010] 根据本发明实施例的另一方面,还提供了一种图像特征匹配装置,包括:获取模块,用于获取当前帧中的所有特征,并将每个特征分别用哈希值标识;处理模块,用于对所述所有特征进行去重处理;匹配模块,用于使用去重处理后的特征在参考帧中进行特征匹配。
[0011] 根据本发明实施例的又一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述中的一种图像特征匹配方法。
[0012] 根据本发明实施例的又一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中的一种图像特征匹配方法。
[0013] 在本发明实施例中,获取当前帧中的所有的特征,并将每个特征分别用哈希值表示;对所有哈希值进行去重处理,其中,去重处理包括:对于重复的哈希值保留一个;使用去重处理后的每个哈希值在参考帧中进行匹配以得到当前帧相对于参考帧的偏移量。上述方案对哈希值进行了去重处理,因此能够提高特征匹配的精度,减少特征匹配的计算量,避免了哈希冲突,充分利用了特征提取结果,从而解决了特征匹配时,由于哈希值冲突导致偏移量不准确的技术问题。

附图说明

[0014] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0015] 图1a是根据现有技术的第一种图像压缩编码方式;
[0016] 图1b是根据现有技术的第二种图像压缩编码方式;
[0017] 图2是根据现有技术的一种通过TCC-M算法定义特征的示意图;
[0018] 图3是根据现有技术的一种特征哈希冲突的示意图;
[0019] 图4是根据本发明实施例的一种图像特征匹配方法的流程图;
[0020] 图5是根据本发明实施例的一种可选的图像特征匹配方法的流程图;
[0021] 图6a为一组测试图像;
[0022] 图6b为对图6a进行特征匹配得到的特征匹配的示意图;
[0023] 图6c为另一组测试图像;
[0024] 图6d为对图6c进行特征匹配得到的特征匹配的示意图;以及
[0025] 图7是根据本发明实施例的一种图像特征匹配装置的结构示意图。

具体实施方式

[0026] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0027] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0028] 实施例1
[0029] 根据本发明实施例,提供了一种图像特征匹配方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0030] 图4是根据本发明实施例的图像特征匹配方法的流程图,如图4所示,该方法包括如下步骤:
[0031] 步骤S41,获取当前帧中的所有特征,并将每个特征分别用哈希值标识。
[0032] 步骤S43,对所有特征进行去重处理。
[0033] 在上述步骤中,对特征进行处理包括:对于具有相同哈希值的特征保留一个。
[0034] 步骤S45,使用去重处理后的特征在参考帧中进行特征匹配。
[0035] 此处需要说明的是,由于上述步骤对特征进行了去重处理,因此能够提高特征匹配的精度,减少特征匹配的计算量,避免了哈希冲突,充分利用了特征提取结果,从而解决了特征匹配时,由于哈希值冲突导致偏移量不准确的技术问题。
[0036] 可选的,根据本申请上述实施例,对所有的特征进行去重处理包括:
[0037] 步骤S431,在得到一个新的特征之后,判断新的特征的哈希值是否与之前已找到的特征的哈希值相同。
[0038] 步骤S4311,如果相同,则忽略该哈希值。
[0039] 可选的,根据本申请上述实施例,对所有哈希值进行去重处理包括:
[0040] 步骤S433,得到每个特征的哈希值之后;
[0041] 步骤S4331,对每个特征均记录该哈希值为第几次出现;
[0042] 步骤S4333,忽略第n次出现的哈希值对应的特征,其中,n大于1。
[0043] 上述步骤先通过遍历整帧图像,得到特征集合,然后在特征匹配时,先统计特征哈希值在整个特征集合中出现的次数,如果哈希值出现次数大于1,即该特征在特征集合中发生了哈希冲突,将不再进行后续处理,否则,则在参考帧中查找是否存在匹配的特征,如果存在,记录特征在两帧图像中的偏移,否则,当前特征在参考帧中不存在匹配特征。
[0044] 可选的,根据本申请上述实施例,对所有哈希值进行去重处理包括:
[0045] 步骤S435,得到每个特征的哈希值之后,将相同的哈希值对应的特征放在一个集合中。
[0046] 步骤S4351,对于每个集合只保留n个哈希值,n为大于等于0的数。
[0047] 可选的,根据本申请上述实施例,使用去重处理后的特征在参考帧中进行特征匹配,包括:
[0048] 步骤S47,对去重之后的每个哈希值在参考帧中查找是否有相同的哈希值。
[0049] 步骤S471,如果有则记录该哈希值的偏移量。
[0050] 可选的,根据本申请上述实施例,上述还包括:
[0051] 步骤S49,对每个偏移量进行统计,获取相同的偏移量出现的次数。
[0052] 步骤S491,如果某个偏移量出现的次数大于阈值,则将该偏移量作为全局运动矢量。
[0053] 作为一种可选的实施例,以桌面视频为例,对于桌面视频中的每一帧,根据特征的定义,从第一行开始遍历,获取到当前帧中的特征,以及用于描述特征的哈希值,在得到任意一个特征之后,判断在得到该特征哈希值之前已经得到的哈希值中,是否存在与该哈希值相同的哈希值,如果存在,则忽略该特征,如果不存在,则保存该哈希值所记录的特征的位置,哈希值及该哈希值已占用等信息。经过上述步骤在对当前帧中特征的哈希值进行去重处理之后,得到特征哈希值集合。其中,该集合中的哈希值均不相同。使用该哈希值集合中的每个哈希值,在参考帧中的查找相同的哈希值,如果没有则忽略;如果有,则记录该哈希值对应的偏移量。经过上述步骤能够得到多个偏移量,为了得到最终的全局运动矢量,对多个偏移量进行统计,并设置相应的阈值,在偏移量大于预设的阈值的情况下,确定该偏移量为全局运动矢量。
[0054] 作为另一种可选的实施例,仍以桌面视频为例,根据特征的定义范围,在当前帧和参考帧中根据特征定义进行特征搜索,对找到的每个特征,计算并记录其哈希值,得到哈希值集合。在哈希值集合中,统计每个不同的哈希值在集合中出现的次数,如果哈希值出现的次数不止一次,则剔除该哈希值,从而得到哈希值均不相同的哈希值集合。保存最终均不相同的哈希值所记录的特征的位置,哈希值及该哈希值已占用等信息。使用该哈希值集合中的每个哈希值,在参考帧中查找相同的哈希值,如果没有则忽略,如果有,则记录该哈希值对应的偏移量。经过上述步骤能够得到多个偏移量,为了得到最终的全局运动矢量,对多个偏移量进行统计,并设置阈值,在偏移量大于预设的阈值的情况下,确定该偏移量为全局运动矢量。
[0055] 作为再一种可选的实施例,首先仍然依次获取到当前帧中的特征,以及用于描述特征的哈希值,对哈希值进行分类,将相同的哈希值放入一个集合,因此能够得到多个哈希值集合,存在多个相同的哈希值,则该哈希值对应的集合中包括多个哈希值,一次剔除掉包括多个哈希值的哈希值集合,得到仅包含一个哈希值的集合,保存仅包含一个哈希值集合,哈希值所记录的特征的位置,哈希值及哈希值已占用等信息。使用仅包含一个哈希值的集合中的哈希值,在参考帧中的查找相同的哈希值,如果没有则忽略,如果有,则记录该哈希值对应的偏移量。经过上述步骤能够得到多个偏移量,为了得到最终的全局运动矢量,对多个偏移量进行统计,并设置阈值,在偏移量大于预设的阈值的情况下,确定该偏移量为全局运动矢量。
[0056] 图5是根据本发明实施例的一种可选的图像特征匹配方法的流程图,下面结合图5对上述图像特征匹配方法进行进一步描述:
[0057] S51,对当前帧进行特征提取。
[0058] S52,获取用于描述特征的哈希值。
[0059] S53,特征的去重处理。
[0060] 在上述步骤中,剔除哈希值冲突可以通过三种方式实现。
[0061] 第一,在得到特征的哈希值之后,判断得到的该哈希值是否与之前得到的特征的哈希值是否相同;如果相同,则忽略该哈希值。
[0062] 第二,得到每个特征的哈希值之后,统计每个哈希值出现的次数;可以忽略第n次出现的哈希值,其中,n大于1。
[0063] 第三,得到每个特征的哈希值之后,将相同哈希值的特征放在一个集合中;对于每个集合只保留1个特征。
[0064] S54,对去重处理之后的特征进行特征匹配。
[0065] 上述步骤可以是对剔除哈希值冲突之后的每个哈希值在参考帧中查找是否有相同的哈希值。
[0066] S55,是否存在主偏移。
[0067] 如果哈希值在参考帧中具有相同的哈希值,则存在主偏移,进入步骤S56,否则进入步骤S58。
[0068] S56,是否构成全局运动矢量。
[0069] 对每个偏移量进行统计,获取相同的偏移量出现的次数;如果某个偏移量出现的次数大于阈值,则进入步骤S57,将该偏移量作为全局运动矢量,否则进入步骤S58。
[0070] S57,得到全局运动矢量。
[0071] S58,忽略该主偏移。
[0072] 图6a为测试图像,左侧为参考帧图像,右侧为当前帧图像;图6c为另一组测试图像,左侧为参考帧图像,右侧为当前帧图像。
[0073] 图6b为对图6a进行特征匹配得到的特征匹配的示意图,左侧为根据现有技术通过TCC-M算法得到的结果,右侧为根据本发明实施例得到的结果,图6d为对图6c进行特征匹配得到的特征匹配的示意图,左侧为根据现有技术通过TCC-M算法得到的结果,右侧为根据本发明实施例得到的结果,结合图6a、6b、6c和6d所示,通过本申请提供的图像特征匹配方法得到的匹配结果相较于通过TCC-M算法得到的匹配结果更精确。
[0074] 另外,结合表一所示,对于Frame1和Frame2,与采用TCC-M算法相比,在具有相同哈希碰撞(哈希冲突)和特征数的情况下,TCC-M算法的精度较低(最多偏移数/匹配特征数),本实施例提供的图像特征匹配方法的精度较高,且两者得到的主偏移的结果形同。
[0075] 表一
[0076]
[0077]
[0078] 实施例2
[0079] 根据本发明实施例,还提供了一种图像特征匹配装置的实施例,用于执行实施例1中的图像特征匹配方法,图7是根据本发明实施例的一种图像特征匹配装置的结构示意图,集合图7所示,该装置包括:
[0080] 获取模块70,用于获取当前帧中的所有特征,并将每个特征分别用哈希值标识。
[0081] 处理模块72,用于对所有特征进行去重处理。
[0082] 匹配模块74,用于使用去重处理后的特征在参考帧中进行特征匹配。
[0083] 可选的,根据本申请上述实施例,处理模块进行的去重复处理包括以下至少之一:在得到一个新的特征之后,判断新的特征的哈希值是否与之前已找到的哈希值相同,如果相同,则忽略该哈希值;得到每个特征的哈希值之后统计每个哈希值出现的次数,可以忽略第n次出现的哈希值,其中,n大于1;得到每个特征的哈希值之后将相同的哈希值对应的特征放在一个集合中,对于每个集合只包括n个特征,n>=0。
[0084] 可选的,根据本申请上述实施例,上述匹配模块,用于对去重之后的每个特征在参考帧中查找是否有相同的哈希值,如果有则记录该哈希值的偏移量。
[0085] 可选的,根据本申请上述实施例,上述在装置还包括:
[0086] 统计模块,用于对每个偏移量进行统计,获取相同的偏移量出现的次数。
[0087] 全局运动向量确定模块,用于在某个偏移量出现的次数大于阈值的情况下,则将该偏移量作为全局运动矢量。
[0088] 实施例3
[0089] 根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例中的任意一种图像特征匹配方法。
[0090] 实施例4
[0091] 根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中的任意一种图像特征匹配方法。
[0092] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0093] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0094] 在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0095] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0096] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0097] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0098] 以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。