“以图搜图”,背后的原理你不懂

举报
xenia 发表于 2019/09/04 07:15:42 2019/09/04
【摘要】 Google "相似图片搜索":你可以用一张图片,搜索互联网上所有与它相似的图片。打开Google图片搜索页面: 点击【相机】使用上传一张《深度学习》的原图:点击搜索后,Google会出现外观类似的图片,相似度越高,图片越靠前。这种技术的原理是什么?计算机怎么知道两张图片相似呢?为了满足大家的好奇心,下面我来讲一下“以图搜图”背后的故事。01相似图像搜索引擎“以图搜图”正式的名称应该叫“相似...

Google "相似图片搜索":你可以用一张图片,搜索互联网上所有与它相似的图片。

打开Google图片搜索页面:


 

1551847675015083223.jpg



点击【相机】使用上传一张《深度学习》的原图:



1551847675316024340.jpg







点击搜索后,Google会出现外观类似的图片,相似度越高,图片越靠前。






1551847675573037449.jpg



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

为了满足大家的好奇心,下面我来讲一下“以图搜图”背后的故事。


01相似图像搜索引擎


“以图搜图”正式的名称应该叫“相似图像搜索引擎”,也称为“反向图片搜索引擎”。最初的图像搜索引擎是基于文本关键字检索的。早期的Altavista、Lycos等搜索引擎正是利用图像的文件名和路径名、图像周围的文本,以及Alt标签中的注释索引和搜索相关图像的。从本质上来说,这样的图像搜索引擎其实还是基于文本搜索引擎的。有时图像周边的这些文本信息和图像并没有关系,会造成搜索出来的部分图像结果和查询关键词并不一致。为了避免这种问题,有些搜索引擎采用人工的方式对图像进行标注索引。虽然人工标注保证了搜索引擎的查准率,但是它限制了图像索引的规模,不可能有很好的查全率。而有时,图像的内容是很难用几个关键词就能完整描述出来的。在某种情况下,无论是利用图像网页相关文本信息,还是人工标注文字说明,都很难做到较高的搜索准确度。

1992年,T. Kato提出了基于内容的图像检索(CBIR)的概念,它使用图像的颜色、形状等信息作为特征构建索引以实现图像检索,即我们通常所说的“以图搜图”。基于这一概念,IBM开发了第一个商用的CBIR系统QBIC(Query By Image Content),用户只需输入一幅草图或图像,便可以搜索出相似的图像。同一时期,很多公司也将这一技术引入搜索引擎。哥伦比亚大学开发的WebSEEK系统不仅提供了基于关键词的图像搜索和按照图像类目的主题浏览,还可以利用图像的颜色信息进行基于内容的图像搜索。Yahoo的ImageSurfer也提供了使用例图的颜色、形状、纹理特征,以及它们的组合来进行基于内容的图像搜索功能。随着视觉技术的进步和发展,越来越多的搜索引擎采用这一方式来进行图像搜索,并在此基础上不断演进。

早期曾使用过“以图搜图”方式进行图像搜索的读者可能会有这样的印象,这种图像搜索方式在返回的结果的准确度往往不太令人满意。为此,很多视觉研究人员、图像技术开发者不断提出新的图像特征表示算法。虽然准确率在一点点提高,但是并未根本性地解决准确度问题。这究竟是什么原因呢?原因在于无论是图像的颜色、纹理、形状这些全局信息,还是后来的SIFT等局部图像信息,都是人为设计的硬编码,还不能完整地表达人类对整幅图像内容的理解。

那图像搜索的准确率还能提高吗?随着人工智能(特别是深度学习理论和技术)的发展,人们逐步找到了解决方案。深度学习技术极大地提高了图像表达的准确性。诸多主流图像搜索引擎纷纷引入了深度学习算法来提高图像搜索的准确率。

如今我们日常使用的百度、搜狗等通用搜索引擎均提供了相似图像检索功能。淘宝、京东等电商平台也利用自己庞大的商品图像库开发了垂直领域内的图像检索功能来满足消费者们不易用文字描述的商品搜索需求。有更多的创业公司在各自的领域内使用相似图像搜索技术来满足各种各样图像检索需求,服务于更多的行业和消费者。

虽然图像检索技术已广泛应用于我们的生活当中,但目前这一技术还未完全成熟,仍有许多问题需要解决,改进和提高的空间还很大。搜索的结果和用户的期望还有一些距离,存在一定的图像语义鸿沟。这也是从事这项技术研究与开发的人员不断进步的源动力。


02搜索引擎的一般结构



根据一般的抽象方法,我们可以把事物非关键性的特征剥离出来,而只保留其最为本质的特征。对于现有技术条件下的搜索引擎,必须事先生成索引库,再在其上进行搜索查询。

