Продолжим изучение нюансов нахождения соответствий изображений. В прошлый раз мы рассмотрели реализации SIFT. Теперь я покажу вам, как бесплатно (или почти бесплатно) улучшить сопоставительную часть процесса.

Резюме: локальные особенности обнаруживаются, и локальные области изображения вокруг них встраиваются в вектор плавающих объектов (SIFT, HardNet и т. Д.). Затем вычисляется L2, известное как евклидово расстояние между каждой парой, и ключевая точка на втором изображении, имеющая наименьшее расстояние дескриптора, называется предварительным совпадением.

Это простейшая стратегия сопоставления, которая называется «ближайший сосед» или NN. Это настолько очевидно, что я даже не могу дать ссылку, кто первым им воспользовался. Очевидный недостаток в том, что вы так или иначе не оцениваете надежность матча. Обычно большинство совпадений неверны, что затрудняет выполнение геометрической проверки.

Чтобы преодолеть это, можно использовать взаимных ближайших соседей или проверку перекрестной согласованности. Это означает, что мы выполняем сопоставление дважды: img1- ›img2 и img2-› img1. F1-F2 сохраняется, только если F1 - ближайший сосед для F2 (img2), а F2 - ближайший сосед для F1 (img1).

Другой способ отфильтровать неправильные совпадения - это проверка отношения ближайших соседей первого ко второму (SNN), предложенная Лоу [1] для SIFT. Вместо того, чтобы искать ближайшего соседа, мы находим два и вычисляем отношение расстояний.

Это установленный золотой стандарт для сопоставления функций на практике, хотя иногда им пренебрегают из-за глубоких дескрипторов.

Но что, если ключевые точки обнаруживаются с несколькими ориентациями или слишком близко друг к другу? Это может привести к нарушению проверки SNN. Чтобы решить эту проблему, мы предложили [2] в 2015 году искать второе ближайшее совпадение, которое пространственно достаточно далеко от первого ближайшего. Это называется FGINN - 1-е геометрически несовместимое отношение ближайших соседей. Реализация доступна здесь.

Сделав шаг вперед, мы можем выполнить FGINN обоими способами: из img1 в img2 и из img2 в img1. Тогда можно сохранить пересечение ∩ или объединение ∪ пробных вариантов. Пересечение является взаимным NN + FGINN. Объединение - это простая конкатенация двухсторонних совпадений FGINN.

Эти две стратегии еще нигде не опубликованы и основаны на симметричной проверке SNN [3].

Наконец, мы можем передать координаты (x, y) соответствий в глубокую нейронную сеть и позволить ей фильтровать их [4].

Все подходящие стратегии, кроме изученной, с игрушечными примерами реализованы здесь https://github.com/ducha-aiki/matching-strategies-comparison

Итак, давайте протестируем все. Я благодарен организаторам IMW2019 за предоставленный мне доступ к исходному коду и GT Теста IMW 2019, особенно Эдуарду Труллсу и Кван Му Йи за их любезную поддержку.

Тест выполняется следующим образом. Сначала обнаруживаются локальные особенности, затем они сопоставляются с оцененной стратегией и передаются в RANSAC для оценки положения камеры. Метрика - mAP при 15 °, что означает количество пар изображений, на которых восстанавливается достаточно точная поза камеры.

Во-первых, можно увидеть, что использование простейшей стратегии NN или даже стратегии взаимной NN не работает так хорошо.

Соотношение SNN дает огромный импульс, в то время как FGINN немного улучшает все функции. Для SIFT-ContextDesc это даже хорошо, как изученная стратегия.

Симметричные варианты FGINN еще больше улучшают ситуацию, но выигрыш непостоянен. Более мощные и точные дескрипторы, такие как HardNet, ContextDesc или Superpoint, выигрывают от объединения совпадений → лучшего отзыва, в то время как менее надежный SIFT требует большей точности, которая обеспечивается перекрестной согласованностью пересечения FGINN. Тем не менее, картина может измениться в зависимости от того, насколько простые пары изображений и сколько хороших совпадений у нас есть.

Если проблема в отзыве - переходите к объединению, если с точностью → к пересечению.

Единственная особенность теста, в которой подход, основанный на обучении, лучше, - это SuperPoint.

Таким образом, я беззастенчиво рекламирую стратегии на основе FGINN, которые можно использовать на практике.

Вот и все, ребята. Следите за новостями из серии статей о местных особенностях.

[1] Отличительные особенности изображения от масштабно-инвариантных ключевых точек. Дэвид Лоу. IJCV, 2004
[2]. MODS: быстрый и надежный метод согласования двух представлений. Д. Мишкин, Дж. Мэйтас, М. Пердок, CVIU 2015
[3] Что есть что? Оценка локальных дескрипторов для сопоставления изображений в реальных сценариях . Фабио Беллавиа и Карло Коломбо, 2019.
[4]. Учимся находить хорошие соответствия. Кван Му Йи, Эдуард Труллс, Юки Оно, Винсент Лепетит, Матье Зальцманн, Паскаль Фуа. CVPR 2018