一种图像排重方法和装置与流程

文档序号:12039265阅读:344来源:国知局
一种图像排重方法和装置与流程
本发明涉及网络技术领域,特别涉及一种图像排重方法和装置。

背景技术:
随着互联网技术的发展,网络搜索已经成为了人们浏览网络、获取信息最常用的手段之一,而网络图片的搜索又是网络搜索中一个非常重要的组成部分。用户终端在进行图片的搜索时,服务器会根据用户的搜索关键词搜索相关的图片文件,并将搜索结果提供给用户终端。然而,往往在搜索结果中会有大量的重复性的图片。图像排重就是排除图片搜索结果中的重复图片。现有技术采用的图像排重方法,一般是先获取图片文件的数据代码,然后进行比较,对于数据代码相同的图片文件,只保留其中的一个图片文件,而将其他图片文件排除。然而,发明人发现,现有技术至少存在如下问题:在进行图片文件搜索时,搜索结果中经常会出现内容非常接近,可是又不完全相同的搜索结果,根据现有技术的方法,排除数据代码相同的搜索结果,并不能将这些内容接近的搜索结果排除掉,这使得搜索结果仍然有大量重复的无效信息,浪费了大量的系统资源。

技术实现要素:
本发明的目的在于提供一种图像排重方法和装置,以提高系统资源的利用效率,为此,本发明实施例采用如下技术方案:一种图像排重的方法,包括:获取目标图片和至少一个基准图片的特征值;根据获取的所述特征值,判断所述目标图片是否与各基准图片的特征值差异度都大于预设阈值;如果是,则确定所述目标图片不与所述基准图片重复,并保留所述目标图片;否则,确定所述目标图片与所述基准图片重复,并丢弃所述目标图片。一种图像排重的装置,包括:获取模块,用于获取目标图片和至少一个基准图片的特征值;排重模块,用于根据获取的所述特征值,判断所述目标图片是否与各基准图片的特征值差异度都大于预设阈值;如果是,则确定所述目标图片不与所述基准图片重复,并保留所述目标图片;否则,确定所述目标图片与所述基准图片重复,并丢弃所述目标图片。本发明的上述实施例,获取目标图片和至少一个基准图片的特征值,根据获取的所述特征值,判断所述目标图片是否与各基准图片的特征值差异度都大于预设阈值;如果是,则确定所述目标图片不与所述基准图片重复,并保留所述目标图片;否则,确定所述目标图片与所述基准图片重复,并丢弃所述目标图片。从而,可以减小重复图片出现的可能,提高系统资源的利用效率。附图说明图1为本发明实施例提供的图像排重方法的流程示意图之一;图2为本发明实施例提供的图像排重方法的应用实例的示意图之一;图3为本发明实施例提供的图像排重方法的流程示意图之二;图4为本发明实施例提供的图像排重方法的应用实例的示意图之二;图5为本发明实施例提供的图像排重装置的结构示意图。具体实施方式下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。如图1所示,为本发明实施例提供的图像排重的方法的流程,具体包括以下步骤:步骤101,服务器获取目标图片和至少一个基准图片的特征值。当用户在用户终端输入搜索关键词,并点击开始搜索按钮时,终端将相应的搜索关键词发送给服务器,服务器则根据搜索关键词进行相应的图片搜索。当搜索到第二张图片时,便将第二张图片作为目标图片进行图像排重处理,此时的基准图片是搜索到的第一张图片。当搜索到第三张图片时,将第三张图片作为目标图片进行图像排重处理,此时的基准图片可以是第一张图片和第二张图片(如果第二张图片没有被排除)。按照此方式,每搜索到一张图片,则将此图片作为目标图片,并将之前经过排重处理保留下来的图片作为基准图片(可以是之前保留的全部图片,也可以根据具体情况选择部分图片),对新搜索到的图片进行图像排重处理。具体的,服务器可以根据图片(包括目标图片和基准图片)中像素点在预设颜色空间中不同分量的强度,确定图片的特征值。颜色空间由多个通道(一般为三个或者四个)组成,每个通道对应一个用于描述像素点显示特征的参数,对于图片中的像素点,通过对每个通道对应的参数进行相应的取值,可以确定像素点的显示特性,各通道对应的参数可称为显示该像素点的分量(或显示分量),相应的取值可称为该分量的强度(一般是0-255之间的一个数值)。每张图片都可以按照不同的颜色空间将其中的像素点颜色划分为多个分量。例如,最常见的RGB(RedGreenBlue,红绿蓝)颜色空间,将颜色空间划分为R(红)、G(绿)、B(蓝)三个通道,按照RGB颜色空间定义的图片中的像素点由R、G、B三个分量按照不同的强度组成。又例如,HSV(HueSaturationValue,色彩、饱和度、明度)颜色空间,将颜色空间划分为H(色彩)、S(饱和度)、V(明度)三个通道,按照HSV颜色空间定义的图片中的像素点由H、S、V三个分量按照不同的强度组成。需要指出的是,预设颜色空间可以根据具体情况任意选择,目标图片和基准图片要选择相同的预设颜色空间,以根据像素点在该预设颜色空间中不同分量的强度,确定图片的特征值。优选的,可以按照如下步骤确定图片的特征值。步骤一,服务器可以针对预设颜色空间的不同通道,按预设规则在图片上分别划分出至少一个区域。其中,区域的形状可以为方形、圆形或其他形状,区域的数量可以任意,区域之间可以存在间隙,也可以重叠。例如,如图2所示,可以在G通道上将图片划分出4×4个小方块,在R通道上将图片划分出3×3个小方块,在B通道上将图片划分出2×2个小方块。在进行图像排重的过程中,目标图片与各基准图片使用相同的预设规则划分区域。具体的,可以在目标图片与基准图片中划分数量相同的区域,各对应区域的尺寸、中心位置相同,这样划分,对于尺寸(分辨率)不同的图片,即使画面内容完全相同,也会被识别为不重复的图片。另外,也可以在对尺寸不同的图片划分区域时,在划分相同数量的区域的同时,根据两张图片尺寸的比例,将对应区域的尺寸进行等比例缩放,这样划分,对于尺寸不同而画面内容很接近的图片,将会被识别为重复的图片。例如,目标图片尺寸为20×20个像素点,基准图片尺寸为40×40,目标图片中某区域为中心在坐标(5,5)处,半径为5的圆形区域,基准图片中对应的区域应为中心在坐标(10,10)处,半径为10的圆形区域。当不同通道分别为不同的颜色通道(对应颜色参数的通道,例如,RGB颜色空间中R、G、B通道分别对应不同的颜色参数,所以可以称作颜色通道)时,对于视觉敏感度越高的颜色对应的颜色通道,在图片上划分的区域数量越多。例如,绿色的视觉敏感度高于红色的视觉敏感度,红色的视觉敏感度高于蓝色的视觉敏感度,那么可以在G通道上划分区域的数量最多,在R通道上划分区域的数量次之,B通道再次之。步骤二,服务器根据不同通道上各区域中相应分量的强度,确定所述图片的特征值。其中,区域中某分量的强度,可以是区域内各像素点该分量的强度的总和或者平均值。具体的,图片的特征值确定过程可以如下面流程,下面将结合RGB颜色空间的实例进行详细阐述。步骤a,对于每个通道,根据各区域中相应分量的强度,确定强度平均值。例如,在G通道上,图片中划分出Ng个小方格,对于每个小方格,分别计算其范围内所有像素的绿色分量的强度总和,计算结果分别记为G1,G2,G3,…,GNg;在R通道上,图片中划分出Nr个方格,对于每个小方格,分别计算其范围内所有像素的红色分量的强度总和,计算结果分别记为R1,R2,R3,…,RNr;在R通道上,图片中划分出Nb个方格,对于每个小方格,分别计算其范围内所有像素的蓝色分量的强度总和,计算结果分别记为B1,B2,B3,…,BNb。强度平均值即为该通道上,各区域中相应分量强度的平均值,各通道上的强度平均值,即为该通道上所有区域中相应分量强度的总和,除以划分区域的个数,R、G、B通道上的强度平均值可以分别为:步骤b,根据各通道上各区域中相应分量的强度,确定强度总平均值。强度总平均值可以为所有通道上所有区域中相应分量的强度的总和,除以所有通道上划分的区域数的总和,具体可以为:以下c、d步骤,是将上面获得的强度平均值进行二值化处理的过程。步骤c,对于每个通道,将各区域中相应分量的强度与强度平均值比较,如果小于强度平均值,则确定该区域的特征值为0,否则,确定该区域的特征值为1。各区域的特征值可以按照如下函数获得:步骤d,将各通道的强度平均值与强度总平均值比较,如果小于强度总平均值,则确定该通道的特征值为0,否则,确定该通道的特征值为1。各通道的特征值可以按照如下函数获得:步骤e,在各通道上各区域的特征值和各通道的特征值中,获取预设数目的(假设为p个)特征值,并将所述预设数目的特征值按照预设顺序顺次连接得到所述图片的特征值。例如,获取特征值f1,f2,…,fp,然后根据下面公式将其顺次合并成一个p位的二进制数F。上述预设数目可以根据具体情况任意设置,不过对于目标图片和基准图片要设置相同的预设数目,即目标图片和基准图片的特征值位数相同。上述预设顺序可以根据具体情况任意设置,不过对于目标图片和基准图片要设置相同的预设顺序。上述强度平均值和强度总平均值的计算,仅是以算数平均值为例,还可以采用几何平均值、中位数、众数等计算方式获取。步骤102,服务器根据获取的特征值,判断目标图片是否与各基准图片的特征值差异度都大于预设阈值,如果是,则执行步骤103,否则,执行步骤104。其中,目标图片与基准图片的特征值差异度,可以是目标图片的特征值与基准图片的特征值的海明距离。优选的,为了提高处理效率,可以通过建立哈希桶的方式来进行上述判断过程,如图3所示,具体处理流程如下:步骤1021,将图片(包括目标图片和各基准图片)的特征值划分为预设组数目的分组。其中,预设组数目大于预设阈值。各分组的长度可以根据具体情况任意选择;分组的数目也可以根据具体情况任意选择,只要大于预设阈值,且不超过图片特征值的位数。目标图片和各基准图片要按照相同的方式分组。优选的,为了提高处理效率,预设组数目可以为预设阈值加1,位数相同的分组的数目至少为预设组数目减1。例如,设特征值F的位数为p,预设阈值为q,将特征值F划分为q+1个分组,且前q个分组的位数为w,w可以由p/(q+1)取整加1得到,最后一个分组的位数为p-wq,一种特殊情况下,p-wq可能等于w,这时所有分组的位数都为w。步骤1022,如图4所示,对于每个分组,将分组中的特征值片段作为key,并将除去该特征值片段后的特征值作为value,建立哈希桶,并将每个分组对应的哈希桶组成哈希桶集合。q+1个分组的哈希桶集合可以记作H={H1,H2,H3,…,Hq+1}。步骤1023,将目标图片的各分组中的key与各基准图片的对应分组中的key进行比较,并判断是否存在相同的key,如果存在,则执行步骤1024,否则执行步骤1026。步骤1024,判断相同的key对应的value的海明距离是否小于或等于预设阈值,如果是,则执行步骤1025,如果所有相同的key对应的value的海明距离都大于预设阈值,则执行步骤1026。步骤1025,确定目标图片与相应的基准图片的特征值差异度不大于预设阈值。步骤1026,确定目标图片与各基准图片的特征值差异度都大于预设阈值。例如,可以先将目标图片特征值第一分组中的key与各基准图片特征值第一分组中的key比较,如果没有相同的key,则将第二分组中的key进行比较,以此类推,如果找到相同的key,则确定两个相同key对应的value的海明距离,如果小于或等于阈值q,则说明目标图片与该key对应的基准图片的海明距离小于阈值q,如果大于阈值q,则继续查找相同的key,如果查找到的所有对相同的key对应的value的海明距离都大于q,或没有找到相同的key,则说明目标图片与各基准图片的海明距离者大于阈值q。步骤103,服务器确定目标图片不与基准图片重复,并保留此目标图片。目标图片与各基准图片的特征值差异度足够高说明目标图片没有与基准图片重复,所以可以将目标图片保留到搜索结果中,向终端发送。而且,服务器可以将此目标图片增加到基准图片中,用于下一张图片的排重判断中。服务器可以将经过排重处理的所述图片作为基准图片,也可以从中选择部分图片作为基准图片步骤104,服务器确定所述目标图片与所述基准图片重复,并丢弃所述目标图片,进行下一个目标图片的排重处理。目标图片与基准图片的特征值差异度不够高,说明与该基准图片十分相似,目标图片被认为是重复图片,可以将其丢弃,不放入搜索结果中。本发明的实施例中,服务器获取目标图片和至少一个基准图片的特征值,根据获取的所述特征值,并判断所述目标图片是否与各基准图片的特征值差异度都大于预设阈值;如果是,则确定所述目标图片不与所述基准图片重复,并保留所述目标图片;否则,确定所述目标图片与所述基准图片重复,并丢弃所述目标图片。从而,可以减小重复图片出现的可能,提高系统资源的利用效率。基于相同的技术构思,本发明实施例还提供了一种图像排重装置,如图5所示,包括:获取模块510,用于获取目标图片和至少一个基准图片的特征值;排重模块520,用于根据获取的所述特征值,判断所述目标图片是否与各基准图片的特征值差异度都大于预设阈值;如果是,则确定所述目标图片不与所述基准图片重复,并保留所述目标图片;否则,确定所述目标图片与所述基准图片重复,并丢弃所述目标图片。优选的,所述获取模块510,具体用于:根据图片中像素点在预设颜色空间中不同分量的强度,确定图片的特征值;其中,所述图片包括所述目标图片和各基准图片。优选的,所述获取模块510,具体用于:针对所述预设颜色空间的不同通道,按预设规则在图片上分别划分出至少一个区域;根据不同通道上各区域中相应分量的强度,确定所述图片的特征值。优选的,所述通道具体为颜色通道;所述获取模块510,具体用于对于视觉敏感度越高的颜色对应的颜色通道,在图片上划分的区域数量越多。优选的,所述获取模块510,具体用于:对于每个通道,根据各区域中相应分量的强度,确定强度平均值;并根据各通道上各区域中相应分量的强度,确定强度总平均值;对于每个通道,将各区域中相应分量的强度与强度平均值比较,如果小于强度平均值,则确定该区域的特征值为0,否则,确定该区域的特征值为1;将各通道的强度平均值与所述强度总平均值比较,如果小于强度总平均值,则确定该通道的特征值为0,否则,确定该通道的特征值为1;在各通道上各区域的特征值和各通道的特征值中,获取预设数目的特征值,并将所述预设数目的特征值按照预设顺序顺次连接得到所述图片的特征值,该特征值为二进制数。优选的,所述目标图片与所述基准图片的特征值差异度,具体为所述目标图片的特征值与所述基准图片的特征值的海明距离。优选的,所述排重模块520,具体用于:将图片的特征值划分为预设组数目的分组,其中,所述预设组数目大于所述预设阈值,所述图片包括所述目标图片和各基准图片;对于每个分组,将分组中的特征值片段作为key,并将除去该特征值片段后的特征值作为value,建立哈希桶,并将每个分组对应的哈希桶组成哈希桶集合;将目标图片的各分组中的key与各基准图片的对应分组中的key进行比较;如果存在相同的key,则判断所述相同的key对应的value的海明距离是否小于或等于所述预设阈值;如果是,则确定所述目标图片与相应的基准图片的特征值差异度不大于所述预设阈值;如果不存在相同的key,或者,所有相同的key对应的value的海明距离都大于所述预设阈值,则确定所述目标图片与各基准图片的特征值差异度都大于所述预设阈值。优选的,所述预设组数目具体为所述预设阈值加1;位数相同的分组的数目至少为所述预设组数目减1。本发明的实施例中,服务器获取目标图片和至少一个基准图片的特征值,根据获取的所述特征值,并判断所述目标图片是否与各基准图片的特征值差异度都大于预设阈值;如果是,则确定所述目标图片不与所述基准图片重复,并保留所述目标图片;否则,确定所述目标图片与所述基准图片重复,并丢弃所述目标图片。从而,可以减小重复图片出现的可能,提高系统资源的利用效率。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1