Автор: Дмитрий Чудаков

Редактура: Давид Свитов

Сопоставление изображений

Задача сопоставления изображений сводится к поиску конкретного объекта на одном изображении с помощью другого, эталонного. Для этого необходимы так называемые ключевые точки – характерные области изображения, которые помогают определить, насколько два объекта совпадают.

Поиск ключевых точек и сопоставление изображений — начальный этап перехода от 2D задач к 3D. Сопоставив между собой множество изображений сцены, мы сможем восстановить трёхмерную структуру объектов в ней. Но для этого важно иметь «хорошие» ключевые точки.

Ключевые точки

<aside> 📌

Ключевые точки – точки, обнаружение которых на снимках инвариантно к сдвигу и повороту камеры.

</aside>

Они выделяются благодаря своим важным свойствам:

  1. Repetability (воспроизводимость): ****на разных изображениях ключевая точка всегда находится на одном и том же месте. ****
  2. Reliability (надёжность): точка находится на важном и характерном месте и не изменяется даже при небольших трансформациях изображения.

Получается, что ключевая точка непоколебима! Она обязательно найдётся на разных изображениях объекта, даже если они повернуты или масштабированы.

image.png

Дескрипторы

У каждой ключевой точки есть дескриптор.

<aside> 📌

Дескриптор – вектор, который описывает точку и её окружение.

</aside>

«Хорошие» дескрипторы узнать несложно: у разных ключевых точек они должны быть сильно различны, а у одинаковых – максимально схожи.

Алгоритмы нахождения ключевых точек

Алгоритмы нахождения ключевых точек претерпели эволюцию: начинали с простых и не всегда эффективных методов, а в итоге добрались до deep learning’а.

Начнём с классики — SIFT

Один из первых и самых известных алгоритмов для нахождения ключевых точек – это SIFT (Scale-Invariant Feature Transform). Его будем использовать, когда не требуется решить что-то сверхсложное и нужно быстро и легко найти ключевые точки.

Как работает SIFT?