基于深度学习点线特征和IMU紧耦合的机器人运动估计方法

allin2022-12-14  215


基于深度学习点线特征和imu紧耦合的机器人运动估计方法
技术领域
1.本发明涉及移动机器人定位导航领域,具体涉及一种基于深度学习点线特征和imu紧耦合的机器人运动估计方法。


背景技术:

2.视觉里程计是移动机器人、自动驾驶等领域的重要环节,单目视觉里程计因其轻巧、便宜而得到广泛研究,但其也更具有挑战性,在面对遮挡、光照变化大、纹理弱等场景,效果并不算太好。
3.近年来,随着深度学习在计算机视觉领域的广泛运用,很多学者开始借助卷积神经网络强大的特征提取和抽象概括能力,根据相邻图像直接预测当前位姿信息。虽然采用深度学习技术替代传统几何slam的这类方法能够充分提取图像上的信息,且具有一定的泛化能力,但在物体被遮挡或存在动态物体的场景中,估计结果不够鲁棒和准确,且复杂场景下,训练和测试的难度也随之增加。
4.另一方面,多传感器融合也是当前机器人导航和定位的热点方向,而在多传感器融合中,imu与视觉信息融合的方案也被广泛应用。imu数据和单目视觉里程计数据融合能够解决单目相机缺乏尺度信息、在动态环境中定位精度不高、鲁棒性差的问题。但在复杂场景中(如环境噪声大),不可避免会对融合数据带来干扰。


技术实现要素:

5.本发明的目的是提供一种基于深度学习点线特征和imu紧耦合的机器人运动估计方法,用以应对现有技术中移动机器人视觉系统中的slam系统面临的弱纹理环境和动态环境的挑战,并解决imu数据和单目视觉里程计数据融合能够解决单目相机缺乏尺度信息、在动态环境中定位精度不高、鲁棒性差的问题。
6.为了实现上述任务,本发明采用以下技术方案:
7.一种基于深度学习点线特征和imu紧耦合的机器人运动估计方法,包括:
8.实时采集机器人运动过程中通过相机拍摄的图像作为当前帧图像;对当前帧图像进行实例分割处理,从而区分得到当前帧图像中的动态像素和静态像素;
9.对于当前帧图像中的静态像素部分,提取预测的重复性单元和稠密描述子;
10.对当前帧图像中的静态像素部分进行线特征提取;
11.根据提取到的重复性单元和稠密描述子,获取像素级可重复性图和分块级可重复性图,采用基于可重复性的残差替代传统直接法的光度残差,构造点特征重投影误差函数,从而估计机器人位姿;
12.利用对静态像素部分提取的线特征,构建线特征重投影误差函数,约束位姿估计;
13.利用imu获得机器人的imu数据,对连续两帧图像之间的imu数据进行预积分,构造imu误差函数对位姿的迭代优化;
14.最小化点特征重投影误差函数、线特征重投影误差函数以及imu误差函数之和来
优化所有状态变量,求得准确的机器人位姿信息。
15.进一步地,所述的预测的重复性单元表示为由特征提取网络的特征点检测层得到;稠密描述子表示为由特征提取网络的描述子解码层得到;其中,w表示当前帧图像的宽度,h表示当前帧图像的高度,c是网格的大小,表示实数集;
16.对归一化,得到归一化后的重复性单元
17.进一步地,所述特征提取网络采用改进后的superpoint网络,具体对该网络的改进如下:
18.采用基于ghostnet架构的ghostnet编码层替代原superpoint网络的vgg编码层,ghostnet编码层包含卷积层conv2d+批归一化层bn+激活层relu及六层g-bneck,同时将网络结构宽度系数设置为1.5;其中,六层g-bneck的扩张尺寸依次增大,第四、五层g-bneck的扩张率为0.25,其余层为0;第一、三、五、六层g-bneck的步长为2,其余层为1。
19.进一步地,所述对当前帧图像中的静态像素部分进行线特征提取,包括:
20.首先计算静态像素部分图像的每个像素的水平线角度,从而得到一个单位向量场,使单位向量场中所有向量都和经过像素的水平线相切;接着再选取静态像素部分图像中方向连贯的图像像素区域,对于每个选出的所述图像像素区域,先将其视为一条线段s,若图像像素区域的梯度相互独立,则说明图像像素区域的像素之间不存在线段相关性,即该图像像素区域无线段存在;定义n
fam
为像素梯度之间无相关性的警告次数:
[0021][0022]
其中,n
loi
表示静态像素部分图像中线段可能存在的数量;γ表示归一化值;s表示存在一条可能包含n条子线段{s1,...,sn}的线段;u和v分别代表图像像素区域的长和宽;而k={k1,...,kn},ki表示与子线段si(i=1,2,

,n)方向相同的像素个数;p是在图像像素区域内的一个随机像素q与线段si的方向θs(q)相同的概率,β(|si|,ki,p)是二项分布;
[0023]
若n
fam
(s,k,p)越小则说明某个像素区域中的像素梯度相互关联,即该像素区域可能存在线段;设定阈值η,当n
fam
(s,k,p)《η,则s视为提取出的线特征。
[0024]
进一步地,所述采用基于可重复性的残差替代传统直接法的光度残差,构造点特征重投影误差函数,从而估计机器人位姿,包括:
[0025]
为了估计当前帧的相机位姿tk,构建每个通过运动恢复结构sfm得到的三维路标点pi的可重复性残差
[0026]
在分块级可重复性图上关联静态像素部分图像的点特征和三维路标点,然后使用levenberg-marquardt算法迭代优化误差函数至收敛,可得位姿增量ξk:
[0027]
在像素级可重复性图上应用半径搜索算法,寻找与世界坐标系中的三维路标点pi的描述子最接近的像素点然后将三维路标点重投影回当前帧图像的像素级可重复性图上,通过最小化点特征重投影误差函数求得机器人的当前位姿tk。
[0028]
进一步地,所述可重复性残差表示为:
[0029][0030][0031]
其中,代表不同分辨率的像素级可重复性图和分块级可重复性图π
(
·
)
表示相机投影方程,ξk表示第k帧相机位姿增量,tk表示相机的当前位姿,是ξk的反对称矩阵;
[0032]
使用levenberg-marquardt算法迭代优化以下误差函数至收敛,可得位姿增量ξk:
[0033][0034]
其中,表示是与当前帧有高共视关系的相邻帧的特征点集合,γ指鲁棒核函数;
[0035]
点特征重投影误差函数为:
[0036][0037]
其中:
[0038][0039]
上式中,rk表示机器人相机当前位姿tk对应的旋转矩阵,tk表示平移向量,pi表示三维路标点,表示是与当前帧有高共视关系的相邻帧的特征点集合,上标t表示转置,∑
i,k
表示像素点的协方差矩阵,其决定特征点在优化中的权重;i为第i个三维路标点,k为第k帧;γ表示鲁棒核函数。
[0040]
进一步地,所述利用对静态像素部分提取的线特征,构建线特征重投影误差函数,约束位姿估计,包括:
[0041]
记p、q是三维空间下的线段pq的两个端点,pd,qd是线段端点p、q在相机平面的投影经过位姿变换后所对应的两个端点,它们对应的齐次坐标分别为经过位姿变换后所对应的两个端点,它们对应的齐次坐标分别为从而构建归一化线性系数;
[0042]
将线特征的重投影误差定义为投影线段端点到图像平面中变换后得到线段pdqd之间的距离,即:
[0043][0044][0045][0046]
其中,指世界坐标系下的路标点pi到投影线段pdqd的距离,指世界坐标系下的地图点qi到投影线段pdqd的距离,ii为世界坐标系下的地图点pi对应的归一化线性系数,t
表示机器人相机位姿;k表示相机内参;
[0047]
则最终的线特征重投影误差函数e
line
为:
[0048][0049]
其中,χ
l
指第i帧图像提取到的线特征集合,∑
l
为线段的两个端点(i,j)的协方差矩阵,ρ为cauchy函数。
[0050]
进一步地,所述利用imu获得机器人的imu数据,对连续两帧图像之间的imu数据进行预积分,构造imu误差函数对位姿的迭代优化,包括:
[0051]
对imu的测量值进行预积分,获得连续两帧之间的相对位姿信息,从而得到状态向量信息矩阵的预积分;
[0052]
构建第i帧图像和三维路标点xj的重投影误差r
ij

