Дескрипторы инвариантных функций масштаба и поворота


16

Можете ли вы перечислить некоторые дескрипторы пространственных и инвариантных элементов вращения для использования при обнаружении объектов.

Приложение предназначено для обнаружения автомобилей и людей в видео, снятом БПЛА, с использованием многоклассового классификатора.

До сих пор я смотрел на SIFT и MSER (аффинно-инвариантный). Я также посмотрел на LESH, LESH основан на модели локальной энергии, но рассчитан таким образом, который не является вращательно-инвариантным, я пытался придумать способ использовать локальную энергию, чтобы построить вращательно-инвариантную Дескриптор функции, я читал здесь. Какие бесплатные альтернативы SIFT / SURF можно использовать в коммерческих приложениях? , что «если вы назначите ориентацию на точку интереса и соответственно повернете патч изображения, вы получите вращательную инвариантность бесплатно», но вы не знаете, является ли это даже облегчением или как я могу применить это к моей проблеме, любая помощь будет оценил, спасибо


Используйте ORB (Oriented FAST и Rotated BRIEF) из библиотеки OpenCV.
Суровый Вардхан

Ответы:


9

Что касается альтернатив SIFT / SURF, то вопрос, который вы связали, дает очень хорошие ответы.

Я мог зачитать еще два вопроса:

  • "Как я могу создать полезный (например, инвариант вращения) дескриптор функции"?
  • "относительно утверждения из связанного вопроса, как он достигает свободной вращательной инвариантности?"

Создание дескрипторов объектов

Это актуальная тема исследования. Хорошие дескрипторы функций - это не то, что каждый может создать днем. Люди публикуют статьи, когда они успешно моделируют дескрипторы функций с желаемыми свойствами. Это причина того, что в настоящее время используется только несколько современных дескрипторов, и это также то, что я советую вам сделать: найти дескрипторы функций, которые соответствуют вашим потребностям .

Достижение ротационной инвариантности "бесплатно"

0|black->gray->white||white->gray->black|-9090 ) соответственно, и когда вы поворачиваете их на эту величину, вы получаете те же изображения.

Таким образом, вы всегда будете вычислять дескриптор на патче изображения с той же доминантной ориентацией (повернутый патч), и, таким образом, вы достигнете инвариантности вращения.


4

Другой способ получить вращательную инвариантность бесплатно, это выбрать объекты, которые являются вращательно инвариантными. Например, круг или кольцо инвариантны к вращению.

Функция извлечения : Обнаружение фронта прогона. Для каждой окрестности NxNпикселей рассчитайте направление края и величину 2D гистограммы. Найдите все точки, которые имеют высокую общую величину и большой угловой разброс . Удалите все точки, которые не имеют радиальной симметрии.

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


Кстати, это одна из причин того, что проверочные элементы изготавливаются в виде кругов на электрических платах:

введите описание изображения здесь


мы говорим о Keypoint (функция) дескрипторов . Если мы говорим об особенностях (точках интереса) , то может быть полезно обнаружение круглых заплат - они вращательно инвариантны в сочетании с каждым дескриптором. Но дескриптор, рассчитанный по круговому фрагменту, не является - белый круг с горизонтальным диаметром черного цвета и с вертикальным будет давать очень разные дескрипторы, если не используется вращательно-инвариантный метод
Пенелопа

@penelope, почему бы и нет? Рассмотрим следующий дескриптор - эскиз патча, и вы сравните его с другими дескрипторами с нормализованной взаимной корреляцией. Вы не можете перепутать это с другими объектами таким образом.
Андрей Рубштейн

Извините, я не понимаю, что вы подразумеваете под "миниатюрой патча", вы можете объяснить? И дескриптор: нормализованная корс-корреляция вашего патча - это то, что делает его вращательно-инвариантным, а не тот факт, что ваш патч был кольцом или кругом.
Пенелопа

@penelope, я думаю, теперь я не достаточно ясно. Я постараюсь расширить его завтра. Спасибо вам за ваши комментарии.
Андрей Рубштейн

С нетерпением жду этого :)
Пенелопа

1

Я бы лучше посмотрел на KAZE / AKAZE, которые одинаково хорошо работают со значительным ускорением. Случаи деформации также допускаются. OpenCV недавно получил реализацию через GSoC 2014. Вы можете найти ее здесь .


1

Если вы переназначаете локальный участок вокруг характерной точки в лог-полярные координаты (с началом координат в точке, представляющей интерес), изменения масштаба соответствуют сдвигу вдоль лог-радиальной оси, тогда как повороты соответствуют сдвигам (с разворотом) вдоль угловой оси. Если затем вычислить двумерное преобразование Фурье, сдвиги в радиальном и угловом направлениях станут фазовыми сдвигами в частотной области. Если затем вычислить абсолютное значение преобразования Фурье, фаза полностью исчезнет, ​​а изменения масштаба и повороты исходного участка изображения станут незаметными. Таким образом, абсолютное значение 2D-преобразования Фурье изображения в логарифмических координатах будет вашим дескриптором объекта.

Ну, по крайней мере, в теории. На практике вам нужно ограничить радиальное расширение вашего патча. Это означает, что вам нужно вырезать большую часть ваших данных перед вычислением преобразования Фурье (которое на самом деле представляет собой ряд Фурье), поэтому перевод вдоль логарифмического направления в логополярные координаты не совсем соответствует просто фазовый сдвиг в частотной области больше, поэтому метод не является абсолютно инвариантным к масштабу. Я подозреваю, что если вы используете какую-то оконную функцию - без разрывов - для координаты log-радиуса и умножаете ее на интенсивность цвета, эта проблема будет несколько смягчена.

Однако дескриптор функции все равно должен быть идеально инвариантным к повороту.

Справка: инвариантность шкалы без выбора шкалы


0

Вы также можете проверить FAST и BRISK .


Насколько я искал, FAST - это только детектор, используемый со многими различными комбинациями дескрипторов. И, FAST и BRISK уже упоминаются в вопросе, который сам OP связал, поэтому я предполагаю, что у него уже есть информация о существовании этих методов.
Пенелопа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.