Интернет-поиск изображений: технологии контентного поиска

В прошлой статье (см. КГ №47) мы познакомились с основными на сегодня способами поиска изображений в Интернете. При всех их различиях у них была общая черта — работа шла не столько с самим изображением, сколько с его словесным описанием. Прогресс не стоит на месте, в соответствующих лабораториях идут весьма любопытные исследования, имеющие приличные перспективы применения, в том числе в области интернет-поиска. Сегодня речь пойдет о принципиально другом подходе к индексированию и поиску изображений — так называемых CBIR-системах. Такие поисковики пытаются "увидеть" изображения подобно тому, как это делаем мы с вами. Сначала попробуем разобраться, что это за зверь такой, и зачем вообще понадобилось выдумывать что-то новое, а затем познакомимся с одной из рабочих реализаций интернет-поиска на базе CBIR-технологий.

CBIR-системы


Технологии распознавания и сравнения изображений в том или ином виде применяются уже достаточно давно и широко — от систем видеонаблюдения до программ компьютерного распознавания текста. Мы будем рассматривать только применение данных технологий в сфере интернет-поиска. Аббревиатура CBIR расшифровывается как Content Based Image Retrieval (поиск изображений по содержанию). Данный термин впервые был использован в 1992 г. для обозначения поиска изображения в базе данных на основе анализа таких характеристик, как цвета, текстура и очертания его элементов. Со временем содержание термина расширилось, и теперь с его помощью обозначают достаточно широкий спектр технологий поиска изображений, основанных на анализе содержимого картинок. Интерес к таким технологиям поиска был вызван тем, что традиционные методы индексирования больших баз изображений — не самый эффективный способ такой работы. Автоматическая индексация грешит неточностью, а "ручной" режим, при котором изображения индексируются человеком, требует больших затрат времени и тоже не всегда гарантирует полноту описания.

В самом общем виде CBIR-система работает подобно любому другому поисковику — в два этапа. На первом этапе индексирования каждое изображение описывается и заносится в базу данных. Вот только в этом случае систему интересуют не ключевые слова или имена файлов, а определенные параметры самого изображения, анализируемые с помощью специальных алгоритмов. Обычно это уже названные выше параметры цвета, текстуры и очертаний. Полученные данные сохраняются в индексной базе. После этого можно вести поиск по определенным значениям таких параметров, сравнивать их между собой или с представленной системе картинкой. Это уже второй этап — нахождение в базе изображений с близкими признаками — другими словами, визуально похожих. На этапе поиска свойства одной картинки сравниваются с аналогичными данными других изображений, хранящихся в индексной базе.

Таким образом, в CBIR-системе работают алгоритмы, сначала извлекающие необходимые данные из изображения, а затем сравнивающие их. Если быть точным, то такие пары алгоритмов разрабатываются для каждого используемого в поиске признака. Преимущества CBIR над обычными, "словесно- описательными", технологиями поиска изображений очевидны — они не зависят от квалификации и внимательности человека (как веб-галереи с индексацией изображений их авторами) и работают непосредственно с характеристиками изображения, а не с косвенными признаками, как это делают обычные универсальные поисковики. В результате можно автоматически обрабатывать большие массивы изображений. Кроме того, эта технология предлагает новые инструменты составления поисковых запросов. В идеале CBIR-система должна понимать запросы на обычном, человеческом языке — например, "натюрморт из фруктов на зеленом блюде" или "портрет человека средних лет на фоне морского побережья вечером". Создание таких систем пока удел будущего, ну, а современные CBIR-поисковики работают с характеристиками попроще — так сказать, "низкоуровневыми". В настоящее время принято выделять несколько типов CBIR-систем в зависимости от разновидности поисковых запросов, с которыми они работают. Первый тип работает с графическим запросом — системе предъявляют изображение-запрос, а она ищет подобные картинки в своей индексной базе.

Второй тип работает с наброском, который делает пользователь, постепенно находя все более и более похожие изображения. Третий тип дает возможность составлять и уточнять запросы на основе заданных пользователем характеристик цвета, текстуры и очертаний. Поисковый запрос в такой системе представляет собой перечень значений различных параметров. Некоторые современные системы используют сразу несколько видов запросов. Одним автоматическим анализом дело не ограничивается. Большинство CBIR-систем для уточнения результатов поиска использует дополнительный контур — обратную связь с пользователем. Обычно это опции "похоже", "не похоже" и "нейтрально", выводимые с найденными изображениями. Такие ответы пользователей позволяют уточнять искомые характеристики изображений подобно языку сложных запросов на обычных интернет-поисковиках. Благодаря этому дополнительному контуру удается оценить, насколько "низкоуровневые" характеристики изображения соответствуют запросу конкретного пользователя. Тем самым перекидывается мостик между характеристикой качеств изображения и его смысловой нагрузкой, что можно использовать как непосредственно в ходе поиска, так и для совершенствования алгоритмов поисковой системы.

CBIR на практике

