基于深度滤波器优化的SLAM单目稠密重建

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2019年第38卷第9期传感器与微系统(Transducer and Microsystem Technologies)
DOI:10.13873/J.1000—9787(2019)09—0019—05
基于深度滤波器优化的SLAM单目稠密重建*
杨海清,曾俊飞
(浙江工业大学信息工程学院,浙江杭州310000)
摘要:稠密重建问题是视觉同时定位与地图构建(SLAM)的重要环节,每一个像素点深度距离的准确
测量对稠密重建都起到重要作用。

在工业应用中,往往使用RGB-D相机进行稠密重建,但是RGB-D相机
有一些量程、应用范围和光照的限制。

因此,采用滤波器方式深度估计的单目相机,不仅可以保证SLAM
实时性要求,同时还适用于室外、大场景等场合。

针对高斯滤波算法存在稠密重建准确率不高的问题,提
出了一种基于簇的均匀—高斯深度滤波算法,采用改进的滤波算法处理错误匹配的像素点,在正确处理外
点数据的基础上,解决深度值错误估计、相邻像素深度值相差过大的问题。

实验结果表明:改进型深度估
计算法重建的稠密地图更加细致,且重建准确率提高了约30%。

关键词:稠密重建;视觉同时定位与地图构建(SLAM);单目相机;深度估计;高斯分布
中图分类号:TP391文献标识码:A文章编号:1000—9787(2019)09—0019—05
SLAM monocular dense reconstruction based on depth
filter optimization*
YANG Haiqing,ZENG Junfei
(College of Information Engineering,Zhejiang University of Technology,Hangzhou310000,China)
Abstract:Dense reconstruction is a significant component of visual simultaneous localization and mapping
(SLAM).Accurate measurement of depth distance of each pixel point plays a crucial role in dense reconstruction.
In industrial applications,the RGB-D camera is generally utilized for dense reconstruction;however,the RGB-D
camera still remain certain unavoidable shortcomings,i.e.,small measuring range,narrow application scope,and
high sensitivity to illumination.Hence,the depth estimation of the monocular camera with filter mode not only
guarantees the real-time requirement of SLAM,but also be suitable for outdoor and large scenarios.A cluster-based
uniform Gauss distributed depth filtering algorithm is used to overcome the difficulty that the dense reconstruction
of the deep filtering under the Gauss distribution hypothesis with an unsatisfactory accuracy.The improved
algorithm is adopted to deal with the mismatched pixels point,and also significantly robust against outliers.In
addition,on the basis of correctly processing the outliers data,the problem of depth value estimation error and big
difference of adjacent pixel depth value is solved.The experimental results show that the improved depth estimation
algorithm is more delicate in reconstruction of dense maps,and the reconstruction accuracy is improved by about
30%.
Keywords:dense reconstruction;visual SLAM;monocular camera;depth estimation;Gauss distribution
0引言
同时定位与地图构建(simultaneous localization and mapping,SLAM)指搭载特定传感器的主体,在没有先验环境信息条件下,通过自身运动的过程来建立所处环境的空间模型,同时估计自身的运动轨迹。

当传感器为相机时,称之为“视觉SLAM”。

根据使用视觉传感器的数量和类型的不同,视觉SLAM系统主要可分为3类:单目视觉SLAM、多目视觉SLAM和RGB-D SLAM[1]。

重建稠密地图是视觉SLAM的两大目标之一,使用RGB-D相机进行地图重建是目前的主流方法[2],但是RGB-D相机存在测量范围窄、噪声大、视野小、易受日光干扰等诸多问题,主要适用于室内环境。

而双目相机的配置与标定较为复杂,其深度量程和精度受双目相机的基线与分辨率所限。

对此,本研究选用单目相机传感器,其结构简单,成本较低,环境适应性较强,且抗干扰能力显著。

当单目相机移动时图像会形成视差,利用视差可获取像素的深
收稿日期:2018—09—10
*基金项目:浙江省自然科学基金资助项目(LY13F010008);浙江省科技计划资助项目(2015F50009)
91
传感器与微系统
第38卷
度信息
[3]。

因此,SLAM 系统使用了一种既节省计算量还
可使估计的地图点更为准确的方法—
——深度滤波,通过深度滤波可计算出真实地图点最有可能存在的坐标位置
[4]。

无论哪种工业机器人,想要完成准确跟踪定位、精确导航、实时避障和完美还原三维场景的任务,都需有高精度的稠密地图
[5]。

但是,由于单目相机图像像素可能出现误匹
配,
且传感器噪声和环境噪声时刻存在,总是会形成一些误差极大甚至假的地图点,
导致稠密地图重建准确率不高。

因此,为提高单目相机恢复原始场景的能力,本文提出了一种基于深度滤波器优化的稠密重建算法,旨在获取重建准确率更高、表面更加细腻的三维稠密地图。

1
地图重建系统的总体框架
系统的框架主要由三大部分组成,包括:关键帧选取与匹配像素点对、深度滤波技术和稠密建图。

具体模块如图1所示。

滤波器技术
深度值优化建图
三角测量法
像素搜索与匹配
关键帧数据
图1地图重建系统总体框架
首先,系统对关键帧数据进行极线搜索,采用像素块匹配策略来提高匹配准确率;其次,
利用三角化测量获取像素的深度数据,
使用滤波器技术对深度数据进行跟踪并融合,实现高效的场景重建;最后,本文综合考虑因光照、遮挡、运动模糊等原因引起的深度值错误估计,
显式处理外点,采用优化后的算法对每一像素点的深度估计值进行监控,及时剔除异常深度值,
对深度图中相邻像素深度变化过大的情况进一步判断与处理,保证稠密地图的重建准确性。

2
基于深度滤波技术的稠密重建
2.1稠密地图前端预处理
重建稠密地图,需估计每一个像素点的深度值,如若利
用地图中每个像素点的描述子进行匹配,
会在前端阶段占用大量的工作时间,
这在实时性要求较高的SLAM 系统里是不允许的。

因此,
采用极线搜索[6]
和块匹配技术
[7]
来确
定第一幅图像中像素在其他关键帧的位置,
如图2所示。

极线l 1
平移向量t
d 射
线
图2极线搜索示意
左边相机O 1观测到参考帧I R 存在像素点P R ,假设其深度存在的范围区域是最小值d min 到无穷大,
即该像素点到对应空间点的距离为图2中的d 射线。

d 射线的投影在当前帧I C 上形成一条线,为极线l 1,在极线上比较每个像素与P R 的相似程度。

本研究采用比较像素块的方法,以提高像素匹配的区分性。

先在P R 周围选取一个w ˑw 大小矩形窗口W 1,再在极线l 1上取多个同样大小的矩阵块进行比较,
把P R 周围的矩形窗口记为W 1∈R w ˑw
,极线l 1上的n 个小块记为W i ∈
R w ˑw (i =1,2,…,n )。

计算矩形窗口W 1与W i 的相似性,采用去均值的NCC 方法
[8]
,即
S (W 1,W i )=
∑i ,j
(W 1(i ,
j )-W 1(i ,j ))(W i (i ,j )-W i (i ,j ))∑i ,j
(W 1(i ,
j )-W 1(i ,j ))2∑i ,j
(W i (i ,j )-W i (i ,j ))2
(1)
式(1)的结果接近于0时表示两个矩阵块不相似,接近于1则代表相似。

此外,利用仿射矩阵获取到更佳的像素匹配结果[9]
,并
由像素匹配点对估计出当前帧像素深度值,定义为
d R P R =d C R P C +t (2)
式中
R 为旋转矩阵,t 为平移向量。

式(2)两端同时左乘
P R 的反对称矩阵M 可求得当前帧像素深度d C 。

2.2基于均匀—高斯滤波的稠密重建算法
前端预处理阶段提供深度初值,后端滤波器负责对这
些数据进行深度融合。

均匀—高斯滤波算法[10]
采用高斯滤

[11]
跟均匀滤波相结合的方法,对同一空间点投射在不同
关键帧的像素点深度值进行概率统计分析,不断融合更新深度图。

如图3所示。

d k +n +1
融合d k +2
d k +1
d k
融合融合
融合Z k +n
Z k +1
Z k Z k -1更新
更新
图3深度图融合更新过程
图3中,
Z k -1是k -1时刻状态的深度值,d k 是k 时刻的深度估计值。

以此类推,
可以获取k +n 时刻状态的深度值。

均匀—高斯滤波器算法模型如下
P (μobs |μest ,p )=pN (μobs |μest ,σ2
est )+
(1-p )u (μobs |μmin ,μmax )
(3)
式中
μest 和σ2
est 分别为上一个状态的深度值和方差,μobs 和
σ2
obs 分别为新观测到的深度值和方差,μmax 和μmin 为像素点深度的最大值和最小值,
p 为正确估计深度值的概率。

记均匀分布中上一个状态的参数为a est ,b est ,由新的观
测数据计算得到的参数为a ,
b 。

经过融合更新后的深度值和方差为μupdate ,σupdate ,均匀分布的参数变为a update 和b update 。

深度融合过程如下
m =μest σ2
obs σ2est +σ2obs +μobs σ2
est σ2est +σ2
obs
(4)
02
第9期杨海清,等:基于深度滤波器优化的SLAM单目稠密重建计算权重系数C1,C2
C 1=
a
est
a
est
+b
est
1
2π(σ
est

obs

e-θ,
C 2=
a
est
a
est
+b
est
1
μmean
(5)
式中θ=(μ
obs
-μ
est
)2
2(σ2
est
+σ2
obs

,系数C
1
决定着新的观测深度值和
方差对本次融合的加权比重,当观测值与估计值越接近,该系数越大。

μmean为场景的平均深度,a est为内点参数,b est为外点参数,系数C2控制上一次融合的深度值对本次深度融合的加权比重,估计值越可靠,系数C2也就越大。

对C1,C2进行归一化得到C'1,C'2。

计算U1,U2来更新均匀分布的系数a,b
U
1=C'
1
(a
est
+1)
(a
est
+b
est
+1)
+C'
2
a
est
(a
est
+b
est
+1)

U
2=C'
1
(a
est
+1)(a
est
+2)
(a
est
+b
est
+1)(a
est
+b
est
+2)
+
C'
2
a
est
(a
est
+1)
(a
est
+b
est
+1)(a
est
+b
est
+2)
(6)
进而,深度融合后的均匀分布系数分别为
a update =
U
2
-U
1
U
1

U
2
U
1
,b
update
=a
est
(1-U
1

U
1
(7)
融合后像素点的深度值为
μupdate=C'1*m+C'2*μest(8)融合后深度值的方差为
σ2update=C'1(S2+m2)+C'2(σ2est+μ2est)-μ2update(9)
式中S2=
σ2estσ2obs
σ2est+σ2obs。

随着深度的融合,像素深度值方差逐渐收敛,当方差保持收敛不变时,则停止对该像素点更新融合,并将深度值记录为真实值。

反之,如果深度值的方差经过若干次融合后反而变大,则判断该像素点为外点,将其剔除,并停止更新融合。

当所有像素点停止融合时,算法完成场景的稠密重建工作。

3基于簇的均匀—高斯滤波算法改进
均匀—高斯滤波算法对图像各像素点独立计算深度值,由于像素匹配多义性、噪声等问题的存在,造成相邻像素深度相差过大,算法在遇到弱纹理、倾斜表面等区域时,场景的重建完整性仍存在问题。

本文算法对均匀—高斯滤波算法进行改进,在正确处理外点的基础上,构建了用于深度值优化的聚簇分类,簇结构可表征场景的空间平面几何关系,在簇内进行深度值优化可更好重现场景的三维结构。

3.1簇类划分
均匀—高斯算法实时更新深度图,使用簇类划分对每个时刻更新的深度图进行跟踪,将具有相似特性的区域划分为同一个簇,在簇内对深度值进行优化处理。

基于簇的深度更新流程如图4所示。

深度值收敛至不变,停止融合,
生成3D稠密地图
深度值融合与更新
Y
更新深度图
边缘处理与簇内优化
N
是否迭代?
Y
簇类划分与更新
初始深度图
与前一时刻
状态的深度方差比较,
是否小于阈值?
N
三角化测量像素点的
深度和方差
极线搜索、匹配像素点
下一次
深度值估计
计算仿射矩阵
计算极线
参考帧
当前帧
图4基于簇的深度更新流程
将深度图均分为400个区域,区域中心像素作为初始种子点,筛选种子点的条件为
λσi<σ(10)式中σ为所有像素的深度方差,σi为第i区域内像素的深度方差,λ为自适应阈值,由σ的大小情况而决定。

将筛选后的种子点深度值作为初始均值向量μ={μ1,μ2,…,μi,…,μN}其中N为筛选后的种子总个数。

根据划
分规则将像素x i划入相应的簇C={C1,C2,…,C i,…,C N},簇类划分规则定义为
(|x
μ
-x
i
|<T
1
)∩(|μi-d i|
μi
<T
2
)(11)式中μi为第i个簇的深度均值,xμ为第i个簇中心像素的位置,d i为第i个像素的深度值,x i为对应的像素位置。

T1为像素距离阈值,T2为深度阈值。

将满足式(11)的像素落入相应的簇,未落入任何簇的像素标记为外点,并剔除外点此次状态深度值。

所有像素划分完成后重新计算簇的深度均值,定义为
μi=
1
|C
i
|

d C i
d(12)式中d为像素深度,|C i|为簇C i内像素总个数。

更新当前均值向量和簇的中心像素位置后,重复执行上述过程,直至所有簇更新很小甚至不再更新或者达到最大迭代次数,则终止迭代,进而得到簇划分。

3.2簇内优化
将落入多个簇的像素标记为边缘像素,比较边缘像素深度与落入簇深度均值的差值。

差值最小的簇即为该边缘像素所对应的簇,由此可得到最终簇划分C*={C*1,C*2,
…,C*
i
,…,C*
64
}。

由划分的簇可粗略获取场景空间点的平面模型,通过优化簇内深度信息以提高场景重建的可靠性。

簇内优化算法如下:
1)记簇C*
i
内存在某个像素点为u,其深度值为d u,以像素点u为圆心,选取半径为3个像素大小的圆上的16个
12
传感器与微系统第38卷像素点;
2)若选取的圆上有连续12个像素点深度大于d
u +T
3
或者小于d u-T3(实验中阈值T3设置为d u的10%),则以该像素点为圆心,选取半径为1个像素大小的圆上的8个像素点;
3)将圆上的8个像素点深度均值作为像素点u的深度值,若像素点u为边缘像素或者圆内包含其他簇的像素时,则对像素点u的深度值不进行处理;
4)循环执行以上三步,对图像中每一个像素执行相同的操作。

深度校准示意图如图5所示。

u
图5深度校准示意
故此,采用改进的均匀—高斯滤波算法观测每一时刻的深度图,为后续的深度融合提供精确的深度值,极大避免了像素匹配错误、深度值估计错误所带来的误差,使得重建的稠密地图更加平滑细致。

4实验结果与分析
为了验证本文算法的有效性和可行性,实验中使用了公共图像帧数据集进行测试。

测试数据集包含Remode数据集、Valbonne数据集和Wadham数据集[12],三个公共数据集的真实场景图像如图6所示。

实验环境为:Intel八核计算机,8GB内存,Windows64操作系统;算法在Ubuntu14.04系统[13]中进行实现,采用了C++语言和Opencv库[14]。

(a)%Remode数据集(c)%Wadham数据集
(b)%Valbonne数据集
图6公共数据集原图
本文分别采用高斯滤波器、均匀—高斯滤波器和改进型高斯滤波器三种深度滤波算法对测试数据集进行试验来获取评测数据,评测指标包括地图的重建情况和重建准确率。

实验结果如图7所示。

Valbonne数据集背景为天空,深度距离较远,Wadham 数据集建筑物包含大量细节,各细节深度相差较小,这些图像特点都会对深度估计造成影响。

由图7(a)可知,高斯滤波器对三个数据集的深度估计大致正确,但也存在较多的错误估计,其表现为地图中很多像素点与周围像素点深度不一致,而位于边缘区域的深度也没有得到正确估计。


(a)%高斯滤波器(c)%改进型均匀-高斯滤波器
(b)%均匀-高斯滤波器
图7稠密重建地图
匀—高斯滤波器将内点和外点进行区别处理,正确处理错误匹配的像素点,图7(b)的三张地图相比图7(a)更为平滑,但在物体与天空的边缘区域仍存在较多地错误估计。

从图7(c)中可以明显看出,改进型算法对三个数据集的物体边缘区域进行正确处理,剔除错误估计的深度数据后,重建的稠密地图比其他两种滤波算法重建的地图更加符合实际的三维场景。

将重建的稠密地图与原图进行比对,获取重建后的有效特征匹配对。

各测试数据集在各算法上的平均有效特征匹配对如表1和图8所示。

图8中的1,2,3分别表示基于改进型均匀—高斯滤波器、均匀—高斯滤波器以及高斯滤波器的特征匹配对数量。

Wadham
Valbonne
Remode
10
20
30
40
50




/
%
图8改进型均匀—高斯算法重建的稠密地图有效特征点
相对于其他算法的增长比例
由表1数据和图8可知,改进型均匀—高斯算法重建的稠密地图有效特征点大幅增加,稠密度增高,原算法中存在空洞的区域在算法改进后空洞变小。

表1不同算法的特征匹配对数量对比
数据集
滤波方式
高斯均匀高斯改进型均匀高斯
增长比例
(相对高斯)/% Remode60434636938974948.50 Valbonne27513631335637178435.12 Wadham44687748263454796622.62为了进一步衡量本文算法的有效性,需定量比较三种滤波算法的重建准确率[15]。

记重建准确率为R,参考帧及
22
第9期杨海清,等:基于深度滤波器优化的SLAM单目稠密重建
其相邻的K-1个关键帧为C i(i=1,2,…,k),关键帧的全
部像素点集合为P,关键帧中某一像素点u(u∈P)对应的
实际深度值记为Z(u,C i),由滤波器估计得到的深度值记
为Z est(u,C i)。

当像素点u在N个相邻关键帧中都符合这
个条件,则认为像素点u的深度值估计成功。

故准确率R
可定义为
R=
1
|P|

u∈P
f(∑k
i=1
f(
‖Z(u,C i)-Z est(u,C i)‖
Z
est
(u,C
i

<μ)>N)
(13)
式中函数f在括号内条件为真时为1,反之为0,μ为深度值差异阈值,实验中N设置为6。

重建准确率对比情况如表2所示。

表2稠密重建准确率比较
数据集
滤波方式
高斯均匀高斯改进型均匀高斯
Remode0.67280.76850.8362
Valbonne0.61730.74590.8034
Wadham0.64450.79920.8437
从表2可以看出,本文提出的改进型均匀—高斯滤波器算法在三个测试数据集上的稠密地图重建准确率分别为0.8362,0.8034和0.8437,各个数据集的重建准确率相比于高斯滤波和均匀—高斯滤波这两种深度滤波方式分别提高了约30%和10%。

显然,改进型算法无论是在室内场景还是在复杂环境的室外场景,都表现出较强的深度滤波能力,说明该算法在单目稠密重建地图方面有着较显著的有效性和较高的准确性。

5结束语
稠密建图是视觉SLAM的主流建图方式之一,其广泛应用于各项工业任务中。

针对高斯滤波算法重建稠密地图存在像素点误匹配、重建准确率不高的问题,本文提出了一种基于簇的均匀—高斯深度滤波算法,将深度估计值从一个非常不确定的值逐渐逼近到一个稳定值,重建出更加准确的三维稠密地图。

实验结果表明,本文算法在不同环境下的数据集中都表现出较强的适应性,能较好地处理弱纹理区域、光照遮挡区域和弧面区域中存在的深度错误估计问题,并实时剔除外点数据,优化簇内深度值数据,在三个数据集上的重建准确率都高于高斯滤波算法和均匀—高斯滤波算法,重建的稠密地图也比其他两种算法更加准确、细致。

在下一步工作中,将根据图像颜色分布情况和帧间变换信息,进一步改进复杂环境的深度估计,构建更加完善的稠密地图。

参考文献:
[1]张文,刘勇,张超凡,等.基于语义建图的室内机器人实时场景分类[J].传感器与微系统,2017,36(8):18-21.[2]HENRY P,KRAININ M,HERBST E,et al.RGB-D mapping:Using Kinect-style depth cameras for dense3D modeling of indoor
environments[J].International Journal of Robotics Research,2012,31(5):647-663.
[3]FORSTER C,PIZZOLI M,SCARAMUZZA D.SVO:Fast semi-direct monocular visual odometry[C]∥IEEE International Confe-
rence on Robotics and Automation,IEEE,2014:15-22.
[4]BARFOOT T.State estimation for robotics:A matrix lie group approach[M].Cambridge:Cambridge University Press,2017.[5]赵婧,曹江涛.视觉传感系统的自主移动机器人路径规划方法[J].传感器与微系统,2016,35(8):44-46.
[6]PIZZOLI M,FORSTER C,SCARAMUZZA D.REMODE:Probabi-listic,monocular dense reconstruction in real-time[C]∥IEEE
International Conference on Robotics and Automation,IEEE,2014:2609-2616.
[7]SONG S X.Correlation-based similarity measure-summary[EB/ OL].[2018—06—03].https:∥siddhantahuja.wordpress.com/
tag/stereo-matching.
[8]HIRSCHMULLER H,SCHARSTEIN D.Evaluation of cost functions for stereo matching[C]∥IEEE International Conference on Com-
puter Vision and Pattern Recognition,IEEE,2007:1-8.
[9]CIVERA J,DAVISON A J,MONTIEL J M.Inverse depth para-metrization for monocular slam[J].IEEE Transaction on Robot-
ics,2008,24(5):932-945.
[10]VOGIATZIS G,HERNANDEZ C.Video-based,real-time multi-view stereo[J].Image and Vision Computing,2011,29(7):
434-441.
[11]ENGEL J,SCHOPS T,CREMERS D.LSD-SLAM:Large-scale direct monocular slam[C]∥IEEE International Conference on
Computer Vision,IEEE,2014:834-849.
[12]HANDA A,NEWCOMBE R A,ANGELI A,et al.Real-time camera tracking:When is high frame-rate best[C]∥IEEE Inter-
national Conference on Computer Vision,IEEE,2012:222-235.[13]马丽梅,郭晴,张林伟.Ubuntu Linux操作系统与实验教程[M].北京:清华大学出版社,2016.
[14]毛星云,冷雪飞,王碧辉.Opencv3编程入门[M].北京:电子工业出版社,2015.
[15]TOLA E,STRECHA C,FUA P.Efficient large-scale multi-view stereo for ultra high-resolution image sets[J].Machine Vision and
Applications,2012,23(2):903-920.
作者简介:
杨海清(1971-),男,通讯作者,副教授,硕士研究生导师,研究领域为计算机视觉,E—mail:yanghq@zjut.edu.en。

曾俊飞(1993-),男,硕士研究生,研究方向为计算机视觉。

32。

相关文档
最新文档