[0053]
对于给定的k+1关键帧和其相应的状态向量以及给定的l个三维路标点集合和其相应的状态向量x,它们的imu误差函数为:
[0054][0055]
其中,表示状态向量信息矩阵的预积分,为对应的协方差矩阵;r
ij
表示第i帧图像和三维路标点xj的重投影误差,kj表示第j个三维地图点的观测关键帧集合,ρ为cauchy函数。
[0056]
进一步地,所述最小化点特征重投影误差函数、线特征重投影误差函数以及imu误差函数之和来优化所有状态变量,求得准确的机器人位姿信息,包括:
[0057]
针对视觉点线特征约束、imu约束,构建残差目标函数:
[0058]
min{ρ(e
point
)+e
line
+e
i,i+1
}
[0059]
其中,e
point
为点特征重投影误差函数,e
line
为线特征重投影误差函数,e
i,i+1
为imu误差函数,ρ为cauchy函数;
[0060]
通过levenberg

marquard法迭代优化出所需要的状态变量:
[0061][0062]
其中,ti为相机在世界坐标系下的位姿,vi为速度,为陀螺仪的偏差,为加速度计的偏差;
[0063]
即可得到准确的位姿信息。
[0064]
进一步地,所述方法还包括:
[0065]
根据提取的点特征、线特征进行回环检测,与构建的点线词袋库匹配,并对所述状态向量进行反馈矫正;其中,点线词袋库即提取的点特征和线特征构成的特征库。
[0066]
与现有技术相比,本发明具有以下技术特点:
[0067]
本发明利用orb-slam3基础上,融合了深度学习技术、imu数据融合、实例分割技术和传统几何推理的优点,提供了一种基于深度学习点线特征和imu紧耦合的机器人运动估计方法来计算出机器人相机位姿,避免了特征点误匹配带来的位姿错误的问题。同时,在复
杂动态环境中,比如物体被局部遮挡,动态物体过多,相机较快移动,场景中存在与待跟踪物体相似的其他物体等特殊情况,本发明能够稳定地提取特征点、特征线,并通过imu数据以及基于深度学习网络的可重复性图进行位姿跟踪,同时添加yolact实例分割模型对动态环境进行处理,使得本发明能更好地适用于各种复杂场景,且鲁棒性好。
附图说明
[0068]
图1为本发明方法的流程示意图。
具体实施方式
[0069]
本发明在orb-slam3的基础上,提供了一种基于深度学习点线特征和imu紧耦合的机器人运动估计方法,融合了深度学习技术、imu数据融合、实例分割技术和传统几何推理的优点,使得本发明的单目视觉里程计在复杂场景下更具鲁棒性和准确性;本发明方法具体包括以下步骤:
[0070]
步骤1,实时采集机器人运动过程中通过相机拍摄的图像作为当前帧图像;对当前帧图像进行实例分割处理,从而区分得到当前帧图像中的动态像素和静态像素。
[0071]
其中,对于当前帧图像进行实例分割处理时利用yolact实例分割模型,具体方法如下:
[0072]
将移动机器人运动过程中通过相机拍摄的当前帧图像输入yolact实例分割模型进行实时目标识别与检测,一边生成候选区域roi,一边实时对这些roi进行分类和分割,将置信分数(mask coefficients)大于0.75的roi记为动态像素,并记录模型输出的此roi的(x,y,w,h);将当前帧图像中除了动态像素其它区域均记为静态像素。
[0073]
其中,四维向量(x,y,w,h)分别表示窗口的中心点坐标和宽高,边框(x,y)用于移动,边框大小(w,h)用于缩放;(x,y,w,h)所构成的区域即为感兴趣区域roi。
[0074]
步骤2,对于当前帧图像中的静态像素部分,提取预测的重复性单元和稠密描述子。
[0075]
所述的预测的重复性单元表示为由特征提取网络的特征点检测层得到;稠密描述子表示为由特征提取网络的描述子解码层得到;其中,w表示当前帧图像的宽度,h表示当前帧图像的高度,c是网格的大小,例如设置为8,表示实数集;则重复性单元归一化为:
[0076][0077]
其中,hc,wc,y、hc,wc,k表示重复性单元的3个图像通道;归一化后的重复性单元用于后续像素级可重复性图和分块级可重复性图的获取。
[0078]
本方案中,采用改进的superpoint网络提取预测的重复性单元和稠密描述子;其中,对superpoint网络的改进包括:
[0079]
原始的superpoint网络采用类似于vgg的网络结构作为特征点检测网络和描述子检测网络的共用编码网络,用以对图像进行降维,提取特征,减小后续网络的计算量。
[0080]
本发明采用基于ghostnet架构的ghostnet编码层替代原superpoint网络的vgg编码层,ghostnet编码层包含卷积层conv2d+批归一化层bn+激活层relu及六层ghost bottleneck(g-bneck),同时将网络结构宽度系数设置为1.5;其中,六层g-bneck的扩张尺寸依次增大,第四、五层g-bneck的扩张率为0.25,其余层为0;第一、三、五、六层g-bneck的步长为2,其余层为1。
[0081]
表1.改进的superpoint网络中的ghostnet编码层结构
[0082][0083][0084]
步骤3,对当前帧图像中的静态像素部分进行线特征提取;本实施例中,线特征提取的具体方法为:
[0085]
首先计算静态像素部分图像的每个像素的水平线角度,从而得到一个单位向量场,使单位向量场中所有向量都和经过像素的水平线相切;接着再选取静态像素部分图像中方向连贯的图像像素区域,对于每个选出的所述图像像素区域,先将其视为一条线段s,若图像像素区域的梯度相互独立,则说明图像像素区域的像素之间不存在线段相关性,即该图像像素区域无线段存在;定义n
fam
为像素梯度之间无相关性的警告次数:
[0086][0087]
其中,n
loi
表示静态像素部分图像中线段可能存在的数量;γ表示归一化值;s表示存在一条可能包含n条子线段{s1,...,sn}的线段;u和v分别代表图像像素区域的长和宽;而k={k1,...,kn},ki表示与子线段si(i=1,2,

,n)方向相同的像素个数;p是在图像像素区域内的一个随机像素q与线段si的方向θs(q)相同的概率,β(|si|,ki,p)是二项分布,其函数为:
[0088][0089]
若n
fam
(s,k,p)越小则说明某个像素区域中的像素梯度相互关联,即该像素区域可能存在线段;设定阈值η,当n
fam
(s,k,p)《η,则s视为提取出的线特征。
[0090]
步骤4,根据提取到的重复性单元和稠密描述子,获取像素级可重复性图和分块级可重复性图采用基于可重复性的残差替代传统直接法的光度残差,构造点特征重投影误差函数,从而估计机器人位姿。其中:
[0091]
(1)像素级可重复性图和分块级可重复性图分别为:
[0092][0093][0094]
其中,

.’表示归一化后的重复性单元中省略的通道

:’表示从中的第一个通道到最后一个通道,s表示s表示即s指从可重复性图的像素块到二维预测值的映射函数。
[0095]
(2)为了估计当前帧的相机位姿tk,对于每个通过运动恢复结构sfm(structure-from-motion,sfm)得到的三维路标点pi(世界坐标系下的3d点)的可重复性残差为:
[0096][0097][0098]
其中,代表不同分辨率的可重复性图(像素级可重复性图和分块级可重复性图),π
(
·
)
表示相机投影方程,ξk表示第k帧相机位姿增量,tk表示相机的当前位姿,是ξk的反对称矩阵。
[0099]
由于我们关心的是可重复性残差是如何随着相机位姿tk变化的,故得分析它们的导数关系:残差的雅克比方程为:
[0100][0101][0102]
其中,j
repeat
是可重复性图(像素级可重复性图和分块级可重复性图)中投影点的像素梯度,j
peat
是相机投影方程关于相机坐标系下的三维路标点的偏导数,j
pose
是投影点对位姿增量ξk的偏导数。为三维路标点pi在相机坐标系下的坐标,为三维路标点pi在第k帧图像像素坐标系下的坐标。在后续求解点特征重投影误差函数时,采用列文伯格-马夸尔特方法计算误差增量时需要用到该雅克比矩阵。
[0103]
(3)在分块级可重复性图上关联静态像素部分图像的点特征(由superpoint网络的特征点检测层得到)和三维路标点(通过sfm可估计出三维路标点的空间位置),然后使用levenberg-marquardt算法迭代优化以下误差函数至收敛,可得位姿增量ξk:
[0104]
[0105]
其中,表示是与当前帧有高共视关系的相邻帧的特征点集合,γ指鲁棒核函数,用于抑制异常值。
[0106]
(4)在像素级可重复性图上应用半径搜索算法,寻找与世界坐标系中的三维路标点pi的描述子最接近的像素点然后将三维路标点重投影回当前帧图像的像素级可重复性图上,通过最小化点特征重投影误差函数求得机器人的当前位姿tk。
[0107]
该重投影误差为:
[0108][0109]
其中,π(
·
)表示相机投影方程,rk表示机器人相机当前位姿tk对应的旋转矩阵,tk表示平移向量,pi表示三维路标点。
[0110]
则最终的点特征重投影误差函数为:
[0111][0112][0113]
其中,表示是与当前帧有高共视关系的相邻帧的特征点集合,上标t表示转置,∑
i,k
表示像素点的协方差矩阵,其决定特征点在优化中的权重;i为第i个三维路标点,k为第k帧;γ表示鲁棒核函数,u
peak
表示像素级可重复性图中的峰值像素点;表示u
peak
的附近的像素点集合,u表示ui和uk,而ui和uk为当前帧图像像素集合中的像素点,分别为像素级可重复性图中ui和uk位置处的值,ρ(
·
)为cauchy函数,用于抑制异常值,e(
·
)表示求期望。
[0114]
步骤5,利用对静态像素部分提取的线特征,构建线特征重投影误差函数,约束位姿估计;具体如下:
[0115]
记p、q是三维空间下的线段pq的两个端点,pd,qd是线段端点p、q在相机平面的投影经过位姿变换后所对应的两个端点,它们对应的齐次坐标分别为经过位姿变换后所对应的两个端点,它们对应的齐次坐标分别为则归一化线性系数i为:
[0116][0117]
将线特征的重投影误差定义为投影线段端点到图像平面中变换后得到线段pdqd之间的距离,即:
[0118][0119][0120]
[0121]
其中,指世界坐标系下的路标点pi到投影线段pdqd的距离,指世界坐标系下的地图点qi到投影线段pdqd的距离,ii为世界坐标系下的地图点pi对应的归一化线性系数,t表示机器人相机位姿;k表示相机内参;π(
·
)指相机投影模型。
[0122]
则最终的线特征重投影误差函数e
line
为:
[0123][0124]
其中,χ
l
指第i帧图像提取到的线特征集合,∑
l
为线段的两个端点(i,j)的协方差矩阵,ρ为cauchy函数,用于抑制异常值。
[0125]
步骤6,利用imu获得机器人的imu数据(即运动信息),对连续两帧图像之间的imu数据进行预积分,获取角度变化、速度变化、位置变化数据,构造imu误差函数对位姿的迭代优化。
[0126]
在视觉惯导视觉里程计中,除了要估计相机在世界坐标系下的位姿ti,还要估计速度vi,陀螺仪的偏差和加速度计的偏差等imu信息,这些状态量构成如下状态向量:
[0127][0128]
对imu的测量值进行预积分,获得连续两帧(如第i帧到第i+1帧)之间的相对位姿信息,其中包括相对旋转信息δr
i,i+1
、相对速度信息δv
i,i+1
、相对位移信息δp
i,i+1
以及测量向量的信息矩阵给定上述预积分项、第i帧的状态向量si和第i+1帧状态向量s
i+1
,可以得到状态向量信息矩阵的预积分为:
[0129][0130]
其中:
[0131][0132][0133][0134]
其中,i
i,i+1
指从第i帧到第i+1帧的预积分,ri和r
i+1
分别指第i帧和第i+1帧的相机旋转矩阵,上标t表示矩阵转置,r
i,i+1
指从第i帧到第i+1帧的旋转矩阵,vi和v
i+1
分别指第i帧和第i+1帧imu对应的速度,v
i,i+1
指从i帧到第i+1帧imu的相对速度,p
i+1
、pi指第i+1帧、第i帧imu对应的位置,δt
i,i+1
指从第i帧到第i+1帧所用时间,δv
i,i+1
表示从第i帧到第i+1帧的速度增量,δp
i,i+1
表示从第i帧到第i+1帧的位移,g为重力加速度常数。
[0135]
而第i帧图像和三维路标点xj的重投影误差r
ij
为:
[0136][0137]
其中,u
ij
表示三维路标点xj在第i帧图像上的二维投影点;π(
·
)表示相机投影方程;t
cb
表示机器人坐标到相机坐标的刚体变换矩阵;ti为相机在世界坐标系下的位姿,

