Найти оптимальное жесткое преобразование при ограничении - PullRequest
0 голосов
/ 16 июня 2020

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

Пока это простая проблема. Моя проблема в том, что у меня есть некоторая свобода выравнивания этих точек, то есть мне нужно только поддерживать ошибку выравнивания ниже некоторого заданного порога (альфа) и не минимизировать расстояние. Я хочу использовать эту свободу выравнивания, чтобы минимизировать расстояния между p и другим набором точек r. Я пометил векторы для оптимизации E = Tp - r

Итак, в основном я хочу использовать первое выравнивание как жесткое ограничение и попытаться минимизировать другой набор соответствий (я приложил картинку). Я хочу минимизировать |E| (зеленые расстояния) при ограничении, что черные точки находятся внутри красных кругов (альфа) после применения преобразования T. enter image description here

Я пробовал некоторые решения heuristi c, такие как вычисление максимально допустимого вращения вокруг центроида и только затем принятие максимально допустимого перемещения, но ни одно из этих решений не гарантирует оптимального решения.

enter image description here

1 Ответ

0 голосов
/ 16 июня 2020

Вы слышали об оптимизации Лагранжа? Вот соответствующая статья .

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

Шаг 1:

Построение функции расширенной стоимости: E - L * (Tp - q - alpha)

Шаг 2:

Найдите частные производные wrt T и L

Шаг 3:

Найдите нули в частных производных

...