一种图像指纹生成方法、图像相似度比较方法及存储介质与流程

文档序号:16881010发布日期:2019-02-15 22:08阅读:230来源:国知局
一种图像指纹生成方法、图像相似度比较方法及存储介质与流程

本发明涉及图像识别领域,尤其涉及一种图像指纹生成方法、图像相似度比较方法及存储介质。



背景技术:

在生活中经常需要对图像进行识别比对,例如,在商标预申请阶段,需要对商标图像的检索,查看是否有相似商标。随着我国市场经济的快速发展,商标图像需求量不断增加,商标局每年收到的注册商标申请量高达数百万件,但最终核准的十分有限,原因在于商标近似、缺乏显著性等问题遭遇驳回。一旦申请被驳回,申请人为此商标付出的精力、金钱等都将被白白消耗。

介于上述情况,市面提供了各式各样的商标检索方法。根据调查研究,基于分类码并且以大量人力为代价的检索方法早已日益不能解决当前商标注册的矛盾,取而代之的是基于文本和内容的图像检索方法。

基于文本的图像检索方法与文本信息检索一致,通过关键词来进行检索,存在以下不足:1)检索方式需要对图像进行合理的关键词标注,而当前图像自动标注技术尚不成熟;2)用户利用若干关键词表示检索条件存在困难,而更偏向以图搜图的方式来查找相似图像。而基于内容的图像检索方法,也存在以下不足:1)检索方法没有考虑图像的语义信息;2)检索特征维数高,运算复杂度高,检索效率低;3)检索或分类只能提取局部的图像特征,检索准确性低。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种图像指纹生成方法,其能生成图像唯一指纹,利用该方法生成的图像指纹可进行图像相似度的比对,并且比对效率高,比对结果准确性高。

本发明的目的之二在于提供一种图像相似度比较方法,其能在海量的图像数据中快速地进行检索,并且检索结果准确性高。

本发明的目的之三在于提供一种计算机可读存储介质,该存储介质中的程序运行时能生成图像唯一指纹,利用该方法生成的图像指纹可进行图像相似度的比较,或者能在海量的图像数据中快速地进行检索,并且检索结果准确性高。

本发明的目的之一采用如下技术方案实现:

一种图像指纹生成方法,包括以下步骤:

将图像按等比例缩放成n*n像素比例的第一图像;

将所述第一图像分割成m*m的网格矩阵;

将所述m*m的网格矩阵中的每一网格再均分成若干小格;

根据每一小格中的图像填充程度对所有小格进行归一化处理,其中,图像填充率大于或等于0.5的小格标记为1,代表物体,图像填充率小于0.5的小格标记为0,代表背景;

根据每个网格中的标记为1的小格的个数,查询预设的编码规则,得出每个网格对应的编码字符;

将m*m的网格矩阵转换成一维矩阵,根据每个网格的编码字符得出编码字符序列;

根据各个编码字符两两之间的相对空间位置,得出空间位置序列,其中,每个编码字符具有对应的空间位置,两个编码字符之间的相对空间位置=编码字符a的空间位置—编码字符b的空间位置;

根据编码字符序列和空间位置序列,得出该图像的图像指纹。

进一步地,所述将图像按等比例缩放成n*n像素比例的第一图像具体为:将图像按等比例缩放成300*300像素比例的第一图像。

进一步地,所述将所述第一图像分割成m*m的网格矩阵具体为:将所述第一图像分割成15*15的网格矩阵。

进一步地,所述将所述m*m的网格矩阵中的每一网格再均分成若干小格具体为:将所述15*15的网格矩阵中的每一网格再均分成36小格。

进一步地,所述编码规则为:数值0至36对应的编码字符为0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p、q、r、s、t、u、v、w、x、y、z、a。

进一步地,所述编码字符的空间位置为该编码字符对应的数值。

本发明的目的之二采用如下技术方案实现:

