image - Google的图像颜色搜索如何工作?

标签 image image-processing colors google-image-search

假设我查询

http://images.google.com.sg/images?q=sky&imgcolor=black



我得到了所有的黑色天空,后面的算法实际上是如何工作的?

最佳答案

根据Google工程师Henry Rowley,Shumeet Baluja和Yushi Jing博士发布的this paper,似乎您识别图像中颜色的问题的最重要含义与Google的“saferank”算法有关,该算法可检测出没有任何肉色的肤色周围的文字。

本文通过描述“经典”方法开始进行描述,这些方法通常基于归一化颜色亮度,然后使用“Gaussian Distribution”,或使用使用像素中RGB值构建的三维直方图(每种颜色为8位0-255之间的整数值,代表该像素中包含多少该颜色)。还已经引入了依赖于诸如“亮度”(通常被错误地称为“发光度”)之类的属性的方法,该亮度是从给定图像到肉眼的发光强度的密度。

谷歌论文提到,他们将需要使用其算法处理大约10 ^ 9张图像,因此它需要尽可能高效。为此,他们在ROI(感兴趣区域)上执行大部分计算,该区域是一个以图像为中心的矩形,并且在所有侧面上均以图像尺寸的1/6插入。一旦确定了ROI,他们就会将许多不同的算法应用于图像,包括人脸检测算法,色彩稳定算法和其他算法,这些算法总体上会发现图像着色的统计趋势,最重要的是找到颜色统计分布中频率最高的阴影。

他们使用其他功能(例如熵,边缘检测和纹理定义)来
为了从图像中提取线条,他们使用概率霍夫变换(Kiryati et al。,1991)的OpenCV实现(Bradski,2000)在皮肤颜色连接的分量的边缘上进行计算,这使他们能够找到直线。哪些可能不是人体部位,还可以使它们更好地确定图像中哪些颜色最重要,这是其“图像颜色搜索”中的关键因素。

有关此主题的技术性(包括数学方程式等)的更多信息,请阅读开头链接到的Google论文,并查看其网站的“研究”部分。

非常有趣的问题和主题!

关于image - Google的图像颜色搜索如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/684264/

相关文章:

css - 如何使 Shiny 应用程序中的图像宽度动态化?

database - 从数据库中查找视觉相似照片的算法?

image - 当我们有 from 时,如何获得位移场或控制点向量?

image-processing - 图像噪声过滤

css - Mac 上的 Firefox userChrome 边框颜色不正确

javascript - rgba颜色不透明度动画表达

image - React 和 Webpack : Loading and displaying images as background-image

jquery - 在 wordpress 中使图像响应?

user-interface - 将 MATLAB 代码转换为专业软件

html - Go 中将 webcolor html 颜色名称转换为十六进制的函数 |深橙色 -> #FF8C00