基本矩阵的T和R估计 [英] T and R estimation from essential matrix

查看:249
本文介绍了基本矩阵的T和R估计的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个简单的测试应用程序,从基本矩阵中执行翻译( T )和旋转( R )估算。

I created a simple test application to perform translation (T) and rotation (R) estimation from the essential matrix.


  1. 生成50个随机

  2. 计算投影 pointSet1

  3. 通过矩阵( R | T )转换

  4. 计算新投影 pointSet2

  5. 然后计算基本矩阵 F

  6. 提取基本矩阵如 E = K2 ^ TF K1 K1,K2 - 内部相机矩阵)。

  7. 使用SVD获取 UDV ^ T

  1. Generate 50 random Points.
  2. Calculate projection pointSet1.
  3. Transform Points via matrix (R|T).
  4. Calculate new projection pointSet2.
  5. Then calculate fundamental matrix F.
  6. Extract essential matrix like E = K2^T F K1 (K1, K2 - internal camera matrices).
  7. Use SVD to get UDV^T.

并计算 restoredR1 = UWV ^ T restoredR2 = UW ^ T

但是当我计算平移向量时, restoredT = UZU ^

But when I calculate translation vector, restoredT = UZU^T, I get normalized T.

已恢复正常化 T Tz)= T

restoredT*max(T.x, T.y, T.z) = T

如何恢复正确的翻译向量?

How to restore correct translation vector?

推荐答案

我明白了!我不需要在这一步的实际长度估计。
当我得到第一个图像,我必须设置公制转换(比例因子)或估计它从已知对象的校准。之后,当接收第二帧时,计算规范的T,并且使用来自第一帧的已知的3d坐标来求解方程(sx2,sy2,1)= K(R | lambda; T)(X,Y,Z)并找到lambda - 比lambda T将是正确的度量翻译...

I understand! I don't need real length estimation on this step. When i get first image, i must set metric transformation (scale factor) or estimate it from calibration from known object. After, when i recieve second frame, i calculate normilized T, and using known 3d coordinates from first frame to solve equation (sx2, sy2, 1) = K(R|lambdaT)(X,Y,Z); and find lambda - than lambdaT will be correct metric translation...

我检查它,这是真的/所以...也许谁知道更简单的解决方案?

I check it, and this is true/ So... maybe who know more simple solution?

这篇关于基本矩阵的T和R估计的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