2

Я использовал 5-точечный метод из Nister для вычисления основной матрицы. Дальнейшее улучшенное отклонение Outlier с использованием RANSAC и Sampson Error Threshold. Я произвольно выбираю 5 точечных множеств, оцениваю основную матрицу и оцениваю ошибку Сампсона для вектора совпадений. Точечные координаты, чья ошибка Сэмпсона ниже порогового значения t (установлена ​​в 0,01 в примере, который у меня есть), устанавливаются как значения. Процесс повторяется для всех основных матриц, и мы сохраняем тот, который имеет лучший результат.Ошибка Sampson для оценки существенной матрицы пяти точек

Я заметил, что большинство значений d, вектор ошибок Сампсона слишком велик: например, если размер d равен (1x1437), если я делаю g = find (abs (d)> 0.01); length (g)

then length (g) = 1425, что означает, что только 7 значений являются значениями с этим пороговым значением, что неверно!

Как установить порог? как интерпретировать значения ошибки Сампсона?

Помогите мне пожалуйста. Спасибо

ответ

7

Расстояние Sampson - это приближение первого порядка геометрического расстояния. Можно понимать так:

Учитывая фундаментальную матрицу F и пару соответствий (x, x '), для которых x'Fx = e, каково расстояние/ошибка этой пары соответствий? Геометрическое расстояние определено для всех соответствий (y, y ') таких, что y'Fy = 0, минимальное значение || xy ||^2 + || x'-y' ||^2 (другими словами, ближайшая точка соответствия к (x, x '), которая точно соответствует матрице F). И можно показать, что ошибка Сампсона является первым приближением этого минимального расстояния.

Интуитивно, ошибка Сампсона можно рассматривать как квадрат расстояния между точкой x и соответствующей эпиполярной линией x'F. И в этом контексте порог 0,01 слишком мал (вы редко найдете фундаментальную матрицу, чтобы все соответствия находились в пределах 0,1 пикселя). Предполагаемый порог будет где-то от 1 до 10 (ошибка 1 ~ 3 пикселя), в зависимости от размера/разрешения/качества ваших пар изображений.

+0

Я думаю, что это немного нечеткая форма вашего ответа, почему нельзя просто проецировать x, x 'на соответствующие эпиполярные линии и суммировать расстояния между точками и их проекциями. – Vlad

1

0,01 - слишком маленький порог. Как последний ответ, от 1 до 10 лучше.

x и x 'с использованием ошибки sampson означает, что они оба не относятся к каждой эпиполярной линии, нам нужно вычислить эту ошибку для обеих точек.

Если вы исправите x, используйте F и x для вычисления линии во втором изображении (x 'на этом изображении), тогда вы можете вычислить расстояние от точки до линии (x' до эпиполярной линии). Это означает, что вы считаете, что точка x правильная, прямо в ее строке.

Эти два способа отличаются.

Смежные вопросы