Поиск похожих изображений при помощи нейросетей....

Preview:

DESCRIPTION

Поиск похожих изображений при помощи нейросетей. Виктор Лемпицкий, Артем Бабенко

Citation preview

Поиск изображений с помощью нейросетей

Виктор Лемпицкий Артём Бабенко

Глубокие сети

Свёрточные нейросети – принцип работы

Операции (слои) в свёрточной сети: •  Свёртка с фильтрами •  Сокращение разрешения («пулинг») •  Нелинейное поэлементное преобразование •  Умножение на матрицу общего вида

Тренировка обратным распространением

[Лейбниц; Лопиталь 1696]

Операции: •  Свёртка с фильтрами •  Сокращение разрешения («пулинг») •  Нелинейное поэлементное преобразование •  Умножение на матрицу общего вида

История свёрточных нейросетей

[LeCun et al. 1989]

?

[Krizhevsky et al. 2012]

GPU

(Очень) большие наборы изображений

ImageNet project: 14 миллионов изображений (21 000 классов)

[Deng et al ECCV 2010]

Текущие результаты [Russakovsky et al. 2014]

1000 классов по 1000 тренировочных примеров

точность классификации сравнимая с человеческой

Более сложные задачи

“Смещенные” тренировочные данные

1000 классов по 1000 тренировочных примеров

точность классификации сравнимая с человеческой

Поиск по образцу

Совместно с Ярославом Ганиным (Сколтех)

Совместно с Антоном Слесаревым (Яндекс), Александром Чигориным (Яндекс)

Адаптация «без учителя»

=?

«Исходный домен» (метки классов известны):

«Целевой домен» (метки классов неизвестны):

Адаптация в мозгу человека

«ханг-дарм»

Архитектура для адаптации

Одна сеть, две задачи

Архитектура для адаптации

•  Не меняет признаки при прямом распространении

•  Умножает градиент на –λ  при обратном распространении

Архитектура для адаптации

•  «Хорошие» признаки для классификации в исходном домене

•  «Плохие» признаки для различения двух доменов

Визуализация адаптации

Нелинейная проекция на плоскость:

Без адаптации С адаптацией

Численные результаты адаптации

Примеры

“House numbers” “Windows digits” No adapt Baseline Deep adapt Upper bound

“House numbers” “Handwritten digits”

No adapt Baseline Deep adapt Upper bound

Более сложные задачи 1000 классов по 1000 тренировочных примеров

точность классификации сравнимая с человеческой

Смещенные тренировочные данные

Совместно с Ярославом Ганиным (Сколтех)

Поиск по образцу

Совместно с Антоном Слесаревым (Яндекс), Александром Чигориным (Яндекс)

Дескрипторы для визуального поиска

Rd

База изображений

Найти самые близкие векторы

Результаты поиска

Запрос

Дескрипторы из нейросетей? ›  Текущие методы поиска по изображениям

основаны на дескрипторах, сформированных вручную

›  В задаче классификации наилучшее качество достигается с использованием дескрипторов, обученных нейросетью

›  Цель исследования – оценить, насколько хорошо нейронные дескрипторы справляются с задачей визуального поиска

Извлечение нейронных дескрипторов

Зеленый слой – свертка или умножение на матрицу Синий слой – нелинейное преобразование (ReLU) Красный слой – макс-пулинг

Нормализованные векторы активаций нейронов последних уровней L5(I), L6(I), L7(I) являются нейронными дескрипторами изображения I

Коллекции для сравнения методов поиска ›  Holidays – база из 1491

изображения, из них 500 запросов, для каждого 2-3 правильных ответа

›  Oxford – база из 5062 изображений, из них 55 запросов, для каждого несколько правильных ответов

›  Oxford105K = Oxford + 100.000 случайных изображений

›  Правильными ответами являются только изображения, содержащие тот же объект, что и изображение-запрос

Наивное применение нейродескрипторов Дескриптор Размерность Oxford Oxford105K Holidays

Fisher + color 4096 - - 0.774

VLAD+adapt+innorm 32768 0.555 - 0.646

Sparse-coded features 11024 - - 0.767

Triangulation embedding 8064 0.676 0.611 0.771

Нейродескрипторы

Слой 5 9216 0.389 - 0.670

