从零实战SLAM-第八课(非特征点的视觉里程计)

在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。


特征点法流程:

1.在图像中提取特征点并计算特征描述 非常耗时约10ms ORB

2.在不同图像中寻找特征匹配 非常耗时𝑂(𝑛∧2) 暴力匹配

3.利用匹配点信息计算相机位姿 比较快速<1ms

是否可以不使用特征匹配计算VO?

光流法:最小化重投影误差 Reprojection error

直接法:最小化光度误差 Photometric error

光流: 追踪源图像某个点在其他图像中的运动。本质→估计像素在不同时刻图像中的运动。

光流法又分为两大类,每一类的计算方法也不同。

❑ 稀疏光流:计算部分像素运动 ---- Lucas Kanade

❑ 稠密光流:计算全部像素运动 ---- Horn Schunck

光流法的前提假说:灰度不变。

光流法的数学基础

光流法中的L-K方法

LK光流的结果依赖于图像梯度

❑ 但梯度不够平滑,可能剧烈变化

❑ 局部的梯度不能用于预测长期图像走向

解决方式:多层光流

光流法的总结:

➢ 可以看成最小化像素误差的非线性优化

➢ 每次使用了 Taylor 一阶近似,在离优化点较远时效果不佳,往往需要迭代多次

➢ 运动较大时要使用金字塔

➢ 可以用于跟踪图像中的稀疏关键点的运动轨迹

➢ 得到配对点后,后续计算与特征法VO中相同

光流法的缺点:

➢ 没有用到相机本身的几何结构

➢ 没有考虑到相机的旋转和图像的缩放

➢ 对于边界上的点,光流不好追踪

直接法:

通过相机模型对相机位姿变化进行估计

建立目标函数

计算过程

左扰动分解中三项的物理意义

根据使用的图像信息不同,可分为:

➢ 稀疏直接法:只处理稀疏角点或关键点

➢ 稠密直接法:使用所有像素

➢ 半稠密直接法:使用部分梯度明显的像素

直接法的直观解释:

➢ 像素灰度引导着优化的方向

➢ 要使优化成立,必须保证从初始估计到最优估计中间的梯度一直下降

➢ 这很容易受到图像非凸性的影响

直接法的优势与劣势

优势:

❑ 省略特征提取的时间

❑ 只需有像素梯度而不必是角点(对白墙等地方有较好效果)

❑ 可稠密或半稠密

劣势:

❑ 灰度不变难以满足(易受曝光和模糊影响)

❑ 单像素区分性差

❑ 图像非凸性

相关推荐
小兵张健9 小时前
35岁程序员的春天来了
人工智能
大怪v10 小时前
AI抢饭?前端佬:我要验牌!
前端·人工智能·程序员
冬奇Lab10 小时前
OpenClaw 深度解析(六):节点、Canvas 与子 Agent
人工智能·开源
刀法如飞11 小时前
AI提示词框架深度对比分析
人工智能·ai编程
IT_陈寒13 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
1G13 小时前
openclaw控制浏览器/自动化的playwright MCP + Mcporter方案实现
人工智能
踩着两条虫13 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川14 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
星浩AI14 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
千寻girling18 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法