一种级联解耦的位姿估计方法与流程

文档序号:26748018发布日期:2021-09-25 01:27阅读:177来源:国知局
一种级联解耦的位姿估计方法与流程

1.本发明属于深度学习与计算机视觉领域,特别涉及了一种级联解耦的位姿估计网络。


背景技术:

2.来自图像序列的相机自运动估计或视觉里程计(visual odometry)因其在许多视觉任务中的关键作用而引起了研究人员的极大关注。在过去的二十年中,基于多视图几何理论的传统方法在条件良好的环境中表现出了极佳的性能,然而,它们的性能和鲁棒性很容易受到无纹理区域或图像质量低的影响。此外,传统方法由于复杂的计算使得在优化方面也不占优势。
3.随着深度神经网络(dnn)的快速发展,基于学习的相机自运动估计方法近年来取得了重大进展。它们通常利用基于卷积神经网络(cnn)的相机位姿预测模块来预测相邻帧之间的相机位姿。它们中的大多数方法都是有监督学习的网络。受益于dnn的学习能力,这些方法与传统方法相比,实验结果已经大幅提升。然而,有监督学习的性能在很大程度上取决于可用ground truth的数量和质量。
4.无监督方法可以有效地避免ground truth的限制。无监督方法的原理是利用相邻帧之间三维投影的光度一致性作为自运动学习的监督信号,而不是直接用真实相机位姿训练网络。由于缺少ground truth的引导,无监督方法的结果远不如有监督方法准确。为了提高无监督位姿估计的准确性,现有方法通常侧重于具有回环优化的各种长短期序列学习方案,而忽略了位姿估计网络的改进。因此,针对位姿估计网络本身,提出一种高精度位姿的网络是十分必要的。
5.此外,亮度一致性约束普遍应用于视觉里程计中,可以用于判断图像之间的亮度差异,刚性流图可以描述静止物体的差异,但是由于图像中普遍存在着运动对象,刚体流图无法正确描述运动对象的像素点变换关系,这会对图像之间的亮度一致性差异造成影响。目前大多数方法通过掩膜将遮挡区域排除在亮度一致性约束之外。
6.平移估计网络t

net和旋转估计网络r

net采用了lili lin,weisheng wang etc.unsupervised monocular visual odometry with decoupled camera pose estimation.中的结构。
7.yang wang,peng wang.unos:unified unsupervised optical

flow and stereo

depth estimation by watching videos.2019。


技术实现要素:

8.针对现有技术中存在的不足,本发明提供了一种级联解耦的位姿估计方法。
9.本发明解决其技术问题所采用的技术方案包括如下步骤:
10.步骤s1:基于位姿解耦公式,设计级联解耦位姿估计网络;
11.步骤s2:设计基于级联解耦位姿估计的迭代网络;
12.步骤s3:定义级联解耦位姿估计网络和基于级联解耦位姿估计的迭代网络的损失函数;
13.本发明有益效果如下:
14.本发明从相机位姿估计的级联解耦结构设计开始,首先提出了一种位姿级联解耦估计网络和位姿级联解耦优化网络,之后又提出了一种基于级联解耦位姿估计的迭代网络,以实现更高精度的位姿估计;最后将其扩展到无监督单目视觉里程计,实现相邻帧间相机位姿的旋转矩阵和平移矩阵解耦估计,得到更高精度的结果;
附图说明
15.图1为级联解耦位姿估计网络框图;
16.图2为基于级联解耦位姿估计的迭代网络框图;
17.图3为迭代网络中的级联解耦优化结构框图;
18.图4为本发明的主要步骤流程示意图。
具体实施方式
19.以下结合附图与实施例对本发明方案进行进一步描述。
20.如图4所示,一种级联解耦的位姿估计方法,步骤如下:
21.所述步骤s1基于位姿解耦公式,设计级联解耦位姿估计网络,具体方法如下:
22.所述的位姿解耦公式具体表述为:
23.对于相邻两帧图像i
g
和i
s
,场景点在图像i
g
上的投影像素点为p
g
,在图像i
s
上的投影像素点为p
s
,根据相机内参矩阵k、相机位姿矩阵p
g

