【视觉SLAM十四讲】视觉里程计—直接法

本文为视觉 SLAM 学习总结,讲解直接法的相关知识。

本讲内容概要

  • 光流法
  • 直接法原理

直接法的引出

我们在上一讲中的特征法中,提取特征点计算描述子十分耗时,并且特征匹配使用暴力匹配的方法,时间复杂度为 O ( n 2 ) O(n^2) O(n2),但计算位姿较快。我们希望找一种方法能够代替特征法中的特征点提取和匹配的过程。

我们可以通过光流的方法寻找匹配点,也可以使用直接法,不匹配点对。光流描述了像素在图像中的运动,直接法附带一个相机运动模型。

光流

一般分为稀疏光流和稠密光流。稀疏以 LK 光流为代表,稠密以 HS 光流为代表,本质上是估计像素在不同时刻图像中的运动。因为 SLAM 中我们只需要对特征点进行匹配并计算位姿,因此仅介绍稀疏的 LK 光流。

在这里插入图片描述

t t t 时刻位于 x , y x,y x,y 处的像素点的灰度值为 I ( x , y , t ) I(x,y,t) I(x,y,t),在 t + d t t+dt t+dt 时刻,该像素运动到 ( x + d x , y + d y ) (x+dx,y+dy) (x+dx,y+dy)

灰度不变性假设:同一空间点的像素灰度值,在各图像中不变。则有:
I ( x + d x , y + d y , t + d t ) = I ( x , y , t ) I(x+dx,y+dy,t+dt)=I(x,y,t) I(x+dx,y+dy,t+dt)=I(x,y,t)
灰度不变假设是理想状态,实际中不成立。

t + d t t+dt t+dt 时刻的灰度进行泰勒展开保留一阶项:
I ( x + d x , y + d y , t + d t ) ≈ I ( x , y , t ) + ∂ I ∂ x d x + ∂ I ∂ y d y + ∂ I ∂ t d t I(x+dx,y+dy,t+dt)≈I(x,y,t)+\frac{\partial I}{\partial x}dx+\frac{\partial I}{\partial y}dy+\frac{\partial I}{\partial t}dt I(x+dx,y+dy,t+dt)I(x,y,t)+xIdx+yIdy+tIdt
由于灰度不变,则:
∂ I ∂ x d x + ∂ I ∂ y d y + ∂ I ∂ t d t = 0 \frac{\partial I}{\partial x}dx+\frac{\partial I}{\partial y}dy+\frac{\partial I}{\partial t}dt=0 xIdx+yIdy+tIdt=0
因此
∂ I ∂ x d x d t + ∂ I ∂ y d y d t = − ∂ I ∂ t \frac{\partial I}{\partial x}\frac{dx}{dt}+\frac{\partial I}{\partial y}\frac{dy}{dt}=-\frac{\partial I}{\partial t} xIdtdx+yIdtdy=tI
d x d t , d y d t \frac{dx}{dt},\frac{dy}{dt} dtdx,dtdy 分别为 u , v u,v u,v。这是一个二元一次方程,欠定,需要引入额外的约束。假设一个窗口 ( w × w ) (w\times w) (w×w) 内光度不变,我们共有 w 2 w^2 w2 个方程:
[ I x I y ] k [ u v ] = − I t k , k = 1 , … , w 2 \left[ \begin{matrix} I_x & I_y \end{matrix} \right]_k\left[ \begin{matrix} u \\ v \end{matrix} \right]=-I_{tk},\quad k=1,…,w^2 [IxIy]k[uv]=Itk,k=1,,w2
记:
A = [ [

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值