суббота, 17 ноября 2018 г.

Стабилизация переопределенной системы уравнений

В предыдущем посте "Определение аффинного преобразования методом наименьших квадратов" рассматривалось решение задачи о поиске наилучшего аффинного преобразования для притягивания одного набора точек к другому. Такая задача часто используется в геопривязке изображений, например спутниковых снимков по опорным точкам.на опорном геопривязанном изображении. Решение искалось в общем 3-х мерном варианте.

Первые же тестовые испытания этого решения показывают, что искомое преобразование не находится, поскольку система является переопределенной. В частности, при подстановке всех нулевых высот (z=0z=0, z=0) получаем несколько одинаковых уравнений в системе. Естественно, что такая система уравнений не решается. Попробуем разобраться.

Подстановка нулевых высот (z=0, z=0) дает их расположение в 3-х мерном пространстве, но в одной плоскости. Естественно, что при фиксации плоскости в 3-х мерном пространстве существует дополнительная степень свободы в искомом аффинном преобразовании. Это, например, преобразование параллелограмма. Собственно говоря, проблема не в том, что значения z и z нулевые, и не в том что они не нулевые но одинаковые. Они могут быть и совершенно разными, но быть расположенными в одной плоскости. Некоторые программные системы, содержащие функции привязки по опорным точкам, могут даже отказаться от выполнения привязки, если заданы, например, менее 3-х точек.

В случае задания одной или двух точек они рассматриваются как лежащие на одной прямой и системы отказываются решать такую задачу. На самом деле дело не в их количестве. На одной прямой могут лежать и десятки точек. И дело не в том, что в 3-х мерном пространстве точки лежат именно в горизонтальной плоскости, эта плоскость может проходить как угодно.

Нерешаемость системы линейных уравнений выражается в том, что определитель матрицы равен нулю. Это, в отличие от распространенного утверждения, на самом деле не означает что у системы нет решения. Если взять правильное решение и подставить его в уравнение, то уравнение даст истинное выражение. Дело не в отсутствии решения, а в отсутствии единственного решения. У переопределенной системы их бесконечно много. Если вычислить ранг матрицы, то разность между порядком матрицы и ее рангом и будет количество степеней свободы и каждая из них добавляет одну бесконечность решений.

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

Рассмотрим уравнение поворота в матричной форме: X=AX A=(cos(φ)sin(φ)sin(φ)cos(φ)) В случае, если угол φ очень мал, коэффициенты матрицы A мало отклоняются от коэффициентов матрицы констант: (cos(0)sin(0)sin(0)cos(0))=(1001) И, если мы ищем преобразование, очень похожее на такое, то добавим в уравнение минимизации дополнительное требование на малость отклонения диагональных коэффициентов от 1, а внедиагональных от 0: Sij=(a111)2+(a120)2+(a210)2+(a221)2 Это дополнение не содержит сумм по парам точек и по физике величин может оказаться как очень слабым относительно nS2x+nS2y+nS2z так и очень сильным, перевешивающим отклонения точек. Для объединения двух требований, имеющих различную физическую природу, в одной уравнение, надо ввести весовые коэффициенты kv(nS2x+nS2y+nS2z)+kφSij=min Физическая природа этих условий отличается в том, что левые функционалы Sv являются метрами или градусами в квадрате (а один градус при грубой оценке составляет примерно 111111 метров), а правые Sij являются безразмерными величинами.

Положим, что у нас используются градусы. Значения вида xx или yy или xy имеют величины примерно около тысяч или нескольких тысяч. Если точек сотни, то Sv имеют величины порядка сотни тысяч. Поэтому, если мы оставим значения коэффициентов kv и kφ единичными, то внесем в исходную систему уравнений погрешность порядка одной стотысячной или меньше. Даже для спутниковых снимков это существенно меньше размера пиксела.

В случае решения задачи в обобщенной форме, конечно, надо оценить величины коэффициентов матрицы получаемой из частных производных Sv и реальных значений координат и по усредненной абсолютной величине сделать оценку весового коэффициента стабилизации kφ.

Вторая проблема - это задание значений, от которых требуем малое отклонение. В вышеприведенном случае это 1 и 0. В действительности может реально потребоваться поворот на значимый угол и нужно требовать малое отклонение угла от ненулевого φ. Для этого требуется оценивание ожидаемой величины методами регрессионного анализа, но это уже тема другой статьи.

В технических применениях может оказаться вполне достаточным корректное оценивание весового коэффициента и требование отсутствие поворотов как таковых. В этом случае поворот будет оценен системой уравнений с весом kv и погрешность, вносимая kφ, может оказаться несущественной.

Комментариев нет:

Отправить комментарий