视觉里程计1

1. 代码调试问题

  • fmt问题
    确保安装了fmt
git clone https://github.com/fmtlib/fmt.git
cd fmt
mkdir build
cd build
cmake ..
make
sudo make install

在这里插入图片描述在ch7的CMakeLists.txt文件里面添加如下代码

set(CMAKE_CXX_STANDARD 14)
find_package(FMT REQUIRED)
...
target_link_libraries(pose_estimation_3d2d fmt::fmt)
...
target_link_libraries(pose_estimation_3d3d fmt::fmt)
  • 命令行运行
    在build文件夹下使用./orb_cv ../1.png ../2.png

2. 学习笔记
计算相机运动
1)当相机为单目时候,只知道2D坐标,故是根据两组2D点估计相机运动,方法是对极几何

2)相机为双目、RGBD相机,或者通过某种方式得到了距离信息,故是根据两组3D点估计相机运动,方法是ICP

3)相机一组为3D,一组为2D,也就是得到了一些3D点和它们在相机的投影位置,故是一组3D一组2D,方法是PnP

  • 对极约束
    关键公式

    p 2 T K − T t Λ R K − 1 p 1 = 0 F = K − T t Λ R K − 1 E = t Λ R \begin{aligned} p{_2}{^T}K^{-T}t^{\Lambda}RK^{-1}p_1=0\\ F=K^{-T}t^{\Lambda}RK^{-1}\\ E=t^{\Lambda}R\\ \end{aligned} p2TKTtΛRK1p1=0F=KTtΛRK1E=tΛR

    注: F F F称为基础矩阵, E E E称为本质矩阵,还有一个单应矩阵(用来描述处于共同平面上的一些点在两张图像之间的变换关系)

  • PnP(Perspective-n-Point)

    有多种方法:用3对点估计位姿的P3P、直接线性变换(DLT)、EPnP(Efficient PnP)、还有万金油光束平差法(Bundle Adjustment,BA)

参考:
Ransac原理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值