CVPR 2021 Обзор алгоритма-победителя двойного чемпионата по сопоставлению изображений

На основе ранее предоставленных нами статей для компании, подведем итоги некоторых экспериментов и размышлений, связанных с участием в недавних соревнованиях. Все права на статью защищены: Megvii Technology. Оригинальная ссылка: https://www.zhihu.com/question/32066833/answer/2041516754

Image Matching (сопоставление изображений) — одна из основных технологий в области компьютерного зрения. Она заключается в сопоставлении локальной информации одинаковых позиций на двух изображениях с помощью разреженных или плотных признаков. Image Matching широко применяется в таких областях, как робототехника, беспилотные автомобили, AR/VR, поиск изображений/товаров, распознавание отпечатков пальцев и т.д.

На недавно завершившемся соревновании CVPR 2021 по Image Matching, команда Megvii 3D завоевала два первых и одно второе место. В этой статье описываются их стратегия на соревновании, эксперименты и некоторые размышления.

Описание соревнования

Сопоставление изображений заключается в распознавании и выравнивании на уровне пикселей содержимого или структуры двух изображений с одинаковыми или схожими характеристиками. Как правило, изображения для сопоставления берутся из одинаковых или схожих сцен или объектов, либо из других типов изображений с одинаковой формой или семантической информацией, что делает их подходящими для сопоставления.

Image Matching Challenge

В этом соревновании Image Matching Challenge (IMC) было два трека: unlimited keypoints и restricted keypoints, где количество извлекаемых ключевых точек на изображении ограничено 8k и 2k соответственно.

В этом году в IMC использовались три набора данных: Phototourism, PragueParks и GoogleUrban. Эти наборы данных значительно различаются, что предъявляет высокие требования к обобщающей способности алгоритмов. Организаторы стремились найти метод, который хорошо работает на всех трех наборах данных, поэтому итоговый рейтинг был средним значением рейтингов по этим трем наборам данных.

Для каждого набора данных организаторы использовали два метода оценки: Stereo и Multiview, и вычисляли ранги для каждой из этих задач.

  • Stereo: сопоставление двух изображений с последующим вычислением F-матрицы и оценкой ошибки положения.
  • Multiview: выбор небольшого набора изображений для построения карты через bags, с последующим вычислением ошибки положения между различными изображениями с помощью 3D-модели.

Ниже представлена схема процесса соревнования:

SimLoc Match

SimLoc также включает набор данных с различными сценами, но, в отличие от набора данных IMC, это синтетический набор данных, который позволяет получить абсолютно точные ground truth.

В соревновании использовались три показателя, а для итоговой оценки использовался показатель успешности сопоставления. Три показателя следующие:

  • Количество внутренних точек (чем больше, тем лучше)
  • Процент успешных сопоставлений, то есть количество внутренних точек/все предоставленные пары для сопоставления (чем выше, тем лучше)
  • Количество ложных сопоставлений: когда два изображения не имеют общих областей, количество сопоставлений должно быть как можно меньше

Стратегия

Анализ данных

Сначала был проведен анализ трех наборов данных соревнования.

  • Проверка наличия разрыва между валидационным и тестовым наборами данных
  • Определение размера для изменения масштаба изображений путем анализа соотношения сторон каждого набора данных

Pipeline


Это наш pipeline для соревнования, который включает шесть этапов: предварительная обработка, обнаружение ключевых точек, уточнение положения ключевых точек, извлечение дескрипторов на нескольких масштабах или углах, Guided Matching и RANSAC на основе адаптивного FH.

Предварительная обработка


В треке IMC есть ограничение на количество ключевых точек, поэтому их расположение имеет большое значение. Динамические объекты, такие как пешеходы, автомобили, небо и т.д., не оказывают влияния на решение задачи сопоставления позиций или оказывают негативное влияние. Поэтому мы использовали сегментационную сеть для маскировки этих объектов, чтобы при извлечении ключевых точек маскированные области игнорировались.

