CN112784873A - 一种语义地图的构建方法及设备 - Google Patents

一种语义地图的构建方法及设备 Download PDF

Info

Publication number
CN112784873A
CN112784873A CN202011567751.3A CN202011567751A CN112784873A CN 112784873 A CN112784873 A CN 112784873A CN 202011567751 A CN202011567751 A CN 202011567751A CN 112784873 A CN112784873 A CN 112784873A
Authority
CN
China
Prior art keywords
point cloud
cloud data
target
point
semantic map
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
Application number
CN202011567751.3A
Other languages
English (en)
Other versions
CN112784873B (zh
Inventor
王凯
贺亚农
楚亚奎
王民航
薛景涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011567751.3A priority Critical patent/CN112784873B/zh
Publication of CN112784873A publication Critical patent/CN112784873A/zh
Application granted granted Critical
Publication of CN112784873B publication Critical patent/CN112784873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例公开了一种语义地图的构建方法及设备,可应用于图像构建领域中,具体可用于机器人的地图构建中,该方法包括:通过部署于目标设备上的传感器实时获取目标设备监测范围内物体的点云数据,点云数据用于表征点云数据中每个点的三维坐标值,根据点云数据可得到物体的位置信息,并基于该物体的点云数据与之前获取到的各个物体的点云数据之间的相似度来判断该物体是否是目标设备监测到的新物体,再基于相似度的具体取值实时更新语义地图,从而实现了目标设备对语义地图的自主动态更新,此外,通过本申请实施例构建的语义地图不仅包括物体的位置信息,还包括物体的朝向信息,从而在对物体进行准确定位的同时还提供了与物体交互的视角朝向。

Description

一种语义地图的构建方法及设备
技术领域
本申请涉及地图构建领域,尤其涉及一种语义地图的构建方法及设备。
背景技术
近年来,语义地图的构建成为了计算机视觉和移动计算的研究热点之一,语义地图被 广泛应用于机器人、移动终端设备、人机交互等领域。室内语义地图包括空间属性信息, 如房间分布、房间结构等几何信息,还包括语义属性信息,如房间内一般实体的位置信息 等。语义地图构建的目标是精确地在三维几何地图上标记语义信息。
现有的设备(如,室内可移动机器人)构建语义地图的方式主要为:先基于采集到的 图像进行3D稠密重建得到3D稠密图,再在该3D稠密图上进行三维实例分割,为每个体素识别出对应的语义信息,基于得到的语义信息在3D稠密图上标注物体区域,从而得到 语义地图。这种方式构建的语义地图也可称为贴图式语义地图。
贴图式语义地图的构建方式是基于采集的图像先构建场景,再一次性对整个场景进行 3D稠密重建,对于动态环境的鲁棒性差,即语义地图的动态更新困难。
发明内容
本申请实施例提供了一种语义地图的构建方法及设备,用于实时获取目标设备监测范 围内物体的点云数据,并基于该物体的点云数据与之前获取到的物体的点云数据之间的相 似度来判断该物体是否是目标设备监测到的新物体,再基于相似度的具体取值实时更新语 义地图,从而实现了目标设备对语义地图的自主动态更新,此外,通过本申请实施例构建 的语义地图不仅包括物体的位置信息(基于点云数据得到),还包括物体的朝向信息,从 而在对物体进行准确定位的同时还提供了交互的视角朝向。
基于此,本申请实施例提供以下技术方案:
第一方面,本申请实施例首先提供一种语义地图的构建方法,可用于地图构建领域中, 该方法包括:首先,获取目标设备在当前时刻、当前位置监测范围内的每个物体各自对应 的点云数据。在当前时刻、当前位置,目标设备的监测范围可称为第一监测范围,在该监 测范围内存在的任意一个物体,可称为第一物体,第一物体对应的点云数据则称为第一点 云数据。第一监测范围是指部署于该目标设备上的目标传感器在当前时刻、当前位置能感 知到的周围环境的感知区域。之后,计算第一点云数据与第二点云数据之间的相似度,第 二点云数据为目标设备第二监测范围内第二物体的点云数据,第二监测范围包括目标设备 在第一时刻至第二时刻的时间区间内的监测范围,第二物体为第二监测范围内存在的任意 一个物体,语义地图基于第二监测范围内的每个物体对应的点云数据构建得到。计算得到 第一点云数据与第二点云数据之间的相似度后,会进一步基于相似度确定目标点云数据, 例如,可以是当相似度在第一阈值区间,目标点云数据为第一点云数据;也可以是当相似 度在第二阈值区间,且在第一点云数据的外包络盒大于第二点云数据的外包络盒的情况下, 目标点云数据为第一点云数据;还可以是当相似度在第二阈值区间,且在将第一点云数据 与第二点云数据进行点云配准的情况下,则目标点云数据为融合点云数据,具体本申请对 目标点云数据的确定方式不做限定。基于第一点云数据和第二点云数据之间的相似度确定 目标点云数据后,就会更新该语义地图,具体表现为在语义地图中更新该目标点云数据、 目标点云数据的标签信息以及物体的朝向信息。
在本申请上述实施方式中,通过部署于目标设备上的目标传感器实时获取目标设备监 测范围内物体的点云数据,并基于该物体的点云数据与之前获取到的物体的点云数据之间 的相似度来判断该物体是否是目标设备监测到的新物体,再基于相似度的具体取值实时更 新语义地图,从而实现了目标设备对语义地图的自主动态更新,此外,通过本申请实施例 构建的语义地图不仅包括物体的位置信息(基于点云数据得到),还包括物体的朝向信息, 从而在对物体进行准确定位的同时还提供了交互的视角朝向。
在第一方面的一种可能的实现方式中,基于目标点云数据得到与目标点云数据对应的 物体的朝向信息的方式具体可以是:从该目标点云数据中随机采样得到两个点,分别记为 第一点和第二点,接着对第一点和第二点进行连线,并得到该连线的垂直平分面,再以该 垂直平分面为对称面,将目标点云数据通过该垂直平分面进行映射,得到该目标点云数据 对应的镜像点云数据,之后,根据最近邻聚类算法计算得到目标点云数据与该镜像点云数 据之间的距离,该距离可称为第一距离,该第一距离与该垂直平分面对应,且该第一距离 在预设阈值范围内;重复执行上述步骤直至达到预设轮次n,得到n个第一距离;最后,计算目标垂直平分面的法线与基准坐标系的轴线之间的夹角,并用该夹角表征该物体的朝向信息,所述目标垂直平分面与目标距离对应,所述目标距离在所述n个第一距离中取值最小。
在本申请上述实施方式中,具体阐述了如何得到一个物体的朝向信息,即通过构建对 称面得到镜像点云数据,并基于目标点云数据与镜像点云数据之间的距离大小选择一个最 优的对称面作为最终的目标对称面,最后选择目标垂直平分面的法线与基准坐标系的轴线 之间的夹角,具备可实现性。
在第一方面的一种可能的实现方式中,所述第一点和所述第二点之间连线与所述基准 坐标系中的任意一个轴线(可称为第一轴线)平行,该第一轴线可以是该基准坐标系的x 轴、y轴或z轴。
在本申请上述实施方式中,为了使得每次随机采样的两个点能有效计算出第一距离 (即使得计算得到的第一距离能处于预设范围内),从而对采样得到的第一点和第二点的 采集条件进行了约束,提高了有效采样的效率。
在第一方面的一种可能的实现方式中,第一点云数据还可以用于表征该第一点云数据 中每个点的像素值,第二点云数据还可以用于表征该第二点云数据中每个点的像素值,因 此计算所述第一点云数据与第二点云数据之间的相似度的方式可以是:首先,根据最近邻 聚类算法,计算得到第一点云数据与第二点云数据之间的距离,该距离可称为第二距离, 之后,由于每个点云数据不仅用于表征对应点云数据中每个点在基准坐标系下的三维坐标 值,还用于表征对应的RGB图像对应每个点的像素值,因此可以进一步计算第一点云数 据与第二点云数据之间的像素值之差,最后根据该第二距离和该像素值之差计算得到第一 点云数据与第二点云数据之间的相似度。
在本申请上述实施方式中,阐述了通过两个点云数据之间的距离和像素值之差来计算 第一点云数据与第二点云数据之间的相似度,具备灵活性。
在第一方面的一种可能的实现方式中,根据该第二距离和该像素值之差计算得到第一 点云数据与第二点云数据之间的相似度的过程具体可以通过计算该第二距离和该像素值 之差的二范数得到。具体地,可以是先对第二距离和像素值之差进行加权求和,得到目标 值,其中,第二距离与像素值之差各自所占的权重比例可以根据实际应用自行设置,也可 以基于历史数据计算得到,本申请不做限定;最后,将目标值通过高斯核映射,从而得到 第一点云数据与第二点云数据之间的相似度。
在本申请上述实施方式中,具体阐述了可以通过计算该第二距离和该像素值之差的二 范数得到第一点云数据与第二点云数据之间的相似度,简单易实现。
在第一方面的一种可能的实现方式中,根据相似度确定目标点云数据的方式可以是: 在相似度位于第一阈值区间的情况下,确定第一点云数据为该目标点云数据,其中,目标 点云数据对应的物体为该第一物体。
在本申请上述实施方式中,当第一点云数据与第二点云数据之间的相似度位于第一阈 值区间,则说明第一点云数据对应的第一物体为当前时刻、当前位置目标设备在监测范围 内新观测到的物体,此时目标点云数据就为第一点云数据,后续可根据该第一点云数据更 新语义地图,从而实现语义地图的实时更新。
在第一方面的一种可能的实现方式中,根据相似度确定目标点云数据的方式也可以是: 在相似度位于第二阈值区间的情况下,计算第一点云数据的第一外包络盒和第二点云数据 的第二外包络盒,并且在第一外包络盒的体积大于第二外包络盒的体积的情况下,将第一 点云数据替换第二点云数据,并确定第一点云数据为该目标点云数据。
在本申请上述实施方式中,当第一点云数据与第二点云数据之间的相似度位于第二阈 值区间,则说明第一点云数据对应的第一物体在第一时刻至第二时刻之间的时间区间内被 目标设备观测到,这种情况下的一种处理方式是计算第一点云数据的第一外包络盒和第二 点云数据的第二外包络盒,并用外包络盒体积大的替换外包络盒体积小的,体积大的物体 的点云数据包括的信息更完整,此时,目标点云数据仍为第一点云数据(因为第一点云数 据的外包络盒体积更大),据此更新的语义地图包括的物体信息更完整。
在第一方面的一种可能的实现方式中,在第一外包络盒的体积小于等于第二外包络盒 的体积的情况下,则删除第一点云数据。
在本申请上述实施方式中,如果比较第一外包络盒和第二外包络盒的体积大小的结果 是第一外包络盒的体积小于等于第二外包络盒的体积,说明之前获取的该物体的点云数据 (即第二点云数据)包括的物体信息更完整,在这种情况下,将当前时刻获得的第一点云 数据删除不要。
在第一方面的一种可能的实现方式中,根据相似度确定目标点云数据的方式还可以是: 在相似度位于第二阈值区间的情况下,将第一点云数据与第二点云数据进行点云配准,得 到第一点云数据与第二点云数据的融合点云数据,并确定该融合点云数据为目标点云数据。
在本申请上述实施方式中,在相似度位于第二阈值区间的情况下,也可以直接将第一 点云数据与第二点云数据进行点云配准,从而得到第一点云数据与第二点云数据的融合点 云数据,因为融合后的点云数据包含的信息更多,此时,目标点云数据则为第一点云数据 与第二点云数据融合后得到的融合点云数据,后续再基于融合点云数据更新语义地图,使 得更新的语义地图包括的信息更丰富。
在第一方面的一种可能的实现方式中,获取目标设备在当前时刻第一监测范围内的第 一物体对应的第一点云数据可以是通过部署于目标设备上的目标传感器采集该目标设备 在当前时刻第一监测范围内的RGB图像和深度图像,并对RGB图像进行实例分割,得到RGB图像中第一物体所属的第一区域,最后将该第一区域与该深度图像进行叠加,得到第一物体对应的第一点云数据。
在本申请上述实施方式中,具体阐述了第一点云数据是基于RGB图像和深度图像得 到的,而目前已有方法构建语义地图的3D稠密图是通过稠密重建得到,稠密重建计算量巨大,而本申请实施例是基于RGB图像和深度图像得到的点云数据,不需要稠密重建, 降低计算量。
在第一方面的一种可能的实现方式中,目标传感器包括:深度相机,或,深度传感器 与摄像模块的组合。
在本申请上述实施方式中,阐述了目标传感器的几种具体类型,具备可选择性。
在第一方面的一种可能的实现方式中,在语义地图中更新目标点云数据、目标点云数 据的标签信息和目标物体的朝向信息之后,该方法还可以包括:将所述第二时刻更新为所 述当前时刻,目标点云数据作为新增的第二点云数据,重复执行上述步骤直至达到预设条 件,得到目标全局语义地图,该目标全局语义地图为最后一次更新得到的语义地图。
在本申请上述实施方式中,具体阐述了在每个当前时刻都可以重复执行上述各个模块 的执行步骤,以实现语义地图的持续动态更新。
在第一方面的一种可能的实现方式中,达到预设条件包括:第一时刻至第二时刻的时 间区间达到预设时长。
在本申请上述实施方式中,具体阐述了停止更新语义地图的条件,即构建的时长达到 预设时长,这时候就认为构建的语义地图比较完备。
在第一方面的一种可能的实现方式中,在得到目标全局语义地图后,所述方法还包括: 获取目标设备在第三监测范围内每个物体各自对应的点云数据,该第三监测范围包括目标 设备在第三时刻至当前时刻的时间区间内的监测范围,该第三监测范围内存在至少两个物 体,且第三监测范围内每个物体各自对应的点云数据用于表征对应点云数据中每个点的像 素值和每个点在基准坐标系下的三维坐标值,之后基于目标设备在该第三监测范围内每个 物体各自对应的点云数据构建局部语义地图。需要注意的是,在本申请实施例中,当前时 刻是指目标设备构建完目标全局语义地图后,在构建用于优化目标全局语义地图过程中的 当前时刻,第三时刻则是在当前时刻之前的某一个时刻,根据用户需求设定,例如,假设 用户想要构建的局部语义地图包含的物体的点云数据多一些,则第三时刻可以选择距离当 前时刻更早一点的时刻。由于构建的局部语义地图至少需要包括2个物体的点云数据,那 么针对该局部语义地图中的每个物体的点云数据,两两之间进行结合构建物体对描述子, 具体地,称局部语义地图中存在的任意两个物体各自对应的点云数据为第三物体的第三点 云数据和第四物体的第四点云数据,那么可基于该第三点云数据和第四点云数据构成一个 物体对描述子(可称为第一物体对描述子),根据局部语义地图包括的物体的数量不同, 可构建得到不同数量的第一物体对描述子。同时,针对先前得到的目标全局语义地图,也 会将目标全局语义地图中每个物体各自对应的点云数据两两构建得到m个物体对描述子 (可称为第二物体对描述子)。然后,根据局部语义地图中的每个第一物体对描述子,从m 个第二物体对描述子中确定出与第一物体对描述子更接近的p个目标物体对描述子,p≤m。 最后,将局部语义地图分别与这p个目标物体对描述子通过ICP算法进行点云配准,从而 得到p个位姿值,每个位姿值用于表征点云数据的旋转矩阵和平移向量。当p个位姿值中 存在至少q个位姿值在预设误差范围内,说明局部语义地图中每个第一物体对描述子所涉 及的物体的点云数据都被成功在目标全局语义地图中找到了,此时根据局部语义地图对目 标全局语义地图进行优化,q≤p。
在本申请上述实施方式中,通过进一步建立局部语义地图以及构建物体对描述子对目 标全局语义地图进行匹配优化,从而进一步提高了目标全局语义地图的精度。
在第一方面的一种可能的实现方式中,当p个位姿值不存在至少q个位姿值在预设误 差范围内,重复执行上述步骤,直至p个位姿值存在至少q个位姿值在该预设误差范围内。
在本申请上述实施方式中,若p个位姿值不存在至少q个位姿值在预设误差范围内, 说明局部语义地图中的物体的点云数据过少,地图优化模块1707没有在目标全局语义地 图中匹配上该局部语义地图中的每个物体的点云数据,此时则需要继续获取至少一帧点云 数据,用于更新局部语义地图,更新局部语义地图的目的是为了引入新物体的点云数据。
在一种可能的设计中,物体对描述子还可以用于表征两个目标物体朝向延长线之间的 交点分别与该两个目标物体各自对应的点云数据的中心点的距离。
在本申请上述实施方式中,阐述了物体对描述子还用于表征对称面交点与中心点的距 离,这是因为物体对描述子表征的信息越多,则局部地图与目标全局语义地图的匹配越精 准。
在一种可能的设计中,目标设备可以是可移动机器人,也可以是手持移动终端设备(如, 手机、个人电脑等),还可以是智能可穿戴设备(如,智能手表、智能手环、智能眼镜等), 只要能用于实现本申请实施例所述的语义地图的构建方法的设备都可以称为本申请实施 例所述的目标设备,具体本申请对目标设备的表现形式不做限定。
在本申请上述实施方式中,阐述了目标设备可以是哪些类型的设备,具备广泛适用性。
本申请实施例第二方面提供一种地图构建装置,该地图构建装置具有实现上述第一方 面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通 过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例第三方面提供一种地图构建装置,可以包括存储器、处理器以及总线系 统,其中,存储器用于存储程序,处理器用于调用该存储器中存储的程序以执行本申请实 施例第一方面或第一方面任意一种可能实现方式的方法。
本申请第四方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令, 当其在计算机上运行时,使得计算机可以执行上述第一方面或第一方面任意一种可能实现 方式的方法。
本申请实施例第五方面提供了一种计算机程序,当其在计算机上运行时,使得计算机 执行上述第一方面或第一方面任意一种可能实现方式的方法。
本申请实施例第六方面提供了一种芯片,该芯片包括至少一个处理器和至少一个接口 电路,该接口电路和该处理器耦合,至少一个接口电路用于执行收发功能,并将指令发送 给至少一个处理器,至少一个处理器用于运行计算机程序或指令,其具有实现如上述第一 方面或第一方面任意一种可能实现方式的方法的功能,该功能可以通过硬件实现,也可以 通过软件实现,还可以通过硬件和软件组合实现,该硬件或软件包括一个或多个与上述功 能相对应的模块。此外,该接口电路用于与该芯片之外的其它模块进行通信,例如,该接 口电路可将芯片上处理器得到的语义地图发送给各种智能行驶(如,可移动机器人)的智 能体进行应用。
附图说明
图1为一种局部点云配准的示意图;
图2为本申请实施例提供的语义地图的构建方法的一个流程示意图;
图3为本申请实施例提供的目标设备的监测范围的一个示意图;
图4为本申请实施例提供的对RGB图像进行实例分割的一个示意图;
图5为本申请实施例提供的深度图滤波前后的对比示意图;
图6为本申请实施例提供的目标设备在持续运动的过程中的位姿变换的一个示意图;
图7为本申请实施例提供的对目标设备进行位姿估计的一个示意图;
图8为本申请实施例提供的目标设备实时获取每个当前时刻目标设备当前所处位置的 第一监测范围内的第一物体对应的第一点云数据的一个示意图;
图9为本申请实施例提供的基于第一点云数据计算第一物体的朝向信息的一个示意图;
图10为本申请实施例提供的第一物体的朝向信息的一个示意图;
图11为本申请实施例提供的融合点云数据的一个示意图;
图12为本申请实施例提供的物体对描述子的一个示意图;
图13为本申请实施例提供的物体对描述子的另一示意图;
图14为本申请实施例提供的根据局部语义地图与目标全局语义地图进行匹配过程的 一个示意图;
图15为本申请实施例提供的基于局部语义地图优化目标全局语义地图中各个物体位 姿的一个示意图;
图16为本申请实施例提供的语义地图构建方法的一个整体流程的示意图;
图17为本申请实施例提供的地图构建装置的一个结构示意图;
图18为本申请实施例提供的地图构建装置的另一结构示意图。
具体实施方式
本申请实施例提供了一种语义地图的构建方法及设备,用于实时获取目标设备监测范 围内物体的点云数据,并基于该物体的点云数据与之前获取到的物体的点云数据之间的相 似度来判断该物体是否是目标设备监测到的新物体,再基于相似度的具体取值实时更新语 义地图,从而实现了目标设备对语义地图的自主动态更新,此外,通过本申请实施例构建 的语义地图不仅包括物体的位置信息(基于点云数据得到),还包括物体的朝向信息,从 而为目标设备物体的准确定位的同时还提供了交互的视角朝向。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类 似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况 下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方 式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没 有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的相关术语和 概念进行介绍。应理解的是,相关的概念解释可能会因为本申请实施例的具体情况有所限 制,但并不代表本申请仅能局限于该具体情况,在不同实施例的具体情况可能也会存在差 异,具体此处不做限定。
(1)点云数据
点云数据可简称为点云(point cloud),是指在同一空间参考系下表达目标空间分布和 目标表面特性的点的集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合, 称之为点云。
在本申请实施例中,点云数据用于表征该点云数据中每个点在基准坐标系下的三维坐 标值;此外,在本申请的一些实施方式中,点云数据还可以融合RGB图像的像素点,因此,在本申请的一些实施方式中,点云数据还可以用于表征该点云数据中每个点的像素值和每个点在基准坐标系下的三维坐标值。
(2)点云配准
点云配准也可称为3D点云配准,是计算机视觉的关键研究问题之一,在多领域工程 应用中具有重要应用,如逆向工程、同步定位与建图(simultaneous localization andmapping, SLAM)、图像处理和模式识别等。点云配准的目的是求解出同一坐标下不同姿态点云的变 换矩阵,利用该矩阵实现多视扫描点云的精确配准,最终获取完整的3D数字模型、场景。 点云配准有全局点云配准和局部点云配准,如图1所示,图1示意就是一种局部点云配准 的示意图,即将物体的局部点云数据与物体的全局点云数据进行配准。
(3)迭代最近点(iterative closest point,ICP)算法
ICP算法一般应用于两个点云数据的配准,ICP算法的基本原理是:分别在带匹配的 目标点云P和源点云Q中,按照一定的约束条件,找到最邻近点(pi,qi),然后计算出最优匹配参数R和t,使得误差函数最小。pi为目标点云P中的一点,qi为源点云Q中与 pi对应的最近点,R为旋转矩阵,t为平移向量。
例如,假设给两个三维的点云数据X1和X2,那么基于ICP算法的点云配准过程是:第一步,计算X2中的每一个点在X1中的对应近点,得到对应点对。第二步,求得使上 述对应点对平均距离最小的刚体变换矩阵,求得平移向量和旋转角矩阵。第三步,对X2 使用上一步求得的平移向量和旋转矩阵,得到新的变换点集。第四步,如果新的变换点集 与参考点集满足两点集的平均距离小于某一给定阈值,则停止迭代计算,否则新的变换点 集作为新的X2继续迭代,直到达到目标函数的要求。
(4)最近邻聚类算法
聚类算法属于无监督学习,没有给出分类类别,通过相似度得到种类。而近邻聚类算 法则是一种基于距离阈值的聚类算法。
例如,假设有N个待分类的点云数据{X1,X2,…,Xn},要求按距离阈值T分类到以{Z1,Z2,…}为聚类中心的类别中。近邻聚类算法的过程是:第一步,任取样本Xi作为第一个聚类中心的初始值,如令Z1=X1。第二步,计算样本X2到Z1的欧式距离D21=||X2-Z1||,若D21>T,则定义一个新的聚类中心Z2=X2;否则X2属于以Z1为中心的聚类。第三步, 假设已有聚类中心{Z1,Z2},计算D31=||X3-Z1||和D32=||X3-Z2||,若D31>T且D32>T, 则建立第三个聚类中心Z3=X3;否则X3属于离Z1和Z2中最近的聚类(即最近邻的聚 类中心),需要注意是的,这种选择离自身距离最近的聚类中心作为自身所属聚类的方式 就称为最近邻聚类算法。第四步,以此类推,直到将所有的N个样本都进行了分类。
(5)实例分割(instance segmentation)
实例分割既具备语义分割的特点,需要做到像素层面上的分类,又具备目标检测的一 部分特点,需要定位出不同的实例(即使是属于同一分类类别的实例)。实例分割一般有 两种分割的方法,一种是自下而上的基于语义分割的方法,另一种是自上而下的基于检测 的方法。
自上而下的实例分割方法的思路是:首先通过目标检测的方法找出实例所在的区域 (bounding box),再在检测框内进行语义分割,每个分割结果都作为一个不同的实例输出。 每个分割结果包括了对应的分类类别、属于该分类类别的置信度(不大于1)和2D分割掩 模(mask)。而自下而上的实例分割方法的思路是:首先进行像素级别的语义分割,再通过聚类、度量学习等手段区分不同的实例。这种方法能保持更好的低层特征(细节信息和位置信息),但对密集分割的质量要求很高,会导致非最优的分割,并且泛化能力较差, 无法应对类别多的复杂场景。
(6)高斯核函数(gaussian kernel)
高斯核函数也称径向基(radial basis function,RBF)函数,是某种沿径向对称的标量 函数。通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数,可记作k=(||x-x′||),其作用往往是局部的,即当x远离x′时函数取值很小。其中x′为高斯核函数中心,σ为高斯核函数的宽度参数,控制了高斯核函数的径向作用范围。它可以将有限 维数据映射到高维空间,高斯核函数的表达式如公式(1)所示:
Figure BDA0002861469850000081
(7)摄像机坐标系
摄像机坐标系是一种处于3D坐标系当中,并于观察者密切相关的一种坐标系。在本 申请实施例中,摄像机坐标系下的观察者为部署于目标设备上的目标传感器(如,深度相 机、深度传感器与摄像头等),目标设备则作为摄像机坐标系的原点,x轴向右,z轴向前(朝向屏幕内或目标设备前进的方向),y轴向上(不是世界的上方而是目标设备本身的上方)。
(8)世界坐标系
在计算机视觉领域中,由于摄像机可安放在环境中的任意位置,在环境中选择一个基 准坐标系来描述摄像机的位置,并用它描述环境中任何物体的位置,该坐标系就称为世界 坐标系。摄像机坐标系与世界坐标系之间的关系可以用旋转矩阵与平移向量来描述。
在本申请实施例中,由于部署有摄像模块的目标设备可存在于环境中的任意位置,并 且可以在环境中随意运动,因此,也可选择一个基准坐标系来描述目标设备的位置,并用 它描述环境中任何物体的位置,该坐标系也可称为世界坐标系。这种情况下,可将目标设 备作为摄像机坐标系的原点。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的 发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例首先提供了一种语义地图的构建方法,请参阅图2,图2为本申请实施 例提供的语义地图的构建方法的一个流程示意图,具体可以包括如下步骤:
201、获取目标设备在当前时刻第一监测范围内的第一物体对应的第一点云数据。
首先,目标设备会获取该目标设备在当前时刻、当前位置监测范围内的每个物体各自 对应的点云数据。在当前时刻、当前位置,目标设备的监测范围可称为第一监测范围,在 该监测范围内存在的任意一个物体,可称为第一物体,第一物体对应的点云数据则称为第 一点云数据。第一监测范围是指部署于该目标设备上的目标传感器在当前时刻、当前位置 能感知到的周围环境的感知区域。为便于理解,以图3为例进行示意:假设目标设备为可移动机器人,且当前时刻为T1,部署于该机器人头部的摄像头在当前时刻T1的监测范围 如图3中锥体所示,在该监测范围内,一共存在2个物体,分别为桌子和椅子,那么该机 器人会进一步获取到这2个物体各自对应的点云数据。
需要说明的是,在本申请的一些实施方式中,在当前时刻,目标设备获取该目标设备 在当前位置监测范围内的每个物体各自对应的点云数据都是基于部署于该目标设备上的 相关传感器采集到的原始数据得到的。具体地,基于采集到的原始数据,目标设备对原始 数据进行处理,从而得到监测范围内每个物体各自对应的点云数据,目标设备采集原始数 据并基于原始数据得到当前时刻、当前位置目标设备监测范围内的每个物体各自对应的点 云数据可以通过但不限于如下方式:
A、基于获取的RGB图像和深度图像得到第一监测范围内每个物体各自对应的点云数 据。
在本申请实施例中,目标设备可以通过部署于该目标设备上的目标传感器采集目标设 备在当前时刻第一监测范围的RGB图像和深度图像,第一监测范围的RGB图像和深度图 像就是指目标传感器在当前时刻、当前位置能感知到的周围环境形成的RGB图像和深度图像。例如,可以是通过部署于该目标设备上的深度相机采集得到RGB图像和对应的深 度图像,也可以是通过部署于该目标设备上的深度传感器采集深度图像,并通过部署于该 目标设备上的摄像模块(如,摄像头)采集到对应的RGB图像,具体本申请对目标设备 如何采集到当前时刻第一监测范围的RGB图像和深度图像的方式不做限定。
目标传感器采集到目标设备在当前时刻第一监测范围的RGB图像和深度图像之后, 先对该RGB图像进行实例分割,如,可采用SOLOv2、BlendMask等算法对该RGB图像 进行实例分割,输出实例分割结果,实例分割结果包括该RGB图像上每个物体所属的分 类类别(即标签,如椅子、人等具体的语义类别)、属于该分类类别的置信度(不大于1) 以及分割的掩膜(mask),可将实例分割结果定义为Mi。为便于理解,下面举例进行示意: 假设目标设备在当前时刻、当前位置采集到一帧RGB图像,对该RGB图像进行实例分割 得到如图4所示的实例分割结果,该实例分割结果包括3个掩膜mask,分别为M1、M2、 M3,且M1、M2、M3各自所属的分类类别分别为椅子、行李箱、椅子,置信度分别为0.89、 0.93、0.98。其中,每个物体对应的mask在该RGB图像上占据的区域定义像素为1,其余 区域则定义像素为0。之后,将实现了实例分割且重新定义了像素值的RGB图像(可称为 处理后的RGB图像)与深度图像进行叠加,该处理后的RGB图像中的每个物体就具有了 深度信息,具体地,由于处理后的RGB图像每个物体对应的mask在该RGB图像上占据 的区域定义像素为1,其余区域定义像素为0,那么将该处理后的RGB图像与深度图像相 乘,由于像素值为0的区域相乘后依然是0,因此相乘后的结果只保留了RGB图像中每个 物体对应的区域以及每个物体对应的深度信息。之后,再通过相机内参恢复出每个物体的 点云数据,如图4中的RGB图像具有3个物体,那么就可对应恢复出这3个物体各自对 应的点云数据。
需要说明的是,在本申请的一些实施方式中,还可以对实例分割结果以及深度图像分 别先进行滤波操作,如,通过形态学滤波降低实例分割结果的外点、通过深度平滑消除深 度图像的空洞部分等,总之,滤波的目的是为了去除噪声,如图5所示,图5中的左图部分示意的是图4中M3对应的物体在滤波操作前的深度图像部分,图5中的右图部分示意 的是图4中M3对应的物体在滤波操作后的深度图像部分,由此可以看出,滤波操作后降 低了噪声,提高后续对每个物体的点云数据进行处理的精度。
B、基于获取的RGB图像和原始激光点云数据得到第一监测范围内每个物体各自对应 的点云数据。
在本申请实施例中,目标设备可以通过部署于该目标设备上的目标传感器采集目标设 备在当前时刻第一监测范围的RGB图像和原始激光点云数据,例如,目标设备上可部署 有激光雷达、普通的摄像头等目标传感器,通过摄像头采集RGB图像,同时通过该激光雷达采集原始激光点云数据,在这种情况下,则不需要获取深度图像,只需按照上述类似过程将RGB图像进行实例分割,然后将实例分割结果对应到同时获取的原始激光点云数 据上,从而得到目标设备在当前时刻、当前位置第一监测范围内的每个物体的点云数据。
需要注意的是,经过上述对采集的原始数据的处理过程后,目标设备在当前时刻、当 前位置获得的第一监测范围内的每个物体对应的点云数据中每个点的三维坐标值是相对 于目标设备当前所处位置而言,也就是说,目标设备是摄像机坐标系的原点,目标设备在 当前时刻、当前位置获得的第一监测范围内的每个物体对应的点云数据中每个点的三维坐 标值是在该摄像机坐标系下的三维坐标值。由于目标设备可安放在环境中的任意位置,并 且可以在环境中随意运动,因此,可选择一个基准坐标系来描述目标设备当前所处的位置, 例如,该基准坐标系可以是世界坐标系,也可以是其他类型的坐标系,具体此处对基准坐 标系的具体表现形式不做限定。在本申请实施例中,可以选择目标设备在该环境中的初始 位置作为基准坐标系,在目标设备的移动过程中,需要对目标设备的位姿进行估计,用于 估计目标设备连续移动时相对起点的位姿变换,该位姿变换可以用旋转矩阵与平移向量来 描述,例如,可通过如ORB-SLAM2等的视觉里程计(visual odometry,VO),或通过如 Vins-mono等的视觉惯性里程计(visual inertial odometry,VIO)得到目标设备相对起点的 位姿变换,位姿变换可用六自由度位姿(R,t)表示,其中,R表示旋转矩阵,t表示平移 向量。之后,再基于该位姿变换(R,t)和每个点在摄像机坐标系下的三维坐标值转换得到每个点在基准坐标系下的三维坐标值。
为便于理解,下面举例进行示意:请参阅图6,图6为本申请实施例提供的目标设备在持续运动的过程中,处于不同位置时,位姿变换(R,t)是不同,例如,在时刻T1时的 位姿变换为(R1,t1),在时刻T2时的位姿变换为(R2,t2),……,依次类推,可得到整 个运动轨迹上不同时刻对应的不同位姿变换,运动轨迹如图6中虚线所示,三角形为基准 坐标系的原点,目标设备所在位置为当前时刻目标设备在基准坐标系下的当前位姿。之后, 对应时刻(假设当前时刻为T2)下点云数据中每个点在摄像机坐标系下的三维坐标值加上 在该当前时刻T2下目标设备的位姿变换(R2,t2)就是该点云数据中每个点在基准坐标系 下的三维坐标值。
需要注意的是,在本申请的一些实施方式中,有多种方式可对目标设备进行位姿估计, 例如,对目标设备进行位姿估计的方式可以如图7所示,图7为本申请实施例提供的对目 标设备进行位姿估计的一个示意图,目标设备对观测的RGB图像提取特征,通过特征描 述子进行前后帧匹配,最后计算4X4的位姿变换矩阵,其中灰色点为建立的特征点地图,白色点为当前RGB提取的特征点,用于计算当前目标设备的位姿,白色线条表示目标设 备的运动轨迹,白色线条的起始点(即图7中的白色三角形所示意)作为基准坐标系的原 点,白色线条另一端则为目标设备当前时刻所处位置。
此外,除了将目标设备在当前时刻、当前位置获得的第一监测范围内的每个物体对应 的点云数据中每个点的三维坐标值转换为基准坐标系下的三维坐标值之外,还将进一步将 RGB图像的对应区域的像素值融合进对应的点云数据中的每个点,也就是说,目标设备在 当前时刻、当前位置获得的第一监测范围内的每个物体对应的点云数据还可以用于表征对 应点云数据中每个点的像素值和每个点在基准坐标系下的三维坐标值。
202、计算第一点云数据与第二点云数据之间的相似度,第二点云数据为目标设备第 二监测范围内第二物体的点云数据,第二监测范围包括目标设备在第一时刻至第二时刻的 时间区间内的监测范围。
在本申请实施例中,目标设备是通过部署于该目标设备上的目标传感器实时采集原始 数据(如,实时采集RGB图像和深度图像),并实时获取每个当前时刻目标设备当前所处 位置的第一监测范围内的第一物体对应的第一点云数据。
为便于理解,下面举例进行示意:请参阅图8,假设目标设备为可移动机器人,目标设备从初始位置(即原点)开始的运动轨迹为如图8虚线所示,假设该目标设备当前时刻Tm+1所处位置如图8所示。那么在该目标设备从原点出发运动的过程中,在每个时刻都会 获得在对应当前时刻的第一监测范围内各个物体的点云数据,即目标设备在T1、T2、T3、 T4、T5、……、Tm、Tm+1时刻会各自获得在对应时刻目标设备所处位置的第一监测范围内 的各个物体的点云数据。具体地,在T1时刻,目标设备在基准坐标系下的位姿为(R1,t1), 目标设备在该T1时刻和该位姿(R1,t1)监测范围内观测到的各个物体对应的点云数据就 称为T1帧点云数据;在T2时刻,目标设备在基准坐标系下的位姿为(R2,t2),目标设备 在该T2时刻和该位姿(R2,t2)监测范围内观测到的各个物体对应的点云数据就称为T2帧点云数据,依次类推,可得到目标设备在当前时刻Tm+1和当前位姿(Rm+1,tm+1)监测 范围内观测到的各个物体对应的点云数据(可称为Tm+1帧点云数据),即上述所述的目标 设备获取目标设备在当前时刻第一监测范围内的第一物体对应的第一点云数据,第一物体 为第一监测范围内存在的任意一个物体。目标设备在运动过程中,在每个时刻实时获取该 对应时刻监测范围内的每个物体对应的点云数据都可基于步骤201类似的执行过程得到, 此处不予赘述。
目标设备获取到目标设备在当前时刻Tm+1和当前位姿(Rm+1,tm+1)监测范围内观测到的各个物体对应的点云数据(即Tm+1帧点云数据),会将该Tm+1帧点云数据与之前所有 时刻得到点云数据中的至少一帧点云数据进行相似度计算,并根据计算结果以及前m帧点 云数据构建截止当前时刻为止最新的语义地图。具体地,目标设备计算第一点云数据与第 二点云数据之间的相似度,第二点云数据为目标设备第二监测范围内第二物体的点云数据,第二监测范围是指目标设备在第一时刻至第二时刻的时间区间内各个时刻监测范围的观测区域,即特定时间区间内目标设备的观测区域,第二物体为第二监测范围内存在的任意一个物体,语义地图就是基于第二监测范围内的每个物体对应的点云数据构建得到。
这里需要注意的是,若目标设备选取之前得到的点云数据是多帧,那么多帧点云数据 的选取原则是连续的多帧点云数据。
这里需要说明的是,由于每一帧点云数据都是在不同时刻获取到的,因此,目标设备 将该Tm+1帧点云数据(即上述所述的第一点云数据)与之前得到的至少一帧点云数据(可称为第二点云数据)进行相似度计算的过程中,第二点云数据的选取数量不同,意味着第一时刻和第二时刻的选取不同,例如,第二点云数据的选取数量为10和第二点云数据的 选取数量为20各自对应的选取时间区间也就不同,即第一时刻至第二时刻之间的时间区 间也不同,基于第一时刻与第二时刻之间的时间区间不同,可分为两种构建语义地图的方式,下面分别进行阐述:
A、先构建局部语义地图,再将构建的局部语义地图更新到全局语义地图。
依然以上述图8为例,截止当前时刻,目标设备获取到的点云数据一共有m+1帧,那么目标设备是先基于预设帧数的点云数据构建多个局部语义地图,再基于多个局部语义地图更新全局语义地图。
以m=29、预设帧数为10为例进行示意:目标设备在时刻T1且位姿(R1,t1)处获得第1帧点云数据后,假设第1帧点云数据具有3个物体的点云数据,那么这3个物体的点 云数据构成第一个局部语义地图的初始状态(初始状态的第一个局部语义地图可称为J10地图),随着目标设备的运动,目标设备在时刻T2且位姿(R2,t2)处获得第2帧点云数据, 假设第2帧点云数据具有2个物体的点云数据,那么目标设备会将这2个物体的点云数据 依次与第1帧点云数据中的3个物体的点云数据进行相似度计算,得到计算结果,并根据 该计算结果更新该J10地图,经过第一次更新的局部语义地图可称为J11地图,假设第一次 更新后的J11地图具有4个物体的点云数据(其中第1帧点云数据和第2帧点云数据中有1 个物体出现过2次);接着,目标设备会继续在时刻T3且位姿(R3,t3)处获得第3帧点 云数据,假设第3帧点云数据具有1个物体的点云数据,那么目标设备会将这1个物体的 点云数据依次与前2帧点云数据中的4个物体的点云数据进行相似度计算,得到计算结果, 并根据该计算结果更新该J11地图,经过第二次更新的局部语义地图可称为J12地图,假设 第二次更新后的J12地图具有5个物体的点云数据(说明第3帧点云数据中的这个物体在之 前没有出现过);依次类推,当目标设备在时刻T10且位姿(R10,t10)处获得第10帧点云 数据,假设第10帧点云数据具有4个物体的点云数据,那么目标设备会将这4个物体的 点云数据依次与前9帧点云数据中每个物体的点云数据进行相似度计算,得到计算结果, 并根据该计算结果更新得到J19地图,由于构建局部地图的预设帧数为10,也就是说,经 过第九次更新得到的J19地图是第一次局部地图的最后一次更新,那么J19地图就作为第一 次局部地图J1,且该第一次局部地图J1也是全局地图的初始状态,可称为Q0地图。
类似地,目标设备在时刻T11且位姿(R11,t11)处获得第11帧点云数据后,假设第 11帧点云数据具有3个物体的点云数据,那么目标设备将这3个物体的点云数据构成第二 个局部语义地图的初始状态(初始状态的第二个局部语义地图可称为J20地图),随着目标 设备的运动,目标设备在时刻T12且位姿(R12,t12)处获得第12帧点云数据,假设第12 帧点云数据具有4个物体的点云数据,那么目标设备会将这4个物体的点云数据依次与第 11帧点云数据中的3个物体的点云数据进行相似度计算,得到计算结果,并根据该计算结 果更新该J20地图,经过第一次更新的J20地图可称为J21地图,假设第一次更新后的J21地 图具有5个物体的点云数据(其中第11帧点云数据和第12帧点云数据中有2个物体各出 现过2次);接着,目标设备会继续在时刻T13且位姿(R13,t13)处获得第13帧点云数据, 假设第13帧点云数据具有1个物体的点云数据,那么目标设备会将这1个物体的点云数 据依次与前2帧(即第11帧和第12帧)点云数据中的5个物体的点云数据进行相似度计 算,得到计算结果,并根据该计算结果更新该J21地图,经过第二次更新的J21地图可称为 J22地图;依次类推,当目标设备在时刻T20且位姿(R20,t20)处获得第20帧点云数据, 假设第20帧点云数据具有2个物体的点云数据,那么目标设备会将这2个物体的点云数 据依次与前9帧(即第11帧至第19帧)点云数据中每个物体的点云数据进行相似度计算, 得到计算结果,并根据该计算结果更新得到J29地图,同样地,经过第九次更新得到的J29地图是第二次局部地图的最后一次更新,那么J29地图就作为第二次局部地图J2
这时,目标设备得到了第一次局部地图J1和第二次局部地图J2,会再将第一次局部地 图J1中每个物体的点云数据与第二次局部地图J2中每个物体的点云数据两两计算相似度, 并根据计算结果,对初始状态的全局地图(即Q0地图)进行更新,得到第一次更新后的全 局地图,可称为Q1地图。
类似地,目标设备会继续基于第20帧至第30帧地图得到第三次局部地图J3,并将第 三次局部地图J3中每个物体的点云数据与第一次更新后的全局地图(即Q1地图)中每个物体的点云数据两两计算相似度,并根据计算结果对Q1地图进行更新,得到第二次更新后的全局地图,可称为Q2地图。
依次类推,目标设备在当前时刻处于什么位姿,得到的是第几帧点云数据,就可根据 上述所述步骤对应执行,例如,假设当前时刻是T7时刻,那么对应的第一时刻为T1,第 二时刻则为T6,目标设备计算的是T7时刻获得各个物体点云数据与[T1,T6]这段时间区间内目标设备所有监测范围内观测到的每个物体的点云数据两两之间的相似度,并根据计算结果更新该局部语义地图,该更新的局部语义地图就是当前时刻最新的语义地图;假设当前时刻是T30时刻(即Tm+1时刻),那么对应的第一时刻为T21,第二时刻则为T29,目标设 备计算的是T30时刻获得各个物体点云数据与[T21,T29]这段时间区间内目标设备所有监测范 围内观测到的每个物体的点云数据两两之间的相似度,并根据计算结果更新该局部语义地 图,并基于该局部语义地图更新全局语义地图,更新后的全局语义地图就是当前时刻最新 的语义地图,具体此处不予赘述。
需要说明的是,在本申请的一些实施方式中,在构建每次局部语义地图的过程中,若 当前时刻(如,T7时刻)获得的各个物体的点云数据不是当前轮次的局部语义地图的最后 一帧点云数据,那么就继续将第二时刻更新为该当前时刻(如,T6时刻更新为T7时刻),且在T7时刻获取的各个物体的点云数据都属于新物体的点云数据的情况下,将T7时刻获 取的各个物体的点云数据(即第一点云数据)作为新增的第二点云数据,重复执行上述步 骤直至达到预设条件(如达到预设帧数),得到目标局部语义地图,并基于每次得到的局 部语义地图,更新全局语义地图,直至得到目标全局语义地图,目标全局语义地图就为最 后一次更新得到的全局语义地图。
B、直接更新全局语义地图。
依然以上述图8为例,截止当前时刻,目标设备获取到的点云数据一共有m+1帧,那么目标设备在运动过程中,每获得一帧点云数据,就基于该帧点云数据更新整个语义地图。
依然以m=29为例进行示意:目标设备在时刻T1且位姿(R1,t1)处获得第1帧点云数据后,假设第1帧点云数据具有3个物体的点云数据,那么这3个物体的点云数据构成 全局语义地图的初始状态(初始状态的全局语义地图可称为Q0地图),随着目标设备的运 动,目标设备在时刻T2且位姿(R2,t2)处获得第2帧点云数据,假设第2帧点云数据具 有2个物体的点云数据,那么目标设备会将这2个物体的点云数据依次与第1帧点云数据 中的3个物体的点云数据进行相似度计算,得到计算结果,并根据该计算结果更新该Q0地图,经过第一次更新的Q0地图可称为Q1地图,假设第一次更新后的Q1地图具有4个物 体的点云数据(其中第1帧点云数据和第2帧点云数据中有1个物体出现过2次);接着, 目标设备会继续在时刻T3且位姿(R3,t3)处获得第3帧点云数据,假设第3帧点云数据 具有1个物体的点云数据,那么目标设备会将这1个物体的点云数据依次与前2帧点云数 据中的4个物体的点云数据进行相似度计算,得到计算结果,并根据该计算结果更新该Q1地图,经过第二次更新的全局语义地图可称为Q2地图,假设第二次更新后的全局语义地图 具有5个物体的点云数据(说明第3帧点云数据中的这个物体在之前没有出现过);依次 类推,当目标设备在时刻Tm+1且位姿(Rm+1,t m+1)处获得第m+1帧点云数据,假设第 m+1帧点云数据具有4个物体的点云数据,那么目标设备会将这4个物体的点云数据依次 与前m帧点云数据中每个物体的点云数据进行相似度计算,得到计算结果,并根据该计算 结果更新得到Qm地图,Qm地图即为当前时刻最新的语义地图。
依次类推,目标设备在当前时刻处于什么位姿,得到的是第几帧点云数据,就可根据 上述步骤对应执行,具体此处不予赘述。
需要说明的是,在本申请的一些实施方式中,在构建全局语义地图的过程中,目标设 备将第二时刻更新为当前时刻,例如,假设当前时刻为T7时刻,那么就是将T6时刻更新为T7时刻,且在T7时刻获取的各个物体的点云数据都属于新物体的点云数据的情况下, 将T7时刻获取的各个物体的点云数据(即第一点云数据)作为新增的第二点云数据,重复 执行上述步骤直至达到预设条件,从而得到目标全局语义地图,目标全局语义地图就为最 后一次更新得到的全局语义地图。
还需要说明的是,在本申请的一些实施方式中,该预设条件可以是第一时刻至第二时 刻的时间区间达到预设时长,也就是说构建全局语义地图的时长达到了预设时长,就认为 该全局语义地图构建完备了,此时最后一次更新得到的全局语义地图就为最终的目标全局 语义地图;该预设条件还可以是目标设备遍历了所处环境中的每个位置,当目标设备在环 境中的每个位置都遍历过一次,也可以认为该全局语义地图构建完备,此时最后一次更新 得到的全局语义地图就为最终的目标全局语义地图。具体此处对预设条件的具体表现形式 不做限定。
需要说明的是,在本申请的一些实施方式中,不管是基于上述哪种方式构建全局语义 地图,都需要计算当前时刻获得的每个物体的点云数据与之前第一时刻至第二时刻之间的 时间区间内获得的每个物体的点云数据两两之间的相似度,计算相似度的目的是用于判断 当前时刻各个物体是否在之前的观测过程中出现过。由于第一点云数据是当前时刻获得的 每个物体的点云数据中的任意一个,第二点云数据是第一时刻至第二时刻之间的时间区间 内获得的每个物体的点云数据中的任意一个,因此,本申请实施例计算的则是第一点云数 据与第二点云数据之间的相似度,具体地,一种计算两个点云数据之间相似度的方式可以 是:首先,目标设备根据最近邻聚类算法,计算得到第一点云数据与第二点云数据之间的 距离,该距离可称为第二距离,记为dij,i表示当前时刻目标设备获得的当前帧点云数据 中物体i的点云数据,j表示之前第一时刻至第二时刻之间的时间区间内所有帧点云数据中 物体j的点云数据;之后,由于每个点云数据不仅用于表征对应点云数据中每个点在基准 坐标系下的三维坐标值,还用于表征对应的RGB图像对应每个点的像素值,因此目标设 备还进一步计算第一点云数据与第二点云数据之间的像素值之差,记为mij,最后根据该第 二距离和该像素值之差计算得到第一点云数据与第二点云数据之间的相似度。目标设备根 据该第二距离和该像素值之差计算得到第一点云数据与第二点云数据之间的相似度的过 程具体可以通过计算该第二距离和该像素值之差的二范数得到。具体地,首先,对第二距 离和像素值之差进行加权求和,得到目标值,记为Bij,其中,第二距离与像素值之差各自 所占的权重比例可以根据实际应用自行设置,也可以基于历史数据计算得到,本申请不做 限定,最后,将目标值Bij通过高斯核映射,从而得到第一点云数据与第二点云数据之间的 相似度Sij,因此,目标设备在当前时刻获得的每个物体的点云数据与之前第一时刻至第二 时刻之间的时间区间内获得的每个物体的点云数据两两之间的相似度就可用相似性矩阵 S=[Sij]表示。
需要说明的是,在本申请的一些实施方式中,还可以先判断第一物体的标签信息和第 二物体的标签信息是否相同,在第一物体的标签信息和第二物体的标签信息都相同的情况 下(例如,都为椅子),目标设备再根据最近邻聚类算法,计算得到第一点云数据与第二 点云数据之间的距离,该距离可称为第二距离,记为dij-k,i表示当前时刻目标设备获得的 当前帧点云数据中物体i对应的点云数据,j表示之前第一时刻至第二时刻之间的时间区间 内所有帧点云数据中与物体i的标签信息一致的物体j的点云数据,k表示物体i和物体j 对应的标签信息,即所属的分类类别,比如,椅子、桌子、行李箱等;之后,目标设备进一步计算第一点云数据与第二点云数据之间的像素值之差,记为mij-k,最后根据该第二距离和该像素值之差计算得到第一点云数据与第二点云数据之间的相似度。目标设备根据该第二距离和该像素值之差计算得到第一点云数据与第二点云数据之间的相似度的过程具体可以是:首先,对第二距离和像素值之差进行加权求和,得到目标值,记为Bij-k,其中, 第二距离与像素值之差各自所占的权重比例可以根据实际应用自行设置,也可以基于历史数据计算得到,本申请不做限定,最后,将目标值Bij-k通过高斯核映射,从而得到第一点 云数据与第二点云数据之间的相似度Sij-k,类似地,针对当前时刻目标设备获得的当前帧 点云数据中物体涉及的各个不同的标签信息均进行如上操作,从而得到每个第一点云数据和每个第二点云数据之间的相似度。
203、基于目标点云数据得到与目标点云数据对应的物体的朝向信息,并基于该目标 点云数据得到物体的标签信息,该目标点云数据由得到的相似度确定。
目标设备计算得到第一点云数据与第二点云数据之间的相似度后,会进一步基于相似 度确定目标点云数据,例如,可以是当相似度在第一阈值区间,目标点云数据为第一点云 数据;也可以是当相似度在第二阈值区间,且在第一点云数据的外包络盒大于第二点云数 据的外包络盒的情况下,目标点云数据为第一点云数据;还可以是当相似度在第二阈值区 间,且在将第一点云数据与第二点云数据进行点云配准的情况下,则目标点云数据为融合 点云数据,具体本申请对目标点云数据的确定方式不做限定。
具体地,目标设备会确定该相似度位于哪个阈值区间,基于阈值区间判断第一点云数 据对应的第一物体是否是当前时刻目标设备新观测到的物体,还是已观测到过的物体,且 会进一步根据相似度的具体取值确定目标点云数据,同时基于目标点云数据得到与该目标 点云数据对应的物体的朝向信息和物体的标签信息。最后根据该目标点云数据对应的物体 的朝向信息和物体的标签信息更新语义地图。下面分别进行阐述:1)在第一点云数据与 第二点云数据之间的相似度位于第一阈值区间,则说明第一点云数据对应的第一物体为当 前时刻、当前位置目标设备在监测范围内新观测到的物体,此时目标点云数据就为第一点 云数据,并根据第一点云数据更新语义地图;2)在第一点云数据与第二点云数据之间的 相似度位于第二阈值区间,则说明第一点云数据对应的第一物体在第一时刻至第二时刻之 间的时间区间内被目标设备观测到。
需要说明的是,在本申请的一些实施方式中,相似度可以是经过了归一化处理后的相 似度,即处理后的相似度取值范围为[0,1]。
为便于理解,下面举例进行示意:假设第一阈值区间为[0,0.4](阈值区间包括端点), 第二阈值区间为[0.7,1.0](阈值区间包括端点),如果第一点云数据与第二点云数据之间的 相似度的取值在[0,0.4]内,则说明第一点云数据对应的第一物体为当前时刻、当前位置目 标设备在监测范围内新观测到的物体,此时目标点云数据就为第一点云数据,可根据第一 点云数据更新语义地图;如果第一点云数据与第二点云数据之间的相似度的取值在[0.7,1.0] 内,则说明第一点云数据对应的第一物体在第一时刻至第二时刻之间的时间区间内被目标 设备观测到。这里需要注意的是,在本申请实施例中,如果第一点云数据与第二点云数据 之间的相似度的取值既不在[0,0.4]内,也不在[0.7,1.0]内,而是在第三阈值区间[0.4,0.7]内 (阈值区间不包括端点),则说明目标设备不确定第一点云数据对应的第一物体在第一时 刻至第二时刻之间的时间区间内是否观测到过,在这种情况下,直接将该第一点云数据舍 弃不用。
需要说明的是,若目标设备计算第一点云数据与第二点云数据之间的相似度先进行了 第一物体的标签信息与第二物体的标签信息是否相同的判断,那么可能会存在第一物体的 标签信息是新标签信息(即之前没有出现过的分类类别),在这种情况下,则直接将该第 一点云数据对应的物体视为观测到的新物体,基于该第一点云数据更新语义地图。
还需要说明的是,第一点云数据位于不同的阈值区间说明了该第一点云数据对应的物 体是否是新物体,若是新物体,则根据该第一点云数据更新语义地图;若是目标设备在第 一时刻至第二时刻之间的时间区间内观测到过的物体,则处理方式也有多种,下面分别进 行阐述:
A、在相似度位于第一阈值区间的情况下,目标设备根据该第一点云数据更新语义地 图。
在第一点云数据与第二点云数据之间的相似度位于第一阈值区间,则说明第一点云数 据对应的第一物体为当前时刻、当前位置目标设备在监测范围内新观测到的物体,目标点 云数据就为第一点云数据,此时目标设备根据第一点云数据更新语义地图的方式可以是: 目标设备根据第一点云数据得到第一物体的朝向信息(第一物体的朝向信息用于表征第一 物体的朝向,例如,假设第一物体为椅子,那么椅子靠背的正前方就为该椅子的朝向,又 例如,假设第一物体为电脑显示器,那么电脑显示器显示界面的正前方为该电脑显示器的 朝向,等等,具体此处不再举例示意),并基于该第一点云数据得到第一物体的标签信息, 这是由于第一点云数据与第一物体对应,而第一点云数据又是根据采集的当前时刻的RGB 图像进行实例分割得到的,因此,基于第一点云数据可得到第一物体的标签信息,即第一 物体所属的分类类别。之后,目标设备在根据第一时刻至第二时刻之间的时间区间内获得 的各个物体各自对应的点云数据构建得到的语义地图中添加进第一物体的第一点云数据、 第一点云数据的标签信息和第一物体的朝向信息。
需要说明的是,在本申请实施例中,将第一物体的朝向信息添加入语义地图的目的是 为目标设备提供交互的视角朝向,将第一物体的标签信息添加入语义地图的目的则是为了 目标设备不仅知道哪个方位存在物体,还能进一步识别出该物体属于什么类别。
下面对目标设备如何基于第一点云数据得到第一物体的朝向信息进行说明:请参阅图 9,图9为本申请实施例提供的基于第一点云数据计算第一物体的朝向信息的一个示意图, 首先,目标设备从第一点云数据中随机采样得到两个点,分别记为第一点p1和第二点p2, 接着对第一点p1和第二点p2进行连线,并得到该连线的垂直平分面M,根据两个点在空 间中的坐标,垂直平分面M计算方式如下:已知平面上的一点M0(x0,y0,z0)和它的一个法线向量
Figure BDA0002861469850000171
对于该垂直平分面M上的任意一点M′(x,y,z),有
Figure BDA0002861469850000172
Figure BDA0002861469850000173
代入坐标值则得到如下公式(2)所示的垂直平分面M的计算公式:
A(x-x0)+B(y-y0)+C(z-z0)=0 (2)
得到的该垂直平分面M可称为对称面(如,可以是镜像对称面),之后,目标设备将该垂直平分面M作为镜像对称面,将第一点云数据通过该垂直平分面M进行映射,得到 该第一点云数据对应的镜像点云数据,例如,假设第一点云数据为P,该第一点云数据P 中有多个点(至少包括上述的第一点p1和第二点p2),通过上述计算得到的垂直平分面M, 映射到垂直平分面M的另一侧,得到新的点云数据P′就为第一点云数据P的镜像点云数据, 该镜像点云数据P′中的点的数量与第一点云数据P的数量相同,并且包括上述第一点p1的 镜像点p1′和上述第二点p2的镜像点p2′。将第一点云数据P通过垂直平分面M得到镜像点 云数据P′的计算过程如下公式(3)所示:
Figure BDA0002861469850000181
其中,d表示上述从第一点云数据P中随机采样的第一点p1和第二点p2在基准坐标系 下的距离,
Figure BDA0002861469850000182
表示第一点p1到第二点p2的方向向量。
之后,目标设备根据最近邻聚类算法计算得到第一点云数据与所述镜像点云数据之间 的距离,该距离可称为第一距离,可记为L,该第一距离L用来评估通过上述垂直平分面 M得到的镜像点云数据P′与第一点云数据P之间的误差,如果该平面为真实对称面,那么L=0。
需要注意的是,在本申请实施例中,第一距离还需要满足一定条件,即第一距离的取 值在预设范围内。因为可能会存在随机采样的第一点和第二点不理想导致计算得到的第一 距离很大,这种情况下则认为此次采样是失败的,那么此次计算得到的第一距离则舍弃不 用,重新采样新的点进行计算,只有计算得到的第一距离在预设范围内,才认为采样是有 效的,记为一次有效的采样轮次。
这里需要注意的是,由于每次从第一点云数据中采样得到2个点,都可以对应求得一 个垂直平分面,但随机采样得到的2个点可能不是用于求垂直平分面效果最好的点,因此, 在本申请实施例中,可采样一定次数,如,上述随机采样2个点得到一个第一距离的执行 过程重复执行预设轮次n(n≥1),从而得到n个第一距离,然后进一步比较这n个第一距离的大小,选取第一距离的取值最小的那个作为目标距离,与该目标距离对应的垂直平分面作为目标垂直平分面,最后计算该目标垂直平分面的法线与基准坐标系的轴线(包括x轴、y轴、z轴)之间的夹角,并用计算得到的该夹角表征第一点云数据对应的第一物体的 朝向信息。
为便于理解什么是第一物体的朝向信息,下面举例进行示意:请参阅图10所示,假设图10中的立方体为第一点云数据的外包络盒,并且计算得到的目标垂直平分面如图10中的灰色矩形框所示,可事先定义一个坐标系,称为物体坐标系,并定义沿着该目标垂直平分面法线方向为该物体坐标系的x轴,由于静止的物体一般都是垂直于地面放置,因此求得的目标垂直平分面也是与地面垂直,那么可设置物体坐标系的z轴与地面平行,那么物体坐标系的x轴和z轴形成的平面也与地面平行,物体坐标系的y轴则与地面垂直,与 物体坐标系的x轴和z轴正交。在这种情况下,物体坐标系下的x轴与基准坐标系的轴线 之间的夹角就可用于表征第一物体的朝向信息。还需要注意的是,在本申请一些实施方式 中,如果物体是倾斜着放置在地面上,那么物体坐标系的z轴设置的就与地面具有同样的 倾斜角度,倾斜角度可以通过目标设备从另一观测角度求得的垂直平分面与当前观测角度 求得的垂直平分面的相交角度得到,最后,将该倾斜角度和目标垂直平分面的法线与基准 坐标系的轴线之间的夹角共同用于表征第一物体的朝向信息。
需要说明的是,在本申请的一些实施方式中,为了使得每次随机采样的2个点能有效 计算出第一距离(即使得计算得到的第一距离能处于预设范围内),本申请实施例还可以 对采样条件进行一定的约束:例如,可以约束随机采样的2个点之间的连线与基准坐标系 中任意一个轴线平行(可称为第一轴线),该第一轴线可以是基准坐标系的x轴、y轴或z轴。
还需要说明的是,在本申请的一些实施方式中,为了降低噪声,上述第一点云数据可 以是经过了去中心化后的点云数据,也就是说,在计算垂直平分面之前,先将第一点云数 据取去中心化,去中心化是指求出第一点云数据在基准坐标系下各个点的三维坐标值的平 均值作为该第一点云数据的中心点在基准坐标系下的三维坐标值,然后,将该第一点云数 据的各个点的三维坐标值分别减去中心点的三维坐标值,完成去中心化操作,也就是使得 第一点云数据的三维坐标值是以中心点为原点的三维坐标值,此时中心点的坐标值为 (0,0,0)。
为便于理解上述去中心化的操作,下面举例进行示意:假设第一点云数据存在4个点, 这4个点在基准坐标系下的三维坐标值分别为(3,2,4)、(3,4,5)、(2,5,5)、(4,5,6),那么 该第一点云数据的中心点在基准坐标系下的x轴方向的坐标值为(3+3+2+4)/4=3,y轴方 向的坐标值为(2+4+5+5)/4=4,z轴方向的坐标值为(4+5+5+6)/4=5,即第一点云数据的中心点在基准坐标系下的三维坐标值为(3,4,5),之后将第一点云数据中的每个点在世界坐标下的三维坐标值减去该中心点的坐标值,并将该中心点作为去中心化操作的新坐标系的原点,得到第一点云数据的中心点坐标为(0,0,0),4个点的坐标值则分别为(0,-2, -1)、(0,0,0)、(-1,1,0)、(1,1,1)。
还需要说明的是,在本申请的一些实施方式中,由于目标设备在当前时刻、当前位置 获取到的当前帧的点云数据可能不止包括一个物体的点云数据,当前帧的点云数据包括目 标设备在当前时刻观测到的所有物体的点云数据,因此,针对每个物体的点云数据都需要 计算得到一个目标垂直平分面,这样当前帧点云数据中每个物体都可求得对应的朝向信息。 假设当前时刻、当前位置目标设备获取的当前帧点云数据包括3个物体的点云数据(前提 是这3个物体的点云数据与已有的第二点云数据的相似度在第一阈值区间内),那么对应 就可求得该3个物体的点云数据各自对应目标垂直平分面。这3个目标垂直平分面的法线 与基准坐标系的轴线之间的夹角就用于表征各个物体的朝向。
还需要说明的是,在本申请实施例中,目标设备每观测到一个新物体时,也就是相似 度位于第一阈值区间的情况下,就需根据新物体的点云数据计算对应该新物体的朝向信 息,并将该新物体的朝向更新到语义地图中。
B、在相似度位于第二阈值区间的情况下,目标设备可进行方式a或方式b的处理。
在第一点云数据与第二点云数据之间的相似度位于第二阈值区间,则说明第一点云数 据对应的第一物体在第一时刻至第二时刻之间的时间区间内被目标设备已观测到过,在这 种情况下,目标设备的处理方式可以包括但不限于如下方式:
a、计算第一点云数据的第一外包络盒和第二点云数据的第二外包络盒。
在相似度位于第二阈值区间的情况下,目标设备可进一步计算第一点云数据的第一外 包络盒和第二点云数据的第二外包络盒,外包络盒是指以最小体积就将一个物体对应的点 云都包括进去的盒状物,外包络盒可以是任意形状的,例如,可以是立方体、正方体、锥 体、圆柱体等,也可以是不规则形状,具体此处不做限定。目标设备得到第一点云数据的 第一外包络盒和第二点云数据的第二外包络盒之后,将进一步比较第一外包络盒和第二外 包络盒的体积大小,在第一外包络盒的体积大于第二外包络盒的体积的情况下,目标设备 将第一点云数据替换第二点云数据,此时目标点云数据依然为第一点云数据,并根据第一 点云数据更新语义地图,更新方式与上述方式A类似,此处不予赘述。在本申请实施例中, 用第一点云数据与第二点云数据都是对应同一个物体的点云数据,用大体积的第一点云数 据替换小体积的第二点云数据的好处在于:大体积的第一点云数据具备更多的点,相应表 征的物体表面信息更完整,替换后的第一点云数据再更新语义地图使得语义地图更精确。
需要说明的是,在本申请的一些实施方式中,若目标设备比较第一外包络盒和第二外 包络盒的体积大小的结果是第一外包络盒的体积小于等于第二外包络盒的体积,说明目标 设备之前获取的该物体的点云数据(即第二点云数据)包括的物体信息更完整,在这种情 况下,目标设备将当前时刻获得的第一点云数据删除不要。
b、将所述第一点云数据与所述第二点云数据进行点云配准。
在相似度位于第二阈值区间的情况下,目标设备也可以直接将第一点云数据与第二点 云数据进行点云配准,从而得到第一点云数据与第二点云数据的融合点云数据,此时目标 点云数据则为融合点云数据,并基于融合点云数据更新语义地图,类似地,基于融合点云 数据更新语义地图的方式与上述方式A类似,此处不予赘述。在本申请实施例中,基于融 合点云数据更新语义地图的好处在于:第一点云数据和第二点云数据虽然都是针对同一物 体的点云数据,但目标设备获取该同一物体的时刻不同,观测的角度也不同,从不同角度 观测到同一个物体时的细节也不同,因此,融合了不同时刻的获得的同一物体的点云数据 包括更多的物体信息,基于此更新的语义地图精度也更高。
这里为便于理解什么是融合点云数据,下面举例进行示意:如图11所示,图11为本申请实施例提供的融合点云数据的一个示意图(以平面图示意),对第一点云数据P1和第二点云数据P2进行点云配准,其中,这两个点云数据所在区域的交集内的点则为经过点云配准后的点,该区域的点称为配准点集合P0,第一点云数据P1中未配准的点、第二点云数 据P2中未配准的点以及配准点集合P0共同构成所述融合点云数据。
204、在基于点云数据构建的语义地图中更新该目标点云数据、目标点云数据的标签 信息和物体的朝向信息。
目标设备基于第一点云数据和第二点云数据之间的相似度确定目标点云数据后,就会 更新该语义地图,具体表现为在语义地图中更新该目标点云数据、目标点云数据的标签信 息以及物体的朝向信息。
经过上述所述步骤,目标设备构建得到了一个目标全局语义地图,目标全局语义地图 为最后一次更新得到的全局语义地图,由于得到的目标全局语义地图是目标设备实时构建 得到,该目标全局语义地图可能会存在一定误差,因此,在本申请的一些实施方式中,还 可以进一步建立局部语义地图以及构建物体对描述子对目标全局语义地图进行匹配优化, 目的是为了进一步提高目标全局语义地图的精度。
需要注意的是,此时构建的局部语义地图与上述构建全局语义地图时构建的局部语义 地图略有不同,上述构建全局语义地图时构建的局部语义地图是利用了目标设备每一帧获 取到的物体的点云数据,而在对目标全局语义地图优化的过程中构建的局部语义地图(可 称为优化局部语义地图,除非特别说明,下面所述的局部语义地图均指优化局部语义地图) 可以不必每帧点云数据都用到,局部语义地图中的物体可以是一帧的点云数据,也可以是 多帧的点云数据,具体此处不做限定。例如,目标设备采集数据、获取物体的点云数据等 的频率可以低一些,或,目标设备每获得n帧点云数据,只随机选取其中一帧点云数据用 于构建局部语义地图,当获取到的每帧点云数据后,构建局部语义地图的方式则与上述方 式类似,不同的地方在于,此次构建的局部语义地图至少需要包括2个物体各自对应的点 云数据,这是因为构建一个物体对描述子需要2个物体的点云数据。
在介绍如何基于局部语义地图对目标全局语义地图进行匹配优化之前,这里还需对物 体对描述子进行说明:物体对描述子是由两个物体各自对应点云数据构成,是通过这两个 物体在基准坐标系下的位姿(如,三维坐标值),建立关于物体所属分类类别、物体中心 点之间距离的描述子,在本申请实施中,物体对描述子是作为局部语义地图与目标全局语 义地图进行闭环检测的基础。具体来说,物体对描述子用于表征构成该物体对描述子的两 个目标物体各自所属分类类别构成的标签对、这两个目标物体各自对应的点云数据的中心 点之间的距离,为便于理解,请参阅图12,图12示意的是物体对描述子的一个示意图,物体i的点云数据Pi和物体j的点云数据Pj构成的物体对描述子可表示为如下式子(4)所示:
{si,sj,|dij|} (4)
其中,si表示物体i所属的分类类别(即标签信息),sj表示物体j所属的分类类别,si和sj可相同,也可不同,此处不做限定,si和sj就构成物体i和物体j的标签对,|dij|则 表示物体i的点云数据Pi的中心点和物体j的点云数据Pi的中心点之间的距离。
需要说明的是,在本申请实施例中,由于物体的位姿除了包括物体在基准坐标系下的 三维坐标值,还包括有物体的朝向信息,因此,在本申请的一些实施方式中,物体对描述 子除了可以表征构成该物体对描述子的两个目标物体各自所属分类类别构成的标签对、这 两个目标物体各自对应的点云数据的中心点之间的距离之外,还可以用于表征两个目标物 体朝向延长线之间的交点分别与这两个目标物体各自对应的点云数据的中心点的距离。因 为物体对描述子表征的信息越多,后续基于物体对描述子进行优化匹配的结果就越精准。 为便于理解,请参阅图13,图13示意的是物体对描述子的另一个示意图,物体i的点云 数据Pi和物体j的点云数据Pj构成的物体对描述子可表示为如下式子(5)所示:
{si,sj,|dij|,|m-pi|,|m-pj|} (5)
其中,si表示物体i所属的分类类别(即标签信息),sj表示物体j所属的分类类别,si和sj可相同,也可不同,此处不做限定,si和sj就构成物体i和物体j的标签对,|dij|则 表示物体i的点云数据Pi的中心点pi和物体j的点云数据Pi的中心点pj之间的距离,m为 中心点pi和中心点pj沿着各自物体朝向(即各自的目标垂直平分面)的交点,|m-pi|表示 中心点pi到交点m的距离,|m-pj|表示中心点pj到交点m的距离。
在了解了物体对描述子的概念后,下面具体介绍如何基于局部语义地图对目标全局语 义地图进行匹配优化,匹配优化的方式是进行层次聚类,在目标全局语义地图上检索到与 该局部语义地图的最优匹配。具体地,目标设备获取目标设备在第三监测范围内每个物体 各自对应的点云数据,该第三监测范围包括目标设备在第三时刻至当前时刻的时间区间内 的监测范围,该第三监测范围内存在至少两个物体,且第三监测范围内每个物体各自对应 的点云数据用于表征对应点云数据中每个点的像素值和每个点在基准坐标系下的三维坐 标值,之后目标设备基于目标设备在该第三监测范围内每个物体各自对应的点云数据构建 局部语义地图。需要注意的是,在本申请实施例中,当前时刻是指目标设备构建完目标全 局语义地图后,在构建用于优化目标全局语义地图过程中的当前时刻,第三时刻则是在当 前时刻之前的某一个时刻,根据用户需求设定,例如,假设用户想要构建的局部语义地图 包含的物体的点云数据多一些,则第三时刻可以选择距离当前时刻更早一点的时刻。
由于构建的局部语义地图至少需要包括2个物体的点云数据,那么针对该局部语义地 图中的每个物体的点云数据,两两之间进行结合构建物体对描述子,具体地,称局部语义 地图中存在的任意两个物体各自对应的点云数据为第三物体的第三点云数据和第四物体 的第四点云数据,那么目标设备可基于该第三点云数据和第四点云数据构成一个物体对描 述子(可称为第一物体对描述子),根据局部语义地图包括的物体的数量不同,可构建得 到不同数量的第一物体对描述子。同时,针对先前得到的目标全局语义地图,目标设备也 会将目标全局语义地图中每个物体各自对应的点云数据两两构建得到m个物体对描述子 (可称为第二物体对描述子)。然后,目标设备根据局部语义地图中的每个第一物体对描 述子,从m个第二物体对描述子中确定出与第一物体对描述子更接近的p个目标物体对描 述子,p≤m。最后,目标设备将局部语义地图分别与这p个目标物体对描述子通过ICP算法进行点云配准,从而得到p个位姿值,每个位姿值用于表征点云数据的旋转矩阵和平移向量。当p个位姿值中存在至少q个位姿值在预设误差范围内,说明局部语义地图中每个 第一物体对描述子所涉及的物体的点云数据都被成功在目标全局语义地图中找到了,此时目标设备根据局部语义地图对目标全局语义地图进行优化,q≤p。
需要说明的是,在本申请的一些实施方式中,若p个位姿值不存在至少q个位姿值在 预设误差范围内,说明局部语义地图中的物体的点云数据过少,目标设备没有在目标全局 语义地图中匹配上该局部语义地图中的每个物体的点云数据,此时则需要继续获取至少一 帧点云数据,用于更新局部语义地图,更新局部语义地图的目的是为了引入新物体的点云 数据,也就是说,当所述p个位姿值不存在至少q个位姿值在预设误差范围内,目标设备 将重复执行上述步骤,直至p个位姿值存在至少q个位姿值在所述预设误差范围内。这里举例进行示意:假设第三时刻为t1,当前轮次的当前时刻为t2,并且在当前轮次的[t1,t2]时间区间内构建的局部语义地图包括3个物体,假设根据这3个物体的点云数据两两组合得到的第一物体对描述子,从目标全局语义地图的m个第二物体对描述子中确定出p个目标物体对描述子,并得到p个位姿值,但这p个位姿值不存在至少q个位姿值在预设误差范 围内,那么目标设备则继续获取点云数据,假设当前轮次为x,那么目标设备就将当前轮 次x作为上个轮次,同时将当前轮次x的当前时刻t2作为上一时刻,也就是新的当前轮次 为x+1,新的当前时刻假设为t3,那么目标设备在新的当前轮次x+1的[t1,t3]时间区间内构 建新的局部语义地图,重复执行上述步骤,直至得到的p个位姿值存在至少q个位姿值在 所述预设误差范围内。
为便于理解上述基于局部语义地图对目标全局语义地图进行匹配优化过程,下面举例 进行示意,需要注意的是,在本例中,为便于阐述,物体对描述子以上述式子(5)为例进行说明(式子(4)也可以,这里不赘述):请参阅图14,图14为本申请实施例提供的 根据局部语义地图与目标全局语义地图进行匹配过程的一个示意图,其中,图14中的(a) 子示意图为目标设备进行第一次层次聚类匹配过程的一个示意,在图14的(a)子示意图 中,局部语义地图中的每个小圆圈的位置表示目标设备从初始观测(即上述所述的第三时 刻,假设为t1)到当前时刻(假设为t2)这段时间区间内观测到的各个物体各自对应的点 云数据在该局部语义地图中的位姿,类似地,目标全局语义地图中的每个小圆圈的位置表 示目标设备从基准坐标系的原点开始直至最后一次更新这段时间区间内观测到的各个物 体各自对应的点云数据在该目标全局语义地图中的位姿。一个小圆圈对应一个物体的点云 数据,可称为物体节点,不同类型的小圆圈表示对应物体属于不同分类类别,假设目标设 备在第三时刻t1至当前时刻t2之间的时间区间[t1,t2]内构建的局部语义地图包括如图14中 的(a)子示意图所示的2个物体节点,由图14中的(a)子示意图可知这2个物体节点分 别属于不同的2个分类类别,这2个物体节点可以构建得到一个物体对描述子,即第一物 体对描述子,可称为描述子A。同时,目标设备也会将构建的目标全局语义地图中所有物 体的点云数据两两之间组合得到m个物体对描述子(即第二物体对描述子),假设目标全 局语义地图中包括8个物体的点云数据,如图14中的(a)子示意图所示的8个物体节点, 那么两两组合就可以得到28个第二物体对描述子。此时,目标设备已经得到了时间区间 [t1,t2]内构建的局部语义地图中的描述子A和目标全局语义地图中的28个第二物体对描述 子,接下来目标设备会根据局部语义地图中的描述子A从目标全局语义地图中的28个第 二物体对描述子挑选出与自身接近的物体对描述子,首先,基于描述子A表征的标签对, 选出与描述子A的标签对一致的第二物体对描述子,例如,假设描述子A的标签对是“椅 子-桌子”,那么就从28个第二物体对描述子中选出标签对为“椅子-桌子”的物体对描述 子,假设经过这一步筛选后还剩20个第二物体对描述子,接着基于描述子A表征的两个 物体各自对应的点云数据的中心点的距离|dij|、两个物体朝向延长线之间的交点分别与两 个物体各自对应的点云数据的中心点的距离|m-pi|和|m-pj|从剩下的这20个第二物体 对描述子中选出与描述子A表征的这3种距离在允许误差范围内的第二物体对描述子,例 如,假设描述子A的|dij|=0.3m(单位:米),|m-pi|=0.5m,|m-pj|=0.8m,假设这3 种距离各自允许的误差范围为±0.1m、±0.15m、±0.2m,那么在剩下的这20个第二物体 对描述子中,只要存在3种距离分别为|dij|∈[0.2m,0.4m]、|m-pi|∈[0.35m,0.65m]、 |m-pj|∈[0.6m,1.0m],就认为是符合要求的物体对描述子,假设经过这一步筛选后还剩7 个第二物体对描述子,那么这7个第二物体对描述子就作为候选组合,这7个第二物体对 描述子各被投票一次,这里需要注意的是,上述实施例中3种距离的允许误差各不相同, 在本申请的一些实施方式中,这3种距离的允许误差可以相同,具体此处不做限定。
目标设备经过上述比较后,得到7个第二物体对描述子,由于这7个第二物体对描述 子每个都被投票过一次,7个第二物体对描述子中的每个第二物体对描述子的投票数量没 有区别,可认为p=7,这时可将局部语义地图分别与这7个第二物体对描述子通过ICP算法进行点云配准,就可得到7个位姿值,假设这7个位姿值只有2个位姿值在预设误差范 围内(如,旋转矩阵的误差小于10°,平移向量的误差小于10cm),不满足p个位姿值中 存在至少q个位姿值(假设q=5)在预设误差范围内,那么目标设备重复执行上述步骤, 即继续获取下一帧或下多帧的点云数据。上面这个过程可称为第一层次聚类。
由于目标设备在第一层次聚类过程中,构建的局部语义地图不能成功与目标全局语义 地图进行匹配,说明该局部语义地图包括的物体的点云数据过少,难以匹配成功,因此, 目标设备需要进行第二层次聚类,随着目标设备的移动,观测到的物体逐步会增加,目标 设备在第二层次聚类过程中,假设当前时刻是t3,那么目标设备需要在时间区间[t2,t3]内至 少观测到一个新物体的点云数据,也就是目标设备在第三时刻t1至当前时刻t3之间的时间 区间[t1,t3]内构建的局部语义地图包括如图14中(b)子示意图所示的3个物体节点,图14 中的(b)子示意图为目标设备进行第二次层次聚类匹配过程的一个示意,由图14中的(b) 子示意图可知这2个物体节点分别属于不同的3个分类类别,这3个物体节点可以构建得 到3个物体对描述子,即3个第一物体对描述子(其中包括第一层次聚类过程中的描述子A),可称为描述子A、描述子B和描述子C。针对新得到的描述子B和描述子C,按照上 述处理描述子A类似的方式进行处理,具体地,先分别基于描述子B和描述子C各自表 征的标签对,选出与描述子B和描述子C的标签对一致的第二物体对描述子,假设经过这 一步筛选后剩下12个第二描述子的标签对与描述子B的标签对一致,且剩下15个第二物 体对描述子的标签对与描述子C的标签对一致,接着基于描述子B和描述子C表征的两 个物体各自对应的点云数据的中心点的距离|dij|、两个物体朝向延长线之间的交点分别与 两个物体各自对应的点云数据的中心点的距离|m-pi|和|m-pj|从各自剩下的12个、15 个第二物体对描述子中选出分别与描述子B和描述子C表征的这3种距离在允许误差范围 内的第二物体对描述子,假设经过这一步筛选后还剩下6个第二物体对描述子与描述子B 对应,且剩下8个第二物体对描述子与描述子C对应,那么这6+8=14个第二物体对描述 子以及第一层次聚类得到的7个第二物体对描述子各自再被投票一次,此时,目标全局语 义地图中的每个第二物体对描述子被投票数就开始出现差异,会存在有些第二物体对描述 子的投票数为0,有些第二物体对描述子的可能被投票多次,此时目标设备会维护投票数 量排在前p个(即top p,假设p=7)的第二物体描述子作为候选组合,这时目标设备再将 第二层次聚类过程中得到的局部语义地图分别与这p个候选组合通过ICP算法进行点云配 准,就可得到p个位姿值。
假设这p个位姿值有6个位姿值在预设误差范围内(如,旋转矩阵的误差小于10°,平移向量的误差小于10cm),满足了p个位姿值中存在至少q个位姿值(假设q=5)在预 设误差范围内,说明局部语义地图中每个第一物体对描述子所涉及的物体的点云数据都被 成功在目标全局语义地图中找到了,此时目标设备根据局部语义地图对目标全局语义地图进行优化。
假设这p个位姿值只有4个位姿值在预设误差范围内(如,旋转矩阵的误差小于10°, 平移向量的误差小于10cm),不满足p个位姿值中存在至少q个位姿值(假设q=5)在预设误差范围内,那么目标设备继续重复执行上述步骤,即继续获取下一帧或下多帧的点云数据,也就是目标设备需再次进行第三层次聚类,第三层次聚类以及后续的各个层次聚类的过程与上述第二层次聚类过程类似,此处不予赘述。这里需要注意的是,目标设备需要进行几次层次聚类的终止条件,由目标设备判断基于维护的前p个候选组合得到的p个位姿值中是否存在至少q个位姿值在预设误差范围内,只有当确定p个位姿值中存在至少q 个位姿值在预设误差范围内,则认为局部语义地图中的所有物体的点云数据都在目标全局语义地图中找到了,此时可结束构建该局部语义地图。
这里还需要注意的是,目标设备每匹配优化完成一个局部语义地图,可继续构建下一 个局部语义地图继续对目标全局语义地图进行优化匹配,过程与上述类似,此处不予赘述。
上述整个过程,称为闭环检测,闭环检测后需要基于局部语义地图中的各个物体节点 的位姿对整个目标全局语义地图的物体节点的位姿进行优化,具体请参阅图15,图15为 本申请实施例提供的基于局部语义地图优化目标全局语义地图中各个物体位姿的一个示 意图,具体地,在得到了局部语义地图之后,理论上该局部语义地图应该是可以与目标全 局语义地图的至少部分完全重合的,实际上由于各种原因导致的误差,实际并不会完全重 合,如图15中的(a)子示意图所示,假设目标全局语义地图包括8个物体节点,局部语 义地图包括2个物体节点,分别为物体节点A′和物体节点B′(虚线圆圈所示),由图15中 的(a)子示意图可知,局部语义地图中的物体节点A′和物体节点B′与目标全局语义地图中 的物体节点A和物体节点B存在一定偏差(双向箭头所示为偏差),在这种情况下,就需要 基于局部语义地图中的物体节点A′和物体节点B′对整个目标全局语义地图中的各个物体的 位姿进行调整,具体地,调整前目标全局语义地图中各个物体节点的位姿以及相邻物体节 点之间的连线如图15中的(a)子示意图的实线所示,调整的方式是基于如下公式(6)的 捆绑调整(bundle adjustment,BA):
Figure BDA0002861469850000251
其中X表示所有被优化项(两个顶点构成的边),求解所有边的误差平方和最小。
具体地,如图15中的(b)子示意图所示,将局部语义地图中的物体节点A′和物体节点B′用于替换目标全局语义地图中的物体节点A和物体节点B,由于目标全局语义地图中的物体节点A和物体节点B被替换了,那么这两个物体涉及的边(即连线)也会被更新,如图 15中的(b)子示意图中的加粗虚线所示,将图15中(b)子示意图中替换后的所有物体 节点和物体节点之间的连线作为上述公式(6)的捆绑调整的输入,经过该算法的调整, 使得图15中的(b)子示意图中替换后的所有物体节点之间的连线的误差平方和最小,物 体节点A′和物体节点B′替换目标全局语义地图中的物体节点A和物体节点B后,经过上述公 式(6)调整后,得到的新的物体节点的位姿如图15中的(c)子示意图所示,从图15中 的(c)子示意图中可以看出,经过调整后的目标全局语义地图中的物体节点新的位姿,需 要注意的是,被调整位姿的可能是部分物体节点,也可能是全部物体节点,由调整结果决 定,图15中(c)示意图示意的是所有物体节点都被微调了,其中,物体节点A″和物体节 点B″为物体节点A、物体节点B以及重新被观测到的物体节点A′、物体节点B′被调整后的 所处的位姿,并且实线连接的物体节点为调整位姿后的物体节点,虚线连接的物体节点为 (b)示意图中所示的调整位姿前的物体节点。该算法调整后的目标全局语义地图就为优 化后的目标全局语义地图。
最后,优化后的目标全局语义地图就可实际进行应用,在本申请的一些实施方式中, 为了进一步提高目标语义地图的使用效率,还可继续对地图进行持续更新,例如,如果是 不同时间(如,跨天)建立的目标全局语义地图,可以将之前已构建的地图与当前新建立的地图进行融合,方法为遍历当前建立的目标全局语义地图中的所有物体节点,增量式的进行与上述类似的全局物体匹配,找到两个地图中有相同物体节点的组合(即物体对描述子),作为匹配成功的物体集,通过ICP算法计算两个地图中各物体的点云数据的相对坐标,对两次得到的目标全局语义地图进行坐标系对齐,然后融合两次建立的目标全局语义地图进行更新。具体过程与上述类似,此处不予赘述。
综上所述,本申请实施例提供的语义地图的构建方法主要包括四个部分,分别为前端 跟踪、闭环检测、后端优化和地图更新,具体可参阅图16,图16为本申请实施例提供的语义地图构建方法的一个整体流程的示意图,该整体流程的前端跟踪部分包括数据预处理、 目标设备的位姿估计和多视角下的物体更新(即将新物体的点云数据更新至语义地图), 前端跟踪解决连续观测下目标设备的位姿和物体位姿的数据关联,将新观测到的物体(包 括朝向信息)更新到语义地图中;闭环检测部分包括全局物体的匹配优化(即上述所述的 基于局部语义地图对目标全局语义地图进行匹配优化),闭环检测解决的是目标全局语义 地图已构建完成后,物体被目标设备再次观测时,能在已构建的目标全局语义地图中找到 与当前观测到的物体是同一个物体的物体,从而证实目标设备当前观测的物体是已经被看 到过的物体,这个过程是通过构建物体对描述子进行层次聚类实现;后端优化部分包括全 局地图优化(即上述所述的基于局部语义地图中的各个物体节点的位姿对整个目标全局语 义地图的物体节点的位姿进行优化),根据闭环检测的结果,将在局部语义地图中观测到 的物体节点与目标全局语义地图中的物体节点构建一个图优化模型(如上述图15所示), 每两个相邻的物体节点构成一条边,通过优化库(如,go2、ceres等)优化目标全局语义 地图中所有物体节点的位姿;地图更新主要是基于不同时间段得到的多个目标全局语义地 图进行融合更新,比如,隔天之后,室内的场景布置可能会有变化,此时可基于新得到的 语义地图与已有的目标全局语义地图进行融合更新。
需要说明的是,基于本申请实施例所述的语义地图的构建方法可应用于各种设备,例 如,可以是可移动机器人,也可以是手持移动终端设备(如,手机、个人电脑等),还可以是智能可穿戴设备(如,智能手表、智能手环、智能眼镜等),只要能用于实现本申请 实施例所述的语义地图的构建方法的设备都可以称为本申请实施例所述的目标设备,具体 本申请对目标设备的表现形式不做限定。
还需要说明的是,在本申请上述实施方式中,步骤201至步骤203的执行主体均以目 标设备本身为例进行示意,也就是目标设备构建语义地图的过程是在自身实时运动过程中 一并实现的,实际上,在本申请的一些实施方式中,构建语义地图的具体过程也可以不是 目标设备执行的,可以由其他设备构建好后,再实时传输(或更新)至该目标设备,以使 得该目标设备基于该构建的语义地图进行后续动作,例如,可以是由与该目标设备通信连 接的服务器,也可以是与该目标设备通信连接的其他的如手机、个人电脑等终端设备,具 体本申请对构建语义地图的执行主体不做限定。
在上述所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还 提供用于实施上述方案的相关设备。具体参阅图17,图17为本申请实施例提供的地图构 建装置的一种结构示意图,地图构建装置1700包括:第一获取模块1701、计算模块1702、确定模块1703、第二获取模块1704、更新模块1705,其中,第一获取模块1701,用于获 取该目标设备在当前时刻、当前位置监测范围内的每个物体各自对应的点云数据。在当前 时刻、当前位置,目标设备的监测范围可称为第一监测范围,在该监测范围内存在的任意 一个物体,可称为第一物体,第一物体对应的点云数据则称为第一点云数据,该第一点云 数据用于表征第一点云数据中每个点在基准坐标系下的三维坐标值;计算模块1702,用于 计算得到的第一点云数据与第二点云数据之间的相似度,该第二点云数据包括第二监测范围内第二物体的点云数据,第二监测范围包括目标设备在第一时刻至第二时刻的时间区间内的监测范围,第二物体为第二监测范围内存在的任意一个物体,第二点云数据用于表征第二点云数据中每个点在基准坐标系下的三维坐标值;确定模块1703,用于根据相似度确定目标点云数据;第二获取模块1704,用于基于目标点云数据得到与目标点云数据对应的物体的朝向信息,并基于目标点云数据得到该物体的标签信息,该物体的朝向信息用于表征该物体的朝向,例如,假设第一物体为椅子,那么椅子靠背的正前方就为该椅子的朝向,又例如,假设第一物体为电脑显示器,那么电脑显示器显示界面的正前方为该电脑显示器的朝向,等等,具体此处不再举例示意,该物体的标签信息用于表征该物体所属的分类类别;更新模块1705,用于在基于点云数据构建的语义地图中更新该目标点云数据、该目标点云数据的标签信息和该物体的朝向信息。
在本申请上述实施方式中,通过部署于目标设备上的目标传感器实时获取目标设备监 测范围内物体的点云数据,并基于该物体的点云数据与之前获取到的物体的点云数据之间 的相似度来判断该物体是否是目标设备监测到的新物体,再基于相似度的具体取值实时更 新语义地图,从而实现了目标设备对语义地图的自主动态更新,此外,通过本申请实施例 构建的语义地图不仅包括物体的位置信息(基于点云数据得到),还包括物体的朝向信息, 从而在对物体进行准确定位的同时还提供了交互的视角朝向。
在一种可能的设计中,第二获取模块1704,具体用于:从该目标点云数据中随机采样 得到两个点,分别记为第一点和第二点,接着对第一点和第二点进行连线,并得到该连线 的垂直平分面,再以该垂直平分面为对称面,将目标点云数据通过该垂直平分面进行映射, 得到该目标点云数据对应的镜像点云数据,之后,根据最近邻聚类算法计算得到目标点云 数据与该镜像点云数据之间的距离,该距离可称为第一距离,该第一距离与该垂直平分面 对应,且该第一距离在预设阈值范围内;重复执行上述步骤直至达到预设轮次n,得到n 个第一距离;最后,计算目标垂直平分面的法线与基准坐标系的轴线之间的夹角,并用该夹角表征该物体的朝向信息,所述目标垂直平分面与目标距离对应,所述目标距离在所述n个第一距离中取值最小。
在本申请上述实施方式中,具体阐述了如何得到一个物体的朝向信息,即通过构建对 称面得到镜像点云数据,并基于目标点云数据与镜像点云数据之间的距离大小选择一个最 优的对称面作为最终的目标对称面,最后选择目标垂直平分面的法线与基准坐标系的轴线 之间的夹角,具备可实现性。
在一种可能的设计中,所述第一点和所述第二点之间连线与所述基准坐标系中的任意 一个轴线(可称为第一轴线)平行,该第一轴线可以是该基准坐标系的x轴、y轴或z轴。
在本申请上述实施方式中,为了使得每次随机采样的两个点能有效计算出第一距离 (即使得计算得到的第一距离能处于预设范围内),从而对采样得到的第一点和第二点的 采集条件进行了约束,提高了有效采样的效率。
在一种可能的设计中,第一点云数据还可以用于表征该第一点云数据中每个点的像素 值,第二点云数据还可以用于表征该第二点云数据中每个点的像素值,因此计算模块1702, 具体用于:首先,根据最近邻聚类算法,计算得到第一点云数据与第二点云数据之间的距 离,该距离可称为第二距离,之后,由于每个点云数据不仅用于表征对应点云数据中每个 点在基准坐标系下的三维坐标值,还用于表征对应的RGB图像对应每个点的像素值,因 此计算模块1702还进一步计算第一点云数据与第二点云数据之间的像素值之差,最后根 据该第二距离和该像素值之差计算得到第一点云数据与第二点云数据之间的相似度。
在本申请上述实施方式中,阐述了通过两个点云数据之间的距离和像素值之差来计算 第一点云数据与第二点云数据之间的相似度,具备灵活性。
在一种可能的设计中,根据该第二距离和该像素值之差计算得到第一点云数据与第二 点云数据之间的相似度的过程具体可以通过计算该第二距离和该像素值之差的二范数得 到。具体地,计算模块1702,具体还用于:首先,对第二距离和像素值之差进行加权求和, 得到目标值,其中,第二距离与像素值之差各自所占的权重比例可以根据实际应用自行设 置,也可以基于历史数据计算得到,本申请不做限定;最后,将目标值通过高斯核映射, 从而得到第一点云数据与第二点云数据之间的相似度。
在本申请上述实施方式中,具体阐述了可以通过计算该第二距离和该像素值之差的二 范数得到第一点云数据与第二点云数据之间的相似度,简单易实现。
在一种可能的设计中,确定模块1703,具体用于:在相似度位于第一阈值区间的情况 下,确定第一点云数据为该目标点云数据,其中,目标点云数据对应的物体为该第一物体。
在本申请上述实施方式中,当第一点云数据与第二点云数据之间的相似度位于第一阈 值区间,则说明第一点云数据对应的第一物体为当前时刻、当前位置目标设备在监测范围 内新观测到的物体,此时目标点云数据就为第一点云数据,后续可根据该第一点云数据更 新语义地图,从而实现语义地图的实时更新。
在一种可能的设计中,确定模块1703,具体还用于:在相似度位于第二阈值区间的情 况下,计算第一点云数据的第一外包络盒和第二点云数据的第二外包络盒,并且在第一外 包络盒的体积大于第二外包络盒的体积的情况下,将第一点云数据替换第二点云数据,并 确定第一点云数据为该目标点云数据。
在本申请上述实施方式中,当第一点云数据与第二点云数据之间的相似度位于第二阈 值区间,则说明第一点云数据对应的第一物体在第一时刻至第二时刻之间的时间区间内被 目标设备观测到,这种情况下的一种处理方式是计算第一点云数据的第一外包络盒和第二 点云数据的第二外包络盒,并用外包络盒体积大的替换外包络盒体积小的,体积大的物体 的点云数据包括的信息更完整,此时,目标点云数据仍为第一点云数据(因为第一点云数 据的外包络盒体积更大),据此更新的语义地图包括的物体信息更完整。
在一种可能的设计中,确定模块1703,还用于:在第一外包络盒的体积小于等于第二 外包络盒的体积的情况下,删除第一点云数据。
在本申请上述实施方式中,如果比较第一外包络盒和第二外包络盒的体积大小的结果 是第一外包络盒的体积小于等于第二外包络盒的体积,说明之前获取的该物体的点云数据 (即第二点云数据)包括的物体信息更完整,在这种情况下,将当前时刻获得的第一点云 数据删除不要。
在一种可能的设计中,确定模块1703,具体还用于:在相似度位于第二阈值区间的情 况下,将第一点云数据与第二点云数据进行点云配准,得到第一点云数据与第二点云数据 的融合点云数据,并确定该融合点云数据为目标点云数据。
在本申请上述实施方式中,在相似度位于第二阈值区间的情况下,也可以直接将第一 点云数据与第二点云数据进行点云配准,从而得到第一点云数据与第二点云数据的融合点 云数据,因为融合后的点云数据包含的信息更多,此时,目标点云数据则为第一点云数据 与第二点云数据融合后得到的融合点云数据,后续再基于融合点云数据更新语义地图,使 得更新的语义地图包括的信息更丰富。
在一种可能的设计中,第一获取模块1701,具体用于:通过部署于目标设备上的目标 传感器采集该目标设备在当前时刻第一监测范围内的RGB图像和深度图像,并对RGB图像进行实例分割,得到RGB图像中第一物体所属的第一区域,最后将该第一区域与该深 度图像进行叠加,得到第一物体对应的第一点云数据。
在本申请上述实施方式中,具体阐述了第一点云数据是基于RGB图像和深度图像得 到的,而目前已有方法构建语义地图的3D稠密图是通过稠密重建得到,稠密重建计算量巨大,而本申请实施例是基于RGB图像和深度图像得到的点云数据,不需要稠密重建, 降低计算量。
在一种可能的设计中,目标传感器包括:深度相机,或,深度传感器与摄像模块的组 合。
在本申请上述实施方式中,阐述了目标传感器的几种具体类型,具备可选择性。
在一种可能的设计中,该地图构建装置1700还可以包括:迭代模块1706,用于在语义地图中更新目标点云数据、目标点云数据的标签信息和目标物体的朝向信息之后,将所述第二时刻更新为所述当前时刻,目标点云数据作为新增的第二点云数据,触发第一获取模块1701、计算模块1702、确定模块1703、第二获取模块1704及更新模块1705重复执 行各自的执行步骤直至达到预设条件,得到目标全局语义地图,该目标全局语义地图为最 后一次更新得到的语义地图。
在本申请上述实施方式中,具体阐述了在每个当前时刻都可以重复执行上述各个模块 的执行步骤,以实现语义地图的持续动态更新。
在一种可能的设计中,达到预设条件包括:第一时刻至第二时刻的时间区间达到预设 时长。
在本申请上述实施方式中,具体阐述了停止更新语义地图的条件,即构建的时长达到 预设时长,这时候就认为构建的语义地图比较完备。
在一种可能的设计中,该地图构建装置1700还可以包括地图优化模块1707,该地图 优化模块1707,用于:获取目标设备在第三监测范围内每个物体各自对应的点云数据,该 第三监测范围包括目标设备在第三时刻至当前时刻的时间区间内的监测范围,该第三监测 范围内存在至少两个物体,且第三监测范围内每个物体各自对应的点云数据用于表征对应 点云数据中每个点的像素值和每个点在基准坐标系下的三维坐标值,之后基于目标设备在 该第三监测范围内每个物体各自对应的点云数据构建局部语义地图。需要注意的是,在本 申请实施例中,当前时刻是指目标设备构建完目标全局语义地图后,在构建用于优化目标 全局语义地图过程中的当前时刻,第三时刻则是在当前时刻之前的某一个时刻,根据用户 需求设定,例如,假设用户想要构建的局部语义地图包含的物体的点云数据多一些,则第 三时刻可以选择距离当前时刻更早一点的时刻。由于构建的局部语义地图至少需要包括2 个物体的点云数据,那么针对该局部语义地图中的每个物体的点云数据,两两之间进行结 合构建物体对描述子,具体地,称局部语义地图中存在的任意两个物体各自对应的点云数 据为第三物体的第三点云数据和第四物体的第四点云数据,那么可基于该第三点云数据和 第四点云数据构成一个物体对描述子(可称为第一物体对描述子),根据局部语义地图包 括的物体的数量不同,可构建得到不同数量的第一物体对描述子。同时,针对先前得到的 目标全局语义地图,也会将目标全局语义地图中每个物体各自对应的点云数据两两构建得 到m个物体对描述子(可称为第二物体对描述子)。然后,根据局部语义地图中的每个第 一物体对描述子,从m个第二物体对描述子中确定出与第一物体对描述子更接近的p个目 标物体对描述子,p≤m。最后,将局部语义地图分别与这p个目标物体对描述子通过ICP 算法进行点云配准,从而得到p个位姿值,每个位姿值用于表征点云数据的旋转矩阵和平 移向量。当p个位姿值中存在至少q个位姿值在预设误差范围内,说明局部语义地图中每 个第一物体对描述子所涉及的物体的点云数据都被成功在目标全局语义地图中找到了,此 时根据局部语义地图对目标全局语义地图进行优化,q≤p。
在本申请上述实施方式中,通过进一步建立局部语义地图以及构建物体对描述子对目 标全局语义地图进行匹配优化,从而进一步提高了目标全局语义地图的精度。
在一种可能的设计中,地图优化模块1707,还用于:当p个位姿值不存在至少q个位姿值在预设误差范围内,重复执行上述步骤,直至p个位姿值存在至少q个位姿值在该预 设误差范围内。
在本申请上述实施方式中,若p个位姿值不存在至少q个位姿值在预设误差范围内, 说明局部语义地图中的物体的点云数据过少,地图优化模块1707没有在目标全局语义地 图中匹配上该局部语义地图中的每个物体的点云数据,此时则需要继续获取至少一帧点云 数据,用于更新局部语义地图,更新局部语义地图的目的是为了引入新物体的点云数据。
在一种可能的设计中,物体对描述子还可以用于表征两个目标物体朝向延长线之间的 交点分别与该两个目标物体各自对应的点云数据的中心点的距离。
在本申请上述实施方式中,阐述了物体对描述子还用于表征对称面交点与中心点的距 离,这是因为物体对描述子表征的信息越多,则局部地图与目标全局语义地图的匹配越精 准。
在一种可能的设计中,目标设备可以是可移动机器人,也可以是手持移动终端设备(如, 手机、个人电脑等),还可以是智能可穿戴设备(如,智能手表、智能手环、智能眼镜等), 只要能用于实现本申请实施例所述的语义地图的构建方法的设备都可以称为本申请实施 例所述的目标设备,具体本申请对目标设备的表现形式不做限定。
在本申请上述实施方式中,阐述了目标设备可以是哪些类型的设备,具备广泛适用性。
需要说明的是,在本申请的一些实施方式中,地图构建装置1700可以是上述所述的 目标设备,也就是说,在地图构建装置1700是该目标设备的情况下,构建语义地图的过程是在目标设备自身实时运动过程中一并实现的,实际上,在本申请的一些实施方式中,构建语义地图的具体过程也可以不是目标设备执行的,可以由其他设备构建好后,再实时传输(或更新)至该目标设备,以使得该目标设备基于该构建的语义地图进行后续动作, 也就是说,地图构建装置1700也可以不是该目标设备,例如,可以是由与该目标设备通 信连接的服务器,也可以是与该目标设备通信连接的其他的如手机、个人电脑等终端设备, 具体本申请对地图构建装置1700的具体表现形式不做限定。
需要说明的是,图17对应实施例所述的地图构建装置1700中各模块/单元之间的信息 交互、执行过程等内容,与本申请中图2对应的实施例基于同一构思,具体内容可参见本 申请前述所示实施例中的叙述,此处不再赘述。
接下来介绍本申请实施例提供的另一种地图构建装置,请参阅图18,图18为本申请 实施例提供的地图构建装置的一种结构示意图,地图构建装置1800上可以部署有图17对 应实施例中所描述的地图构建装置1700,用于实现图2对应实施例中各步骤的功能,具体 的,地图构建装置1800由一个或多个服务器实现,地图构建装置1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits, CPU)1822(例如,一个或一个以上中央处理器)和存储器1832,一个或一个以上存储应 用程序1842或数据1844的存储介质1830(例如一个或一个以上海量存储设备)。其中,存储器1832和存储介质1830可以是短暂存储或持久存储。存储在存储介质1830的程序 可以包括一个或一个以上模块(图示没标出),每个模块可以包括对地图构建装置1800中 的一系列指令操作。更进一步地,中央处理器1822可以设置为与存储介质1830通信,在 地图构建装置1800上执行存储介质1830中的一系列指令操作。
地图构建装置1800还可以包括一个或一个以上电源1826,一个或一个以上有线或无 线网络接口1850,一个或一个以上输入输出接口1858,和/或,一个或一个以上操作系统1841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器1822,用于执行图2对应实施例中的语义地图的构建方 法。具体地,中央处理器1822用于:首先,获取目标设备在当前时刻、当前位置监测范 围内的每个物体各自对应的点云数据。在当前时刻、当前位置,目标设备的监测范围可称 为第一监测范围,在该监测范围内存在的任意一个物体,可称为第一物体,第一物体对应 的点云数据则称为第一点云数据。第一监测范围是指部署于该目标设备上的目标传感器在当前时刻、当前位置能感知到的周围环境的感知区域。之后,计算第一点云数据与第二点云数据之间的相似度,第二点云数据为目标设备第二监测范围内第二物体的点云数据,第二监测范围包括目标设备在第一时刻至第二时刻的时间区间内的监测范围,第二物体为第二监测范围内存在的任意一个物体,语义地图基于第二监测范围内的每个物体对应的点云数据构建得到。计算得到第一点云数据与第二点云数据之间的相似度后,会进一步基于相似度确定目标点云数据,例如,可以是当相似度在第一阈值区间,目标点云数据为第一点云数据;也可以是当相似度在第二阈值区间,且在第一点云数据的外包络盒大于第二点云数据的外包络盒的情况下,目标点云数据为第一点云数据;还可以是当相似度在第二阈值区间,且在将第一点云数据与第二点云数据进行点云配准的情况下,则目标点云数据为融合点云数据,具体本申请对目标点云数据的确定方式不做限定。基于第一点云数据和第二点云数据之间的相似度确定目标点云数据后,就会更新该语义地图,具体表现为在语义地图中更新该目标点云数据、目标点云数据的标签信息以及物体的朝向信息。
需要说明的是,中央处理器1822执行上述各个步骤的具体方式,与本申请中图2对应的方法实施例基于同一构思,其带来的技术效果与本申请中图2对应的实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用 于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述所示实施例描述 中执行设备所执行的步骤。
本申请实施例提供的计算机设备具体可以为芯片,芯片包括:处理单元和通信单元, 所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。 该处理单元可执行存储单元存储的计算机执行指令,以使计算机设备内的芯片执行上述图 4所示实施例描述的模型的获取方法。可选地,所述存储单元为所述芯片内的存储单元, 如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的 存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型 的静态存储设备,随机存取存储器(random access memory,RAM)等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际 的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装 置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条 或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软 件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用 CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程 序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术 做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干 指令用以使得一台计算机设备(可以是个人计算机,或者网络设备等)执行本申请各个实 施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机 程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是 通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储 在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传 输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴 电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站 站点、计算机或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任 何可用介质或者是包含一个或多个可用介质集成的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(digital video disc,DVD)、或 者半导体介质(例如固态硬盘(solid state disk,SSD))等。

