外链代发包收录,纯手工外链代发就找老客外链吧

站长新闻

您的位置:老客外链吧 > 站长新闻 > 问答 >

谷歌图片搜索原理

文章来源:SEO教程 作者:SEO培训 人气:15 时间2022-05-25 11:55:33

Google图片搜索的原理

谷歌的搜索引擎算法很强大。为了解决这个问题,有人咨询了算法组的朋友,他们分享了基本思路。在这里,谢谢你:

对于这种图像搜索算法,通常有三个步骤:

1.提取目标图像特征的算法有很多,如SIFT描述子、指纹算法函数、捆绑特征算法、哈希函数等。根据不同的图像,可以设计不同的算法,比如利用图像的局部n阶矩来提取图像特征。

2.对图像特征信息进行编码,将大量图像编码为查找表。对于目标图像,可以对分辨率较高的图像进行降采样,降低计算量后再进行图像特征提取和编码处理。

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

每一步都有很多算法,侧重于数学、统计学、图像编码、信号处理等理论。

下面是阮一峰最简单的实现:

输入谷歌图片的网址,或者直接上传图片,谷歌就会找到类似的图片。下图是美国女演员艾丽森汉妮根。

上传后,Google返回以下结果:

这项技术的原理是什么?电脑怎么知道两张图相似?

根据尼尔克拉维兹博士的解释,这个原理非常简单易懂。我们可以用一个快速算法来达到基本的效果。

这里的关键技术叫做‘感知哈希算法’,它的作用是为每张图像生成一个‘指纹’字符串,然后比较不同图像的指纹。结果越接近,图片越相似。

下面是最简单的实现:

第一步是缩小尺寸。

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

第二步,简化颜色。

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

第三步,计算平均值。

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

第四步是比较像素的灰度。

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

第五步,计算哈希值。

结合上一步的比较结果,形成一个64位的整数,就是这张图的指纹。组合的顺序并不重要,只要所有图片的顺序都一样。

拿到指纹后,可以对比不同的图片,看看64位中有多少是不一样的。理论上,这相当于计算‘汉明距离’。如果不同的数据位不超过5,则表示两幅图片非常相似;如果大于10,说明这是两张不同的图片。

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

该算法的优点是简单快速,不受图像大小缩放的影响。缺点是图像的内容不能改变。如果你在图片上加几个字,它就不会被认出来。所以它最好的用途就是根据缩略图找出原图。

实际中经常使用比较强大的pHash算法和SIFT算法,可以识别图像的畸变。只要变形程度不超过25%,它们就能匹配原图。虽然这些算法比较复杂,但是原理和上面的简单算法是一样的,就是先把图像转换成哈希串,然后再进行比较。

上一篇:分享几个站长常用的免费SEO工具 下一篇:没有了

联系我们

在线服务 外链咨询 二维码

扫码添加微信:juxia_com