根据上述的图像指纹生成方法获取所有图像的图像指纹,并将所有图像及其对应的图像指纹存入数据库中,建立图像指纹数据库;

根据上述的图像指纹生成方法来获取待比对图像的图像指纹;

根据余弦相似度算法将待比对图像的图像指纹与图像指纹数据库中的图像指纹逐一进行相似度比较;

将比对结果反馈给用户,其中,比对结果按照相似度由高到低的顺序排列。

本发明的目的之三采用如下技术方案实现:

一种计算机可读存储介质,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现上述的图像指纹生成方法或图像相似度比较方法。

相比现有技术,本发明的有益效果在于:

该图像指纹生成方法能够生成图像唯一指纹,通过细分粒度的方式在字符串中保留了图片特征,可以直接通过对应的空间位置进行相似度的计算,而常规的通过哈希函数确定的图像指纹无法实现这样的功能。

该图像相似度比较方法无需对图像进行关键词标识,也无需考虑图像的语义信息,采用图像唯一指纹,实现以图搜图的模式。而图像的唯一指纹采用一维矩阵序列,降低运算复杂度,提高检索效率,节省计算机存储空间;此外,指纹是根据存放图像网格矩阵的编码字符以及编码字符之间的相对空间位置确定的,保留所有的图像特征,提高检索准确性。

附图说明

图1为本发明提供的一种图像相似度比较方法的流程示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

请参阅图1,一种图像相似度比较方法,包含了图像指纹生成方法,具体包括以下步骤:

s1、获取图像指纹步骤(即图像指纹生成方法步骤):

s11、将图像按等比例缩放成n*n像素比例的第一图像;

s12、将第一图像分割成m*m的网格矩阵;

s13、将m*m的网格矩阵中的每一网格再均分成若干小格;

s14、根据每一小格中的图像填充程度对所有小格进行归一化处理,其中,图像填充率大于或等于0.5的小格标记为1,代表物体,图像填充率小于0.5的小格标记为0,代表背景;

s15、根据每个网格中的标记为1的小格的个数,查询预设的编码规则,得出每个网格对应的编码字符;

s16、将m*m的网格矩阵转换成一维矩阵,根据每个网格的编码字符得出编码字符序列;由于当前m*m的网格矩阵是一个多维矩阵,为了降低运算复杂度,提高检索效率,节省计算机存储空间;通过索引公式,把上述m*m的多维矩阵转换成一维矩阵,得出对应一列或一行的编码字符序列;

s17、根据各个编码字符两两之间的相对空间位置,得出空间位置序列,其中,每个编码字符具有对应的空间位置,a、b两个编码字符之间的相对空间位置=编码字符a的空间位置—编码字符b的空间位置;该图像所有网格所对应的编码字符分别两两组合得出一个相对空间位置,所得到的所有相对空间位置即为该图像的空间位置序列,该空间位置序列的位数,也就是组合数,由以下公式计算得出:

其中,n是当前网格矩阵编码字符的总个数,m是每次取出组合的个数,这里m=2。

s18、根据编码字符序列和空间位置序列,得出该图像的图像指纹;

s2、建立图像指纹数据库步骤:

s21、将所有图像及其对应的图像指纹存入图像指纹数据库中;

s3、图像相似度比较步骤:

s31、根据获取图像指纹步骤来获取待比对图像的图像指纹;

s32、根据余弦相似度算法将待比对图像的图像指纹与图像指纹数据库中的图像指纹逐一进行相似度比较;余弦值的取值范围是[-1,1],值越趋近于1,代表两个向量的方向越接近,夹角越小;值越趋近于-1,代表两个向量的方向越相反,夹角越大;值接近于0,代表两个向量近乎于正交,夹角近乎于垂直。以下是余弦相似度算法的相关公式:

上述公式,代表二维空间中,向量a的坐标是(x1,y1),向量b的坐标是(x2,y2),cosθ是向量a、b的余弦值。