Слой 6 4096 0.435 0.392 0.729

Слой 7 4096 0.430 - 0.716

Наивное применение нейродескрипторов Дескриптор Размерность Oxford Oxford105K Holidays

Fisher + color 4096 - - 0.774

VLAD+adapt+innorm 32768 0.555 - 0.646

Sparse-coded features 11024 - - 0.767

Triangulation embedding 8064 0.676 0.611 0.771

Нейродескрипторы

Слой 5 9216 0.389 - 0.670

Слой 6 4096 0.435 0.392 0.729

Слой 7 4096 0.430 - 0.716

Слой 6 работает в среднем лучше остальных Качество неплохое, но существенно ниже, чем у передовых существующих методов

Слой 5

Слой 6

Слой 7

Запрос Выдача

Важны мелкие текстурные детали …

Важна семантика

Слой 5

Слой 6

Слой 7

Запрос Выдача

Классификация vs Поиск объектов

Сеть для классификации инвариантна к внутриклассовой изменчивости, а для поиска необходима инвариантность к ракурсу, геометрическим преобразованиям

Класс «Leeds Castle»

Класс «Kiev Pechersk Lavra»

Результаты после адаптации дескрипторов Дескриптор Размерность Oxford Oxford105K Holidays

Fisher + color 4096 - - 0.774

VLAD+adapt+innorm 32768 0.555 - 0.646

Sparse-coded features 11024 - - 0.767

Triangulation embedding 8064 0.676 0.611 0.771

Нейродескрипторы

Слой 5 9216 0.389 - 0.670

Слой 6 4096 0.435 0.392 0.729

Слой 7 4096 0.430 - 0.716

Дескриптор Размерность Oxford Oxford105K Holidays

Fisher + color 4096 - - 0.774

VLAD+adapt+innorm 32768 0.555 - 0.646

Sparse-coded features 11024 - - 0.767

Triangulation embedding 8064 0.676 0.611 0.771

Нейродескрипторы Слой 5 9216 0.389 - 0.670 Слой 6 4096 0.435 0.392 0.729 Слой 7 4096 0.430 - 0.716

Нейродескрипторы c адаптацией Слой 5 9216 0.387 – 0.654 Слой 6 4096 0.545 0.512 0.775 Слой 7 4096 0.538 – 0.744

Результаты после адаптации дескрипторов

+11%

+11%

+11%

+5%

+3%

Поиск до и после адаптации Запрос Выдача

Адаптированная сеть инвариантна к изменению ракурса

Поиск до и после адаптации

Адаптированная сеть инвариантна к масштабу

Запрос Выдача

Сжатие нейродескрипторов PCA Размерность 16 32 64 128 256 512 Без сжатия

Oxford

Слой 6 0.328 0.390 0.421 0.433 0.435 0.435 0.435 Слой 6 + адаптация 0.418 0.515 0.546 0.547 0.547 0.547 0.545

Oxford105K

Слой 6 0.260 0.330 0.370 0.388 0.392 0.392 0.392 Слой 6 + адаптация 0.354 0.467 0.508 0.523 0.523 0.522 0.512

Holidays

Слой 6 0.571 0.663 0.709 0.727 0.729 0.729 0.729 Слой 6 + адаптация 0.589 0.709 0.757 0.769 0.769 0.769 0.775

Потери в качестве из-за сжатия крайне малы

Сравнение 128-мерных дескрипторов

Дескриптор Oxford Oxford105K Holidays Fisher+color - - 0.723

VLAD+adapt+innorm 0.448 0.374 0.625 Sparse-coded features - - 0.727

Triangulation embedding 0.433 0.353 0.617

Нейродескрипторы Слой 6 0.433 0.386 0.727

Нейродескрипторы с адаптацией

Слой 6 0.557 0.523 0.769

Заключение

›  Нейронные дескрипторы обеспечивают высокое качество для задачи поиска по изображениям

›  Нейронные дескрипторы практически не теряют в качестве при PCA-сжатии

VLAD Triang. Embedding

Neuro Neuro + Adaptation

mAP на Oxford

0,55 0,6

0,65 0,7

0,75 0,8

Fisher VLAD Triang. Embedding

Neuro Neuro + Adaptation

mAP на Holidays

Recommended