Однородная матрица имеет восемь независимых соотношений матричных элементов? - PullRequest
0 голосов
/ 02 марта 2012

Я читаю статью о компьютерном зрении.Это похоже на простой факт, но я не могу понять.Речь идет об однородной [3x3] матрице, которая используется для плоского проективного преобразования.Говорят, что он имеет восемь независимых соотношений матричных элементов.Я не знаю, каково это соотношение и каковы восемь независимых соотношений?Пожалуйста, помогите мне с этой проблемой.

Спасибо.

1 Ответ

8 голосов
/ 02 марта 2012

Это означает, что два проективных преобразования P и kP эквивалентны.

Рассмотрим точку в 2D: она может быть выражена в неоднородных координатах вектором [x,y]. Та же точка, выраженная в однородных координатах, будет [x',y',w], где

x = x' / w
y = y' / w

Как видите, w ведет себя как коэффициент масштабирования.
Разделив однородные координаты на w, вы получите [x'/w, y'/w, 1] = [x,y,1]. Таким образом, точка 2D имеет только две степени свободы.

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

Для дополнительной информации: Однородные координаты

EDIT: Число DOF - это количество независимых параметров. В примере точки 2D, хотя у нас есть три параметра (x', y', w), есть только два независимых отношения: как я показал ранее, если вы поделите на w, то ваши первые два параметры становятся дробными («отношение» означает деление), а третий просто 1.

Для трехмерной точки это то же самое рассуждение, но вы должны рассмотреть оси z: общая трехмерная точка равна [x',y',z',w] (4 параметра), но, если мы разделим на w, она станет [x'/w, y'/w, z'/w, 1] Итак, три независимых соотношения.

Я всегда делю на w, потому что отношения x'/w, y'/w, z'/w имеют особое значение (неоднородные координаты точки), но для подсчета dof вы можете использовать любые другие параметр.

Давайте рассмотрим пример матрицы 2x2 (для 3x3 она такая же, просто больше печатать):

m11  m12
m21  m22

4 параметра. Разделив на один из тех, кто по вашему выбору (ну, собственно, по моему выбору ...), скажем, m12 становится

m11      1
---    
m12

m21     m22
---     ---
m12     m12

3 соотношения, три степени свободы (для общей матрицы 2x2). Если, к примеру, у нас есть m21 = m12, мы получим

m11      
---      1
m12

        m22
 1      ---
        m12

Таким образом, в этом случае у нас будет только 2 степеней свободы! Не смущайтесь тем фактом, что вы видите m11, m22 и m12 (три параметра), потому что на самом деле вы можете рассмотреть a = m11/m12 и b= m22/m12, таким образом, он становится

a   1
1   b

, что означает два независимых параметра, то есть два dof.

Надеюсь, теперь стало понятнее

...