SlideShare a Scribd company logo
1 of 104
Download to read offline
Интернет-зрение
Many slides adopted from Cordelia Schmid, Li Fei-Fei, Rob Fergus, Antonio Torralba
Антон Конушин
Сколько изображений?
• Всего около ~100000 разных
категорий объектов
• И миллионы «мелких» категорий, вроде
пород собак, видов насекомых и т.д.
• Сколько нам нужно изображений,
чтобы научиться их всех
распознавать?
• Сколько нам доступно
изображений?
• Что мы про них будем знать?
Сколько всего картинок?
Число картинок на диске: 104
Число картинок, виденных за 10 лет: 108
(3 images/second * 60 * 60 * 16 * 365 * 10 = 630720000)
Число картинок,
виденных всем человечеством: 1020
106,456,367,669 humans1
* 60 years * 3 images/second * 60 * 60 * 16 * 365 =
1 from http://www.prb.org/Articles/2002/HowManyPeopleHaveEverLivedonEarth.aspx
Число картинок во вселенной: 10243
1081
atoms * 1081
* 1081
=
Число всех картинок 32x32 : 107373
256 32*32*3
~ 107373
Slide by Antonio Torralba
Доступные изображения
Lena
Одна картинка
1972
100
105
1010
1020
Число
картинок
1015
Human Click Limit
(все человечество делает
по картинке всекунду
в течение 100 лет)
Время1996
40.000
COREL
2007
2 миллиарда
2020?
Slide by Antonio Torralba
Обычно, про само изображение мы ничего не знаем, кроме параметров
в EXIF из JPEG
• Благодаря интернету, мы получили доступ к огромным
коллекциям изображений
• Что мы с ними можем сделать, как они нам помогут?
• Первым делом, нужно научиться искать картинки в
больших коллекциях
Что будем делать?
Поиски изображений по содержанию
• Content-based image retrieval
• Задача похожа на выделение объектов и классификацию
изображений, но фокусируется в основном на
масштабировании на большие коллекции с
использованием приближенных методов
R. Datta, D. Joshi, J. Li, and J. Z.Wang. Image retrieval: Ideas, influences,
and trends of the new age. ACM Computing Surveys, 2008.
Что запрашивает пользователь?
• Запрос в виде атрибутов/текстового описания изображения
• «Московская фотобиеннале-2012, фото» - аннотация (атрибуты) изображения
• Нужна категоризация/аннотация изображений
• Запрос в виде изображения-примера («найди то же самое»)
• Запрос в виде некоторой характеристики содержимого
• Запрос в виде рисунка-наброска
- Гистограмма цветов
Semantic Gap
• Запрос в виде изображения-примера («найди то
же самое», «найди похожее изображение»)
• Что имел пользователь в виду?
• Что значит «похожее изображение»?
• «Семантический разрыв» – несовпадение
информации, которую можно извлечь из
визуальных данных, и интерпретацией тех же
самых данных со стороны пользователя
Описание
№1
Описание
№2?
Что значит похожее?
1. Похожее по каким-то характеристикам, например, по
цвету
Запрос
Что значит похожее?
2. Полудубликаты (Near-duplicates) – слегка
измененная версия изображения (ракурс, цвета)
Что значит похожее?
3. Тот же самый объект или сцена («Object retrieval»)
• Большие вариации ракурсов, фона, и т.д., чем при
поиске полудубликатов
Что значит похожее?
4. Похожие визуально по геометрии сцены с учетом
ракурса (могут быть разные по назначению)
Кухня Приемная Бар
Автобус Самолет Зал
Что значит похожее?
5. «Category-level classification» - изображения
одного класса сцен или объектов
Пример – банкетный зал.
Например, 256 классов из
базы Caltech 256
Анализ постановок задач
• Какие постановки задач внутренне схожи, а какие
существенно отличаются?
• В последнем случае нам нужно выполнить автоматическую
аннотацию изображения, определить класс сцены,
присутствующие объекты, их характеристики
• Затем мы будем сравнивать метки запроса с метками
изображений в базе
• Мы сегодня рассмотрим визуальное подобие для задачи
«полудубликаты»
Визуальное подобие Семантическое подобие
Общая схема поиска изображений
Признаки
изображения
ТестированиеТестовое
изображение
Подпись
(Signature)
Коллекция
изображений
Подпись
(Signature)
Построение индекса
Признаки
изображения
Индекс
коллекции
Поиск по
индексу
Список
похожих
Дескриптор на основе
извлеченных признаков
Ищем ближайших соседей по
выбранной метрике
Гистограммы градиентов
• Насколько HOG подходит для
сравнения двух произвольных
изображений по визуальному
сходству?
• Как учитывается масштаб/размер
объекта? HOG (2005)
Дескриптор изображения GIST
TORRALBA, A., MURPHY, K. P., FREEMAN, W. T., AND RUBIN. Context-based vision
system for place and object recognition. In ICCV 2003
• Воспользуемся методом, похожим на HOG.
• Посчитаем отклики детекторов краёв на 5 разных масштабах и 6
ориентациях края
• Получим 33 «канала» - RGB-цвет и 30 откликов фильтров края
Дескриптор изображения GIST
• Разобьём изображение сеткой 4x4 на 16 ячеек
• В каждой ячейке усредним значения всех каналов
• Получим дескриптор GIST
• Можем добавить средний цвет и дисперсию для каждой ячейки
Применение GIST
GIST хорошо себя показал для оценки визуального подобия
изображений в задаче поиска «полудубликатов»
Запрос
Похожие по GIST + цвету
Затраты по памяти для GIST
• Решетка 4x4 * 8 ориентаций * 4 масштаба = 512
параметров
• При 4 байтах на параметр – 2048 байт (16384
бита)
• 2Гб на 1М изображений
• 200Гб на 100М изображений
• Уже довольно тяжело хранить большие коллекции
в RAM
Скорость работы
• Задача CBIR сводится к поиску ближайших соседей по
дескриптору во всей коллекции (Nearest Neighbor)
• Простейшее и точное решение – линейный поиск
• Размер коллекции – миллионы и миллиарды векторов
• Нужны быстрые методы, пусть и с потерей точности
Квантование векторов
• «Vector quantization» – способ ускорения поиска за счёт
уменьшения точности
• Отображение x на q(x), где q(x) in {ci }, ci – центроиды, i от 1 до K
• Индекс q(x) можно записать в виде битового кода длиной log2(K)
• Фактически, сжатие исходного вектора до log2(K)
• Простейший способ квантования – разбиение пространства
дескрипторов на ячейки вдоль осей координат
Адаптивное квантование
• Регулярное разбиение не учитывает структуру данных, их
распределение в пространстве дескрипторов
• Адаптивно разбить пространство можем с помощью
кластеризации K-средними
Инвертированный индекс
Квантованные вектора удобно записывать в форме
«инвертированного индекса»
• K списков по числу кластеров (кодовых слов)
• В каждом списке храним индексы всех векторов,
квантованных до Сi
C1
С2
СK
Инвертированный индекс
Поиск по индексу для запроса y:
• Квантуем y, получаем номер q(y)
• Выдаем все вектора, попавшие в список с номером
q(y)
Проблема – не все примеры из списка одинаковы
близки к q(y)
С(1)
С(2)
С(N)
Ранжирование результатов
• Зачем выдавать все элементы в списке из одного
кластера неупорядоченно?
• Упорядочим результаты (Re-ranking)
• Рассчитаем расстояния от вектора-запроса до каждого
элемента списка по полному дескриптору
• Отсортируем результаты по близости (первые –
ближайшие)
• Есть и другие способы ранжирования!
Проблемы квантования К-средними
• Чем больше K и длиннее код, тем меньше потеря
информации при кодировании
• Для повышения точности нужно увеличивать
число кластеров K
• Квантование до кодов 64 бит (0.125 бит на
параметр GIST) требует кластеризации на 264
кластеров, что напрямую невозможно
• Сложность одного этапа К-средних O(NK)
• Медленно на больших выборках (большие N)
• Медленно при больших K
• Поэтому нужны другие, более быстрые
приближенные методы, либо на замену k-means,
либо в дополнение
Hierarchical k-means (HKM)
• Иерархическое разбиение
• Кластеризуем всё на K кластеров
(K=10) с помощью K-средних
• Затем данные в каждом кластере
снова разбиваем на K кластеров
• Повторяем до достижения нужной
глубины
• Пример:
• Глубина 6 даёт 1M листьев
• По точности проигрывает
существенно K-средним
• Есть другие приближённые методы
(Approximate K-means)
D. Nister and H. Stewenius. Scalable recognition with a vocabulary tree. In Proc.
CVPR, 2006.
Семантическое хеширование
Пространство
кодов
Семантически
Похожие
изображения
Код запроса
Семантич-
еская хэш-
функция
Изображение
запрос
Бинарный
код
Коды изображений
R. R. Salakhutdinov and G. E. Hinton. Semantic hashing. In SIGIR workshop on Information
Retrieval and applications of Graphical Models, 2007.
Идея: построить такие бинарные коды h(x) (подписи), что
для близких в L2 дескрипторов x, коды h(x) будут близки
по расстоянию Хэмминга
Предположение: есть
дескрипторы, которые
можем сравнивать по L2
Дескриптор
Отличие от квантования?
• И при квантовании k-средними и при
семантическом хэшировании получаем бинарный
код некоторой длины
• Разница в том, что при обычном квантовании
разные номера никак не связаны друг с другом, а
тут расстояние Хэмминга между сжатыми
бинарными кодами коррелирует с расстоянием
между векторами-прототипами
Locality Sensitive Hashing (LSH)
• Возьмем случайную проекцию данных на прямую
• Выберем порог близко к медиане проекций на прямую
• Пометим проекции 0 или 1 (1 бит подписи)
• С увеличением числа бит подпись приближает L2-метрику в исходных
дескрипторах
0
1
0
1
0
1
101
Дескриптор в
многомерном
пространстве
A. Andoni and P. Indyk. Near-optimal hashing algorithms for approximate nearest
neighbor in high dimensions. In FOCS, 2006
Locality Sensitive Hashing (LSH)
• Плюсы
• Приближенный способ вычисления ближайшего соседа
• Быстрое квантование (быстро вычисляем бинарный код)
• Недостатки:
• Приближение L2 лишь асимптотическое
• На практике может потребоваться слишком много бит
для подписи
• Вывод:
• Использовать как замену K-средних нельзя
• Можно использовать в дополнение
Проблемы K-средних
• Маленькое K – большие ячейки
• Слишком грубый порог на сравнение!
• Большое K – маленькие ячейки
• Медленнее кластеризация и квантование
• Ячейка может оказаться слишком маленькой, не все соседи
попадут
«Hamming Embedding»
• Построим с помощью LSH коды, квантующие вектора (x-q(x)) для
каждой ячейки независимо от остальных
• Будем использовать эти коды для сравнения дескрипторов,
попавших в одну ячейку
• В итоге получается:
• Вначале K-средние, а внутри каждой ячейки – квантование через LSH или
другой метод семантического хэширования
• Оказалось лучше 2х этапного иерархического К-среднего
0
1
0
1
0
1
Сравнение векторов
• Можем применять семантическое хэширование и к записям в базе
y, и к запросу x (симметричное сравнение)
• Можем сравнивать вектор-запрос x с реконструированной версий
квантованных векторов (ассиметричное сравнение)
• Ассиметричный вариант точнее
Влияние кодов
• Посмотрим распределение расстояний Хэмминга между
правильными и неправильными парами
• Сравнение по кодам показывает, что при длине кода > 32 бит
наблюдается заметная разница между правильными и
неправильными сопоставлениями
Алгоритм GISTIS
M.Douze et.al., Evaluation of gist descriptors for web-scale image search.
In International Conference on Image and Video Retrieval. ACM,2009.
• GIST Indexing Structure
• Добавим в наш простой алгоритм для поиска
полудубликатов hamming embedding
• Схема метода:
• Строим GIST для каждого изображения
• Кластеризуем все дескрипторы с помощью k-means на
k=200 cлов
• Применяем LSH к каждому кластеру и для всех векторов
в кластере считаем бинарную подпись
• Идентификатор картинки и бинарная подпись хранится в
индексе в RAM
Схема метода
• В индексе в RAM хранится только бинарная
подпись изображения (512 бит) и идентификатор
• Сам GIST хранится на жестком диске
• Можем проводить сортировку несколько раз:
• Вначале по бинарным подписям
• Затем по GIST с жёсткого диска
Результаты
Байт на
изображение в
RAM
Время на
построение
дескриптора
Время поиска в
базе из 110М
изображений
GIST 3840 35мс 1.26с
GISTIS 68 36мс 2мс
GISTIS + L2 68 36мс 6/192мс
M.Douze et.al., Evaluation of gist descriptors for web-scale image search.
In International Conference on Image and Video Retrieval. ACM,2009.
Квантование через произведение
• Вспомним:
• Для векторов SIFT квантование до кодов 64 бита (0.5
бита на параметр) требует подсчёта и хранения 264
центроидов, что невозможно
• Идея “product quantization”:
• Разобьём вектор x длины D на m частей
• Квантуем каждый подвектор uj независимо от остальных
• Пусть каждый подвектор квантуем на k* центроидов,
тогда всего центроидов (k*)m
• Длина кода l = m log2k*
• Сравнение с K-средними по памяти
• Память: kD (K-средние) и mk*(D/m)=k1/mD
u1 u2 u3 um
H.Jégou et. al. Product quantization for nearest neighbor search, PAMI 2011
Резюме поиска полудубликатов
• Для каждой картинки строим дескриптор и
записываем его в инвертированный индекс
• GIST – неплохой дескриптор для поиска
полудубликатов
• Размер GIST слишком большой для поиска по
большим коллекциям, поэтому нужно делать
ускоренные приближенные методы поиска
ближайших соседей.
• Мы рассмотрели:
• Квантование k-средними и иерархический метод k-средних
• Семантическое хеширование – LSH, квантование
произведения
James Hays, Alexei A. Efros Scene Completion using Millions of Photographs, SIGGRAPH 2007
Попробуем решить такую задачку:
Реконструкция изображения в невидимой области
«Inpainting»
• Если бы мы нашли в интернете подходящую картинку, мы бы
могли просто ей просто «закрыть дырку»
Как будем решать?
• Скачаем из интернета множество
пейзажей по разным ключевым
словам
• Очень много – миллион и больше
картинок
• Будем искать похожие картинки в
этой базе
• Воспользуемся методом поиска
полудубликатов
Как будем решать?
Изображение-запрос
10 ближайших из 20,000 изображений
10 ближайших из 2х миллионов изображений
Закрываем дырку
Цифровой фотомонтаж (разрезыграфов + смешение по Пуассону)
Пример
Пример
Пример
… 200 ближайших
Пример
Пример
Пример
Пример
Пример
Пример
Пример
Пример
Пример
Пример
… 200 ближайших
Пример
Изображение с того же города!
im2gps
• Собрали 6М картинок из Flikr с
проставленными GPS-метками
• К дескриптору GIST добавили
кучу дополнительной
информации, требующей
долгого обсчёта
• Кластер из 400 машин для
аннотации всех 6М изображений
• Теперь по комбинированному
дескриптору можем искать
• Найдем, вот эту картинку:
James Hays, Alexei A. Efros im2gps: estimating geographic information
from a single image, CVPR 2008.
Отображение результатов на карте
Найдем теперь такую:
Что мы нашли:
Отображение результатов на карте
200 результатов, кластеризуем и покажем центры
и распределение картинок
Пример
Пример
Категоризация, регрессия
Если для изображений есть
дополнительная аннотация,
то можем сделать «kNN»
классификацию, используя
похожесть изображений как
метрику близости
**
**
**
**
** **
****
**
**
**
** **
*
*
*
*
* *
*
Скорость = 112 м / км
**
**
**
**
** **
****
**
**
**
** **
*
*
*
*
* *
*
Уклон
Ранжирование изображений по уклону (от макс к мин)
Плотность населения
Ранжирование по населению
• В больших коллекциях изображений можно найти
очень близкие изображения (практически
полудубликаты)
• Если есть дополнительная аннотация изображений
базы, то KNN поиск по большой базе позволяет
неплохо решать задачи регрессии по изображениям
Промежуточное резюме
A. Torralba, R. Fergus, W. T. Freeman 80 million tiny images: a large dataset for
non-parametric object and scene recognition IEEE Transactions on Pattern
Analysis and Machine Intelligence, vol.30(11), pp. 1958-1970, 2008.
А что мы можем
сделать, если у нас
есть сто миллионов
картинок?
Крошки-картинки (Tiny images)
Какого размера нам потребуются картинки, чтобы их можно
было использовать для распознавания? Попробуем на
человеке...
Примеры изображений
Примеры изображений
Сегментация
Отдельные объекты
Распознавание человеком
80 миллионов изображений
http://people.csail.mit.edu/torralba/tinyimages/
80 миллионов изображений
http://people.csail.mit.edu/torralba/tinyimages/
2
,,
21
2
)),,(),,((min  
cyx
warp cyxITcyxID 

2
,,
21
2
)),,(),,(( 
cyx
SSD cyxIcyxID
SSD-метрика Сравнение с искажением
Метрики для поиска
Наиболее похожие
по SSD в
зависимости от
размеров
коллекции
Результат улучшенной метрики
Результат улучшенной метрики
Поиск лиц на основе коллекции
• Человек может распознать сцену с 90%
правильностью по цветному изображению 32x32
• Если есть достаточно большая выборка, то мы
можем для практически любого изображения найти
очень близкое и по содержанию, и по ракурсу, и т.д..
• Метод «ближайшего соседа» при больших выборках
может неплохо работать
Выводы из крошек-картинок
• Хотелось бы больше информации про изображения в
коллекции
• GPS-метка и атлас уже дали интересные результаты
• Нужна дополнительная аннотация
• Как бы нам её получить?
Расширенная аннотация
• Automaton Chess Player – робот, игравший в шахматы
• Автоматон двигает фигуры, говорит «Чек» и обыгрывает всех!
• C 1770 по 1854 развлекал публику, только в 1820 году
раскрыли обман
Mechanical Turk (1770)
Human Intelligence Task
• Есть много задач, простых для человека, но
крайне сложных для компьютера
• Пример: классификация и разметка изображений
Galaxy Zoo
http://www.galaxyzoo.org/
• Классификация изображений галактик
• Первый масштабный проект такого рода
• Более 150000 волонтёров за первый год бесплатно
сделали более 60 млн. меток
Система LabelMe
Просим пользователей выделять любые объекты
замкнутыми ломаными и давать им название
B. Russell, A. Torralba, K. Murphy, W. T. Freeman LabelMe: a database and web-
based tool for image annotation, IJCV, 2008
Task
Is this a dog?
o Yes
o No
Рабочие
Answer: Yes
Task: Dog?
Pay: $0.01
Broker
www.mturk.com
$0.01
Фрилансеры
• Возникли интернет-брокеры для сведения заказчиков и
работников
• Пример известного – Amazon Mechanical Turk
• Разметчики – просто подработка (студенты, домохозяйки),
люди из более бедных стран
• Данные – один из краеугольных элементов для
решения задачи компьютерного зрения
• Нужно уметь собирать большие массивы данных
и быстро искать в них
• GIST, квантование, семантическое хэширование,
инвертированный индекс
• Интернет и глобализация дают нам удобный
инструмент для сбора и обработки данных
Резюме лекции

More Related Content

What's hot

CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.Anton Konushin
 
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.Anton Konushin
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionAnton Konushin
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03Computer Science Club
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.Anton Konushin
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видеоVictor Kulikov
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04Computer Science Club
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектовLiloSEA
 
Введение в машинное обучение
Введение в машинное обучение Введение в машинное обучение
Введение в машинное обучение Anton Anokhin
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Dmitry Kornev
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображенийLiloSEA
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Pavel Egorov
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиVictor Kulikov
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.Anton Konushin
 
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & TricksDzianis Pirshtuk
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03Computer Science Club
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 СегментацияVictor Kulikov
 

What's hot (20)

CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.
 
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видео
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектов
 
L05 features
L05 featuresL05 features
L05 features
 
Введение в машинное обучение
Введение в машинное обучение Введение в машинное обучение
Введение в машинное обучение
 
L06 detection
L06 detectionL06 detection
L06 detection
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображений
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработки
 
Лекция 2
Лекция 2Лекция 2
Лекция 2
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.
 
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 Сегментация
 

Viewers also liked

Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокTechnosphere1
 
다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선
다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선
다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선Park Chunduck
 
Caffe - A deep learning framework (Ramin Fahimi)
Caffe - A deep learning framework (Ramin Fahimi)Caffe - A deep learning framework (Ramin Fahimi)
Caffe - A deep learning framework (Ramin Fahimi)irpycon
 
Introduction of Machine Learning
Introduction of Machine LearningIntroduction of Machine Learning
Introduction of Machine LearningMohammad Hossain
 
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...Marcos Gonzalez
 
Online incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS ReportOnline incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS ReportSiddharth Modi
 
Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551noor basher
 
Caffe framework tutorial2
Caffe framework tutorial2Caffe framework tutorial2
Caffe framework tutorial2Park Chunduck
 

Viewers also liked (10)

Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선
다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선
다중 레이블을 이용한 Ccn 이미지 어노테이션시스템 개선
 
DMA, Infiniband
DMA, InfinibandDMA, Infiniband
DMA, Infiniband
 
Caffe - A deep learning framework (Ramin Fahimi)
Caffe - A deep learning framework (Ramin Fahimi)Caffe - A deep learning framework (Ramin Fahimi)
Caffe - A deep learning framework (Ramin Fahimi)
 
Introduction of Machine Learning
Introduction of Machine LearningIntroduction of Machine Learning
Introduction of Machine Learning
 
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
 
Online incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS ReportOnline incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS Report
 
Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551
 
Caffe framework tutorial2
Caffe framework tutorial2Caffe framework tutorial2
Caffe framework tutorial2
 

Similar to CV2015. Лекция 7. Поиск изображений по содержанию.

20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02Computer Science Club
 
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt) “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)Alina Vilk
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationAnton Gorokhov
 
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с ElasticsearchОмские ИТ-субботники
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Ontico
 
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...odnoklassniki.ru
 
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ruLucene in odnoklassniki.ru
Lucene in odnoklassniki.ruDmitry Buzdin
 
