Upload
yandex
View
193
Download
0
Embed Size (px)
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