s
、像素点p
g
在相机坐标系下的深度值z
g
和像素点p
s
在相机坐标系下的深度值z
s
,像素点p
g
和像素点p
s
满足刚性运动的投影公式,具体为:
[0024][0025]
其中p
g

s
为相机从第g帧到第s帧的相机位姿矩阵,p
g

s
由一个3
×
3的旋转矩阵r和一个3
×
1的平移矩阵t组成,它能够转化为解耦平移矩阵和解耦旋转矩阵的级联相乘,具体为:
[0026][0027]
其中,
[0028][0029]
其中,p
t
为4
×
4的解耦平移矩阵,p
r
为4
×
4的解耦旋转矩阵,e3×3为3
×
3的单位矩阵。
[0030]
将公式(1)代入公式(2)可得:
[0031][0032]
根据公式(4),能够得到像素点p
g
和像素点p
s
的级联相乘的公式:
[0033][0034]
其中公式(4)的第一行为解耦平移矩阵p
t
的投影公式,公式(4)的第二行为解耦旋转矩阵p
r
的投影公式。公式(4)称为位姿解耦估计公式,将相机位姿矩阵p
g

s
估计分解为解耦平移矩阵p
t
和解耦旋转矩阵p
r
的级联估计。
[0035]
所述的级联解耦位姿估计网络(decoupledposenet)包括四个子网络,分别是平移估计网络t

net、平移优化网络t

refinenet、旋转估计网络r

net和旋转优化网络r

refinenet。其中t

net和r

net的结构采用了lili lin,weisheng wang etc.unsupervised monocular visual odometry with decoupled camera pose estimation.中的结构,为现有成熟技术。t

refinenet和r

refinenet分别与t

net和r

net的结构相同。
[0036]
级联解耦位姿估计网络(decoupledposenet)的具体结构如图1所示,它的具体表述为:
[0037]
在公式(2)的基础上,对旋转矩阵和平移矩阵进一步优化,公式如下所示:
[0038][0039]
其中,
[0040][0041]
将公式(6)代入公式(1),将公式(1)划分成四个级联部分,然后设计一个级联解耦位姿估计网络,即decoupledposenet。它的网络输入为连续两帧的左相机图像i
t
和i
t+1
,输出为t时刻相对于t+1时刻的相机位姿p
t

t+1
,为了得到更加准确的结果,这里同时输出了一个中间结果p
t
'

