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

假设我查询

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

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

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

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

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

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

他们使用诸如熵,边缘检测和纹理定义之类的其他功能。为了从图像中提取线条,他们使用了概率霍夫变换(Kiryati等,1991)的OpenCV实现(Bradski,2000)。在与皮肤相连的组件的边缘上,可以使它们找到可能不是身体部位的直线 ,并且还可以使它们更好地确定图像中哪些颜色最重要,这是图像颜色搜索中的关键因素。

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

非常有趣的问题和主题!

收藏
评论

图像只是像素。像素只是RGB值。我们知道RGB中的黑色是什么,因此我们可以在图像中查找它。

收藏
评论

好吧,从根本上来说,一种方法是:

给定一组图像,请确定给定颜色范围内的高浓度(这实际上是微不足道的),存储此数据,并相应地进行索引(根据从上一步确定的颜色对图像进行索引)。现在,您基本上拥有与查找包含某些单词的文档相同的功能。

这是一种可能方法的非常非常基本的描述。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号