Прямое линейное преобразование - Direct linear transformation

Прямое линейное преобразование (DLT) - алгоритм, который решает набор переменных из набора отношений подобия:

за

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

Этот тип отношений часто встречается в проективная геометрия. Практические примеры включают соотношение между трехмерными точками в сцене и их проекцию на плоскость изображения объекта. камеры-обскуры,[1] и омографии.

Вступление

Обычный система линейных уравнений

за

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

Решения также могут быть описаны в случае, если уравнения переопределены или недоопределены.

Отличие задачи прямого линейного преобразования от приведенного выше стандартного случая заключается в том, что левая и правая части определяющего уравнения могут отличаться неизвестным мультипликативным множителем, который зависит от k. Как следствие, невозможно вычислить, как в стандартном случае. Вместо этого отношения подобия переписываются в виде собственных линейных однородных уравнений, которые затем могут быть решены стандартным методом. Комбинация переписывания уравнений подобия в виде однородных линейных уравнений и их решения стандартными методами называется алгоритм прямого линейного преобразования или же Алгоритм DLT. DLT приписывают Ивану Сазерленду.[2]

Пример

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

куда неизвестный скалярный множитель, связанный с уравнением k.

Чтобы избавиться от неизвестных скаляров и получить однородные уравнения, определите антисимметричную матрицу

и умножим обе части уравнения на слева

С следующие однородные уравнения, которые больше не содержат неизвестных скаляров, находятся под рукой

Чтобы решить из этой системы уравнений рассмотрим элементы векторов и и матрица :

,   , и

и полученное выше однородное уравнение принимает вид

за

Это также можно записать в матричной форме:

за

куда и оба являются 6-мерными векторами, определенными как

и

Пока у нас есть 1 уравнение и 6 неизвестных. Систему однородных уравнений можно записать в матричной форме

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

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

Более общие случаи

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

Если и предыдущие выражения все еще могут привести к уравнению

за

куда сейчас Каждый k дает одно уравнение в неизвестные элементы и вместе эти уравнения можно записать для известных матрица и неизвестно 2кв.-мерный вектор Этот вектор можно найти так же, как и раньше.

В самом общем случае и . Основное отличие от предыдущей в том, что матрица сейчас и антисимметричный. Когда пространство таких матриц уже не одномерно, а размерно

Это означает, что каждое значение k обеспечивает M однородные уравнения типа

за и для

куда это M-мерный базис пространства антисимметричные матрицы.

Пример п = 3

В случае, если п = 3 следующие три матрицы можно выбрать

,   ,  

В этом частном случае однородные линейные уравнения можно записать как

за

куда это матричное представление векторного векторного произведения. Обратите внимание, что это последнее уравнение является векторным; левая часть - нулевой элемент в .

Каждое значение k дает три однородных линейных уравнения относительно неизвестных элементов . Однако, поскольку имеет ранг = 2, не более двух уравнений линейно независимы. Поэтому на практике обычно используются только две из трех матриц , например, для м= 1, 2. Однако линейная зависимость между уравнениями зависит от , а значит, в неудачных случаях лучше было бы выбрать, например, м= 2,3. Как следствие, если количество уравнений не вызывает беспокойства, может быть лучше использовать все три уравнения, когда матрица построен.

Линейная зависимость между полученными однородными линейными уравнениями является общей проблемой для случая п > 2, и с этим нужно бороться либо путем сокращения набора антисимметричных матриц или разрешив стать больше, чем необходимо для определения

Рекомендации

  1. ^ Abdel-Aziz, Y.I .; Карара, Х. (2015-02-01). «Прямое линейное преобразование из координат компаратора в координаты пространства объекта в фотограмметрии ближнего действия». Фотограмметрическая инженерия и дистанционное зондирование. Американское общество фотограмметрии и дистанционного зондирования. 81 (2): 103–107. Дои:10.14358 / чел. 81.2.103. ISSN  0099-1112.
  2. ^ Сазерленд, Иван Э. (апрель 1974 г.), «Трехмерный ввод данных с помощью планшета», Труды IEEE, 62 (4): 453–461, Дои:10.1109 / PROC.1974.9449
  • Ричард Хартли и Эндрю Зиссерман (2003). Многоканальная геометрия в компьютерном зрении. Издательство Кембриджского университета. ISBN  978-0-521-54051-3.

внешняя ссылка