Claims (37)

1.一种语义地图的构建方法,其特征在于,包括:
获取目标设备在当前时刻第一监测范围内的第一物体对应的第一点云数据,所述第一点云数据用于表征所述第一点云数据中每个点在基准坐标系下的三维坐标值;
计算所述第一点云数据与第二点云数据之间的相似度,所述第二点云数据包括第二监测范围内第二物体的点云数据,所述第二监测范围包括所述目标设备在第一时刻至第二时刻的时间区间内的监测范围,所述第二点云数据用于表征所述第二点云数据中每个点在所述基准坐标系下的三维坐标值;
根据所述相似度确定目标点云数据;
基于所述目标点云数据得到与所述目标点云数据对应的物体的朝向信息,并基于所述目标点云数据得到所述物体的标签信息,所述物体的朝向信息用于表征所述物体的朝向,所述物体的标签信息用于表征所述物体所属的分类类别;
在基于点云数据构建的语义地图中更新所述目标点云数据、所述目标点云数据的标签信息和所述物体的朝向信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标点云数据得到与所述目标点云数据对应的物体的朝向信息包括:
计算第一点和第二点之间连线的垂直平分面,所述第一点和所述第二点为从所述目标点云数据中随机采样得到的两个点;
以所述垂直平分面为对称面,得到所述目标点云数据对应的镜像点云数据;
根据最近邻聚类算法计算得到所述目标点云数据与所述镜像点云数据之间的第一距离,所述第一距离与所述垂直平分面对应,且所述第一距离在预设阈值范围内;
重复执行上述步骤直至达到预设轮次n,得到n个第一距离;
计算目标垂直平分面的法线与所述基准坐标系的轴线之间的夹角,并用所述夹角表征所述目标物体的朝向信息,所述目标垂直平分面与目标距离对应,所述目标距离在所述n个第一距离中取值最小。
3.根据权利要求2所述的方法,其特征在于,所述第一点和所述第二点之间连线与所述基准坐标系中第一轴线平行,所述第一轴线为所述基准坐标系的x轴、y轴或z轴。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一点云数据还用于表征所述第一点云数据中每个点的像素值,所述第二点云数据还用于表征所述第二点云数据中每个点的像素值,所述计算所述第一点云数据与第二点云数据之间的相似度包括:
根据最近邻聚类算法,计算得到所述第一点云数据与所述第二云数据之间的第二距离;
计算所述第一点云数据与所述第二点云数据之间的像素值之差;
根据所述第二距离和所述像素值之差得到所述第一点云数据与第二点云数据之间的相似度。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二距离和所述像素值之差得到所述第一点云数据与第二点云数据之间的相似度包括:
对所述第二距离和所述像素值之差进行加权求和,得到目标值;
将所述目标值通过高斯核映射,得到所述第一点云数据与第二点云数据之间的相似度。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述根据所述相似度确定目标点云数据包括:
在所述相似度位于第一阈值区间的情况下,确定所述第一点云数据为所述目标点云数据,其中,所述物体为所述第一物体。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述根据所述相似度确定目标点云数据还包括:
在所述相似度位于第二阈值区间的情况下,计算所述第一点云数据的第一外包络盒和所述第二点云数据的第二外包络盒;
在所述第一外包络盒的体积大于所述第二外包络盒的体积的情况下,将所述第一点云数据替换所述第二点云数据,并确定所述第一点云数据为所述目标点云数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述第一外包络盒的体积小于等于所述第二外包络盒的体积的情况下,删除所述第一点云数据。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述根据所述相似度确定目标点云数据还包括:
在所述相似度位于第二阈值区间的情况下,将所述第一点云数据与所述第二点云数据进行点云配准,得到所述第一点云数据与所述第二点云数据的融合点云数据;
确定所述融合点云数据为所述目标点云数据。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述获取目标设备在当前时刻第一监测范围内的第一物体对应的第一点云数据包括:
通过部署于所述目标设备上的目标传感器采集所述目标设备在当前时刻第一监测范围内的RGB图像和深度图像;
对所述RGB图像进行实例分割,得到所述RGB图像中第一物体所属的第一区域;
将所述第一区域与所述深度图像进行叠加,得到所述第一物体对应的第一点云数据。
11.根据权利要求10所述的方法,其特征在于,所述目标传感器包括:
深度相机,或,深度传感器与摄像模块的组合。
12.根据权利要求1-11中任一项所述的方法,其特征在于,在所述语义地图中更新所述目标点云数据、所述目标点云数据的标签信息和所述目标物体的朝向信息之后,所述方法还包括:
将所述第二时刻更新为所述当前时刻,所述目标点云数据作为新增的第二点云数据,重复执行上述步骤直至达到预设条件,得到目标全局语义地图,所述目标全局语义地图为最后一次更新得到的语义地图。
13.根据权利要求12所述的方法,其特征在于,所述达到预设条件包括:
所述第一时刻至第二时刻的时间区间达到预设时长。
14.根据权利要求12-13中任一项所述的方法,其特征在于,在得到所述目标全局语义地图后,所述方法还包括:
获取所述目标设备在第三监测范围内每个物体各自对应的点云数据,所述第三监测范围包括所述目标设备在第三时刻至当前时刻的时间区间内的监测范围,所述第三监测范围内存在至少两个物体,所述第三监测范围内每个物体各自对应的点云数据用于表征所述点云数据中每个点在所述基准坐标系下的三维坐标值;
基于所述目标设备在所述第三监测范围内每个物体各自对应的点云数据构建局部语义地图;
基于所述局部语义地图中第三物体对应的第三点云数据与第四物体对应的第四点云数据构建第一物体对描述子,所述第三物体和所述第四物体为所述第三监测范围内存在的任意两个物体,其中,物体对描述子用于表征构成所述物体对描述子的两个目标物体各自所属分类类别构成的标签对、所述两个目标物体各自对应的点云数据的中心点的距离;
将所述目标全局语义地图中每个物体各自对应的点云数据两两构建得到m个第二物体对描述子;
根据所述第一物体对描述子,从所述m个第二物体对描述子中确定p个目标物体对描述子,p≤m;
将所述局部语义地图分别与所述p个目标物体对描述子通过迭代最近点(ICP)算法进行点云配准,分别得到p个位姿值,其中,位姿值用于表征点云数据的旋转矩阵和平移向量;
当所述p个位姿值中存在至少q个位姿值在预设误差范围内,根据所述局部语义地图对所述目标全局语义地图进行优化,q≤p。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
当所述p个位姿值不存在至少q个位姿值在预设误差范围内,重复执行上述步骤,直至所述p个位姿值存在至少q个位姿值在所述预设误差范围内。
16.根据权利要求14-15中任一项所述的方法,其特征在于,
所述物体对描述子还用于表征所述两个目标物体朝向延长线之间的交点分别与所述两个目标物体各自对应的点云数据的中心点的距离。
17.根据权利要求1-16中任一项所述的方法,其特征在于,所述目标设备至少包括如下任意一种:
可移动机器人、手持移动终端设备、智能可穿戴设备。
18.一种地图构建装置,其特征在于,包括:
第一获取模块,用于获取目标设备在当前时刻第一监测范围内的第一物体对应的第一点云数据,所述第一点云数据用于表征所述第一点云数据中每个点在基准坐标系下的三维坐标值;
计算模块,用于计算所述第一点云数据与第二点云数据之间的相似度,所述第二点云数据包括第二监测范围内第二物体的点云数据,所述第二监测范围包括所述目标设备在第一时刻至第二时刻的时间区间内的监测范围,所述第二点云数据用于表征所述第二点云数据中每个点在所述基准坐标系下的三维坐标值;
确定模块,用于根据所述相似度确定目标点云数据;
第二获取模块,用于基于所述目标点云数据得到与所述目标点云数据对应的物体的朝向信息,并基于所述目标点云数据得到所述物体的标签信息,所述物体的朝向信息用于表征所述物体的朝向,所述物体的标签信息用于表征所述物体所属的分类类别;
更新模块,用于在基于点云数据构建的语义地图中更新所述目标点云数据、所述目标点云数据的标签信息和所述物体的朝向信息。
19.根据权利要求18所述的装置,其特征在于,所述第二获取模块,具体用于:
计算第一点和第二点之间连线的垂直平分面,所述第一点和所述第二点为从所述目标点云数据中随机采样得到的两个点;
以所述垂直平分面为对称面,得到所述目标点云数据对应的镜像点云数据;
根据最近邻聚类算法计算得到所述目标点云数据与所述镜像点云数据之间的第一距离,所述第一距离与所述垂直平分面对应,且所述第一距离在预设阈值范围内;
重复执行上述步骤直至达到预设轮次n,得到n个第一距离;
计算目标垂直平分面的法线与所述基准坐标系的轴线之间的夹角,并用所述夹角表征所述目标物体的朝向信息,所述目标垂直平分面与目标距离对应,所述目标距离在所述n个第一距离中取值最小。
20.根据权利要求19所述的装置,其特征在于,所述第一点和所述第二点之间连线与所述基准坐标系中第一轴线平行,所述第一轴线为所述基准坐标系的x轴、y轴或z轴。
21.根据权利要求18-20中任一项所述的装置,其特征在于,所述第一点云数据还用于表征所述第一点云数据中每个点的像素值,所述第二点云数据还用于表征所述第二点云数据中每个点的像素值,所述计算模块,具体用于:
根据最近邻聚类算法,计算得到所述第一点云数据与所述第二云数据之间的第二距离;
计算所述第一点云数据与所述第二点云数据之间的像素值之差;
根据所述第二距离和所述像素值之差得到所述第一点云数据与第二点云数据之间的相似度。
22.根据权利要求21所述的装置,其特征在于,所述计算模块,具体还用于:
对所述第二距离和所述像素值之差进行加权求和,得到目标值;
将所述目标值通过高斯核映射,得到所述第一点云数据与第二点云数据之间的相似度。
23.根据权利要求18-22中任一项所述的装置,其特征在于,所述确定模块,具体用于:
在所述相似度位于第一阈值区间的情况下,确定所述第一点云数据为所述目标点云数据,其中,所述物体为所述第一物体。
24.根据权利要求18-23中任一项所述的装置,其特征在于,所述确定模块,具体还用于:
在所述相似度位于第二阈值区间的情况下,计算所述第一点云数据的第一外包络盒和所述第二点云数据的第二外包络盒;
在所述第一外包络盒的体积大于所述第二外包络盒的体积的情况下,将所述第一点云数据替换所述第二点云数据,并确定所述第一点云数据为所述目标点云数据。
25.根据权利要求24所述的装置,其特征在于,所述确定模块,还用于:
在所述第一外包络盒的体积小于等于所述第二外包络盒的体积的情况下,删除所述第一点云数据。
26.根据权利要求18-25中任一项所述的装置,其特征在于,所述确定模块,具体还用于:
在所述相似度位于第二阈值区间的情况下,将所述第一点云数据与所述第二点云数据进行点云配准,得到所述第一点云数据与所述第二点云数据的融合点云数据;
确定所述融合点云数据为所述目标点云数据。
27.根据权利要求18-26中任一项所述的装置,其特征在于,所述第一获取模块,具体用于:
通过部署于所述目标设备上的目标传感器采集所述目标设备在当前时刻第一监测范围内的RGB图像和深度图像;
对所述RGB图像进行实例分割,得到所述RGB图像中第一物体所属的第一区域;
将所述第一区域与所述深度图像进行叠加,得到所述第一物体对应的第一点云数据。
28.根据权利要求27所述的装置,其特征在于,所述目标传感器包括:
深度相机,或,深度传感器与摄像模块的组合。
29.根据权利要求18-28中任一项所述的装置,其特征在于,所述装置还包括:
迭代模块,用于在所述语义地图中更新所述目标点云数据、所述目标点云数据的标签信息和所述目标物体的朝向信息之后,将所述第二时刻更新为所述当前时刻,所述目标点云数据作为新增的第二点云数据,触发所述第一获取模块、所述计算模块、所述确定模块、所述第二获取模块及所述更新模块重复执行各自的执行步骤直至达到预设条件,得到目标全局语义地图,所述目标全局语义地图为最后一次更新得到的语义地图。
30.根据权利要求29所述的装置,其特征在于,所述达到预设条件包括:
所述第一时刻至第二时刻的时间区间达到预设时长。
31.根据权利要求29-30中任一项所述的装置,其特征在于,所述装置还包括地图优化模块,所述地图优化模块,用于:
获取所述目标设备在第三监测范围内每个物体各自对应的点云数据,所述第三监测范围包括所述目标设备在第三时刻至当前时刻的时间区间内的监测范围,所述第三监测范围内存在至少两个物体,所述第三监测范围内每个物体各自对应的点云数据用于表征所述点云数据中每个点在所述基准坐标系下的三维坐标值;
基于所述目标设备在所述第三监测范围内每个物体各自对应的点云数据构建局部语义地图;
基于所述局部语义地图中第三物体对应的第三点云数据与第四物体对应的第四点云数据构建第一物体对描述子,所述第三物体和所述第四物体为所述第三监测范围内存在的任意两个物体,其中,物体对描述子用于表征构成所述物体对描述子的两个目标物体各自所属分类类别构成的标签对、所述两个目标物体各自对应的点云数据的中心点的距离;
将所述目标全局语义地图中每个物体各自对应的点云数据两两构建得到m个第二物体对描述子;
根据所述第一物体对描述子,从所述m个第二物体对描述子中确定p个目标物体对描述子,p≤m;
将所述局部语义地图分别与所述p个目标物体对描述子通过迭代最近点(ICP)算法进行点云配准,分别得到p个位姿值,其中,位姿值用于表征点云数据的旋转矩阵和平移向量;
当所述p个位姿值中存在至少q个位姿值在预设误差范围内,根据所述局部语义地图对所述目标全局语义地图进行优化,q≤p。
32.根据权利要求31所述的装置,其特征在于,所述地图优化模块,还用于:
当所述p个位姿值不存在至少q个位姿值在预设误差范围内,重复执行上述步骤,直至所述p个位姿值存在至少q个位姿值在所述预设误差范围内。
33.根据权利要求31-32中任一项所述的装置,其特征在于,
所述物体对描述子还用于表征所述两个目标物体朝向延长线之间的交点分别与所述两个目标物体各自对应的点云数据的中心点的距离。
34.根据权利要求18-33中任一项所述的装置,其特征在于,所述目标设备至少包括如下任意一种:
可移动机器人、手持移动终端设备、智能可穿戴设备。
35.一种地图构建装置,包括处理器和存储器,所述处理器与所述存储器耦合,其特征在于,
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述执行设备执行如权利要求1-17中任一项所述的方法。
36.一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如权利要求1-17中任一项所述的方法。
37.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-17中任一项所述的方法。
CN202011567751.3A 2020-12-25 2020-12-25 一种语义地图的构建方法及设备 Active CN112784873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011567751.3A CN112784873B (zh) 2020-12-25 2020-12-25 一种语义地图的构建方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011567751.3A CN112784873B (zh) 2020-12-25 2020-12-25 一种语义地图的构建方法及设备

