CN114926536A - 一种基于语义的定位与建图方法、***及智能机器人 - Google Patents

一种基于语义的定位与建图方法、***及智能机器人 Download PDF

Info

Publication number
CN114926536A
CN114926536A CN202210845745.2A CN202210845745A CN114926536A CN 114926536 A CN114926536 A CN 114926536A CN 202210845745 A CN202210845745 A CN 202210845745A CN 114926536 A CN114926536 A CN 114926536A
Authority
CN
China
Prior art keywords
vector
feature
cluster
semantic
dynamic
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
CN202210845745.2A
Other languages
English (en)
Other versions
CN114926536B (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.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
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 Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202210845745.2A priority Critical patent/CN114926536B/zh
Publication of CN114926536A publication Critical patent/CN114926536A/zh
Application granted granted Critical
Publication of CN114926536B publication Critical patent/CN114926536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • 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/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种基于语义的定位与建图方法、***及智能机器人。该基于语义的定位与建图方法,包括获取当前帧图像的矢量特征网络;对矢量特征网络进行剪枝,将矢量特征网络划分为若干个矢量簇;检测每一所述矢量簇的运动状态,获取动态目标的模糊区域;结合所述当前帧图像的语义分割结果,优化模糊区域;剔除精确区域内的动态特征点,基于最小化重投影误差根据当前帧图像中静态特征点进行位姿估计;基于剔除动态特征点的当前帧图像和位姿信息,增量式更新八叉树语义地图。该方法可无需先验知识通过纯物理几何方式独立地检测视野中的动态目标并剔除,提升机器人在动态环境下的定位精度,同时能够建立语义地图。

Description

一种基于语义的定位与建图方法、***及智能机器人
技术领域
本发明涉及视觉地图构建技术领域,尤其涉及一种基于语义的定位与建图方法、***及智能机器人。
背景技术
定位是自主移动机器人的基本能力。在已知环境中,当前大多数定位***所采用的基本方法可以概括为:机器人通过自身携带的传感器感知环境,然后将其感知的环境信息与其内部事先存储的环境地图进行匹配。通过实时感知的环境信息与地图的匹配,机器人校正由里程计的滑移所带来的定位误差,从而更新自身的位姿。而在未知环境中,机器人定位问题转化为同时定位与地图构建(Simultaneous Localization and Mapping,SLAM)问题。SLAM***可以仅从机器人机载传感器接收的数据中同步估计未知环境的地图以及机器人在该地图中的位姿。
目前,SLAM***依据相机(单目、双目、RGB-D相机等)获取数据,能够从环境中获取丰富的视觉纹理信息,从而进行自身定位与环境感知。但传统的视觉SLAM***均假设处于静态环境,即环境中物体处于静止状态,而现实环境中往往会存在运动物体的干扰,导致SLAM算法位姿估计精度不够,甚至定位失败。虽然目前存在可以用于动态场景的视觉SLAM***,但其对于视野中动态目标的感知能力不足且无法获取环境语义信息,导致机器人无法真正理解环境,位姿估计的精度仍然得不到有效提升。
发明内容
本发明实施例提供一基于语义的定位与建图方法及***、智能机器人,以解决目前动态环境下视觉SLAM***对于视野中动态目标的感知能力不足,无法保证定位精度的问题。
一种基于语义的定位与建图方法,包括:
获取当前帧图像对应的矢量特征网络;其中,所述矢量特征网络中的矢量特征用于描述所述当前帧图像中每两个图像特征点之间的关联性;
对所述矢量特征网络进行剪枝处理,去除无关特征,以将所述矢量特征网络划分为若干个矢量簇;其中,所述矢量簇用于指示相同目标的矢量特征集;
检测每一所述矢量簇的运动状态,获取所述当前帧图像中动态目标对应的模糊区域;
根据所述当前帧图像的语义分割结果,优化所述模糊区域,获取所述动态目标对应的精确区域;
剔除所述精确区域内的动态特征点,并基于最小化重投影误差方式根据所述当前帧图像中的静态特征点进行位姿估计;
基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。
一种基于语义的定位与建图***,包括:
矢量特征网络获取模块,用于获取当前帧图像对应的矢量特征网络;其中,所述矢量特征网络中的矢量特征用于描述所述当前帧图像中每两个图像特征点之间的关联性;
剪枝模块,用于对所述矢量特征网络进行剪枝处理,去除无关特征,以将所述矢量特征网络划分为若干个矢量簇;其中,所述矢量簇用于指示相同目标的矢量特征集;
动态目标检测模块,用于检测每一所述矢量簇的运动状态,确定动态特征簇;
模糊区域获取模块,用于获取动态目标的模糊区域;其中,所述模糊区域为所述动态特征簇对应的最小包围多边形;
优化模块,用于结合所述当前帧图像的语义分割结果,优化所述模糊区域,得到所述动态目标的精确区域,并剔除所述精确区域内的动态特征点;
位姿估计模块,用于基于最小化重投影误差方式根据所述当前帧图像中的静态特征点进行位姿估计;
地图更新模块,用于基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。
一种智能机器人,包括传感器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于语义的定位与建图方法。
上述基于语义的定位与建图方法及***、智能机器人中,通过获取当前帧图像对应的矢量特征网络,以建立图像特征点之间的关联性,然后对矢量特征网络进行剪枝处理,去除无关特征,将矢量特征网络划分为若干个矢量簇,以通过该矢量簇描述相同目标的图像特征,故在检测图像中的动态目标时,可直接检测每一矢量簇的运动状态,即可锁定图像中的动态目标,在该动态目标检测的过程中,无需引入先验知识,即可直接通过纯物理几何方式独立地检测视野中的动态目标。然后,通过结合语义分割结果对动态特征簇对应的模糊区域进行优化,获取更加全面的动态目标的精确区域,并剔除该区域内的动态特征点,之后***即可以利用视野中的静态区域进行位姿估计,提升机器人在动态环境下的定位精度,同时能够基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息构建语义地图。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于语义的定位与建图方法的一流程图;
图2是本发明一实施例中的一三角剖分示意图;
图3是本发明一实施例中的一矢量特征示意图;
图4是图1中S102的一具体流程图;
图5是本发明一实施例中的一深度曲线示意图;
图6是图1中步骤S103的一具体流程图;
图7是本发明一实施例中第二矢特征的一投影示意图;
图8是本发明一实施例中动态目标的一模糊区域示意图;
图9是本发明一实施例中矫正后的动态目标的一精确区域示意图;
图10是图1中S104的一具体流程图;
图11是本发明一实施例中基于语义的定位与建图***的一示意图。
图12是本发明一实施例中智能机器人的一示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、***、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。应理解的是,相关的概念解释可能会因为本申请实施例的具体情况有所限制,但并不代表本申请仅能局限于该具体情况,在不同实施例的具体情况可能也会存在差异,具体此处不做限定。
点云数据可简称为点云(point cloud),是指在同一空间参考系下表达目标空间分布和目标表面特性的点的集合。
在本申请实施例中,点云数据可以用于表征该点云数据中每个点的像素值、每个点在基准坐标系下的三维坐标值以及语义信息。
语义分割,是计算机视觉领域中一项重要的研究内容,其目标是将图像分割成具有不同语义信息的区域,并且标注每个区域内每一像素点(目标检测框)对应的语义标签(物体类别信息)。于本实施实例中,通过采用语义分割技术对实时读取的单帧图像进行语义分割,以基于该单帧图像的语义信息增量式更新八叉树语义地图,后续机器人在该语义地图的基础上进行定位时能够识别哪些地图点属于具体哪个物体,可实现与外界环境的交互,从而保证定位精度。
世界坐标系是在计算机视觉领域中,由于摄像机可安放在环境中的任意位置,在环境中选择一个基准坐标系来描述摄像机的位置,并用它描述环境中任何物体的位置,该坐标系就称为世界坐标系。
相机坐标系是一种处于3D坐标系当中,并于观察者密切相关的一种坐标系。
图像坐标系,是指以图像中心为坐标原点,X,Y轴平行于图像两边的坐标系,可用(x, y)表示坐标值。
相机的位姿即相机在空间中的位置和相机的朝向,相机的位姿可视为相机从原始位置到当前位置的变换。
ORB是一种特征点检测、描述及匹配算法,其提取得到的ORB特征点通过FAST角点及二进制编码的Brief描述子表征。
八叉树是一种递归、轴对齐且空间分隔的数据结构,以整个环境空间为基准递归地将空间分成八个方块,这些方块在内存中以八叉树的形式组织起来,而树的每个节点对应于空间中的一个方块。于本实施例中,通过八叉树中的每个节点存储点云图中的点云数据。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一实施例中,如图1所示,提供一种基于语义的定位与建图方法,包括如下步骤:
S101:获取当前帧图像对应的矢量特征网络;其中,矢量特征网络中的矢量特征用于描述当前帧图像中每两个图像特征点之间的关联性。
其中,当前帧图像可指通过RGB-D相机获取的当前帧图像或者通过SLAM***提取的关键帧图像,此处不做限定。矢量特征网络中包含若干个矢量特征,该矢量特征用于描述当前帧图像中每两个图像特征点之间的关联性。该关联性即指两个图像特征点是否属于同一个运动状态一致的物体,若两个图像特征点之间存在矢量特征,则说明两个图像特征点之间具有关联性,若不存在,则说明两个图像特征点之间不具有关联性。该图像特征点为前置流程中预先提取的该帧图像中的ORB特征点。
具体地,由于该帧图像提取得到的ORB特征点是完全独立的,特征点之间毫无联系,因此为了能够直接有效地反应该帧图像中的各个图像特征点之间的关联性,本实施例中,通过获取当前帧图像对应的矢量特征网络,以建立图像特征点之间的联系。
S102:对矢量特征网络进行剪枝处理,去除无关特征,以将矢量特征网络划分为若干个矢量簇;其中,矢量簇用于指示相同目标的矢量特征集。
其中,剪枝处理即指去除矢量特征网络中关联性不足的矢量特征。矢量簇可指示相同目标物体的矢量特征集,或者该矢量簇用于指示该帧图像中相同目标的图像特征点集。可以理解地是,在去除矢量特征网络中关联性不足的矢量特征,即对矢量特征网络中有可能不属于相同目标的矢量特征去除,从而将矢量特征网络基于特征点之间的匹配度,划分为若干个矢量簇,每一矢量簇表征相同目标物体对应的矢量特征集,进而以此来描述相同目标的图像特征。
具体地,对矢量特征网络进行剪枝处理包括:对每一矢量特征进行关联性检测,判断其是否属于关联性不足的无关特征,若属于,则去除该矢量特征。其中,关联性检测主要通过矢量特征的深度变化实现,具体包括:首先判断该矢量特征的长度,若长度满足条件,则通过该矢量特征的深度值拟合深度曲线,若深度曲线上存在目标点(该目标点用于指示在矢量特征指示的坐标范围内的任一点)的梯度值大于第二阈值,若过大,即该矢量特征的深度变化较大,则说明该矢量特征关联的图像特征点之间的关联性不足,即为无关特征;若矢量特征的长度过短,则认为该矢量特征包含的像素点过少,不对其拟合深度曲线,直接计算矢量特征关联的两个图像特征点之间的深度值差,当两者的深度值差较大,则认为两点的关联性或相似度较低,故将该矢量特征作为无关特征去除。
本实施例中,通过对矢量特征网络进行剪枝处理,即对每一矢量特征的关联性进行判断,以去除矢量特征集中关联性不足的矢量特征,从而将矢量特征集划分为若干个矢量簇,以此来表征图像中各目标物体。
进一步地,由于该帧图像中的背景不属于观测目标,无需对背景的矢量簇进行运动状态检测,因此需要将背景对应的矢量簇去除。故实施例中,通过对每一矢量簇进行筛选分析,确定其是否属于背景,若属于,则去除,排除背景干扰,从而得到各观测目标的矢量簇。
其中,对于矢量簇是否属于背景的判断主要通过其包含的矢量特征数进行分析,即若矢量簇中包含的矢量特征数小于预设阈值α,则认为该矢量簇属于远端背景,若不小于预设阈值α,则认为其为观测目标。
S103:检测每一矢量簇的运动状态,确定动态特征簇。
其中,由于矢量簇表征其包含的矢量特征同属于一个目标物体,因此在检测图像中动态目标时,可直接通过检测每一矢量簇的运动状态,进而检测出视野中的动态目标,通过锁定该动态目标对应的矢量特征,以去除该矢量特征所关联的动态目标的图像特征点,排除当前帧图像中动态目标的干扰,进而提升定位的准确度。
具体地,通过对当前帧中的第一矢量簇以及上一帧中的第二矢量簇进行特征匹配,以检测每一矢量簇的运动状态,若匹配失败,将该矢量簇作为动态特征簇,确定动态目标,从而剔除该帧图像中动态目标的图像特征点。其中,该特征匹配具体包括对第一矢量簇中的每一矢量特征与第二矢量簇中的第二矢量特征进行特征匹配,并统计第一矢量簇中匹配成功的矢量特征数,以此作为第一矢量簇与第二矢量簇是否匹配的标准,若匹配,则认为该目标为非动态目标,若匹配失败,则认为该目标为动态目标。
可以理解地是,本实施例中通过获取当前帧图像对应的矢量特征网络,以建立图像特征点之间的关联性,然后对矢量特征网络进行剪枝处理,去除无关特征,将矢量特征网络划分为若干个矢量簇,以通过该矢量簇描述相同目标的图像特征,故在检测图像中的动态目标时,可直接检测每一矢量簇的运动状态,即可锁定图像中的动态目标。在该动态目标检测的过程中,无需引入先验知识,可直接通过纯物理几何方式独立地检测视野中的动态目标。
S104:获取动态目标的模糊区域;其中,模糊区域为动态特征簇对应的最小包围多边形。
S105:根据当前帧图像的语义分割结果,优化模糊区域,得到动态目标的精确区域,并剔除精确区域内的动态特征点。
具体地,可通过目前现有的语义分割算法(例如基于YoloV3实现的语义分割模型)实现对单帧图像的像素级语义分割,得到当前帧图像的语义分割结果。该语义分割结果用于表征当前帧图像中各非动态目标的具体含义及轮廓。可以理解地是,通过动态特征簇可以在当前帧图像中大致判断出哪些图像特征点属于动态目标的动态特征点,但若仅仅是把动态特征簇所指示的动态特征点去除,仍会遗漏一些分布在其他区域的动态特征点,因此本实施例中,以动态特征簇为基础,获取更加全面的动态目标所在区域,即精确区域。
具体地,对于每个动态特征簇,可通过OpenCV中的函数convexHull寻找能包含其全部图像特征点的最小包围多边形,并对该最小包围多变形进行填充,以得到该动态目标的模糊区域,如图8所示,其中,白色区域为动态目标的模糊区域,黑色为静态目标区域。基于上述步骤,可以通过纯物理几何方式,获得视野中动态目标的模糊区域,然后结合各目标的语义信息,对模糊区域进行矫正,即对于分割结果中的每个语义目标,若其与任一动态目标的模糊区域的重合面积大于第六阈值θ(θ大于0.5),则认为此语义目标为动态目标,将语义分割结果中该语义目标的语义分割区域置为该动态目标的精确区域,结果如图9所示。
S106:基于最小化重投影误差方式根据当前帧图像中的静态特征点进行位姿估计。
S107:基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。
具体地,可基于现有技术中的于最小化重投影误差方式根据当前帧图像中的静态特征点进行位姿估计,得到位姿信息,然后根据该位姿基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。其中,重投影误差指三维空间点在二维图像上的像素点和重投影点的差值,由于种种原因计算得到的值和实际情况不完全相符,即误差不可能为0,此时需要将这些差值的和最小化,以获取最优的相机位姿参数。
八叉树语义地图中的每一体素点均融合有对应的语义信息,该语义信息可通过对当前帧图像进行语义分割得到,其用于描述图像中各目标的具体含义和轮廓等,通过该语义信息可区分不同的目标,使得机器人可真正理解环境,从而实现与环境间的交互。
可以理解地是,该语义地图通过八叉树结构存储,同时融入环境的语义信息,以标注每个节点的语义标签,即可得到包含丰富信息的三维语义地图,可在即时场景中基于当前帧图像,实时更新该八叉树语义地图。
具体地,根据当前帧图像的位姿信息,得到世界坐标系到相机坐标系的转换矩阵Tcw,然后根据该转换矩阵Tcw,将当前帧图像中每个非动态目标的图像特征点(静态特征点)转换为世界坐标,以建立点云地图,实时地将语义信息融合到点云地图中,构建包含丰富信息的语义点云地图,最后基于该帧图像的局部点云地图,更新以八叉树结构存储的语义地图中的节点。其中,八叉树语义地图可以随着视野的变化,通过实时获取的帧图像实现即时更新。
本实施例中,通过获取当前帧图像对应的矢量特征网络,以建立图像特征点之间的关联性,然后对矢量特征网络进行剪枝处理,去除无关特征,将矢量特征网络划分为若干个矢量簇,以通过该矢量簇描述相同目标的图像特征,故在检测图像中的动态目标时,可直接检测每一矢量簇的运动状态,即可锁定图像中的动态目标,在该动态目标检测的过程中,无需引入先验知识,即可直接通过纯物理几何方式独立地检测视野中的动态目标。然后,通过结合语义分割结果对动态特征簇对应的模糊区域进行优化,获取更加全面的动态目标的精确区域,并剔除该区域内的动态特征点,之后***即可以利用视野中的静态区域进行位姿估计,提升机器人在动态环境下的定位精度,同时能够基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息构建语义地图。
在一实施例中,步骤S101具体包括:对当前帧图像进行三角剖分,获取三角剖分网络作为矢量特征网络;其中,三角剖分网络中每条连接两个图像特征点的边作为矢量特征。
本实施例中,采用Delaunay三角剖分算法对当前帧图像进行三角剖分,以保证矢量特征网络中既不能存在冗余的矢量特征同时也不遗漏任何一个图像特征点。其中,Delaunay三角剖分的定义为,设有二维点集V,E为由线段e组成的边集,线段e的端点是点集V中的两点;则点集V的Delaunay三角剖分图就是T=(V,E),其得到的剖分网络包括如下性质:
1)边e只连接自己的两个端点,不再会连接点集V中的其他任何一点;
2)边集E中的所有边e都不会相交;
3)图中所有面都是三角形面。
示例性地,Delaunay三角剖分示意图如图2所示,若将得到的三角剖分网络视为无向图,网络中的点视为节点,那么图中任意两个节点之间都至少有一条通路,且能够保证所有边不冗余、不相交。因此本实施例中利用Delaunay三角剖分性质,将当前帧图像的图像特征点集F(如图2中的(a)所示)进行三角剖分,得到边集合
Figure 335328DEST_PATH_IMAGE001
(如图2中的(b)所示)。此时,由于边集合位于图像坐标系中,故可将边集合
Figure 535365DEST_PATH_IMAGE001
中的任一条边都视为一个矢量特征。
示例性地,设
Figure 528729DEST_PATH_IMAGE002
Figure 79796DEST_PATH_IMAGE001
中一条边,其端点分别为图像特征点
Figure 551228DEST_PATH_IMAGE003
Figure 74614DEST_PATH_IMAGE004
,该图像特征点中包含了FAST关键点坐标以及长度为256的二进制BRIEF描述子;则将
Figure 301196DEST_PATH_IMAGE002
定义为一个矢量特征
Figure 11663DEST_PATH_IMAGE005
(如图3所示),定义如下:
Figure 99835DEST_PATH_IMAGE006
,其中,该矢量特征由两部分组成,第一部分为此矢量特征的绝对坐标
Figure 477727DEST_PATH_IMAGE007
,可以在图像坐标系中用于唯一表示矢量特征;第二部分为矢量特征的描述子
Figure 812894DEST_PATH_IMAGE008
,即将特征点
Figure 338553DEST_PATH_IMAGE009
Figure 151788DEST_PATH_IMAGE010
的描述子拼接得到的长度为512的二进制BRIEF描述子。
在一实施例中,如图4所示,步骤102中,即对矢量特征网络进行剪枝处理,去除无关特征,具体包括如下步骤:
S201:若矢量特征的长度大于第一阈值,则根据矢量特征的深度值拟合深度曲线。其中,深度曲线用于描述矢量特征的深度变化。
其中,通过计算该矢量特征的模即可得到该矢量特征的长度,计算公式如下:
Figure 446503DEST_PATH_IMAGE011
,其中,
Figure 952571DEST_PATH_IMAGE005
表示矢量特征,
Figure 903209DEST_PATH_IMAGE012
Figure 582452DEST_PATH_IMAGE013
分别表示该矢量特征的两端点P1和P2(即图像特征点),
Figure 669357DEST_PATH_IMAGE014
表示第一阈值,
Figure 159375DEST_PATH_IMAGE014
取值范围为5~10。
Figure 331731DEST_PATH_IMAGE015
大于第一阈值
Figure 283506DEST_PATH_IMAGE014
,则根据矢量特征的深度值拟合对应的深度曲线。对于深度曲线的拟合具体包括,如示例图5所示,以图像坐标系为x-y平面,以像素点对应的深度值为z值,定义三维坐标系O-x-y-z,由图5可知矢量特征
Figure 756076DEST_PATH_IMAGE005
上的每个像素点
Figure 400684DEST_PATH_IMAGE016
,都存在与其对应的深度值z,故在坐标系O-x-y-z中,对于每一像素点
Figure 857073DEST_PATH_IMAGE016
都存在与其对应的空间点
Figure 81381DEST_PATH_IMAGE017
,故在坐标系O-x-y-z中,存在一条与矢量特征
Figure 142878DEST_PATH_IMAGE005
对应的深度曲线
Figure 974699DEST_PATH_IMAGE018
,以下通过基于最小二乘法基于矢量特征的深度值进行拟合深度曲线,即计算该深度曲线的目标函数。
首先,定义
Figure 121646DEST_PATH_IMAGE019
的待求多项式表达式,即目标函数如下:
Figure 680804DEST_PATH_IMAGE020
其中,x、y为矢量特征
Figure 596807DEST_PATH_IMAGE005
上像素点的二维坐标,z为像素点的深度值。对于深度曲线的拟合,将其分解为两次二维坐标系中的曲线拟合问题,将
Figure 848797DEST_PATH_IMAGE021
投影到x-y平面与y-z平面中,得到O-x-y-z中两个空间面的表达式:
Figure 483040DEST_PATH_IMAGE022
其中,表达式(2)即为图像坐标系中与矢量特征
Figure 49151DEST_PATH_IMAGE005
所重合的直线表达式,且该表达式最高次数为1,故直接基于像素点的坐标结合最小二乘法即可求出。
对于表达式(3)则需要进行二维平面中最小二乘曲线拟合。具体地,对于空间上的某点
Figure 881978DEST_PATH_IMAGE023
,在y-z平面中的投影坐标为
Figure 242552DEST_PATH_IMAGE024
,将其带入式(3)的目标函数(4)中,
Figure 174211DEST_PATH_IMAGE025
综上,最小二乘拟合完成后,可得到
Figure 278434DEST_PATH_IMAGE026
的具体表达式,然后将两式联合,即可得到两空间面在空间中交线
Figure 169029DEST_PATH_IMAGE027
的表达式,即为矢量特征
Figure 762822DEST_PATH_IMAGE005
的深度曲,以此来反映矢量特征的深度变化情况。
S202:若深度曲线上存在目标点的梯度值大于第二阈值,则将矢量特征作为无关特征去除。其中,目标点在矢量特征在三维坐标系下所对应的坐标范围内。
具体地,若深度曲线上存在目标点(x, y)的梯度值大于第二阈值
Figure 106078DEST_PATH_IMAGE028
Figure 279571DEST_PATH_IMAGE029
大于8),即
Figure 86990DEST_PATH_IMAGE030
,则认为该矢量特征的变化较大,该矢量特征关联的图像特征点之间的关联性不足,即相似度不足,故将该矢量特征作为无关特征去除。其中,目标点(x, y)的取值范围指矢量特征在三维坐标系下所指示的坐标范围,即如图5所示的
Figure 789366DEST_PATH_IMAGE005
在三维坐标系下的两个端点P1和P2所指示的坐标范围内取值。
S203:若矢量特征的长度不大于第一阈值,则计算矢量特征连接的两个特征点之间的深度值差。
S204:若深度值差大于第三阈值,则将矢量特征作为无关特征去除。
具体地,若矢量特征的长度不大于第一阈值,则认为该矢量特征包含的像素点过少,故无需针对该矢量特征拟合深度曲线,可直接计算矢量特征两端点的深度值差,并判断该深度值差是否大于第三阈值,若大于,则将矢量特征作为无关特征去除。
在一实施例中,步骤S103具体包括:步骤S301,对第一矢量簇以及第二矢量簇进行特征匹配,若第一矢量簇中与第二矢量簇匹配成功的矢量特征数小于第五阈值,则将第一矢量簇作为动态特征簇。其中,第一矢量簇为当前帧图像对应的矢量簇;第二矢量簇为上一帧图像对应的矢量簇。
具体地,在绝大多数情况下,相机在一段时间内的运动都可以用匀速运动模型来表示,故本实施例中可以基于匀速运动模型来进行矢量簇的匹配判断。其中,匀速运动模型是指:设
Figure 682236DEST_PATH_IMAGE031
帧的相机位姿为
Figure 862682DEST_PATH_IMAGE032
Figure 540919DEST_PATH_IMAGE032
表示从世界坐标系到
Figure 679776DEST_PATH_IMAGE031
帧相机坐标系的变换矩阵,算法用此来表示相机位姿;设
Figure 997625DEST_PATH_IMAGE033
帧的相机位姿为
Figure 44078DEST_PATH_IMAGE034
Figure 29352DEST_PATH_IMAGE035
帧的相机位姿为
Figure 73531DEST_PATH_IMAGE036
Figure 940993DEST_PATH_IMAGE037
表示从
Figure 728821DEST_PATH_IMAGE031
帧到
Figure 365338DEST_PATH_IMAGE038
帧的变换矩阵,
Figure 845998DEST_PATH_IMAGE039
表示从
Figure 872860DEST_PATH_IMAGE033
帧到
Figure 277428DEST_PATH_IMAGE040
帧的变换矩阵,由于相机处于匀速运动,故
Figure 706135DEST_PATH_IMAGE037
Figure 357696DEST_PATH_IMAGE041
是相等。本实施例中,借助匀速运动模型,通过重投影的方式,将当前帧对应的第一矢量簇与上一帧对应的第二矢量簇进行匹配,若第一矢量簇中与第二矢量簇匹配成功的矢量特征数小于第五阈值,则认为该矢量簇为静态特征簇,匹配失败,则视为动态特征簇。
在一实施例中,如图6所示,矢量特征通过绝对坐标和描述子表征;步骤S301中,即对第一矢量簇以及第二矢量簇进行特征匹配,若匹配失败,则将第一矢量簇作为动态特征簇,具体包括如下步骤:
S401:遍历第一矢量簇中每一第一矢量特征,并从第二矢量簇中获取第二矢量特征;其中,第二矢量特征为与第一矢量特征的描述子匹配的矢量特征。
具体地,对于当前帧中的第一矢量簇
Figure 199750DEST_PATH_IMAGE042
Figure 329380DEST_PATH_IMAGE043
Figure 674911DEST_PATH_IMAGE042
中的第一矢量特征,可从上一帧的第二矢量簇
Figure 762953DEST_PATH_IMAGE044
中获取与
Figure 764407DEST_PATH_IMAGE043
的描述子匹配的第二矢量特征
Figure 494465DEST_PATH_IMAGE045
。其中,描述子匹配可通过第一矢量特征与第二矢量特征间的汉明距离来衡量,即通过遍历
Figure 897765DEST_PATH_IMAGE046
中的每一第一矢量特征,并从第二矢量簇
Figure 704178DEST_PATH_IMAGE044
中获取与其汉明距离最小的第二矢量特征
Figure 192928DEST_PATH_IMAGE045
其中,汉明距离的计算公式为
Figure 929940DEST_PATH_IMAGE047
分别为待匹配的两矢量特征
Figure 250063DEST_PATH_IMAGE048
Figure 148749DEST_PATH_IMAGE049
的描述子,若
Figure 187112DEST_PATH_IMAGE050
大于256,则说明这两个矢量特征的描述子不匹配,在候选的若干个汉明距离不大于256的矢量特征中选取最小值作为
Figure 727815DEST_PATH_IMAGE048
的第二矢量特征。
S402:基于绝对坐标,对第一矢量特征以及第二矢量特征进行匹配验证,若验证通过,则第一矢量特征匹配成功。
S403:若匹配成功的第一矢量特征数小于第五阈值,则将第一矢量簇作为动态特征簇。
具体地,设上一帧的相机位姿为
Figure 840127DEST_PATH_IMAGE051
,上一帧的前一帧到上一帧的位姿变换矩阵为
Figure 237610DEST_PATH_IMAGE052
,则借助匀速运动模型,可以得到当前帧的近似位姿
Figure 435374DEST_PATH_IMAGE053
示例性地,假设第二矢量特征由两个特征点标识,分别为
Figure 324308DEST_PATH_IMAGE054
Figure 822285DEST_PATH_IMAGE055
,其对应的在世界坐标系下的空间点分别为
Figure 62774DEST_PATH_IMAGE056
Figure 75729DEST_PATH_IMAGE057
,因此借助当前帧的近似位姿
Figure 692655DEST_PATH_IMAGE058
,通过如下公式(5)和(6)将空间点
Figure 45139DEST_PATH_IMAGE059
Figure 518846DEST_PATH_IMAGE060
投影到当前帧的图像坐标系中,得到近似投影坐标
Figure 691201DEST_PATH_IMAGE061
Figure 174135DEST_PATH_IMAGE062
,如图7所示。
Figure 381125DEST_PATH_IMAGE063
其中,K为相机的内参矩阵。可以理解地是,通过将第二矢量特簇中的待匹配的矢量特征
Figure 228996DEST_PATH_IMAGE064
在三维坐标系下的空间点投影至当前帧的图像坐标系下,以使其与第一矢量特征
Figure 701696DEST_PATH_IMAGE065
均是在当前帧的图像坐标系下进行匹配,在获得
Figure 660425DEST_PATH_IMAGE066
Figure 784239DEST_PATH_IMAGE067
后,即得到
Figure 68590DEST_PATH_IMAGE068
在当前帧中的近似投影坐标
Figure 949958DEST_PATH_IMAGE069
(通过
Figure 774695DEST_PATH_IMAGE070
Figure 690698DEST_PATH_IMAGE071
表示),故只需衡量
Figure 145950DEST_PATH_IMAGE072
Figure 842511DEST_PATH_IMAGE065
的相似度,从而确定矢量特征
Figure 143042DEST_PATH_IMAGE064
Figure 726601DEST_PATH_IMAGE073
是否真正匹配。
进一步地,确定矢量特征
Figure 352755DEST_PATH_IMAGE074
Figure 208715DEST_PATH_IMAGE075
是否真正匹配具体包括,1)首先通过如下公式将矢量
Figure 375254DEST_PATH_IMAGE069
Figure 265850DEST_PATH_IMAGE076
的绝对坐标转换为相对于当前帧的图像坐标系原点的相对坐标;2)通过如下公式(9)计算
Figure 62905DEST_PATH_IMAGE069
Figure 468478DEST_PATH_IMAGE076
的余弦相似度
Figure 110812DEST_PATH_IMAGE077
,并判断余弦相似度
Figure 918231DEST_PATH_IMAGE077
是否大于阈值
Figure 886187DEST_PATH_IMAGE078
;(3)若
Figure 716740DEST_PATH_IMAGE077
大于阈值
Figure 975814DEST_PATH_IMAGE078
Figure 841002DEST_PATH_IMAGE078
的取值范围为0.5~1),则通过如下公式(10)计算两者的欧氏距离
Figure 776597DEST_PATH_IMAGE079
是否小于阈值
Figure 94446DEST_PATH_IMAGE080
Figure 344162DEST_PATH_IMAGE080
的取值范围为1~5),若小于,则验证通过,认定该矢量特征
Figure 126173DEST_PATH_IMAGE064
Figure 170352DEST_PATH_IMAGE075
匹配成功;(4)通过统计第一矢量簇中匹配成功的第一矢量特征数,并判断该统计数是否小于第五阈值,若小于,则将第一矢量簇作为动态特征簇;若不小于,则将第一矢量簇视为静态特征簇。如此,通过对每一第一矢量簇执行步骤(1)-(4)即可检测每一矢量簇的运动状态,从而判断其是否为动态特征簇。
Figure 975497DEST_PATH_IMAGE081
可以理解地是,通过对第一矢量簇中每一第一矢量特征进行描述子匹配,即可从第二矢量簇中初步得到与该第一矢量特相似的第二矢量特征,然后进一步针对这两个矢量特征是否真正匹配进行验证,若验证通过及认定匹配成功,最后通过统计第一矢量簇与第二矢量簇之间匹配成功的矢量特征数,即可确定该矢量簇对应目标是否发生运动,故本实施例中在检测动态目标时,是直接针对特征级的相似性进行判断,无需基于先验知识,如目标的语义信息等。
在一实施例中,如图10所示,步骤S107中,即基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图,具体包括如下步骤:
S501:基于当前帧图像以及位姿信息,对当前帧图像进行三维重建,得到语义点云图。
其中,语义点云图为当前帧图像中各语义目标(或非动态目标)的点云数据所构成的点云集,每一语义目标均对应一点云数据,通过该语义点云图可表征目标之间的拓扑位置关系。
本实施例中,三维重建指将目标帧图像中的语义目标对应的图像特征点在相机坐标系下的三维坐标根据当前帧图像的位姿信息转换为世界坐标下的三维空间点坐标,即可生成图像中每一非动态目标在三维空间中的点云数据,同时将该非动态目标对应的语义信息融合至点云数据中,即可得到各目标的点云数据,若干个点云数据即构成语义点云图。
具体地,根据当前帧图像的位姿信息,得到世界坐标系到相机坐标系的转换矩阵Tcw,然后根据该转换矩阵Tcw,将当前帧图像中每个非动态目标的图像特征点(静态特征点)转换为其对应的世界坐标即点云数据,同时融入对应的语义信息,得到语义点云图。
S502:对语义点云图进行降采样,得到第一点云图。
本实施例中,通过对语义点云图进行降采样,得到第一点云图,以降低计算量。其中,降采样方式包括但不限于采用现有技术中的均匀降采样、最远点降采样、几何降采样等等,此处不做限定。
具体地,该语义点云图中包括各非动态目标对应的点云数据,通过对每一点云数据进行降采样,即可得到第一点云图,该第一点云图中包括每一非动态目标的降采样后的点云数据。
S503:对第一点云图进行降噪处理,去除第一点云图中的噪点,得到目标点云图。
具体地,由于相机测量结果和语义分割的误差,在生成的语义点云图中会存在不属于物体之上的噪声点,影响后续地图更新精度,故本实施例中,通过对第一点云图进行降噪处理,去除第一点云图中的噪点,得到目标点云图。
本实施例中,基于三维欧氏距离聚类实现对第一点云图的降噪,该降噪处理具体包括:
1)首先选取点云数据中的某点
Figure 825641DEST_PATH_IMAGE082
,通过kdTree遍历找到距离其最近的n个点,依次判断这n个点与
Figure 399842DEST_PATH_IMAGE082
之间的欧氏距离是否小于阈值
Figure 425043DEST_PATH_IMAGE083
;若小于阈值
Figure 983063DEST_PATH_IMAGE084
,则将该点记入聚类结果
Figure 309002DEST_PATH_IMAGE085
中;若不小于阈值
Figure 65605DEST_PATH_IMAGE083
,则将该点作为噪点去除;
2)再从聚类结果
Figure 451587DEST_PATH_IMAGE085
中选取一个未经遍历的点
Figure 28062DEST_PATH_IMAGE086
,重复步骤(1),直至聚类结果
Figure 423271DEST_PATH_IMAGE087
中不再加入新的点,聚类完成。
具体地,通过对目标点云图中的每一非动态目标对应的点云数据执行上述步骤1)-2)的降噪处理,即可得到目标点云图。
S504:基于目标点云图,增量式更新八叉树语义地图;其中,八叉树语义地图中的每一体素节点包含体素节点被占据的占据概率。
其中,目标点云图中包括各目标物体的点云数据,该点云数据可包括但不限于三维坐标、颜色以及语义信息等。八叉树语义地图即通过八叉树结构存储其点云数据的节点信息的语义地图,其可看作是由一层层的节点(体素)组成的,该体素中至少包含三维坐标、颜色、表示此体素是否被占据的占据概率以及语义信息等。
本实施例中,增量式更新八叉树语义地图,即对原有目标更新八叉树中对应体素节点的节点信息;对于新目标,***将在地图中创建新的节点存储其点云数据。可以理解地是,由于噪声的存在,会使得某一个体素的占据属性发生变化,例如对于同一个体素
Figure 972064DEST_PATH_IMAGE088
,在
Figure 591265DEST_PATH_IMAGE031
帧时观测到被占据,但是在
Figure 592719DEST_PATH_IMAGE033
帧时观测到未被占据,因此在增量式更新八叉树语义地图时,除根据目标点云图中的点云数据更新每一体素的三维坐标、颜色以及语义信息外,还包括对每个体素的占据属性,即其是否被障碍物占据的占据概率进行更新。
具体地,采用贝叶斯概率模型,在每一次地图增量更新时,都对每个体素节点的占据属性值(占据概率)进行更新,该概率模型为
Figure 791619DEST_PATH_IMAGE089
其中,P(n)表示第n个节点的占据属性值的先验概率,
Figure 7968DEST_PATH_IMAGE090
表示基于先验概率更新后的第T帧时的占据属性的后验概率。
在体素节点中采用概率对数值
Figure 735752DEST_PATH_IMAGE091
来表示此节点的占据属性,故对P(n)进行logit变换,即
Figure 286819DEST_PATH_IMAGE092
,再对上式进行逆变换,即
Figure 289410DEST_PATH_IMAGE093
,若设第n个节点第T帧时的观测值为
Figure 547216DEST_PATH_IMAGE094
,则节点的概率对数可为:
Figure 508219DEST_PATH_IMAGE095
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于语义的定位与建图***,该基于语义的定位与建图***与上述实施例中基于语义的定位与建图方法一一对应。如图11所示,该基于语义的定位与建图***包括矢量特征网络获取模块10、剪枝模块20、动态目标检测模块30、模糊区域获取模块40、优化模块50、位姿估计模块60和地图更新模块70。各功能模块详细说明如下:
矢量特征网络获取模块10,用于获取当前帧图像对应的矢量特征网络;其中,所述矢量特征网络中的矢量特征用于描述所述当前帧图像中每两个图像特征点之间的关联性;
剪枝模块20,用于对所述矢量特征网络进行剪枝处理,去除无关特征,以将所述矢量特征网络划分为若干个矢量簇;其中,所述矢量簇用于指示相同目标的矢量特征集;
动态目标检测模块30,用于检测每一所述矢量簇的运动状态,确定动态特征簇;
模糊区域获取模块40,用于获取动态目标的模糊区域;其中,所述模糊区域为所述动态特征簇对应的最小包围多边形。
优化模块50,用于结合所述当前帧图像的语义分割结果,优化所述模糊区域,得到所述动态目标的精确区域,并剔除所述精确区域内的动态特征点;
位姿估计模块60,用于基于最小化重投影误差方式根据所述当前帧图像中的静态特征点进行位姿估计;
地图更新模块70,用于基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。
具体地,矢量特征网络获取模块具体为:对所述当前帧图像进行三角剖分,获取三角剖分网络作为所述矢量特征网络;其中,所述三角剖分网络中每条连接两个所述图像特征点的边作为所述矢量特征。
具体地,剪枝模块包括深度曲线拟合单元、第一处理单元、深度差计算单元以及第二处理单元。
深度曲线拟合单元,用于若所述矢量特征的长度大于第一阈值,则根据所述矢量特征的深度值拟合深度曲线;其中,所述深度曲线用于描述所述矢量特征的深度变化;
第一处理单元,用于若深度曲线上存在目标点的梯度值大于第二阈值,则将所述矢量特征作为无关特征去除;其中,所述目标点在所述矢量特征在三维坐标系下所对应的坐标范围内;
深度差计算单元,用于若所述矢量特征的长度不大于第一阈值,则计算所述矢量特征关联的两个所述特征点之间的深度值差;
第二处理单元,用于若所述深度值差大于第三阈值,则将所述矢量特征作为无关特征去除。
具体地,动态目标检测模块包括特征匹配单元。
特征匹配单元,用于对第一矢量簇以及第二矢量簇进行特征匹配,若所述第一矢量簇中与所述第二矢量簇匹配成功的矢量特征数小于第五阈值,则将所述第一矢量簇作为动态特征簇;
其中,所述第一矢量簇为所述当前帧图像对应的矢量簇;所述第二矢量簇为上一帧图像对应的矢量簇。
具体地,所述矢量特征通过绝对坐标和描述子表征;特征匹配单元包括描述子匹配子单元、匹配验证子单元和动态特征簇确定子单元。
描述子匹配子单元,用于遍历所述第一矢量簇中每一第一矢量特征,并从所述第二矢量簇中获取第二矢量特征;其中,所述第二矢量特征为与所述第一矢量特征的描述子匹配的矢量特征;
匹配验证子单元,用于基于所述绝对坐标,对所述第一矢量特征以及所述第二矢量特征进行匹配验证,若验证通过,则所述第一矢量特征匹配成功;
动态特征簇确定子单元,用于若所述第一矢量簇中匹配成功的第一矢量特征数小于所述第五阈值,则将所述第一矢量簇作为动态特征簇。
具体地,优化模块具体为:若所述语义分割结果中任一语义目标的语义分割区域与所述模糊区域之间的重合面积大于第六阈值,则将所述语义分割区域作为所述动态目标的模糊区域。
具体地,增量更新模块包括三维重建单元、降采样单元、降噪单元和增量更新单元。
三维重建单元,用于基于当前帧图像和位姿信息,对所述当前帧图像进行三维重建,得到语义点云图;
降采样单元,用于对所述语义点云图进行降采样,得到第一点云图;
降噪单元,用于对所述第一点云图进行降噪处理,去除所述第一点云图中的噪点,得到目标点云图;
增量更新单元,用于基于所述目标点云图,增量式更新八叉树语义地图;其中,所述八叉树语义地图中的每一体素节点包含所述体素节点被占据的占据概率。
关于基于语义的定位与建图***的具体限定可以参见上文中对于基于语义的定位与建图方法的限定,在此不再赘述。上述基于语义的定位与建图***中的各个模块可全部或部分通过软件、硬件及其组合来实现。
在一个实施例中,提供了一种智能机器人,包括传感器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如下步骤:
获取当前帧图像对应的矢量特征网络;其中,所述矢量特征网络中的矢量特征用于描述所述当前帧图像中每两个图像特征点之间的关联性;
对所述矢量特征网络进行剪枝处理,去除无关特征,以将所述矢量特征网络划分为若干个矢量簇;其中,所述矢量簇用于指示相同目标的矢量特征集;
检测每一所述矢量簇的运动状态,确定动态特征簇;
获取动态目标的模糊区域;其中,所述模糊区域为所述动态特征簇对应的最小包围多边形;
结合所述当前帧图像的语义分割结果,优化所述模糊区域,得到所述动态目标的精确区域,并剔除所述精确区域内的动态特征点;
基于最小化重投影误差方式根据所述当前帧图像中的静态特征点进行位姿估计;
基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。
或者,处理器执行计算机程序时实现基于语义的定位与建图***这一实施例中的各模块/单元的功能,例如图11所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于语义的定位与建图方法,其特征在于,包括:
获取当前帧图像对应的矢量特征网络;其中,所述矢量特征网络中的矢量特征用于描述所述当前帧图像中每两个图像特征点之间的关联性;
对所述矢量特征网络进行剪枝处理,去除无关特征,以将所述矢量特征网络划分为若干个矢量簇;其中,所述矢量簇用于指示相同目标的矢量特征集;
检测每一所述矢量簇的运动状态,确定动态特征簇;
获取动态目标的模糊区域;其中,所述模糊区域为所述动态特征簇对应的最小包围多边形;
结合所述当前帧图像的语义分割结果,优化所述模糊区域,得到所述动态目标的精确区域,并剔除所述精确区域内的动态特征点;
基于最小化重投影误差方式根据所述当前帧图像中的静态特征点进行位姿估计;
基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。
2.如权利要求1所述的一种基于语义的定位与建图方法,其特征在于,所述获取当前帧图像对应的矢量特征网络,包括:
对所述当前帧图像进行三角剖分,获取三角剖分网络作为所述矢量特征网络;其中,所述三角剖分网络中每条连接两个所述图像特征点的边作为所述矢量特征。
3.如权利要求1所述的一种基于语义的定位与建图方法,其特征在于,所述对所述矢量特征网络进行剪枝处理,去除无关特征,包括:若所述矢量特征的长度大于第一阈值,则根据所述矢量特征的深度值拟合深度曲线;其中,所述深度曲线用于描述所述矢量特征的深度变化;
若深度曲线上存在目标点的梯度值大于第二阈值,则将所述矢量特征作为无关特征去除;其中,所述目标点在所述矢量特征在三维坐标系下所对应的坐标范围内;
若所述矢量特征的长度不大于第一阈值,则计算所述矢量特征关联的两个所述特征点之间的深度值差;
若所述深度值差大于第三阈值,则将所述矢量特征作为无关特征去除。
4.如权利要求1所述的一种基于语义的定位与建图方法,其特征在于,所述检测每一所述矢量簇的运动状态,包括:
对第一矢量簇以及第二矢量簇进行特征匹配,若所述第一矢量簇中与所述第二矢量簇匹配成功的矢量特征数小于第五阈值,则将所述第一矢量簇作为动态特征簇;
其中,所述第一矢量簇为所述当前帧图像对应的矢量簇;所述第二矢量簇为上一帧图像对应的矢量簇。
5.如权利要求4所述的一种基于语义的定位与建图方法,其特征在于,所述矢量特征通过绝对坐标和描述子表征;所述对所述第一矢量簇以及第二矢量簇进行特征匹配,包括:
遍历所述第一矢量簇中每一第一矢量特征,并从所述第二矢量簇中获取第二矢量特征;其中,所述第二矢量特征为与所述第一矢量特征的描述子匹配的矢量特征;
基于所述绝对坐标,对所述第一矢量特征以及所述第二矢量特征进行匹配验证,若验证通过,则所述第一矢量特征匹配成功;
若所述第一矢量簇中匹配成功的第一矢量特征数小于所述第五阈值,则将所述第一矢量簇作为动态特征簇。
6.如权利要求1所述的一种基于语义的定位与建图方法,其特征在于,所述结合所述当前帧图像的语义分割结果,优化所述模糊区域,得到所述动态目标的精确区域,包括:
若所述语义分割结果中任一语义目标的语义分割区域与所述模糊区域之间的重合面积大于第六阈值,则将所述语义分割区域作为所述动态目标的模糊区域。
7.如权利要求1所述的一种基于语义的定位与建图方法,其特征在于,所述基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图,包括:
基于所述当前帧图像以及所述位姿信息,对所述当前帧图像进行三维重建,得到语义点云图;
对所述语义点云图进行降采样,得到第一点云图;
对所述第一点云图进行降噪处理,去除所述第一点云图中的噪点,得到目标点云图;
基于所述目标点云图,增量式更新八叉树语义地图;其中,所述八叉树语义地图中的每一体素节点包含所述体素节点被占据的占据概率。
8.如权利要求1-7任一项所述的一种基于语义的定位与建图方法,其特征在于,在所述检测每一所述矢量簇的运动状态之前,还包括:
对每一所述矢量簇进行检测分析,判断所述矢量簇是否为背景;
若所述矢量簇为背景,则去除所述矢量簇;
所述检测每一所述矢量簇的运动状态,包括:检测每一非背景的矢量簇的运动状态。
9.一种基于语义的定位与建图***,其特征在于,包括:矢量特征网络获取模块,用于获取当前帧图像对应的矢量特征网络;其中,所述矢量特征网络中的矢量特征用于描述所述当前帧图像中每两个图像特征点之间的关联性;
剪枝模块,用于对所述矢量特征网络进行剪枝处理,去除无关特征,以将所述矢量特征网络划分为若干个矢量簇;其中,所述矢量簇用于指示相同目标的矢量特征集;
动态目标检测模块,用于检测每一所述矢量簇的运动状态,确定动态特征簇;
模糊区域获取模块,用于获取动态目标的模糊区域;其中,所述模糊区域为所述动态特征簇对应的最小包围多边形;
优化模块,用于结合所述当前帧图像的语义分割结果,优化所述模糊区域,得到所述动态目标的精确区域,并剔除所述精确区域内的动态特征点;
位姿估计模块,用于基于最小化重投影误差方式根据所述当前帧图像中的静态特征点进行位姿估计;
地图更新模块,用于基于剔除动态特征点的当前帧图像以及位姿估计得到的位姿信息,增量式更新八叉树语义地图。
10.一种智能机器人,其特征在于,包括传感器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项或者8所述的一种基于语义的定位与建图方法。
CN202210845745.2A 2022-07-19 2022-07-19 一种基于语义的定位与建图方法、***及智能机器人 Active CN114926536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210845745.2A CN114926536B (zh) 2022-07-19 2022-07-19 一种基于语义的定位与建图方法、***及智能机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210845745.2A CN114926536B (zh) 2022-07-19 2022-07-19 一种基于语义的定位与建图方法、***及智能机器人

