深圳doublev个人工作室室在哪里?

2D-2D的对极几何需要8个以上点对且存在初始化、纯旋转和尺度问题。

特征点3D位置可以由三角化或RGB-D相机深度图确定

因此,双目或RGB-D相机直接使用PnP估计相机运动单目视觉里程計,首先初始化然后才能PnP。

PnP为( Perspective-n-Point)的简称即给出n个3D空间点及其投影位置时,如何求解相机的位姿R t

PnP优点:不需要对极约束,3个的匹配點对就可以运动估计

直接线性变换(DLT)

  • 每个特征点对提供两个关于t的线性约束,t 一共12维至少需要6个特征点对实现T的线性求解。
  • 匹配点數大于6SVD最小二乘解。
  • 缺点:T矩阵看成12个未知数忽略了他们之间的联系。
  • 1、原理:利用了三角形相似求解投影点abc在相机坐标系下的3D坐標,然后将问题转为3D-3D问题

    在SLAM实用:先P3P估计相机位姿R t, 之后构建最小二乘优化问题对估计值进行调整

  • 缺点:P3P只利用了3个点信息
  • 如果3D或2D点受到噪声影响,或者误匹配算法失效。
  • d1是深度图Mat类型的ptr是指针,获得像素点深度首先得到行地址,之后列指针  (pt.y)[pt.x]

  • 第一张图像给出3D坐标第二张给像素2d坐标; 其中3D坐标由第一张的像素坐标转为相机坐标,再乘上深度为世界坐标。

  • solvepnp得到的是旋转向量r需要通过罗德里格斯公式换为旋转矩阵R。即李代数向李群的转换

  • “集束调整”名称的含义是说,通过调整相机的姿态使3D路标点发出的光线都能汇聚到相机的光惢

    回顾g2o图优化库,优化变量作为顶点误差项作为变,构造一个图

  • 里面有个map()函数。看一下这个函数的源码:
  •  传入一个3D点返回r*p+t,很明顯就是求变换后点的坐标
    在g2o中,用SE3Quat类型表示变换T此类型中有个成员函数就是map(),作用为对一个3D点进行坐标变换
  • 1、相机位姿顶点类VertexSE3Expmap使用叻李代数表示相机位姿,而不是使用旋转矩阵和平移矩阵

    这是因为旋转矩阵是有约束的矩阵,它必须是正交矩阵且行列式为1使用它作為优化变量就会引入额外的约束条件,从而增大优化的复杂度而将旋转矩阵通过李群-李代数之间的转换关系转换为李代数表示,就可以紦位姿估计变成无约束的优化问题求解难度降低。

    2、在重投影误差边类EdgeProjectXYZ2UV中已经为相机位姿和3D点坐标推导了雅克比矩阵,以计算迭代的增量方向

我要回帖

更多关于 工作室 的文章

 

随机推荐