CN113763468B - 一种定位方法、装置、系统及存储介质 - Google Patents

一种定位方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN113763468B
CN113763468B CN202110081548.3A CN202110081548A CN113763468B CN 113763468 B CN113763468 B CN 113763468B CN 202110081548 A CN202110081548 A CN 202110081548A CN 113763468 B CN113763468 B CN 113763468B
Authority
CN
China
Prior art keywords
point cloud
image
map
current
point
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.)
Active
Application number
CN202110081548.3A
Other languages
English (en)
Other versions
CN113763468A (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.)
Beijing Jingdong Qianshi Technology Co Ltd
Original Assignee
Beijing Jingdong Qianshi Technology 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 Beijing Jingdong Qianshi Technology Co Ltd filed Critical Beijing Jingdong Qianshi Technology Co Ltd
Priority to CN202110081548.3A priority Critical patent/CN113763468B/zh
Publication of CN113763468A publication Critical patent/CN113763468A/zh
Application granted granted Critical
Publication of CN113763468B publication Critical patent/CN113763468B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/05Geographic models
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本发明实施例公开了一种定位方法、装置、系统及存储介质。在运动物体上安装双目相机,通过双目相机采集运动物体的双目图像,以基于双目图像和全局激光点云地图,对运动物体进行定位,相比于现有技术,无需安装激光传感器,可以降低硬件成本,并节省硬件占用空间;通过提取双目图像中的特征点,以实现提取环境中稳定特征的效果;通过构建视觉重构点云地图,所述视觉重构点云地图仅包括特征点,并基于视觉重构点云地图中的特征点与激光点云地图中的激光点云进行匹配,可以提高匹配效率,进而提高运动物体的定位速度,并降低计算量。

Description

