视觉SLAM整理(1)

一、三个坐标系(世界坐标、相机坐标、图像坐标)

1、一个定则(右手定则):

注:图片来源http://www.zybang.com/question/35583619443d2163d5dd731826c47f1a.html

2、三个坐标系图解:

注:图片来源http://blog.sina.com.cn/s/blog_b364631a0101imw1.html

3、两个变换

  • 刚体变换(世界坐标【x,y,z】->相机坐标【Xc,Xc,Xc】)
  • 透视变换 (相机坐标->图像坐标【Xu,Xv】)

二、线性回归

概念:当Ax = B无解时,需要通过最小化误差的平方和(即最小二乘)找最优解

三、OpenCV图像配准:没有ICP算法?

内容:匹配两帧之间的特征点( R3 ∈ R 3

1、一个最终目的:

  • 最小化对应点的变化误差(即
    Mini=1n=||q(Rp+t)||2 M i n ∑ i = 1 n = | | q − ( R p + t ) | | 2
  • 最终计算出相机位姿

2、两个方法:

  • 直接法
  • 特征法

|2017.2.10.23.04

参考资料:http://www.cnblogs.com/gaoxiang12/

3、匹配流程

1. 读取图片(包括RGB和DEP)-> imread
2. 构造特征点提取器和描述子提取器(SIFT)-> cv::FeatureDetector\DescriptorExtractor::create
3. 提取关键点detect(rgb,cv::KeyPoint)
4.计算描述子compute(rgb,cv::KeyPoint,cv::Mat)
5.匹配描述子
vector< cv::DMatch > matches;
cv::FlannBasedMatcher matcher;
matcher.match( desp1, desp2, matches );

6. 筛选匹配关系->去掉距离太远的匹配

|2017.2.19.11.21

四、视觉里程计(visual odometry)

1、概念:匹配两帧->估计运动->累加运动

2、流程:

  • 计算两帧的关键点和特征描述子
  • 匹配两帧的关键点和特征描述子(PnP)
  • 如果inliers太少,则丢弃该帧,否则融合点云
  • 重复第一步

五、ICP(iterative closest point 迭代最近点)-> PCL

->求相机位姿,ps:PnP->OpenCV

  • 目的:求出两个点云集之间的R、t
  • 通过迭代最近点
  • 两种方法:
    • SVD(线性代数)
    • 非线性优化
  • 【NOTE】
    • 与相机无关,没有出现相机模型。

六、两个方程

1、运动方程:描述机器人的运动 -> 朝那边走(含有噪点)

2、观测方程:描述关键点怎么来 -> 朝那边看(含有噪点)

为了求机器人的位置和关键点的位置

七、三个概念

机器人位姿:旋转+平移

优化图:包含节点和边,节点代表关键帧,边代表位姿约束

位姿约束(ps:类比位移约束->如果给定某个值,相应的几何会按照指定的方向和值移动)

八、多种地图

- 路标地图(采用滤波器方法,包括EKF、PF(粒子滤波))

- 度量地图(2D/3D->平面/点云)

- 拓扑地图(可与图类比)

| 2017.2.20.10.16

  • 地图又可分为局部和全局地图:
    • 局部地图描述附近的特征点信息,这些特征点用来和当前帧匹配来求相机位置。
    • 全局地图则用来表达整个环境。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值