Я внедряю документ « Оптимальный массовый транспорт для регистрации и деформации », моя цель - выложить его в Интернет, поскольку я просто не могу найти в Интернете код эйлерова массового транспорта, и это было бы интересно, по крайней мере, для исследовательского сообщества в области обработки изображений.
Работа может быть кратко изложена следующим образом:
- найти исходную карту используя одномерные гистограммные совпадения по координатам x и y
- решить для фиксированной точки , где обозначает поворот на 90 градусов против часовой стрелки, - решение уравнения Пуассона с граничными условиями Дирихле (= 0), и является определителем матрицы Якоби.
- стабильность гарантируется для временного шага dt <\ min | \ frac {1} {\ mu_0} \ nabla ^ \ perp \ triangle ^ {- 1} div (u ^ \ perp) |
При численном моделировании (выполняемом на регулярной сетке) они указывают, что для решения уравнения Пуассона используют poicalc от matlab , они используют центрированные конечные разности для пространственных производных, за исключением который вычисляется с использованием схемы против ветра.
Используя мой код, функционал энергии и завиток отображения должным образом уменьшаются за пару итераций (от нескольких десятков до нескольких тысяч в зависимости от временного шага). Но после этого симуляция взрывается: энергия увеличивается, чтобы достичь NAN за несколько итераций. Я попробовал несколько заказов на дифференцировки и интеграции (более высокая замену для того , чтобы cumptrapz можно найти здесь ), а также различные схемы интерполяции, но я всегда получаю один и тот же вопрос (даже на очень гладкие изображения, ненулевой везде и т.д.).
Кому-нибудь было бы интересно посмотреть на код и / или на теоретическую проблему, с которой я столкнулся? Код довольно короткий.
Код с функциями отладки
Просто необходимая функция без тестовых материалов (<100 строк)
Пожалуйста, замените градиент2 () в конце градиентом (). Это был градиент более высокого порядка, но он тоже ничего не решает.
Сейчас меня интересует только оптимальная транспортная часть статьи, а не дополнительный термин регуляризации.
Спасибо !