Поиск похожих изображений и дубликатов, 2010

advertisement
Поиск похожих изображений.
Сравнение изображений
Вячеслав Колбасин
Зачем это нужно?
1. Фильтрация пользовательского
контента (1)
 Востребована
везде, где пользователи
могут размещать свои изображения

Особенно если владелец сайта отвечает за
добавленное пользователями содержимое
 Надо



проверять, что
изображение не оскорбляет общественную
мораль
не содержит запрещенной законом символики
не нарушает политику сайта, авторские права
и психическое здоровье пользователей сайта
Кулинарный форум
вегетарианцев

Есть кулинарный форум
вегетарианцев с интернетмагазином


Пользователи могут оставлять
рецепты и изображения
получившихся блюд
Задача – защитить ресурс от
размещения рецептов и
картинок, неподобающего
содержания
• Тексты можно фильтровать по
словам, но что делать с
фотографиями?

Что мы понимаем под
неподобающим содержанием?
Фруктовый плов
Для приготовления фруктового
плова необходимы:
- 2 стакана риса;
- 100 грамм сухофруктов;
…………………………….
…………………………….
Через 30 минут у меня получился
замечательный продукт:
Что здесь может быть
неподобающего ?
Кулинарный форум
вегетарианцев

Есть кулинарный форум
вегетарианцев с интернетмагазином


Пользователи могут оставлять
рецепты и изображения
получившихся блюд
Задача – защитить ресурс от
размещения рецептов и
картинок, неподобающего
содержания
• Тексты можно фильтровать по
словам, но что делать с
фотографиями?
Фруктовый плов
Для приготовления фруктового
плова необходимы:
- 2 стакана риса;
- 100 грамм сухофруктов;
…………………………….
…………………………….
Через 30 минут у меня получился
замечательный продукт:
Новый семинар: Проблемы и
решения вывода денег в Нигерию
в свете новинок законодательства
Телефон для записи : 80-44-03

Что мы понимаем под
неподобающим содержанием?
1.
СПАМ
Кулинарный форум
вегетарианцев

Есть кулинарный форум
вегетарианцев с интернетмагазином


Пользователи могут оставлять
рецепты и изображения
получившихся блюд
Задача – защитить ресурс от
размещения рецептов и
картинок, неподобающего
содержания
• Тексты можно фильтровать по
словам, но что делать с
фотографиями?

2. Неприемлемые
Что мы понимаем под
картинки
неподобающим содержанием?
Фруктовый плов
Для приготовления фруктового
плова необходимы:
- 2 стакана риса;
- 100 грамм сухофруктов;
…………………………….
…………………………….
Через 30 минут у меня получился
замечательный продукт:
Кулинарный форум
вегетарианцев

Есть кулинарный форум
вегетарианцев с интернетмагазином


Пользователи могут оставлять
рецепты и изображения
получившихся блюд
Задача – защитить ресурс от
размещения рецептов и
картинок, неподобающего
содержания
• Тексты можно фильтровать по
словам, но что делать с
фотографиями?

Что мы понимаем под
неподобающим содержанием?
Фруктовый плов
Для приготовления фруктового
плова необходимы:
- 2 стакана риса;
- 100 грамм сухофруктов;
…………………………….
3. Неприемлемые
…………………………….
картинках
Черезобъекты
30 минутна
у меня
получился
замечательный продукт:
1. Фильтрация пользовательского
контента (2)

Для каждого изображения надо проверить:



Есть ли оно в базе запрещенных изображений
Встречаются ли в нем запрещенные изображения
Технически требуется

Выделить на изображении ключевые объекты
• Возможно придется сегментировать изображение

Найти в базе запрещенных изображений картинки, похожие на
ключевые объекты и на саму картинку
2. Поиск товаров в интернет-магазине

У пользователя есть фотография нравящегося ему
предмета (куртки) и он хочет найти его в нашем магазине
Технически надо найти по базе фотографий товаров наиболее похожие
изображения и отобразить связанные с ними страницы сайта
3. Приложения дополненной
реальности

Пользователь фотографирует на смартфон объект, например здание,
и просит показать информацию по нему


Смартфон пересылает на сервер изображение и примерные координаты
пользователя
Система по ключевым точкам ищет наиболее похожие фотографии в базе
и возвращает информацию по ним
Госпро́м (укр. Держпром) — Дом
Государственной
промышленности, построенный
на центральной площади города
Харькова — площади
Дзержинского (с 1996 года —
площадь Свободы). Памятник
архитектуры в стиле
конструктивизм, символ данного
стиля.
(и далее описание из Wikipedia)
Другие применения

Фотосток

Проверка авторства изображения
• Поиск по изображениям фотостока нет ли такого же изображения
с иными пропорциями, удаленными частями, измененными
цветами и другими изменениями

Автоматическая классификация фотографий
• Сравнение, на какое из типовых изображений больше всего
похоже данное

Поиск похожего изображения, но с приемлемой лицензией
• Нужна фотография офиса визуально похожая на найденную в сети, но под
свободной лицензией

Медицинские изображения

По заданной рентгенограмме найти другие рентгенограммы,
которые с диагностической точки зрения похожи на данную
• То есть, имеющие аналогичные особенности
Что человек понимает под
похожими изображениями?

Изображения (сцены) определенных классов


Изображения (сцены), содержащие объекты
заданных классов




схожие по
смыслу
изображения
Дополненная реальность
Обнаружение номеров машин
Визуально похожие изображения



Фильтрация контента
Медицинские изображения
Изображения (сцены), содержащие объекты
из заданного набора


Фильтрация контента
Поиск в интернет-магазине
Поиск по фотостоку
Идентичные изображения

Фотосток, проверка дубликатов
визуально
схожие
изображения
Поиск дубликатов. (1)

У одинаковых изображений отличие между точками мало


Выразим отличие как среднеквадратичное отклонение (СКО):
Причем СКО неоднозначная мера – эти изображения
отличаются от оригинала примерно одинаково
Поиск дубликатов. (2)


Что можно улучшить ?
Дополнить СКО учетом



свойства маскировки
разной чувствительности глаза к разным частотам
восприятие человеком цвета (пространство Lab)
Изображения сравнили, а как насчет поиска?
 Сравниваем искомое изображение со всеми в базе!



Поиск будет очень ресурсоемким и долгим
Какова будет релевантность поиска ?



Что будет, если изображение в базе будет немного сдвинуто?
А если мы изменим его цвет?
А если немного изменим пропорции?
Поиск дубликатов. (3)

Чтобы повысить скорость сравнения можно
уменьшить размер сравниваемых изображений
Но до какого предела?

Человек приемлемо распознает
изображения размера 32*32 и 64*64

на черно-белых изображениях


Что делаем:




Переводим в градации серого
Яркость нормируем
Все изображения
масштабируем к квадрату
A. Torralba, R. Fergus, W. T. Freeman.
80 million tiny images: a large dataset
for non-parametric object and scene
recognition, 2008
1024 байт на изображение ? - все равно много!
Пирамиды изображений

Будем постепенно
увеличивать размер
изображения




Отберем изображения
размера 4*4
Потом из них выберем
самые похожие
размера 8*8
И так далее
Так быстрее, но


все равно полный
перебор
ошибки при существенно изменении пропорций изображения
• метод непосредственно применим только для поиска дубликатов
Что человек понимает под
похожими изображениями?

Изображения (сцены) определенных классов


Изображения (сцены), содержащие объекты
заданных классов




схожие по
смыслу
изображения
Дополненная реальность
Обнаружение номеров машин
Визуально похожие изображения



Фильтрация контента
Медицинские изображения
Изображения (сцены), содержащие объекты
из заданного набора


Фильтрация контента
Поиск в интернет-магазине
Поиск по фотостоку
Идентичные изображения

Фотосток, проверка дубликатов
визуально
схожие
изображения
Визуально схожие изображения


Изображения, из которых получили образец

Изменены пропорции

Часть изображения удалена

Изменен цвет
Изображения, похожие на образец

Картинка зрительно похожа,
совпадение объектов на ней
не проверяется
Признаки изображения

Сравнивать попиксельно – неэффективно, нужны общие
признаки изображения


Что может быть признаком





По ним и будем вести поиск
Яркость точек
Цвет точек
Типовые фрагменты изображения («слова»)
Локальные особенности изображения
Как сравнивать признаки?


Сравнивать гистограммы признаков
Сравнивать локализацию признаков на изображении
Гистограммы яркостей

Переводим изображения в градации серого и строим
гистограмму яркостей точек

Далее гистограммы квантуем для уменьшения числа
столбцов и сравниваем между собой
Гистограммы цветов

Переводим изображения в цветовое пространство Lab и
строим гистограмму распределения компонент а, b
 Можно привести цвета изображения к палитре с
малым числом цветов и строить гистограмму по ней
Гистограммы

Для сравнения гистограмм можно



По столбцам вычесть одну гистограмму из другой
Посчитать сколько перемещений потребуется, чтобы превратить
одну гистограмму в другую
Недостатки гистограмм

Признаки слишком общие и такие два изображения будут
считаться одинаковыми
Пирамиды гистограмм

Чтобы добавить пространственного разрешения
разделим изображение на части и будем для каждой из
них строить гистограмму
Уровень 0
Уровень 1
Уровень 2
А. Конушин. Лекции по компьютерному зрению МГУ
Метод выделения признаков
«мешок слов»


Адаптация метода анализа текстов, использующего набор
слов текста, без учета синтаксических особенностей
Как работает




Выделяем на изображении типовые
фрагменты
Считаем частоту их встречаемости
Это и есть дескриптор изображений
Что считать типовым фрагментом


Часто зависит от обучающей выборки
Как правило – получаются примитивы
восприятия изображения

(Fei-Fei, Perona – 2005)
Локальные особенности

Надо ли рассматривать все изображение для сравнения?

Нет, обычно достаточно посмотреть на несколько хорошо
различимых точек
• Характеристические точки
• Локальные особенности

Как определить эти области?




Их должно быть меньше числа пикселей на изображении
Область должна быть локальной
Область должна быть значимой (при сдвиге области результат
сравнения должен изменяться)
Как сравнить изображения по областям?




Найти схожие области на двух изображениях
Найти преобразование, которое их совмещает
Посмотреть, удалось ли эти точки совместить
Если да, сравнить содержимое точек
Углы как локальные
особенности

Что здесь можно выбрать как локальную особенность ?

Где окно можно сдвинуть так, чтобы изображение внутри него
осталось неизменным?
Окно анализа
можем сдвигать
в любом
направлении

Окно анализа
можем сдвигать
вдоль линии
Окно анализа не
можем сдвигать
никуда
Координаты углов можно определить детектором Харриса

C. Harris, M. Stephens “A Combined Corner and Edge detector” //
Proc. of 4th Alvey Vision Conference, p. 147-151, 1988
Размер особенностей

Особенности детектора



Нечувствителен к повороту изображения
Частично чувствителен к изменению яркости
Чувствителен к изменению масштаба
• Угол в одном масштабе – линия в другом

Как определить размер особенности?

Выбрать радиус так, чтобы особенность помещалась целиком
• Обработать изображение фильтром, выделяющим края
• Выбрать масштаб, чтобы отклик фильтра от двух краев накладывался
Source: S. Lazebnik
Размер особенностей (2)


Свертываем изображение с фильтром разного масштаба
Смотрим, на каком масштабе будет максимум отклика
Source: S. Lazebnik

Можно ускорить используя метод Difference of Gaussian


D. Lowe “Distinctive image features from scale-invariant keypoints”, 2004
Выделение особенностей


Выделяем точки детектором Харриса
Находим размер методом Difference of Gaussian
Дескриптор точки

Дескриптор должен быть инвариантен к повороту


Используем градиенты пикселей
Для характеристической области




Определим доминантное направление градиента,
Повернем область так, чтобы градиент был направлен в одну
сторону
Приведем область к стандартному размеру
Строим дескриптор
Дескриптор SIFT

Вычислим градиент в каждой точке
Квантуем ориентации градиентов по 8-ми направлениям
 Строим гистограмму направления градиентов
 Можем разделить область сеткой 4х4 для учета
локальных особенностей
 Итого:




16 (4х4) ячеек
В каждой гистограмма 8
напралений
= 128 элементов
D. Lowe. Distinctive Image Features from Scale-Invariant Keypoints, 2004
Применение SIFT



Cравнение дескрипторов двух изображений
Сравнение взаимного расположения дескрипторов
на двух изображениях
Поиск зоны интереса на изображении
Слесарев и др. Яндекс на РОМИП 2010: Поиск похожих изображений и дубликатов, 2010
Поиск изображений по базе

Для ускорения поиска можно использовать





kD-мерные деревья (kD-trees)
Кластеризация + «инвертированный» индекс по дескриптору
Locality Sensitive Hashing
Спектральное хеширование
Увы… не сегодня
Реализация

Библиотека OpenCV






Де-факто стандарт в области обработки
изображений и компьютерного зрения
Свободная лицензия
Написана на С++, но портирована на Java, C#, Python
Ограничено поддерживает использование GPU
Очень хорошо документирована
VLFeat



Более специализированная библиотека для анализа
изображений
Написана на С++, есть интерфейс к Matlab
Нет поддержки работы с устройствами видеозахвата
Материалы

Замечательные курсы по компьютерному зрению
и обработке изображений МГУ им. Ломоносова


Книга


http://courses.graphicon.ru/main/
Richard Szeliski. Computer Vision: Algorithms and
Applications. http://szeliski.org/Book/
Материалы по OpenCV


http://locv.ru – Русский перевод книги Learning OpenCV
http://opencv.org – сайт библиотеки
Вопросы ?
Download