一种定位方法、装置、系统及存储介质
技术领域
本发明实施例涉及无人驾驶技术领域,尤其涉及一种定位方法、装置、系统及存储介质。
背景技术
室外环境的无人驾驶主要包含感知,定位,控制等项技术。其中定位功能是计算当前时刻车体的位置和姿态,从而实现决策和规划的功能。目前主流技术采用激光雷达传感器和IMU(惯性测量单元)实现车体定位。
现有技术中,利用激光雷达传感器进行定位时,首先,利用地图采集车搭载激光雷达采集周围环境的激光点云数据,同时使用RTK(Real-time kinematic,实时动态差分法)和高精度的IMU(惯性测量单元)结合里程计获取每一时刻的位姿,而将激光点云数据、RTK获取的位姿以及高精度的IMU获取的位姿进行拼接,得到实时采集的高精激光点云地图。然后,将实时采集的高精激光点云地图与预先存储的全局高精点云地图匹配,估计车体的位姿,将估计的车体的位姿作为车辆定位结果。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
车体定位过程需要的激光传感器的成本较高,占用空间较大,并且车体位姿估计过程计算量大、耗时长且容易产生累计误差和漂移问题。
发明内容
本发明实施例提供了一种定位方法、装置、系统及存储介质,以实现降低硬件成本和空间占用,并提高位姿估计效率和计算精度的效果。
第一方面,本发明实施例提供了一种定位方法,方法包括:
获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像;
提取所述双目图像的特征点并计算所述双目图像的特征点的深度值;
根据所述特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于所述当前三维视觉地图生成视觉重构点云地图,其中,所述已有三维局部地图是基于当前时段之前预设时段采集的双目图像生成的;
根据所述视觉重构点云地图和所述全局激光点云地图,确定所述运动物体在当前时段的定位结果。
第二方面,本发明实施例还提供了一种定位装置,该装置包括:
信息获取模块,用于获取预先存储的全局激光点云地图和通过运动物体上双目相机采集当前时段的双目图像;
特征点提取模块,用于提取所述双目图像的特征点;
深度值计算模块,用于计算所述双目图像的特征点的深度值;
视觉重构点云地图生成模块,用于根据所述特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于所述当前三维视觉地图生成视觉重构点云地图,其中,所述已有三维局部地图是基于当前时段之前预设时段的采集的双目图像生成的;
定位结果确定模块,用于根据所述视觉重构点云地图和所述激光点云地图,确定所述运动物体在当前时段的定位结果。
第三方面,本发明实施例还提供了一种定位系统,包括:服务器和双目相机;
所述双目相机,用于采集运动物体在当前时段的双目图像,将所述双目图像发送至所述服务器;
所述服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面中任一项所述的定位方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现如第一方面中任一项所述的定位方法。
本实施例提供的技术方案,在运动物体上安装双目相机,通过双目相机采集运动物体的双目图像,以基于双目图像和全局激光点云地图,对运动物体进行定位,相比于现有技术,无需安装激光传感器,可以降低硬件成本,并节省硬件占用空间;通过提取双目图像中的特征点,以实现提取环境中稳定特征的效果;通过构建视觉重构点云地图,所述视觉重构点云地图仅包括特征点,并基于视觉重构点云地图中的特征点与激光点云地图中的激光点云进行匹配,可以提高匹配效率,进而提高运动物体的定位速度,并降低计算量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种定位方法的流程图;
图2为本发明实施例一提供的视觉重构点云的示意图;
图3为本发明实施例二提供的一种定位方法的流程示意图;
图4为本发明实施例二提供的计算特征点的深度值的原理图;
图5为本发明实施例二提供的计算特征点的深度值的另一原理图;
图6为本发明实施例三提供的一种定位方法的流程示意图;
图7为本发明实施例四提供的一种定位方法的流程示意图;
图8为本发明实施例四提供的确定定位结果的整体逻辑示意图;
图9为本发明实施例五提供的一种定位装置的结构示意图;
图10为本发明实施例六提供的一种定位系统的结构示意图;
图11为本发明实施例六提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种定位方法的流程图,本实施例可适用于基于运动物体上双目相机采集当前时段的双目图像和预先存储的全局的激光点云地图对运动物体进行定位的情况,尤其是可以对无人驾驶车辆进行定位的场景,同时也可以用于其他需要定位的应用场景中。该方法可以由定位装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于具有定位功能的终端或服务器中。该方法具体包括以下步骤:
S110、获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像。
其中,所述全局激光点云地图可以预先通过激光传感器采集,并将采集的全局激光点云地图存储在运动物体的存储模块中。所述运动物体可以是无人驾驶车辆、载人车辆或者移动机器人等。所述双目相机可以安装在运动物体的正前方或者运动物体的侧面,用于采集运动物体在当前时段的双目图像,所述双目相机包括左眼相机和右眼相机。所述双目图像包括基于双目相机一个相机采集的第一图像和另一个相机采集的第二图像,所述第一图像和所述第二图像可以分别称为左幅图像和右幅图像。
本实施例中,在运动物体上安装双目相机,通过双目相机采集运动物体的当前时段的双目图像,以基于双目图像和全局激光点云地图,对运动物体进行定位,相比于现有技术,无需安装激光传感器,可以降低硬件成本,并节省硬件占用空间。
S120、提取双目图像的特征点并计算双目图像的特征点的深度值。
其中,双目图像包括当前时段中多个时间点对应的图像帧,每帧图像包括多个像素点,所述特征点可以是每帧图像中比较明显的像素点。例如,特征点可以是每帧图像的轮廓点、每帧图像中较暗的像素点或者每帧图像中较亮的像素点。可以理解的是,由于双目图像具有对称性,可以根据双目图像中第一图像的各像素点的灰度值,确定第一图像的特征点;基于第一图像的各特征点的坐标,划定第二图像中像素点的坐标范围;基于第一图像中像素点的灰度值和第二图像中该坐标范围内的像素点的灰度值,在第二图像中找到与第一图像中的特征点对应的像素点,以基于与第一图像中的特征点对应的像素点的灰度值,确定第二图像的特征点。
具体地,基于第一图像的各像素点的灰度值,确定第一图像的特征点并确定第一图像的特征点的坐标数据为(x,y),则第二图像中与第一图像的特征点对应的像素点的坐标范围为{(x,y-r),(x,y+r)},并在第二图像的像素点的坐标范围{(x,y-r),(x,y+r)}内,找到与第一图像中的特征点对应的像素点,并确定与第一图像中的特征点对应的像素点的灰度值,基于与第一图像中的特征点对应的像素点的灰度值,确定第二图像的特征点,其中,r为纵坐标变化值,可以根据经验确定。
通过上述方式,可以提取双目图像中的特征点,以实现提取环境中稳定特征的效果,有利于后续基于特征点确定运动物体的定位结果。
进一步地,基于第一图像的各特征点和第二图像的各特征点,计算采集所述双目图像的两个相机的视差,并基于视差、相机的焦距、两个相机之间的基线、第一图像的特征点和第二图像的特征点,计算第一图像和第二图像的特征点的深度值。
S130、根据特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于当前三维视觉地图生成视觉重构点云地图。
其中,所述已有三维局部地图是基于当前时段之前预设时段的采集的双目图像生成的,所述当前时段可以是五分钟、十分钟或者其他时间段,所述特征点指的是双目相机在当前时段采集的双目图像中的像素点,所述特征点携带深度值,将携带深度值的特征点加入至已有三维局部地图,以生成当前三维视觉地图,所述当前三维视觉地图中的地图点包括当前时段携带深度值的特征点和当前时段之前预设时段内携带深度值的特征点,所述预设时段可以是当前时段的前五分钟、前十分钟或者其他时间段。通过根据特征点的深度值和已有三维局部地图,生成当前三维视觉地图,可以实时更新三维视觉地图,有利于后续基于实时更新的三维视觉地图实时确定运动物体的定位结果。
进一步地,所述基于所述当前三维视觉地图生成视觉重构点云地图,包括:获取至少一个滑动窗口,其中,所述滑动窗口内包括所述当前时段的双目图像中当前关键帧、一级关联关键帧和二级关联关键帧;分别确定位于所述当前三维视觉地图的所述当前关键帧、所述一级关联关键帧和所述二级关联关键帧对应的地图点;根据当前所述滑动窗口内当前关键帧、一级关联关键帧和二级关联关键帧对应的地图点,构建当前窗口对应的视觉重构点云;基于所有所述滑动窗口的视觉重构点云生成所述视觉重构点云地图。
其中,所述滑动窗口包括满足视觉共视关系的一系列关键帧;所述关键帧指的是帧间位移大小足够或共视关系不太大的帧,一个关键帧对应一个地图点;所述一级关联关键帧指的是与当前关键帧有共视关系的关键帧,即一级关联关键帧可以通过当前关键帧能观测到,且当前关键帧在也可以通过一级关键帧观测到;所述二级关联关键帧指的是与一级关键帧有共视关系的关键帧,并且不在一级关键帧中的关键帧,即二级关联关键帧可以通过一级关键帧能观测到,且一级关键帧在也可以通过二级关键帧观测到;所述当前关键帧对应的地图点指的是从当前关键帧可以观测到的地图点,且从一级关联关键帧也可以观测到该地图点;所述一级关联关键帧对应的地图点指的是从一级关联关键帧可以观测到的地图点,且从二级关联关键帧也可以观测到,但当前关键帧观测不到;二级关联关键帧对应的地图点指的是从二级关联关键帧可以观测到的地图点,且从与二级关联关键帧具有共视关系的其他关键帧观测也可以观测到,但一级关联关键帧观测不到;所述视觉重构点云指的是滑动窗口中的当期关键帧、一级关联关键帧和二级关联关键帧所能观测到的有深度的地图点的集合,所述视觉重构点云地图指的是多帧图像中有深度的特征点在同一个坐标系下的集合,即视觉重构点云地图为多帧图像中视觉重构点云在同一个坐标系下的集合。
示例性地,如图2所示视觉重构点云的示意图,图2中的Pos3表示当前关键帧,Pos2表示一级关联关键帧,Pos1表示二级关联关键帧,x3表示当前关键帧观测的地图点,x2表示Pos2能观测到Pos3观测不到的地图点,x1表示Pos1能观测到Pos2观测不到的地图点,基于地图点x3,地图点x2以及地图点x1构建一个视觉重构点云;同理,如果Pos0为当前关键帧,确定Pos0的一级关联关键帧和二级关联关键帧,并分别确定Pos0能观测到的地图点x0,以及Pos0的一级关联关键帧和二级关联关键帧分别对应的地图点,基于地图点x0对应的地图点,以及Pos0的一级关联关键帧和二级关联关键帧分别对应的地图点,确定另一个滑动窗口的视觉重构点云。基于这个原理,构建当前时段的所有滑动窗口的视觉重构点云,基于所有滑动窗口的视觉重构点云构建当前时段的视觉重构点云地图。
通过上述方式构建视觉重构点云地图,所述视觉重构点云地图仅包括特征点,便于后续基于视觉重构点云地图确定运动物体的定位结果,有利于整体提高运动物体的定位效率。
S140、根据视觉重构点云地图和全局激光点云地图,确定运动物体在当前时段的定位结果。
可选地,可以将视觉重构点云地图中的特征点与全局激光点云地图中的激光点云进行匹配,计算运动物体在当前环境下的位姿矩阵,将位姿变换矩阵作为运动物体在当前环境下的定位结果。可选地,可以基于NDT(Normal Distributions Transform,正态分布变换)算法、FPFH(快速点特征直方图)算法、ICP(迭代最近邻点算法)算法、3Dsc(3D形状上下文)算法或者其他匹配算法,将视觉重构点云地图中的特征点与激光点云地图中的激光点云进行匹配。
上述方式仅基于视觉重构点云地图中的特征点与激光点云地图中的激光点云进行匹配,相比于现有技术中利用实时采集的高精激光点云地图的所有激光点云与已有的激光点云地图的激光点云进行匹配的方式,可以提高匹配速度,进而提高运动物体的定位效率,并降低计算量。
本实施例提供的技术方案,在运动物体上安装双目相机,通过双目相机采集运动物体的双目图像,以基于双目图像和全局激光点云地图,对运动物体进行定位,相比于现有技术,无需安装激光传感器,可以降低硬件成本,并节省硬件占用空间;通过提取双目图像中的特征点,以实现提取环境中稳定特征的效果;通过构建视觉重构点云地图,所述视觉重构点云地图仅包括特征点,并基于视觉重构点云地图中的特征点与激光点云地图中的激光点云进行匹配,可以提高匹配效率,进而提高运动物体的定位速度,并降低计算量。
实施例二
图3为本发明实施例二提供的一种定位方法的流程示意图。本实施例的技术方案在上述实施例的基础上进行了细化,具体地对提取特征点和计算特征点的深度值的过程进行了细化。在该方法实施例中未详尽描述的部分请参考上述实施例。具体参见图3所示,该方法可以包括如下步骤:
S210、获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像。
S220、遍历双目图像的第一图像中的像素点,将遍历到的当前像素点的灰度值与当前像素点的第一邻域范围内像素点的灰度值进行比较。
S230、如果当前像素点的灰度值与第一邻域范围内像素点的灰度值之差大于设定阈值,将当前像素点作为特征点。
具体的解释S220和S230,所述第一图像为双目相机的左幅图像或右幅图像。具体地,以当前点为中心,以预设半径画圆确定,将得到的圆作为当前像素点的第一邻域范围,将圆内或圆上的像素点作为当前像素点的第一邻域范围内像素点,并将当前像素点的灰度值与当前像素点的第一邻域范围内像素点的灰度值进行比较,如果当前像素点的灰度值与第一邻域范围内像素点的灰度值之差大于设定阈值,说明当前像素点的灰度值与当前像素点的第一邻域范围内像素点的灰度值差别都很大,将当前像素点作为特征点。
进一步地,基于预设的遍历顺序确定当前像素点的下一像素点。例如,确定当前像素点的坐标数据,基于弓形遍历顺序确定当前像素点的下一像素点,并确定当前像素点的下一像素点的第一邻域范围内像素点,以及确定当前像素点的下一像素点的灰度值和下一像素点的第一邻域范围内像素点的灰度值,将下一像素点的第一邻域范围内像素点的灰度值与下一像素点的灰度值比较,如果灰度值之差大于设定阈值,说明下一像素点与下一像素点的邻域范围内像素点的灰度值差别都很大,将下一像素点继续作为特征点,重复执行S220~S230,直至找到第一图像的所有特征点。其中,所述预设半径可以为3、5、7等数值,所述设定阈值可以根据经验确定。通过上述方式,可以准确且快速的找到双目图像的第一图像的特征点。
S240、基于第一图像的各特征点的灰度值,以及双目图像的第二图像的各像素点的灰度值,确定第二图像的各特征点。
可选地,所述第二图像的各特征点的确定方法,包括:基于第一图像的各特征点的灰度值和各特征点的预设窗口尺寸内像素点的灰度值,计算第一归一化灰度值,并确定第一图像的各特征点在第二图像中对应的像素点;基于所述第二图像中对应的像素点的灰度值和每个该像素点的预设窗口尺寸内像素点的灰度值,计算第二归一化灰度值;基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度;如果所述匹配度达到设定匹配度阈值,将所述第二图像中对应的像素点作为所述第二图像的特征点。
本实施例中,可以基于SAD(Sum of Absolute Differences,绝对误差和算法)匹配算法计算匹配度,也可以采用平均绝对差算法(MAD)、误差平方和算法(SSD)、平均误差平方和算法(MSD)、归一化积相关算法(NCC)、序贯相似性算法(SSDA)等算法计算匹配度。所述设定匹配度阈值可以为极大值,例如90%、95%等数值。
本实施例以SAD匹配算法计算匹配度为例具体地解释,假设第一图像为左幅图像,第二图像为右幅图像,以左幅图像的特征点w1为中心,预设窗口尺寸为c×c,将预设窗口尺寸内的像素点分成n个小块,所述小块指的是将预设窗口划分的矩形区域,将该预设窗口尺寸内每个小块的每个像素点的灰度值减去特征点w1的灰度值,计算每个小块的归一化灰度值A(i)∈Rc×c,其中,i=1,2…n,根据各小块的归一化灰度值确定左幅图像对应的第一归一化灰度值,R是实数集;同理,确定右幅图像中与左幅图像中特征点w1对应的像素点w2,以右幅图像中像素点w2为中心,预设窗口尺寸为c×c,将预设窗口尺寸内的像素点分成n个小块,将该预设窗口尺寸内每个小块的每个像素点的灰度值减去像素点w2的灰度值,计算每个小块的归一化灰度值B(i)∈Rc×c,其中,i=1,2…n,根据各小块的归一化灰度值确定右幅图像对应的第二归一化灰度值,R是实数集;进一步地,基于第一归一化灰度值和第二归一化灰度值差的绝对值之和,计算左幅图像和右幅图像的匹配度,公式为:
SAD(A,B)=∑i|A(i)-B(i)| (公式1)
进一步地,判断匹配度是否达到匹配度阈值,如果达到,说明第二图像中对应的像素点与第一图像中的特征点匹配度较高,将第二图像中与第一图像中的特征点匹配度较高的像素点作为第二图像的特征点。
为了提高匹配度计算准确度,本实施例可以确定第一图像的各特征点的描述子,以及确定第二图像中与第一图像的各特征点对应的像素点的描述子,基于第一图像的各特征点的描述子和第二图像中对应的像素点的描述子,计算匹配度,所述描述子为描述特征点的n维向量,不同的特征点有不同的描述子。
可选地,所述第一图像的各特征点的描述子和第二图像的各像素点的描述子的确定方法,包括:根据所述第一图像的各特征点的灰度值和各特征点的第二邻域范围内的像素点的灰度值,确定所述第一图像的各特征点的描述子,并根据所述第二图像的各像素点的灰度值和各像素点的第二邻域范围内的像素点的灰度值,确定所述第二图像的各像素点的描述子。
其中,所述第二邻域范围包括第一图像的当前的特征点和当前的特征点周围特定数量像素点的像素区间,所述特定数量可以是128。具体地,确定当前的特征点的灰度值和当前的特征点周围128个像素点,并确定当前的特征点周围128个像素点的灰度值;将当前的特征点周围128个像素点的灰度值均与当前的像素点的灰度值进行比较,如果当前的特征点周围的像素点的灰度值大于当前的像素点的灰度值,则将当前的特征点的描述子设置为1,否则将当前的特征点的描述子设置为0,直至将当前的特征点周围128个像素点的灰度值均与当前像素点的灰度值比较,确定当前的特征点的128维向量,将当前的特征点的128维向量作为当前的特征点的描述子;基于上述原理,确定第一图像中其他特征点的描述子,得到第一图像中各特征点的描述子,以及确定第二图像中与第一图像的特征点对应的每个像素点的描述子。
进一步地,基于上述描述子,所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度的计算方法,包括:基于所述第一图像的各特征点的描述子、所述第二图像中对应的各像素点的描述子、所述第一归一化灰度值以及所述第二归一化灰度值,计算所述匹配度。
本实施例中,采用SAD匹配算法计算匹配度时,基于第一归一化灰度值并根据第一图像的各特征点的描述子(即128维向量),以及基于第二归一化灰度值并根据第二图像的各像素点的描述子(即128维向量),计算第一图像的各特征点与第二图像的各像素之间的相似度,基于第一图像的所有特征点与第二图像的对应像素点之间的相似度,确定所述匹配度。
通过上述方式,可以准确且快速的确定第二图像的特征点,并基于第一图像的特征点的描述子和第二图像的像素点的描述子,计算匹配度,提高匹配度的计算精度。并且,由于计算第一图像和第二图像对应预设窗口内的归一化灰度值,使第一图像或第二图像中每个像素点相对于所在图像的像素点的像素差不变,即第一图像的预设窗口内的像素点处于同一场景,第二图像的预设窗口内的像素点也处于同一场景,因此,对于第一图像的预设窗口内的图像与第二图像对应的预设窗口内的图像的亮度整体不一致的情况,基于SAD匹配算法也可以准确的计算第一图像的各特征点与第二图像中对应的像素点之间的匹配度。
S250、基于双目图像中第一图像的各特征点和第二图像的各特征点,分别计算采集双目图像的两个相机的视差,基于视差、相机的焦距、两个相机之间的基线、第一图像的特征点和第二图像的特征点,计算深度值。
本实施例中,建立世界坐标系,在世界坐标系下,确定第一图像的各特征点和第二图像的各特征点的坐标数据、两个相机的光心的坐标数据、两个相机的基线以及相机之间的焦距,根据第一图像的各特征点和第二图像的各特征点的坐标数据,以及两个光心的坐标数据,确定双目图像的两个相机之间的视差;并分别连接各特征点和两个相机的光心,根据连线与基线的交点、特征点和两个光心,构建相似三角形;基于相似三角形的边长的比例关系,计算各特征点的深度值。
如图4和图5为计算特征点的深度值的原理图,图4和图5位于世界坐标系下,图中P为双目图像的特征点,特征点P的深度假设为z,OL为双目相机中左侧相机的光心,OR为双目相机中右侧相机的光心,左侧相机的视差为hL,右侧相机的视差为hR,b为两个相机之间的基线,b根据两个相机的光心的横坐标确定,f为相机的焦距,f根据相机的光心的纵坐标确定,特征点P与左侧相机的光心的连线与基线的交点为ML,特征点P与右侧相机的光心的连线与基线的交点为MR,基于特征点P、交点ML和交点MR构建一个三角形,并基于特征点P、左侧相机的光心OL和右侧相机的光心OR构建另一个三角形,两个三角形为相似三角形,基于相似三角形的边长的比例关系,计算特征点的深度值。相似三角形的边长的比例关系表达式为:其中,/>
基于上述原理,可以计算特征点P的深度值以及计算双目图像中其他特征点的深度值,得到双目图像中各特征点的深度值。
S260、根据特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于当前三维视觉地图生成视觉重构点云地图。
S270、根据视觉重构点云地图和全局激光点云地图,确定运动物体在当前时段的定位结果。
本实施例提供的技术方案,通过遍历双目图像的第一图像中的像素点,将遍历到的当前像素点的灰度值与当前像素点的第一邻域范围内像素点的灰度值进行比较,如果当前像素点的灰度值与第一邻域范围内像素点的灰度值之差大于设定阈值,将当前像素点作为特征点,可以快速且准确的找到第一图像的特征点,通过计算第一图像的各特征点的描述子,第二图像的像素点的描述子,并基于第一归一化灰度值和第二归一化灰度值,可以准确的计算匹配度,基于匹配度精准确定第二图像的特征点,进一步准确的计算双目图像的各特征点的深度值,以使构建的视觉重构点云地图的中特征点的三维信息更准确,进而基于视觉重构点云地图和全局激光点云地图,准确的确定运动物体的定位结果。
实施例三
图6为本发明实施例三提供的一种定位方法的流程示意图。本实施例的技术方案在上述实施例的基础上进行了细化,具体地对定位结果的确定过程进行了细化。在该方法实施例中未详尽描述的部分请参考上述实施例。具体参见图6所示,该方法可以包括如下步骤:
S310、获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像。
S320、提取双目图像的特征点并计算双目图像的特征点的深度值。
S330、根据特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于当前三维视觉地图生成视觉重构点云地图。
其中,所述已有三维局部地图是基于当前时段之前预设时段的采集的双目图像生成的。
S340、基于视觉重构点云地图中视觉重构点云的坐标向量和全局激光点云地图中激光点云的坐标向量,计算位姿变换矩阵,将位姿变换矩阵作为运动物体在当前时段的定位结果。
如前述描述,可以基于NDT算法确定运动物体在当前环境下的定位结果。可选地,所述位姿变换矩阵的确定方法,包括:将所述全局激光点云地图中各激光点云投票至预设尺寸的格子中,确定各激光点云所在的格子,并将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下;在所述激光坐标系下,确定各所述视觉重构点云对应的目标格子,并根据所述目标格子内激光点云的坐标向量和所述视觉重构点云的坐标向量,计算所述位姿变换矩阵。
本实施例中,所述全局激光点云地图位于激光坐标系下,所述预设尺寸可以是0.5米,将激光点云地图存入分辨率为0.5的立方体格子中,将各激光点云投票在所在的格子中,以判断各激光点云位于哪个格子内。
具体地,所述将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下,包括:确定所述视觉重构点云地图的相邻关键帧的帧间位姿变换矩阵;根据所述视觉重构点云地图的相邻关键帧中当前关键帧的上一关键帧的估计矩阵和所述帧间位姿变换矩阵,计算所述视觉重构点云地图的相邻关键帧中当前关键帧的估计矩阵;基于得到的视觉重构点云地图中各关键帧的估计矩阵,将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下。
本实施例中,可以基于ORB-SLAM2(Oriented Brief-Simultaneous Localizationand Mapping,定向简洁型同时定位和地图构建)系统确定帧间位姿变换矩阵,所述ORB-SLAM2系统提供了单目、双目和深度相机的接口,可以以20Hz的频率实时输出相机的位姿,根据实时输出的相机的位姿确定帧间位姿变换矩阵。具体地,采用ORB-SLAM2系统对视觉重构点云上各地图点进行观测,确定各地图点的最小化重投影误差函数,对各地图点的最小化重投影误差函数进行优化求解,确定相机的位姿,并根据相机的位姿确定帧间位姿变换矩阵。
其中,所述相邻关键帧可以是视觉重构点云地图中同一滑动窗口内的相邻关键帧,也可以是相邻滑动窗口内的相邻关键帧。结合图2所示,如果相邻关键帧位于同一滑动窗口内,将图2中的Pos1作为相邻关键帧中的当前关键帧,将Pos2作为相邻关键帧中的上一关键帧,或者,将图2中的Pos2作为相邻关键帧中的当前关键帧,将Pos3作为相邻关键帧中的上一关键帧;如果相邻关键帧未位于同一滑动窗口内,结合图2,将图2中的Pos0作为相邻关键帧中的当前关键帧,将Pos1作为相邻关键帧中的上一关键帧。具体地,相邻关键帧中当前关键帧的估计矩阵的计算公式为:
其中,是相邻关键帧中当前关键帧的位姿,/>是相邻关键帧中当前关键帧的上一关键帧的位姿,则/>是是相邻关键帧的帧间位姿变换矩阵,/>是当前关键帧的上一关键帧的估计矩阵,/>是当前关键帧的估计矩阵。因此,基于公式(3)可以计算相邻关键帧中当前关键帧的估计矩阵。
本实施例中,视觉重构点云地图位于世界坐标系下,全局激光点云地图位于激光坐标系下,需要将视觉重构点云地图由世界坐标系转换至激光坐标系,以在激光坐标系下,基于视觉重构点云地图和全局激光点云地图,确定运动物体在当前环境下的定位结果。其中,世界坐标系和激光坐标系的转换公式为:
其中,p、是激光坐标系下的各关键帧的视觉重构点云,p是世界坐标系下的各关键帧的视觉重构点云,是世界坐标系下的视觉重构点云与激光坐标系下的视觉重构点云之间的变化关系,由ORB-SLAM2系统确定。因此,结合公式(3)和公式(4)可以计算视觉重构点云地图中各关键帧在激光坐标系下的估计矩阵,以实现将视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下,并在激光坐标系下,确定视觉重构点云地图中的视觉重构点云所在的目标格子,以基于目标格子内激光点的坐标向量和视觉重构点云的坐标向量,计算位姿变换矩阵。
具体地,所述根据所述目标格子内激光点云的坐标向量和所述视觉重构点云的坐标向量,计算所述位姿变换矩阵,包括:基于所述目标格子内激光点云的坐标向量,计算所述目标格子的激光点云坐标均值和激光点云坐标方差;基于所述目标格子的激光点云坐标均值、激光点云坐标方差以及所述目标格子内视觉重构点云的坐标向量,计算所述目标格子对应的概率分布密度函数;根据所述目标格子对应的概率分布密度函数,确定所述位姿变换矩阵。
所述目标格子中激光点云坐标均值的计算公式为:
其中,是目标格子中激光点云坐标均值,m是目标格子中激光点云的个数,/>是目标格子中各激光点云的坐标向量。
所述目标格子中激光点云坐标方差的计算公式为:
其中,∑是目标格子中激光点云坐标方差。
所述目标格子对应的概率分布密度函数的计算公式为:
其中,是目标格子内视觉重构点云的坐标向量,/>是目标格子对应的概率分布密度函数。
进一步地,计算所有所述目标格子的概率密度最大值,将所述概率密度最大值对应的坐标向量,作为所述位姿变换矩阵。
其中,所有目标格子的概率密度最大值的计算公式为:
其中,Ψ是目标格子的概率密度最大值。
与前述方式不同的,本实施例还可以先确定每个格子的激光点云坐标均值和激光点云坐标方差,将视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下后,确定视觉重构点云对应的目标格子,并基于目标格子下的激光点云坐标均值、激光点云坐标方差和目标格子内视觉重构点云的坐标向量,确定目标格子对应的概率分布密度函数,进一步地根据目标格子对应的概率分布密度函数,确定所述位姿变换矩阵。基于此,所述基于所述视觉重构点云地图中视觉重构点云的坐标向量和所述全局激光点云地图中激光点云的坐标向量,计算位姿变换矩阵,包括:将所述全局激光点云地图中各激光点云投票至预设尺寸的格子中;基于每个格子内激光点云的坐标向量,计算每个格子的激光点云坐标均值和激光点云坐标方差;将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下,并在所述激光坐标系下,确定各所述视觉重构点云对应的目标格子;基于目标格子的激光点云坐标均值、激光点云坐标方差以及目标格子内视觉重构点云的坐标向量,计算目标格子对应的概率分布密度函数;根据目标格子对应的概率分布密度函数,确定所述位姿变换矩阵。
其中,每个格子中激光点云坐标均值可以根据公式5计算,此处公式5中的是每个格子中激光点云坐标均值,m是每个格子中激光点云的个数,/>是每个格子中各激光点云的坐标向量;每个格子的激光点云坐标方差可以根据公式6计算,此处公式6中的∑是每个格子中激光点云坐标方差。
本实施例提供的技术方案,将全局激光点云地图中的激光云投票至格子中,可以提高视觉重构点云和全局激光点云中激光点的匹配速度;并且,基于NDT算法,可以将视觉重构点云地图中视觉重构点云和全局激光点云地图中激光点云进行匹配,收敛条件是目标格子的概率密度达到最大,不苛求每个点都要重合,可以提高匹配效率和匹配准确度。
实施例四
图7为本发明实施例四提供的一种定位方法的流程示意图。本实施例的技术方案对每个步骤进行了细化,以整体解释定位过程。在该方法实施例中未详尽描述的部分请参考上述实施例。具体参见图7所示,该方法可以包括如下步骤:
S410、获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像。
S420、遍历双目图像的第一图像中的像素点,将遍历到的当前像素点的灰度值与当前像素点的第一邻域范围内像素点的灰度值进行比较,如果当前像素点的灰度值与第一邻域范围内像素点的灰度值之差大于设定阈值,将当前像素点作为特征点。
S430、基于双目图像的第一图像的各特征点的灰度值,以及双目图像的第二图像的各像素点的灰度值,确定第二图像的各特征点。
可选地,所述基于所述双目图像的第一图像的各特征点的灰度值,以及所述双目图像的第二图像的各像素点的灰度值,确定第二图像的各特征点,包括:基于所述第一图像的各特征点的灰度值和所述各特征点的预设窗口尺寸内像素点的灰度值,计算第一归一化灰度值,并确定所述第一图像的各特征点在第二图像中对应的像素点;基于所述第二图像中对应的像素点的灰度值和每个该像素点的预设窗口尺寸内像素点的灰度值,计算第二归一化灰度值;基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度;如果所述匹配度达到设定匹配度阈值,将所述第二图像中对应的像素点作为所述第二图像的特征点。
可选地,在所述基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度之前,所述方法还包括:根据所述第一图像的各特征点的灰度值和各特征点的第二邻域范围内的像素点的灰度值,确定所述第一图像的各特征点的描述子,并根据所述第二图像的各像素点的灰度值和各像素点的第二邻域范围内的像素点的灰度值,确定所述第二图像的各像素点的描述子;
相应的,所述基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度,包括:基于所述第一图像的各特征点的描述子、所述第二图像的各特征点的描述子、所述第一归一化灰度值以及所述第二归一化灰度值,计算所述匹配度。
S440、基于双目图像中第一图像的各特征点和第二图像的各特征点,分别计算采集双目图像的两个相机的视差,基于视差、相机的焦距、两个相机之间的基线、第一图像的特征点和第二图像的特征点,计算深度值。
S450、根据特征点的深度值和已有三维局部地图,生成当前三维视觉地图。
S460、获取至少一个滑动窗口,分别确定位于当前三维视觉地图的当前关键帧、一级关联关键帧和二级关联关键帧对应的地图点。
其中,所述滑动窗口内包括所述当前时段的双目图像中当前关键帧、一级关联关键帧和二级关联关键帧。
S470、根据当前滑动窗口内当前关键帧、一级关联关键帧和二级关联关键帧对应的地图点,构建当前窗口对应的视觉重构点云,基于所有滑动窗口的视觉重构点云生成视觉重构点云地图。
S480、基于视觉重构点云地图中视觉重构点云的坐标向量和全局激光点云地图中激光点云的坐标向量,计算位姿变换矩阵,将位姿变换矩阵作为运动物体在当前时段的定位结果。
可选地,所述基于所述视觉重构点云地图中视觉重构点云的坐标向量和所述全局激光点云地图中激光点云的坐标向量,计算位姿变换矩阵,包括:将所述全局激光点云地图中各激光点云投票至预设尺寸的格子中,确定各激光点云所在的格子,并将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下;在所述激光坐标系下,确定各所述视觉重构点云对应的目标格子,并根据所述目标格子内激光点云的坐标向量和所述视觉重构点云的坐标向量,计算所述位姿变换矩阵。
具体地,所述根据所述目标格子内激光点云的坐标向量和所述视觉重构点云的坐标向量,计算所述位姿变换矩阵,包括:基于所述目标格子内激光点云的坐标向量,计算所述目标格子的激光点云坐标均值和激光点云坐标方差;基于所述目标格子的激光点云坐标均值、激光点云坐标方差以及所述目标格子内视觉重构点云的坐标向量,计算所述目标格子对应的概率分布密度函数;根据所述目标格子对应的概率分布密度函数,确定所述位姿变换矩阵。
具体地,所述根据所述目标格子对应的概率分布密度函数,确定所述位姿变换矩阵,包括:计算所有所述目标格子的概率密度最大值,将所述概率密度最大值对应的坐标向量,作为所述位姿变换矩阵。
具体地,所述将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下,包括:确定所述视觉重构点云地图的相邻关键帧的帧间位姿变换矩阵;根据所述视觉重构点云地图的相邻关键帧中当前关键帧的上一关键帧的估计矩阵和所述帧间位姿变换矩阵,计算所述视觉重构点云地图的相邻关键帧中当前关键帧的估计矩阵;基于得到的视觉重构点云地图中各关键帧的估计矩阵,将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下。
如图8所示为确定定位结果的整体逻辑示意图。结合图8解释上述步骤,通过运动物体上双目相机采集当前时段的双目图像;遍历双目图像的像素点,确定双目图像的第一图像中的当前像素点,将遍历到的当前像素点的灰度值与当前像素点的第一邻域范围内像素点的灰度值确定双目图像的第一图像的所有特征点,并基于双目图像的第一图像的各特征点的灰度值,以及双目图像的第二图像的各像素点的灰度值,确定第二图像的各特征点,得到ORB特征;进一步地,基于第一图像的各特征点和第二图像的各特征点,分别计算采集双目图像的两个相机的视差,基于视差、相机的焦距、两个相机之间的基线、双目图像的特征点,计算所述深度值,根据特征点的深度值和已有三维局部地图,生成当前视觉地图,即根据双目视差重构点云;进一步地,获取第一个滑动窗口,确定第一个滑动窗口对应的视觉重构点云,根据第一个滑动窗口对应的视觉重构点云构建视觉重构点云地图,即基于滑窗创建局部地图,基于第一个滑动窗口对应的视觉重构点云地图确定相邻关键帧的帧间位姿变换矩阵,将帧间位姿变换矩阵作为NDT配准的初值;进一步地,对局部地图进行跟踪,不断添加新的关键帧,并获取新的滑动窗口,确定新的滑动窗口对应的视觉重构点云,不断的构建视觉重构点云地图,即基于双目视差重构视觉重构点云地图,并计算视觉重构点云地图的各关键帧的估计矩阵;基于NDT配准的初值和各关键帧的估计矩阵,将视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下,以在激光坐标系下,基于NDT配准的初值、各关键帧的估计矩阵和全局激光点云地图的激光点,计算位姿变换矩阵,将位姿变换矩阵作为运动物体在当前环境下的定位结果。
本实施例中,还可以在运动物体上安装激光传感器,通过激光传感器采集当前环境下的激光点云数据,并使用RTK(Real-time kinematic,实时动态差分法)和高精度的IMU结合里程计获取每一时刻的位姿,而将激光点云数据、RTK获取的位姿以及高精度的IMU获取的位姿进行拼接,得到实时采集的高精激光点云地图,将实时采集的高精激光点云地图与预先存储的全局高精点云地图匹配,估计运动物体的位姿,得到运动物体的定位结果。如果实时采集的高精激光点云地图与预先存储的全局高精点云地图匹配失败,可以采用S410~S480的方法对车体进行重定位,将重定位结果作为运动物体的定位结果。可选地,还可以将基于实时采集的高精激光点云地图与预先存储的全局高精点云地图匹配得到的定位结果,与基于S410~S480的方法得到的定位结果结合,确定运动物体的定位结果。通过上述方式,可以提供多种定位方式,供用户灵活切换,并提高定位精度,有利于推广。
实施例五
图9为本发明实施例五提供的一种定位装置的结构示意图。参见图9所示,该系统包括:信息获取模块510、特征点提取模块520、深度值计算模块530、视觉重构点云地图生成模块540以及定位结果确定模块550。
其中,信息获取模块510,用于获取预先存储的全局激光点云地图和通过运动物体上双目相机采集当前时段的双目图像;
特征点提取模块520,用于提取所述双目图像的特征点;
深度值计算模块530,用于计算所述双目图像的特征点的深度值;
视觉重构点云地图生成模块540,用于根据所述特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于所述当前三维视觉地图生成视觉重构点云地图,其中,所述已有三维局部地图是基于当前时段之前预设时段的采集的双目图像生成的;
定位结果确定模块550,用于根据所述视觉重构点云地图和所述激光点云地图,确定所述运动物体在当前时段的定位结果。
本实施例提供的技术方案,在运动物体上安装双目相机,通过双目相机采集运动物体的双目图像,以基于双目图像和全局激光点云地图,对运动物体进行定位,相比于现有技术,无需安装激光传感器,可以降低硬件成本,并节省硬件占用空间;通过提取双目图像中的特征点,以实现提取环境中稳定特征的效果;通过构建视觉重构点云地图,所述视觉重构点云地图仅包括特征点,并基于视觉重构点云地图中的特征点与激光点云地图中的激光点云进行匹配,可以提高匹配效率,进而提高运动物体的定位速度,并降低计算量。
在上述各技术方案的基础上,特征点提取模块520还用于,遍历所述双目图像的第一图像中的像素点,将遍历到的当前像素点的灰度值与所述当前像素点的第一邻域范围内像素点的灰度值进行比较;
如果所述当前像素点的灰度值与所述第一邻域范围内像素点的灰度值之差大于设定阈值,将所述当前像素点作为所述特征点;
基于所述第一图像的各特征点的灰度值,以及所述双目图像的第二图像的各像素点的灰度值,确定第二图像的各特征点。
在上述各技术方案的基础上,特征点提取模块520还用于,基于所述第一图像的各特征点的灰度值和所述各特征点的预设窗口尺寸内像素点的灰度值,计算第一归一化灰度值,并确定所述第一图像的各特征点在第二图像中对应的像素点;
基于所述第二图像中对应的像素点的灰度值和每个该像素点的预设窗口尺寸内像素点的灰度值,计算第二归一化灰度值;
基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度;
如果所述匹配度达到设定匹配度阈值,将所述第二图像中对应的像素点作为所述第二图像的特征点。
在上述各技术方案的基础上,特征点提取模块520还用于,根据所述第一图像的各特征点的灰度值和各特征点的第二邻域范围内的像素点的灰度值,确定所述第一图像的各特征点的描述子,并根据所述第二图像的各像素点的灰度值和各像素点的第二邻域范围内的像素点的灰度值,确定所述第二图像的各像素点的描述子;
相应的,特征点提取模块520还用于,基于所述第一图像的各特征点的描述子、所述第二图像中对应的各像素点的描述子、所述第一归一化灰度值以及所述第二归一化灰度值,计算所述匹配度。
在上述各技术方案的基础上,深度值计算模块530还用于,基于所述双目图像中第一图像的各特征点和第二图像的各特征点,分别计算采集所述双目图像的两个相机的视差;
基于所述视差、相机的焦距、两个相机之间的基线、所述第一图像的特征点和所述第二图像的特征点,计算所述深度值。
在上述各技术方案的基础上,视觉重构点云地图生成模块540还用于,获取至少一个滑动窗口,其中,所述滑动窗口内包括所述当前时段的双目图像中当前关键帧、一级关联关键帧和二级关联关键帧;
分别确定位于所述当前三维视觉地图的所述当前关键帧、所述一级关联关键帧和所述二级关联关键帧对应的地图点;
根据当前所述滑动窗口内当前关键帧、一级关联关键帧和二级关联关键帧对应的地图点,构建当前窗口对应的视觉重构点云;
基于所有所述滑动窗口的视觉重构点云生成所述视觉重构点云地图。
在上述各技术方案的基础上,定位结果确定模块550还用于,基于所述视觉重构点云地图中视觉重构点云的坐标向量和所述全局激光点云地图中激光点云的坐标向量,计算位姿变换矩阵,将所述位姿变换矩阵作为所述运动物体在所述当前时段的定位结果。
在上述各技术方案的基础上,定位结果确定模块550还用于,将所述全局激光点云地图中各激光点云投票至预设尺寸的格子中,确定各激光点云所在的格子,并将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下;
在所述激光坐标系下,确定各所述视觉重构点云对应的目标格子,并根据所述目标格子内激光点云的坐标向量和所述视觉重构点云的坐标向量,计算所述位姿变换矩阵。
在上述各技术方案的基础上,定位结果确定模块550还用于,基于所述目标格子内激光点的坐标向量,计算所述目标格子的激光点坐标均值和激光点坐标方差;
基于所述目标格子的激光点坐标均值、激光点坐标方差以及所述目标格子内视觉重构点云的坐标向量,计算所述目标格子对应的概率分布密度函数;
根据所述目标格子对应的概率分布密度函数,确定所述位姿变换矩阵。
在上述各技术方案的基础上,定位结果确定模块550还用于,计算所有所述目标格子的概率密度最大值,将所述概率密度最大值对应的坐标向量,作为所述位姿变换矩阵。
在上述各技术方案的基础上,定位结果确定模块550还用于,确定所述视觉重构点云地图的相邻关键帧的帧间位姿变换矩阵;
根据所述视觉重构点云地图的相邻关键帧中上一关键帧的估计矩阵和所述帧间位姿变换矩阵,计算所述视觉重构点云地图的相邻关键帧中下一关键帧的估计矩阵;
基于得到的视觉重构点云地图中各关键帧的估计矩阵,将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下。
实施例六
图10为本发明实施例六提供的一种定位系统的结构示意图。该系统包括双目相机1和服务器2。其中,所述双目相机1,用于在当前时段采集运动物体在当前环境下的双目图像,将双目图像发送至服务器2。所述服务器2根据双目图像确定运动物体在当前环境下的定位结果。
图11示出了适于用来实现本发明实施方式的示例性服务器2的框图。图11显示的服务器2仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,服务器2以通用计算设备的形式表现。服务器2的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
服务器2典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器2访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存32。服务器2可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如定位装置的信息获取模块510、特征点提取模块520、深度值计算模块530、视觉重构点云地图生成模块540以及定位结果确定模块550)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(例如定位装置的信息获取模块510、特征点提取模块520、深度值计算模块530、视觉重构点云地图生成模块540以及定位结果确定模块550)程序模块46的程序/实用工具44,可以存储在例如系统存储器28中,这样的程序模块46包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块46通常执行本发明所描述的实施例中的功能和/或方法。
服务器2也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该服务器2交互的设备通信,和/或与使得该服务器2能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,服务器2还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与服务器2的其它模块通信。应当明白,尽管图中未示出,可以结合服务器2使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种定位方法,该方法包括:
获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像;
提取所述双目图像的特征点并计算所述双目图像的特征点的深度值;
根据所述特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于所述当前三维视觉地图生成视觉重构点云地图,其中,所述已有三维局部地图是基于当前时段之前预设时段采集的双目图像生成的;
根据所述视觉重构点云地图和所述全局激光点云地图,确定所述运动物体在当前时段的定位结果。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种定位方法。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的一种定位方法的技术方案。
实施例七
本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的一种定位方法,该方法包括:
获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像;
提取所述双目图像的特征点并计算所述双目图像的特征点的深度值;
根据所述特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于所述当前三维视觉地图生成视觉重构点云地图,其中,所述已有三维局部地图是基于当前时段之前预设时段采集的双目图像生成的;
根据所述视觉重构点云地图和所述全局激光点云地图,确定所述运动物体在当前时段的定位结果。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的一种定位方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在双目图像、深度值、当前三维视觉地图以及定位结果等,其中承载了计算机可读的程序代码。这种传播的双目图像、深度值、当前三维视觉地图以及定位结果等形式。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
值得注意的是,上述定位装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种定位方法,其特征在于,包括:
获取预先存储的全局激光点云地图和通过运动物体上双目相机采集的当前时段的双目图像;
提取所述双目图像的特征点并计算所述双目图像的特征点的深度值;
根据所述特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于所述当前三维视觉地图生成视觉重构点云地图,其中,所述已有三维局部地图是基于当前时段之前预设时段采集的双目图像生成的;
根据所述视觉重构点云地图和所述全局激光点云地图,确定所述运动物体在当前时段的定位结果;
所述基于所述当前三维视觉地图生成视觉重构点云地图,包括:
获取至少一个滑动窗口,其中,所述滑动窗口内包括所述当前时段的双目图像中当前关键帧、一级关联关键帧和二级关联关键帧;
分别确定位于所述当前三维视觉地图的所述当前关键帧、所述一级关联关键帧和所述二级关联关键帧对应的地图点;
根据当前所述滑动窗口内当前关键帧、一级关联关键帧和二级关联关键帧对应的地图点,构建当前窗口对应的视觉重构点云;
基于所有所述滑动窗口的视觉重构点云生成所述视觉重构点云地图;
所述一级关联关键帧指的是与当前关键帧有共视关系的关键帧,所述二级关联关键帧指的是与一级关键帧有共视关系、并且不在一级关键帧中的关键帧。
2.根据权利要求1所述的方法,其特征在于,所述提取所述双目图像的特征点,包括:
遍历所述双目图像的第一图像中的像素点,将遍历到的当前像素点的灰度值与所述当前像素点的第一邻域范围内像素点的灰度值进行比较;
如果所述当前像素点的灰度值与所述第一邻域范围内像素点的灰度值之差大于设定阈值,将所述当前像素点作为所述特征点;
基于所述第一图像的各特征点的灰度值,以及所述双目图像的第二图像的各像素点的灰度值,确定第二图像的各特征点。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一图像的各特征点的灰度值,以及所述双目图像的第二图像的各像素点的灰度值,确定第二图像的各特征点,包括:
基于所述第一图像的各特征点的灰度值和所述各特征点的预设窗口尺寸内像素点的灰度值,计算第一归一化灰度值,并确定所述第一图像的各特征点在第二图像中对应的像素点;
基于所述第二图像中对应的像素点的灰度值和每个该像素点的预设窗口尺寸内像素点的灰度值,计算第二归一化灰度值;
基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度;
如果所述匹配度达到设定匹配度阈值,将所述第二图像中对应的像素点作为所述第二图像的特征点。
4.根据权利要求3所述的方法,其特征在于,在所述基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度之前,所述方法还包括:
根据所述第一图像的各特征点的灰度值和各特征点的第二邻域范围内的像素点的灰度值,确定所述第一图像的各特征点的描述子,并根据所述第二图像的各像素点的灰度值和各像素点的第二邻域范围内的像素点的灰度值,确定所述第二图像的各像素点的描述子;
相应的,所述基于所述第一归一化灰度值和所述第二归一化灰度值,计算所述第一图像的各特征点与所述第二图像中对应的像素点之间的匹配度,包括:
基于所述第一图像的各特征点的描述子、所述第二图像中对应的各像素点的描述子、所述第一归一化灰度值以及所述第二归一化灰度值,计算所述匹配度。
5.根据权利要求1所述的方法,其特征在于,所述计算所述双目图像的特征点的深度值,包括:
基于所述双目图像中第一图像的各特征点和第二图像的各特征点,分别计算采集所述双目图像的两个相机的视差;
基于所述视差、相机的焦距、两个相机之间的基线、所述第一图像的特征点和所述第二图像的特征点,计算所述深度值。
6.根据权利要求1所述的方法,其特征在于,所述根据所述视觉重构点云地图和所述全局激光点云地图,确定所述运动物体在当前时段的定位结果,包括:
基于所述视觉重构点云地图中视觉重构点云的坐标向量和所述全局激光点云地图中激光点云的坐标向量,计算位姿变换矩阵,将所述位姿变换矩阵作为所述运动物体在所述当前时段的定位结果。
7.根据权利要求6所述的方法,其特征在于,所述基于所述视觉重构点云地图中视觉重构点云的坐标向量和所述全局激光点云地图中激光点云的坐标向量,计算位姿变换矩阵,包括:
将所述全局激光点云地图中各激光点云投票至预设尺寸的格子中,确定各激光点云所在的格子,并将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下;
在所述激光坐标系下,确定各所述视觉重构点云对应的目标格子,并根据所述目标格子内激光点云的坐标向量和所述视觉重构点云的坐标向量,计算所述位姿变换矩阵。
8.根据权利要求7所述的方法,其特征在于,所述根据所述目标格子内激光点云的坐标向量和所述视觉重构点云的坐标向量,计算所述位姿变换矩阵,包括:
基于所述目标格子内激光点云的坐标向量,计算所述目标格子的激光点云坐标均值和激光点云坐标方差;
基于所述目标格子的激光点云坐标均值、激光点云坐标方差以及所述目标格子内视觉重构点云的坐标向量,计算所述目标格子对应的概率分布密度函数;
根据所述目标格子对应的概率分布密度函数,确定所述位姿变换矩阵。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标格子对应的概率分布密度函数,确定所述位姿变换矩阵,包括:
计算所有所述目标格子的概率密度最大值,将所述概率密度最大值对应的坐标向量,作为所述位姿变换矩阵。
10.根据权利要求7所述的方法,其特征在于,所述将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下,包括:
确定所述视觉重构点云地图的相邻关键帧的帧间位姿变换矩阵;
根据所述视觉重构点云地图的相邻关键帧中上一关键帧的估计矩阵和所述帧间位姿变换矩阵,计算所述视觉重构点云地图的相邻关键帧中下一关键帧的估计矩阵;
基于得到的视觉重构点云地图中各关键帧的估计矩阵,将所述视觉重构点云地图中的视觉重构点云由世界坐标系转换至激光坐标系下。
11.一种定位装置,其特征在于,包括:
信息获取模块,用于获取预先存储的全局激光点云地图和通过运动物体上双目相机采集当前时段的双目图像;
特征点提取模块,用于提取所述双目图像的特征点;
深度值计算模块,用于计算所述双目图像的特征点的深度值;
视觉重构点云地图生成模块,用于根据所述特征点的深度值和已有三维局部地图,生成当前三维视觉地图,并基于所述当前三维视觉地图生成视觉重构点云地图,其中,所述已有三维局部地图是基于当前时段之前预设时段的采集的双目图像生成的;
定位结果确定模块,用于根据所述视觉重构点云地图和所述激光点云地图,确定所述运动物体在当前时段的定位结果;
所述视觉重构点云地图生成模块还用于,获取至少一个滑动窗口,其中,所述滑动窗口内包括所述当前时段的双目图像中当前关键帧、一级关联关键帧和二级关联关键帧;
分别确定位于所述当前三维视觉地图的所述当前关键帧、所述一级关联关键帧和所述二级关联关键帧对应的地图点;
根据当前所述滑动窗口内当前关键帧、一级关联关键帧和二级关联关键帧对应的地图点,构建当前窗口对应的视觉重构点云;
基于所有所述滑动窗口的视觉重构点云生成所述视觉重构点云地图;
所述一级关联关键帧指的是与当前关键帧有共视关系的关键帧,所述二级关联关键帧指的是与一级关键帧有共视关系、并且不在一级关键帧中的关键帧。
12.一种定位系统,其特征在于,包括:服务器和双目相机;
所述双目相机,用于采集运动物体在当前时段的双目图像,将所述双目图像发送至所述服务器;
所述服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-10中任一项所述的定位方法。
13.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时实现如权利要求1-10中任一项所述的定位方法。
CN202110081548.3A 2021-01-21 2021-01-21 一种定位方法、装置、系统及存储介质 Active CN113763468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110081548.3A CN113763468B (zh) 2021-01-21 2021-01-21 一种定位方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110081548.3A CN113763468B (zh) 2021-01-21 2021-01-21 一种定位方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113763468A CN113763468A (zh) 2021-12-07
CN113763468B true CN113763468B (zh) 2023-12-05

