Оранжевое небо, оранжевое море... оранжевый Рунет

Когда, глядя на серое осеннее небо, мы делали форму расширенного поиска, нам очень захотелось написать программу определения цвета картинки. Изначально мы разметили порцию картинок вручную. Оказалось, что для 60% картинок не удалось указать преобладающий на них цвет, а для 15% картинок мнения асессоров (людей, размечавших тестовую выборку) разошлись. Как известно, на вкус и цвет товарищей нет. Но в нашем случае это объяснялось не только субъективными оценками, но и различием в настройках мониторов. Разобравшись с тем, какие цвета можно называть красными, какие - синими и т.д., мы перешли к анализу преобладающих цветов. Все сделали по науке - посчитали статистику по цветам радуги в процентах от площади, взяли первый цвет. Но не все так просто в окружающем нас мире. Очень быстро мы столкнулись с тем, что цвета, доля которых составляет на картинки не более 20%, могут явно преобладать, а цвета с долей более 50% оказаться на картинке малозаметными. Например, красная машина на белом фоне, конечно, красная. Картинка с красной машиной на черном фоне не кажется такой уж красной, она, скорее, какая-то мрачная: Красная машина Многое здесь зависит от насыщенности и яркости цвета... но не только. Оказалось, что в ряде случаев на визуальное восприятие картинки очень сильно влияли не сами цвета, а их сочетания. Пришлось даже устроить мини-опрос среди независимых сотрудников Яндекса: "Какого цвета эта картинка?". Например, залитый солнечным светом луг воспринимается глазом как зеленый, и это естественно! На самом деле, картинка более чем наполовину содержит желтые точки - блики солнечного света: Солнечный луг Наши роботы, к сожалению, не умеют (пока!) смотреть на картинки так, как это делают люди. Мы провели ряд экспериментов, которые бы позволили программе по долям различных цветов и их сочетаниям оценивать визуальное преобладание цветов на картинке. Но проверить алгеброй гармонию опять не получилось: нет универсальной формулы! Пришлось индивидуально подобрать диапазон и пороги для разных цветов. В итоге у нас получилось следующее распределение картинок по преобладающим цветам, которое мы назвали "Радугой Рунета": Радуга Рунета Видно, что Рунет в целом очень жизнерадостный. А 7-процентный барьер прошли только оранжевый и белый цвета. ;) Ну и, конечно, мы не забыли про то, что у картинок бывает фон. Компактный синий пылесос на белом фоне стоит признать синим, несмотря на то, что белого фона по статистике гораздо больше. Так и быть, мы учли это в программе, и теперь вы сможете через Яндекс.Картинки выбирать себе пылесос нужного цвета! Нашу «радугу» мы будем улучшать и дальше. Асессоры подтвердили качество первой версии нашего алгоритма. А вам как? Уже нравится?
Хранители картинной галереи Яндекса
12 комментариев
Решил посмотреть ссылку примера, а там на первом месте - синий пылесос, все остальные красные - а первый все равно синий. Поигрался с другими цветами - все остальное меняется, но синий пылесос все равно впередиАлимов Павел
Первый пылесос синий потому, что эта горячая ссылка "Яндекс.Маркет" с предложениями купить пылесос. Очевидно, что Я.Маркет пока не различает цвета так, как картинки.Teine
Вы бы тогда эту первую ссылку выделили как-то -- а то ведь как баг выглядит. Релевантность понижает.MM
Я не разработчик, а наблюдательный пользователь. ;)Teine
Жаль, что на странице выдачи красных пылесосов нет ссылки "синие", "желтые" и т.д. Было бы очень удгобно поиграться. А так -- никто не догадается, что надо идти в "Расширенный поиск". Да и где он там на экране -- еще найти надо.AV
А знаете ли вы, что по запросу "синий" с преобладанием белого цвета выдется картинок почти в 2 раза больше, чем по запросу "синий" с преобладанием синего цвета?Сычев Александр
Поле жёлтое, конечно. На зелёное совсем не похоже.Максим
На странице ссылки нашла слово "пылесос" и решила найти поочередно: "пылесос синий", "пылесос желтый", "пылесос белы", "пылесос черный", "пылесос оранжевый" )))) Кое-где выдача, конечно, была правильной не не 100 %, но все-равно порадовала 8)Лиана
Мы это поправим. Спасибо за замечания!Беляев Дмитрий
Я конечно не гинеколог, но решил посмотреть... то есть проверить аудиторию Рунета на психологическом тесте Люшера по выбору цветов. Вот такой ставлю диагноз: Рунет стремится к богатому действиями и переживаниями образу жизни, а также к близости, которая приносит эротическое и эмоциональное удовлетворение. Упрямо стоит на своих требованиях и не хочет идти ни какие уступки. Эгоцентричен и поэтому обидчив. Испытывает неудовлетворенную потребность в объединении с людьми, имеющими такие же высокие духовные стандарты, хочет выделиться из толпы. Чтобы не потерять независимость, умеет обуздывать свою склонность увлекаться. Стремится к переживаниям в идиллических чувтсвенных отношениях, где царит гармония и всегда чувствуешь себя в безопасности. Деятельность сама по себе доставляет ему удовольствие. Честолюбив, стремится к независимости и превосходству. Из всего извлекает собственную выгоду. obsessed
По-моему, преобладание оранжевого объясняется просто - он ближе всего к телесному цвету. В смысле, в интернете много фотографий людей, на которых люди имеют свой естественный "оранжевый" цвет ;)spf