双目DSO 是在DSO 的基础上进行扩展,主要区别是初始化的过程不再需要单目DSO中的随机初始化,直接使用双目匹配的方式得到初始的深度值,并且当一个关键帧内的点加入到窗口内进行优化前,需要不断地更新其逆深度。在单目的情况下,深度信息的初始值随机,方差非常大;在双目的情况下,可以直接得到较好的深度估计,提高跟踪的精度。
在单目DSO 中,整个系统尺度信息无法被估计出来;双目DSO 可以通过固定基线长度得出绝对的尺度信息,这也使得视觉里程计有意义。
由于双目DSO 是基于单目DSO 发展而来的,所以基本原理和公式推导与单目DSO 基本相同。不同于单目DSO 的是,由于双目DSO 加入了双目匹配,所以整体的能量函数相对于单目DSO 增加了双目匹配误差项,双目图像之间的匹配误差残差项表示为
双目匹配的能量函数为
式中,p′为p 点根据逆深度dp 经过投影变换后得到的点;表示Huber 函数,目的是防止残差的能量函数随光度误差增长过快;Tij 表示左相机到右相机之间位置变换关系;d 为基线长度;c 为相机内参(左右相机内参式相同)。
适用于双目DSO 的整体能量函数:
(www.xing528.com)
式中,为双目匹配误差能量函数;λ 为平衡系数,用来调整在单目DSO 中的能量函数和新加入的双目匹配误差能量函数之间的关系。
图15-19 所示为双目DSO 因子图,最下面方框代表4 帧关键帧,最上面的椭圆代表观测到5 个地图点,每一个能量函数表示为中间小方块,且都关联了一个地图点和两个关键帧,蓝色的线代表来自关键帧约束,红色线左右双目相机之间约束,灰色的线表示来自观测到地图点的关键帧的约束。
推导双目DSO 使用的是普通的透视相机,为能够适应本研究中设计的双目立体全景视觉系统,需要对双目DSO 进行部分修改,将透视相机模型扩展到全景模型上。其中光度标定与相机模型无关,只与图像中像素点的位置有关,因此直接对全景图像进行光度标定,并将经过修正的图像传递给后端。
需要进行修改。中p′点的投影变换方法需要改为全景视觉系统中方法,为了得到正确的变换结果,需要将其替换为在全景视觉系统模型下的正向变换关系Ω(·)和反向变换关系Λ(·):
图15-19 双目DSO 因子图(见彩插)
对经过修改的整体能量函数进行优化求解即可得到最终的位置变换关系。和单目DSO相同,随着时间变化,算法将在一个窗口内对关键帧进行联合优化,最终得到优化后的轨迹。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。