Почему матрица Харриса является положительной полуопределенной - PullRequest
0 голосов
/ 16 мая 2018

Я изучаю алгоритм Harris Corner Detector, и застрял здесь, почему матрица Харриса является положительной полуопределенной.

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

Итак, как вывести матрицу Харриса положительно полуопределенной?

1 Ответ

0 голосов
/ 16 мая 2018

Матрица, сгенерированная при вычислении углового детектора Харриса, представляет собой тензор структуры ( см. Здесь, в Википедии ). Тензор структуры M представляет собой матрицу, созданную внешним произведением поля градиента g с самим собой:

g = gradient( image );
M = smooth( g * g' );

(при smooth применяется локальное сглаживание).

Без сглаживания g * g' всегда будет иметь одно положительное собственное значение и одно собственное значение 0, по построению. Это можно увидеть, выписав определитель полученной матрицы, который всегда равен 0, что означает, что одно из собственных значений должно быть 0 (их произведение является определителем). Другой должен быть положительным, потому что след является суммой двух квадратов; поскольку одно собственное значение равно 0, другое собственное значение должно быть равно трассе.

Локальное сглаживание складывает несколько таких матриц (взвешенное сложение). Сложение вместе положительных полуопределенных матриц приводит к положительно-полуопределенной матрице : если v'*A*v>=0 и v'*B*v>=0, то v'*(A+B)*v>=0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...