Mihail Korepanov
Mihail KorepanovMihail Korepanov
Mihail Korepanovyaevents
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Yandex
 
"ЦВЕТ – зачем и чем мерять"
"ЦВЕТ – зачем и чем мерять""ЦВЕТ – зачем и чем мерять"
"ЦВЕТ – зачем и чем мерять"MacHOUSE
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.Anton Konushin
 
СУБД 2013 Лекция №1 "Введение и начало проектирования"
СУБД 2013 Лекция №1 "Введение и начало проектирования"СУБД 2013 Лекция №1 "Введение и начало проектирования"
СУБД 2013 Лекция №1 "Введение и начало проектирования"Technopark
 
распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»seik0ixtem
 
Растровая и векторная графика
Растровая и векторная графикаРастровая и векторная графика
Растровая и векторная графикаSergey Kolodin
 
20100919 computer vision_konushin_lecture04
20100919 computer vision_konushin_lecture0420100919 computer vision_konushin_lecture04
20100919 computer vision_konushin_lecture04Computer Science Club
 
СУБД осень 2012 лекция 1
СУБД осень 2012  лекция 1СУБД осень 2012  лекция 1
СУБД осень 2012 лекция 1Technopark
 
Многомерная компьютерная графика
Многомерная компьютерная графикаМногомерная компьютерная графика
Многомерная компьютерная графикаDmitry Savchenko
 