如图所示,首先需要对输入数据进行一定的预处理,以使我们可以对其进行进一步分析。接下来,把文本搜索引擎的词法、语法分析等语言处理阶段抽象为对输入数据的特征提取,一个个提取出来的词就是构成一个文档特征向量的基本元素,反向索引库就是特征和文档对应关系的集合。对于查询数据,我们也要抽取其特征,然后计算它的特征向量与索引库中所有特征向量的相似度,最终返回规定数量的相似结果。



1551847675812085356.jpg



  抽象搜索引擎结构 








03自制AI图像搜索引擎



为了彻底弄清楚这类图像搜索引擎的技术原理,我反复查找和阅读当时互联网上甚为稀缺的相关资料,但收效甚微。直到后来,我遇到了一个叫作LIRE的开源项目,它让我初步理解了图像搜索引擎的技术原理。但是在实际应用中,LIRE的效果并不是太好。为了解决这个问题,我又找到“深度学习”这个强有力的助手。

在探索原理的过程中,我发现国内几乎找不到一本介绍图像搜索引擎基本原理和实现的书,这也成了《自制AI图像搜索引擎》诞生的缘由。



1551847675880062525.jpg



   





《自制AI图像搜索引擎》作者:明恒毅 







1551847676025003119.jpg



  








1551847676317029662.jpg



  






图像搜索引擎有两种实现方式——基于图像上下文文本特征的方式和基于图像视觉内容特征的方式。本书所指的图像搜索引擎是基于内容特征的图像检索,也就是通常所说的“以图搜图”来检索相似图片。本书主要讲解了搜索引擎技术的发展脉络、文本搜索引擎的基本原理和搜索引擎的一般结构,详细讲述了图像搜索引擎各主要组成部分的原理和实现,并构建了一个基于深度学习的Web图像搜索引擎。


为什么要读《自制AI图像搜索引擎》?


业内仅此一本,你还在等什么?

目前在国内计算机专业图书市场上,有关图像检索的书籍甚为稀缺。据我所知,仅有两本中文专业书籍,分别是:科学出版社出版的清华大学章毓晋教授的《基于内容的视觉信息检索》,清华大学出版社出版的北师大周明全教授等人著的《基于内容图像检索技术》。这两本书均是纯正的学术著作,理论丰富,但实践相对不足。此外,这两本书均出版于本世纪初,也就是深度学习技术开始风靡之前,故两本书中均未包含将深度学习应用于图像检索的内容。

《自制AI图像搜索引擎》由一线开发人员所著,偏重实践,兼有传统和现代方法,可以说是目前市场上唯一一本有关AI图像检索的图书。


将深度学习理论和应用场景紧密结合,有技术、能落地

自2016年AlphaGo以4:1的比分战胜世界顶级围棋棋手李世石以来, AlphaGo所依赖的深度学习算法在公众中得到了快速的科普。与此同时,各大科技公司也纷纷在深度学习领域投入重金,开始高薪聘请首席科学家、算法研究员和工程师。图书市场也纷纷推出各种有关深度学习的理论书籍。但随着时间的推移,很多理论缺乏应用场景,并未产生实际效用。不同于其他的理论和技术,AI图像检索技术有着明确的应用场景和目标市场,能够紧密地将深度学习理论和应用场景相结合,可谓“有技术、能落地”。


用理论指导编码,用代码阐释理论,相得益彰

《自制AI图像搜索引擎》一书的每有个图像检索的理论都配有一段Java代码,使读者既能深刻地理解理论,又能将理论转变为编码实现。无论是对理论功底强、实践能力弱的学术读者,还是对实践能力强、理论功底弱的开发者,本书都能提供有针对性的指导。


循序渐进,深入浅出,适合各层次开发人员入手

《自制AI图像搜索引擎》一书采用循序渐进的叙述方式,沿着历史和技术发展的脉络,由文本搜索引擎的基本原理逐步抽象出搜索引擎的一般结构,进而由文本演进到图像。结合具体实现代码,全面讲述了图像搜索引擎中各个组成部分的基本原理。任何愿意了解和学习AI图像搜索引擎的读者在研读此书后,都能在理论与实践方面收获满满。


提供从零开始构建AI图像搜索引擎的案例教程,即学即用

《自制AI图像搜索引擎》一书在最后一章提供了一个从零开始构建一个基于深度学习的Web图像搜索引擎的教程和相应的可实际运行的项目代码,真正做到了即学即用。读者既可以先尝试一下运行效果,而后带着小小的成就感来学习相关的理论和技术,也可以在学习完相关的理论和技术后,再研究最后一章的代码与实现过程。


轻松学《自制AI图像搜索引擎》你需要掌握:



1551847676633025218.jpg



  





本文转载自异步社区

原文链接:https://www.epubit.com/articleDetails?id=Ne839f557-9362-434c-8a0f-0ac67d0e49a0

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。