IROS深度学习定位论文1_三维视点数据增广
论文名称:Deep Regression for Monocular Camera-based 6-DoF Global Localization in Outdoor Environments
论文地址:http://ais.informatik.uni-freiburg.de/publications/papers/naseer17iros.pdf
1 摘要
在室内或室外场景,机器人精确定位对于安全和自动导航至关重要。值得一提的是,在室外动态场景,要求定位方法精确且鲁棒。单目视觉定位方法相对3D雷达的方法,价格更便宜。近来,基于CNNs的场景识别方法取得了较好的效果。在今天所介绍的论文中,作者提出了一种直接由RGB图像端到端回归相机位姿的模型;同时,提出了一种基于三维视觉的数据增广方式,通过设定的视角阈值和原始图像,生成不同视点的增强图像。实验结果表明,作者提出的方法在定位精度和定位时间上均取得了较好的提升,其中定位时间为:在单NVIDIA-TITAN X GPU上能实现每秒80帧的定位处理。
2 实验结果
2.1 评价指标
对相机位置和姿态进行分别评价,位置误差采用欧氏距离L2(单位为m),姿态误差采单位为度或弧度。接下来将详细介绍如下:
(1)位置误差
E
q
=
∑
i
=
1
N
∣
∣
c
i
−
c
i
g
t
∣
∣
2
E_q=\sum_{i=1}^{N}||c_i-c_{i}^{gt}||_2
Eq=i=1∑N∣∣ci−cigt∣∣2
(2)姿态误差
旋
转
矩
阵
:
E
r
=
∑
i
=
1
N
∣
∣
a
r
c
c
o
s
(
t
r
(
R
g
t
i
−
1
R
i
)
−
1
2
)
∣
∣
或
四
元
数
:
E
r
=
∑
i
=
1
N
2
a
r
c
c
o
s
(
∣
q
g
t
i
.
q
i
∣
)
180
π
旋转矩阵:E_r=\sum_{i=1}^N ||arccos(\frac{tr(R_{gt_i}^{-1}R_i)-1}{2})|| \\ 或 \\ 四元数:E_r=\sum_{i=1}^N 2arccos(|q_{gt_i}.q_i|)\frac{180}{\pi}
旋转矩阵:Er=i=1∑N∣∣arccos(2tr(Rgti−1Ri)−1)∣∣或四元数:Er=i=1∑N2arccos(∣qgti.qi∣)π180
其中用旋转矩阵描述姿态误差的公式来源于Rodriguez(罗德里格斯)公式,推导如下:
R
=
c
o
s
θ
I
+
(
1
−
c
o
s
θ
)
n
⃗
n
⃗
T
+
s
i
n
(
θ
)
n
⃗
h
a
t
⇒
t
r
(
R
)
=
3
c
o
s
θ
+
(
1
−
c
o
s
θ
)
+
0
⇒
t
r
(
R
)
=
2
c
o
s
θ
+
1
⇒
θ
=
a
r
c
c
o
s
(
t
r
(
R
)
−
1
2
)
\mathcal R = cos \theta \mathcal I +(1-cos \theta)\vec n {\vec n}^T+ sin(\theta) \vec n^{hat} \\ \Rightarrow tr(\mathcal R)=3cos \theta + (1-cos\theta) + 0 \\ \Rightarrow tr(\mathcal R)=2cos\theta + 1 \Rightarrow \theta = arccos(\frac{tr(R)-1}{2})
R=cosθI+(1−cosθ)nnT+sin(θ)nhat⇒tr(R)=3cosθ+(1−cosθ)+0⇒tr(R)=2cosθ+1⇒θ=arccos(2tr(R)−1)
2.2 实验结果
本文所提出的方法在Cambridge Landmarks(包括Kings College、ShopFacade、St Mary Church、OldHospital四个场景)数据集上进行评测,评价结果如下:
由实验结果可以看出本文所提出的位姿估计方法在四个场景数据集上均取得了较好的性能。
3 方法
3.1 卷积神经网络结构
基本网络是VGG16,在第一个全连接层进行分叉,每个分叉包括3个全连接层,同时在全连接层(除最后一层)后面增加dropout层;其中一个分叉预测位置,另一个分叉预测姿态。在进行模型训练时,初始权重参数用Xavier weights进行赋值;并设其方差受输入和输出维度影响,具体如下公式所示:
V
a
r
(
W
)
=
2
n
i
n
+
n
o
u
t
Var(\mathcal W)=\frac{2}{n_{in}+n_{out}}
Var(W)=nin+nout2
3.2 损失函数设计
所提模型的损失函数如下所示,主要包括位置损失和姿态损失;可以利用四元数q和-q表示同一旋转,作者在构建损失函数时选取损失最小的一种形式进行姿态损失的描述。
L
(
θ
)
=
∣
∣
p
g
t
−
p
∣
∣
2
+
β
ϕ
(
q
g
t
,
g
)
ϕ
(
q
g
t
,
g
)
=
m
i
n
∣
∣
q
g
t
−
q
∣
∣
2
,
∣
∣
q
g
t
+
q
∣
∣
2
L
(
θ
)
=
L
(
θ
)
+
λ
∣
∣
θ
∣
∣
\mathcal L(\theta)=||p_gt - p||_2 + \beta \phi(q_gt, g) \\ \phi(q_gt, g)=min{||q_gt-q||_2, ||q_gt+q||_2} \\ \mathcal L(\theta) = \mathcal L(\theta) + \lambda||\theta||
L(θ)=∣∣pgt−p∣∣2+βϕ(qgt,g)ϕ(qgt,g)=min∣∣qgt−q∣∣2,∣∣qgt+q∣∣2L(θ)=L(θ)+λ∣∣θ∣∣
其中
p
,
q
p, q
p,q分别代表相机的位置和姿态;
ϕ
(
q
g
t
,
q
)
\phi(q_gt, q)
ϕ(qgt,q)是姿态损失函数;
β
\beta
β是位置损失和姿态损失的权衡因子,
λ
\lambda
λ是正则因子。
3.3 数据增强之三维视点图像合成
在已知图像及其位姿条件下,可以将图像像素(2D点)转换至3D坐标点(假设世界坐标原点在相机光心处,所经历的转换过程为从像素坐标系–>归一化平面坐标系–>世界坐标系)。本文作者选取yaw(航向角)和pitch(俯仰角)作为旋转变量(取值为
±
5
∘
\pm 5^{\circ}
±5∘),位移取值为
±
0.5
m
\pm 0.5m
±0.5m;由此可构造4个位姿,即可由一张图像增强出4张图像。增强效果如下:
4 结论与评价
总体来讲,本论文的创新点很少;但思路很简洁,很适合了解深度学习定位的基础。