元搜索-删除具有不同分辨率的重复图片-在当前方法上进行改进

时间:2019-05-24 04:24:48

标签: algorithm search heuristics

假设来自一台主机的具有不同分辨率一张照片具有多个副本。

在metasearcher阶段,我想检查2张图片是否具有相同的名称,但不是简单的名称(例如image.jpg,photo.jpg)。 ..)。在这种情况下,我只想包含高分辨率的图片。

示例: 搜索“城市”

https://znews-photo.zadn.vn/w480/Uploaded/lerl/2017_10_07/DJI_005701_zing.jpeg

https://znews-photo.zadn.vn/Uploaded/lerl/2017_10_07/DJI_005701_zing.jpeg

第一个不应返回。

这是来自网络搜索团队的工作,因此我非常在意性能。

我目前的做法:

*)为避免使用琐碎的名称,请遍历用于图像搜索的测试查询,对用“ /”标记后的不同URL中每个标记的出现次数进行计数,并手动选择URL中出现次数最多的类似标记到“照片”,“图片”,“背景”等等。最后,我将获得一组琐碎的名称。

*)对于同名的图片,每张图片的分辨率均为dHash,对于每对dHash差小于一定阈值的图片,我将其分辨率降低。< / p>

编辑:在咨询了我的经理之后,我意识到我误解了这些要求。我应该仅在URL上工作而不访问实际图像(这太昂贵了)。在上面的示例中,我应该能够基于两者的URL差异丢弃第一张图像。而且,结果是期望的准确性不高,任何大于85%的东西都应该是不错的。

我非常感谢任何关于改进当前方法的想法/见解。

1 个答案:

答案 0 :(得分:0)

如果不访问图像内容,将无法实现鲁棒的解决方案。但是,如果您仍然想直接使用URL,请注意以下几点:

  1. 原始图片的网址中通常包含“ orig”或“ original”关键字,而缩略图则包含“ thumb”或“ thumbnails”关键字
  2. 缩略图的网址通常包含宽度和高度数字(例如640、768、1024)
  3. 通常,较长的URL(来自同一主机)表示缩略图。这是因为生成缩略图时,通常在其名称后附加宽度/高度数字。

完全不同的方法是通过发出HTTP HEAD请求来检索图像字节大小。在99%的情况下,服务器将返回Content-Length标头。 HTTP HEAD不下载内容,仅下载HTTP标头。因此,它不像下载整个图像那样昂贵。