Вопрос

Допустим, я запрашиваю

http://images.google.com.sg/images ?q= небо и imgcolor= черный

и я получаю все небо черного цвета, как на самом деле работает алгоритм, лежащий в основе?

Это было полезно?

Решение

Основанный на этот документ опубликовано инженерами Google Генри Роули, Шумит Балуджа и докторомЮши Цзин, похоже, самый важный вывод из вашего вопроса о распознавании цветов на изображениях связан с алгоритмом Google saferank для изображений, который может распознавать телесные тона без какого-либо текста вокруг.

Статья начинается с описания "классических" методов, которые обычно основаны на нормализации яркости цвета и последующем использовании "Распределение по Гауссу," или с использованием трехмерной гистограммы , построенной с использованием значений RGB в пикселях (каждый цвет представляет собой 8-битное целое значение от 0 до 255 , представляющее , сколько .того цвета, который включен в пиксель).Также были введены методы, которые полагаются на такие свойства, как "яркость" (часто неправильно называемая "светимость"), которая представляет собой плотность интенсивности света невооруженным глазом от данного изображения.

В документе Google упоминается, что им нужно будет обработать примерно 10 ^ 9 изображений с помощью своего алгоритма, поэтому он должен быть максимально эффективным.Чтобы достичь этого, они выполняют большую часть своих вычислений для ROI (области интереса), которая представляет собой прямоугольник с центром в изображении и вставкой на 1/6 размера изображения со всех сторон.Как только они определили рентабельность инвестиций, у них есть множество различных алгоритмов, которые затем применяются к изображению, включая алгоритмы распознавания лиц, алгоритмы постоянства цвета и другие, которые в целом находят статистические тенденции в колорите изображения и, самое главное, найдите цветовые оттенки с наибольшей частотой в статистическом распределении.

Они используют другие функции, такие как энтропия, обнаружение границ и определения текстур, чтобы Чтобы извлечь линии из изображений, они используют реализацию OpenCV (Bradski, 2000) вероятностного преобразования Хафа (Kiryati et al., 1991), вычисленную по краям компонентов, связанных цветом кожи, что позволяет их, чтобы найти прямые линии которые, вероятно, не являются частями тела и, кроме того, позволяют им лучше определять, какие цвета наиболее важны на изображении, что является ключевым фактором при поиске цвета изображения.

Для получения дополнительной информации о технических аспектах этой темы, включая математические уравнения и т.д., Прочитайте статью Google, на которую дана ссылка в начале, и загляните в раздел Исследований их веб-сайта.

Очень интересный вопрос и тема!

Другие советы

Изображения - это всего лишь пиксели.Пиксели - это просто значения RGB.Мы знаем, что такое черный цвет в RGB, поэтому можем искать его на изображении.

Ну, один из методов заключается, в очень простых терминах:

Учитывая корпус изображений, определите высокие концентрации данного цветового диапазона (на самом деле это довольно тривиально), сохраните эти данные, соответствующим образом проиндексируйте (проиндексируйте изображения в соответствии с цветами, определенными на предыдущем шаге).Теперь у вас есть, по сути, то же самое, что и поиск документов, содержащих определенные слова.

Это очень, очень простое описание одного из возможных методов.

Существуют различные способы извлечения цвета из изображения, и я думаю, что другие ответы касались их (K-средние, распределения и т.д.).

Предполагая, что вы извлекли цвета, есть несколько способов поиска по цвету.Одним из медленных, но очевидных подходов было бы вычисление расстояния между цветом поиска и доминирующими цветами изображения с использованием некоторой метрики (например Разница в цвете), а затем взвесьте результаты на основе "близости".

Другим, гораздо более быстрым подходом было бы существенно уменьшить разрешение вашего цветового пространства.Вместо того чтобы иметь дело со всеми возможными значениями цвета RGB, ограничьте извлечение меньшим диапазоном, как это делает Google (только синий, зеленый, черный, желтый и т.д.).Тогда пользователь может выполнять поиск по ограниченному набору цветовых образцов, и вычисление цветового расстояния становится тривиальным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top