Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Филиппов / КЗ Филиппов.docx
Скачиваний:
28
Добавлен:
18.08.2022
Размер:
13.81 Mб
Скачать

Brief дескриптор.

Цель создания дескриптора — обеспечить распознавание одинаковых участков изображения, снятых с разных точек зрения, с минимально возможным кол-вом вычислений.

Вычисление дескриптора в точке p происходит так: сравниваются значения яркостей точек в её окрестности, но не всех точек, а лишь небольшого подмножества точек, разбитых по парам, координаты которых распределены случайно (но одинаково для каждой анализируемой точки p). Если яркость в некоторой точке больше, чем яркость в точке , то i-я компонента дескриптора равна 1, иначе 0. Перед этим надо сгладить изображение. В стандартной реализации используется 256 сравнений, что даёт длину 64 байт, что лучше, чем 512 байт в SIFT.

один из лучших способов – выбирать точки случайным образом Гауссовским распределением вокруг центрального пиксела.

Orb алгоритм

Является комбинацией FAST и BRIEF с некоторыми улучшениями. В ORB максимальное кол-во особых точек не более 500 (по умолчанию). Если их больше, то при помощи детектора Харриса удаляются наименее важные.

Для инвариантности к масштабированию алгоритм применяется на пирамиде Гаусса.

Т. к. BRIEF не инвариантен к повороту, предварительно фрагмент вокруг особой точки поворачивается на угол, соответствующий доминирующему направлению градиентного вектора яркости.

1) Особые точки обнаруживаются при помощи быстрого древовидного FAST на исходном изображении и на нескольких изображениях из пирамиды уменьшенных изображений. 2) Для обнаруженных точек вычисляется мера Харриса, кандидаты с низким значением меры Харриса отбрасываются. 3) Вычисляется угол ориентации особой точки. Для этого, сначала вычисляются моменты яркости для окрестности особой точки:

Всё это авторы назвали «центроид ориентации». В итоге получаем некоторое направление для окрестности особой точки. 4) Имея угол ориентации особой точки, последовательность точек для бинарных сравнений в дескрипторе BRIEF поворачивается в соответствие с этим углом, например:

Дело в том, что в тот момент, когда мы «доворачиваем» все особые точки до нулевого угла, случайный выбор бинарных сравнений в дескрипторе перестаёт быть случайным. Это приводит к тому, что, во-первых, некоторые бинарные сравнения оказываются зависимыми между собой, во-вторых, их среднее уже не равно 0.5 (1 – светлее, 0 – темнее, когда выбор был случайным, то в среднем было 0.5) и всё это существенно уменьшает способность дескриптора различать особые точки между собой.

Алгоритм поиска «хороших» тестов такой:

Вычисляем результат всех тестов для всех особых точек

Упорядочим всё множество тестов по их дистанции от среднего 0.5

Создадим список, который будет содержать отобранные «хорошие» тесты, назовём список R.

Добавим в R первый тест из отсортированного множества

Берём следующий тест и сравниваем его со всеми тестами в R. Если корреляция больше пороговой, то отбрасываем новый тест, иначе – добавляем.

Повторяем п. 5 пока не наберём нужное число тестов.

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

Соседние файлы в папке Филиппов