Upload
cs-center
View
326
Download
3
Embed Size (px)
Citation preview
...
.
...........................
.
...
.
...
.
Content-based Image Retrieval (CBIR)Анализ изображений и видео II
Алексей Артамонов, Григорий Рожков
Computer Science Center
25 февраля 2016 г.
...
.
...........................
.
...
.
...
.
Введение
! Поиск изображений по содержанию – важная иактивно развивающаяся область компьютерногозрения
! Хотим по какому-то принципу искать какие-тоизображения
! поиск по визуальному подобию! поиск нечеткого дубликата! поиск того же самого объекта или классов объектов
! Запросы тоже могут быть разные! текст: окей, гугл, хочу посмотреть на панду! образец: еще такого же, да побольше! скетч: вот что-то такое когда-то видел, ищи! а вообще, какую систему построите, такие запросыона и будет обслуживать
...
.
...........................
.
...
.
...
.
Введение
! Поиск изображений по содержанию – важная иактивно развивающаяся область компьютерногозрения
! Хотим по какому-то принципу искать какие-тоизображения
! поиск по визуальному подобию! поиск нечеткого дубликата! поиск того же самого объекта или классов объектов
! Запросы тоже могут быть разные! текст: окей, гугл, хочу посмотреть на панду! образец: еще такого же, да побольше! скетч: вот что-то такое когда-то видел, ищи! а вообще, какую систему построите, такие запросыона и будет обслуживать
...
.
...........................
.
...
.
...
.
Введение
! Поиск изображений по содержанию – важная иактивно развивающаяся область компьютерногозрения
! Хотим по какому-то принципу искать какие-тоизображения
! поиск по визуальному подобию! поиск нечеткого дубликата! поиск того же самого объекта или классов объектов
! Запросы тоже могут быть разные! текст: окей, гугл, хочу посмотреть на панду! образец: еще такого же, да побольше! скетч: вот что-то такое когда-то видел, ищи! а вообще, какую систему построите, такие запросыона и будет обслуживать
...
.
...........................
.
...
.
...
.
Области применения
! Организация домашних коллекций! Интернет! Медицина! Предотвращение преступлений и незаконныхмитингов
! Соблюдение копирайта! Все, что в голову придет
...
.
...........................
.
...
.
...
.
Немного истории
! III век до н.э., Александрия, великая библиотека! VII век, Университет Наланда, Индия. 10000студентов, библиотека
! Сейчас потребители контента смешались споставщиками
! Динозавры искали изображения с помощью метадатыили текста около картинки
! И не так давно закончили этим заниматься! В 1992 г. появился сам термин CBIR! В 1995 г. появляется QBIC от IBM (цвет, текстура,форма и размер)
! И пошло-поехало:http://en.wikipedia.org/wiki/List_of_CBIR_engines
...
.
...........................
.
...
.
...
.
Идея в общих чертах
! Имеем базу данных с изображениями! Изображение = контент + контекст! Каким-либо образом индексируем ее
! переводим каждое изображение в Rn
! раскладываем каждое изображение в суммуэлементарных
! выделяем из каждого изображения интересныефрагменты
! Когда к нам приходит изображение-запрос, делаемто же самое и ищем похожие из бд
! Обучаем, улучшаем, привлекаем человеческиересурсы, снова улучшаем и т.д.
...
.
...........................
.
...
.
...
.
Идея в рисунке
...
.
...........................
.
...
.
...
.
Глобально
Алгоритмы делятся на две группы:1. Full Representation(FR)2. Bag of Words (BoW)
...
.
...........................
.
...
.
...
.
Full Representation
! Это про перевод картинки в пространство Rn спомощью выделения признаков (фич)
! Примерно то, чем мы занимались половину первогосеместра
! Признаки у изображения (Low Level Image Features)бывают:
! цвета! текстуры! формы
...
.
...........................
.
...
.
...
.
Признаки цвета
! Цветовые моменты! Цветовая гистограмма! Инвариантная цветовая гистограмма! Доминирующий цвет! MPEG-7
...
.
...........................
.
...
.
...
.
Признаки цвета. Цветовые моменты
Пусть в изображении N пикселей, pij – значение i-гоканала в пикселе с номером j. Тогда:
! µi =1N!N
j=1 pij – первый момент (mean)
! σi ="
1N!N
j=1(pij − µi)2# 1
2 – второй момент (deviation)
! γi ="
1N!N
j=1(pij − µi)3# 1
3 – третий момент (skewness)! ...
...
.
...........................
.
...
.
...
.
Признаки цвета. Цветовая гистограмма!
! Говорить, в общем-то, особо и нечего! Не забывайте про трехмерные гистограммы иотличающиеся от RGB цветовые пространства
! А еще про различные экзотические расстояния
dJSD(H,H′) =M$
m=1
Hm log2Hm
Hm + H′m
+ H′m log
2H′m
Hm + H′m
...
.
...........................
.
...
.
...
.
Признаки цвета. Инвариантная цветоваягистограмма
! f(x) = 1n!n
i=11
α(Xi)K"x−Xiα(Xi)
#
!%K(x)dx = 1, например можно пойти по классике и
сделать K(t) = 1√2πe−t2
2
! Привет всем любителям ядер! α(X) – специальные коэффициенты для каждойинтенсивности
! Утверждается фотометрическая инвариантность(освещение, тени, блики и отражения не страшны)
...
.
...........................
.
...
.
...
.
Признаки цвета. Доминирующий цвет
! Секрет в названии! Немножечко поумнее будет сначала сегментировать(научимся делать через одну лекцию), а потом вкаждом из сегментов искать доминанту
...
.
...........................
.
...
.
...
.
Признаки цвета. MPEG-7
! Относительно свежий стандарт (2002-2008 гг.)! Интерфейс описания мультимедийного содержимого! Предназначен для описания мультимедийных данных! Scalable Color Descriptor! Color Layout Descriptor! Edge Histogram
...
.
...........................
.
...
.
...
.
Признаки текстуры
! Матрица смежности! GLCM = Gray Level Co-occurence Matrix
! Признаки Тамура! Фрактальная размерность
...
.
...........................
.
...
.
...
.
Признаки текстуры. GLCM
! Contrast =!
i!
j |i− j|2p(i, j)
! Correlation =!
i!
j(i−µi)(j−µj)p(i,j)
σiσj
! Energy =!
i!
j p(i, j)2
! Homogenity =!
i!
jp(i,j)
1+|i−j|! Entropy =
!i!
j p(i, j)log(p(i, j))
...
.
...........................
.
...
.
...
.
Признаки текстуры. Признаки Тамура
! Грубость! Констрастность! Направленность! Прямолинейность! Регулярность! Шероховатость (roughness)
...
.
...........................
.
...
.
...
.
Признаки текстуры. Фрактальная размерностьОна же Хаусдорфова размерность. Показывает,насколько кривая кривее прямой.
...
.
...........................
.
...
.
...
.
Признаки формы
! Гистограмма направлений! Инвариантные моменты (те самые)! Моменты Зернике! Моменты Лежандра
...
.
...........................
.
...
.
...
.
Признаки формы. Гистограмма направлений
! Ищем контуры любым известным алгоритмом! Строим гистограмму
...
.
...........................
.
...
.
...
.
Признаки формы. Инвариантные моменты
! Геометрический момент mpq порядка (p+ q)определяется соотношением mpq =
!x!
y xpyqI(x, y),p,q = 0, 1, 2, . . .
! Геометрический центральный момент µpq порядка(p+ q) задается соотношениемµpq =
!x!
y(x− x)p(y− y)qI(x, y), p,q = 0, 1, 2, . . . , гдеx = m10
m00, y = m01
m00
! Зададим числа ηpq = µpq
µ1+0.5(p+q)00
...
.
...........................
.
...
.
...
.
Признаки формы. Инвариантные моменты
Тогда следующие 7 признаков:1. η02 + η20
2. (η02 − η20)2 + 4η2113. (η30 − 3η12)2 + (3η21 − η03)
4. (η30 + η12)2 + (η21 + η03)
5. (η30 − 3η12)(η30 + η12)[(η30 + η12)2 − 3(η21 + η03)2] +(3η21 − η03)(η21 + η03)[3(η30 + η12)2 − (η21 + η03)2]
6. (η20−η02)[(η30+η12)2−(η21+η03)2]+4η11(η30+η12)(η21+η03)
7. (3η21 − η03)(η30 + η12)[(η30 + η12)2 − 3(η21 + η03)2]− (η30 −3η12)(η21 + η03)[3(η30 + η12)2 − (η21 + η03)2]
Инвариантны относительно переноса, поворота имасштабирования.
...
.
...........................
.
...
.
...
.
Признаки формы. Инвариантные моменты
...
.
...........................
.
...
.
...
.
Признаки формы. Моменты Зернике
! Обычные моменты Зернике вычисляются какVnm(x, y) = Vnm(rcosθ, rsinθ) = Rmn(r)exp(imθ),
! где
Rmn(r) =(n−|m|)/2$
s=0
(−1)s(n− s!)
s!"n−2s+|m|
2
#!"n−2s−|m|
2
#!rn−2s
! где n = 0, 1, 2, . . . , 0 ≤ |m| ≤ n, n− |m| четно
...
.
...........................
.
...
.
...
.
Признаки формы. Моменты Зернике
! Моменты Зернике для изображения I(x, y)вычисляются как
Zmn =n+ 1
π
$
r
$
θ
I(rcosθ, rsinθ)Rmn(r)exp(imθ)
! Тоже инвариантны относительно сдвига, поворота имасштабирования
! Внезапно их очень долго считать
...
.
...........................
.
...
.
...
.
Признаки формы. Моменты Зернике
! Моменты Зернике для изображения I(x, y)вычисляются как
Zmn =n+ 1
π
$
r
$
θ
I(rcosθ, rsinθ)Rmn(r)exp(imθ)
! Тоже инвариантны относительно сдвига, поворота имасштабирования
! Внезапно их очень долго считать
...
.
...........................
.
...
.
...
.
Признаки формы. Моменты Лежандра
! Моменты Лежандра используют известные многимполиномы Лежандра
! Двумерный момент Лежандра порядка (p+ q) дляизображения I(x, y) вычисляется какLpq = (2p+1)(2q+1)
4
% 1−1
% 1−1 Pp(x)Pq(y)I(x, y)dxdy,
x, y,∈ [−1; 1],! где Pp – полином Лежандра p-го порядка
Pp(x) =!p
k=0
&(−1)
p−k2 1
2p(p+k)!xk!
p−k2
"!!p+k2
"!k!
'
...
.
...........................
.
...
.
...
.
Что дальше?
! Ладно, хорошо, с признаками кое-как разобрались идля каждого изображения посчитали.
! Как теперь по картинке-запросу выдавать наиболеепохожие картинки?
1. Посчитать расстояния от картинки-запроса до всехкартинок в базе и выбрать ближайшие
! долго!! зато дает нам выбирать из кучи доступных метрик,интерпретируя картинки как гистограммы (Intersection,Mahalanobis, Bhattacharya, EMD, etc.)
! наверное можно как-то умно кластеризовать и сильносократить перебор
2. Положить все в Rn и искать ближайших соседей! Много структур данных, обеспечивающих поиск залогарифм
! Надо бороться с неравноправностью фич
...
.
...........................
.
...
.
...
.
Что дальше?
! Ладно, хорошо, с признаками кое-как разобрались идля каждого изображения посчитали.
! Как теперь по картинке-запросу выдавать наиболеепохожие картинки?1. Посчитать расстояния от картинки-запроса до всехкартинок в базе и выбрать ближайшие
! долго!! зато дает нам выбирать из кучи доступных метрик,интерпретируя картинки как гистограммы (Intersection,Mahalanobis, Bhattacharya, EMD, etc.)
! наверное можно как-то умно кластеризовать и сильносократить перебор
2. Положить все в Rn и искать ближайших соседей! Много структур данных, обеспечивающих поиск залогарифм
! Надо бороться с неравноправностью фич
...
.
...........................
.
...
.
...
.
Что дальше?
! Ладно, хорошо, с признаками кое-как разобрались идля каждого изображения посчитали.
! Как теперь по картинке-запросу выдавать наиболеепохожие картинки?1. Посчитать расстояния от картинки-запроса до всехкартинок в базе и выбрать ближайшие
! долго!! зато дает нам выбирать из кучи доступных метрик,интерпретируя картинки как гистограммы (Intersection,Mahalanobis, Bhattacharya, EMD, etc.)
! наверное можно как-то умно кластеризовать и сильносократить перебор
2. Положить все в Rn и искать ближайших соседей! Много структур данных, обеспечивающих поиск залогарифм
! Надо бороться с неравноправностью фич
...
.
...........................
.
...
.
...
.
Поиск k ближайших соседей в Rn (kNN)
! Наивный подход слишком долгий! Для начала стоит попытаться уменьшитьразмерность (PCA, etc.)
! Может, искать приблизительно лучшие результаты?! Можно индексировать данные, как это делается в БД(R-tree, X-tree, etc.)
! не смотрим в те места, где нет данных! сложные алгоритмы, много накладных расходов нахранение
! Можно индексировать пространство (KD-tree, VP-tree,etc.)
! алгоритмы просты! при поиске смотрим и в пустые подпространства тоже
! Как-то так победим
...
.
...........................
.
...
.
...
.
Поиск k ближайших соседей в Rn (kNN)
! Наивный подход слишком долгий! Для начала стоит попытаться уменьшитьразмерность (PCA, etc.)
! Может, искать приблизительно лучшие результаты?
! Можно индексировать данные, как это делается в БД(R-tree, X-tree, etc.)
! не смотрим в те места, где нет данных! сложные алгоритмы, много накладных расходов нахранение
! Можно индексировать пространство (KD-tree, VP-tree,etc.)
! алгоритмы просты! при поиске смотрим и в пустые подпространства тоже
! Как-то так победим
...
.
...........................
.
...
.
...
.
Поиск k ближайших соседей в Rn (kNN)
! Наивный подход слишком долгий! Для начала стоит попытаться уменьшитьразмерность (PCA, etc.)
! Может, искать приблизительно лучшие результаты?! Можно индексировать данные, как это делается в БД(R-tree, X-tree, etc.)
! не смотрим в те места, где нет данных! сложные алгоритмы, много накладных расходов нахранение
! Можно индексировать пространство (KD-tree, VP-tree,etc.)
! алгоритмы просты! при поиске смотрим и в пустые подпространства тоже
! Как-то так победим
...
.
...........................
.
...
.
...
.
Bag of Words
! Мешок визуальных слов! Почему бы не применить к поиску изображенийконцепцию поиска по документам?
! Откуда взять аналог слов для изображений?
...
.
...........................
.
...
.
...
.
Получаем словарь визуальных слов
! Берем все изображения в нашей БД! Выделяем у них особые точки/области (а можно инеособые)
! Берем у этих точек/областей какой-нибудьдескриптор (SIFT например)
! Складываем все это в n-мерное пространство (n = 128для SIFT)
! Кластеризуем! Центры кластеров – визуальные слова
...
.
...........................
.
...
.
...
.
Получаем словарь визуальных слов
...
.
...........................
.
...
.
...
.
Визуальные слова
...
.
...........................
.
...
.
...
.
Что делать с запросом?! То же самое! Получилось, что наш запрос состоит из каких-товизуальных слов, что дальше?
! Рассматривать это как гистограмму можно, но неочень логично
! Поможет инвертированный индекс
! Вообще поможет почти любая техника, придуманнаяизначально для поиска документов
...
.
...........................
.
...
.
...
.
Как улучшить?
! Учитывать пространственное расположение! Давать каждому слову определенный вес
...
.
...........................
.
...
.
...
.
Оценка работы
Систему построили. Как теперь ее оценить?! Precision = relevant_images_retrieved
images_retrieved
! Recall = relevant_images_retrievedrelevant_images
! F−measure(F1) = 2PRP+R
! Построим теперь график P(R) в зависимости отразмера выдачи
! AP(q = query) = 1NR
!NRn=1 Pq(Rn), где Rn – recall после
того, как n-тое релевантное изображение нашлось ввыдаче
! MAP = 1|Q|!
q∈Q AP(q)
...
.
...........................
.
...
.
...
.
А на каких данных?
! Catech 101 (256)! 101 (256) класс(-ов)! около 6000 изображений
! WANG Database! 10 классов по 100 изображений
! UW Database! 18 классов! 1019 изображений
! IRMA-10000 Database! 57 классов! 10000 изображений
! ZuBuD Database! 1000+ изображений! каждое здание – 5 раз
...
.
...........................
.
...
.
...
.
Caltech
...
.
...........................
.
...
.
...
.
WANG Database
...
.
...........................
.
...
.
...
.
IRMA Database
...
.
...........................
.
...
.
...
.
Спасибо
Спасибо за внимание! Вопросы?
...
.
...........................
.
...
.
...
.
Темы для семинара
! LSH! KD-tree! Фрактальная размерность! Image CLEF 2015 Overview! Использование онтологий для поиска
...
.
...........................
.
...
.
...
.
Этот материал распространяется под лицензией
Creative Commons ”Attribution - Share Alike” 3.0http://creativecommons.org/licenses/by-sa/3.0/us/deed..
сверстано в онлайн редакторе
P
a
peeriapapeeria.com