t+1
,并且:
[0042][0043]
所述步骤s2设计基于级联解耦位姿估计的迭代网络,具体方法如下:
[0044]
所述的基于级联解耦位姿估计的迭代网络包括一个视差估计网络(undispnet),一个光流估计网络(unflownet)和一个级联解耦的位姿迭代网络(decoupledposenet_1&decoupledposenet_2),通过视差估计网络(undispnet)和光流估计网络(unflownet)的输出结果得到用于处理图像中的运动对象的掩膜。步骤s2的结构如图2所示。
[0045]
所述的视差估计网络(undispnet)和光流估计网络(unflownet)采用了与unos中dispnet和flownet相同的网络结构;
[0046]
所述的视差估计网络(undispnet)的结构为一个包含了编码子网和解码子网的u型网络;编码子网的输入为连续两帧的左相机图像i
t
和i
t+1
,通过卷积和下采样提取深层特征信息;解码子网通过卷积和上采样将深层特征信息图尺寸恢复到输入图像尺寸,并得到连续两帧的视差图d
t
和d
t+1
。对于视差图d,u为图像空间的水平方向坐标,v为图像空间的垂直方向坐标,则像素点(u,v)的视差值为d(u,v),其深度值z的计算公式为:
[0047][0048]
其中b为车载双目立体相机的基线,f为车载双目立体相机的焦距。
[0049]
所述的光流估计网络(unflownet)的结构为一个包含了编码子网和解码子网的u型网络;编码子网由六层光流特征抽取层构成,每一层的光流特征抽取层是由一个步长为2,大小为3
×
3的卷积核和一个步长为1,大小为4
×
4的卷积核以及两个leaky relu激活函数构成。光流特征抽取层的第一层是步长为2的卷积层,其作用是特征信息抽取和降采样作用,第二层是步长为1的卷积层,其作用为了对降采样后的特征块信息作细化处理。每一张图像经过六层光流特征抽取层处理获得一个六层的特征金字塔。编码子网的输入是连续两帧的左相机图像i
t
和i
t+1
,输出是两帧的特征金字塔。
[0050]
解码子网利用六层光流特征金字塔结构逐级优化光流,使用了由粗到细(from coarse to fine)的方式来优化光流结果。解码子网能够拆分为六层子网络结构,每层子网络结构中包含了图像特征代价空间生成器和光流估计网络。第一层子网络用来获取初始小尺寸光流图,第二层至第六层逐级扩大光流图尺寸,并以残差形式优化光流图。
[0051]
所述的用于处理图像中的运动对象的掩膜具体表述为:
[0052]
t+1时刻的图像i
t+1
通过warp(可微分双线性插值,为成熟技术)得到t时刻的合成图像。图像i
t
和i
t+1
之间存在遮挡区域,遮挡区域会导致合成图无法和原图像i
t
保持一致。根据视差估计网络(undispnet)输出的视差图和相机位姿能够获得图像i
t
和i
t+1
之间对应的刚性流图,刚性流图能够描述图像i
t
中静态对象区域和图像i
t+1
中对应区域的像素位移。由于刚性流图无法正确描述运动对象的像素点变换关系,通过刚性流获得的合成图无法正确表示运动对象区域。因此,针对运动对象,使用反向光流图生成光流遮挡图用来解决运动对象导致的遮挡区域在原图上不一致的问题。
[0053]
首先根据光流估计网络(unflownet)得到光流图,然后通过刚性流图和光流图进行差异比较,得到运动对象区域掩膜。首先,比较获取的刚性流和光流的差异获得f
diff
,具体公式为:
[0054][0055]
其中和分别表示x轴和y轴上的光流,和分别表示x轴和y轴上的刚性流。f
diff
中大于阈值的区域表示刚性流和光流不一致的区域,f
diff
中小于阈值的区域表示刚性流和光流一致的区域。f
diff
在阈值λ
diff
下进行二值化,得到的二值化图m
diff
分成一致区域和非一致区域,具体公式为:
[0056][0057]
m
region
是二值化后的遮挡掩膜图,其为了将m
diff
中错误的掩盖区域去除,使得m
motion
仅包含了非刚体部分的二值化运动分割掩膜,具体公式为:
[0058][0059][0060]
所述的基于级联解耦的位姿迭代网络(decoupledposenet_1&decoupledposenet_2)的具体表述为:
[0061]
基于级联解耦的位姿迭代网络包括级联解耦优化结构decoupledposenet_1和级联解耦优化结构decoupledposenet_2,这两个结构与上述的decoupledposenet结构相同,它们的结构如图3所示。为了叙述方便,此处采用step1和step2代替。通过step1结构和step2结构获得四个相机位姿。通过step1结构获得和两个相机位姿,此处将记为将记为step2结构将step1结构得到的相机位姿作为输入,获得和两个相机位姿,此处将记为将记为
[0062]
所述的步骤s3定义级联解耦位姿估计网络和基于级联解耦位姿估计的迭代网络的损失函数,具体方法如下:
[0063]
所述的级联解耦位姿估计网络结构的损失l
total
包括光流损失l
flow
、双目视差损失l
disparity
、刚体一致性损失l
rigid
,具体公式为:
[0064]
l
total
=λ
f
l
flow

d
l
disparity