После использования сегментационной сети для предварительной обработки мы столкнулись с двумя проблемами.

  • Первая проблема заключается в том, что из-за низкой точности сегментационной сети она не всегда хорошо различает границы между зданиями и небом, что иногда приводит к разрушению краев зданий, что негативно сказывается на сопоставлении. Поэтому после маскировки динамических объектов мы применили эрозию к маскированным областям, чтобы сохранить детали краев зданий.
  • Вторая проблема заключается в том, что сегментационная сеть плохо обобщает различие между людьми и статуями. При маскировке пешеходов также маскируются статуи. Однако в некоторых сценах, например, в наборе данных Lincoln, ключевые точки на статуях важны для сопоставления. Для решения этой проблемы мы обучили классификационную сеть, которая различает статуи и пешеходов, что позволяет маскировать пешеходов, но сохранять статуи.

Благодаря предварительной обработке на валидационном наборе данных Phototourism задачи Stereo и Multiview улучшились на 1,1% и 0,3% соответственно.

Извлечение ключевых точек

Adapt Homographic

Мы применили 100 гомографических преобразований, чтобы получить 100 преобразованных изображений. На этих изображениях с помощью модели SuperPoint были извлечены ключевые точки, и на основе их heatmap были выбраны финальные ключевые точки. Это позволило извлечь больше ключевых точек и сделать их расположение более точным.

Использование Adapt Homographic улучшило результаты на валидационном наборе данных Phototourism для задач Stereo и Multiview на 1,7% и 1,3% соответственно.

Уточнение

Ключевые точки, извлеченные SuperPoint, имеют целочисленные координаты. Мы применили soft argmax refinement с радиусом 2 для субпиксельного уточнения, чтобы сделать расположение ключевых точек более точным. Использование метода уточнения улучшило результаты на валидационном наборе данных Phototourism для задач Stereo и Multiview на 0,8% и 0,35% соответственно.

NMS


При наблюдении за методом DISK для извлечения ключевых точек мы заметили, что ключевые точки часто группируются в кластеры, что приводит к отсутствию точек в некоторых областях.

Чтобы смягчить эту проблему, мы использовали NMS с большим радиусом, увеличив радиус NMS с 3 до 10. На изображении видно, что проблема кластеризации ключевых точек была решена. На валидационном наборе данных PragueParks для задачи Stereo улучшение составило 0,57%.

Пирамидальный дескриптор и Guided Pyramid Matching

Анализ Corner Cases

После создания базовой линии мы случайным образом выбрали несколько изображений из тестового набора для анализа corner cases. Мы обнаружили, что плохие результаты сопоставления в основном возникают в двух случаях, или при их сочетании:

  • Существенная разница в масштабе
  • Сильное вращение

Для решения этих corner cases мы применили стратегию пирамидального дескриптора и направленного сопоставления.

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

При сопоставлении сначала устанавливается порог t: если количество совпадений превышает порог, используется исходный масштаб или угол, если меньше — применяется многомасштабное или многоугловое сопоставление.

После корректировки результаты сопоставления для вышеупомянутых corner cases улучшились.

Эта стратегия привела к среднему улучшению на 0,4% для задач Stereo и Multiview на валидационных наборах данных всех трех наборов.

Повторное обучение SuperGlue

Мы также повторно обучили SuperGlue, что включало два аспекта. Первый — это воспроизведение официального метода SuperPoint+SuperGlue. Второй — использование более эффективного метода извлечения признаков DISK и обучение DISK+SuperGlue. Валидационный набор данных YFCC показал, что DISK+SuperGlue превосходит официальную версию SuperPoint+SuperGlue примерно на 4%.

Для набора данных соревнования DISK+SuperGlue показал хорошие результаты на Phototourism, но на двух других наборах данных результаты были хуже. Это может быть связано с тем, что DISK был обучен на Megadepth и переобучен на наборах данных с архитектурными объектами. SuperPoint, напротив, был обучен на COCO, который включает более разнообразные сцены, что делает его более обобщенным.

В треке с 8k ключевыми точками (unlimited keypoints) мы объединили SuperPoint+SuperGlue и DISK+SuperGlue, что дало лучшие результаты, чем использование каждого метода по отдельности.