Similar to CV2015. Лекция 7. Поиск изображений по содержанию. (20)

20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
 
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt) “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 
100
100100
100
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
 
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
 
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ruLucene in odnoklassniki.ru
Lucene in odnoklassniki.ru
 
Mihail Korepanov
Mihail KorepanovMihail Korepanov
Mihail Korepanov
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
 
"ЦВЕТ – зачем и чем мерять"
"ЦВЕТ – зачем и чем мерять""ЦВЕТ – зачем и чем мерять"
"ЦВЕТ – зачем и чем мерять"
 
DV-Discovery
DV-DiscoveryDV-Discovery
DV-Discovery
 
378 егоров александр
378 егоров александр378 егоров александр
378 егоров александр
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.
 
СУБД 2013 Лекция №1 "Введение и начало проектирования"
СУБД 2013 Лекция №1 "Введение и начало проектирования"СУБД 2013 Лекция №1 "Введение и начало проектирования"
СУБД 2013 Лекция №1 "Введение и начало проектирования"
 
распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»
 
Растровая и векторная графика
Растровая и векторная графикаРастровая и векторная графика
Растровая и векторная графика
 
20100919 computer vision_konushin_lecture04
20100919 computer vision_konushin_lecture0420100919 computer vision_konushin_lecture04
20100919 computer vision_konushin_lecture04
 
СУБД осень 2012 лекция 1
СУБД осень 2012  лекция 1СУБД осень 2012  лекция 1
СУБД осень 2012 лекция 1
 
Многомерная компьютерная графика
Многомерная компьютерная графикаМногомерная компьютерная графика
Многомерная компьютерная графика
 

More from Anton Konushin

Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторовAnton Konushin
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparisonAnton Konushin
 
CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.Anton Konushin
 
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.Anton Konushin
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.Anton Konushin
 
CV2011-2. Lecture 07. Binocular stereo.
CV2011-2. Lecture 07.  Binocular stereo.CV2011-2. Lecture 07.  Binocular stereo.
CV2011-2. Lecture 07. Binocular stereo.Anton Konushin
 
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06. Structure from motion.Anton Konushin
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.Anton Konushin
 
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 04.  Semantic image segmentationCV2011-2. Lecture 04.  Semantic image segmentation
CV2011-2. Lecture 04. Semantic image segmentationAnton Konushin
 
CV2011-2. Lecture 03. Photomontage, part 2.
CV2011-2. Lecture 03.  Photomontage, part 2.CV2011-2. Lecture 03.  Photomontage, part 2.
CV2011-2. Lecture 03. Photomontage, part 2.Anton Konushin
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.Anton Konushin
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.Anton Konushin
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.Anton Konushin
 
Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastractureAnton Konushin
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paperAnton Konushin
 
Andrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAndrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAnton Konushin
 

More from Anton Konushin (17)

Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторов
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparison
 
CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.
 
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.
 
CV2011-2. Lecture 07. Binocular stereo.
CV2011-2. Lecture 07.  Binocular stereo.CV2011-2. Lecture 07.  Binocular stereo.
CV2011-2. Lecture 07. Binocular stereo.
 
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06. Structure from motion.
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.
 
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 04.  Semantic image segmentationCV2011-2. Lecture 04.  Semantic image segmentation
CV2011-2. Lecture 04. Semantic image segmentation
 
CV2011-2. Lecture 03. Photomontage, part 2.
CV2011-2. Lecture 03.  Photomontage, part 2.CV2011-2. Lecture 03.  Photomontage, part 2.
CV2011-2. Lecture 03. Photomontage, part 2.
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.
 
Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastracture
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paper
 
Andrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAndrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1a
 

CV2015. Лекция 7. Поиск изображений по содержанию.

  • 1. Интернет-зрение Many slides adopted from Cordelia Schmid, Li Fei-Fei, Rob Fergus, Antonio Torralba Антон Конушин
  • 2. Сколько изображений? • Всего около ~100000 разных категорий объектов • И миллионы «мелких» категорий, вроде пород собак, видов насекомых и т.д. • Сколько нам нужно изображений, чтобы научиться их всех распознавать? • Сколько нам доступно изображений? • Что мы про них будем знать?
  • 3. Сколько всего картинок? Число картинок на диске: 104 Число картинок, виденных за 10 лет: 108 (3 images/second * 60 * 60 * 16 * 365 * 10 = 630720000) Число картинок, виденных всем человечеством: 1020 106,456,367,669 humans1 * 60 years * 3 images/second * 60 * 60 * 16 * 365 = 1 from http://www.prb.org/Articles/2002/HowManyPeopleHaveEverLivedonEarth.aspx Число картинок во вселенной: 10243 1081 atoms * 1081 * 1081 = Число всех картинок 32x32 : 107373 256 32*32*3 ~ 107373 Slide by Antonio Torralba
  • 4. Доступные изображения Lena Одна картинка 1972 100 105 1010 1020 Число картинок 1015 Human Click Limit (все человечество делает по картинке всекунду в течение 100 лет) Время1996 40.000 COREL 2007 2 миллиарда 2020? Slide by Antonio Torralba Обычно, про само изображение мы ничего не знаем, кроме параметров в EXIF из JPEG
  • 5. • Благодаря интернету, мы получили доступ к огромным коллекциям изображений • Что мы с ними можем сделать, как они нам помогут? • Первым делом, нужно научиться искать картинки в больших коллекциях Что будем делать?
  • 6. Поиски изображений по содержанию • Content-based image retrieval • Задача похожа на выделение объектов и классификацию изображений, но фокусируется в основном на масштабировании на большие коллекции с использованием приближенных методов R. Datta, D. Joshi, J. Li, and J. Z.Wang. Image retrieval: Ideas, influences, and trends of the new age. ACM Computing Surveys, 2008.
  • 7. Что запрашивает пользователь? • Запрос в виде атрибутов/текстового описания изображения • «Московская фотобиеннале-2012, фото» - аннотация (атрибуты) изображения • Нужна категоризация/аннотация изображений • Запрос в виде изображения-примера («найди то же самое») • Запрос в виде некоторой характеристики содержимого • Запрос в виде рисунка-наброска - Гистограмма цветов
  • 8. Semantic Gap • Запрос в виде изображения-примера («найди то же самое», «найди похожее изображение») • Что имел пользователь в виду? • Что значит «похожее изображение»? • «Семантический разрыв» – несовпадение информации, которую можно извлечь из визуальных данных, и интерпретацией тех же самых данных со стороны пользователя Описание №1 Описание №2?
  • 9. Что значит похожее? 1. Похожее по каким-то характеристикам, например, по цвету Запрос
  • 10. Что значит похожее? 2. Полудубликаты (Near-duplicates) – слегка измененная версия изображения (ракурс, цвета)
  • 11. Что значит похожее? 3. Тот же самый объект или сцена («Object retrieval») • Большие вариации ракурсов, фона, и т.д., чем при поиске полудубликатов
  • 12. Что значит похожее? 4. Похожие визуально по геометрии сцены с учетом ракурса (могут быть разные по назначению) Кухня Приемная Бар Автобус Самолет Зал
  • 13. Что значит похожее? 5. «Category-level classification» - изображения одного класса сцен или объектов Пример – банкетный зал. Например, 256 классов из базы Caltech 256
  • 14. Анализ постановок задач • Какие постановки задач внутренне схожи, а какие существенно отличаются? • В последнем случае нам нужно выполнить автоматическую аннотацию изображения, определить класс сцены, присутствующие объекты, их характеристики • Затем мы будем сравнивать метки запроса с метками изображений в базе • Мы сегодня рассмотрим визуальное подобие для задачи «полудубликаты» Визуальное подобие Семантическое подобие
  • 15. Общая схема поиска изображений Признаки изображения ТестированиеТестовое изображение Подпись (Signature) Коллекция изображений Подпись (Signature) Построение индекса Признаки изображения Индекс коллекции Поиск по индексу Список похожих Дескриптор на основе извлеченных признаков Ищем ближайших соседей по выбранной метрике
  • 16. Гистограммы градиентов • Насколько HOG подходит для сравнения двух произвольных изображений по визуальному сходству? • Как учитывается масштаб/размер объекта? HOG (2005)
  • 17. Дескриптор изображения GIST TORRALBA, A., MURPHY, K. P., FREEMAN, W. T., AND RUBIN. Context-based vision system for place and object recognition. In ICCV 2003 • Воспользуемся методом, похожим на HOG. • Посчитаем отклики детекторов краёв на 5 разных масштабах и 6 ориентациях края • Получим 33 «канала» - RGB-цвет и 30 откликов фильтров края
  • 18. Дескриптор изображения GIST • Разобьём изображение сеткой 4x4 на 16 ячеек • В каждой ячейке усредним значения всех каналов • Получим дескриптор GIST • Можем добавить средний цвет и дисперсию для каждой ячейки
  • 19. Применение GIST GIST хорошо себя показал для оценки визуального подобия изображений в задаче поиска «полудубликатов» Запрос Похожие по GIST + цвету
  • 20. Затраты по памяти для GIST • Решетка 4x4 * 8 ориентаций * 4 масштаба = 512 параметров • При 4 байтах на параметр – 2048 байт (16384 бита) • 2Гб на 1М изображений • 200Гб на 100М изображений • Уже довольно тяжело хранить большие коллекции в RAM
  • 21. Скорость работы • Задача CBIR сводится к поиску ближайших соседей по дескриптору во всей коллекции (Nearest Neighbor) • Простейшее и точное решение – линейный поиск • Размер коллекции – миллионы и миллиарды векторов • Нужны быстрые методы, пусть и с потерей точности
  • 22. Квантование векторов • «Vector quantization» – способ ускорения поиска за счёт уменьшения точности • Отображение x на q(x), где q(x) in {ci }, ci – центроиды, i от 1 до K • Индекс q(x) можно записать в виде битового кода длиной log2(K) • Фактически, сжатие исходного вектора до log2(K) • Простейший способ квантования – разбиение пространства дескрипторов на ячейки вдоль осей координат
  • 23. Адаптивное квантование • Регулярное разбиение не учитывает структуру данных, их распределение в пространстве дескрипторов • Адаптивно разбить пространство можем с помощью кластеризации K-средними
  • 24. Инвертированный индекс Квантованные вектора удобно записывать в форме «инвертированного индекса» • K списков по числу кластеров (кодовых слов) • В каждом списке храним индексы всех векторов, квантованных до Сi C1 С2 СK
  • 25. Инвертированный индекс Поиск по индексу для запроса y: • Квантуем y, получаем номер q(y) • Выдаем все вектора, попавшие в список с номером q(y) Проблема – не все примеры из списка одинаковы близки к q(y) С(1) С(2) С(N)
  • 26. Ранжирование результатов • Зачем выдавать все элементы в списке из одного кластера неупорядоченно? • Упорядочим результаты (Re-ranking) • Рассчитаем расстояния от вектора-запроса до каждого элемента списка по полному дескриптору • Отсортируем результаты по близости (первые – ближайшие) • Есть и другие способы ранжирования!
  • 27. Проблемы квантования К-средними • Чем больше K и длиннее код, тем меньше потеря информации при кодировании • Для повышения точности нужно увеличивать число кластеров K • Квантование до кодов 64 бит (0.125 бит на параметр GIST) требует кластеризации на 264 кластеров, что напрямую невозможно • Сложность одного этапа К-средних O(NK) • Медленно на больших выборках (большие N) • Медленно при больших K • Поэтому нужны другие, более быстрые приближенные методы, либо на замену k-means, либо в дополнение
  • 28. Hierarchical k-means (HKM) • Иерархическое разбиение • Кластеризуем всё на K кластеров (K=10) с помощью K-средних • Затем данные в каждом кластере снова разбиваем на K кластеров • Повторяем до достижения нужной глубины • Пример: • Глубина 6 даёт 1M листьев • По точности проигрывает существенно K-средним • Есть другие приближённые методы (Approximate K-means) D. Nister and H. Stewenius. Scalable recognition with a vocabulary tree. In Proc. CVPR, 2006.
  • 29. Семантическое хеширование Пространство кодов Семантически Похожие изображения Код запроса Семантич- еская хэш- функция Изображение запрос Бинарный код Коды изображений R. R. Salakhutdinov and G. E. Hinton. Semantic hashing. In SIGIR workshop on Information Retrieval and applications of Graphical Models, 2007. Идея: построить такие бинарные коды h(x) (подписи), что для близких в L2 дескрипторов x, коды h(x) будут близки по расстоянию Хэмминга Предположение: есть дескрипторы, которые можем сравнивать по L2 Дескриптор
  • 30. Отличие от квантования? • И при квантовании k-средними и при семантическом хэшировании получаем бинарный код некоторой длины • Разница в том, что при обычном квантовании разные номера никак не связаны друг с другом, а тут расстояние Хэмминга между сжатыми бинарными кодами коррелирует с расстоянием между векторами-прототипами
  • 31. Locality Sensitive Hashing (LSH) • Возьмем случайную проекцию данных на прямую • Выберем порог близко к медиане проекций на прямую • Пометим проекции 0 или 1 (1 бит подписи) • С увеличением числа бит подпись приближает L2-метрику в исходных дескрипторах 0 1 0 1 0 1 101 Дескриптор в многомерном пространстве A. Andoni and P. Indyk. Near-optimal hashing algorithms for approximate nearest neighbor in high dimensions. In FOCS, 2006
  • 32. Locality Sensitive Hashing (LSH) • Плюсы • Приближенный способ вычисления ближайшего соседа • Быстрое квантование (быстро вычисляем бинарный код) • Недостатки: • Приближение L2 лишь асимптотическое • На практике может потребоваться слишком много бит для подписи • Вывод: • Использовать как замену K-средних нельзя • Можно использовать в дополнение
  • 33. Проблемы K-средних • Маленькое K – большие ячейки • Слишком грубый порог на сравнение! • Большое K – маленькие ячейки • Медленнее кластеризация и квантование • Ячейка может оказаться слишком маленькой, не все соседи попадут
  • 34. «Hamming Embedding» • Построим с помощью LSH коды, квантующие вектора (x-q(x)) для каждой ячейки независимо от остальных • Будем использовать эти коды для сравнения дескрипторов, попавших в одну ячейку • В итоге получается: • Вначале K-средние, а внутри каждой ячейки – квантование через LSH или другой метод семантического хэширования • Оказалось лучше 2х этапного иерархического К-среднего 0 1 0 1 0 1
  • 35. Сравнение векторов • Можем применять семантическое хэширование и к записям в базе y, и к запросу x (симметричное сравнение) • Можем сравнивать вектор-запрос x с реконструированной версий квантованных векторов (ассиметричное сравнение) • Ассиметричный вариант точнее
  • 36. Влияние кодов • Посмотрим распределение расстояний Хэмминга между правильными и неправильными парами • Сравнение по кодам показывает, что при длине кода > 32 бит наблюдается заметная разница между правильными и неправильными сопоставлениями
  • 37. Алгоритм GISTIS M.Douze et.al., Evaluation of gist descriptors for web-scale image search. In International Conference on Image and Video Retrieval. ACM,2009. • GIST Indexing Structure • Добавим в наш простой алгоритм для поиска полудубликатов hamming embedding • Схема метода: • Строим GIST для каждого изображения • Кластеризуем все дескрипторы с помощью k-means на k=200 cлов • Применяем LSH к каждому кластеру и для всех векторов в кластере считаем бинарную подпись • Идентификатор картинки и бинарная подпись хранится в индексе в RAM
  • 38. Схема метода • В индексе в RAM хранится только бинарная подпись изображения (512 бит) и идентификатор • Сам GIST хранится на жестком диске • Можем проводить сортировку несколько раз: • Вначале по бинарным подписям • Затем по GIST с жёсткого диска
  • 39. Результаты Байт на изображение в RAM Время на построение дескриптора Время поиска в базе из 110М изображений GIST 3840 35мс 1.26с GISTIS 68 36мс 2мс GISTIS + L2 68 36мс 6/192мс M.Douze et.al., Evaluation of gist descriptors for web-scale image search. In International Conference on Image and Video Retrieval. ACM,2009.
  • 40. Квантование через произведение • Вспомним: • Для векторов SIFT квантование до кодов 64 бита (0.5 бита на параметр) требует подсчёта и хранения 264 центроидов, что невозможно • Идея “product quantization”: • Разобьём вектор x длины D на m частей • Квантуем каждый подвектор uj независимо от остальных • Пусть каждый подвектор квантуем на k* центроидов, тогда всего центроидов (k*)m • Длина кода l = m log2k* • Сравнение с K-средними по памяти • Память: kD (K-средние) и mk*(D/m)=k1/mD u1 u2 u3 um H.Jégou et. al. Product quantization for nearest neighbor search, PAMI 2011
  • 41. Резюме поиска полудубликатов • Для каждой картинки строим дескриптор и записываем его в инвертированный индекс • GIST – неплохой дескриптор для поиска полудубликатов • Размер GIST слишком большой для поиска по большим коллекциям, поэтому нужно делать ускоренные приближенные методы поиска ближайших соседей. • Мы рассмотрели: • Квантование k-средними и иерархический метод k-средних • Семантическое хеширование – LSH, квантование произведения
  • 42. James Hays, Alexei A. Efros Scene Completion using Millions of Photographs, SIGGRAPH 2007 Попробуем решить такую задачку:
  • 43. Реконструкция изображения в невидимой области «Inpainting»
  • 44. • Если бы мы нашли в интернете подходящую картинку, мы бы могли просто ей просто «закрыть дырку» Как будем решать?
  • 45. • Скачаем из интернета множество пейзажей по разным ключевым словам • Очень много – миллион и больше картинок • Будем искать похожие картинки в этой базе • Воспользуемся методом поиска полудубликатов Как будем решать?
  • 47. 10 ближайших из 20,000 изображений
  • 48. 10 ближайших из 2х миллионов изображений
  • 50. Цифровой фотомонтаж (разрезыграфов + смешение по Пуассону)
  • 66. im2gps • Собрали 6М картинок из Flikr с проставленными GPS-метками • К дескриптору GIST добавили кучу дополнительной информации, требующей долгого обсчёта • Кластер из 400 машин для аннотации всех 6М изображений • Теперь по комбинированному дескриптору можем искать • Найдем, вот эту картинку: James Hays, Alexei A. Efros im2gps: estimating geographic information from a single image, CVPR 2008.
  • 67.
  • 71. Отображение результатов на карте 200 результатов, кластеризуем и покажем центры и распределение картинок
  • 74. Категоризация, регрессия Если для изображений есть дополнительная аннотация, то можем сделать «kNN» классификацию, используя похожесть изображений как метрику близости
  • 76. Скорость = 112 м / км ** ** ** ** ** ** **** ** ** ** ** ** * * * * * * *
  • 77. Уклон Ранжирование изображений по уклону (от макс к мин)
  • 80. • В больших коллекциях изображений можно найти очень близкие изображения (практически полудубликаты) • Если есть дополнительная аннотация изображений базы, то KNN поиск по большой базе позволяет неплохо решать задачи регрессии по изображениям Промежуточное резюме
  • 81. A. Torralba, R. Fergus, W. T. Freeman 80 million tiny images: a large dataset for non-parametric object and scene recognition IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.30(11), pp. 1958-1970, 2008. А что мы можем сделать, если у нас есть сто миллионов картинок? Крошки-картинки (Tiny images)
  • 82. Какого размера нам потребуются картинки, чтобы их можно было использовать для распознавания? Попробуем на человеке... Примеры изображений
  • 87.
  • 90. 2 ,, 21 2 )),,(),,((min   cyx warp cyxITcyxID   2 ,, 21 2 )),,(),,((  cyx SSD cyxIcyxID SSD-метрика Сравнение с искажением Метрики для поиска
  • 91. Наиболее похожие по SSD в зависимости от размеров коллекции
  • 94. Поиск лиц на основе коллекции
  • 95.
  • 96.
  • 97. • Человек может распознать сцену с 90% правильностью по цветному изображению 32x32 • Если есть достаточно большая выборка, то мы можем для практически любого изображения найти очень близкое и по содержанию, и по ракурсу, и т.д.. • Метод «ближайшего соседа» при больших выборках может неплохо работать Выводы из крошек-картинок
  • 98. • Хотелось бы больше информации про изображения в коллекции • GPS-метка и атлас уже дали интересные результаты • Нужна дополнительная аннотация • Как бы нам её получить? Расширенная аннотация
  • 99. • Automaton Chess Player – робот, игравший в шахматы • Автоматон двигает фигуры, говорит «Чек» и обыгрывает всех! • C 1770 по 1854 развлекал публику, только в 1820 году раскрыли обман Mechanical Turk (1770)
  • 100. Human Intelligence Task • Есть много задач, простых для человека, но крайне сложных для компьютера • Пример: классификация и разметка изображений
  • 101. Galaxy Zoo http://www.galaxyzoo.org/ • Классификация изображений галактик • Первый масштабный проект такого рода • Более 150000 волонтёров за первый год бесплатно сделали более 60 млн. меток
  • 102. Система LabelMe Просим пользователей выделять любые объекты замкнутыми ломаными и давать им название B. Russell, A. Torralba, K. Murphy, W. T. Freeman LabelMe: a database and web- based tool for image annotation, IJCV, 2008
  • 103. Task Is this a dog? o Yes o No Рабочие Answer: Yes Task: Dog? Pay: $0.01 Broker www.mturk.com $0.01 Фрилансеры • Возникли интернет-брокеры для сведения заказчиков и работников • Пример известного – Amazon Mechanical Turk • Разметчики – просто подработка (студенты, домохозяйки), люди из более бедных стран
  • 104. • Данные – один из краеугольных элементов для решения задачи компьютерного зрения • Нужно уметь собирать большие массивы данных и быстро искать в них • GIST, квантование, семантическое хэширование, инвертированный индекс • Интернет и глобализация дают нам удобный инструмент для сбора и обработки данных Резюме лекции