表示李群se(3)在三维空间上的转换运算。
[0138]
视觉惯性优化目标函数就是最小化上述重投影误差,同时使用鲁棒的huber核ρ
hub
函数用以降低虚假错误特征匹配的影响,则对于给定的k+1关键帧和其相应的状态向量以及给定的l个三维路标点集合和其相应的状态向量它们的imu误差函数为:
[0139][0140]
其中,表示状态向量信息矩阵的预积分,为对应的协方差矩阵;r
ij
表示第i帧图像和三维路标点xj的重投影误差,kj表示第j个三维地图点的观测关键帧集合,ρ为cauchy函数。
[0141]
在本发明中,利用运动恢复结构法(sfm)估计相机位姿和三维点的空间坐标,然后与预积分数据对齐,利用前一帧对后一帧位置、速度的预测与当前值的误差,得到每帧的重力方向、比例因子、陀螺仪偏置和相应的速度,该过程与传统的slam方法相同,在本发明中不做特别赘述。
[0142]
步骤7,最小化点特征重投影误差函数、线特征重投影误差函数以及imu误差函数之和来优化所有状态变量,求得准确的机器人位姿信息。
[0143]
针对视觉点线特征约束、imu约束,构建残差目标函数;具体地,残差目标函数为:
[0144]
min{ρ(e
point
)+e
line
+e
i,i+1
}
[0145]
其中,e
point
为步骤4所得的点特征重投影误差函数,e
line
为步骤5所得的线特征重投影误差函数,e
i,i+1
为步骤6所得的imu误差函数,ρ为cauchy函数,用于抑制异常值。
[0146]
通过levenberg

marquard法迭代优化出所需要的状态变量:
[0147][0148]
即可得到准确的位姿信息。
[0149]
最后,还可以根据提取的点特征、线特征进行回环检测,与构建的点线词袋库匹配,并对步骤7得到的状态向量(包含机器人位姿信息)进行反馈矫正。其中,点线词袋库即步骤3、4中提取的点特征和线特征构成的特征库。
[0150]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,包括:实时采集机器人运动过程中通过相机拍摄的图像作为当前帧图像;对当前帧图像进行实例分割处理,从而区分得到当前帧图像中的动态像素和静态像素;对于当前帧图像中的静态像素部分,提取预测的重复性单元和稠密描述子;对当前帧图像中的静态像素部分进行线特征提取;根据提取到的重复性单元和稠密描述子,获取像素级可重复性图和分块级可重复性图,采用基于可重复性的残差替代传统直接法的光度残差,构造点特征重投影误差函数,从而估计机器人位姿;利用对静态像素部分提取的线特征,构建线特征重投影误差函数,约束位姿估计;利用imu获得机器人的imu数据,对连续两帧图像之间的imu数据进行预积分,构造imu误差函数对位姿的迭代优化;最小化点特征重投影误差函数、线特征重投影误差函数以及imu误差函数之和来优化所有状态变量,求得准确的机器人位姿信息。2.根据权利要求1所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述的预测的重复性单元表示为由特征提取网络的特征点检测层得到;稠密描述子表示为由特征提取网络的描述子解码层得到;其中,w表示当前帧图像的宽度,h表示当前帧图像的高度,c是网格的大小,表示实数集;对归一化,得到归一化后的重复性单元3.根据权利要求2所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述特征提取网络采用改进后的superpoint网络,具体对该网络的改进如下:采用基于ghostnet架构的ghostnet编码层替代原superpoint网络的vgg编码层,ghostnet编码层包含卷积层conv2d+批归一化层bn+激活层relu及六层g-bneck,同时将网络结构宽度系数设置为1.5;其中,六层g-bneck的扩张尺寸依次增大,第四、五层g-bneck的扩张率为0.25,其余层为0;第一、三、五、六层g-bneck的步长为2,其余层为1。4.根据权利要求1所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述对当前帧图像中的静态像素部分进行线特征提取,包括:首先计算静态像素部分图像的每个像素的水平线角度,从而得到一个单位向量场,使单位向量场中所有向量都和经过像素的水平线相切;接着再选取静态像素部分图像中方向连贯的图像像素区域,对于每个选出的所述图像像素区域,先将其视为一条线段s,若图像像素区域的梯度相互独立,则说明图像像素区域的像素之间不存在线段相关性,即该图像像素区域无线段存在;定义n
fam
为像素梯度之间无相关性的警告次数:其中,n
loi
表示静态像素部分图像中线段可能存在的数量;γ表示归一化值;s表示存在一条可能包含n条子线段{s1,...,s
n
}的线段;u和v分别代表图像像素区域的长和宽;而k=
{k1,...,k
n
},k
i
表示与子线段s
i
(i=1,2,...,n)方向相同的像素个数;p是在图像像素区域内的一个随机像素q与线段s
i
的方向θ
s
(q)相同的概率,β(|s
i
|,k
i
,p)是二项分布;若n
fam
(s,k,p)越小则说明某个像素区域中的像素梯度相互关联,即该像素区域可能存在线段;设定阈值η,当n
fam
(s,k,p)<η,则s视为提取出的线特征。5.根据权利要求1所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述采用基于可重复性的残差替代传统直接法的光度残差,构造点特征重投影误差函数,从而估计机器人位姿,包括:为了估计当前帧的相机位姿t
k
,构建每个通过运动恢复结构sfm得到的三维路标点p
i
的可重复性残差在分块级可重复性图上关联静态像素部分图像的点特征和三维路标点,然后使用levenberg-marquardt算法迭代优化误差函数至收敛,可得位姿增量ξ
k
:在像素级可重复性图上应用半径搜索算法,寻找与世界坐标系中的三维路标点p
i
的描述子最接近的像素点然后将三维路标点重投影回当前帧图像的像素级可重复性图上,通过最小化点特征重投影误差函数求得机器人的当前位姿t
k
。6.根据权利要求5所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述可重复性残差表示为:表示为:其中,代表不同分辨率的像素级可重复性图和分块级可重复性图π
(
·
)
表示相机投影方程,ξ
k
表示第k帧相机位姿增量,t
k
表示相机的当前位姿,是ξ
k
的反对称矩阵;使用levenberg-marquardt算法迭代优化以下误差函数至收敛,可得位姿增量ξ
k
:其中,表示是与当前帧有高共视关系的相邻帧的特征点集合,γ指鲁棒核函数;点特征重投影误差函数为:其中:上式中,r
k
表示机器人相机当前位姿t
k
对应的旋转矩阵,t
k
表示平移向量,p
i
表示三维路标点,表示是与当前帧有高共视关系的相邻帧的特征点集合,上标t表示转置,∑
i,k
表示像素点的协方差矩阵,其决定特征点在优化中的权重;i为第i个三维路标点,k为第k帧;γ表示鲁棒核函数。7.根据权利要求1所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述利用对静态像素部分提取的线特征,构建线特征重投影误差函数,约束位姿估计,包括:
记p、q是三维空间下的线段pq的两个端点,p
d
,q
d
是线段端点p、q在相机平面的投影经过位姿变换后所对应的两个端点,它们对应的齐次坐标分别为位姿变换后所对应的两个端点,它们对应的齐次坐标分别为从而构建归一化线性系数;将线特征的重投影误差定义为投影线段端点到图像平面中变换后得到线段p
d
q
d
之间的距离,即:间的距离,即:间的距离,即:其中,指世界坐标系下的路标点p
i
到投影线段p
d
q
d
的距离,指世界坐标系下的地图点q
i
到投影线段p
d
q
d
的距离,i
i
为世界坐标系下的地图点p
i
对应的归一化线性系数,t表示机器人相机位姿;k表示相机内参;则最终的线特征重投影误差函数e
line
为:其中,χ
l
指第i帧图像提取到的线特征集合,∑
l
为线段的两个端点(i,j)的协方差矩阵,ρ为cauchy函数。8.根据权利要求1所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述利用imu获得机器人的imu数据,对连续两帧图像之间的imu数据进行预积分,构造imu误差函数对位姿的迭代优化,包括:对imu的测量值进行预积分,获得连续两帧之间的相对位姿信息,从而得到状态向量信息矩阵的预积分;构建第i帧图像和三维路标点x
j
的重投影误差r
ij
;对于给定的k+1关键帧和其相应的状态向量以及给定的l个三维路标点集合和其相应的状态向量x,它们的imu误差函数为:其中,表示状态向量信息矩阵的预积分,为对应的协方差矩阵;r
ij
表示第i帧图像和三维路标点x
j
的重投影误差,k
j
表示第j个三维地图点的观测关键帧集合,ρ为cauchy函数。9.根据权利要求1所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述最小化点特征重投影误差函数、线特征重投影误差函数以及imu误差函数之和来优化所有状态变量,求得准确的机器人位姿信息,包括:针对视觉点线特征约束、imu约束,构建残差目标函数:min{ρ(e
point
)+e
line
+e
i,i+1
}
其中,e
point
为点特征重投影误差函数,e
line
为线特征重投影误差函数,e
i,i+1
为imu误差函数,ρ为cauchy函数;通过levenberg-marquard法迭代优化出所需要的状态变量:其中,t
i
为相机在世界坐标系下的位姿,v
i
为速度,为陀螺仪的偏差,为加速度计的偏差;即可得到准确的位姿信息。10.根据权利要求1所述的基于深度学习点线特征和imu紧耦合的机器人运动估计方法,其特征在于,所述方法还包括:根据提取的点特征、线特征进行回环检测,与构建的点线词袋库匹配,并对所述状态向量进行反馈矫正;其中,点线词袋库即提取的点特征和线特征构成的特征库。

技术总结
本发明公开了一种基于深度学习点线特征和IMU紧耦合的机器人运动估计方法,包括:对当前帧图像进行实例分割处理得到动态像素和静态像素;对于静态像素部分,提取预测的重复性单元和稠密描述子并进行线特征提取;获取像素级可重复性图和分块级可重复性图,采用基于可重复性的残差,构造点特征重投影误差函数,从而估计机器人位姿;利用线特征构建线特征重投影误差函数,约束位姿估计;对连续两帧图像之间的IMU数据进行预积分,构造IMU误差函数对位姿的迭代优化;最小化点特征重投影误差函数、线特征重投影误差函数以及IMU误差函数之和来优化所有状态变量,求得准确的机器人位姿信息。本发明解决了现有技术在动态环境中定位精度不高、鲁棒性差等问题。鲁棒性差等问题。鲁棒性差等问题。


技术研发人员:许泽曦 蔡述庭 熊晓明 刘远 黄楠 张启航
受保护的技术使用者:广东工业大学
技术研发日:2022.03.22
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-4491.html

最新回复(0)