Family

ID=78786428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110081548.3A Active CN113763468B (zh) 2021-01-21 2021-01-21 一种定位方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113763468B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115457004B (zh) * 2022-09-22 2023-05-26 山东华太新能源电池有限公司 基于计算机视觉的锌膏的智能检测方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469405A (zh) * 2015-11-26 2016-04-06 清华大学 基于视觉测程的同时定位与地图构建方法
CN107796397A (zh) * 2017-09-14 2018-03-13 杭州迦智科技有限公司 一种机器人双目视觉定位方法、装置和存储介质
CN108717710A (zh) * 2018-05-18 2018-10-30 京东方科技集团股份有限公司 室内环境下的定位方法、装置及系统
CN110568447A (zh) * 2019-07-29 2019-12-13 广东星舆科技有限公司 视觉定位的方法、装置及计算机可读介质
CN111337947A (zh) * 2020-05-18 2020-06-26 深圳市智绘科技有限公司 即时建图与定位方法、装置、系统及存储介质
CN111815757A (zh) * 2019-06-29 2020-10-23 浙江大学山东工业技术研究院 基于图像序列的大型构件三维重建方法
CN111951397A (zh) * 2020-08-07 2020-11-17 清华大学 一种多机协同构建三维点云地图的方法、装置和存储介质
GB202016445D0 (en) * 2020-10-16 2020-12-02 Slamcore Ltd Initialising keyframes for visual-inertial localisation and/or mapping
CN112132897A (zh) * 2020-09-17 2020-12-25 中国人民解放军陆军工程大学 一种基于深度学习之语义分割的视觉slam方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469405A (zh) * 2015-11-26 2016-04-06 清华大学 基于视觉测程的同时定位与地图构建方法
CN107796397A (zh) * 2017-09-14 2018-03-13 杭州迦智科技有限公司 一种机器人双目视觉定位方法、装置和存储介质
CN108717710A (zh) * 2018-05-18 2018-10-30 京东方科技集团股份有限公司 室内环境下的定位方法、装置及系统
CN111815757A (zh) * 2019-06-29 2020-10-23 浙江大学山东工业技术研究院 基于图像序列的大型构件三维重建方法
CN110568447A (zh) * 2019-07-29 2019-12-13 广东星舆科技有限公司 视觉定位的方法、装置及计算机可读介质
CN111337947A (zh) * 2020-05-18 2020-06-26 深圳市智绘科技有限公司 即时建图与定位方法、装置、系统及存储介质
CN111951397A (zh) * 2020-08-07 2020-11-17 清华大学 一种多机协同构建三维点云地图的方法、装置和存储介质
CN112132897A (zh) * 2020-09-17 2020-12-25 中国人民解放军陆军工程大学 一种基于深度学习之语义分割的视觉slam方法
GB202016445D0 (en) * 2020-10-16 2020-12-02 Slamcore Ltd Initialising keyframes for visual-inertial localisation and/or mapping

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Stablizied and Rotating Mechanism of 2D Laser Scanner for 3D Point Cloud Reconstruction;Pradya Prempraneerach等;《2018 International Electrical Engineering Congress (iEECON)》;全文 *
基于图优化的移动机器人视觉SLAM;张毅;沙建松;;智能系统学报(02);全文 *
基于视觉的同时定位与地图构建的研究进展;陈常;朱华;由韶泽;;计算机应用研究(03);全文 *