上述公式,是根据公式一扩展,代表n维空间,其中向量a=(a1,a2,...,an),向量b=(b1,b2,...,bn),ai代表向量a中第i个子集,bi代表向量b中第i个子集。

根据上述公式,把待比对图像的图像指纹视为向量a,把数据库图像的图像指纹视为向量b,计算待比对图像与数据库图像余弦值的大小

s33、将比对结果反馈给用户,其中,比对结果按照相似度由高到低的顺序排列。

作为一种优选的实施方式,将图像按等比例缩放成n*n像素比例的第一图像具体为:将图像按等比例缩放成300*300像素比例的第一图像。

作为一种优选的实施方式,将第一图像分割成m*m的网格矩阵具体为:将第一图像分割成15*15的网格矩阵,每个网格是20x20像素比例,分别存放对应的图像内容。

作为一种优选的实施方式,将m*m的网格矩阵中的每一网格再均分成若干小格具体为:将15*15的网格矩阵中的每一网格再均分成36小格。即:把一个20x20像素比例的网格细分成一个6x6的网格矩阵。对于6x6的网格矩阵,结合图像内容,得知每个网格的图像填充量。以0.5作为阀值,对矩阵每个网格的图像填充量进行归一化处理;当填充量大于或等于0.5,则标识为1,代表物体;当填充量小于0.5,则标识为0,代表背景。可见,一个6x6的网格矩阵是由36个0或1组成,即:一个15x15的网格矩阵中每个网格也是由36个0或1组成。

作为一种优选的实施方式,编码规则如下表所示:

作为一种优选的实施方式,编码字符的空间位置为该编码字符对应的数值。

在本实施例中,根据上述15x15网格矩阵中每个网格的图像填充量以及设置的编码规则,得出该网格矩阵每个网格的编码字符。如:一个6x6的网格矩阵是由10个1和26个0组成,其对应15x15网格矩阵的网格也是由10个1和26个0组成;其中标记为1的个数是10,代表15x15网格矩阵中该对应网格的图像填充量是10,根据编码规则,其对应的编码字符是a。根据前面所述的相对空间位置公式以及组合公式,分别计算15x15网格矩阵中字符之间的相对空间位置。如:系统对编码字符3、b、n进行两两组合,其中字符的空间位置分别是:3、11、23,组合形式分别是:3b、3n、bn;那么,字符之间的相对空间位置分别是:8、20、12。依次类推,基于上述15x15网格矩阵中编码字符之间的相对空间位置,得出该网格矩阵对应的空间位置序列。

将该方法应用于商标近似度检索,操作如下:获取商标数据库中所有商标的商标图像指纹,把商标数据库中全部商标图像等比例缩放成300x300的像素图像,并分割为15x15的网格矩阵。基于上述网格矩阵,系统把每一网格再均分成36小格,根据每一小格中的图像填充程度对细分网格进行归一化处理,图像填充率大于或等于0.5的标记为1,图像填充率小于0.5的标记为0。基于上述细分网格填充量和系统设置的编码规则,系统对15x15的网格矩阵每一网格进行编码字符,得出编码字符序列。基于上述每一网格的编码字符,得出各字符当前的空间位置;通过组合方法,计算字符之间的相对空间位置,得出空间位置序列。基于上述编码字符序列和空间位置序列相结合,得出商标图像唯一指纹;然后并将所有的商标图像及其图像指纹存储在商标图像指纹数据库中;当用户上传新的商标图像进行检索时,也按上述获取图像指纹步骤,生成该商标图像的唯一指纹,也就是字符串;并基于余弦相似度方法,把用户商标图像指纹字符串与数据库已有商标图像的指纹字符串进行相似度比较,并按照余弦值由大到小排序,反馈给用户。

此外,本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有可执行计算机程序,计算机程序运行时可实现上述的图像相似度比较方法或者图像相似度比较方法中的图像指纹生成方法。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

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