CN103984776B - 一种识别重复图片的方法、图片搜索去重方法及其装置 - Google Patents

一种识别重复图片的方法、图片搜索去重方法及其装置 Download PDF

Info

Publication number
CN103984776B
CN103984776B CN201410247778.2A CN201410247778A CN103984776B CN 103984776 B CN103984776 B CN 103984776B CN 201410247778 A CN201410247778 A CN 201410247778A CN 103984776 B CN103984776 B CN 103984776B
Authority
CN
China
Prior art keywords
picture
phash
identified
slide fastener
data base
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.)
Expired - Fee Related
Application number
CN201410247778.2A
Other languages
English (en)
Other versions
CN103984776A (zh
Inventor
朱茂清
韩玉刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410247778.2A priority Critical patent/CN103984776B/zh
Publication of CN103984776A publication Critical patent/CN103984776A/zh
Priority to PCT/CN2015/080713 priority patent/WO2015184992A1/zh
Application granted granted Critical
Publication of CN103984776B publication Critical patent/CN103984776B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Abstract

本发明提供一种识别重复图片的方法、图片搜索去重方法及其装置,该方法中将待识别图片的Phash值分段,得到每个Phash分值,将每个Phash分值与拉链数据库中保存的每个图片的Phash分值进行比较,当命中拉链数据库中其他图片的Phash分值时,确定待识别图片是否与其他图片重复。由于在本发明实施例中将图片的Phash值进行分段得到了多个Phash分值,当某一Phash分值命中拉链数据库中其他图片的Phash分值时,比较该图片的Phash值及与命中的其他图片的Phash值,保证了重复图片识别的准确性,也能有效的提高重复图片的识别效率。

Description

一种识别重复图片的方法、图片搜索去重方法及其装置
技术领域
本发明涉及图片识别技术领域,尤其涉及一种识别重复图片的方法、图片搜索去重方法及其装置。
背景技术
基于用户输入的图片进行搜索后,为了提高用户的体验,并提高搜索结果的准确性,一般需要对搜索到的图片进行排重处理,即识别搜索结果中的相同图片。
现有技术在识别搜索结果中的相同图片时,根据图片的内容是否相同,或者根据图片的链接地址是否相同进行简单判断,但有时相同的图片其内容可能不会,或者相同图片的链接地址也并不相同,因此采用上述方法不能达到很好的识别效果。
为了达到较好的识别效果,可以对图片进行一系列的特征量化处理,进行特征量化处理后再进行排重处理,该方法虽然可以达到比较理想的识别效果,但是耗时较长,无法满足图片搜索、提供的实时性需求。
另外,在进行相同图片识别时,也可以通过比较图片的Phash值进行判断,但是该方法需要将每两张图片的Phash值进行比较,对于海量搜索结果而言,该方法也非常的耗费时间,无法保证图片搜索提供的实时性。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种识别重复图片的方法、图片搜索去重方法及其装置。
本发明实施例提供了一种识别重复图片的方法,该方法包括:
确定待识别图片的Phash值,对所述Phash值进行分段,得到分段后的每个Phash分值;
判断所述待识别图片分段后的每个Phash分值是否命中拉链数据库中其他图片分段后的Phash分值;
当待识别图片的Phash分值命中拉链数据库中其他图片的Phash分值时,确定所述待识别图片与拉链数据库中的其他图片是否重复;
否则,将所述待识别图片的信息保存到所述拉链数据库中。
为了提高相同图片的识别准确性,所述确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
针对Phash分值被命中的拉链数据库中的每个其他图片,根据该待识别图片的Phash值和每个其他图片Phash值的汉明距离,确定所述待识别图片与拉链数据库中的其他图片是否重复。
为了提高相同图片的识别准确性,所述确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
确定所述待识别图片与所述每个其他图片的汉明距离,提取所述汉明距离的最小值;
判断所述最小值是否小于设定的比较阈值;
当所述最小值小于设定的比较阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与拉链数据库中的其他图片不重复。
为了提高相同图片的识别准确性,所述确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
针对每个其他图片中的第一图片,确定该待识别图片的Phash值与该第一图片的Phash值的汉明距离,并判断该汉明距离是否小于设定的第一阈值;
当该汉明距离小于设定的第一阈值时,确定该待识别图片与该第一图片重复;
当该汉明距离不小于设定的第一阈值时,判断所述汉明距离是否小于设定的第二阈值,其中第一阈值小于第二阈值;
当所述汉明距离小于设定的第二阈值时,确定所述待识别图片与所述剩余的每个其他图片的汉明距离,提取所述汉明距离的最小值,判断所述最小值是否小于设定的第一阈值,当所述最小值小于设定的第一阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与所述其他图片不重复。
为了提高相同图片的识别效率,所述将所述待识别图片的信息保存到所述拉链数据库中包括:
将所述待识别图片的Phash分值及所述待识别图片的Phash值保存在所述拉链数据库的头部,其中所述拉链数据库按照图片产生的时间,从前到后保存各图片的信息。
进一步地,所述待识别图片包括新闻图片和热点图片。
进一步地,所述对所述Phash值进行分段包括:
将所述Phash值分为多个单元段,每个单元段采用不同的比特数;
采用顺序移位方法,得到每个Phash分值。
本发明实施例提供了一种图片搜索去重的方法,该方法包括:
接收用户输入的查询词,并搜索与用户输入的查询词相匹配的图片资源;
去除图片资源中的重复图片;
将去除重复图片后的图片资源结果返回给所述用户。
进一步地,所述去除图片资源中的重复图片可以通过采用上述识别重复图片的方法得到。
本发明实施例提供了一种识别重复图片的装置,该装置包括:
分段模块,用于确定待识别图片的Phash值,对所述Phash值进行分段,得到分段后的每个Phash分值;
拉链数据库,用于存储图片的Phash值及每个Phash分值;
判断模块,用于判断所述待识别图片分段后的每个Phash分值是否命中拉链数据库中的其他图片分段后的Phash分值;
比较识别模块,用于当判断模块判断所述待识别图片的Phash分值命中拉链数据库中其他图片的Phash分值时,确定所述待识别图片与拉链数据库中的其他图片是否重复;当判断模块判断待识别图片的每个Phash分值未命中拉链数据库中的其他图片的Phash分值时,将所述待识别图片的信息保存到所述拉链数据库中。
为了提高相同图片的识别准确性,所述比较识别模块,具体用于针对Phash分值被命中的拉链数据库中的每个其他图片,根据该待识别图片的Phash值和每个其他图片Phash值的汉明距离,确定所述待识别图片与拉链数据库中的其他图片是否重复。
为了提高相同图片的识别准确性,所述比较识别模块,具体用于确定所述待识别图片与所述每个其他图片的汉明距离,提取所述汉明距离的最小值;判断所述最小值是否小于设定的比较阈值;当所述最小值小于设定的比较阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与拉链数据库中的其他图片不重复。
为了提高相同图片的识别准确性,所述比较识别模块,具体用于针对每个其他图片中的第一图片,确定该待识别图片的Phash值与该第一图片的Phash值的汉明距离;判断该汉明距离是否小于设定的第一阈值;当该汉明距离小于设定的第一阈值时,确定该待识别图片与该第一图片重复;当该汉明距离不小于设定的第一阈值时,判断所述汉明距离是否小于设定的第二阈值,其中第一阈值小于第二阈值;当所述汉明距离小于设定的第二阈值时,确定所述待识别图片与所述剩余的每个其他图片的汉明距离,提取所述汉明距离的最小值,判断所述最小值是否小于设定的第一阈值,当所述最小值小于设定的第一阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与所述其他图片不重复。
为了提高相同图片的识别效率,所述比较识别模块,具体用于将所述待识别图片的Phash分值及所述待识别图片的Phash值保存在所述拉链数据库的头部,其中所述拉链数据库按照图片产生的时间,从前到后保存各图片的信息。
进一步地,所述分段模块,具体用于将所述Phash值分为多个单元段,每个单元段采用不同的比特数;采用顺序移位方法,得到每个Phash分值。
本发明实施例提供了一种图片搜索去重的装置,该装置包括:
接收搜索模块,用于接收用户输入的查询词,并搜索与用户输入的查询词相匹配的图片资源;
去重模块,用于去除图片资源中的重复图片;
提供模块,用于将去除重复图片后的图片资源结果返回给所述用户。
进一步地,所述去重模块去除图片资源中的重复图片可以通过采用上述的识别重复图片的装置得到。
本发明实施例提供了一种识别重复图片的方法、图片搜索去重方法及其装置,该方法中将待识别图片的Phash值分段,得到每个Phash分值,将待识别图片的每个Phash分值与拉链数据库中保存的每个图片的Phash分值进行比较,当待识别图片的Phash分值命中拉链数据库中其他图片的Phash分值时,确定待识别图片是否与其他图片重复。由于在本发明实施例中将图片的Phash值进行分段得到了多个Phash分值,当某一Phash分值命中拉链数据库中其他图片的Phash分值时,才比较该图片的Phash值及与其命中的其他图片的Phash值,因此保证了重复图片识别的准确性,同时也能有效的提高重复图片的识别效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种识别重复图片的过程示意图;
图2为本发明实施例一提供的一种识别重复图片的过程示意图;
图3为本发明实施例二提供的一种识别重复图片的过程示意图;
图4为本发明实施例提供的一种图片搜索去重的过程示意图;
图5为本发明实施例提供的一种识别重复图片的装置结构示意图;
图6为本发明实施例提供的一种图片搜索去重的装置结构示意图。
具体实施方式
为了保证相同图片识别的准确性,并提高相同图片的识别效率,本发明实施例提供了一种识别重复图片的方法、图片搜索去重的方法及其装置。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合说明附图,对本发明实施例进行说明。
图1为本发明实施例提供的一种识别重复图片的过程示意图,该过程包括以下步骤:
S101:确定待识别图片的Phash值,对所述Phash值进行分段,得到分段后的每个Phash分值。
在相同图片识别的过程中,针对每张图片都采用该预设的方法对图片的Phash值进行分段,这样可以保证每张图片的Phash值都采用相同的方式进行分段,便于后续Phash分值的比较。
S102:判断所述待识别图片分段后的每个Phash分值是否命中拉链数据库中其他图片分段后的Phash分值,当判断结果为是时,进行步骤S103,否则,进行步骤S104。
所述待识别图片分段后的Phash分值命中拉链数据库中的其他图片分段后的Phash分值包括:
所述待识别图片分段后的Phash分值与拉链数据库中的其他图片分段后的Phash分值相同。
待识别图片的Phash值进行分段后,得到多个Phash分值,例如分别为P1、P2、P3、……、Pn,相应的拉链数据库中的每张图片的也都对应的存在n个Phash分值。在进行判断时,将待识别图片分段后的Phash分值P1分别与拉链数据库中每张图片分段后的每个Phash分值分别进行比较,判断该待识别图片分段后的Phash分值P1是否命中拉链数据库中其他图片分段后的Phash分值,即判断该待识别图片分段后的Phash分值P1是否与拉链数据库中某一图片分段后的某一Phash分值相同。当该待识别图片分段后的Phash分值P1与拉链数据库中第二图片分段后的某一Phash分值相同时,确定该待识别图片分段后的Phash分值P1命中拉链数据库中第二图片分段后的该Phash分值。
另外,针对待识别图片的其他Phash分值也采用上述过程,一一判断该待识别图片每个Phash分值是否命中拉链数据库中其他图片的Phash分值。
S103:确定所述待识别图片与拉链数据库中的其他图片是否重复。
具体的,确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
针对Phash分值被命中的拉链数据库中的每个其他图片,根据该待识别图片的Phash值和每个其他图片Phash值的汉明距离,确定所述待识别图片与拉链数据库中的其他图片是否重复。
在比较待识别图片的Phash值与命中图片的Phash值的汉明距离时,可以设定比较阈值,当待识别图片的Phash值与命中图片的Phash值的汉明距离小于设定的比较阈值时,确定待识别图片和命中图片为重复图片,否则,确定待识别图片和命中图片不重复。
S104:将所述待识别图片的信息保存到所述拉链数据库中。
当待识别图片的每个Phash分值未命中拉链数据库中的每个图片的Phash分值时,确定该拉链数据库中不存在与待识别图片重复的图片,或者,通过比较汉明距离,确定待识别图片和命中图片不重复时,为了方便后续重复图片的识别,将待识别图片的信息添加到拉链数据库中,该拉链数据库中保存的每张图片都不重复。
由于在本发明实施例中将图片的Phash值进行分段得到了多个Phash分值,当某一Phash分值命中拉链数据库中其他图片的Phash分值时,才比较该图片的Phash值及与其命中的其他图片的Phash值,因此保证了重复图片识别的准确性,同时也能有效的提高重复图片的识别效率。
本发明实施例中拉链数据库用于保存图片的信息,包括:图片的Phash值及图片的Phash分值,该拉链数据库中还可以保存图片的标识信息,例如图片在搜索结果中的序号,或者图片在整个的识别过程中的序号等等。
在针对每个图片搜索的结果进行重复图片识别之初,该拉链数据库为空,在进行后续的识别过程中,根据识别的结果,将与拉链数据库中保存的图片不重复的图片的信息保存到该拉链数据库中,因此可以认为该拉链数据库中保存的每张图片都不同。具体的,该拉链数据库可以将每张图片的每个Phash分值作为该图片的多个key值,将该图片的Phash值作为该图片的拉链数据保存。并且该拉链数据库中为了具体的区分每张图片,并减小数据的存储量,还可以保存搜索结果中该图片的ID,或者按照图片保存到拉链数据库的顺序,确定每个图片在该拉链数据库中的ID。
基于用户的输入搜索到了多张图片后,针对每张图片,确定该图片的Phash值,并按照预设的方法对该Phash值进行分段,得到分段后的每个Phash分值。具体的在对图片的Phash值进行分段时,只要每张图片采用的是相同的分段方式即可,无论是直接将Phash值分段,还是采用顺序移位的思想将Phash值分段,或者是采用间隔提取的方式确定每个Phash分值都可以。另外分段后的Phash分值包含多少bit也是可以任意确定的,只要针对不同图片,在确定每个Phash分值时,采用了相同的确定方式即可。
具体的,图片的Phash值为一个64bit的数值,在本发明实施例中可以选取Phash值21bit表示,为了减少比较的次数,将21bit分为3个单元段,每个单元段分别为8bit、7bit和6bit,采用顺序移位思想,最终产生对应掩码数据位512个,消重后的数据量为506,即每个数据最多分到506个拉链中,而产生的最大拉链数为2^8*2^7*2^6=200w。
下面以一个具体的例子来说明,对Phash值进行分段的过程。
考虑到新闻数据时效性,预估最大量200w(数据会过期失效),选取phash值21bit表示,为了减少比较次数,将21bit分成3个单元段,分别为8bit,7bit,6bit,采用顺序移位思想,最终产生对应掩码数据为512个,消重后数据量为506,即每个数据最多分到506个拉链中,而产生最大拉链数为2^8*2^7*2^6=200w,每个拉链位于拉链数据库中。在本发明实施例中每个拉链可以作为每个Phash分值的key值。
得到待识别的图片的每个Phash分值后,将该图片的每个Phash分值分别与拉链数据库保存的每张图片的Phash分值进行比较,判断该待识别图片的每个Phash分值是否命中拉链数据库中其他图片的Phash分值。拉链数据库中保存有多张不同图片的信息,包括每张图片的Phash分值和Phash值。当将待识别图片的每个Phash分值与拉链数据库中其他图片的Phash分值进行命中判断时,具体针对待识别图片的每个Phash分值,判断该拉链数据库中保存的每张图片的每个Phash分值是否与该待识别图片的该Phash分值相同,当相同时,认为该待识别图片的该Phash分值命中拉链数据库中该其他图片的Phash分值。
拉链数据库中保存的每张图片的Phash分值存在多个,并且拉链数据库中保存了多张图片的Phash分值,在针对每张待识别的图片,判断该图片的每个Phash分值是否命中拉链数据库中其他图片的Phash分值时,很可能存在该待识别图片的某一Phash分值命中拉链数据库中多个图片的Phash分值的情况,例如该待识别图片的第一Phash分值命中第二图片的第一Phash分值,并命中第三图片的第二Phash分值。也可能会存在,该待识别图片的多个Phash分值在拉链数据库中都存在命中的Phash分值,例如待识别图片的第一Phash分值在拉链数据库命中4张图片的Phash分值,第二Phash分值命中拉链数据库中3张图片的Phash分值等。
确定了待识别图片的每个Phash分值在拉链数据库中命中的Phash分值后,比较该待识别图片的Phash值及每个命中的Phash分值的图片的Phash值的汉明距离,判断该待识别图片是否与该图片重复。
图2为本发明实施例一提供的一种识别重复图片的过程示意图,该过程包括以下步骤:
S201:提取搜索结果中的待识别图片,确定该待识别图片的Phash值。
S202:按照预设的方法对该Phash值进行分段,得到分段后的每个Phash分值。
S203:提取该待识别图片的每个Phash分值,将该每个Phash分值与拉链数据库中每张图片的每个Phash分值进行比较,判断每个Phash分值是否命中拉链数据库中其他图片的Phash分值,当判断结果为是时,进行步骤S204,否则,进行步骤S207。
S204:比较该待识别图片的Phash值与命中图片的Phash值的汉明距离是否小于设定的比较阈值,当判断结果为是时,进行步骤S205,否则,进行步骤S206。
将拉链数据库中Phash分值与该待识别图片的Phash分值命中的图片称为命中图片。
S205:确定该待识别图片与该命中图片为重复图片。
S206:当前命中图片是否为命中图片中的最后一张图片,判断结果为是时,进行步骤S207,否则,针对该命中的下一张图片,进行步骤S204。
S207:将该待识别图片在搜索结果中的ID,该待识别图片的每个Phash分值及Phash值添加到拉链数据库中。
或者,本发明实施例为了提高重复图片的识别效率,根据待识别图片的每个Phash分值,确定了每个Phash分值命中的拉链数据库中其他图片的Phash分值后,将该命中的Phash分值对应的其他图片作为命中图片。在确定该待识别图片与拉链数据库中的命中图片是否重复时包括:
确定所述待识别图片与所述每个其他图片的汉明距离,提取所述汉明距离的最小值;
判断所述最小值是否小于设定的比较阈值;
当所述最小值小于设定的比较阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与拉链数据库中的其他图片不重复。
在具体实施时,可以依次确定该待识别图片和每个命中图片的汉明距离,选择汉明距离最小值,判断该汉明距离的最小值是否小于设定的比较阈值,当该汉明距离的最小值小于设定的比较阈值时,确定该待识别图片与该距离最小值对应的图片为重复图片。
在本发明实施例中为了提高重复图片识别的准确性,所述确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
针对每个其他图片中的第一图片,确定该待识别图片的Phash值与该第一图片的Phash值的汉明距离,并判断该汉明距离是否小于设定的第一阈值;
当该汉明距离小于设定的第一阈值时,确定该待识别图片与该第一图片重复;
当该汉明距离不小于设定的第一阈值时,判断所述汉明距离是否小于设定的第二阈值,其中第一阈值小于第二阈值;
当所述汉明距离小于设定的第二阈值时,确定所述待识别图片与所述剩余的每个其他图片的汉明距离,提取所述汉明距离的最小值,判断所述最小值是否小于设定的第一阈值,当所述最小值小于设定的第一阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与所述其他图片不重复。
第一阈值可以作为可信阈值,当两张图片的汉明距离小于第一阈值时,可以认为该两张图片为重复图片;第二阈值可以认为是中度可信阈值,当两张图片的汉明距离大于第一阈值时,但小于第二阈值时,将该待识别图片添加到可疑图片队列中,继续判断该待识别图片是否与其他命中图片的汉明距离,从而确定该待识别图片是否与拉链数据库中的图片重复。
进一步的,为了提高重复图片的识别效率,也可以分别确定待识别图片与命中图片的汉明距离,提取汉明距离的最小值,将该最小值与设定的第一阈值和第二阈值进行比较,从而判断该待识别图片是否与拉链数据库中的图片重复。
图3为本发明实施例二提供的一种识别重复图片的过程示意图,该过程包括以下步骤:
S301:确定待识别图片的Phash值,并按照预设的方法对所述Phash值进行分段,得到分段后的每个Phash分值。
S302:提取该待识别图片的每个Phash分值,将每个Phash分值分别与拉链数据库中每个图片的Phash分值进行比较,判断每个Phash分值是否命中拉链数据库中其他图片的Phash分值,当判断结果为是时,进行步骤S303,否则,进行步骤S306。
S303:确定该待识别图片与每个命中图片的汉明距离,提取汉明距离的最小值。
将拉链数据库中Phash分值与该待识别图片的Phash分值命中的图片称为命中图片。
S304:判断该汉明距离的最小值是否小于设定的比较阈值,当判断结果为是时,进行步骤S305,否则,进行步骤S306。
S305:该待识别图片在该拉链数据库中存在重复的图片。
S306:该待识别图片与拉链数据库中的图片都不重复,将该待识别图片的信息保存到拉链数据库中。
在本发明实施例中确定了该待识别图片与其他图片的汉明距离后,将该汉明距离与两个阈值进行比较,可以有效的保证重复图片识别的准确性,不影响重复图片识别装置的召回。
为了有效的提高重复图片识别的效率,能够快速的查找到重复图片,在本发明实施例中当确定待识别的图片与拉链数据库中的图片重复时,在将待识别图片的信息保存到拉链数据库中时,将所述待识别图片的Phash分值及所述待识别图片的Phash值保存在所述拉链数据库的头部,其中所述拉链数据库按照图片产生的时间,从前到后保存各图片。
例如待识别图片可以是新闻图片和热点图片。这是因为基于同一事件的图片会在同一时间出现,因此基于事件的临近性及出现的图片的临近性,在本发明实施例中当确定待识别图片在拉链数据库中不存在重复图片时,将该待识别图片的信息添加到拉链数据库的头部,即该拉链数据库的前面,因此在进行重复图片识别时,可以首先判断拉链数据库头部的图片是否与该待识别图片重复,从而提高重复图片识别的效率。
下面通过一个具体的实施例,说明本发明实施例的重复图片的识别过程。
待识别图片的Phash值为M,按照预设的方法对该Phash值进行分段后,得到该待识别图片分段后的每个Phash值P1、P2、……、Pn。设定的第一阈值为a,第二阈值为b,a<b。
将该待识别图片的Phash分值P1与拉链数据库中的其他图片的每个Phash分值比较,判断该待识别图片的Phash分值P1是否命中拉链数据库中其他图片的Phash分值,例如该待识别图片的Phash分值P1命中拉链数据库中图片1的某一Phash分值,并命中图片2的某一Phash分值。将待识别图片的Phash分值P2与拉链数据库中的其他图片的每个Phash分值比较,判断该待识别图片的Phash分值P2是否命中拉链数据库中其他图片的Phash分值,例如该待识别图片的Phash分值P2命中拉链数据库中图片1的另一Phash分值,并命中图片3的某一Phash分值。
依次将该待识别图片的每个Phash分值,分别与拉链数据库中其他图片的每个Phash分值进行比较,判断是否命中拉链数据库中其他图片的Phash分值,从而确定该待识别图片命中的拉链数据库中的每个图片。如果待识别图片的每个Phash分值都未命中拉链数据库中的其他图片的每个Phash分值时,则确定该待识别图片与拉链数据库中的每张图片都不重复,将该待识别图片的标识信息,该图片的每个Phash分值及Phash值保存到拉链数据库中,该待识别图片的标识信息可以为该图片在搜索结果中的排序的序号,或者该图片整个重复图片识别过程中的序号等。
确定了待识别图片在拉链数据库中命中的每个图片后,针对每个命中图片,比较该待识别图片的Phash值与该命中图片的Phash值的汉明距离,判断该汉明距离是否小于设定的第一阈值,当该汉明距离小于设定的第一阈值a时,即该汉明距离位于[0,a)区间时,确定该待识别图片与拉链数据库中图片重复。
当该汉明距离大于设定的第一阈值a但小于设定的第二阈值b时,即该汉明距离位于[a,b)区间时,其中a小于b,将该待识别图片添加到可以队列中。比较该待识别图片与其他命中图片的汉明距离,识别该汉明距离的最小值,当该最小值小于设定的第一阈值a时,确定该待识别图片与拉链数据库中图片重复,否则,确定该待识别图片与拉链数据库中的图片都不重复,将该待识别图片的标识信息,该图片的每个Phash分值及Phash值保存到拉链数据库中。
当该汉明距离大于设定的第二阈值b时,即该汉明距离位于[b,∞)区间时,确定该待识别图片与拉链数据库中的图片都不重复,将该待识别图片的标识信息,该图片的每个Phash分值及Phash值保存到拉链数据库中。
图4为本发明实施例提供的一种图片搜索去重的过程示意图,该过程包括:
S401:接收用户输入的查询词,并搜索与用户输入的查询词相匹配的图片资源。
S402:确定图片资源中每张图片的Phash值,并按照预设的方法对所述Phash值进行分段,得到分段后的每个Phash分值。
S403:提取该待识别图片的每个Phash分值,将每个Phash分值分别与拉链数据库中每个图片的Phash分值进行比较,判断每个Phash分值是否命中拉链数据库中其他图片的Phash分值,当判断结果为是时,进行步骤S404,否则,进行步骤S409。
S404:确定该待识别图片与每个命中图片的汉明距离,提取汉明距离的最小值。
S405:判断该汉明距离的最小值是否小于设定的比较阈值,当判断结果为是时,进行步骤S406,否则,进行步骤S409。
S406:该待识别图片在该拉链数据库中存在重复的图片。
S407:判断该待识别图片是否为该图片资源相关信息中的最后一张图片,当判断结果为是时,进行步骤S408,否则,将下一张图片作为待识别图片,进行步骤S403。
S408:将去除重复图片后的拉链数据库中的图片返回给所述用户。
S409:该待识别图片与拉链数据库中的图片都不重复,将该待识别图片添加到拉链数据库的前面。之后进行步骤S407。
由于在本发明实施例中将图片的Phash值进行分段得到了多个Phash分值,当某一Phash分值命中拉链数据库中其他图片的Phash分值时,才比较该图片的Phash值及与其命中的其他图片的Phash值,因此保证了重复图片识别的准确性,同时也能有效的提高重复图片的识别效率。
图5为本发明实施例提供的一种识别重复图片的装置结构示意图,所述装置包括:
分段模块51,用于确定待识别图片的Phash值,对所述Phash值进行分段,得到分段后的每个Phash分值;
拉链数据库52,用于存储图片的Phash值及每个Phash分值;
判断模块53,用于判断所述待识别图片分段后的每个Phash分值是否命中拉链数据库中的其他图片分段后的Phash分值;
比较识别模块54,用于当判断模块判断所述待识别图片的Phash分值命中拉链数据库中其他图片的Phash分值时,确定所述待识别图片与拉链数据库中的其他图片是否重复;当判断模块判断待识别图片的每个Phash分值未命中拉链数据库中的其他图片的Phash分值时,将所述待识别图片的信息保存到所述拉链数据库中。
所述比较识别模块54,具体用于针对Phash分值被命中的拉链数据库中的每个其他图片,根据该待识别图片的Phash值和每个其他图片Phash值的汉明距离,确定所述待识别图片与拉链数据库中的其他图片是否重复。
所述判断模块53,具体用于判断待识别图片的Phash分值与拉链数据库中的其他图片的Phash分值是否相同。
所述比较识别模块54,具体用于确定所述待识别图片与所述每个其他图片的汉明距离,提取所述汉明距离的最小值;判断所述最小值是否小于设定的比较阈值;当所述最小值小于设定的比较阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与拉链数据库中的其他图片不重复。
所述比较识别模块54,具体用于针对每个其他图片中的第一图片,确定该待识别图片的Phash值与该第一图片的Phash值的汉明距离;判断该汉明距离是否小于设定的第一阈值;当该汉明距离小于设定的第一阈值时,确定该待识别图片与该第一图片重复;当该汉明距离不小于设定的第一阈值时,判断所述汉明距离是否小于设定的第二阈值,其中第一阈值小于第二阈值;当所述汉明距离小于设定的第二阈值时,确定所述待识别图片与所述剩余的每个其他图片的汉明距离,提取所述汉明距离的最小值,判断所述最小值是否小于设定的第一阈值,当所述最小值小于设定的第一阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与所述其他图片不重复。
所述比较识别模块54,具体用于将所述待识别图片的Phash分值及所述待识别图片的Phash值保存在所述拉链数据库的头部,其中所述拉链数据库按照图片产生的时间,从前到后保存各图片的信息。
所述分段模块51,具体用于将所述Phash值分为多个单元段,每个单元段采用不同的比特数;采用顺序移位方法,得到每个Phash分值。
图6为本发明实施例提供的一种图片搜索去重的装置结构示意图,所述装置包括:
接收搜索模块61,用于接收用户输入的查询词,并搜索与用户输入的查询词相匹配的图片资源;
去重模块62,用于去除图片资源中的重复图片;
提供模块63,用于将去除重复图片后的图片资源结果返回给所述用户;
所述去重模块62去除图片资源中的重复图片通过采用上述识别重复图片的装置得到。
本发明实施例提供了一种识别重复图片的方法、图片搜索去重方法及其装置,该方法中将待识别图片的Phash值分段,得到每个Phash分值,将待识别图片的每个Phash分值与拉链数据库中保存的每个图片的Phash分值进行比较,当待识别图片的Phash分值命中拉链数据库中其他图片的Phash分值时,确定待识别图片是否与其他图片重复。由于在本发明实施例中将图片的Phash值进行分段得到了多个Phash分值,当某一Phash分值命中拉链数据库中其他图片的Phash分值时,才比较该图片的Phash值及与其命中的其他图片的Phash值,因此保证了重复图片识别的准确性,同时也能有效的提高重复图片的识别效率。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的通过相同图片的识别装置及搜索装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种识别重复图片的方法,其特征在于,该方法包括:
确定待识别图片的Phash值,对所述Phash值进行分段,得到分段后的每个Phash分值;
判断所述待识别图片分段后的每个Phash分值是否命中拉链数据库中其他图片分段后的Phash分值;
当待识别图片的Phash分值命中拉链数据库中其他图片的Phash分值时,确定所述待识别图片与拉链数据库中的其他图片是否重复;
否则,将所述待识别图片的信息保存到所述拉链数据库中;
其中,所述将所述待识别图片的信息保存到所述拉链数据库中包括:
将所述待识别图片的Phash分值及所述待识别图片的Phash值保存在所述拉链数据库的头部,其中所述拉链数据库按照图片产生的时间,从前到后保存各图片的信息。
2.如权利要求1所述的方法,其特征在于,所述确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
针对Phash分值被命中的拉链数据库中的每个其他图片,根据该待识别图片的Phash值和每个其他图片Phash值的汉明距离,确定所述待识别图片与拉链数据库中的其他图片是否重复。
3.如权利要求2所述的方法,其特征在于,所述确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
确定所述待识别图片与所述每个其他图片的汉明距离,提取所述汉明距离的最小值;
判断所述最小值是否小于设定的比较阈值;
当所述最小值小于设定的比较阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与拉链数据库中的其他图片不重复。
4.如权利要求1~2任一项所述的方法,其特征在于,所述确定所述待识别图片与拉链数据库中的其他图片是否重复包括:
针对每个其他图片中的第一图片,确定该待识别图片的Phash值与该第一图片的Phash值的汉明距离,并判断该汉明距离是否小于设定的第一阈值;
当该汉明距离小于设定的第一阈值时,确定该待识别图片与该第一图片重复;
当该汉明距离不小于设定的第一阈值时,判断所述汉明距离是否小于设定的第二阈值,其中第一阈值小于第二阈值;
当所述汉明距离小于设定的第二阈值时,确定所述待识别图片与剩余的每个其他图片的汉明距离,提取汉明距离的最小值,判断所述最小值是否小于设定的第一阈值,当所述最小值小于设定的第一阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与所述其他图片不重复。
5.如权利要求1~2任一项所述的方法,其特征在于,所述待识别图片包括新闻图片和热点图片。
6.如权利要求1~2任一项所述的方法,其特征在于,所述对所述Phash值进行分段包括:
将所述Phash值分为多个单元段,每个单元段采用不同的比特数;
采用顺序移位方法,得到每个Phash分值。
7.一种识别重复图片的装置,其特征在于,所述装置包括:
分段模块,用于确定待识别图片的Phash值,对所述Phash值进行分段,得到分段后的每个Phash分值;
拉链数据库,用于存储图片的Phash值及每个Phash分值;
判断模块,用于判断所述待识别图片分段后的每个Phash分值是否命中拉链数据库中的其他图片分段后的Phash分值;
比较识别模块,用于当判断模块判断所述待识别图片的Phash分值命中拉链数据库中其他图片的Phash分值时,确定所述待识别图片与拉链数据库中的其他图片是否重复;当判断模块判断待识别图片的每个Phash分值未命中拉链数据库中的其他图片的Phash分值时,将所述待识别图片的信息保存到所述拉链数据库中;其中将所述待识别图片的Phash分值及所述待识别图片的Phash值保存在所述拉链数据库的头部,其中所述拉链数据库按照图片产生的时间,从前到后保存各图片的信息。
8.如权利要求7所述的装置,其特征在于,所述比较识别模块,具体用于针对Phash分值被命中的拉链数据库中的每个其他图片,根据该待识别图片的Phash值和每个其他图片Phash值的汉明距离,确定所述待识别图片与拉链数据库中的其他图片是否重复。
9.如权利要求8所述的装置,其特征在于,所述比较识别模块,具体用于确定所述待识别图片与所述每个其他图片的汉明距离,提取所述汉明距离的最小值;判断所述最小值是否小于设定的比较阈值;当所述最小值小于设定的比较阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与拉链数据库中的其他图片不重复。
10.如权利要求7~8任一项所述的装置,其特征在于,所述比较识别模块,具体用于针对每个其他图片中的第一图片,确定该待识别图片的Phash值与该第一图片的Phash值的汉明距离;判断该汉明距离是否小于设定的第一阈值;当该汉明距离小于设定的第一阈值时,确定该待识别图片与该第一图片重复;当该汉明距离不小于设定的第一阈值时,判断所述汉明距离是否小于设定的第二阈值,其中第一阈值小于第二阈值;当所述汉明距离小于设定的第二阈值时,确定所述待识别图片与剩余的每个其他图片的汉明距离,提取汉明距离的最小值,判断所述最小值是否小于设定的第一阈值,当所述最小值小于设定的第一阈值时,确定所述待识别图片与拉链数据库中的其他图片重复,否则,确定该待识别图片与所述其他图片不重复。
11.如权利要求7~8任一项所述的装置,其特征在于,所述分段模块,具体用于将所述Phash值分为多个单元段,每个单元段采用不同的比特数;采用顺序移位方法,得到每个Phash分值。
CN201410247778.2A 2014-06-05 2014-06-05 一种识别重复图片的方法、图片搜索去重方法及其装置 Expired - Fee Related CN103984776B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410247778.2A CN103984776B (zh) 2014-06-05 2014-06-05 一种识别重复图片的方法、图片搜索去重方法及其装置
PCT/CN2015/080713 WO2015184992A1 (zh) 2014-06-05 2015-06-03 一种识别重复图片的方法、图片搜索去重方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410247778.2A CN103984776B (zh) 2014-06-05 2014-06-05 一种识别重复图片的方法、图片搜索去重方法及其装置

Publications (2)

Publication Number Publication Date
CN103984776A CN103984776A (zh) 2014-08-13
CN103984776B true CN103984776B (zh) 2017-05-03

Family

ID=51276748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410247778.2A Expired - Fee Related CN103984776B (zh) 2014-06-05 2014-06-05 一种识别重复图片的方法、图片搜索去重方法及其装置

Country Status (2)

Country Link
CN (1) CN103984776B (zh)
WO (1) WO2015184992A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984776B (zh) * 2014-06-05 2017-05-03 北京奇虎科技有限公司 一种识别重复图片的方法、图片搜索去重方法及其装置
CN104461297A (zh) * 2014-12-05 2015-03-25 上海斐讯数据通信技术有限公司 一种具有屏幕的移动终端及其屏幕图像截取方法
CN104881470B (zh) * 2015-05-28 2018-05-08 暨南大学 一种面向海量图片数据的重复数据删除方法
CN106560840B (zh) * 2015-09-30 2019-08-13 腾讯科技(深圳)有限公司 一种图像信息识别处理方法及装置
CN105678334A (zh) * 2016-01-05 2016-06-15 广州市久邦数码科技有限公司 一种识别重复照片的方法及其实现系统
CN105930499B (zh) * 2016-05-09 2019-11-22 深圳市数极科技有限公司 一种图片搜索方法及系统
CN106327426A (zh) * 2016-08-19 2017-01-11 携程计算机技术(上海)有限公司 图像去重方法及系统
CN106682130B (zh) * 2016-12-14 2022-11-15 北京五八信息技术有限公司 相似图片检测方法和装置
CN107169057B (zh) * 2017-04-27 2022-04-05 腾讯科技(深圳)有限公司 一种重复图片的检测方法和装置
CN107729935B (zh) * 2017-10-12 2019-11-12 杭州贝购科技有限公司 相似图片的识别方法和装置、服务器、存储介质
US11055344B2 (en) 2018-03-21 2021-07-06 Walmart Apollo, Llc Product image evaluation system and method
CN109033261B (zh) * 2018-07-06 2021-06-22 北京旷视科技有限公司 图像处理方法、装置、处理设备及其存储介质
CN109189963B (zh) * 2018-08-31 2021-07-06 北京诸葛找房信息技术有限公司 一种基于房源信息相似度与图片识别的房源去重方法
CN109040784A (zh) * 2018-09-14 2018-12-18 北京蓝拓扑科技股份有限公司 广告检测方法及装置
CN110321447A (zh) * 2019-07-08 2019-10-11 北京字节跳动网络技术有限公司 重复图像的确定方法、装置、电子设备及存储介质
CN111552864B (zh) * 2020-03-20 2023-09-12 上海恒生聚源数据服务有限公司 一种资讯去重的方法、系统、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353990A (zh) * 2013-06-19 2013-10-16 海南大学 一种基于感知哈希的智能纹理防伪方法
CN103678702A (zh) * 2013-12-30 2014-03-26 优视科技有限公司 视频去重方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350826B (zh) * 2008-08-22 2012-09-05 中兴通讯股份有限公司 用于通信系统的图片或多媒体视频图片的监控方法
CN101887457B (zh) * 2010-07-02 2012-10-03 杭州电子科技大学 基于内容的复制图像检测方法
CN102622366B (zh) * 2011-01-28 2014-07-30 阿里巴巴集团控股有限公司 相似图像的识别方法和装置
CN102567473A (zh) * 2011-12-14 2012-07-11 鸿富锦精密工业(深圳)有限公司 网络信息检索系统及检索方法
CN103984776B (zh) * 2014-06-05 2017-05-03 北京奇虎科技有限公司 一种识别重复图片的方法、图片搜索去重方法及其装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353990A (zh) * 2013-06-19 2013-10-16 海南大学 一种基于感知哈希的智能纹理防伪方法
CN103678702A (zh) * 2013-12-30 2014-03-26 优视科技有限公司 视频去重方法及装置

Also Published As

Publication number Publication date
CN103984776A (zh) 2014-08-13
WO2015184992A1 (zh) 2015-12-10

Similar Documents

Publication Publication Date Title
CN103984776B (zh) 一种识别重复图片的方法、图片搜索去重方法及其装置
CN106815263B (zh) 法律条文的搜索方法及装置
CN106547744B (zh) 一种图像检索方法及系统
CN110765860B (zh) 摔倒判定方法、装置、计算机设备及存储介质
US9576218B2 (en) Selecting features from image data
CN109726746B (zh) 一种模板匹配的方法及装置
CN106055704B (zh) 一种图像检索与匹配方法及系统
CN107209853A (zh) 定位和地图构建方法
JP2020525935A (ja) 重複ビデオの判定方法及び装置
CN110019891B (zh) 图像存储方法、图像检索方法及装置
CN110162665B (zh) 视频搜索方法、计算机设备及存储介质
CN107679872A (zh) 基于区块链的艺术品鉴别方法及装置、电子设备
CN108881947A (zh) 一种直播流的侵权检测方法及装置
JP2004525471A5 (zh)
CN109685528A (zh) 基于深度学习检测仿冒产品的系统和方法
US9015132B2 (en) Name search using multiple bitmap distributions
CN105930505A (zh) 一种信息搜索方法及装置
CN106934679A (zh) 信息匹配方法及装置
CN104036261A (zh) 人脸识别方法和系统
CN107992402A (zh) 日志管理方法及日志管理装置
US8380004B1 (en) Object image matching and applications thereof
CN108171053B (zh) 一种规则发现的方法以及系统
JP6427480B2 (ja) 画像検索装置、方法、及びプログラム
CN110019813A (zh) 寿险案例检索方法、检索装置、服务器及可读存储介质
CN106815196B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170503

Termination date: 20210605