Also Published As

Publication number Publication date
CN113763468A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN110335316B (zh) 基于深度信息的位姿确定方法、装置、介质与电子设备
WO2021233029A1 (en) Simultaneous localization and mapping method, device, system and storage medium
CN110322500B (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
US8199977B2 (en) System and method for extraction of features from a 3-D point cloud
CN110349213A (zh) 基于深度信息的位姿确定方法、装置、介质与电子设备
CN111652934A (zh) 定位方法及地图构建方法、装置、设备、存储介质
US20230065774A1 (en) Computer Vision Systems and Methods for Modeling Three-Dimensional Structures Using Two-Dimensional Segments Detected in Digital Aerial Images
CN113793370B (zh) 三维点云配准方法、装置、电子设备及可读介质
CN114565668A (zh) 即时定位与建图方法及装置
WO2024077935A1 (zh) 一种基于视觉slam的车辆定位方法及装置
CN113763466B (zh) 一种回环检测方法、装置、电子设备和存储介质
Shi et al. An improved lightweight deep neural network with knowledge distillation for local feature extraction and visual localization using images and LiDAR point clouds
CN111753766B (zh) 一种图像处理方法、装置、设备及介质
CN117132649A (zh) 人工智能融合北斗卫星导航的船舶视频定位方法及装置
CN113592015B (zh) 定位以及训练特征匹配网络的方法和装置
CN113763468B (zh) 一种定位方法、装置、系统及存储介质
CN113932796A (zh) 高精地图车道线生成方法、装置和电子设备
CN112085842B (zh) 深度值确定方法及装置、电子设备和存储介质
US20230053952A1 (en) Method and apparatus for evaluating motion state of traffic tool, device, and medium
CN117011481A (zh) 构建三维地图的方法、装置、电子设备及存储介质
CN114399532A (zh) 一种相机位姿确定方法和装置
CN113721240A (zh) 一种目标关联方法、装置、电子设备及存储介质
CN112991388A (zh) 基于光流跟踪预测和凸几何距离的线段特征跟踪方法
KR102249380B1 (ko) 기준 영상 정보를 이용한 cctv 장치의 공간 정보 생성 시스템
Kim et al. Geo-registration of wide-baseline panoramic image sequences using a digital map reference

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