Перейти к содержанию
    

Простой и понятный алгоритм сравнения картинок

Добрый день,

 

ищу понятный, легко объясняемый и, по возможности короткий (на одну-две страницы текста) с оптимальной или субоптимальной асимптотически сложностью алгоритм сравнения двух картинок, которые могут соответствовать одному объекту, но аффинно преобразованному, ну то есть как, например, на приложенной ниже картинке. Картинка не моя, взято с доклада "Multiscale analysis of similarities between images on Riemannian manifolds" Coloma Ballester. То есть чтоб на входе было две картинки, а на выходе - коэффициенты аффинного преобразования + величина достоверности в какой-нибудь адекватной метрике. Через риманово преобразование с CNN объяснить и запрограммировать могу, но это - тонна кода. Нужно просто и понятно. У кого-то есть идеи? Буду премного благодарен!

 

Спасибо!

 

ИИВ

post-62436-1535906156_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

По 9-и степеням.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По 9-и степеням.

Геометрических всего 6 в нашем мире. Вы имеете в виду цвета? Согласен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Геометрических всего 6 в нашем мире. Вы имеете в виду цвета? Согласен.

А ваш мир плоский или объемный?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваш мир плоский или объемный?

Такой же, как и ваш. :laughing: А вас механическим дисциплинам каким-нибудь обучали в универе/институте?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой же, как и ваш. :laughing: А вас механическим дисциплинам каким-нибудь обучали в универе/институте?

Похоже вы даже с областью знаний промахнулись.

Эт проективная геометрия, а не механика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже вы даже с областью знаний промахнулись.

Эт проективная геометрия, а не механика.

Может быть. Но одно сводится к другому.

Опишите ваши степени свободы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть. Но одно сводится к другому.

Опишите ваши степени свободы.

Так нет там "свободы", эт я просто применил вашу "свободу" как метафору к коэффициентам матрицы преобразования, которая 3 на 3.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так нет там "свободы", эт я просто применил вашу "свободу" как метафору к коэффициентам матрицы преобразования, которая 3 на 3.

Ваша матрица мне непонятна, а степени свободы - понятны. Топикстартер просил просто и понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

У твердого тела шесть степеней свободы. Его положение в пространстве описывается поворотом (3 угловых координаты) и переносом (3 линейных координаты).

Поворот можно представить в виде матрицы преобразования координат 3 x 3. Но у нее только 3 степени свободы - то есть все 9 коэффициентов, можно определить через 3 независимых параметра.

Изменено пользователем @Ark

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваша матрица мне непонятна, а степени свободы - понятны. Топикстартер просил просто и понятно.

Тогда самый верный способ - Fuzzy Logic.

Спрашивать на форуме похожи или нет картинки.

Каждому мнению присваивать уровень доверия, а потом выводить дефузификатор. :biggrin:

 

. Но у нее только 3 степени свободы - то есть все 9 коэффициентов, можно определить через 3 независимых параметра.

Да ну!?

Даже на картинке ТС видна проективность. Причем тут механика?

Я б тогда за оптику агитировал бы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я б тогда за оптику агитировал бы.

Агитируйте на здоровье.

Дело в том, что одна проекция (одна картинка) все равно не дает полной (трехмерной) информации о реальном предмете.

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

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

Надо тогда сразу вводить какие-то априорные ограничения.

Изменено пользователем @Ark

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что про это "думают" нейросети?

 

вроде бы из банальной эрудиции - нужно "разобрать" картинки на объекты/фичи из них уже вычислять преобразование - перебирать, наверно, не получится

начинать, наверно, надо с opencv - может там уже что-то есть...

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, что не оставляете наедине с проблемой!

 

Да, там 6 степеней свободы, фактически для координаты первой картинки ? x \in \R^2 надо найти матрицу ? A \in \R^{2 \times 2} и вектор ? b \in \R^2 что

координата второй картинки будет выражаться как

 

? y = A x + b

 

С помощью CNN (convolutional neural networks), то есть нейросетей, как я писал выше я это могу сделать, но тут будет тонна кода, который получается довольно тормознутым и плохо ложащимся на маломощные контроллеры. Лет 7 назад я это программировал и у меня это работает, но мне кажется, что есть что-то проще и быстрее, собственно как я и писал в головном топике.

 

Спасибо!

 

PS: math->tex поправил, спасибо большое, thermit что подсказали!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...