Google 的图像颜色搜索是如何工作的? [英] How does Google's image color search work?

查看:16
本文介绍了Google 的图像颜色搜索是如何工作的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我查询

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

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

and I get all the black color sky, how actually does the algorithm behind work?

推荐答案

基于 这篇论文,似乎您关于识别图像颜色的问题最重要的含义与谷歌的图片saferank"算法,可以检测肤色,周围没有任何文字.

Based on this paper published by Google engineers Henry Rowley, Shumeet Baluja, and Dr. Yushi Jing, it seems the most important implication of your question about recognizing colors in images relates to google's "saferank" algorithm for pictures that can detect flesh-tones without any text around it.

本文首先描述了经典"方法,这些方法通常基于标准化颜色亮度,然后使用高斯分布",或使用以像素为单位的 RGB 值构建的三维直方图(每种颜色是 0-255 之间的 8 位整数值,表示该颜色中有多少.像素).还引入了依赖于诸如亮度"(通常被错误地称为亮度")等属性的方法,亮度是给定图像中肉眼可见的发光强度密度.

The paper begins by describing by describing the "classical" methods, which are typically based on normalizing color brightness and then using a "Gaussian Distribution," or using a three-dimensional histogram built up using the RGB values in pixels (each color is a 8bit integer value from 0-255 representing how much . of that color is included in the pixel). Methods have also been introduced that rely on properties such as "luminance" (often incorrectly called "luminosity"), which is the density of luminous intensity to the naked eye from a given image.

谷歌论文提到他们需要用他们的算法处理大约 10^9 个图像,所以它需要尽可能高效.为了实现这一点,他们在 ROI(感兴趣区域)上执行大部分计算,该 ROI 是一个以图像为中心的矩形,并在所有边上插入图像尺寸的 1/6.一旦他们确定了 ROI,他们就会将许多不同的算法应用于图像,包括人脸检测算法、颜色恒常算法等,它们作为一个整体在图像的统计趋势中找到着色,最重要的是找到统计分布中频率最高的色调.

The google paper mentions that they will need to process roughly 10^9 images with their algorithm so it needs to be as efficient as possible. To achieve this, they perform the majority of their calculations on an ROI (region of interest) which is a rectangle centered in the image and inset by 1/6 of the image dimensions on all sides. Once they've determined the ROI, they have many different algorithms that are then applied to the image including Face-Detection algs, Color Constancy algs, and others, which as a whole find statistical trends in the image's coloring and most importantly find the color shades with the highest frequency in the statistical distribution.

他们使用其他特征,如熵、边缘检测和纹理定义为了从图像中提取线条,他们使用概率 Hough 变换(Kiryati 等人,1991 年)的 OpenCV 实现(Bradski,2000)在肤色连接分量的边缘上计算,这允许他们找到可能不是身体部位的直线,另外还允许他们更好地确定图像中哪些颜色最重要,这是他们图像颜色搜索的关键因素.

They use other features such as Entropy , Edge-Detection, and texture-definitions to In order to extract lines from the images, they use the OpenCV implementation (Bradski, 2000) of the probabilistic Hough transform (Kiryati et al., 1991) computed on the edges of the skin color connected components, which allows them to find straight lines which are probably not body parts and additionally allows them to better determine which colors are most important in an image, which is a key factor in their Image Color Search.

有关该主题的技术细节(包括数学方程式等)的更多信息,请阅读开头链接的谷歌论文并查看其网站的研究部分.

For more on the technicalities of this topic including the math equations and etc, read the google paper linked to in the beginning and look at the Research section of their web site.

非常有趣的问题和主题!

Very interesting question and subject!

这篇关于Google 的图像颜色搜索是如何工作的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