Сопоставление изображений с использованием внутренних и внешних параметров камеры - PullRequest
0 голосов
/ 27 сентября 2018

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

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

Я нашел взаимосвязь traslation (t) и вращения (R) с каждой точкой соответствия между двумя разными перспективами.

enter image description here

IПредположим, что используя изображение выше, нужно только зафиксировать точку «x» (в однородных координатах) и решить систему уравнений для «x», но я не знаю, какую операцию использует (обозначения).Если кто-то знает, как это сделать с помощью matlab, я надеюсь, что некоторая помощь.

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

Спасибо

1 Ответ

0 голосов
/ 27 сентября 2018

Нет, этой информации недостаточно, чтобы найти точечные соответствия между кадрами.Сначала я объясню, что, по моему мнению, вы можете сделать с данной информацией, а затем мы увидим, почему невозможно получить попиксельное совпадение только с помощью Essential.

  • Что вы можете сделать. Для точки m вы можете найти линию на другом изображении, где лежит m', используя Фундаментальную матрицу.Предположим, что X и X', которые вы задаете в своем вопросе, (соответственно) проецируются на m и m', , т. Е.

    //K denotes the intrinsics matrix
    m=KX
    m'=KX'
    

    Начиная с вашего уравнения, у нас есть:

     X^{T}EX'=0  ==>  m^T K^{-T} E K^{-1} m' 
    

    Матрица K^{-T} E K^{-1}, которую мы отметим F, известна как Фундаментальная матрица, и теперь у вас есть ограничение между 2d точками в плоскости изображения:

     m^TFm'=0
    

    Обратите внимание, что m и m' являются трехмерными векторами, выраженными в однородных координатах.Интересно отметить, что Fm' - это линия, на которой m лежит на первом изображении (поскольку приведенное выше ограничение является ничем иным, как точечным произведением между m и Fm').Точно так же m^TF - это строка на другом изображении, в которой, как ожидается, m' будет лежать.Итак, что вы можете сделать, чтобы найти совпадение для m, это поиск в окрестности Fm'.

  • Почему вы не можете получить пиксель в пиксельmatch. Давайте посмотрим, что означает ограничение xEx'=0 с интуитивной точки зрения.В основном, это говорит о том, что мы ожидаем, что x, x' и базовая линия T будут копланарными.Предположим, вы исправили x и ищете точки, которые удовлетворяют xEx'=0.Тогда, хотя x' на вашем рисунке удовлетворяет этому ограничению, каждая точка n (перепроецированная с y), такая как цифра на рисунке ниже, также будет хорошим кандидатом:

    enter image description here

    , что указывает на то, что правильное соответствие зависит от вашей оценки глубины x, которой у вас нет.

...