Можете ли вы перечислить некоторые дескрипторы пространственных и инвариантных элементов вращения для использования при обнаружении объектов.
Приложение предназначено для обнаружения автомобилей и людей в видео, снятом БПЛА, с использованием многоклассового классификатора.
До сих пор я смотрел на SIFT и MSER (аффинно-инвариантный). Я также посмотрел на LESH, LESH основан на модели локальной энергии, но рассчитан таким образом, который не является вращательно-инвариантным, я пытался придумать способ использовать локальную энергию, чтобы построить вращательно-инвариантную Дескриптор функции, я читал здесь. Какие бесплатные альтернативы SIFT / SURF можно использовать в коммерческих приложениях? , что «если вы назначите ориентацию на точку интереса и соответственно повернете патч изображения, вы получите вращательную инвариантность бесплатно», но вы не знаете, является ли это даже облегчением или как я могу применить это к моей проблеме, любая помощь будет оценил, спасибо
Ответы:
Что касается альтернатив SIFT / SURF, то вопрос, который вы связали, дает очень хорошие ответы.
Я мог зачитать еще два вопроса:
Создание дескрипторов объектов
Это актуальная тема исследования. Хорошие дескрипторы функций - это не то, что каждый может создать днем. Люди публикуют статьи, когда они успешно моделируют дескрипторы функций с желаемыми свойствами. Это причина того, что в настоящее время используется только несколько современных дескрипторов, и это также то, что я советую вам сделать: найти дескрипторы функций, которые соответствуют вашим потребностям .
Достижение ротационной инвариантности "бесплатно"
|black->gray->white|
|white->gray->black|
Таким образом, вы всегда будете вычислять дескриптор на патче изображения с той же доминантной ориентацией (повернутый патч), и, таким образом, вы достигнете инвариантности вращения.
источник
Другой способ получить вращательную инвариантность бесплатно, это выбрать объекты, которые являются вращательно инвариантными. Например, круг или кольцо инвариантны к вращению.
Функция извлечения : Обнаружение фронта прогона. Для каждой окрестности
NxN
пикселей рассчитайте направление края и величину 2D гистограммы. Найдите все точки, которые имеют высокую общую величину и большой угловой разброс . Удалите все точки, которые не имеют радиальной симметрии.Дескриптор объекта: найдите центр каждого круглого объекта. Поскольку объект является круглым, у него нет доминирующего угла градиента. Все углы равны. Таким образом, радиальный профиль (сумма значений пикселей в полярных координатах) является дескриптором инварианта угла.
Кстати, это одна из причин того, что проверочные элементы изготавливаются в виде кругов на электрических платах:
источник
Я бы лучше посмотрел на KAZE / AKAZE, которые одинаково хорошо работают со значительным ускорением. Случаи деформации также допускаются. OpenCV недавно получил реализацию через GSoC 2014. Вы можете найти ее здесь .
источник
Если вы переназначаете локальный участок вокруг характерной точки в лог-полярные координаты (с началом координат в точке, представляющей интерес), изменения масштаба соответствуют сдвигу вдоль лог-радиальной оси, тогда как повороты соответствуют сдвигам (с разворотом) вдоль угловой оси. Если затем вычислить двумерное преобразование Фурье, сдвиги в радиальном и угловом направлениях станут фазовыми сдвигами в частотной области. Если затем вычислить абсолютное значение преобразования Фурье, фаза полностью исчезнет, а изменения масштаба и повороты исходного участка изображения станут незаметными. Таким образом, абсолютное значение 2D-преобразования Фурье изображения в логарифмических координатах будет вашим дескриптором объекта.
Ну, по крайней мере, в теории. На практике вам нужно ограничить радиальное расширение вашего патча. Это означает, что вам нужно вырезать большую часть ваших данных перед вычислением преобразования Фурье (которое на самом деле представляет собой ряд Фурье), поэтому перевод вдоль логарифмического направления в логополярные координаты не совсем соответствует просто фазовый сдвиг в частотной области больше, поэтому метод не является абсолютно инвариантным к масштабу. Я подозреваю, что если вы используете какую-то оконную функцию - без разрывов - для координаты log-радиуса и умножаете ее на интенсивность цвета, эта проблема будет несколько смягчена.
Однако дескриптор функции все равно должен быть идеально инвариантным к повороту.
Справка: инвариантность шкалы без выбора шкалы
источник
Вы также можете проверить FAST и BRISK .
источник