Publications (2)

Publication Number Publication Date
CN112784873A true CN112784873A (zh) 2021-05-11
CN112784873B CN112784873B (zh) 2024-08-23

Family

ID=75752616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011567751.3A Active CN112784873B (zh) 2020-12-25 2020-12-25 一种语义地图的构建方法及设备

Country Status (1)

Country Link
CN (1) CN112784873B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113115214A (zh) * 2021-06-16 2021-07-13 北京奇岱松科技有限公司 基于不可翻转定位标签的室内人体朝向识别系统
CN113609985A (zh) * 2021-08-05 2021-11-05 诺亚机器人科技(上海)有限公司 物体位姿检测方法、检测设备、机器人及可存储介质
CN113656418A (zh) * 2021-07-27 2021-11-16 追觅创新科技(苏州)有限公司 语义地图的保存方法和装置、存储介质、电子装置
CN113744398A (zh) * 2021-09-03 2021-12-03 电子科技大学 一种基于激光与微波协同的地图重构融合方法
CN113792699A (zh) * 2021-09-24 2021-12-14 北京易航远智科技有限公司 一种基于语义点云的对象级快速场景识别方法
CN113920319A (zh) * 2021-12-15 2022-01-11 深圳佑驾创新科技有限公司 一种车道干扰噪声线的滤除方法及装置
WO2023131203A1 (zh) * 2022-01-04 2023-07-13 深圳元戎启行科技有限公司 语义地图更新方法、路径规划方法以及相关装置
CN117788538A (zh) * 2024-02-27 2024-03-29 南京信息工程大学 点云区间配对体积方差一致性的配准方法、装置和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201409125D0 (en) * 2014-05-22 2014-07-09 Nokia Corp Point cloud matching method
US20200257901A1 (en) * 2019-02-13 2020-08-13 Toyota Research Institute, Inc. Labeling point cloud data
CN111798475A (zh) * 2020-05-29 2020-10-20 浙江工业大学 一种基于点云深度学习的室内环境3d语义地图构建方法
CN111815687A (zh) * 2020-06-19 2020-10-23 浙江大华技术股份有限公司 点云匹配方法、定位方法、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201409125D0 (en) * 2014-05-22 2014-07-09 Nokia Corp Point cloud matching method
US20200257901A1 (en) * 2019-02-13 2020-08-13 Toyota Research Institute, Inc. Labeling point cloud data
CN111798475A (zh) * 2020-05-29 2020-10-20 浙江工业大学 一种基于点云深度学习的室内环境3d语义地图构建方法
CN111815687A (zh) * 2020-06-19 2020-10-23 浙江大华技术股份有限公司 点云匹配方法、定位方法、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张鸿燕 等: "视觉SLAM中三维点云配准的Cayley方法", 中国民航大学学报, no. 05 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113115214A (zh) * 2021-06-16 2021-07-13 北京奇岱松科技有限公司 基于不可翻转定位标签的室内人体朝向识别系统
CN113656418B (zh) * 2021-07-27 2023-08-22 追觅创新科技(苏州)有限公司 语义地图的保存方法和装置、存储介质、电子装置
CN113656418A (zh) * 2021-07-27 2021-11-16 追觅创新科技(苏州)有限公司 语义地图的保存方法和装置、存储介质、电子装置
WO2023005379A1 (zh) * 2021-07-27 2023-02-02 追觅创新科技(苏州)有限公司 语义地图的保存方法和装置、存储介质、电子装置
CN113609985A (zh) * 2021-08-05 2021-11-05 诺亚机器人科技(上海)有限公司 物体位姿检测方法、检测设备、机器人及可存储介质
CN113609985B (zh) * 2021-08-05 2024-02-23 诺亚机器人科技(上海)有限公司 物体位姿检测方法、检测设备、机器人及可存储介质
CN113744398A (zh) * 2021-09-03 2021-12-03 电子科技大学 一种基于激光与微波协同的地图重构融合方法
CN113744398B (zh) * 2021-09-03 2023-04-28 电子科技大学 一种基于激光与微波协同的地图重构融合方法
CN113792699A (zh) * 2021-09-24 2021-12-14 北京易航远智科技有限公司 一种基于语义点云的对象级快速场景识别方法
CN113792699B (zh) * 2021-09-24 2024-03-12 北京易航远智科技有限公司 一种基于语义点云的对象级快速场景识别方法
CN113920319B (zh) * 2021-12-15 2022-04-05 深圳佑驾创新科技有限公司 一种车道干扰噪声线的滤除方法及装置
CN113920319A (zh) * 2021-12-15 2022-01-11 深圳佑驾创新科技有限公司 一种车道干扰噪声线的滤除方法及装置
WO2023131203A1 (zh) * 2022-01-04 2023-07-13 深圳元戎启行科技有限公司 语义地图更新方法、路径规划方法以及相关装置
CN117788538A (zh) * 2024-02-27 2024-03-29 南京信息工程大学 点云区间配对体积方差一致性的配准方法、装置和系统
CN117788538B (zh) * 2024-02-27 2024-05-10 南京信息工程大学 点云区间配对体积方差一致性的配准方法、装置和系统

Also Published As

Publication number Publication date
CN112784873B (zh) 2024-08-23

Similar Documents

Publication Publication Date Title
CN112784873B (zh) 一种语义地图的构建方法及设备
US11816907B2 (en) Systems and methods for extracting information about objects from scene information
US20220028163A1 (en) Computer Vision Systems and Methods for Detecting and Modeling Features of Structures in Images
WO2019170164A1 (zh) 基于深度相机的三维重建方法、装置、设备及存储介质
CN113168717B (zh) 一种点云匹配方法及装置、导航方法及设备、定位方法、激光雷达
Liang et al. Image based localization in indoor environments
CN112927353B (zh) 基于二维目标检测和模型对齐的三维场景重建方法、存储介质及终端
US20210274358A1 (en) Method, apparatus and computer program for performing three dimensional radio model construction
Wu et al. Active recognition and pose estimation of household objects in clutter
CN113674400A (zh) 基于重定位技术的光谱三维重建方法、系统及存储介质
EP4055561A1 (en) Object detection device, method, and systerm
GB2610410A (en) Incremental dense 3-D mapping with semantics
CN114066773B (zh) 一种基于点云特征与蒙特卡洛扩展法的动态物体去除
Liu et al. Comparison of 2D image models in segmentation performance for 3D laser point clouds
Border et al. The Surface Edge Explorer (SEE): A measurement-direct approach to next best view planning
CN113536959A (zh) 一种基于立体视觉的动态障碍物检测方法
Wang et al. Global Localization in Large-scale Point Clouds via Roll-pitch-yaw Invariant Place Recognition and Low-overlap Global Registration
Khan et al. Skeleton based human action recognition using a structured-tree neural network
Lin et al. 6D object pose estimation with pairwise compatible geometric features
Song et al. Improved FCM algorithm for fisheye image cluster analysis for tree height calculation
CN117058358B (zh) 一种场景边界检测方法和移动平台
Weibel et al. Sim2real 3d object classification using spherical kernel point convolution and a deep center voting scheme
Tiator et al. US2RO: Union of Superpoints to Recognize Objects
Hielsberg et al. Visibility-based urban exploration and learning using point clouds
Yang et al. Multiscale region fusion algorithm for 3D plane segmentation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant