SLAM-6视觉里程计里面特征点计算的缺点所做的改进

缺点的改进方法:
由于之前的视觉里程计要计算关键点和描述子,花费大量的时间,有两种办法可以避免。1、只计算关键点,通过光流法追踪关键点的运动,可以得到同一个关键点在不同时刻图片的位置,这样就不用使用描述子来进行匹配了。2、只计算关键点,通过使用直接法来预测同一关键点在不同时刻图像的位置

光流法和直接法都是基于一个灰度不变假设,即同一个空间点的像素灰度值在各个图像中是固定不变的。(虽然我感觉这个假设挺扯的,高博在书里也说可能不成立,但是当帧率较快,两张图非常接近的时候,凑合也不能算错

光流法:描述像素点随时间在不同图片之间的运动,计算部分像素的是稀疏光流,计算所有像素的是稠密光流。
光流法推导
一个在t时刻位于(x,y)处的像素,在t+dt时刻运动到(x+dx,y+dy)处。两个像素实际是同一个空间点,所以灰度不变。泰勒展开保留一阶项
在这里插入图片描述
由于左端和右端第一项相等,所以右端三项之和为0.
在这里插入图片描述
像素点的灰度关于x,y两个方向的导数(因为像素点是离散的,最小的一格更新量,其实也就是它在下一个图里隔壁点和它灰度的差值)
dx/dt,dy/dt,这俩就是像素的运动速度,这个是不知道的,是想求的
等式右边的灰度关于时间的导数,其实也就是对于下一时刻时间的变化量,也是知道的。(两张图像同一个位置的灰度之差)
进一步改写为矩阵形式 :【Ix Iy】*[u,v] = - It
假设所有像素都有相同的运动,这样所有的点都套进方程组来,求解最小二乘,这样就能追踪到整个图像里所有点的位置(所以这种方式可以拿来做稠密重建,特征点法的话只有特征点被追踪到了,所以只能求出特征点的深度来,这样只能半稠密或者是稀疏重建)

直接法:光流法对特征点的追踪,只是相当于特征点匹配上了,匹配上以后,计算位姿实际就是上一讲中的那些对极几何或者PnP之类的套路,这样才能算出R和t来。
而直接法是构建了一个光度误差,类似于上一讲的重投影误差,根据误差来优化,进行李代数扰动,直接就算出R和t了。
直接法原理:光度误差十分接近重投影误差,它也是想估计一个外参,这样一个像素点A通过这个外参变换到另一张图片的某个位置以后,得到一个预测的点B,用A点的灰度减去这个预测的B点的灰度值,根据灰度不变假设,应该是0,因此构造这么一个优化函数。
直接法推导:空间点P世界坐标系下面的坐标是【x,y,z],他在两个图片上的坐标是p1,p2.
p1=1/Z1 * KP ,p2= 1/Z2 *KTP, Z1,Z2分别是在两个相机坐标系下面点P的深度。
光度误差
在这里插入图片描述
可以求出光度误差相对于T的雅克比矩阵:
在这里插入图片描述
在这里插入图片描述
之后利用非线性优化的算法,也就是J和增量△x的关系式,求出增量△x。然后用原先的位姿加上这个小量,作为新的位姿,下一轮迭代,进而找到最优解

1.可以看出来,光流还要有时间与坐标位置的关系式,而直接法,直接利用初值T和灰度不变原理进行迭代找到最优的T。
2.对于光度误差的雅克比矩阵J,第一项是灰度对于扰动小量像素坐标的导数,也就是梯度,如果梯度是0,也就是说扰动完以后,灰度没变,那雅克比矩阵就是0,之后构成的海塞矩阵H也是0,求不出扰动小量△x了。所以可以考虑只用带有梯度的像素点。

3.直接法的优点:不用算描述子,不用特征点匹配,检测完直接追踪就完事了;或者都不用检测,直接用有像素梯度的地方追踪就行(只有渐变的图像,特征点法不能提角点,但是这个就能追踪);可以稠密重建;

缺陷:完全依靠梯度搜索,因此运动很小才能成功;另外单个像素没有区分度,用所有的像素一起估计的话,说白了就是少数服从多数;另外灰度不变性也容易导致优化失败。

代码1:计算光流
https://blog.csdn.net/Summer_star_summer/article/details/107446189
代码2:直接法,基于灰度不变求T
https://blog.csdn.net/Summer_star_summer/article/details/107449761

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值