CN104504120A - 一种相似图片检测方法及装置 - Google Patents
一种相似图片检测方法及装置 Download PDFInfo
- Publication number
- CN104504120A CN104504120A CN201410848431.3A CN201410848431A CN104504120A CN 104504120 A CN104504120 A CN 104504120A CN 201410848431 A CN201410848431 A CN 201410848431A CN 104504120 A CN104504120 A CN 104504120A
- Authority
- CN
- China
- Prior art keywords
- width
- picture
- hash string
- width picture
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种相似图片检测方法及装置,一种相似图片检测方法包括:将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块;对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和每幅图片的各个关键区块的hash串;将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串;当获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。与现有技术相比,本发明的技术方案提高了在不考虑图片的旋转特性时的图片相似性检测的准确度。
Description
技术领域
本发明涉及图片检索技术领域,特别是涉及一种相似图片检测方法及装置。
背景技术
在视频的审核和处理过程中,以及图片搜索过程中,往往需要对图片的重复性或相似性进行检测。因此,如何构建一个高速、准确的相似图片检测方法是一个亟待解决的问题。
目前,现有技术的相似图片检测方法是利用pHash算法分别获得两幅图片的hash串,然后通过比较两幅图片的hash串的相似性来确定这两幅图片是否为相似图片。
由于现有技术得到的是整幅图片的hash串,所以现有的相似图片检测方法具有良好的抗旋转特性,但对于某些应用场景来说,图片的旋转特性是不被考虑的。在不考虑图片的旋转特性时,由于现有技术在进行图片相似性检测时仅获得了待比较的两幅图片的hash串,所以检测的维度较低,相应的图片相似性检测的准确度不高。
发明内容
本发明实施例的目的在于提供一种相似图片检测方法及装置,以提高在不考虑图片的旋转特性时的图片相似性检测的准确度。具体技术方案如下:
一种相似图片检测方法,包括:
将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块;
对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串;
将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串;
当获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。
在本发明的一种具体实施方式中,所述对待比较的两幅图片,按照预设的pHhash算法计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
在得到的所述灰度图片上进行IDCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的IDCT系数值;
去掉所述IDCT系数值的边缘一周,并获取去掉边缘一周后的IDCT系数值的左上角的8*8区域;
按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述对待比较的两幅图片,按照预设的pHhash算法计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
在得到的所述灰度图片上进行DCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的DCT系数值;
去掉所述DCT系数值的边缘一周,并获取去掉边缘一周后的DCT系数值的左上角的8*8区域;
按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
计算得到所述左上角的8*8区域的均值;
将所述左上角的8*8区域的每一个位置的值与所述均值比较,大于均值的位置取1,小于等于均值的位置取0;
将取得的所有位置的值按照预定的第一顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将所述左上角的8*8区域内的数值按照位置相邻的关系顺次比较大小,大于相邻位置的值取1,小于等于相邻位置的值取0;
将取得的所有位置的值按照预定的第二顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将所述左上角的8*8区域内的数值按照位置相邻的关系划分为32个数值对;
将每个数值对中的数值按照预定的顺序比较大小,每个数值对中的第一数值大于第二数值时,该数值对的第一数值所在的位置取1,第二数值所在的位置取0,否则该数值对的第一数值所在的位置取0,第二数值所在的位置取1;
将取得的所有位置的值按照预定的第三顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块具体为将每幅图片划分成左图、右图和中心图三部分,其中,所述左图、右图和中心图各占图片的三分之一。
在本发明的一种具体实施方式中,所述相似hash串为hash串之间的汉明距离小于预定值的hash串。
本发明实施例还提供一种相似图片检测装置,包括:
关键区块划分单元:用于将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块;
hash串计算单元:用于对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串;
相似hash串获得单元:用于将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串;
相似图片识别单元:用于当获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。
在本发明的一种具体实施方式中,所述hash串计算单元具体包括:
平滑处理单元:用于将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
灰度图片获得单元:用于将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
IDCT变换单元:用于在得到的所述灰度图片上进行IDCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的IDCT系数值;
第一预设区域获取单元:用于去掉所述IDCT系数值的边缘一周,并获取去掉边缘一周后的IDCT系数值的左上角的8*8区域;
hash串获得单元:用于按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串计算单元具体包括:
平滑处理单元:用于将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
灰度图片获得单元:用于将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
DCT变换单元:用于在得到的所述灰度图片上进行DCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的DCT系数值;
第二预设区域获取单元:用于去掉所述DCT系数值的边缘一周,并获取去掉边缘一周后的DCT系数值的左上角的8*8区域;
hash串获得单元:用于按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串获得单元包括:
均值计算单元:用于计算得到所述左上角的8*8区域的均值;
第一取值单元:用于将所述左上角的8*8区域的每一个位置的值与所述均值比较,大于均值的位置取1,小于等于均值的位置取0;
第一hash串获得子单元:用于将取得的所有位置的值按照预定的第一顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串获得单元包括:
第二取值单元:用于将所述左上角的8*8区域内的数值按照位置相邻的关系顺次比较大小,大于相邻位置的值取1,小于等于相邻位置的值取0;
第二hash串获得子单元:用于将取得的所有位置的值按照预定的第二顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串获得单元包括:
数值对划分单元:用于将所述左上角的8*8区域内的数值按照位置相邻的关系划分为32个数值对;
第三取值单元:用于将每个数值对中的数值按照预定的顺序比较大小,每个数值对中的第一数值大于第二数值时,该数值对的第一数值所在的位置取1,第二数值所在的位置取0,否则该数值对的第一数值所在的位置取0,第二数值所在的位置取1;
第三hash串获得子单元:用于将取得的所有位置的值按照预定的第三顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述关键区块划分单元将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块具体为将每幅图片划分成左图、右图和中心图三部分,其中,所述左图、右图和中心图各占图片的三分之一。
在本发明的一种具体实施方式中,所述相似hash串获得单元获得的相似hash串具体为hash串之间的汉明距离小于预定值的hash串。
本发明实施例所提供的技术方案,将待比较的两幅图片按照预设的划分规则分别划分为多个关键区块,利用pHash算法分别得到了每幅图片和每幅图片的各个关键区块的hash串,通过比较两幅图片及其关键区块的hash串的相似性来确定这两幅图片是否为相似图片。与现有技术相比,由于本发明的技术方案将待比较的两幅图片按照预设的划分规则划分为多个关键区块,并利用pHash算法分别计算得到了每幅图片和每幅图片的各个关键区块的hash串,提高了图片相似性检测的维度,所以本发明的技术方案提高了在不考虑图片的旋转特性时的图片相似性检测的准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例相似图片检测方法的一种实施流程图;
图2为均值比较方法的一种示意图;
图3为相邻位置数值比较方法的一种示意图;
图4为本发明实施例相似图片检测装置的一种结构示意图;
图5为图片关键区块分布的一种示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示,为本发明实施例一种相似图片检测方法的实施流程图,其包括以下步骤:
步骤S101,将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块;
在对两幅图片的相似性进行检测时,首先将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块。其中,这里待比较的两幅图片的划分规则必须是一样的,但划分规则是各式各样的。具体地,划分的关键区块个数可以是多种多样的,例如,可以将图片划分为两个关键区块、三个关键区块等等;另外,各个关键区块的位置关系可以是任意的,例如关键区块的位置关系可以是上下关系,也可以是左右关系或者任意角度关系。进一步地,在本发明的一种优选实施方式中,可以将每幅图片划分成左图、右图和中心图三部分,其中,左图、右图和中心图各占图片的三分之一。
步骤S102,对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串;
在将待比较的两幅图片划分为多个关键区块后,对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串。具体地,在本发明的一种具体实施方式中,步骤S102具体包括:
(1)将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
(2)将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
步骤(1)和(2)中用到的图片平滑处理技术和灰度处理技术为现有技术,这里不再赘述。
(3)在得到的所述灰度图片上进行IDCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的IDCT系数值;
在得到每幅图片和每幅图片的各个关键区块的灰度图片后,对每个灰度图片进行IDCT变换,分别得到每幅图片和每幅图片的各个关键区块的32*32的IDCT系数值。
(4)去掉所述IDCT系数值的边缘一周,并获取去掉边缘一周后的IDCT系数值的左上角的8*8区域;
在得到上述IDCT系数值之后,由于IDCT系数值的边缘一周呈现的是每幅图片或每幅图片的各个关键区块的细节信息,而在图片相似性检测的过程中并不关心这些细节信息,所以我们将IDCT系数值的一周去掉,使本发明的图片相似性检测方法更加实用化。然后,由于去掉边缘一周后的IDCT系数值的左上角区域聚集了每幅图片或每幅图片的各个关键区块的绝大部分信息,所以我们就能用去掉边缘一周后的IDCT系数值的左上角的8*8区域来表征每幅图片或每幅图片的各个关键区块的信息。
需要说明的是:传统的pHash算法对步骤(2)中得到的灰度图片进行的是DCT变换,所以相应的步骤(3)和(4)也可以是:在得到的所述灰度图片上进行DCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的DCT系数值;去掉所述DCT系数值的边缘一周,并获取去掉边缘一周后的DCT系数值的左上角的8*8区域。但由于DCT变换是浮点运算,而IDCT变换是整形运算,所以相较于DCT变换来说IDCT变换运算速度更快,所以在本发明具体实施中可以优选IDCT变换,以提升相似图片检测的速度。
(5)按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在得到上述每幅图片和每幅图片的各个关键区块的左上角的8*8区域后,按照预设的算法,由上述左上角的8*8区域计算得到每幅图片的hash串和每幅图片的各个关键区块的hash串。进一步地,这里所说的预设的算法可以不止一种,即由上述左上角的8*8区域计算得到每幅图片的hash串和每幅图片的各个关键区块的hash串的方法可以不止一种。例如:
在本发明的一种具体实施方式中,上述步骤(5)可以包括以下步骤:
计算得到所述左上角的8*8区域的均值;
将所述左上角的8*8区域的每一个位置的值与所述均值比较,大于均值的位置取1,小于等于均值的位置取0;
将取得的所有位置的值按照预定的第一顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
图2所示,为以3*3区域为例,说明采用均值方法得到每个位置的取值的过程。如图2的左图所示,3*3区域的9个数值的均值为5。对于图2的左图中大于5的位置取1,对于小于或等于5的位置取0就得到了图2的右图。
在本发明的另一种具体实施方式中,上述步骤(5)可以包括以下步骤:
将所述左上角的8*8区域内的数值按照位置相邻的关系顺次比较大小,大于相邻位置的值取1,小于等于相邻位置的值取0;
将取得的所有位置的值按照预定的第二顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
需要说明的是:上述所说的按照位置相邻的关系顺次比较大小具体为将相邻位置的数值按照一定的顺序比较大小,这里的顺序可以不唯一,但应该满足所有位置的值均能实现与相邻位置值的按次序比较大小,进一步地,大于相邻位置的值取1,小于等于相邻位置的值取0。
在本发明的另一种具体实施方式中,上述步骤(5)可以包括以下步骤:
将所述左上角的8*8区域内的数值按照位置相邻的关系划分为32个数值对;
将每个数值对中的数值按照预定的顺序比较大小,每个数值对中的第一数值大于第二数值时,该数值对的第一数值所在的位置取1,第二数值所在的位置取0,否则该数值对的第一数值所在的位置取0,第二数值所在的位置取1;
将取得的所有位置的值按照预定的第三顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。这里需要说明的是:上述将左上角的8*8区域内的数值按照位置相邻的关系划分为32个数值对的过程中,位置相邻可以是左右相邻,上下相邻,也可以是对角相邻,但应能满足划分的32个数值对中的每个数值对中的数值均属于位置相邻的关系。
另外,上述所指的第一顺序、第二顺序和第三顺序可以相同,也可以不同。
图3所示,为以2*2和3*3区域为例,说明位置相邻关系数值的三种可行的具体比较方法。可以看出,位置相邻关系数值的具体比较方法可以是如图3左图和右图所示的顺次比较,也可以如图3中图所示的对角相邻比较。
步骤S103,将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串;
在得到每幅图片的hash串和每幅图片的各个关键区块的hash串后,将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串。在本发明的一种具体实施方式中,获得的相似hash串可以是hash串之间的汉明距离小于预定值的hash串。一般来说,汉明距离小于20的即能表明图片为图片的关键区块相似。
步骤S104,当获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。
在获得相似hash串之后,如果获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。
本发明实施例所提供的技术方案,将待比较的两幅图片按照预设的划分规则分别划分为多个关键区块,利用pHash算法分别得到了每幅图片和每幅图片的各个关键区块的hash串,通过比较两幅图片及其关键区块的hash串的相似性来确定这两幅图片是否为相似图片。与现有技术相比,由于本发明的技术方案将待比较的两幅图片按照预设的划分规则划分为多个关键区块,并利用pHash算法分别计算得到了每幅图片和每幅图片的各个关键区块的hash串,提高了图片相似性检测的维度,所以本发明的技术方案提高了在不考虑图片的旋转特性时的图片相似性检测的准确度。
相对于上面的方法实施例,本发明还提供一种相似图片检测装置,参见图4所示,该装置包括:
关键区块划分单元401:用于将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块;
hash串计算单元402:用于对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串;
相似hash串获得单元403:用于将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串;
相似图片识别单元404:用于当获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。
在本发明的一种具体实施方式中,所述hash串计算单元402具体包括:
平滑处理单元:用于将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
灰度图片获得单元:用于将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
IDCT变换单元:用于在得到的所述灰度图片上进行IDCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的IDCT系数值;
第一预设区域获取单元:用于去掉所述IDCT系数值的边缘一周,并获取去掉边缘一周后的IDCT系数值的左上角的8*8区域;
hash串获得单元:用于按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串计算单元402具体包括:
平滑处理单元:用于将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
灰度图片获得单元:用于将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
DCT变换单元:用于在得到的所述灰度图片上进行DCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的DCT系数值;
第二预设区域获取单元:用于去掉所述DCT系数值的边缘一周,并获取去掉边缘一周后的DCT系数值的左上角的8*8区域;
hash串获得单元:用于按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串获得单元包括:
均值计算单元:用于计算得到所述左上角的8*8区域的均值;
第一取值单元:用于将所述左上角的8*8区域的每一个位置的值与所述均值比较,大于均值的位置取1,小于等于均值的位置取0;
第一hash串获得子单元:用于将取得的所有位置的值按照预定的第一顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串获得单元包括:
第二取值单元:用于将所述左上角的8*8区域内的数值按照位置相邻的关系顺次比较大小,大于相邻位置的值取1,小于等于相邻位置的值取0;
第二hash串获得子单元:用于将取得的所有位置的值按照预定的第二顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述hash串获得单元包括:
数值对划分单元:用于将所述左上角的8*8区域内的数值按照位置相邻的关系划分为32个数值对;
第三取值单元:用于将每个数值对中的数值按照预定的顺序比较大小,每个数值对中的第一数值大于第二数值时,该数值对的第一数值所在的位置取1,第二数值所在的位置取0,否则该数值对的第一数值所在的位置取0,第二数值所在的位置取1;
第三hash串获得子单元:用于将取得的所有位置的值按照预定的第三顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
在本发明的一种具体实施方式中,所述关键区块划分单元401将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块具体为将每幅图片划分成左图、右图和中心图三部分,其中,所述左图、右图和中心图各占图片的三分之一。
在本发明的一种具体实施方式中,所述相似hash串获得单元403获得的相似hash串具体为hash串之间的汉明距离小于预定值的hash串。
本发明实施例所提供的技术方案,将待比较的两幅图片按照预设的划分规则分别划分为多个关键区块,利用pHash算法分别得到了每幅图片和每幅图片的各个关键区块的hash串,通过比较两幅图片及其关键区块的hash串的相似性来确定这两幅图片是否为相似图片。与现有技术相比,由于本发明的技术方案将待比较的两幅图片按照预设的划分规则划分为多个关键区块,并利用pHash算法分别计算得到了每幅图片和每幅图片的各个关键区块的hash串,提高了图片相似性检测的维度,所以本发明的技术方案提高了在不考虑图片的旋转特性时的图片相似性检测的准确度。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
下面将参见图5对本发明的技术方案的可行性进行论证。图5所示,为本发明在具体实施过程中图片关键区块的一种具体划分方式。我们将图片等分为2、3、4三部分,三部分的组合为原图。这样,对待比较的两幅图片,按照预设的pHhash算法每幅图片可得到4个hash串。针对两幅图片的比较,也就转换为了4对hash串之间的比较。经对6000幅图片的测试发现,只要待比较的两幅图片的4对hash串中有两对相似,上述待比较的两幅图片即为相似图片。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (16)
1.一种相似图片检测方法,其特征在于,包括:
将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块;
对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串;
将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串;
当获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。
2.根据权利要求1所述的方法,其特征在于,所述对待比较的两幅图片,按照预设的pHhash算法计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
在得到的所述灰度图片上进行IDCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的IDCT系数值;
去掉所述IDCT系数值的边缘一周,并获取去掉边缘一周后的IDCT系数值的左上角的8*8区域;
按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
3.根据权利要求1所述的方法,其特征在于,所述对待比较的两幅图片,按照预设的pHhash算法计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
在得到的所述灰度图片上进行DCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的DCT系数值;
去掉所述DCT系数值的边缘一周,并获取去掉边缘一周后的DCT系数值的左上角的8*8区域;
按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
4.根据权利要求2或3所述的方法,其特征在于,所述按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
计算得到所述左上角的8*8区域的均值;
将所述左上角的8*8区域的每一个位置的值与所述均值比较,大于均值的位置取1,小于等于均值的位置取0;
将取得的所有位置的值按照预定的第一顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
5.根据权利要求2或3所述的方法,其特征在于,所述按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将所述左上角的8*8区域内的数值按照位置相邻的关系顺次比较大小,大于相邻位置的值取1,小于等于相邻位置的值取0;
将取得的所有位置的值按照预定的第二顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
6.根据权利要求2或3所述的方法,其特征在于,所述按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串的步骤包括:
将所述左上角的8*8区域内的数值按照位置相邻的关系划分为32个数值对;
将每个数值对中的数值按照预定的顺序比较大小,每个数值对中的第一数值大于第二数值时,该数值对的第一数值所在的位置取1,第二数值所在的位置取0,否则该数值对的第一数值所在的位置取0,第二数值所在的位置取1;
将取得的所有位置的值按照预定的第三顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块具体为将每幅图片划分成左图、右图和中心图三部分,其中,所述左图、右图和中心图各占图片的三分之一。
8.根据权利要求1至3任一项所述的方法,其特征在于,所述相似hash串为hash串之间的汉明距离小于预定值的hash串。
9.一种相似图片检测装置,其特征在于,包括:
关键区块划分单元:用于将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块;
hash串计算单元:用于对待比较的两幅图片,按照预设的pHhash算法分别计算得到每幅图片的hash串和所述每幅图片的各个关键区块的hash串;
相似hash串获得单元:用于将待比较的两幅图片的hash串,和待比较的两幅图片的各个关键区块的hash串分别进行比较,获得相似hash串;
相似图片识别单元:用于当获得的相似hash串的个数为两个或两个以上时,则待比较的两幅图片为相似图片,否则待比较的两幅图片不相似。
10.根据权利要求9所述的装置,其特征在于,所述hash串计算单元具体包括:
平滑处理单元:用于将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
灰度图片获得单元:用于将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
IDCT变换单元:用于在得到的所述灰度图片上进行IDCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的IDCT系数值;
第一预设区域获取单元:用于去掉所述IDCT系数值的边缘一周,并获取去掉边缘一周后的IDCT系数值的左上角的8*8区域;
hash串获得单元:用于按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
11.根据权利要求9所述的装置,其特征在于,所述hash串计算单元具体包括:
平滑处理单元:用于将待比较的两幅图片中的每幅图片和所述每幅图片的各个关键区块进行平滑处理;
灰度图片获得单元:用于将所述每幅图片和所述每幅图片的各个关键区块分别缩小并转换为32*32的灰度图片;
DCT变换单元:用于在得到的所述灰度图片上进行DCT变换,分别得到所述每幅图片和所述每幅图片的各个关键区块的32*32的DCT系数值;
第二预设区域获取单元:用于去掉所述DCT系数值的边缘一周,并获取去掉边缘一周后的DCT系数值的左上角的8*8区域;
hash串获得单元:用于按照预设的算法,由所述左上角的8*8区域计算得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
12.根据权利要求10或11所述的装置,其特征在于,所述hash串获得单元包括:
均值计算单元:用于计算得到所述左上角的8*8区域的均值;
第一取值单元:用于将所述左上角的8*8区域的每一个位置的值与所述均值比较,大于均值的位置取1,小于等于均值的位置取0;
第一hash串获得子单元:用于将取得的所有位置的值按照预定的第一顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
13.根据权利要求10或11所述的装置,其特征在于,所述hash串获得单元包括:
第二取值单元:用于将所述左上角的8*8区域内的数值按照位置相邻的关系顺次比较大小,大于相邻位置的值取1,小于等于相邻位置的值取0;
第二hash串获得子单元:用于将取得的所有位置的值按照预定的第二顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
14.根据权利要求10或11所述的装置,其特征在于,所述hash串获得单元包括:
数值对划分单元:用于将所述左上角的8*8区域内的数值按照位置相邻的关系划分为32个数值对;
第三取值单元:用于将每个数值对中的数值按照预定的顺序比较大小,每个数值对中的第一数值大于第二数值时,该数值对的第一数值所在的位置取1,第二数值所在的位置取0,否则该数值对的第一数值所在的位置取0,第二数值所在的位置取1;
第三hash串获得子单元:用于将取得的所有位置的值按照预定的第三顺序排列,得到所述每幅图片的hash串和所述每幅图片的各个关键区块的hash串。
15.根据权利要求9至11任一项所述的装置,其特征在于,所述关键区块划分单元将待比较的两幅图片按照预设的划分规则分别划分成多个关键区块具体为将每幅图片划分成左图、右图和中心图三部分,其中,所述左图、右图和中心图各占图片的三分之一。
16.根据权利要求9至11任一项所述的装置,其特征在于,所述相似hash串获得单元获得的相似hash串具体为hash串之间的汉明距离小于预定值的hash串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410848431.3A CN104504120B (zh) | 2014-12-29 | 2014-12-29 | 一种相似图片检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410848431.3A CN104504120B (zh) | 2014-12-29 | 2014-12-29 | 一种相似图片检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104504120A true CN104504120A (zh) | 2015-04-08 |
CN104504120B CN104504120B (zh) | 2019-03-15 |
Family
ID=52945517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410848431.3A Active CN104504120B (zh) | 2014-12-29 | 2014-12-29 | 一种相似图片检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104504120B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678334A (zh) * | 2016-01-05 | 2016-06-15 | 广州市久邦数码科技有限公司 | 一种识别重复照片的方法及其实现*** |
CN106650829A (zh) * | 2017-01-04 | 2017-05-10 | 华南理工大学 | 一种图片相似度计算方法 |
CN107886475A (zh) * | 2017-12-11 | 2018-04-06 | 奕响(大连)科技有限公司 | 一种单通道的图片相似判定方法 |
CN108052969A (zh) * | 2017-12-08 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种dct像素灰度图片相似判定方法 |
CN108052945A (zh) * | 2017-12-11 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种lbp改进的图片相似判定方法 |
CN108052972A (zh) * | 2017-12-11 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种双拼的单通道的图片相似判定方法 |
CN108052971A (zh) * | 2017-12-11 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种基于hog改进的图片相似判定方法 |
CN108259932A (zh) * | 2018-03-15 | 2018-07-06 | 华南理工大学 | 基于时空域极坐标余弦变换的鲁棒哈希重复视频检测方法 |
CN108694406A (zh) * | 2017-04-08 | 2018-10-23 | 大连万达集团股份有限公司 | 用于工程中的二维图吻合度比对的方法 |
CN109389147A (zh) * | 2018-08-28 | 2019-02-26 | 昆明理工大学 | 一种基于改进PHash算法的图像相似判定方法 |
CN109544614A (zh) * | 2018-11-26 | 2019-03-29 | 东南大学 | 一种基于图像低频信息相似度的匹配图像对识别的方法 |
CN113520172A (zh) * | 2021-08-06 | 2021-10-22 | 广东福尔电子有限公司 | 一种耐压型电锅温度传感器侦测装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136015A (zh) * | 2006-09-01 | 2008-03-05 | 北大方正集团有限公司 | 一种计算图像之间相似度的方法 |
CN101303767A (zh) * | 2007-11-15 | 2008-11-12 | 复旦大学 | 基于块图像内容自适应分类的数字剪影图像配准方法 |
CN102819582A (zh) * | 2012-07-26 | 2012-12-12 | 华数传媒网络有限公司 | 一种海量图片快速检索方法 |
CN103049512A (zh) * | 2012-12-14 | 2013-04-17 | 杭州淘淘搜科技有限公司 | 一种基于商品图像显著图分块加权匹配检索方法 |
-
2014
- 2014-12-29 CN CN201410848431.3A patent/CN104504120B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136015A (zh) * | 2006-09-01 | 2008-03-05 | 北大方正集团有限公司 | 一种计算图像之间相似度的方法 |
CN101303767A (zh) * | 2007-11-15 | 2008-11-12 | 复旦大学 | 基于块图像内容自适应分类的数字剪影图像配准方法 |
CN102819582A (zh) * | 2012-07-26 | 2012-12-12 | 华数传媒网络有限公司 | 一种海量图片快速检索方法 |
CN103049512A (zh) * | 2012-12-14 | 2013-04-17 | 杭州淘淘搜科技有限公司 | 一种基于商品图像显著图分块加权匹配检索方法 |
Non-Patent Citations (5)
Title |
---|
NASH_: "相似图片搜索的三种哈希算法", 《IT瘾网站》 * |
人在江湖: "相似图片搜索的三种哈希算法", 《CSDN网站》 * |
唐振军等: "利用分块相似系数构造感知图像Hash", 《计算机研究与发展增刊》 * |
文振焜等: "给予分块DCT和PCA的图像感知哈希算法研究", 《第十五届全国图像图形学学术会议》 * |
王阿川等: "基于离散余弦变换的鲁棒感知图像哈希技术", 《中国安全科学学报》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678334A (zh) * | 2016-01-05 | 2016-06-15 | 广州市久邦数码科技有限公司 | 一种识别重复照片的方法及其实现*** |
CN106650829A (zh) * | 2017-01-04 | 2017-05-10 | 华南理工大学 | 一种图片相似度计算方法 |
CN106650829B (zh) * | 2017-01-04 | 2019-07-16 | 华南理工大学 | 一种图片相似度计算方法 |
CN108694406A (zh) * | 2017-04-08 | 2018-10-23 | 大连万达集团股份有限公司 | 用于工程中的二维图吻合度比对的方法 |
CN108052969A (zh) * | 2017-12-08 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种dct像素灰度图片相似判定方法 |
CN108052945A (zh) * | 2017-12-11 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种lbp改进的图片相似判定方法 |
CN108052971A (zh) * | 2017-12-11 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种基于hog改进的图片相似判定方法 |
CN108052972A (zh) * | 2017-12-11 | 2018-05-18 | 奕响(大连)科技有限公司 | 一种双拼的单通道的图片相似判定方法 |
CN107886475A (zh) * | 2017-12-11 | 2018-04-06 | 奕响(大连)科技有限公司 | 一种单通道的图片相似判定方法 |
CN108259932A (zh) * | 2018-03-15 | 2018-07-06 | 华南理工大学 | 基于时空域极坐标余弦变换的鲁棒哈希重复视频检测方法 |
CN108259932B (zh) * | 2018-03-15 | 2019-10-18 | 华南理工大学 | 基于时空域极坐标余弦变换的鲁棒哈希重复视频检测方法 |
CN109389147A (zh) * | 2018-08-28 | 2019-02-26 | 昆明理工大学 | 一种基于改进PHash算法的图像相似判定方法 |
CN109389147B (zh) * | 2018-08-28 | 2022-02-08 | 昆明理工大学 | 一种基于改进PHash算法的图像相似判定方法 |
CN109544614A (zh) * | 2018-11-26 | 2019-03-29 | 东南大学 | 一种基于图像低频信息相似度的匹配图像对识别的方法 |
CN109544614B (zh) * | 2018-11-26 | 2022-04-01 | 东南大学 | 一种基于图像低频信息相似度的匹配图像对识别的方法 |
CN113520172A (zh) * | 2021-08-06 | 2021-10-22 | 广东福尔电子有限公司 | 一种耐压型电锅温度传感器侦测装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104504120B (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104504120A (zh) | 一种相似图片检测方法及装置 | |
CN107729935B (zh) | 相似图片的识别方法和装置、服务器、存储介质 | |
CN105681898A (zh) | 一种相似视频和盗版视频的检测方法及装置 | |
CN109115257B (zh) | 传感器特性曲线的修正方法、装置、设备及存储介质 | |
CN105681899A (zh) | 一种相似视频和盗版视频的检测方法及装置 | |
CN102750339B (zh) | 一种基于视频重构的重复片段定位方法 | |
GB2501224A (en) | Generating and comparing video signatures using sets of image features | |
CN105096299A (zh) | 多边形检测方法和多边形检测装置 | |
CN104463132A (zh) | 一种指纹识别方法及装置 | |
JP2010055621A (ja) | 検索方法及び検索システム | |
CN105654460A (zh) | 点云拼接***及方法 | |
CN103034833B (zh) | 条码定位方法及装置 | |
CN110298858A (zh) | 一种图像裁剪方法及装置 | |
KR101634395B1 (ko) | 시퀀스 간의 비교 방법, 그 장치, 및 컴퓨터 프로그램 제품 | |
CN109697240B (zh) | 一种基于特征的图像检索方法及装置 | |
CN102740106A (zh) | 在视频中检测摄像机运动类型的方法及装置 | |
CN117011250A (zh) | 缺陷检测方法、装置及存储介质 | |
CN107392948B (zh) | 一种分振幅实时偏振成像***的图像配准方法 | |
IL267069A (en) | Computing methods and device to determine if a sign is real | |
CN105354224A (zh) | 知识数据的处理方法和装置 | |
CN104455121A (zh) | 一种闸瓦剩余厚度检测的方法及*** | |
CN111126436A (zh) | 视觉匹配方法及装置 | |
CN104239448A (zh) | 一种时间序列数据的时间戳的获取方法及装置 | |
CN115409070A (zh) | 离散数据序列临界点的确定方法、装置以及设备 | |
CN104376579A (zh) | 一种用于在线课堂***的运动目标检测方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |