Правильный способ извлечь перевод из Essential Matrix через SVD

Я откалибровал свою камеру и нашел внутренние параметры (K). Также я рассчитал Фундаментальную Матрицу (F).

Теперь E = K_T * F * K. Все идет нормально.

Теперь мы передаем Основную Матрицу (E) в SVD, чтобы использовать значения разложения (U, W, V) для извлечения Вращения и Трансляции:

 essentialMatrix = K.Transpose().Mul(fund).Mul(K);
 CvInvoke.cvSVD(essentialMatrix, wMatrix, uMatrix, vMatrix, Emgu.CV.CvEnum.SVD_TYPE.CV_SVD_DEFAULT);

** Вопрос) На данный момент было предложено два метода, и меня смутило, какой из них действительно дает правильный ответ - специально для перевода:

На первый способвведите описание ссылки здесь Автор предлагает рассчитать R, T следующим образом:

Но во втором методе [http://isit.u-clermont1.fr/~ab/Classes/DIKU-3DCV2/Handouts/Lecture16.pdf] автор предоставляет другую формулу для T, которая равна + U, -U, как показано ниже:

Я реализую это на C # .Net с использованием библиотек openCv. Кто-нибудь знает, какая формула перевода является правильной?

Ответы на вопрос(1)

Ваш ответ на вопрос