计算机是怎么知道两张图片相似的呢?

标签: geek | 发表时间:2016-11-02 00:00 | 作者:
分享到:
出处:http://itindex.net/admin/pagedetail

36大数据

作者:数之联

摘要:以图搜图功能,特别是移动端的以图搜图,成为日益增长的流量入口和用户需求。有机构表明:未来5年,用户使用语音和图像进行意图表达的比例将超过50%。移动端的以图搜图是一代又一代的图像人、搜索人的梦想,而如今梦想在一步步贯彻并变为现实。

那么对于我们这些非专业的seo人员来说,36大数据(http://www.36dsj.com/)

可以不去学习图像搜索的算法,但是一定要知道搜索引擎是如何辨别图片的。

在以图搜图功能日渐普及的当下,相信有不少人经常会用到,你可以直接上传本地图片来搜索不同尺寸的相似图片。

就拿拍图购图像搜索产品为例:36大数据(http://www.36dsj.com/)

36大数据

你可以上传一张图片搜索各大互联网电商网站上所有与它相似的图片。

36大数据

那么咱们就拿这张穿着白裙子的女孩图片为例,反馈的搜索结果如下:

36大数据

相似度高达百分百另外还能同色系同材质进行匹配

那么问题就来了!36大数据(http://www.36dsj.com/)

计算机又是怎么知道两张图片相似呢?这种技术的原理是什么?

其实原理非常简单易懂,我们可以用一个快速算法,就达到基本的效果。这里的关键技术叫做“感知哈希算法”(Perceptual hash algorithm),它的作用是对每张图片生成一个“指纹”(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相似。

感知哈希算法:36大数据(http://www.36dsj.com/)

第一步,缩小尺寸。将图片缩小到8*8的尺寸,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。

第二步,简化色彩。 将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。 第三步,计算平均值。 计算所有64个像素的灰度平均值。 第四步,比较像素的灰度。 将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。 第五步,计算哈希值。将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。 得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算”汉明距离”(Hamming distance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。 优这种算法的优点是简单快速不受图片大小缩放的影响劣缺点是图片的内容不能变更如果在图片上加几个文字

它就认不出来了。36大数据(http://www.36dsj.com/)

所以它的最佳用途是根据缩略图找出原图。

实际应用中,往往采用更强大的pHash算法和SIFT算法,它们能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。这些算法虽然更复杂,但是原理与上面的简便算法是一样的,就是先将图片转化成Hash字符串,然后再进行比较。

颜色分布法:每张图片都可以生成颜色分布的直方图(color histogram)。如果两张图片的直方图很接近,就可以认为它们很相似。

36大数据

任何一种颜色都是由红绿蓝三原色(RGB)构成的,所以上图共有4张直方图(三原色直方图 + 最后合成的直方图)。 如果每种原色都可以取256个值,那么整个颜色空间共有1600万种颜色(256的三次方)。针对这1600万种颜色比较直方图,计算量实在太大了,因此需要采用简化方法。可以将0~255分成四个区:0~63为第0区,64~127为第1区,128~191为第2区,192~255为第3区。这意味着红绿蓝分别有4个区,总共可以构成64种组合(4的3次方)。

任何一种颜色必然属于这64种组合中的一种,这样就可以统计每一种组合包含的像素数量。

36大数据

上图是某张图片的颜色分布表,将表中最后一栏提取出来,组成一个64维向量(7414, 230, 0, 0, 8, …, 109, 0, 0, 3415, 53929)。这个向量就是这张图片的特征值或者叫”指纹”。

于是,寻找相似图片就变成了找出与其最相似的向量。这可以用皮尔逊相关系数或者余弦相似度算出。

深度学习:自从Hinton在2012年将深度卷积神经网络(CNN)带入到图像分类领域后,深度学习在图像处理相关领域的研究一下子变得异常火热起来

36大数据

简单概括就是:36大数据(http://www.36dsj.com/)

  1. 利用多个隐藏层
  2. 每层多个卷积核对输入图像进行卷积
  3. 每层的输出作为下一层的输入
  4. 最后连接一个分类器进行分类
  5. 通过不断的训练修改各层的参数
  6. 最后再每个隐藏层训练得到一些抽象的特征图谱
  7. 网络训练好后就可以对输入图像进行分类了

基于深度学习原理的图像检索,更多的是从一种图像理解的角度来进行的,得到的是一种更加抽象的描述,也可以定义为“语义”,它更多的是在解释这个图像描绘的是什么物体或者什么场景之类的。

综合多媒体和移动化的特点,未来搜索技术的发展将为用户提供更加灵活、多样化的搜索请求方式,以及综合音频、视频、图片、文本等多媒体信息的搜索结果,使得搜索领域的人机交互更加自然、有效。

在未来二至五年内,图像搜索将迎来新一轮的应用高潮。36大数据(http://www.36dsj.com/)

End.



无觅相关文章插件,快速提升流量

转载请注明来自36大数据(36dsj.com): 36大数据» 计算机是怎么知道两张图片相似的呢?

相关 [计算机 图片 相似] 推荐:

计算机是怎么知道两张图片相似的呢?

- - IT瘾-geek
摘要:以图搜图功能,特别是移动端的以图搜图,成为日益增长的流量入口和用户需求. 有机构表明:未来5年,用户使用语音和图像进行意图表达的比例将超过50%. 移动端的以图搜图是一代又一代的图像人、搜索人的梦想,而如今梦想在一步步贯彻并变为现实. 那么对于我们这些非专业的seo人员来说,36大数据(http://www.36dsj.com/).

相似图片搜索的原理

- apuar - 阮一峰的网络日志
上个月,Google把"相似图片搜索"正式放上了首页. 你可以用一张图片,搜索互联网上所有与它相似的图片. 你输入网片的网址,或者直接上传图片,Google就会找出与其相似的图片. 下面这张图片是美国女演员Alyson Hannigan. 上传后,Google返回如下结果:. 类似的"相似图片搜索引擎"还有不少,TinEye甚至可以找出照片的拍摄背景.

相似图片搜索的原理(二)

- - 阮一峰的网络日志
二年前,我写了 《相似图片搜索的原理》,介绍了一种最简单的实现方法. 昨天,我在 isnowfy的网站看到,还有其他两种方法也很简单,这里做一些笔记. 每张图片都可以生成 颜色分布的直方图(color histogram). 如果两张图片的直方图很接近,就可以认为它们很相似. 任何一种颜色都是由红绿蓝三原色(RGB)构成的,所以上图共有4张直方图(三原色直方图 + 最后合成的直方图).

以图搜图 – 3大相似图片搜索引擎

- 杨磊 - 帕兰映像
以图搜图,顾名思义就是上传一张图片,网站搜索并显示与之类似的图片. 看到一个可爱的卡通头像想搜出更多来. 看看是不是用旧图片制作的新新闻. 还有很多用法就看大家的想象力啦. 作者爱好搜集图片,最不能容忍的就是美图上面有水印,只要上传图片到以图搜图网站,轻轻一点便能搜出不带水印的图片. 这种去水印的方法是不是很给力,我的独创哦.

Chrome 相似图片搜索扩展 LeiTu Image Search

- zg - 谷奥——探寻谷歌的奥秘
感谢读者 sligtCats 的自爆. LeiTu Image Search这货是sligtCats昨天晚上制作的Chrome类似图片搜索扩展(简称类图搜索). 安装之后可以在图片上右键即开始搜索和它类似的图片. 内有TinEye、Google Search by image和百度识图三个功能,可以按需使用.

相似图片搜索的三种哈希算法

- - CSDN博客推荐文章
想必大家都用google或baidu的识图功能,上面就是我搜索冠希哥一幅图片的结果,达到图片比较目的且利用信息指纹比较有三种算法,这些算法都很易懂,下面分别介绍一下:. 一、平均哈希算法(aHash). 此算法是基于比较灰度图每个像素与平均值来实现的,最适用于缩略图,放大图搜索. 1.缩放图片:为了保留结构去掉细节,去除大小、横纵比的差异,把图片统一缩放到8*8,共64个像素的图片.

网站推荐:11个相似图片搜索网站(以图找图)

- slackware - FeedzShare
来自: 有意思吧 - FeedzShare  . 发布时间:2011年03月06日,  已有 6 人推荐. 你想凭着一张现有图片找出它的原始图片,或者是凭着一张小的缩略图找出原始大图吗. 下面的十款搜索引擎可以帮你实现,以图找图,以图搜图,以图片搜索相似的图片. 一:http://tineye.com/.

solr相似匹配

- - CSDN博客推荐文章
相似匹配   在我们使用网页搜索时,会注意到每一个结果都包含一个 “相似页面” 链接,单击该链接,就会发布另一个搜索请求,查找出与起初结果类似的文档. Solr 使用 MoreLikeThisComponent(MLT)和 MoreLikeThisHandler 实现了一样的功能. 如上所述,MLT 是与标准 SolrRequestHandler 集成在一起的;MoreLikeThisHandler 与 MLT 结合在一起,并添加了一些其他选项,但它要求发布一个单一的请求.

计算机学科漫谈

- - 编程 - 编程语言 - ITeye博客
    PHP设计模式之观察者模式. 在这篇博文里,我想和大家聊一聊自己对计算机学科的理解. 当下本科阶段的计算机专业教学涉及计算机学科的方方面面,分类繁杂,有时可能令新人茫然不知所措. 那么,对计算机专业的学者来说,什么是最重要的呢. 我相信,一千个读者,一千个哈姆雷特,同样的,每个计算机的学习者都有自己对专业的一番认识.