r
l
rigid
ꢀꢀꢀ
(14)
[0065]
其中λ
f
、λ
d
和λ
r
为权重,用于调整不同损失在整个损失函数中的作用。
[0066]
所述的光流损失l
flow
,表示为光流图与原图的光流亮度一致性损失,具体公式为:
[0067][0068]
其中β为权重;ssim(
·
)为两幅图像的结构相似性计算函数,其计算方法为现有成熟方法;||
·
||1为计算l1距离,warp为可微分双线性插值方法,为现有成熟方法。
[0069]
所述的双目视差损失l
disparity
由三个约束条件组成:图像亮度一致性损失l
p
,视差图几何一致性损失l
g
,视差边缘感知平滑损失l
s
,具体公式为:
[0070]
l
disparity
=λ1l
p
+λ2l
g
+λ3l
s
ꢀꢀꢀ
(16)
[0071]
其中λ1=λ3=1,λ2=10。
[0072]
所述的相机的亮度一致性损失l
p
,级联解耦优化结构能够获得p
δt
p
t
p
r
和p
δt
p
t
p
r
p
δr
两个位姿变换,具体公式为:
[0073][0074]
所述的视差图几何一致性损失l
g
,是比较左右视差图之间的视差值差异,其先对右视差图d
r
使用warp操作获得合成视差图通过和左视差图d
l
相加后计算l1距离,来计算双目视差的差异,具体公式为:
[0075][0076]
所述的视差边缘感知平滑损失l
s
,具体公式为:
[0077][0078]
所述的基于级联解耦位姿估计的迭代网络的损失函数由多视点损失l
multi
、双目视差损失l
disparity
、光流损失l
optical
组成,具体公式为:
[0079]
l
total
=l
optical
+l
disparity
+l
multi
ꢀꢀꢀ
(20)
[0080]
其中双目视差损失l
disparity
与上述的基于无监督学习的级联解耦位姿估计网络结构的双目视差损失一致。
[0081]
所述的多视点损失l
multi
具体公式为:
[0082]
l
multi
=l
ttr,step1
+l
ttrr,step1
+l
ttr,step2
+l
ttrr,step2
ꢀꢀꢀ
(21)
[0083]
其中l
ttr,step1
是针对的多视点亮度一致性损失,l
ttrr,step1
是针对的多视点亮度一致性损失,l
ttr,step2
是针对的多视点亮度一致性损失,l
ttrr,step2
是针对的多视点亮度一致性损失。由于在多视点亮度一致性损失中,运动对象掩膜m
region
能够将运动对象排除在多视点亮度一致性损失之外,并且四个位姿都需要加入到亮度一致性约束中,其具体公式为:
[0084][0085]
其中λ
ttr
和λ
ttrr
都是超参数,它们的值分别是0.4和0.6,m
occu
·
m
motion
作用于多视点
的亮度一致性损失,是由是由经过视点合成生成的合成图。
[0086]
所述的光流损失l
optical
,由于引入了运动对象掩膜,针对刚性区域使用了光流和刚性流一致性损失l
consistent
,在非刚性区域使用了边缘感知平滑损失l
smooth
,光流的损失公式具体为:
[0087]
l
optical
=l
image
+l
consistent
+l
smooth
ꢀꢀꢀ
(23)
[0088]
其中l
image
为光流的亮度一致性损失,它的计算公式为:
[0089][0090]
其中为图片warp操作后的合成图,它的计算公式为:
[0091][0092]
其中d
l
为像素点的视差值。
[0093]
所述的光流和刚性流一致性损失l
consistent
,刚性流通过视差图和相机位姿能够获得刚性区域对应像素运动,并且其刚性区域的精度高于光流,但是刚性流无法描述非刚体区域的像素位置变化。因此使用运动对象掩膜将运动对象排除在光流和刚性流一致性约束之外。光流与刚性流一致性损失的公式如下所示:
[0094][0095]
所述的边缘感知平滑损失l
smooth
,亮度一致性约束中存在模糊性和任意性问题,而边缘感知平滑约束基于来自边缘检测的边缘图梯度,能够提高边缘感知的平滑度,并且比像素级约束具有更强的语义性。光流的边缘感知平滑损失能够提高光流估计的准确率,也使得光流图在边缘部分与场景中的边缘轮廓一致。由于边缘的模糊性主要来源于运动对象,因此只对运动对象区域使用了边缘感知平滑约束,对应公式如下所示:
[0096][0097]
进一步的,步骤3中的λ
f
=λ
d
=λ
r
=1,β为0.8。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1