Google 图片搜索的原理是什么?

1 条评论

分享
按投票排序按时间排序

18 个回答

389赞同 反对,不会显示你的姓名
知乎用户,安全行业
XsXs、知乎用户、知乎用户 等人赞同

针对这个问题,请教了算法组的同事,他分享了基本的思路:

对于这种图像搜索的算法,一般是三个步骤:

1. 将目标图片进行特征提取,描述图像的算法很多,用的比较多的是:SIFT描述子,指纹算法函数,bundling features算法,hash function(散列函数)等。也可以根据不同的图像,设计不同的算法,比如图像局部N阶矩的方法提取图像特征。

2. 将图像特征信息进行编码,并将海量图像编码做查找表。对于目标图像,可以对分辨率较大的图像进行降采样,减少运算量后在进行图像特征提取和编码处理。

3. 相似度匹配运算:利用目标图像的编码值,在图像搜索引擎中的图像数据库进行全局或是局部的相似度计算;根据所需要的鲁棒性,设定阈值,然后将相似度高的图片预保留下来;最后应该还有一步筛选最佳匹配图片,这个应该还是用到特征检测算法。

其中每个步骤都有很多算法研究,围绕数学,统计学,图像编码,信号处理等理论进行研究。
=======================================================================
下面是阮一峰的一个最简单的实现:
原文链接http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html

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

根据Neal Krawetz博士的解释,原理非常简单易懂。我们可以用一个快速算法,就达到基本的效果。