MethodsPhototourismPragueParksGoogleUrban
StereoMultiviewStereoMultiviewStereoMultiview
SP-SG(4K)0.603570.782900.797660.504990.412120.32472
DISK-SG(8K)0.61955 ↑0.775310.720020.485480.38764 0.26281
SP-DISK-SG0.63975 ↑0.78564 ↑0.80700 ↑0.498780.43952 ↑0.33734 ↑

RANSAC и Adapt FH

Сначала мы попробовали несколько методов RANSAC, таких как встроенный метод OpenCV, DEGENSAC и MAGSAC++. Эксперименты показали, что DEGENSAC дает наилучшие результаты.

Кроме того, при использовании DEGENSAC для вычисления F-матрицы возникает проблема вырождения плоскости, как показано ниже.

Для решения проблемы вырождения плоскости, вдохновившись ORB-SLAM, мы разработали адаптивную стратегию FH. Алгоритм представлен ниже:

Применение: AR-навигация

Megvii уделяет большое внимание интеграции передовых алгоритмов с реальными бизнес-задачами. Технология Image Matching, описанная в этой статье, уже используется в нескольких проектах, таких как робот SLAM S800V и AR-навигация.

Например, в проекте Megvii по «визуальной навигации в помещениях» используется технология реконструкции разреженного облака точек SfM для больших сцен и технология Image Matching. Команда Megvii 3D реализовала функцию точного позиционирования и AR-навигации в сложных внутренних пространствах, используя только камеру смартфона. В отличие от традиционных решений для внутреннего позиционирования, таких как GPS или Bluetooth, «визуальная навигация в помещениях» обеспечивает сантиметровую точность построения карты, субметровую точность позиционирования и не требует дополнительной установки меток в помещении. Это решение уже успешно внедрено в нескольких крупных проектах по внутреннему позиционированию.

Для более наглядного опыта использования этой технологии было разработано приложение для визуальной навигации в помещениях — «MegGo», которое уже запущено внутри компании. Оно поддерживает позиционирование и навигацию по различным рабочим зонам. Даже находясь в незнакомом месте, можно использовать этого электронного «гида» для быстрого и точного нахождения пути к конференц-залу или другому месту назначения. Посетители компании также могут скачать приложение MegGo на свои смартфоны, чтобы испытать функции позиционирования и навигации (на изображениях ниже показаны примеры визуального позиционирования и AR-навигации с помощью MegGo).

GIF

Визуальное позиционирование

GIF

AR-навигация

Перспективы на будущее

  • Добавить обучение с подкреплением при тренировке и повторно обучить весь pipeline.
  • Улучшить обобщающую способность DISK, обучив его на большем количестве наборов данных.
  • Использовать Refinements сеть для уточнения положения ключевых точек.

Список литературы

1. D. DeTone, T. Malisiewicz, and A. Rabinovich, “SuperPoint: Self-supervised interest point detection and description,”CoRR, vol. abs/1712.07629, 2017.
2. M. Tyszkiewicz, P. Fua, and E. Trulls, “DISK: Learning local features with policy gradient,” Advances in Neural Informa-tion Processing Systems, vol. 33, 2020.
3. K. He, G. Gkioxari, P. Dollár, and R. B. Girshick,“Mask R-CNN,” CoRR, vol. abs/1703.06870, 2017.
4. H. Zhao, J. Shi, X. Qi, X. Wang, and J. Jia, “Pyramid scene parsing network,” in CVPR, 2017.
5. P.-E. Sarlin, D. DeTone, T. Malisiewicz, and A. Rabinovich, “SuperGlue: Learning feature matching with graph neural networks,” in CVPR, 2020.
6. D. Mishkin, J. Matas, and M. Perdoch, “Mods: Fast and robust method for two-view matching,” Computer Vision and Image Understanding, 2015.
7. C. Campos, R. Elvira, J. J. Gomez, J. M. M. Montiel, и J. D.Tardós, «ORB-SLAM3: Точная библиотека с открытым исходным кодом для визуального, визуально-инерциального и многокарточного SLAM», arXiv preprint arXiv:2007.11898, 2020.

Add a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *