Professional Documents
Culture Documents
基于SLAM算法和深度神经网络的语义地图构建研究 白云汉
基于SLAM算法和深度神经网络的语义地图构建研究 白云汉
基于SLAM算法和深度神经网络的语义地图构建研究 白云汉
35 No. 1
2018 年 1 月 Computer Applications and Software Jan. 2018
基于 SLAM 算法和深度神经网络的语义地图构建研究
白 云 汉
( 复旦大学计算机科学与技术学院 上海 200433)
摘 要 语义地图在移动机器人 的 导 航 等 任 务 中 有 着 关 键 的 作 用。 目 前 基 于 视 觉 的 机 器 人 自 动 定 位 和 制 图
( SLAM) 系统已经能够达到较高的定位精度要求,但是基于多目几何的视觉 SLAM 算法并未充分利用空间中丰 富
的语义信息,地图中保留的地图点信息只是没有语义的 空 间 几 何 点。由 于 基 于 卷 积 神 经 网 络 的 算 法 在 目 标 检 测
领域取得了突破性的成绩,利 用 目 前 最 新 的 基 于 卷 积 神 经 网 络 的 目 标 检 测 算 法 YOLO,实 现 场 景 的 实 时 目 标 检
测,并结合 SLAM 算法构建语义地图。将视觉 SLAM 定 位 的 精 确 性 和 深 度 神 经 网 络 在 语 义 提 取 方 面 的 优 势 相 结
合,既能够提高 SLAM 算法的准确性,同时采集到的丰富图像信息又能进一步训练更加深的神经网络。该算法 能
够应用于机器人的智能导航,同时也能作为数据采集器为其他视觉任务提供具备语义与几何信息的图像数据 。
中图分类号 TP391 文献标识码 A DOI:10. 3969 / j. issn. 1000-386x. 2018. 01. 032
Abstract Semantic mapping plays a key role in the task of mobile robot navigation. At present,the vision-based
SLAM system has been able to achieve higher accuracy requirements,but the visual SLAM algorithm based on multi-view
geometry cannot use the rich semantic information in space. The map point information reserved in the map is only
spatial geometric point without semantic information. Since the algorithm based on convolution neural network has made
a breakthrough in the field of object detection,the semantic mapping is constructed using the latest YOLO algorithm of
object detection based on convolution neural network,which realized the real-time object detection in scene,combined
with the SLAM algorithm. The proposed approach combines the accuracy of visual SLAM and the advantages of deep
neural network in semantic extraction,which can improve the accuracy of SLAM algorithm,and the rich images collected
can further help us to train deeper neural networks. This algorithm can be applied to the intelligent navigation of the
robot,but also as a data collector for other visual tasks to collect the semantic and geometric information with the image
data.
如导航等。为了 解 决 这 个 问 题,首 先 要 使 得 机 器 人 具
0 引 言 备感知环境的 能 力。在 实 际 研 究 中,机 器 人 常 常 配 备
有相机、GPS 设备、激 光、声 纳 等 传 感 器。 这 些 传 感 器
在机器人学的 领 域,一 个 重 要 的 问 题 是 如 何 使 得 为机器人提供了 原 始 的 数 据,但 是 还 无 法 为 机 器 人 提
机器人获得自身 与 环 境 的 信 息,因 为 只 有 机 器 人 对 自 供更加结构化和有意义的信息。
身和环境正确的建模后,机器人才可能完成其他任务, 机器人自动定位和 制 图 ( SLAM ) 所 要 解 决 的 是 如
[24]
语义关联,实现构建高精度语义地图。 神经网络的 YOLO 设计我们的网络,将输出层物体种
类设为室内常见的 20 类物体,具体内容见实验部分。
2 SLAM 算法与目标检测算法 YOLO 将 物 体 检 测 作 为 一 个 回 归 问 题 求 解,基 于
单一的端到端网 络,完 成 对 物 体 位 置 以 及 物 体 类 别 的
[29]
2. 1 基于 ORB-SLAM 的 SLAM 算法 同 时 预 测。 YOLO 与 RCNN 、Fast RCNN[28] 、Faster
算法,并且修改地 图 点 及 关 键 帧 的 数 据 结 构 方 便 结 合 具体的损失函数如下:
S2 B
语义地图。
Loss = λ coord ∑ ∑ I obj
ij [( x i - x^i ) 2 + ( y i + y^i ) 2] +
2. 2 目标检测算法 i=0
S2
j=0
B
obj
λ coord ∑ ∑ I ij [( 槡w i - ^ 2
传统的目标检测算法常常分为三个部分。
i=0 j=0
槡w ) i +
1) 选择检测 的 窗 口。 这 一 步 对 图 像 进 行 多 位 置 S2 B
^ ^
槡 b i ) 2] + obj
和多尺度的窗口提取,采用 Selective Search
[21]
等提取 (槡bi - ∑∑I ij ( Ci - Ci ) 2 +
i=0 j=0
方法,并且基于颜色聚类、边缘聚类把无关区域去除。 S2
noobj ^ 2 obj
2) 提取视觉 特 征。 特 征 提 取 指 的 是 在 区 域 内 提 λ noobj I ij ( C i - C i ) + ∑I ∑ ij ( p i ( c) -
i=0 c∈ classes
[22]
取视觉特征,常用的特征有 SIFT 、HOG[23] 等。
p^i ( c) ) 2 (2)
3) 分类器分 类。 分 类 器 分 类 指 的 是 利 用 提 取 中
式中: x、y、w、h 为网络预测是坐标信息,其中 x,y 指的
的特征,使用机器 学 习 模 型 对 所 得 特 征 所 属 种 类 进 行
是预测中心位置,w、h 为 bounding box 的宽和高。对应
分类。常用的分类器有 SVM、随机森林、神经网络等。 obj
的是标签信息。I ij 代表物体落入格子 i 的第 j 个 boud-
传统的方法将 检 测 分 为 这 三 个 部 分,本 身 不 是 一
^
个端到端的算法,这 将 导 致 各 个 部 分 之 间 无 法 很 好 的 ing box 里,I noobj
ij 代表未落入。C 代表是预测的置信度,C
学习和优化。并 且 在 特 征 提 取 方 面,传 统 方 法 提 取 的 为标注值。
特征在分类任务中无法和基于深度卷积神经网络提取 在式(2) 中,第 1、2 行 代 表 是 对 坐 标 预 测 的 惩 罚。
出的特征的性能相比。 在本文网络中,对坐标 预 测 的 惩 罚 加 了 一 个 参 数 λ coord
在语义地图构建中,需要目标检测算法为我们提供 进行增强。这是 因 为 如 果 不 加 这 个 参 数,那 么 在 损 失
原始的语义信息,并且因为 SLAM 算法的实 时 性,对 算 函数中,预测位置 的 重 要 性 就 和 预 测 是 否 包 含 物 体 的
法的运行速度有着较高的要求。我们参照了基于深度 重要性相等,这 不 符 合 最 大 化 平 均 精 度 的 想 法。 同 时
186 计算机应用与软件 2018 年
在 3、
4 行计算 IOU 误 差 的 时 候,包 含 物 体 的 格 子 和 不 图像帧当做关键帧,关键帧选择规则如下:
包含物体的格 子 两 者 的 IOU 误 差 对 Loss 的 贡 献 应 该 1) 至少离上一次重定位距离 20 帧。
是不同的。若采 用 相 同 的 权 值,那 么 不 包 含 物 体 的 格 2) 本地制图 模 块 空 闲 或 离 上 一 次 关 键 帧 插 入 相
子的 confidence 近似为 0,变相地放大了包含物体的格 差已有 20 帧。
子的 confidence 误差在计 算 梯 度 时 的 影 响。 因 此 将 不 3) 当前帧中至少有 50 个特征点。
包含物体的格子的 IOU 误差加上参数 λ noobj 进行削弱。 其次,当前帧被选择为关键帧之后,关键帧将 被 两
最后一行 为 分 类 的 惩 罚。我 们 将 λ coord 设 为 5. 0,而 将 部分 算 法 同 时 处 理:第 一 部 分 是 目 标 检 测 算 法,第 二
λ noobj 设为 0. 5。 部分是 SLAM 后端图优化算法。在进行语义地 图 模块
之前,需要等待 SLAM 后端图优化优化模块完成,因为
3 语义地图构建 后端图优化模块 将 可 能 产 生 新 地 图 点。SLAM 的 后 端
图优化模块主要包括两部分:
在 SLAM 算 法 中,图 像 特 征 与 地 图 点 直 接 对 应。 1) 当前关键帧位置与本地地图点的优化更新。
而本文的 目 标 检 测 算 法 检 测 出 的 目 标 框 内 有 图 像 特 2) 通过三角法创建新的空间地图点。
征,因此可以将 存 储 的 地 图 点 与 目 标 物 体 对 应。如 图 最后启动语义地图管理模块。语义地图管理 模 块
2 所示,每个地图点与一个 目 标 物 体 对 应,而 每 个 关 键 将进行两方面的工作:
帧通过地图点间接地和一个或多个目标相连接。由此 一是对地图中不可用点进行区分和标记。 例如 将
建立图像数据和目标物体之间的连接关系。 检测为 people、cat、dog、bicycle、toy 这 几 个 类 别 目 标 框
中的特征点标记为不可用。这是由于这些类别的 物 体
常常发生移动,因此不应该将其上面的点作为地图点。
二是建立地图点和语义信息的 联 系。通 过 查 找 目
标物 体 框 中 的 特 征 点 对 应 的 地 图 点 所 连 接 的 语 义
信息。
1) 若所有地 图 点 均 无 语 义 信 息 说 明 这 是 第 一 次
检测出该目标,将 结 果 暂 存 在 缓 存 中。当 连 续 5 帧 检
测出相同目标则将所有缓存地图点与当前目标检 测 结
果对应。
2) 若已经有语义信息,说明当前目标物体 已经存
图2 关键帧、空间地图点和语义信息的关系图 在于语义地图中,此 时 更 新 目 标 框 内 所 有 地 图 点 语 义
语义地图构建算法流程如图 3 所示。 信息为当前目标。
4 实 验
4. 1 目标检测网络训练
为了防止无关 语 义 信 息 对 地 图 构 建 的 干 扰,本 文
[26]
对 YOLO v2 网络结 构 进 行 调 整。 以 COCO 和 PAS-
CAL[5] 数据集为基础,筛选出室内场景中 常 见 的 20 类
物体。再对这些图片数据做随机拉伸剪切等数据 增 广
处理,最后得到 20 000 张图像,物体种类见表 1。
表1 选取的 20 类物体的具体类别
在训练目标检测网络之前首先设置该深度神经网 续表 3
4. 2 语义地图构建 的格式存储。其中图片数据以图片路径的形式保 存 在
Protocol Buffer 格 式 的 数 据 里。 通 过 将 目 标 检 测 算 法
由于目标检 测 算 法 在 没 有 GPU 加 速 的 情 况 下 耗
放到云端服务器 中 运 行,语 义 地 图 构 建 能 够 实 时 地 在
时较长,而 移 动 机 器 人 上 目 前 还 很 难 搭 载 高 性 能 的
机器人上运行。
GPU,因此本 文 将 目 标 检 测 算 法 放 到 服 务 器 端 进 行。
服务器端和移动 机 器 人 端 之 间 采 用 C ++ 编 写 的 基 于
gPRC 的 RPC 框架 进 行 通 信,服 务 端 的 目 标 检 测 算 法 5 语义地图的应用
使 用 C 语 言 编 写 的 darknet 作 为 框 架,并 搭 载 了
本文的语 义 地 图 构 建 结 果 主 要 可 以 应 用 于 两 个
GTX1080 显卡加速运 算,每 幅 图 像 的 处 理 时 间 平 均 约
方面。
0. 04 s。得到 关 键 帧 的 目 标 检 测 结 果 之 后,我 们 将 结
第一,智能导 航。 机 器 人 的 导 航 需 要 机 器 人 知 道
果通过 gRPC 传 到 移 动 机 器 人 的 语 义 地 图 管 理 模
当前位置和目标 位 置,而 在 人 类 与 机 器 人 交 互 的 过 程
块中。
中,人类常常无法 提 供 给 机 器 人 目 标 在 空 间 坐 标 系 下
在 SLAM 系统中地图点与图像关键帧有着关联关
的准确位 置。 语 义 地 图 提 供 了 一 种 新 的 人 机 交 互 方
系,每个地图点可以从多个角度观察到,因此将地图点
式,人们可以以语义的形式给机器人提供指令,机器 人
和多个关键帧进 行 关 联,而 一 个 地 图 点 理 论 上 只 能 存
将查询其语义地 图,得 到 与 语 义 地 图 相 关 联 的 地 图 点
在于一个物体之上。最终得到的地图点提取结果如图
信息。而地 图 点 包 含 了 坐 标 信 息,机 器 人 根 据 SLAM
4 所示。
模块得到的自身 位 置 信 息 以 及 地 图 点 的 坐 标 信 息,选
择合适的路径规划算法。
第二,数据采 集。 传 统 的 图 像 识 别 图 像 分 割 数 据
集,如 ImageNet 等,包 含 了 数 以 百 万 计 的 图 片。 然 而
观察这些图片将会发现这些图片大部分是从正面 拍 摄
的物体的照片,这 是 由 于 这 些 数 据 集 图 片 的 来 源 多 是
摄影作品。另外一个问题是这些图片中没有包括 图 像
采集者与目标物体之间的相对位置信息。通过本 文 的
算法构建的语义地图很好地弥补了这个问题。利用 我
们的语义地图构 建 算 法,将 得 到 关 于 一 个 目 标 物 体 在
图4 地图点提取示意图
各个角度各个 距 离 上 的 图 像。同 时,这 些 图 像 中 的 目
本文在室内场 景 下 测 试 语 义 地 图 构 建 系 统,软 件
标物体 都 是 有 标 注 的,这 是 因 为 我 们 的 语 义 信 息 与
的运行效果如图 5 所示。
SLAM 中的地图 点 是 对 应 的,我 们 可 以 将 地 图 点 投 影
到图像帧中,获 得 目 标 物 体 在 图 像 帧 中 的 位 置 信 息。
这将大大增加我 们 可 以 得 到 的 有 标 注 数 据 的 数 量,并
且所得数据分布 在 更 多 角 度 和 尺 度 之 上,这 将 对 训 练
更深更复杂的深度学习模型提供数据上的支持。
6 结 语
本文的主要工作 是 通 过 利 用 高 精 度 的 单 目 SLAM
算法,结合基于深度神经网络的快速目标检测 算法,对
机器人 所 处 的 空 间 构 建 语 义 地 图。 本 文 的 算 法 将
图5 软件运行效果图 SLAM 算法提供的精确 的 几 何 信 息 和 深 度 神 经 网 络 提
软件的前端 部 分 展 示 了 SLAM 算 法 的 定 位 效 果, 供的丰富的语义 信 息 有 效 地 结 合 起 来,建 立 语 义 信 息
并且同时目标检测的结果也在图像中显示。 语义管理 和空间地图点之 间 的 映 射 关 系,并 且 利 用 深 度 神 经 网
模块对原始关键帧图片进行保存。在系统关闭时该模 络的输出结果纠正 SLAM 算法中可能存在的错 误。 本
块将 所 有 关 键 帧 图 片、对 应 的 地 图 点、语 义 地 图 信 息, 文实现的算法将需要 GPU 加速的部分放到服 务 器 端,
以及目标物体在关键帧中的位置信息以 Protocol Buffer 通过高效的 RPC 框 架 进 行 实 时 通 信。 最 终 得 到 的 语
第1期 白云汉: 基于 SLAM 算法和深度神经网络的语义地图构建研究 189
[1 ] Deng J,Dong W,Socher R,et al. ImageNet:A large-scale hi- 62(5) :663-674.
2014,
erarchical image database[C]/ / Computer Vision and Pattern [15] Case C,Suresh B,Coates A,et al. Autonomous sign reading
Recognition,
2009. CVPR 2009. IEEE Conference on. IEEE, for semantic mapping [C ]/ / Robotics and Automation
tion with deep convolutional neural networks[C]/ / Advances [16] Rituerto A,Murillo A C,Guerrero J J. Semantic labeling for
in neural information processing systems,2012. 2012: indoor topological mapping using a wearable catadioptric sys-
[3 ] He K,Zhang X,Ren S,et al. Deep residual learning for image 685-695.
recognition[C]/ / Proceedings of the IEEE Conference on [17] Fasola J,Mataric M J. Using semantic fields to model dynam-
Computer Vision and Pattern Recognition,2016. 2016: ic spatial relations in a robot architecture for natural language
770-778. instruction of service robots[C]/ / Intelligent Robots and Sys-
[4 ] Girshick R,Donahue J,Darrell T,et al. Region-based convo- tems ( IROS) ,
2013 IEEE / RSJ International Conference on,
lutional networks for accurate object detection and segmenta- 2013. IEEE,
2013:143-150.
tion[J]. IEEE transactions on pattern analysis and machine [18] Mur-Artal R,Montiel J M M,Tardos J D. ORB-SLAM:a ver-
intelligence, 38(1) :142-158.
2016, satile and accurate monocular SLAM system [J]. IEEE
[5 ] Everingham M,Van Gool L,Williams C K,et al. The pascal Transactions on Robotics, 31(5) :1147-1163.
2015,
visual object classes ( voc) challenge[J]. International jour- [19] Rublee E,Rabaud V,Konolige K,et al. ORB:An efficient al-
nal of computer vision, 88(2) :303-338.
2010, ternative to SIFT or SURF[C]/ / Computer Vision ( ICCV) ,
[6 ] Davison A J,Reid I D,Molton N D,et al. MonoSLAM:real- 2011 IEEE International Conference on,2011. IEEE,2011:
time single camera SLAM[J]. IEEE Transactions on Pattern 2564-2571.
Analysis & Machine Intelligence, 29(6) :1052-1067.
2007, [20] Gálvez-López D,Tardos J D. Bags of binary words for fast
[7 ] Klein G,Murray D. Parallel Tracking and Mapping for Small place recognition in image sequences[J]. IEEE Transactions
AR Workspaces[C]/ / IEEE and ACM International Sympo- on Robotics, 28(5) :1188-1197.
2012,
sium on Mixed and Augmented Reality. IEEE Computer Soci- [21] Uijlings J R,Van De Sande K E,Gevers T,et al. Selective
ety,
2007:1-10. search for object recognition [J]. International journal of
[8 ] Leutenegger S,Furgale P,Rabaud V,et al. Keyframe-Based computer vision, 104(2) :154-171.
2013,
Visual-Inertial SLAM using Nonlinear Optimization[C]/ / [22] Lowe D G. Distinctive image features from scale-invariant
Robotics:Science and Systems,
2013. 2013:789-795. keypoints[J]. International journal of computer vision,
2004,
[9 ] Cadena C,Carlone L,Carrillo H,et al. Past,present,and fu- 60(2) :91-110.
ture of simultaneous localization and mapping:Toward the ro- [23] Dalal N,Triggs B. Histograms of oriented gradients for human
bust-perception age [J]. IEEE Transactions on Robotics, detection[C]/ / Computer Vision and Pattern Recognition,
32(6) :1309-1332.
2016, 2005. CVPR 2005. IEEE Computer Society Conference on,
[10] Kuipers B. Modeling spatial knowledge[J]. Cognitive sci- 2005. IEEE,
2005:886-893.
ence, 2(2) :129-153.
1978, [24] Redmon J,Divvala S,Girshick R,et al. You only look once:
[11] Nielsen C W,Ricks B,Goodrich M A,et al. Snapshots for se- Unified,real-time object detection[C]/ / Proceedings of the
190 计算机应用与软件 2018 年
2015:91-99. 3453-3456.