这里的关键技术叫做"感知哈希算法"(Perceptual hash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相似。

下面是一个最简单的实现:

第一步,缩小尺寸。

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

第二步,简化色彩。
将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。

第三步,计算平均值。
计算所有64个像素的灰度平均值。

第四步,比较像素的灰度。
将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。

第五步,计算哈希值。
将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。

得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算"汉明距离"(Hamming distance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。

具体的代码实现,可以参见Wote用python语言写的imgHash.py。代码很短,只有53行。使用的时候,第一个参数是基准图片,第二个参数是用来比较的其他图片所在的目录,返回结果是两张图片之间不相同的数据位数量(汉明距离)。

这种算法的优点是简单快速,不受图片大小缩放的影响,缺点是图片的内容不能变更。如果在图片上加几个文字,它就认不出来了。所以,它的最佳用途是根据缩略图,找出原图。

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

感谢@喜馒头找到了源头 。

编辑于 2012-05-17 26 条评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

102赞同 反对,不会显示你的姓名
名称不重要,OE2DL@THU@EE 4 Ph.D
江智彬、境界的彼方mph、黄中展 等人赞同

【多图、多图】

正好刚刚完成相关必修课的一个课下环节作业,作业题目就是通过实际进行图像搜索,推测百度图像搜索用了什么原理。

在对百度图像检索原理调研的过程中,发现目前百度可能采用的原理有:(1)基于“信息指纹”;(2)基于颜色特征;(3)取阈值分割图像;(4)深度学习;(5)跨媒体检索。下面对各个原理进行简要的介绍、测试以及分析总结。

1、基于“信息指纹”

1.1 原理介绍

这种检索方法可以分为如下几个步骤进行:

① 缩小尺寸

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

②简化色彩。

将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。

③计算平均值。

计算所有64个像素的灰度平均值。

④比较像素的灰度。

将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。

⑤计算哈希值。

将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。

得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算“汉明距离”(Hamming distance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。

1.2 分析

通过对“信息指纹”的原理介绍,我们发现这种方法比较看重检索图像的结构以及灰度值的分布情况,不能得到RGB值的分布情况,在检索时也不具有旋转、平移不变性。

1.3 测试

经过上述分析,我用MATLAB生成了几幅图像,然后利用百度识图进行检索测试,下面是测试的结果。

图1 原图a

图2 图a的检索结果

图3 原图b

图4 图b的检索结果

图5 原图c

图6 图c的检索结果

经过上面三次检索测试,我们可以得到如下结论:

(1) 图a和图b之间只是旋转了90度,结果发现检索的结果也旋转了90度,说明百度图片检索对图片的结构的确很敏感,检索图像时不具有旋转不变性;

(2) 图c是在图b的基础上加上了一个RGB颜色分布,比较b和c的检索结果,发现检索出来图片的结构都比较相似,但是,后者明显比前者多了颜色信息,这说明百度在进行图片检索时,RGB颜色的分布也是检索的依据之一;

(3) 仔细观察图b的检索结果,发现排名第二的图片和检索出的其他图片差别其实是很大的,他们在整体结构上完全不一样,只是局部结构上有一些线条信息,这也是一个值得思考的地方。

2、基于颜色特征

2.1 原理介绍

基于颜色特征的图像检索原理的大致思想是:每张图像都可以转化成颜色分布直方图(color histogram),如果两张图片的直方图很接近,就可以认为它们很相似,如图:

任何一种颜色都是由红绿蓝三原色(RGB)构成的,所以上图共有4张直方图(三原色直方图 + 最后合成的直方图)。将0~255分成四个区:0~63为第0区,64~127为第1区,128~191为第2区,192~255为第3区。这意味着红、绿、蓝分别有4个区,总共可以构成64种组合(4的3次方)。任何一种颜色必然属于这64种组合中的一种,这样就可以统计每一种组合包含的像素数量。

上图是某张图片的颜色分布表,将表中最后一栏提取出来,组成一个64维向量(7414, 230, 0, 0, 8, ..., 109, 0, 0, 3415, 53929)。这个向量就是这张图片的特征值。于是,寻找相似图片就变成了找出与其最相似的向量。这可以用皮尔逊相关系数或者余弦相似度算出。

2.2 分析

通过上述原理描述,我们发现基于这种原理的图像检索只关注图像在统计意义下的RGB颜色分布信息,并不关心图像本身的空间分布信息。

2.2 测试

图7 原图d

图8 图d的检索结果

图9 原图e

图10 图e的检索结果

观察上诉测试结果,我们可以得到如下几个结论:

(1) 还是验证了百度图像检索对结构比较看重,检索出来的图像和原图在整体结构上保持一致;

(2) 原图d和原图e只是改变了一下色块的位置,所以如果做它们的颜色分布直方图应该是完全一致的,但是这两张图片的检索结果很相似但是并不完全相同,因此基本可以判断百度图像检索肯定不可能只采用颜色分布直方图来进行检索;

(3) 原图d和原图e唯一的差别就是色块的位置改变了,但是检索出来的结果并不相同,说明百度进行图像检索时应该也是考虑了颜色在空间位置上的分布信息的。

3、取阈值分割图像

3.1 原理介绍

首先,将原图转成一张较小的灰度图片,假定为50×50像素。然后,确定一个阈值,将灰度图片转成黑白图片。如果两张图片很相似,它们的黑白轮廓应该是相近的。确定阈值可以采用“穷举法”,将阈值从灰度的最低值到最高值,依次取一遍,使得“类内差异最小”或“类间差异最大”的那个值,就是最终的阈值。

有了50×50像素的黑白缩略图,就等于有了一个50×50的0-1矩阵。矩阵的每个值对应原图的一个像素,0表示黑色,1表示白色。这个矩阵就是一张图片的特征矩阵。

两个特征矩阵的不同之处越少,就代表两张图片越相似。这可以用“异或运算”实现(即两个值之中只有一个为1,则运算结果为1,否则运算结果为0)。对不同图片的特征矩阵进行“异或运算”,结果中的1越少,就是越相似的图片。

3.2 分析

可以看出这种方法和第一种“信息指纹”的原理是很相似的,因此也具有相似的特点,就是都对图像的结构比较看重,忽视RGB颜色的分布,并且检索图像不具有旋转、平移不变性。

3.3 测试

图11 原图f

图12 图f的检索结果

图13 原图g

图14 图g的检索结果

图15 原图h

图16 图h的检索结果

通过上述检索测试,我们可以得到如下结论:

(1) 图f和图h唯一的区别是f是彩色图像,h是它的二值图像,但是我们发现他们的检索结果有很大的差别,彩色图像检索出来依然是彩色图像,二值图像检索出来也都是二值图像,至少可以说明百度图片检索不可能只靠取阈值分割图像来作为检索依据;

(2) 图g是在图f 的基础上进行了一个90度的旋转,发现两者的检索结果差别还是挺大的,再一次验证了百度图片检索不具有旋转不变性;

(3) 当用彩色人脸进行检索时得到的几乎都是人脸,但是二值化后进行检索,发现检索结果并不完全是人脸,有动物甚至毛笔字,还是说明原图像RGB的分布在做检索时还是比较重要的;

4、深度学习(Deep Learning)

4.1 原理介绍

自从Hinton在2012年将深度卷积神经网络(CNN)带入到图像分类领域后,深度学习在图像处理相关领域的研究一下子变得异常火热起来。从2012年开始,每年ILSVRC比赛的最好成绩都有比较大的进步,特别是最近2015年百度刚宣布他们已经将ImageNet图像分类的top-5错误率降低到5.98%,达到了目前公开的最好成绩,基于百度对将深度学习应用在图像处理领域的如此强烈的兴趣和技术能力,百度很有可能已经将深度学习的技术应用在了图像搜索方面。

由于现在关于深度卷积神经网络的资料挺多的,并且基本都还没脱离Hinton在2012年提出的结构,所以这里不准备详细展开CNN的原理介绍。简单概括就是:利用多个隐藏层、每层多个卷积核对输入图像进行卷积,每层的输出作为下一层的输入,最后连接一个分类器进行分类,通过不断的训练修改各层的参数,最后在每个隐藏层训练得到一些抽象的特征图谱,网络训练好后就可以对输入图像进行分类了。

4.2 分析

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

4.3 测试

图17 原图i

图18 图i的检索结果

图19 原图j

图20 图j的检索结果

图21 原图k

图22 图k的检索结果

图23 原图l

图24 图l的检索结果

上述用于检索的原图都是我手机里面自己平时拍的,网络上没有的,完全的无标注数据。我们发现检索的结果在语义上还是比较非常相近的,背景也非常相近,百度应该是对图像做了一定程度的语义理解的。

5、利用种子图片

5.1 原理

在2013年的时候有人将深度学习应用在图像检索领域,大致做法是这样的:首先它利用深度卷积神经网络和深度自动编码器提取图片的多层特征,并据此提取图片的visual word,建立倒排索引,产生一种有效而准确的图片搜索方法,再充分利用大量的互联网资源,预先对大量种子图片做语义分析,然后利用相似图片搜索,根据相似种子图片的语义推导出新图片的语义。

5.2 分析

但如果按照上面原理的描述,似乎重点在于对种子图片的判断上,如果种子图片判断对了,那么检索结果自然会很靠谱;反之,若种子图片判断错了,那么检索结果会很糟糕。其实这更像是一种利用互联网多年文本检索的积累,进行的一种文本与图像之间的跨媒体检索。

5.3 测试

图25 图m的检索结果

图26 图m的判断

图27 图m的检索结果

上面用来测试的原图是在网上找的,检索给出的描述表明对该图像的文本判断是正确的,但是检索到的结果却并不理想,只有前两张图像是描述的鳄鱼,其他都不是,只是背景相似。因此应该可以得出结论,百度图像检索没有利用其文本检索的信息,纯粹依靠的是输入图像本身的性质。

总结

通过上述分析,对于百度的图像检索可以得到的判断是:

(1) 不可能只采用“信息指纹”、颜色直方图、取阈值分割法其中的某一种来做为判断依据;

(2) 应该是对图像做了语义理解的;

(3) 检索的结果跟输入图像的结构、RGB颜色的空间分布等信息有关系,并且检索不具有旋转不变性;

(4) 没有利用文本检索,即没有建立文本-图像的跨媒体检索;【哈哈哈,好开心,因为现在老板给我定的博士方向就是跨媒体检索~~】

对此,对百度图像检索所采用的原理的一个猜测是,它利用深度学习的方法进行了图像语义的理解,也有可能在某些情况下利用图像结构、RGB分布等信息作为辅助判断依据,并且对输入图像的方向性有要求。

参考资料

1、相似图片搜索的原理;

2、Ren Wu, Shengen Yan, Yi Shan, Qingqing Dang, Gang Sun,Deep Image: Scaling up Image Recognition

编辑于 2015-10-23 18 条评论 感谢

分享

收藏 • 没有帮助 •

举报

• 禁止转载

16赞同 反对,不会显示你的姓名
姚旭
雨滴点点、忍人之所不能忍、陈丢丢 等人赞同

本次google图片搜索的升级, 除了@张颖峰 提到的"相似图片" 外
还包括了一个很好玩的功能, 就是"图片"- > "关键词"的搜索功能, 和语音输入一样, 都是手机功能回归pc的一部分, 属于google goggles的扩展版本.

举例: 用图片作为输入, 得到结果: http://goo.gl/1K1nH

基本原理上就是将搜索引擎的中间数据----正向索引, 进行功能扩展和提供服务
原先我们只能通过反向索引从"关键词"- > "图片", 现在可以利用正向索引从"图片"- > "关键词"
goggles原先只集中在商品上, 索引库以amazon这类网站为主要的索引源, 本次升级以后, 可以看到图片正向索引的范围扩大到了所有网页. 
算法的细节层面, 之前没在这个方向上关注过, 在扩大索引规模和加入非商品特型页面, 同时只能展示一个"关键词"结果情况下, 对准确率要求非常高, 推测google利用相似图片进行聚类, 在聚类后的文本关键词簇中, 再次进行簇相关性的识别, 相对于单网页, 明显提高图片的文本描述准确性.

在应用层面, 除了单纯的好玩以外, 也看到了google的野心
目前除文本外的声音和图片, 都可以作为输入数据源转化为文本进行搜索, 可搜索的范围在逐步扩大, 虽然目前图片的覆盖范围还很有限.
如果觉得这个功能有爱的话, 大家可以在搜图片但google没能给出一个关键词进行描述的时候, 花一分钟帮google标一个靠谱的词出来.

发布于 2011-06-21 7 条评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

1赞同 反对,不会显示你的姓名
贾永磊,图像处理算法工程师
南美美 赞同

你在多次使用一个搜索引擎时,会发现一些规律的,关键词搜索,这个在文本搜索中是比较常规的,也是基础的,你可能更关心的是它的以图搜图,即基于内容的图像检索CBIR,在我看来,google中一个应用最为明显的是颜色信息,这个也是最容易实现的特征,个人认为特征是其一,难在特大数据库的检索,这个是需要技术的,当数据量很小的时候,任何特征几乎都可以实现检索,但当数据量很大的时候,应运而来的却是很复杂的,那是一个工程性的东西。就像铁道部售票系统一夜崩溃,高的并发量,高的数据量才是第一要解决的。
发布于 2012-01-12 3 条评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

2赞同 反对,不会显示你的姓名
王晓龙,There is no reason not to follow your …
赵天宇、Carl Ho 赞同

不巧的是,@阮一峰 前天更新的博客里面写到了这个问题
http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html
发布于 2011-07-23 1 条评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

2赞同 反对,不会显示你的姓名
Henry Li,IT/互联网老兵
周joe、Max罗德里格斯 赞同

有一篇新的谷歌博客包括视频,可以看一看:
http://insidesearch.blogspot.com/2011/07/teaching-computers-to-see-image.html

Teaching computers to "see" an image
7/20/11 | 1:15:00 PM
Last month, we announced Search by Image, which allows you to search using a picture instead of typing in words. Today, we’re giving you a look under the hood at how Search by Image uses computer vision technology to analyze your image, determine what it is, and return relevant results to you.

Computer vision technology is an active area of computer science research because it’s difficult for a computer to match a person’s ability to see and understand. Search by Image uses computer vision techniques to “see” what is in the image. Computer vision technology doesn’t look at the image filename or where the image came from -- rather, it looks at the content of the image itself to determine what that image is.

When you upload an image to Search by Image, the algorithms analyze the content of the image and break it down into smaller pieces called “features”. These features try to capture specific, distinct characteristics of the image - like textures, colors, and shapes. Features and their geometric configuration represent the computer’s understanding of what the image looks like.

These features are then sent to our backend servers and compared against the billions of images in our index to see if a good match exists. When the algorithm is very confident that it’s found a matching image, you’ll see a “best guess” of what your image is on the results page. Whether or not we have a best guess, you’ll also see results for images that are visually similar -- though they may not be related to your original image.

Check out this video below for an animated look at how Search by Image works.

Because our algorithm sees the world through the “features” that are extracted from images, those define what it can “see” well and what it can’t. We’re more likely to find a good match if your image query has a unique appearance, so landmarks like the Eiffel Tower work really well. Other things that lack distinctive features or a consistent shape, like a crumpled blanket or a puppy, don’t result in confident matches, but will return images which are visually similar in appearance. You can refine your results in those cases by giving the algorithm a hint. Add a word or two into the search box that describes the image, and the results may display better “Similar Images” results.

The results page summarizes a variety of information that we can match for your query image, including our best guess for the image, related web results, and images that are visually similar to the one you’ve uploaded.

To try out Search by Image go to http://images.google.com and click the camera icon, or download the extension for Chrome or Firefox.

Posted by Jingbin Wang, Software Engineer for Image Search

发布于 2011-07-22 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

4赞同 反对,不会显示你的姓名
谢祎,程序员,设计爱好者,半愈强迫症患者
Carl Ho、zack Lu、匿名用户 等人赞同

从我使用Google以图搜图的经验来看,Google的图像搜索应该采用了多种不同的技术。
Google搜图能够找到原图的原理应该类似于下面的技术:将图片缩放成多个尺度的图像,然后在不同的尺度层面提取图像特征,建立索引,然后进行索引后特征的比对。这种方法在找原图上十分有效,如果图像数据库十分大的话。
如果找不到原图的话,Google会提供一些相似图像。根据我的经验,这些相似图像一般与原图像有相似的轮廓和色彩。因此,在查找原图失败后,应该会查找与原图像的轮廓和色彩比较相近的图像。做法是将图像分成小块,比如8*8的子块,然后在子块上进行边缘提取或者计算色彩的均值,在检索时将查询图像也进行这样的处理,然后按子块进行比较。
发布于 2012-01-03 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

0赞同 反对,不会显示你的姓名
宋健,艺术守望者创始人
这个问题我不是很了解专业知识,但是因为也曾经很感兴趣地研究过,提供一些参考:

我最早了解“用图搜图”的功能是通过 http://tineye.com ,这家搜索的功能很有特色也很强大,只不过是服务器不很给力,有段时间慢得不行。模糊记得其介绍说主要是通过对图片的信息进行“采样”来对比图片,通过特征采样,它就可以只对采样后的信息进行对比,也不用担心图片大小被改变或者被编辑过的问题。这个方法的缺点是需要一张一张对互联网上的图去采样入库,所以有时特别新鲜的图会搜不到(因为还没来得及采样)。

Google的功能应该是类似的,但是更别致。加上它原本就十分强悍的服务器支持,基本上已经可以干掉Tineye了。不过对Tineye也没关系,它似乎主要是出售图像处理引擎技术给Adobe这样的大型厂商的,所以自己是不是搜索主流引擎倒是也没什么问题。

另,不知Google和Tineye在幕后是否有技术合作。因为很早就听说Google对Tineye的图搜图技术很有兴趣。

发布于 2011-06-28 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

3赞同 反对,不会显示你的姓名
吴思扬,本人答案遵循 WTFPL。
田兴发、张瑞、知乎用户 赞同

内部开发过一个类似工具,场景不同,在此写出仅为整理思路,顺便抛砖,大牛请轻拍

用于图标比对,16*16、32*32
初始需求是公司要求图标尽量重用,因已有的图标过于繁多,一套产品上千枚图标,如果做出来的设计有类似的就尽量用以前的资源

因图标使用的是统一色板,所以颜色有规律
按色板对每种颜色编号,二进制
分析当前图标像素,将几百上千个点的16进制色值串联存为字符串

结合图标规格,每个字符串实际上都独一无二,除非完全重复
转换为32进制数,便于传参比较
这个32进制的数就是图标指纹,与唯一ID挂钩

32进制按数字段的重复率计算是否有相同图像区域
原理类似下面的例子
12345与234,234是重复的
0987654321与098365351765中,098和765是重复的

按最少用4个像素组成一个可见有意义的图像元素来区分
可以得出一个重复率
比如两个16*16图标
相似率100%的为8*5的区域,共1处,分别位于A图的(x1,y1)和B图的(x2,y2)
相似率90%的为2*2的区域,共2处,分别位于A图的(x1,y1)(x2,y2)和B图的(x3,y3)
最后整合这些输入,按权重的关系给出一个整体的百分比,用于人为分析

期间探索过程比较艰辛,主要是性能和溢出的问题,PHP的GD库处理这个问题时效率低下
曾打算直接用OpenCV,不过因为没有合适的库函数,学习时间有限,作罢
倒是看到了几个比较合适的图像识别函数,打算今后有机会试试

每有设计师新建图标,都需要做比对,根据比对值判断是否有雷同或相似度极高的设计
如果相似度高于90%就重用,否则再商量是否新增

但是工具做完后,领导要求变了,说只要保证能提供就行,图标量多一些也OK,不费力折腾了
所以v0.1后夭折,现在已转型为一个css sprite拼接工具,按所输入的图标拼接为雪碧图,并生成样式代码

不过期间的探索很值得怀念,尤其是以一个交互的身份为整体工作做点改进,这一点我比较自豪

编辑于 2012-05-17 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

2赞同 反对,不会显示你的姓名
祁育,forever 2
匿名用户、知乎用户 赞同

应该说的是图像搜索吧,就是通过图找图的,Google是从牛津花3亿美元挖了三个博士来做这个的,Google的实现不太了解,淘宝的图片搜索做的也相当牛,单从图片搜索的匹配度来说并不比Google差,但是还没对外开放这个功能,听淘宝的负责人讲过,他们是先提取图片的特征,然后用高维数组记录,建立索引,然后去匹配,难点在于好多相似的图片就是加了水印,背景不一样,但是主体是一样的,有些是主体上有些细节是不一样的,这个要区分开,技术细节他没有讲,毕竟涉及到专利相关的东西
发布于 2012-05-17 2 条评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

1赞同 反对,不会显示你的姓名
李陶冶,51Nod全新改版,要做最好用的OJ
小逸 赞同

Google怎么做的不太清楚,以前我自己试着做过一个简单的。当时用的是sift来提取每张图片的特征。sift可以将一幅图的特征转为一个高维向量(比如128维),之后用KDTree建立查找树,可以比较快的进行索引和查找。不过说实话在找相似上使用sift有些牛刀杀鸡的感觉,并且运算效率低。sift找出的不仅仅是相似,甚至同一本书不同角度的拍摄都能找出来。当时还有surf可以干这事儿,据说效率和效果都要比sift好一些,不过我没试过。

如果LZ真心想推测一下Google的方法,可以把一张图旋转30度,看看能否找出相似。

编辑于 2012-05-17 1 条评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

0赞同 反对,不会显示你的姓名
马克思到了,通信专业,擅长无线电通信、光通信等。
我认为是应用了图形信息匹配的概念,这个技术其实很早就在其它领域应用了,在上世纪海湾战争的时候,美国就拥有了地理信息匹配的技术,那是用既有图像和现地图像进行信息匹配。相比来讲,网上的图像搜索要比这个技术简单容易多了。但基本原理应该是一样,即对图像进行信息取样,主要使用特征匹配技术,因为如果使用灰度匹配技术,存在数据量大,而且对相似图像的识别会产生误判,而特征匹配可以很好的减少数据量,并且很好的完成同一图像的不同格式和版本的识别。这可能是Google将军事技术民用化的另一个事例。
另外,在网络图像的搜索技术中,还可以增加关键词的辅助算法,提高准确性。也就是说将与已知图像的关联关键词做为辅助搜索手段。
发布于 2011-07-02 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

0赞同 反对,不会显示你的姓名
prfans海海,我思故我在
图像检索。
发布于 2014-02-15 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

0赞同 反对,不会显示你的姓名
Diego ddwrt
应该是像楼主说的这样,不知道什么时候能够搜索视频
发布于 2014-08-16 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

0赞同 反对,不会显示你的姓名
刘一帆,来无影,去无踪~~··
这个问题太专业了,我也来学习一下。
发布于 2014-10-12 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

0赞同 反对,不会显示你的姓名
梁念,莫忘来时路,不负少年心
还是把图像给转化成无数个点阵,然后再进行比较之后吧
发布于 2015-02-09 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

1赞同 反对,不会显示你的姓名
苏雾,读万卷书,行万里路
知乎用户 赞同

404 not found
发布于 2015-10-30 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

0赞同 反对,不会显示你的姓名
王尼美,一本假正经,IT
人工标注若干图像的label, (multiple labels), 之后训练分类器。依赖于图像特征的提取以及相似度的计算。
发布于 2012-05-28 添加评论 感谢

分享

收藏 • 没有帮助 •

举报

• 作者保留权利

Google 图片搜索的原理是什么?相关推荐

  1. Google图片搜索的原理

    针对这个问题,请教了算法组的同事,他分享了基本的思路: 对于这种图像搜索的算法,一般是三个步骤: 1. 将目标图片进行特征提取,描述图像的算法很多,用的比较多的是:SIFT描述子,指纹算法函数,bun ...

  2. 简单的相似图片搜索的原理

    FROM:1) http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html 2) http://www. ...

  3. Google图片搜索创始人朱会灿加盟腾讯搜搜

    Google图片搜索创始人朱会灿低调加盟腾讯,出任搜搜首席架构师.而朱会灿也是首位从Google总部离职,入职国内互联网公司的高管.据悉,进入腾 讯的谷歌原高管不止朱会灿一人. 出任腾讯搜搜首席架构师 ...

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

    转自:http://www.ruanyifeng.com/blog/2013/03/similar_image_search_part_ii.html 二年前,我写了<相似图片搜索的原理> ...

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

    转自:http://www.ruanyifeng.com/blog/2013/03/similar_image_search_part_ii.html 二年前,我写了<相似图片搜索的原理> ...

  6. 相似图片搜索的原理(转)

    http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html 作者: 阮一峰 日期: 2011年7月21日 ...

  7. 相似图片搜索的原理(1)

    [原文链接] 上个月,Google把"相似图片搜索"正式放上了首页. 你可以用一张图片,搜索互联网上所有与它相似的图片.点击搜索框中照相机的图标. 一个对话框会出现. 你输入网片的 ...

  8. 以图搜图 相似图片搜索的原理(一)

    转自:http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html 上个月,Google把"相似 ...

  9. 相似图片搜索的原理(一)

    之前毕业论文做的是图片检索相关研究,当时看到了阮哥的博文,对入门很有指导意义,现在把他的文收藏到自己博客,呵呵..... 上个月,Google把"相似图片搜索"正式放上了首页. 你 ...

最新文章

  1. 【C++】模板函数的声明和定义必须在同一个文件中
  2. Java常用多线程辅助工具---countdownLatch
  3. 【干货】连交换机的攻击、防御都不懂,还做什么网络工程师
  4. 五天学习Mysql数据库教程(一)1.1数据库的基本概念
  5. 友盟分享小程序_iOS分享微信小程序
  6. h5 端图片上传-模拟多张上传
  7. 基于opencv在摄像头ubuntu根据视频获取
  8. 都在说云原生,它的技术图谱你真的了解吗?
  9. android+usb摄像头预览分辨率,UVCCamera(usb camera)适配Android9
  10. 新年第一篇!西南民族大学第十届校赛(同步赛)
  11. GitHub开源项目:用于构建接入网络和模块化网络服务的平台
  12. 【OpenCV】扫描图像、查找表、计时
  13. 实施和开发哪个前景好_现在学习苹果ios开发还有发展前景吗?学android和ios哪个更好?...
  14. python网络爬虫课程设计报告摘要_网络爬虫课程设计报告
  15. python 压力测试
  16. 浅析new一个对象的过程
  17. 平面变压器的设计(翻译)(5)
  18. 电机速度曲线规划1:梯形速度曲线设计与实现
  19. JS 正则表达式(正则匹配RegExp)
  20. 一个正方形截取四分之一后如何四等分

热门文章

  1. mail、mailx、sendmail的区别
  2. SpringCloud Eureka初体验
  3. Wex5铛铛开发环境搭建步骤
  4. 基于前后端分离的Nginx+Tomcat动静分离
  5. Git Bash Cmd命令笔记
  6. VMware 下扩展linux硬盘空间
  7. 打造具备互补测试技能的团队
  8. C#调用ArcGIS REST服务
  9. C#者重建C++之路 - 运行机制的差异
  10. 新书《活用UML-需求分析高手》 序