Publications (2)

Publication Number Publication Date
CN114926536A true CN114926536A (zh) 2022-08-19
CN114926536B CN114926536B (zh) 2022-10-14

Family

ID=82816198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210845745.2A Active CN114926536B (zh) 2022-07-19 2022-07-19 一种基于语义的定位与建图方法、***及智能机器人

Country Status (1)

Country Link
CN (1) CN114926536B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116612390A (zh) * 2023-07-21 2023-08-18 山东鑫邦建设集团有限公司 一种建筑工程用的信息管理***

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180161986A1 (en) * 2016-12-12 2018-06-14 The Charles Stark Draper Laboratory, Inc. System and method for semantic simultaneous localization and mapping of static and dynamic objects
CN110458863A (zh) * 2019-06-25 2019-11-15 广东工业大学 一种基于rgbd与编码器融合的动态slam***
CN110827395A (zh) * 2019-09-09 2020-02-21 广东工业大学 一种适用于动态环境的即时定位与地图构建方法
CN111724439A (zh) * 2019-11-29 2020-09-29 中国科学院上海微***与信息技术研究所 一种动态场景下的视觉定位方法及装置
CN113031005A (zh) * 2021-02-22 2021-06-25 江苏大学 基于激光雷达的吊车动态障碍物识别方法
US20210213973A1 (en) * 2018-08-29 2021-07-15 Movidius Ltd. Computer vision system
CN113516664A (zh) * 2021-09-02 2021-10-19 长春工业大学 一种基于语义分割动态点的视觉slam方法
CN114119732A (zh) * 2021-12-06 2022-03-01 福建工程学院 基于目标检测和K-means聚类的联合优化动态SLAM方法
CN114565675A (zh) * 2022-03-03 2022-05-31 南京工业大学 一种在视觉slam前端去除动态特征点的方法
CN114612525A (zh) * 2022-02-09 2022-06-10 浙江工业大学 基于网格分割与双地图耦合的机器人rgb-d slam方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180161986A1 (en) * 2016-12-12 2018-06-14 The Charles Stark Draper Laboratory, Inc. System and method for semantic simultaneous localization and mapping of static and dynamic objects
US20210213973A1 (en) * 2018-08-29 2021-07-15 Movidius Ltd. Computer vision system
CN110458863A (zh) * 2019-06-25 2019-11-15 广东工业大学 一种基于rgbd与编码器融合的动态slam***
CN110827395A (zh) * 2019-09-09 2020-02-21 广东工业大学 一种适用于动态环境的即时定位与地图构建方法
CN111724439A (zh) * 2019-11-29 2020-09-29 中国科学院上海微***与信息技术研究所 一种动态场景下的视觉定位方法及装置
CN113031005A (zh) * 2021-02-22 2021-06-25 江苏大学 基于激光雷达的吊车动态障碍物识别方法
CN113516664A (zh) * 2021-09-02 2021-10-19 长春工业大学 一种基于语义分割动态点的视觉slam方法
CN114119732A (zh) * 2021-12-06 2022-03-01 福建工程学院 基于目标检测和K-means聚类的联合优化动态SLAM方法
CN114612525A (zh) * 2022-02-09 2022-06-10 浙江工业大学 基于网格分割与双地图耦合的机器人rgb-d slam方法
CN114565675A (zh) * 2022-03-03 2022-05-31 南京工业大学 一种在视觉slam前端去除动态特征点的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAO WANG,LE WANG,BAOFU FANG: "Robust Visual Odeometry Using Semantic Information in Complex Dynamic Scenes", 《COGNITIVE SYSTEMS AND SIGNAL PROCESSING》 *
HAO WANG,YINCAN WANG,BAOFU FANG: "RGB-D Visual Odometry Based on Semantic Feature Points in Dynamic Environments", 《ARTIFICIAL INTELLIGENCE》 *
艾青林,王威,刘刚江: "室内动态环境下基于网格分割与双地图耦合的RGB-D SLAM算法", 《机器人》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116612390A (zh) * 2023-07-21 2023-08-18 山东鑫邦建设集团有限公司 一种建筑工程用的信息管理***
CN116612390B (zh) * 2023-07-21 2023-10-03 山东鑫邦建设集团有限公司 一种建筑工程用的信息管理***

