Maneira correta de extrair a tradução da matriz essencial através do SVD
Calibrei minha câmera e encontrei os parâmetros intrínsecos (K). Também calculei a Matriz Fundamental (F).
Agora E = K_T * F * K. Por enquanto, tudo bem.
Agora passamos a Matriz Essencial (E) para o SVD para usar os valores de decomposição (U, W, V) para extrair a Rotação e a Conversão:
essentialMatrix = K.Transpose().Mul(fund).Mul(K);
CvInvoke.cvSVD(essentialMatrix, wMatrix, uMatrix, vMatrix, Emgu.CV.CvEnum.SVD_TYPE.CV_SVD_DEFAULT);
** Pergunta) Neste ponto, dois métodos foram propostos, e me confundiu qual realmente deu a resposta certa - especificamente para a tradução:
No primeiro métodoinsira a descrição do link aqui o autor sugere calcular o R, T da seguinte forma:
Mas no segundo método [http://isit.u-clermont1.fr/~ab/Classes/DIKU-3DCV2/Handouts/Lecture16.pdf] o autor fornece outra fórmula para T, que é + U, -U como mostrado abaixo:
Eu estou implementando isso em c # .net usando bibliotecas openCv. Alguém sabe qual fórmula de tradução é a correta?