Найдите степень вращения объекта с помощью двухмерной взаимной корреляции

[Фон]

Я изучаю двумерные кросс-корреляции (2DCC), чтобы понять, как их можно применить к моему текущему проекту. Мой текущий проект состоит в том, чтобы создать эффективный метод поиска смещения и вращения объекта на 2D-поверхности.

Для этого я провел следующий эксперимент в своей программной среде.

[Эксперимент]

  1. У меня есть одно изображение 1024 x 1024 с уткой в ​​центре.
    изображение 1024 x 1024 с уткой в центре

  2. У меня есть еще одно изображение 1024x1024 с уткой, расположенной не по центру и повернутой. изображение 1024x1024 с уткой, 752, 336, повернутое на 123

  3. Затем примените два изображения к двумерной взаимной корреляции.
    Я получил следующую амплитуду, и ее пиковый индекс результата взаимной корреляции почти совпадает со смещением утки на моем втором изображении.
    результат амплитуды двухмерной взаимной корреляции

  4. С другой стороны, значение фазы по индексу соответствующего пика амплитуды не соответствует вращению утки на моем втором изображении. Ожидаемое значение фазы составляет 123 [градуса], как показано на втором изображении, но фактическое значение очень мало.
    этапный результат двухмерной взаимной корреляции

[Вопрос]

Является ли двухмерная взаимная корреляция правильным подходом для восстановления степени вращения утки в этой ситуации?


person Osamu Fujioka    schedule 06.07.2018    source источник


Ответы (1)


Взаимная корреляция дает только сдвиг. Что он делает, так это сравнивает два изображения во всех возможных переводах.

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

Чтобы найти вращение, вам, вероятно, следует изучить преобразование Фурье-Меллина.

person Cris Luengo    schedule 06.07.2018
comment
Большое спасибо за ответ, Крис!! Я очень ценю ваш ответ, чтобы понять, что делает 2D Cross Correlation. Я буду ссылаться на документ, которым вы поделились. Еще раз большое спасибо и привет, - person Osamu Fujioka; 06.07.2018