У меня есть матрица омографии
[h1 h2 h3
h4 h5 h6
h7 h8 h9]
Я изменил точку
p1 to P1
используя вышеуказанную матрицу гомографии.
так же
p2 to P2
p3 to P3
p4 to P4
Я знаю разницу между
P1-P2 = D1
P2-P3 = D2
P3-P4 = D3
Из-за ошибки в гомографии Существует небольшая ошибка в D1, D2, D3.
(Я знаю фактическое значение разницы)
Пусть ошибка будет E1, E2, E3
(известные значения).
(E1 = D1 - Actual_Difference_between_P1_andP2)
Аналогично рассчитываются E2, E3 и E4.
Теперь мне нужно изменить свою матрицу гомографии так, чтобы мои E1, E2, E3, E4 были минимизированы.
Вступление:
Гомография может быть получена из 4 пар точек со 100% точностью (реальная 0 ошибка репроекции). Однако, если количество пар точек больше 4, вы не сможете получить гомографию с 0 ошибками. Это связано с тем, что точки могут находиться не в одном 3D-рубанке.
Итак, сначала вы должны иметь дело с тем фактом, что в приложении реального слова гомография может быть не точной на 100% (из-за ошибок сопоставления), но есть одна оптимальная (матрица минимальной ошибки репроекции).
Состав:
Что касается вашего вопроса, кажется, что у вас есть два набора пары очков. Тот, который вы использовали для получения гомографии, и другой, который вы проверяете свою модель на основе этого, а затем вы хотите использовать его для улучшения вашей модели.
Как я могу улучшить гомографию?
Во-первых, используйте оба набора для получения гомографии с использованием некоторого надежного метода оценки (например, RANSAC). Вы можете найти дополнительную информацию Вот.
Во-вторых, переберите ваш набор и вычислите ошибку перепроецирования для каждой точки, как вы описали. Затем устраните все точки, у которых ошибка перепроецирования превышает некоторый порог.
В-третьих, применяйте методы оптимизации точной настройки только для вкладчиков, пока не получите хорошую гомографию с точки зрения суммы ошибок среди вкладчиков.
Как сделать третий шаг?
У вас есть 8 параметров для оптимизации:
h11 h12 h13
h21 h22 h23
h31 h32 1
Функция оптимизации:
И вы уже вычислили гомографию, используя RANSAC. Итак, у вас есть очень хорошая оценка, которая около глобального оптимального. Это означает нелинейная локальная оптимизация Техники достаточно для этого случая. существует много алгоритмов. Выберите один и начните (Некоторые предложения: Скалолазание, Имитация отжига)
редактировать после комментария ОП, что известны только расстояния между вторым сетом:
Функция оптимизации должна быть:
куда AD_ij
фактическое расстояние между Pi и Pj.
Вы можете попытаться уменьшить сложность, например, используя квадрат евклидова расстояния и для справки и для запроса.
Других решений пока нет …