С внутренним устройством CBIR-систем мы более-менее ознакомились, пора переходить к практическому применению. В конце концов, это самое интересное — посмотреть, как вся эта радость реально работает. Между прочим, если вы когда-нибудь искали изображения на универсальных поисковиках с включенным "семейным фильтром", то вы уже пользовались CBIR-технологиями. Дело в том, что именно они применяются для выделения потенциально неблагопристойных изображений. Вот только влиять на работу этих инструментов нам — пользователям поисковика — можно было в очень ограниченной степени — на уровне "включить-выключить". Вооруженные знанием общей механики работы CBIR-систем, мы теперь можем сказать, что в данном случае, во-первых, напрочь отсутствует контур обратной связи с пользователем и, во-вторых, работает только один тип поиска (на сравнение) из нескольких возможных, причем вся эта механика по возможности спрятана подальше от глаз пользователя. Большинство современных CBIR-систем открытого доступа пока либо находятся в стадии бета-версий, либо играют роль демо-версий коммерческих пакетов. Поэтому мы не будем сейчас перечислять такие проекты, а начнем со знакомства с одним из наиболее удачных свободных CBIR-поисковиков, из работы с которым простой нормальный посетитель уже сейчас может извлечь некоторую пользу.

Tiltomo

Экспериментальный поисковик Tiltomo (www.tiltomo.com) — независимый проект, предназначенный для отработки технологий интернет-поиска изображений с помощью CBIR. В настоящее время для посещения открыта бета-версия этого сервиса. Пройдясь по блогам, на которых появляются разработчики Tiltomo, удалось выяснить, что изначально это была программа, предназначенная для сортировки личных коллекций авторов. Через какое- то время после нескольких доработок алгоритма им стало интересно проверить свою систему на какой-нибудь действительно крупной базе изображений. В результате и появился сайт Tiltomo. Для такого эксперимента требовалось большое собрание реальных фотографий. Долго искать, видимо, не пришлось — было решено использовать базу сервиса Flickr. Популярность Flickr позволила авторам Tiltomo быстро привлечь к своему проекту достаточное количество заинтересованных тестеров. Если помните, мы уже знакомились с собственными поисковыми возможностями Flickr в предыдущей статье. Тем интересней будет увидеть разницу, появляющуюся при применении дополнительных CBIR-инструментов. Tiltomo в настоящее время ищет не по всей коллекции Flickr, а только по двум тестовым базам данных, в которых хранится всего порядка 300 тысяч фотоснимков — видимо, сказывается статус "беты". Начинать поиск можно либо со случайного набора снимков с различными характеристиками, либо отобрав снимки по определенному тегу. Давайте ради примера попробуем искать по тегу "apple" — к сожалению, пока можно искать только по тегам, состоящим из одного слова.

Мы получили страницу, содержащую несколько десятков миниатюр, соответствующих нашему тегу. Сразу же проявляется синонимия термина — здесь у нас и компьютерная продукция компании Apple, и яблоки и яблони разных сортов, и даже фотографии улиц Нью-Йорка, известного также как "Big Apple". Если бы мы пользовались обычным поисковиком, то на данном этапе пришлось бы придумывать более точный и сложный запрос. Здесь же нам доступны два новых варианта: уточнение темы запроса и поиск по характеристикам изображения. Как показывает практика, лучше вначале максимально уточнить тему. Для этого достаточно выбрать понравившуюся миниатюру и щелкнуть по ссылке "Find Similar by Theme", которая находится под каждой из них. Допустим, нам требуются фотоснимки яблоневых садов — нет проблем: выбирайте снимок-пример, щелкайте по ссылке и получите соответствующий набор фотографий. Обратите внимание на опцию "Show ONLY images from the reference photographer", которая активна при "тематическом" поиске — она переключает нас в режим поиска работ автора выбранного нами снимка. На странице новых результатов снимки самые разные: снятые при ярком солнечном свете и в пасмурную погоду, с близкого расстояния, когда видна разве что одна ветка с несколькими яблоками, и издали. Самое время опробовать второй инструмент, который запускается ссылкой "Find Similar by Color/Texture". Запускается поиск изображений, похожих на выбранное нами по характеристикам цвета и очертаний.

Попадания могут быть достаточно точными: если, допустим, у нас на снимке была лужайка, мы получим фотоснимки с изображением зеленой травы, если это было дерево на фоне неба — то нам покажут другие похожие на заданный снимки. Справедливости ради заметим, что "тематический" фильтр при этом начинает сильно гулять, и для получения максимально точного результата приходится повторять описанную процедуру несколько раз. С другой стороны, это достаточно интересное времяпрепровождение. Потенциал у данного поисковика хороший — по сути, это полностью рабочая система, выдающая действительно полезные результаты. Кстати говоря, Tiltomo — не единственный CBIR-поисковик, работающий с базой Flickr. Tiltomo выделяется из ряда конкурентов именно своей завершенностью и дружественностью к пользователям. Главный недостаток системы — ограниченный размер тестовых баз данных. Даже интересно — сколько Tiltomo еще протянет в ранге независимого проекта?

Подобьем баланс. Технологии интернет-поиска картинок по содержанию являются весьма перспективным средством, предоставляющим новые довольно любопытные возможности. CBIR-технологии вряд ли полностью вытеснят обычные способы индексации изображений, разве что в некоторых специфических областях. Как нетрудно заметить, даже главный герой нашей статьи — Tiltomo — объединяет несколько технологий поиска изображений: по тегам и с помощью CBIR. Они очень удачно дополняют друг друга, поскольку позволяют работать с разными характеристиками изображения. Скорее всего, именно за такими комбинированными веб-проектами будущее поиска изображений в Интернете.

Алексей Кутовенко, alteridem@tut.by


Компьютерная газета. Статья была опубликована в номере 48 за 2006 год в рубрике интернет

©1997-2024 Компьютерная газета