Also Published As

Publication number Publication date
CN114926536B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN111563442B (zh) 基于激光雷达的点云和相机图像数据融合的slam方法及***
Feng et al. 2d3d-matchnet: Learning to match keypoints across 2d image and 3d point cloud
Dimitrov et al. Segmentation of building point cloud models including detailed architectural/structural features and MEP systems
US8199977B2 (en) System and method for extraction of features from a 3-D point cloud
CN112132897A (zh) 一种基于深度学习之语义分割的视觉slam方法
US10192345B2 (en) Systems and methods for improved surface normal estimation
US20120294534A1 (en) Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus
CN112883820B (zh) 基于激光雷达点云的道路目标3d检测方法及***
CN102236794A (zh) 3d场景中3d对象的识别和姿态确定
CN110992427B (zh) 一种形变物体的三维位姿估计方法及定位抓取***
CN112651944B (zh) 基于cad模型的3c部件高精度六维位姿估计方法及***
CN114494610B (zh) 大场景光场实时重建智能理解***与装置
CN115063550B (zh) 一种语义点云地图构建方法、***及智能机器人
CN116662600B (zh) 一种基于轻量结构化线地图的视觉定位方法
CN113570629B (zh) 去除动态物体的语义分割方法及***
CN114926536B (zh) 一种基于语义的定位与建图方法、***及智能机器人
CN115457130A (zh) 一种基于深度关键点回归的电动汽车充电口检测定位方法
CN113822996B (zh) 机器人的位姿估计方法及装置、电子设备、存储介质
CN112446952B (zh) 三维点云法向量的生成方法、装置、电子设备及存储介质
CN116630442B (zh) 一种视觉slam位姿估计精度评估方法及装置
Withers et al. Modelling scene change for large-scale long term laser localisation
Lai et al. 3D semantic map construction system based on visual SLAM and CNNs
GB2593718A (en) Image processing system and method
CN113570713B (zh) 一种面向动态环境的语义地图构建方法及装置
CN115656991A (zh) 车辆外参标定方法、装置、设备以及存储介质

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