CN110807782A - 一种视觉机器人的地图表示***及其构建方法 - Google Patents
一种视觉机器人的地图表示***及其构建方法 Download PDFInfo
- Publication number
- CN110807782A CN110807782A CN201911023177.2A CN201911023177A CN110807782A CN 110807782 A CN110807782 A CN 110807782A CN 201911023177 A CN201911023177 A CN 201911023177A CN 110807782 A CN110807782 A CN 110807782A
- Authority
- CN
- China
- Prior art keywords
- information
- map
- voxel
- semantic
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 53
- 238000010276 construction Methods 0.000 title claims abstract description 13
- 238000000605 extraction Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000010354 integration Effects 0.000 claims abstract description 22
- 230000011218 segmentation Effects 0.000 claims description 17
- 238000003709 image segmentation Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 9
- 238000009792 diffusion process Methods 0.000 claims description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000004888 barrier function Effects 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims description 2
- 239000013598 vector Substances 0.000 claims description 2
- 238000012800 visualization Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004387 environmental modeling Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明属于移动机器人环境表示、规划和定位领域,更具体地,涉及一种视觉机器人的地图表示***及其构建方法。该地图表示***由多信息体素层、地图元素层以及拓扑层的数据结构组成,分别涵盖了空间信息、场景实例、连通性三方面特征。该地图由语义信息提取模块、几何信息提取模块、场景语义提取模块、多信息体素整合模块、提取空间拓扑模块和拓扑整合模块六个模块共同完成构建。本发明仅基于视觉传感器,具有构建流程清晰,信息全面,层次关系紧密、易于可视化的优点,适用于移动机器人室内外场景的规划、定位与导航等工作。
Description
技术领域
本发明属于移动机器人环境表示、规划和定位领域,更具体地,涉及一种 视觉机器人的地图表示***及其构建方法。
背景技术
在机器人领域中,如何设计一个表示环境的地图是重要且关键的问题。对 于规划模块来说,需要地图提供快速碰撞检测和障碍物检测的支持;对于定位 模块来说,需要地图提供高质量的环境建模;此外,对于操控机器人的人类来 说,地图需要提供友好并直观的可视化表示。现今,机器人领域广泛使用视觉 传感器,如基于RGB-D相机、双目立体相机等,或者测距传感器,如激光雷达 等,用于地图的构建。通常,视觉传感器成本较低,安装便捷并能获取到较高 频率的数据;而测距传感器虽然天生具备了高精度的深度测量能力,但成本昂 贵。
目前,进行地图构建时,不同的环境(如废墟、商场、空地等)会影响传 感器的发挥,使得得到的数据包含噪音,影响建图的质量,进一步影响了规划、 定位的结果。在最近的研究中,研究人员在地图中额外引入了环境语义信息, 有效地降低环境对算法的影响;此外,地图的增量更新与修补优化也称为目前 的重点研究重点。但目前,没有一种用于机器人的地图表示方法——紧密结合 拓扑、几何、语义三种信息,并支持快速构建、增量更新、高效的数据存储与 读取、直观的可视化等性质。
发明内容
本发明为克服上述现有技术中的缺陷,提供一种视觉机器人的地图表示系 统及其构建方法,紧密结合拓扑、几何、语义三种信息,支持快速构建、增量 更新、高效的数据存储与读取、提供快速碰撞检测和障碍物检测的支持、提供 高质量的环境建模。
为解决上述技术问题,本发明采用的技术方案是:一种视觉机器人的地图 表示***,包括语义信息提取模块、几何信息提取模块、场景语义提取模块、 多信息体素整合模块、提取空间拓扑模块、拓扑整合模块、以及地图元素层、 多信息体素层和拓扑图层;其中,
所述的语义信息提取模块用于利用视觉传感器在需要构造地图的环境中采 集图像,并进行图像语义信息提取,得到图像分割结果;接着进行其余特定语 义提取,得到特定的语义信息,特定的语义信息部分的结果最终会存储在地图 元素层中;
所述的几何信息提取模块用于使用视觉传感器在需要构造地图的环境中采 集图像,经过计算得到深度图、顶点集合和顶点对应的法向量,接着基于深度 图由几种关于距离与法线的几何特征分割深度图;
所述的场景语义提取模块用于利用视觉传感器在需要构造地图的环境中采 集图像,并进行场景语义提取,得到场景的分类信息,场景的分类信息是人为 定义的、具有一定的标识度的场景称号;
所述的多信息体素整合模块,用于将语义信息提取模块得到的图像分割结 果和几何信息提取模块得到的深度分割结果进行融合,得到三维语义部件,该 部件描述了场景中某一个由人类预定的有一定标识度和对规划、定位来说意义 的物体;接着,结合视觉SLAM方法得到的相机位姿,将使用三维语义部件与 几何信息提取模块得到的顶点集合计算得到的多信息体素,更新到地图的多信 息体素层中;
所述的提取空间拓扑模块用于基于所述的多信息体素整合模块得到的多信 息体素层,提取出包含场景语义的空间凸包及表达其连接关系的拓扑信息;
所述拓扑整合模块用于基于空间的相邻关系,关联所述的多信息体素整合 模块中三维空间部件和所述的提取空间拓扑模块得到的三维空间凸包,计算空 间节点到部件节点的拓扑信息,并将此信息与空间节点到空间节点的拓扑信息 合并,得到完整的拓扑图层;
所述的地图元素层、多信息体素层和拓扑图层共同构成地图,拓扑图将地 图元素层中的空间凸包和三维部件信息联系起来。
进一步的,所述的多信息体素层时使用一个附带有空间信息、语义信息的 立方体,其不真实存在于客观世界中,而是用于近似表述客观世界的一个立方 区域的数据抽象对象;所述的多信息体素层是从机器人规划和定位的需求出发, 预定义的多种环境表示对象,一般由描述其位置、语义、几何等字段构成,如 用于表示障碍物的Object,由其中心位置、类别为障碍物及包围它的凸包构成。
本发明还提供一种视觉机器人的地图构建方法,包括以下步骤:
S1.使用语义信息提取模块,利用视觉传感器在需要构造地图的环境中采 集图像,并进行部件语义信息提取,得到图像分割结果(包括但不仅限于门窗、 桌椅),进行其余特定语义提取,得到特定的语义信息(包括但不仅限于可行使 区域);特定的语义信息部分的结果最终会存储在地图元素层中;
S2.使用几何信息提取模块,使用视觉传感器在需要构造地图的环境中采 集图像,得到深度图、顶点集合和顶点对应的法线,接着从深度图中计算得到 深度分割结果;
S3.使用场景语义提取模块,利用视觉传感器在需要构造地图的环境中采 集图像,并进行场景语义提取,得到场景的分类信息;
S4.使用多信息体素整合模块,将步骤S1中提取的图像分割结果和步骤 S2中提取的深度分割结果进行融合,得到三维语义部件;接着,基于视觉SLAM 方法得到的视觉传感器姿态,将三维语义部件与步骤S2中提取的顶点集合计算 得到多信息体素,构成多信息体素层;
S5.使用提取空间拓扑模块,基于步骤S4中的多信息体素层,提取出包含 场景语义的空间凸包及表达其连接关系的拓扑信息;
S6.使用拓扑整合模块,基于空间的相邻关系,关联步骤S4中三维空间部 件和步骤S5中的三维空间凸包,得到空间节点到部件节点的拓扑信息,并将此 信息与空间节点到空间节点的拓扑信息合并,得到完整的拓扑图,构成拓扑图 层;
S7.通过步骤S1中的地图元素层、步骤S4中的多信息体素层、步骤S6中 的拓扑图层共同构成本发明的地图。
进一步的,所述的步骤S1具体包括:
S11.从视觉传感器中得到RGB图像;
S12.基于步骤S11对RGB图像中的每一个像素进行推断,判断其从属对 象的类别(包括但不仅限于门窗、桌椅),过程基于深度神经网络完成,最终得 到每一个类别的每一个实例的二值掩码图像集合;
S13.其余特定语义提取由实际的应用决定,基于步骤S11对RGB图像, 使用特征检测和推理模块,将RGB图像进行特征提取,接着进行特定语义提取, 得到特定语义,特定语义包括但不仅限于可行使区域。
进一步的,所述的步骤S2具体包括:
S21.从视觉传感器中得到深度图;
S22.基于步骤S21从深度图,基于一个像素及其邻点计算此像素对应的曲 面法线,接着计算相邻像素的法线角度差距,最后计算相邻像素的深度差距, 共得到三种特征;
S23.基于所述步骤S22得到的三种特征,将深度图上进行聚类和切割,划 分得到多个不同的深度分割区域,称之为深度分割结果。
进一步的,所述的步骤S3具体包括:
S31.从视觉传感器中得到RGB图像;
S32.由RGB图像的像素及像素之间的联系,计算出高维度的特征,接着 以此推断出场景的分类信息;过程基于深度神经网络实现,包括但不仅限于 CNN网络,场景包括但不仅限于商场、厨房、仓库、走廊。
进一步的,所述的步骤S4具体包括:
S41.记所述步骤S2中提取的深度分割结果为集合S,si∈S为一个几何部 件切分块,由一定数量的像素及其深度信息组成,记所述步骤S1中提取的图像 分割结果为集合R,rj∈R为一个图像上的区域,由一定数量的像素及其分类信 息组成;对每一个si,计算与之重叠区域最高的rj,计算公式如下:
S42.对所述步骤S41中的每一个si,赋予与之重叠区域最高的rj的类别, 确定每一个几何部件切分块的最佳分类,将相邻的具有共同实例对象和类别的 几何切分块,融合为三维语义部件;
S43.将三维语义部件与地图中存在的三维语义部件进行一一比较,若当前 时刻与地图中存在相同的实例即同一个客观环境中的物体时,进行实例追踪, 若地图中不存在时,将新的三维语义部件添加到地图中,再进行实例追踪;所 述的实例追踪是保证在构建地图时,每一个实例对象的检测结果,在多帧图像 中保持时间不相干性的方法;
S44.将所述步骤S43维护的三维语义部件,与所述步骤S2中提取的顶点 集合进行融合;先将空间进行体素划分,只考虑截断距离t内的体素;假设x为 当前体素的中心,p为一个顶点的三维位置,s为传感器的原点,此时有:
d(x,p,s)=||p-x||sign((p-x)·(p-s))
∈=4v
Wi+1(x,p,s)=min(Wi(x)+w(x,p),Wmax)
式中,v为体素的大小,z为从s到p处的深度,Wmax限制了更新的最大权 值;由上式,可以计算得到第i+1次更新体素x时的TSDF值Di+1(x,p,s)和权 值Wi+1(x,p,s);初始时TSDF值D(x,p,s)和权值W(x,p,s)都被初始化为0;
S45.基于步骤S44中的TSDF值,计算ESDF的值;所述过程具体包括: 以TSDF表面出发,通过26-邻域搜索的方式,将设置的截断区域内的区域,直 接将TSDF的值作为ESDF的值,在截断区域外的值则通过水波纹传播算法计 算得到,最后得到ESDF;
其中,所述的水波纹算法按如下步骤进行:S451.波从一个体素记为v开始, 传播到它的26-邻域,对未更新ESDF距离的体素更新它们的ESDF距离为体素 v的ESDF值加上单位距离,并将新更新的体素放入波纹扩散队列;对波纹扩散 队列中每一个体素,依次递归地执行S451步骤,直到所有体素都已经更新了 ESDF距离为止;
S46.基于步骤S42与S43得到的三维语义部件信息与步骤S45中的ESDF, 组成多信息体素;
S47.通过视觉SLAM方法获取到当前的传感器位姿,将传感器坐标系下的 多信息体素转换为地图坐标系下的表示,接着更新到地图的信息体素层中;信 息体素层通过哈希的方式存储了多个多信息体素,每一体素包含了三维位置信 息、语义编码信息、是否被占据信息以及混合的截距/欧式距离场构成。
进一步的,所述的步骤S5具体包括:
S51.在采集数据的路线上随机采集凸包生长点;
S52.在所述步骤S51的每一个凸包生成点上,加以高度和体积限制,不断 往外扩张,形成空间凸包;并基于坐标位置和步骤S3给出的场景语义信息,得 到带语义的空间凸包集合;
S53.基于所述步骤S52中的带语义的空间凸包集合,利用它们相互间的空 间相邻关系,得到表示空间连接关系的无向图;
S54.设置一定的允许容纳障碍物非凸部分的阈值,对凸包进行合并,使得 得到的凸包更加符合人类直觉上环境原有的空间形状,得到更大的、带语义信 息的类椭圆形的空间凸包集合;过程在语义冲突时,不进行凸包的合并。
进一步的,所述的步骤S6具体包括:
S61.对每一个步骤S4中得到的三维语义部件,根据自身位置寻找到其所 属的步骤S54得到的一个带语义信息的类椭圆形的空间凸包(如杯子这一个三 维语义部件匹配到房间这一个空间凸包上),得到空间节点到部件节点的连接关 系;
S62.将所有由步骤S61得到的空间节点到部件节点的连接关系,整合到步 骤S5得到的拓扑图上,得到完整的拓扑图。
与现有技术相比,有益效果是:
1.本发明仅使用视觉传感器完成机器人地图的构建,而不需要使用测距扫 描仪的数据进行构建,降低了硬件成本;
2.本地图在结构组成上包含了几何、语义与拓扑的信息,蕴含了更多的环 境信息;并利用了各层次间特有的关联性质进行地图构建,制图流程清晰,提 高了制图的效率。层次间的关系紧密结合、数据与拓扑的分离,易于后续的增 量更新与修补优化过程进行;
3.本发明使用哈希表的形式存储和管理环境的几何数据,减小了数据查找 和存取的开销,并支持地图的动态无规则形状拓展,提高了数据的***、更新 和速度,非网格的结构使得建造的地图能够最大化利用存储空间,有利于环境 的最大化覆盖;
4.本发明中的机器人地图,使用了包含了几何与语义信息结合的多信息体 素结构,该结构不仅利于规划模块进行障碍物与碰撞检测而从优化局部规划效 率、利于定位模块使用丰富的几何信息和语义信息从而提高配准的精度和效率, 而且提供直观、形象的可视化结果,利于人类下达直观的导航指示。
附图说明
图1是本发明地图表示***整体框架示意图。
图2是本发明多信息体素层中的空间表示与数据表示的联系示意图。
图3是本发明拓扑层结构示意图。
图4是本发明地图构建方法整体流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实 施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于 本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。 附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
实施例1:
如图1所示,本发明提供一种视觉机器人的地图表示***,包括语义信息 提取模块、几何信息提取模块、场景语义提取模块、多信息体素整合模块、提 取空间拓扑模块、拓扑整合模块、以及地图元素层、多信息体素层和拓扑图层; 先使用语义信息提取模块、几何信息提取模块、场景语义提取模块三个模块从 视觉传感器中分别提取图像分割信息、深度分割信息和顶点和法线、场景语义 信息。接着,图像分割信息、深度分割信息将被融合为时间不相干的三维空间 部件信息,使用多信息体素整合模块将三维空间部件信息和顶点信息构建得到 多信息体素,使用视觉SLAM方法得到的相机位姿,将体素更新到地图的多信息体素层中。得到多信息体素层后,使用提取空间拓扑模块和场景语义信息, 将环境空间划分、合并为多个带语义的三维空间凸包集合,并由它们的空间相 邻关系得到表示空间节点到空间节点的拓扑信息。至此,部分三维空间部件信 息、语义信息提取模块种的语义信息和带语义的三维空间凸包集合被整合到地 图元素层中。此外,基于三维空间部件的空间位置,使用拓扑整合模块,先关 联三维空间部件和三维空间凸包,得到空间节点到部件节点的拓扑信息,在将 此信息与空间节点到空间节点的拓扑信息合并,得到完整的拓扑图。最后,多 信息体素层、地图元素集合和拓扑图共同构成了本发明的地图。
本***的应用场景为室内或者室外多种机器人作业的区域,要求视觉传感 器像素较高,有合适的焦距,能够清晰地拍摄0-20米以内的场景,并经过标定、 有准确内外参数估计。本***只需要一个RGB-D摄像头或者一个双目摄像头, 放置在机器人前面即可。
为了更好地说明本发明地具体实施方案,下面将结合图1-4以及具体的实 施方式对本发明提供的地图构建方法进行详细地说明。
如图4所示,一种视觉机器人的地图构建方法,包括以下步骤:
步骤1:接入视觉传感器,使用先前标定得到的内外参数校准RGB图像及 深度图,得到校准过后的RGB图像及深度图。所述的深度图,如果视觉传感器 为RGB-D相机,则天生具备深度信息;如视觉传感器为双目立体相机,则通过 “视差法”计算每点像素的深度从而的大深度图。
步骤2:使用Mask-RCNN方法进行图像分割,得到图像切割区域和对应的 标签。
步骤3:使用DCNN基于RGB图像进行环境分类,得到场景类别信息。
步骤4:基于像素及其邻点计算此像素对应的曲面法线,接着计算相邻像 素的法线角度差距,最后计算相邻像素的深度差距,共得到三种特征。
步骤5:基于步骤4得到的三种特征,在深度图上进行聚类和切割,划分 得到多个不同的深度分割区域。
步骤6:记所述步骤2中提取的深度分割结果为集合S,si∈S为一个几何部 件切分块,由一定数量的像素及其深度信息组成,记所述步骤1中提取的图像分 割结果为集合R,rj∈R为一个图像上的区域,由一定数量的像素及其分类信息 组成;对每一个si,计算与之重叠区域最高的rj,计算公式如下:
步骤7:对所述步骤6中的每一个si,赋予与之重叠区域最高的rj的类别, 确定每一个几何部件切分块的最佳分类,将相邻的具有共同实例对象和类别的 几何切分块,融合为三维语义部件。
步骤8:将三维语义部件与地图中存在的三维语义部件进行一一比较,若 当前时刻与地图中存在相同的实例(同一个客观环境中的物体)时,进行实例 追踪,若地图中不存在时,将新的三维语义部件添加到地图中,再进行实例追 踪。所述的实例追踪是保证在构建地图时,每一个实例对象的检测结果,在多 帧图像中保持时间不相干性的方法。
步骤9:将所述步骤7得到的、所述步骤8维护的三维语义部件,与所述 步骤2中提取的顶点集合进行融合。先将空间进行体素划分,只考虑截断距离 内的体素。假设x为当前体素的中心,p为一个顶点的三维位置,s为传感器的原 点,此时有:
d(x,p,s)=||p-x||sign((p-x)·(p-s))
∈=4v
Wi+1(x,p,s)=min(Wi(x)+w(x,p),Wmax)
式中,v为体素的大小,z为从s到p处的深度,Wmax限制了更新的最大权 值;由上式,可以计算得到第i+1次更新体素x时的TSDF值Di+1(x,p,s)和权 值Wi+1(x,p,s);初始时TSDF值D(x,p,s)和权值W(x,p,s)都被初始化为0。
步骤10:基于所述步骤9中的TSDF值,计算ESDF的值。所述过程具体 包括:以TSDF表面出发,通过26-邻域搜索的方式,将设置的截断区域内的区 域,直接将TSDF的值作为ESDF的值,在截断区域外的值则通过水波纹传播 算法计算得到,最后得到ESDF。
其中,水波纹算法按如下步骤进行:
步骤10.1:波从一个体素(记为v)开始,传播到它的26-邻域,对未更新 ESDF距离的体素更新它们的ESDF距离为体素v的ESDF值加上单位距离,并 将新更新的体素放入波纹扩散队列。对波纹扩散队列中每一个体素,依次递归 地执行所述步骤10.1,直到所有体素都已经更新了ESDF距离为止。
步骤11:基于所述步骤7得到的、所述步骤8维护的三维语义部件信息与 所述步骤10中的ESDF,通过坐标关联组成多信息体素。
步骤12:通过视觉SLAM方法获取到当前的传感器位姿,将传感器坐标系 下的多信息体素转换为地图坐标系下的表示,接着更新到地图的信息体素层中。 信息体素层通过哈希的方式存储了多个多信息体素,每一体素包含了三维位置信 息、语义编码信息、是否被占据信息以及混合的截距/欧式距离场构成,图2展 示了多信息体素的存储形式、空间表示和数据结构。
步骤13:在采集数据的路线上随机设置凸包生长点,在每一个点出加以高 度和体积限制,不断往外扩张,形成空间凸包;并基于坐标位置和步骤3给出 的场景语义信息,得到带语义的空间凸包集合。
步骤14:基于所述步骤13中的带语义的空间凸包集合,利用它们相互间 的空间相邻关系,得到表示空间连接关系的无向图。
步骤15:设置一定的允许容纳障碍物(非凸部分)的阈值,对凸包进行合 并,使得得到的凸包更加符合人类直觉上环境原有的空间形状,得到更大的、 带语义信息的类椭圆形的空间凸包集合。所述过程在语义冲突时,不进行凸包 的合并。
步骤16:对每一个所述步骤7得到的、所述步骤8维护的三维语义部件, 根据自身位置寻找到其所属的步骤13得到的一个带语义信息的类椭圆形的空 间凸包(如杯子这一个三维语义部件匹配到房间这一个空间凸包上),得到空间 节点到部件节点的连接关系。
步骤17:将所有由步骤17得到的空间节点到部件节点的连接关系,整合 到步骤5得到的无向图上,得到完整的拓扑图。
步骤18:通过步骤12中的多信息体素层、步骤2中的特定的语义信息和 步骤8中的三维语义部件、步骤17中的拓扑图共同构成本发明的地图。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并 非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述 说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有 的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替 换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种视觉机器人的地图表示***,其特征在于,包括语义信息提取模块、几何信息提取模块、场景语义提取模块、多信息体素整合模块、提取空间拓扑模块、拓扑整合模块、以及地图元素层、多信息体素层和拓扑图层;其中,
所述的语义信息提取模块用于利用视觉传感器在需要构造地图的环境中采集图像,并进行图像语义信息提取,得到图像分割结果;接着进行其余特定语义提取,得到特定的语义信息,特定的语义信息部分的结果最终会存储在地图元素层中;
所述的几何信息提取模块用于使用视觉传感器在需要构造地图的环境中采集图像,经过计算得到深度图、顶点集合和顶点对应的法向量,接着基于深度图由几种关于距离与法线的几何特征分割深度图;
所述的场景语义提取模块用于利用视觉传感器在需要构造地图的环境中采集图像,并进行场景语义提取,得到场景的分类信息,场景的分类信息是人为定义的、具有一定的标识度的场景称号;
所述的多信息体素整合模块,用于将语义信息提取模块得到的图像分割结果和几何信息提取模块得到的深度分割结果进行融合,得到三维语义部件,该部件描述了场景中某一个由人类预定的有一定标识度和对规划、定位来说意义的物体;接着,结合视觉SLAM方法得到的相机位姿,将使用三维语义部件与几何信息提取模块得到的顶点集合计算得到的多信息体素,更新到地图的多信息体素层中;
所述的提取空间拓扑模块用于基于所述的多信息体素整合模块得到的多信息体素层,提取出包含场景语义的空间凸包及表达其连接关系的拓扑信息;
所述拓扑整合模块用于基于空间的相邻关系,关联所述的多信息体素整合模块中三维空间部件和所述的提取空间拓扑模块得到的三维空间凸包,计算空间节点到部件节点的拓扑信息,并将此信息与空间节点到空间节点的拓扑信息合并,得到完整的拓扑图层;
所述的地图元素层、多信息体素层和拓扑图层共同构成地图,拓扑图将地图元素层中的空间凸包和三维部件信息联系起来。
2.根据权利要求1所述的视觉机器人的地图表示***,其特征在于,所述的多信息体素层是使用一个附带有空间信息、语义信息的立方体,其不真实存在于客观世界中,而是用于近似表述客观世界的一个立方区域的数据抽象对象;所述的多信息体素层是从机器人规划和定位的需求出发,预定义的多种环境表示对象,由描述其位置、语义、几何字段构成。
3.一种视觉机器人的地图构建方法,其特征在于,包括以下步骤:
S1.使用语义信息提取模块,利用视觉传感器在需要构造地图的环境中采集图像,并进行部件语义信息提取,得到图像分割结果,进行其余特定语义提取,得到特定的语义信息;特定的语义信息部分的结果最终会存储在地图元素层中;
S2.使用几何信息提取模块,使用视觉传感器在需要构造地图的环境中采集图像,得到深度图、顶点集合和顶点对应的法线,接着从深度图中计算得到深度分割结果;
S3.使用场景语义提取模块,利用视觉传感器在需要构造地图的环境中采集图像,并进行场景语义提取,得到场景的分类信息;
S4.使用多信息体素整合模块,将步骤S1中提取的图像分割结果和步骤S2中提取的深度分割结果进行融合,得到三维语义部件;接着,基于视觉SLAM方法得到的视觉传感器姿态,将三维语义部件与步骤S2中提取的顶点集合计算得到多信息体素,构成多信息体素层;
S5.使用提取空间拓扑模块,基于步骤S4中的多信息体素层,提取出包含场景语义的空间凸包及表达其连接关系的拓扑信息;
S6.使用拓扑整合模块,基于空间的相邻关系,关联步骤S4中三维空间部件和步骤S5中的三维空间凸包,得到空间节点到部件节点的拓扑信息,并将此信息与空间节点到空间节点的拓扑信息合并,得到完整的拓扑图,构成拓扑图层;
S7.通过步骤S1中的地图元素层、步骤S4中的多信息体素层、步骤S6中的拓扑图层共同构成本发明的地图。
4.根据权利要求3所述的视觉机器人的地图构建方法,其特征在于,所述的步骤S1具体包括:
S11.从视觉传感器中得到RGB图像;
S12.基于步骤S11对RGB图像中的每一个像素进行推断,判断其从属对象的类别,过程基于深度神经网络完成,最终得到每一个类别的每一个实例的二值掩码图像集合;
S13.其余特定语义提取由实际的应用决定,基于步骤S11对RGB图像,使用特征检测和推理模块,将RGB图像进行特征提取,接着进行特定语义提取,得到特定语义,特定语义包括但不仅限于可行使区域。
5.根据权利要求3所述的视觉机器人的地图构建方法,其特征在于,所述的步骤S2具体包括:
S21.从视觉传感器中得到深度图;
S22.基于步骤S21从深度图,基于一个像素及其邻点计算此像素对应的曲面法线,接着计算相邻像素的法线角度差距,最后计算相邻像素的深度差距,共得到三种特征;
S23.基于所述步骤S22得到的三种特征,将深度图上进行聚类和切割,划分得到多个不同的深度分割区域,称之为深度分割结果。
6.根据权利要求3所述的视觉机器人的地图构建方法,其特征在于,所述的步骤S3具体包括:
S31.从视觉传感器中得到RGB图像;
S32.由RGB图像的像素及像素之间的联系,计算出高维度的特征,接着以此推断出场景的分类信息;过程基于深度神经网络实现,包括但不仅限于CNN网络,场景包括但不仅限于商场、厨房、仓库、走廊。
7.根据权利要求3所述的视觉机器人的地图构建方法,其特征在于,所述的步骤S4具体包括:
S41.记所述步骤S2中提取的深度分割结果为集合S,si∈S为一个几何部件切分块,由一定数量的像素及其深度信息组成,记所述步骤S1中提取的图像分割结果为集合R,rj∈R为一个图像上的区域,由一定数量的像素及其分类信息组成;对每一个si,计算与之重叠区域最高的rj,计算公式如下:
S42.对所述步骤S41中的每一个si,赋予与之重叠区域最高的rj的类别,确定每一个几何部件切分块的最佳分类,将相邻的具有共同实例对象和类别的几何切分块,融合为三维语义部件;
S43.将三维语义部件与地图中存在的三维语义部件进行一一比较,若当前时刻与地图中存在相同的实例即同一个客观环境中的物体时,进行实例追踪,若地图中不存在时,将新的三维语义部件添加到地图中,再进行实例追踪;所述的实例追踪是保证在构建地图时,每一个实例对象的检测结果,在多帧图像中保持时间不相干性的方法;
S44.将所述步骤S43维护的三维语义部件,与所述步骤S2中提取的顶点集合进行融合;先将空间进行体素划分,只考虑截断距离t内的体素;假设x为当前体素的中心,p为一个顶点的三维位置,s为传感器的原点,此时有:
d(x,p,s)=||p-x||sign((p-x)·(p-s))
∈=4v
Wi+1(x,p,s)=min(Wi(x)+w(x,p),Wmax)
式中,v为体素的大小,z为从s到p处的深度,Wmax限制了更新的最大权值;由上式,可以计算得到第i+1次更新体素x时的TSDF值Di+1(x,p,s)和权值Wi+1(x,p,s);初始时TSDF值D(x,p,s)和权值W(x,p,s)都被初始化为0;
S45.基于步骤S44中的TSDF值,计算ESDF的值;所述过程具体包括:以TSDF表面出发,通过26-邻域搜索的方式,将设置的截断区域内的区域,直接将TSDF的值作为ESDF的值,在截断区域外的值则通过水波纹传播算法计算得到,最后得到ESDF;
S46.基于步骤S42与S43得到的三维语义部件信息与步骤S45中的ESDF,组成多信息体素;
S47.通过视觉SLAM方法获取到当前的传感器位姿,将传感器坐标系下的多信息体素转换为地图坐标系下的表示,接着更新到地图的信息体素层中;信息体素层通过哈希的方式存储了多个多信息体素,每一体素包含了三维位置信息、语义编码信息、是否被占据信息以及混合的截距/欧式距离场构成。
8.根据权利要求7所述的视觉机器人的地图构建方法,其特征在于,所述的水波纹算法按如下步骤进行:波从一个体素记为v开始,传播到它的26-邻域,对未更新ESDF距离的体素更新它们的ESDF距离为体素v的ESDF值加上单位距离,并将新更新的体素放入波纹扩散队列;对波纹扩散队列中每一个体素,依次递归地执行以上步骤,直到所有体素都已经更新了ESDF距离为止。
9.根据权利要求3所述的视觉机器人的地图构建方法,其特征在于,所述的步骤S5具体包括:
S51.在采集数据的路线上随机采集凸包生长点;
S52.在所述步骤S51的每一个凸包生成点上,加以高度和体积限制,不断往外扩张,形成空间凸包;并基于坐标位置和步骤S3给出的场景语义信息,得到带语义的空间凸包集合;
S53.基于所述步骤S52中的带语义的空间凸包集合,利用它们相互间的空间相邻关系,得到表示空间连接关系的无向图;
S54.设置一定的允许容纳障碍物非凸部分的阈值,对凸包进行合并,使得得到的凸包更加符合人类直觉上环境原有的空间形状,得到更大的、带语义信息的类椭圆形的空间凸包集合;过程在语义冲突时,不进行凸包的合并。
10.根据权利要求3所述的视觉机器人的地图构建方法,其特征在于,所述的步骤S6具体包括:
S61.对每一个步骤S4中得到的三维语义部件,根据自身位置寻找到其所属的步骤S54得到的一个带语义信息的类椭圆形的空间凸包,得到空间节点到部件节点的连接关系;
S62.将所有由步骤S61得到的空间节点到部件节点的连接关系,整合到步骤S5得到的拓扑图上,得到完整的拓扑图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023177.2A CN110807782B (zh) | 2019-10-25 | 2019-10-25 | 一种视觉机器人的地图表示***及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023177.2A CN110807782B (zh) | 2019-10-25 | 2019-10-25 | 一种视觉机器人的地图表示***及其构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110807782A true CN110807782A (zh) | 2020-02-18 |
CN110807782B CN110807782B (zh) | 2021-08-20 |
Family
ID=69489109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911023177.2A Active CN110807782B (zh) | 2019-10-25 | 2019-10-25 | 一种视觉机器人的地图表示***及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807782B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112146660A (zh) * | 2020-09-25 | 2020-12-29 | 电子科技大学 | 一种基于动态词向量的室内地图定位方法 |
CN112703368A (zh) * | 2020-04-16 | 2021-04-23 | 华为技术有限公司 | 车辆定位的方法和装置、定位图层生成的方法和装置 |
CN112837372A (zh) * | 2021-03-02 | 2021-05-25 | 浙江商汤科技开发有限公司 | 数据生成方法及装置、电子设备和存储介质 |
CN115097857A (zh) * | 2022-07-18 | 2022-09-23 | 浙江大学 | 复杂环境下考虑旋翼无人机外形的实时轨迹规划方法 |
CN115454055A (zh) * | 2022-08-22 | 2022-12-09 | 中国电子科技南湖研究院 | 一种面向室内自主导航与作业的多层融合地图表示方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066507A (zh) * | 2017-01-10 | 2017-08-18 | 中国人民解放军国防科学技术大学 | 一种基于云机器人混合云架构的语义地图构建方法 |
CN108596974A (zh) * | 2018-04-04 | 2018-09-28 | 清华大学 | 动态场景机器人定位建图***及方法 |
CN109407115A (zh) * | 2018-12-25 | 2019-03-01 | 中山大学 | 一种基于激光雷达的路面提取***及其提取方法 |
CN109917419A (zh) * | 2019-04-12 | 2019-06-21 | 中山大学 | 一种基于激光雷达与图像的深度填充密集***及方法 |
CN110243370A (zh) * | 2019-05-16 | 2019-09-17 | 西安理工大学 | 一种基于深度学习的室内环境三维语义地图构建方法 |
CN110363816A (zh) * | 2019-06-25 | 2019-10-22 | 广东工业大学 | 一种基于深度学习的移动机器人环境语义建图方法 |
-
2019
- 2019-10-25 CN CN201911023177.2A patent/CN110807782B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066507A (zh) * | 2017-01-10 | 2017-08-18 | 中国人民解放军国防科学技术大学 | 一种基于云机器人混合云架构的语义地图构建方法 |
CN108596974A (zh) * | 2018-04-04 | 2018-09-28 | 清华大学 | 动态场景机器人定位建图***及方法 |
CN109407115A (zh) * | 2018-12-25 | 2019-03-01 | 中山大学 | 一种基于激光雷达的路面提取***及其提取方法 |
CN109917419A (zh) * | 2019-04-12 | 2019-06-21 | 中山大学 | 一种基于激光雷达与图像的深度填充密集***及方法 |
CN110243370A (zh) * | 2019-05-16 | 2019-09-17 | 西安理工大学 | 一种基于深度学习的室内环境三维语义地图构建方法 |
CN110363816A (zh) * | 2019-06-25 | 2019-10-22 | 广东工业大学 | 一种基于深度学习的移动机器人环境语义建图方法 |
Non-Patent Citations (1)
Title |
---|
李伟等: "基于仿生的机器人室内地图构建方法的研究", 《东北师范大学报(自然科学版)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112703368A (zh) * | 2020-04-16 | 2021-04-23 | 华为技术有限公司 | 车辆定位的方法和装置、定位图层生成的方法和装置 |
CN112146660A (zh) * | 2020-09-25 | 2020-12-29 | 电子科技大学 | 一种基于动态词向量的室内地图定位方法 |
CN112837372A (zh) * | 2021-03-02 | 2021-05-25 | 浙江商汤科技开发有限公司 | 数据生成方法及装置、电子设备和存储介质 |
CN115097857A (zh) * | 2022-07-18 | 2022-09-23 | 浙江大学 | 复杂环境下考虑旋翼无人机外形的实时轨迹规划方法 |
CN115097857B (zh) * | 2022-07-18 | 2024-04-30 | 浙江大学 | 复杂环境下考虑旋翼无人机外形的实时轨迹规划方法 |
CN115454055A (zh) * | 2022-08-22 | 2022-12-09 | 中国电子科技南湖研究院 | 一种面向室内自主导航与作业的多层融合地图表示方法 |
CN115454055B (zh) * | 2022-08-22 | 2023-09-19 | 中国电子科技南湖研究院 | 一种面向室内自主导航与作业的多层融合地图表示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110807782B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807782B (zh) | 一种视觉机器人的地图表示***及其构建方法 | |
CN110097553B (zh) | 基于即时定位建图与三维语义分割的语义建图*** | |
CN110084272B (zh) | 一种聚类地图创建方法及基于聚类地图和位置描述子匹配的重定位方法 | |
CN106952286B (zh) | 基于运动显著图和光流矢量分析的动态背景目标分割方法 | |
US10802146B2 (en) | Enhancement of range measurement resolution using imagery | |
Strom et al. | Graph-based segmentation for colored 3D laser point clouds | |
CN107967473B (zh) | 基于图文识别和语义的机器人自主定位和导航 | |
CN105096386B (zh) | 大范围复杂城市环境几何地图自动生成方法 | |
CN111563442A (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及*** | |
CN113362247B (zh) | 一种激光融合多目相机的语义实景三维重建方法及*** | |
CN105719352B (zh) | 人脸三维点云超分辨率融合方法及应用其的数据处理装置 | |
CN113985445A (zh) | 一种基于相机与激光雷达数据融合的3d目标检测算法 | |
CN112070770A (zh) | 一种高精度三维地图与二维栅格地图同步构建方法 | |
CN110599545B (zh) | 一种基于特征的构建稠密地图的*** | |
CN115388902B (zh) | 室内定位方法和***、ar室内定位导航方法和*** | |
CN112991534B (zh) | 一种基于多粒度物体模型的室内语义地图构建方法及*** | |
CN116449384A (zh) | 基于固态激光雷达的雷达惯性紧耦合定位建图方法 | |
CN110223380A (zh) | 融合航拍与地面视角图像的场景建模方法、***、装置 | |
CN113034681B (zh) | 空间平面关系约束的三维重建方法及装置 | |
CN113985435A (zh) | 一种融合多激光雷达的建图方法及*** | |
Rothermel et al. | Fast and robust generation of semantic urban terrain models from UAV video streams | |
CN116381713A (zh) | 一种多传感器点云融合的动态场景自主定位与建图方法 | |
CN116704112A (zh) | 一种用于对象重建的3d扫描*** | |
Julier et al. | Urban terrain modeling for augmented reality applications | |
Zhao et al. | The construction method of the digital operation environment for bridge cranes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |