CN110866953B - 地图构建方法及装置、定位方法及装置 - Google Patents

地图构建方法及装置、定位方法及装置 Download PDF

Info

Publication number
CN110866953B
CN110866953B CN201911056898.3A CN201911056898A CN110866953B CN 110866953 B CN110866953 B CN 110866953B CN 201911056898 A CN201911056898 A CN 201911056898A CN 110866953 B CN110866953 B CN 110866953B
Authority
CN
China
Prior art keywords
image
key frame
information
feature
frame image
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
CN201911056898.3A
Other languages
English (en)
Other versions
CN110866953A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201911056898.3A priority Critical patent/CN110866953B/zh
Publication of CN110866953A publication Critical patent/CN110866953A/zh
Priority to EP20880439.3A priority patent/EP3975123A4/en
Priority to PCT/CN2020/124547 priority patent/WO2021083242A1/zh
Priority to US17/561,307 priority patent/US20220114750A1/en
Application granted granted Critical
Publication of CN110866953B publication Critical patent/CN110866953B/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/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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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/593Depth or shape recovery from multiple images from stereo images
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • G06V10/464Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7753Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

本公开涉及地图构建及定位技术领域,具体涉及一种地图构建方法、一种地图构建装置、一种定位方法、一种定位装置、一种计算机可读介质以及一种无线通信终端。地图构建方法包括:采集当前环境的环境图像;获取所述环境图像的图像特征信息,根据图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像;其中,图像特征信息包括特征点信息和对应的描述子信息;获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息;基于所述关键帧图像构建所述当前环境的地图数据;其中,地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。本公开提供的方法定位高精度、鲁棒性强,适用于多种复杂场景。

Description

地图构建方法及装置、定位方法及装置
技术领域
本公开涉及地图构建及定位技术领域,具体涉及一种地图构建方法、一种地图构建装置、一种定位方法、一种定位装置、一种计算机可读介质以及一种无线通信终端。
背景技术
随着计算机技术的不断发展,定位及导航在不同的领域、多种场景得到了广泛的应用,例如针对室内环境或室外环境的定位和导航。现有技术中,可以利用视觉信息建立环境地图,协助用户感知周边环境,并快速定位到自身位置。
现有技术在构建地图以及定位的过程中也存在一定的不足。例如,现有技术方案在对环境建图和图像匹配的过程中,只考虑了传统图像特征,而传统图像特征的抗噪能力差,导致定位成功率低。另外,在定位过程中,若环境中光线发生明暗变换,或者由于季节变换等因素导致环境变化的情况下,也无法完成准确的定位。此外,现有技术在定位过程中大多只考虑到视觉图像的二维特征,定位自由度存在欠缺;并且,还存在定位鲁棒性差的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种地图构建方法、一种地图构建装置、一种定位方法、一种定位装置、一种计算机可读介质以及一种无线通信终端,能够基于所采集环境图像的图像特征进行地图构建和定位。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的方面,提供一种地图构建方法,包括:
采集当前环境的环境图像;
获取所述环境图像的图像特征信息,根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像;其中,所述图像特征信息包括特征点信息和对应的描述子信息;
获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息;
基于所述关键帧图像构建所述当前环境的地图数据;其中,所述地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。
根据本公开的第二方面,提供一种定位方法,包括:
响应于一定位指令,采集目标图像;
提取所述目标图像的图像特征信息;其中,所述图像特征信息包括所述目标图像的特征点信息和描述子信息;
根据所述图像特征信息与地图数据中各关键帧图像进行匹配以确定匹配帧图像;
根据所述匹配帧图像生成所述目标图像对应的当前定位结果。
根据本公开的第三方面,提供一种地图构建装置,包括:
环境图像采集模块,用于采集当前环境的环境图像;
图像特征信息识别模块,用于获取所述环境图像的图像特征信息,根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像;其中,所述图像特征信息包括特征点信息和对应的描述子信息;
三维特征信息生成模块,用于获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息;
地图构建模块,用于基于所述关键帧图像构建所述当前环境的地图数据;其中,所述地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。
根据本公开的第四方面,提供一种定位装置,包括:
定位指令响应模块,用于响应于一定位指令,采集目标图像;
图像特征识别模块,用于提取所述目标图像的图像特征信息;其中,所述图像特征信息包括所述目标图像的特征点信息和描述子信息;
匹配帧筛选模块,用于根据所述图像特征信息与地图数据中各关键帧图像进行匹配以确定匹配帧图像;
定位结果生成模块,用于根据所述匹配帧图像生成所述目标图像对应的当前定位结果。
根据本公开的第五方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的地图构建方法;或者定位方法。
根据本公开的第六方面,提供一种无线通信终端,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的地图构建方法;或者定位方法。
本公开的一种实施例所提供的地图构建方法,通过提取环境图像的特征点信息和描述子信息,并利用特征点信息和描述子对连续的环境图像进行追踪和匹配,来筛选关键帧图像,从而可以利用关键帧图像来构建地图数据。使得定位过程中可以利用图像的特征点进行识别和定位,提高定位精度。并且,通过获取关键帧图像中匹配特征点的深度信息,可以构建关键帧图像的三维特征信息,从而便于在定位过程中获取设备的姿态信息。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种地图构建方法的流程示意图;
图2示意性示出本公开示例性实施例中另一种地图构建方法的流程示意图;
图3示意性示出本公开示例性实施例中一种定位方法的流程示意图;
图4示意性示出本公开示例性实施例中另一种定位方法的流程示意图;
图5示意性示出本公开示例性实施例中一种关键帧图像匹配结果示意图;
图6示意性示出本公开示例性实施例中一种PnP模型求解原理示意图;
图7示意性示出本公开示例性实施例中一种地图构建装置的组成示意图;
图8示意性示出本公开示例性实施例中一种定位装置的组成示意图;
图9示意性示出本公开示例性实施例中一种无线通信设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
通过采集视觉图像来构建环境地图时,现有方案只考虑传统的图像特征,而传统图像特征的抗噪能力差,定位成功率低。并且,在构建的地图中,若发生光线明暗变化或者季节变换导致环境特征发生改变,则可能导致无法进行定位。另外,现有方案在构建地图时大多只利用视觉图像的二维特征信息,定位自由度存在欠缺,定位鲁棒性较差。
针对上述的现有技术的缺点和不足,本示例实施方式中提供了一种地图构建方法。参考图1中所示,上述的地图构建方法可以包括以下步骤:
S11,采集当前环境的环境图像;
S12,获取所述环境图像的图像特征信息,根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像;其中,所述图像特征信息包括特征点信息和对应的描述子信息;
S13,获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息;
S14,基于所述关键帧图像构建所述当前环境的地图数据;其中,所述地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。
本示例实施方式所提供的地图构建方法中,一方面,通过提取环境图像的特征点信息和描述子信息,并利用特征点信息和描述子对连续的环境图像进行追踪和匹配,来筛选关键帧图像,从而可以利用关键帧图像来构建地图数据。使得定位过程中可以利用图像的特征点进行识别和定位,提高定位精度。另一方面,通过获取关键帧图像中匹配特征点的深度信息,可以构建关键帧图像的三维特征信息,从而便于在定位过程中获取设备的姿态信息。
下面,将结合附图及实施例对本示例实施方式中的地图构建方法的各个步骤进行更详细的说明。
步骤S11,采集当前环境的环境图像。
本示例实施方式中,在对室内或室外环境构建地图时,可以利用单目摄像头按一定的频率连续采集环境图像。所采集的环境图像可以是RGB环境图像。举例来说,在当前环境中,可以控制单目摄像头按照10-20帧/秒的频率采集环境图像,并按一定的速度移动,从而获取当前环境对应的全部环境图像。
步骤S12,获取所述环境图像的图像特征信息,根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像;其中,所述图像特征信息包括特征点信息和对应的描述子信息。
本示例实施方式中,在获取环境图像后,可以利用已训练的基于超点(SuperPoint)的特征提取模型实时的对环境图像进行特征提取,从而获取各环境图像的图像特征信息。其中,图像特征信息包括特征点信息和对应的描述子信息。
具体来说,利用已训练的基于Super Point的特征提取模型获取所述环境图像的图像特征信息可以包括:
步骤S1211,利用编码器对所述环境图像进行编码以获取的特征编码;
步骤S1212,将所述特征编码输入感兴趣点编码器,以获取所述环境图像对应的所述特征点信息;以及
步骤S1213,将所述特征编码输入描述子编码器,以获取所述环境图像对应的所述描述子信息。
本示例实施方式中,基于Super Point的特征提取模型可以包括编码部分,以及解码部分。其中,对于编码部分来说,输入图像可以是全尺寸图像,利用编码器对输入图像进行降维,得到降维后的特征图,即特征编码。对于解码部分来说,可以包括感兴趣点编码器和描述子编码器。利用感兴趣点编码器对特征编码进行解码,输出与环境图像大小相同的特征点信息;以及利用描述子编码器对特征编码进行解码,输出特征点信息对应的描述子信息,利用描述子信息描述对应特征点的图像特征,例如颜色、轮廓等信息。
本示例实施方式中,可以预先对基于Super Point的特征提取模型进行训练,训练过程可以包括以下步骤:
步骤S21,构建合成数据库,并利用合成数据库训练元素特征点提取模型。
构建包含多种合成形状的合成数据库;合成形状可以包括简单的二维图形,例如四边形、三角形、线以及椭圆等。并定义各二维图像的关键点位置为各二维图形的Y结、L结、T结以及椭圆的中心和线段分割处。该些关键点可以看作是真实世界中感兴趣点的子集。以上述的合成数据库作为训练样本,训练魔点(Magic Point)模型。利用该Magic Point模型提取基本形状元素特征点。
步骤S22,对MS-COCO数据集中各原始图像进行随机的单应性变换以获取各原始图像对应的变换图像,利用已训练的Magic Point模型对变换图像进行特征提取,以获取MS-COCO数据集中各原始图像的特征点真值。
具体来说,可以对MS-COCO(Microsoft-Common Objects in Context,微软-上下文中的公共对象)数据集中各原始图像进行n种随机的单应性变换以获取n个对应的变换图像。上述的单应性变换是指一个从一张图像到另一张图像映射关系的转换矩阵,两张图片中相同颜色的点叫做相关点。以MS-COCO数据集中各原始图像作为输入图像,使用随机的转换矩阵对输入图像进行变换得到变换图像。举例来说,随机的单应变换可以是由简单的变换复合而成的变换方式。
利用已训练的Magic Point模型对各变换图像进行特征点提取以获取各原始图像对应的n个特征点热图。将该n个特征点热图进行累加,结合同源图像的各输出图像,得到最终的特征点累加图。利用预设阈值对特征点累加图中各位置上的特征点进行筛选,筛选出变化较强烈的特征点,利用筛选后的特征点来描述原始图像中的形状。并将筛选后的特征点作为各特征点的真值作为特征点标签,作为后续Super Point模型训练的样本数据。
步骤S23,以MS-COCO数据集中各原始图像以及各原始图像对应的特征点标签为训练样本数据,训练Super Point模型。
对于Super Point模型来说,输入参数可以是全尺寸的图像,使用一个编码器对输入图像进行降维,利用两个解码器分别输出特征点信息和描述子信息。举例来说,编码器可以采用典型的VGG结构,利用连续的三层最大池化层对输入图像进行连续的池化操作,以及一卷积层进行一次卷积操作,将尺寸为H*W的输入图像变换为(H/8)*(W/8)的特征图。解码部分可以包括两个分支,包括感兴趣点解码器和描述子解码器,分别用来提取二维的特征点信息和对应的描述子信息。其中,感兴趣点解码器对编码得到的特征图进行解码,通过增加深度,最后将深度重塑到与原输入图像相同尺寸的输出。描述子解码器对编码得到的特征图进行解码,再经过双三次插值和L2归一化,得到最终的描述子信息。
以MS-COCO数据集中各原始图像以及各原始图像对应的特征点标签为训练样本数据,利用上述的方法完成对Super Point模型的训练。
本示例实施方式中,具体来说,上述的根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像可以包括:
步骤S1221,以首帧环境图像作为当前关键帧图像,并选取与所述当前关键帧图像连续的一帧或多帧待匹配环境图像。
本示例实施方式中,在对环境图像进行关键帧筛选时,可以将单目摄像机采集的帧环境图像作为初始的当前关键帧图像,以此为起点对后续采集的各帧环境图像进行筛选。由于环境图像的采集为按照一定的频率连续采集环境图像,连续的两张或多张环境图像的差别可能并不大。因此,在进行关键帧图像筛选时,对于当前关键帧图像来说,可以选取与当前关键帧图像连续的一张环境图像,或者连续的2、3或5张环境图像作为待匹配环境图像。
步骤S1222,利用所述描述子信息对所述当前关键帧图像与所述待匹配环境图像进行特征点匹配,并将特征点匹配结果大于预设阈值的所述待匹配环境图像作为所述关键帧图像。
本示例实施方式中,对于当前关键帧图像和待匹配环境图像而言,在进行特征点匹配时,举例来说,可以选取当前关键帧图像中的任意一关键帧描述子信息,与待匹配环境图像对应的各描述子信息分别计算欧式距离,并选取欧氏距离最小的描述子信息作为与该关键帧描述子信息匹配的描述子信息,从而可以确定与当前关键帧图像中的特征点相匹配的待匹配环境图像中的特征点,并建立特征点匹配对。遍历当前关键帧图像中的各描述子信息,从而获取当前关键帧图像中各特征点的匹配结果。
举例来说,可以对当前关键帧图像选取固定数量的特征点进行匹配。例如,选取150、180或200个特征点。从而避免选取的特征点过少导致的跟踪失败;或者由于选取的特征点过多而影响计算效率。或者,也可以根据当前关键帧图像中所包含的对象来选取一定数量的特征点,例如选取颜色、形状或机构突出的对象的特征点等等。
此外,在获取当前关键帧图像与待匹配环境图像之间的特征点匹配结果后,还可以利用KNN(k-Nearest Neighbor,最近邻分类)模型对特征点匹配结果进行筛选,从而清除错误的匹配结果。
在特征点匹配结果大于预设阈值时,便可判断为当前关键帧图像与该待匹配环境图像跟踪成功,将该待匹配环境作为关键帧图像。例如,在特征点匹配结果的准确率大于70%或者75%时,便判断为跟踪成功,将待匹配环境图像作为关键帧图像。
步骤S1223,将筛选的所述关键帧图像作为当前关键帧图像,并获取与该当前关键帧图像连续的一帧或多帧待匹配环境图像;
步骤S1224,利用所述描述子信息对该当前关键帧图像与待匹配环境图像进行特征点匹配,以连续筛选所述关键帧图像。
本示例实施方式中,在对首帧关键帧图像跟踪成功后,便可以将选中的关键帧图像作为第二张当前关键帧图像,并选取该当前关键帧图像对应的待匹配环境图像,继续进行关键帧图像的判断和筛选。
步骤S13,获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息。
本示例实施方式中,还可以构建各关键帧图像中各特征点的三维信息,具体可以包括:
步骤S131,利用所述当前关键帧图像,以及与所述当前关键帧图像相匹配的所述关键帧图像中相互匹配的特征点建立特征点匹配对;
步骤S132,计算所述特征点匹配对对应特征点的深度信息,以利用所述特征点的深度信息和特征点信息构建所述关键帧图像的三维特征信息。
举例而言,在进行特征点匹配时,对于相互匹配的相邻的两帧关键帧图像中,可以对相互匹配的特征点构建特征点匹配对,并利用特征点匹配对进行运动估计。对于特征点匹配对对应的特征点,可以利用三角化方法计算特征点的深度信息。
此外,在本示例性实施方式中,上述的方法还可以包括:
步骤S13-2,利用已训练的词袋模型对所述关键帧图像进行特征提取以获取图像特征信息。
本示例实施方式中,参考图2所示,在筛选关键帧图像后,还可以利用词袋模型对关键帧图像进行图像特征信息提取。
举例来说,可以预先训练词袋模型。词袋模型在训练时,可以从训练图片中进行特征提取,例如提取的特征种类数量为w,则每一种特征可以被称为一个单词;已训练的词袋模型可以包括w个单词。
当需要提取一个关键帧的词袋模型特征信息时,每个单词会对该关键帧进行评分,评分值为0~1的浮点数,这样每个关键帧都可以用w维的浮点数来表示,这个w维向量就是词袋模型特征向量,评分公式可以包括:
其中,N为训练图片数量,ni为单词wi在训练图片中出现的次数,It为t时刻采集的图像I,niIt为单词wi出现图像It里的次数,nIt为图像It里出现的单词总数。通过单词评分,每个关键帧的词袋模型特征信息就是一个w维的浮点数向量。
其中,上述的词袋模型的训练过程一般可以包括以下步骤:对训练图像进行特征检测,即对各类训练图像提取视觉词汇,将所有的视觉词汇集合在一起;特征表示,即利用K-Means算法构造单词表;单词本的生成,即利用单词表的中词汇表示图像。视觉词袋模型的训练过程采用常规方法即可实现,本公开对此不再赘述。
基于上述内容,在本示例性实施方式中,上述的方法还可以包括:
步骤S14,基于所述关键帧图像构建所述当前环境的地图数据;其中,所述地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。
本示例实施方式中,在提取各关键帧图像的各项特征信息后,便可以将关键帧图像及对应的特征点信息、描述子信息和三维特征信息进行序列化存储到本省,生成离线形式的地图数据。
此外,还可以对关键帧图像的图像特征信息一并进行存储。
本公开实施例所提供的地图构建方法,通过利用环境图像的特征点信息和对应的描述子信息对关键帧图像进行筛选,并利用关键帧图像的特征点信息、描述子信息、基于词袋模型提取的图像特征信息一并构建地图数据,使用了基于深度学习的图像特征,构建的地图数据具有抗噪能力强的优点。并且,通过利用多种图形特征构建地图数据,在环境、光线明暗变换等多种场景下依然能够生效,大幅提高了定位精度和定位的鲁棒性。另外,通过在构建地图数据时保存了关键帧图像中各特征点的三维特征信息,实现了同时考虑视觉关键帧的2D和3D信息,在定位时上可以同时提供位置和姿态数据,相对于其他室内定位方法提高了定位自由度。
下面,将结合附图及实施例对示例实施方式中的定位方法进行更详细的说明。参考图3所示,
步骤S31,响应于一定位指令,采集目标图像。
本示例实施方式中,在用户定位时,可以激活终端设备搭载的单目摄像头,采集当前的RGB格式的目标图像。同时在终端设备加载已构建的离线地图。例如,如上述实施例方法所构建的离线地图。
步骤S32-11,提取所述目标图像的图像特征信息;其中,所述图像特征信息包括所述目标图像的特征点信息和描述子信息;
步骤S32-12,根据所述图像特征信息与所述地图数据中各关键帧图像进行匹配以确定匹配帧图像。
本示例实施方式中,对于目标图像,可以利用上述实施例中的已训练的基于SuperPoint的特征提取模型提取目标图像的图像特征信息。具体来说,可以包括:
步骤S41,利用编码器对所述环境图像进行编码以获取的特征编码;
步骤S42,将所述特征编码输入感兴趣点编码器,以获取所述环境图像对应的所述特征点信息;以及
步骤S43,将所述特征编码输入描述子编码器,以获取所述环境图像对应的所述描述子信息。
在提取目标图像的特征点信息以及描述子信息后,可以利用描述子信息与地图数据中各关键帧图像进行特征点匹配,并在特征点匹配结果大于预设阈值时,判定为匹配成功,将对应的关键帧图像作为匹配帧图像。
或者,在本公开的其他示例性实施例中,还可以利用词袋模型对目标图像进行特征匹配,具体来说,参考图4所示,可以包括以下步骤:
步骤S32-21,利用已训练的词袋模型对所述目标图像进行特征提取以获取图像特征信息;
步骤S32-22,利用所述目标图像的图像特征信息与地图数据中各关键帧图像进行匹配以确定匹配帧图像。
由于地图数据中存储了各关键帧图像的利用词袋模型提取的图像特征信息,因此,可以对目标图像同样利用词袋模型提取图像特征信息,并利用图像特征信息进行匹配。具体来说,可以包括:
步骤S51,基于所述图像特征信息计算所述目标图像和所述地图中各关键帧图像之间的相似度,并筛选相似度大于阈值的关键帧图像,以获取匹配帧集合。
本示例实施方式中,可以利用图像特征信息查询当前的目标图像与地图数据中每个关键帧的相似度,并将相似度大于低于的关键帧图像生成匹配帧集合。相似度计算公式可以包括:
其中,v1为目标图像的词袋模型提供的图像特征向量;v2为地图数据中某关键帧图像的词袋模型特征向量。
步骤S52,根据所述关键帧图像的时间戳信息以及相似度数值对所述匹配帧集合中的各关键帧图像进行分组,以获取至少一个图像组。
本示例实施方式中,在筛选匹配帧集合后,还可以根据各关键帧图像的时间戳,以及上述步骤中计算的相似度数值对关键帧图像进行分组。例如,时间戳可以为固定阈值TH1范围内,例如图像组内个关键帧图像与最后一个关键帧图像之间的时间差在1.5s内。
或者,图像组内个关键帧图像与最后一个关键帧图像的相似度值可以为在一个阈值TH2范围内,例如为60%-70%。其计算公式可以包括:
其中,s(vt,vtj)为目标图像与图像组中帧关键帧图像的相似度数值;s(vt,vt-t)为目标图像与图像组中最后一帧关键帧图像的相似度数值;△t为TH1,η要小于TH2
步骤S53,计算所述图像组与所述目标图像之间的匹配度,以选取匹配度最高的所述图像组作为匹配图像组。
本示例实施方式中,在划分图像组后,还可以计算目标图像与各图像组之间的匹配,并仅保留匹配度最高的图像组。匹配度计算公式可以包括:
其中,vt为目标图像的词袋模型提取的图像特征向量;Vti为图像组内某一帧关键帧图像的词袋模型提取的图像特征向量。
步骤S54,选取所述匹配图像组中与所述目标图像之间相似度最高的所述关键帧图像作为待匹配图像,并将所述待匹配图像对应的相似度与第二阈值进行对比。
本示例实施方式中,在计算目标图像与各图像组的匹配度后,可以筛选出匹配度数值最高的图像组,作为匹配图像组。并选取该图像组中,前序步骤中计算出的与目标图像的相似度数值最高的关键帧图像,作为待匹配图像。
步骤S55,在所述待匹配图像对应的相似度大于所述第二阈值时,将所述待匹配图像判定为所述目标图像对应的匹配帧图像;或者,
在所述待匹配图像对应的相似度小于所述第二阈值时,判定匹配失败。
本示例实施方式中,将上述的待匹配图像对应的相似度数值与预设的阈值TH3对比,如果相似度分数高于阈值TH3,则匹配成功,输出匹配帧图像;否则匹配失败。
通过利用词袋模型提取的图像特征信息进行匹配,可以有效的提升目标图像与地图数据中关键帧图像的匹配速度。
步骤S33,根据所述匹配帧图像生成所述目标图像对应的当前定位结果。
本示例实施方式中,在确定与当前目标图像相匹配的匹配帧图像后,还可以确定终端设备的位姿,再将位姿信息和其他特征信息生成当前定位结果。
具体来说,确定终端设备的位姿可以包括以下步骤:
步骤S61,基于图像特征信息对所述目标图像与所述匹配帧图像进行特征点匹配,以获取目标匹配特征点。
本示例实施方式中,参考图5所示场景,在利用上述步骤对目标图像提取特征点信息以及描述子信息后,可以对当前帧目标图像XC的第N个特征点FCN,遍历匹配帧图像X3的所有特征点,计算特征点描述子之间的欧式距离;并选取欧式距离最小一组进行阈值判断,若小于预设阈值,则形成一组特征点匹配对,否则不形成匹配对。再另N=N+1,遍历当前帧目标图像XC的所有特征点,获取匹配对序列{F1,F2,F3}作为目标匹配特征点。
步骤S62,将所述匹配帧图像的三维特征信息和所述目标匹配特征点输入已训练的PnP模型中,以获取所述目标图像的姿态信息。
本示例实施方式中,在获取匹配对序列{F1,F2,F3}后,若匹配对序列的元素数量小于预设阈值,则可以将匹配帧图像X3的位姿信息作为目标图像的位姿信息。
或者,若匹配对序列的元素数量大于预设阈值,则可以利用姿态估计模型来计算目标图像的位姿信息。例如,可以采用PnP(Perspective-n-Point)模型,调用OpenCV中的Solve PnP函数求解出目标图像XC在地图坐标系下的当前位姿。
具体来说,PnP模型的输入参数为匹配帧图像中的3D点(即地图坐标系下,该关键帧图像中的特征点)和该些3D点在当前帧目标图像中的投影匹配得到的目标匹配特征点(即当前帧目标图像中的特征点),其输出为当前帧目标图像相对于地图坐标系原点的位姿变换(即当前帧目标图像在地图坐标系中的位姿)。
举例来说,其计算原理可以包括以下内容:参考图6所示,设当前坐标系中心为点o,A、B、C为三个3D特征点。根据余弦定理有如下公式:
OA2+OB2-2·OA·OB·cos<a,b>=AB2
OA2+OC2-2·OA·OC·cos<a,c>=AC2
OB2+OC2-2·OB·OC·cos<b,c>=BC2
对上式进行消元,同时除以OC2,并令则可得:
接着进行替换,另则可得:
x2+y2-2·x·y·cos<a,b>=u2
x2+1-2·x·cos<a,c>=wu
y2+1-2·y·cos<b,c>=vu
将上述的3个公式进行运算,则可得:
(1-w)x2-w·y2-2·x·cos<a,c>+2·w·x·y·cos<a,b>+1=0
(1-v)y2-v·x2-2·y·cos<b,c>+2·v·x·y·cos<a,b>+1=0
其中w,v,cos<a,c>,cos<b,c>,cos<a,b>为已知量,x、y为未知量,通过以上两方程可以求得x、y的值,继而可以求解OA、OB、OC的值,可以根据如下公式求得:
最后求解三个特征点在当前坐标系下的坐标,根据向量公式,可得:
在获取A、B、C三个特征点在当前坐标系下的坐标后,可以通过地图坐标系到当前坐标系的变换求解相机位姿。
以上通过求出对应的2D点在目标图像所在当前坐标系下的3D坐标,然后根据地图数据中地图坐标系下的匹配帧图像的3D坐标和当前坐标系下的3D坐标求解相机位姿。
本公开实施例所提供的定位方法,采用词袋模型进行图像匹配,再通过PnP模型精确地计算出当前自身位置和姿态,两者结合形成了一套低成本、高精度、强鲁棒性的环境感知方法,适用于多种复杂场景,满足产品化需求。并且,定位过程同时考虑视觉关键帧的2D和3D信息,在定位结果上可以同时提供位置和姿态,相对于其他室内定位方法提高了定位自由度。可以直接应用于移动终端设备,定位过程不需要引入其他外部基站设备,因此定位成本低。另外,定位过程中也不需要引入物体识别等错误率较高的算法,定位成功率高,鲁棒性强。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图7所示,本示例的实施方式中还提供一种地图构建装置70,包括:环境图像采集模块701、图像特征信息识别模块702、三维特征信息生成模块703和地图构建模块704。其中:
所述环境图像采集模块701可以用于采集当前环境的环境图像。
所述图像特征信息识别模块702可以用于获取所述环境图像的图像特征信息,根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像;其中,所述图像特征信息包括特征点信息和对应的描述子信息。
所述703三维特征信息生成模块可以用于获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息。
所述地图构建模块704可以用于基于所述关键帧图像构建所述当前环境的地图数据;其中,所述地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。
在本公开的一种示例中,所述地图构建装置70还包括:图像特征信息获取模块(图中未示出)。
所述图像特征信息获取模块可以用于利用已训练的词袋模型对所述关键帧图像进行特征提取以获取图像特征信息,以利用所述关键帧图像对应的图像特征信息、三维特征信息和图像特征信息构建所述地图数据。
在本公开的一种示例中,所述环境图像采集模块701可以可以包括:采集执行单元(图中未示出)。
所述采集执行单元可以用于利用单目摄像头以预设频率连续采集当前环境对应的环境图像。
在本公开的一种示例中,所述图像特征信息识别模块702可以包括:利用已训练的基于超点的特征提取模型获取所述环境图像的图像特征信息,包括:编码器处理单元、感兴趣点编码器处理单元和描述子编码器处理单元(图中未示出)。其中,
所述编码器处理单元可以用于利用编码器对所述环境图像进行编码以获取的特征编码。
所述感兴趣点编码器处理单元可以用于将所述特征编码输入感兴趣点编码器,以获取所述环境图像对应的所述特征点信息。
所述描述子编码器处理单元可以用于将所述特征编码输入描述子编码器,以获取所述环境图像对应的所述描述子信息。
在本公开的一种示例中,所述图像特征信息识别模块702可以包括:待匹配环境图像选择单元、特征点匹配单元和循环单元(图中未示出)。
所述待匹配环境图像选择单元可以用于以首帧环境图像作为当前关键帧图像,并选取与所述当前关键帧图像连续的一帧或多帧待匹配环境图像。
所述特征点匹配单元可以用于利用所述描述子信息对所述当前关键帧图像与所述待匹配环境图像进行特征点匹配,并将特征点匹配结果大于预设阈值的所述待匹配环境图像作为所述关键帧图像。
所述循环单元可以用于将筛选的所述关键帧图像作为当前关键帧图像,并获取与该当前关键帧图像连续的一帧或多帧待匹配环境图像;以及利用所述描述子信息对该当前关键帧图像与待匹配环境图像进行特征点匹配,以连续筛选所述关键帧图像。
在本公开的一种示例中,所述三维特征信息生成模块703可以包括:特征点匹配对建立单元、深度信息计算单元(图中未示出)。
所述特征点匹配对建立单元可以用于利用所述当前关键帧图像,以及与所述当前关键帧图像相匹配的所述关键帧图像中相互匹配的特征点建立特征点匹配对。
所述深度信息计算单元可以用于计算所述特征点匹配对对应特征点的深度信息,以利用所述特征点的深度信息和特征点信息构建所述关键帧图像的三维特征信息。
上述的地图构建装置中各模块的具体细节已经在对应的地图构建方法中进行了详细的描述,因此此处不再赘述。
进一步的,参考图8所示,本示例的实施方式中还提供一种定位装置80,包括:定位指令响应模块801、图像特征识别模块802、匹配帧筛选模块803和定位结果生成模块804。其中:
所述定位指令响应模块可以用于响应于一定位指令,采集目标图像。
所述图像特征识别模块可以用于提取所述目标图像的图像特征信息;其中,所述图像特征信息包括所述目标图像的特征点信息和描述子信息。
所述匹配帧筛选模块可以用于根据所述图像特征特征信息与所述地图数据中各关键帧图像进行匹配以确定匹配帧图像。
所述定位结果生成模块可以用于根据所述匹配帧图像生成所述目标图像对应的当前定位结果。
在本公开的一种示例中,所述定位装置80还包括:图像特征信息匹配模块(图中未示出)。
所述图像特征信息匹配模块可以用于利用已训练的词袋模型对所述目标图像进行特征提取以获取图像特征信息;以及利用所述目标图像的图像特征信息与地图数据中各关键帧图像进行匹配以确定匹配帧图像。
在本公开的一种示例中,所述图像特征信息匹配模块可以包括:匹配帧集合筛选单元、图像组筛选单元、匹配图像组筛选单元、相似度对比单元以及匹配帧图像判断单元。其中:
所述匹配帧集合筛选单元可以用于基于所述图像特征信息计算所述目标图像和所述地图中各关键帧图像之间的相似度,并筛选相似度大于阈值的关键帧图像,以获取匹配帧集合。
所述图像组筛选单元可以用于根据所述关键帧图像的时间戳信息以及相似度数值对所述匹配帧集合中的各关键帧图像进行分组,以获取至少一个图像组。
所述匹配图像组筛选单元可以用于计算所述图像组与所述目标图像之间的匹配度,以选取匹配度最高的所述图像组作为匹配图像组。
所述相似度对比单元可以用于选取所述匹配图像组中与所述目标图像之间相似度最高的所述关键帧图像作为待匹配图像,并将所述待匹配图像对应的相似度与第二阈值进行对比。
所述匹配帧图像判断单元可以用于在所述待匹配图像对应的相似度大于所述第二阈值时,将所述待匹配图像判定为所述目标图像对应的匹配帧图像;或者,在所述待匹配图像对应的相似度小于所述第二阈值时,判定匹配失败。
在本公开的一种示例中,所述定位装置80还包括:姿态信息获取模块(图中未示出)。
所述姿态信息获取模块可以用于基于图像特征信息对所述目标图像与所述匹配帧图像进行特征点匹配,以获取目标匹配特征点;以及将所述匹配帧图像的三维特征信息和所述目标匹配特征点输入已训练的PnP模型中,以获取所述目标图像的姿态信息。
在本公开的一种示例中,所述图像特征识别模块802可以用于利用已训练的基于超点的特征提取模型获取所述环境图像的图像特征信息。还可以包括:特征编码单元、感兴趣点编码单元和描述子编码单元(图中未示出)。其中,
所述特征编码单元可以用于利用编码器对所述目标图像进行编码以获取的特征编码。
所述感兴趣点编码单元可以用于将所述特征编码输入感兴趣点编码器,以获取所述目标图像对应的所述特征点信息。
所述描述子编码单元可以用于将所述特征编码输入描述子编码器,以获取所述目标图像对应的所述描述子信息。
上述的定位装置中各模块的具体细节已经在对应的定位方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
图9示出了适于用来实现本发明实施例的无线通信设备的计算机系统的结构示意图。
需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(Central Processing Unit,CPU)901,其可以根据存储在只读存储器(Read-Only Memory,ROM)902中的程序或者从存储部分908加载到随机访问存储器(Random Access Memory,RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
需要说明的是,作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图1所示的各个步骤。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

Claims (12)

1.一种地图构建方法,其特征在于,包括:
采集当前环境的环境图像;
获取所述环境图像的图像特征信息,根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像,包括:以首帧环境图像作为当前关键帧图像,并选取与所述当前关键帧图像连续的一帧或多帧待匹配环境图像;利用描述子信息对所述当前关键帧图像与所述待匹配环境图像进行特征点匹配,并将特征点匹配结果大于预设阈值的所述待匹配环境图像作为所述关键帧图像;将筛选的所述关键帧图像作为当前关键帧图像,并获取与该当前关键帧图像连续的一帧或多帧待匹配环境图像;利用所述描述子信息对该当前关键帧图像与待匹配环境图像进行特征点匹配,以连续筛选所述关键帧图像;其中,所述图像特征信息包括特征点信息和对应的描述子信息;描述子信息用于描述特征点的图像特征;其中,对当前关键帧图像选取固定数量的特征点进行匹配,或者,根据当前关键帧图像中所包含的对象选取一定数量的特征点进行匹配,包括颜色、形状、结构突出的对象的特征点中的任意一项或多项;
获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息,包括:利用所述当前关键帧图像,以及与所述当前关键帧图像相匹配的所述关键帧图像中相互匹配的特征点建立特征点匹配对;计算所述特征点匹配对对应特征点的深度信息,以利用所述特征点的深度信息和特征点信息构建所述关键帧图像的三维特征信息;
基于所述关键帧图像构建所述当前环境的地图数据;其中,所述地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。
2.根据权利要求1所述的地图构建方法,其特征在于,在筛选所述关键帧图像后,所述方法还包括:
利用已训练的词袋模型对所述关键帧图像进行特征提取以获取图像特征信息,以利用所述关键帧图像对应的图像特征信息、三维特征信息构建所述地图数据。
3.根据权利要求1所述的地图构建方法,其特征在于,所述采集当前环境的环境图像,包括:
利用单目摄像头以预设频率连续采集当前环境对应的环境图像。
4.根据权利要求1所述的地图构建方法,其特征在于,所述获取所述环境图像的图像特征信息,包括:利用已训练的基于超点的特征提取模型获取所述环境图像的图像特征信息;包括:
利用编码器对所述环境图像进行编码以获取的特征编码;
将所述特征编码输入感兴趣点编码器,以获取所述环境图像对应的所述特征点信息;以及
将所述特征编码输入描述子编码器,以获取所述环境图像对应的所述描述子信息。
5.一种定位方法,其特征在于,包括:
响应于一定位指令,采集目标图像,同时加载已构建的地图数据,所述地图数据采用前述权利要求1至4任一所述的地图构建方法所构建;
提取所述目标图像的图像特征信息;其中,所述图像特征信息包括所述目标图像的特征点信息和描述子信息;描述子信息用于描述特征点的图像特征;
根据所述图像特征信息与地图数据中各关键帧图像进行匹配以确定匹配帧图像,包括:基于所述图像特征信息计算所述目标图像和所述地图中各关键帧图像之间的相似度,并筛选相似度大于阈值的关键帧图像,以获取匹配帧集合;根据所述关键帧图像的时间戳信息以及相似度数值对所述匹配帧集合中的各关键帧图像进行分组,以获取至少一个图像组;计算所述图像组与所述目标图像之间的匹配度,以选取匹配度最高的所述图像组作为匹配图像组;选取所述匹配图像组中与所述目标图像之间相似度最高的所述关键帧图像作为待匹配图像,并将所述待匹配图像对应的相似度与第二阈值进行对比;在所述待匹配图像对应的相似度大于所述第二阈值时,将所述待匹配图像判定为所述目标图像对应的匹配帧图像;或者,在所述待匹配图像对应的相似度小于所述第二阈值时,判定匹配失败;
根据所述匹配帧图像生成所述目标图像对应的当前定位结果。
6.根据权利要求5所述的定位方法,其特征在于,所述采集目标图像后,所述方法还包括:
利用已训练的词袋模型对所述目标图像进行特征提取以获取图像特征信息;
利用所述目标图像的图像特征信息与地图数据中各关键帧图像进行匹配以确定匹配帧图像。
7.根据权利要求6所述的定位方法,其特征在于,在确定匹配帧图像后,所述方法还包括:
基于图像特征信息对所述目标图像与所述匹配帧图像进行特征点匹配,以获取目标匹配特征点;
将所述匹配帧图像的三维特征信息和所述目标匹配特征点输入已训练的PnP模型中,以获取所述目标图像的姿态信息。
8.根据权利要求5所述的定位方法,其特征在于,所述提取所述目标图像的图像特征信息,包括:利用已训练的基于超点的特征提取模型获取环境图像的图像特征信息;包括:
利用编码器对所述目标图像进行编码以获取的特征编码;
将所述特征编码输入感兴趣点编码器,以获取所述目标图像对应的所述特征点信息;以及
将所述特征编码输入描述子编码器,以获取所述目标图像对应的所述描述子信息。
9.一种地图构建装置,其特征在于,包括:
环境图像采集模块,用于采集当前环境的环境图像;
图像特征信息识别模块,用于获取所述环境图像的图像特征信息,根据所述图像特征信息对连续的所述环境图像进行特征点匹配以筛选关键帧图像,包括:以首帧环境图像作为当前关键帧图像,并选取与所述当前关键帧图像连续的一帧或多帧待匹配环境图像;利用描述子信息对所述当前关键帧图像与所述待匹配环境图像进行特征点匹配,并将特征点匹配结果大于预设阈值的所述待匹配环境图像作为所述关键帧图像;将筛选的所述关键帧图像作为当前关键帧图像,并获取与该当前关键帧图像连续的一帧或多帧待匹配环境图像;利用所述描述子信息对该当前关键帧图像与待匹配环境图像进行特征点匹配,以连续筛选所述关键帧图像;其中,所述图像特征信息包括特征点信息和对应的描述子信息;描述子信息用于描述特征点的图像特征;其中,对当前关键帧图像选取固定数量的特征点进行匹配,或者,根据当前关键帧图像中所包含的对象选取一定数量的特征点进行匹配,包括颜色、形状、结构突出的对象的特征点中的任意一项或多项;
三维特征信息生成模块,用于获取所述关键帧图像中匹配的特征点对应的深度信息,以构建所述关键帧图像的三维特征信息,包括:利用所述当前关键帧图像,以及与所述当前关键帧图像相匹配的所述关键帧图像中相互匹配的特征点建立特征点匹配对;计算所述特征点匹配对对应特征点的深度信息,以利用所述特征点的深度信息和特征点信息构建所述关键帧图像的三维特征信息;
地图构建模块,用于基于所述关键帧图像构建所述当前环境的地图数据;其中,所述地图数据包括所述关键帧图像对应的图像特征信息和三维特征信息。
10.一种定位装置,其特征在于,包括:
定位指令响应模块,用于响应于一定位指令,采集目标图像,同时加载已构建的地图数据,所述地图数据采用前述权利要求9所述的地图构建装置所构建;
图像特征识别模块,用于提取所述目标图像的图像特征信息;其中,所述图像特征信息包括所述目标图像的特征点信息和描述子信息;描述子信息用于描述特征点的图像特征;
匹配帧筛选模块,用于根据所述图像特征信息与地图数据中各关键帧图像进行匹配以确定匹配帧图像,包括:基于所述图像特征信息计算所述目标图像和所述地图中各关键帧图像之间的相似度,并筛选相似度大于阈值的关键帧图像,以获取匹配帧集合;根据所述关键帧图像的时间戳信息以及相似度数值对所述匹配帧集合中的各关键帧图像进行分组,以获取至少一个图像组;计算所述图像组与所述目标图像之间的匹配度,以选取匹配度最高的所述图像组作为匹配图像组;选取所述匹配图像组中与所述目标图像之间相似度最高的所述关键帧图像作为待匹配图像,并将所述待匹配图像对应的相似度与第二阈值进行对比;在所述待匹配图像对应的相似度大于所述第二阈值时,将所述待匹配图像判定为所述目标图像对应的匹配帧图像;或者,在所述待匹配图像对应的相似度小于所述第二阈值时,判定匹配失败;
定位结果生成模块,用于根据所述匹配帧图像生成所述目标图像对应的当前定位结果。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的地图构建方法,或者实现如权利要求5至8中任一项所述的定位方法。
12.一种无线通信终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的地图构建方法,或者实现如权利要求5至8中任一项所述的定位方法。
CN201911056898.3A 2019-10-31 2019-10-31 地图构建方法及装置、定位方法及装置 Active CN110866953B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201911056898.3A CN110866953B (zh) 2019-10-31 2019-10-31 地图构建方法及装置、定位方法及装置
EP20880439.3A EP3975123A4 (en) 2019-10-31 2020-10-28 MAP PRODUCTION METHOD, POSITIONING METHOD AND SYSTEM, WIRELESS COMMUNICATIONS TERMINAL AND COMPUTER READABLE MEDIA
PCT/CN2020/124547 WO2021083242A1 (zh) 2019-10-31 2020-10-28 地图构建方法、定位方法及系统、无线通信终端、计算机可读介质
US17/561,307 US20220114750A1 (en) 2019-10-31 2021-12-23 Map constructing method, positioning method and wireless communication terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911056898.3A CN110866953B (zh) 2019-10-31 2019-10-31 地图构建方法及装置、定位方法及装置

Publications (2)

Publication Number Publication Date
CN110866953A CN110866953A (zh) 2020-03-06
CN110866953B true CN110866953B (zh) 2023-12-29

Family

ID=69653488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911056898.3A Active CN110866953B (zh) 2019-10-31 2019-10-31 地图构建方法及装置、定位方法及装置

Country Status (4)

Country Link
US (1) US20220114750A1 (zh)
EP (1) EP3975123A4 (zh)
CN (1) CN110866953B (zh)
WO (1) WO2021083242A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866953B (zh) * 2019-10-31 2023-12-29 Oppo广东移动通信有限公司 地图构建方法及装置、定位方法及装置
CN111652933B (zh) * 2020-05-06 2023-08-04 Oppo广东移动通信有限公司 基于单目相机的重定位方法、装置、存储介质与电子设备
CN111990787B (zh) * 2020-09-04 2022-02-25 华软智科(深圳)技术有限公司 基于人工智能的档案馆密集柜自证方法
CN112598732A (zh) * 2020-12-10 2021-04-02 Oppo广东移动通信有限公司 目标设备定位方法、地图构建方法及装置、介质、设备
WO2022231523A1 (en) * 2021-04-29 2022-11-03 National University Of Singapore Multi-camera system
CN113111973A (zh) * 2021-05-10 2021-07-13 北京华捷艾米科技有限公司 一种基于深度相机的动态场景处理方法及装置
CN115442338A (zh) * 2021-06-04 2022-12-06 华为技术有限公司 3d地图的压缩、解压缩方法和装置
CN113591847B (zh) * 2021-07-28 2022-12-20 北京百度网讯科技有限公司 一种车辆定位方法、装置、电子设备及存储介质
CN113688842B (zh) * 2021-08-05 2022-04-29 北京科技大学 一种基于解耦合的局部图像特征提取方法
CN117036663A (zh) * 2022-04-18 2023-11-10 荣耀终端有限公司 视觉定位方法、设备和存储介质
CN115115822B (zh) * 2022-06-30 2023-10-31 小米汽车科技有限公司 车端图像处理方法、装置、车辆、存储介质及芯片
CN116091719B (zh) * 2023-03-06 2023-06-20 山东建筑大学 一种基于物联网的河道数据管理方法及系统
CN115982399B (zh) * 2023-03-16 2023-05-16 北京集度科技有限公司 图像查找方法、移动设备、电子设备、及计算机程序产品
CN116030136B (zh) * 2023-03-29 2023-06-09 中国人民解放军国防科技大学 基于几何特征的跨视角视觉定位方法、装置和计算机设备
CN117274442B (zh) * 2023-11-23 2024-03-08 北京新兴科遥信息技术有限公司 一种面向自然资源地图的动画生成方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108447097A (zh) * 2018-03-05 2018-08-24 清华-伯克利深圳学院筹备办公室 深度相机标定方法、装置、电子设备及存储介质
CN109816686A (zh) * 2019-01-15 2019-05-28 山东大学 基于物体实例匹配的机器人语义slam方法、处理器及机器人
CN110310333A (zh) * 2019-06-27 2019-10-08 Oppo广东移动通信有限公司 定位方法及电子设备、可读存储介质
CN110322500A (zh) * 2019-06-28 2019-10-11 Oppo广东移动通信有限公司 即时定位与地图构建的优化方法及装置、介质和电子设备
WO2019196403A1 (zh) * 2018-04-09 2019-10-17 京东方科技集团股份有限公司 定位方法、定位服务器及定位系统
CN110349212A (zh) * 2019-06-28 2019-10-18 Oppo广东移动通信有限公司 即时定位与地图构建的优化方法及装置、介质和电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2506338A (en) * 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
SG10201700299QA (en) * 2017-01-13 2018-08-30 Otsaw Digital Pte Ltd Three-dimensional mapping of an environment
CN107677279B (zh) * 2017-09-26 2020-04-24 上海思岚科技有限公司 一种定位建图的方法及系统
CN109816769A (zh) * 2017-11-21 2019-05-28 深圳市优必选科技有限公司 基于深度相机的场景地图生成方法、装置及设备
CN109671120A (zh) * 2018-11-08 2019-04-23 南京华捷艾米软件科技有限公司 一种基于轮式编码器的单目slam初始化方法及系统
CN109583457A (zh) * 2018-12-03 2019-04-05 荆门博谦信息科技有限公司 一种机器人定位与地图构建的方法及机器人
CN109658445A (zh) * 2018-12-14 2019-04-19 北京旷视科技有限公司 网络训练方法、增量建图方法、定位方法、装置及设备
CN110866953B (zh) * 2019-10-31 2023-12-29 Oppo广东移动通信有限公司 地图构建方法及装置、定位方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108447097A (zh) * 2018-03-05 2018-08-24 清华-伯克利深圳学院筹备办公室 深度相机标定方法、装置、电子设备及存储介质
WO2019196403A1 (zh) * 2018-04-09 2019-10-17 京东方科技集团股份有限公司 定位方法、定位服务器及定位系统
CN109816686A (zh) * 2019-01-15 2019-05-28 山东大学 基于物体实例匹配的机器人语义slam方法、处理器及机器人
CN110310333A (zh) * 2019-06-27 2019-10-08 Oppo广东移动通信有限公司 定位方法及电子设备、可读存储介质
CN110322500A (zh) * 2019-06-28 2019-10-11 Oppo广东移动通信有限公司 即时定位与地图构建的优化方法及装置、介质和电子设备
CN110349212A (zh) * 2019-06-28 2019-10-18 Oppo广东移动通信有限公司 即时定位与地图构建的优化方法及装置、介质和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Daniel DeTone et al.SuperPoint: Self-Supervised Interest Point Detection and Description.CVPR 2018.2018,第337-339页. *

Also Published As

Publication number Publication date
EP3975123A4 (en) 2022-08-31
EP3975123A1 (en) 2022-03-30
WO2021083242A1 (zh) 2021-05-06
CN110866953A (zh) 2020-03-06
US20220114750A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
CN110866953B (zh) 地图构建方法及装置、定位方法及装置
US10198623B2 (en) Three-dimensional facial recognition method and system
JP5873442B2 (ja) 物体検出装置および物体検出方法
CN109815843B (zh) 图像处理方法及相关产品
CN109960742B (zh) 局部信息的搜索方法及装置
CN112435338B (zh) 电子地图的兴趣点的位置获取方法、装置及电子设备
CN110543841A (zh) 行人重识别方法、系统、电子设备及介质
CN113298934B (zh) 一种基于双向匹配的单目视觉图像三维重建方法及系统
CN104156998A (zh) 一种基于图片虚拟内容融合真实场景的实现方法及系统
CN107766864B (zh) 提取特征的方法和装置、物体识别的方法和装置
CN107767358B (zh) 一种图像中物体模糊度确定方法和装置
Lee et al. Skewed rotation symmetry group detection
Tian et al. Scene Text Detection in Video by Learning Locally and Globally.
CN108154066B (zh) 一种基于曲率特征递归神经网络的三维目标识别方法
CN106407978B (zh) 一种结合似物度的无约束视频中显著物体检测方法
CN115311618A (zh) 一种基于深度学习和对象匹配的装配质量检查方法
Ryumin et al. Automatic detection and recognition of 3D manual gestures for human-machine interaction
CN113902789A (zh) 图像特征处理、深度图像生成方法及装置、介质和设备
Hwang et al. Optimized clustering scheme-based robust vanishing point detection
Konishi et al. Detection of target persons using deep learning and training data generation for Tsukuba challenge
KR101621304B1 (ko) 마우스맵을 이용한 능동형태모델 기반 입술 형태 추정 방법 및 시스템
CN116543409A (zh) 一种证件目标提取方法、系统、介质、设备及终端
CN110084736A (zh) 一种基于surf和金字塔算法的水印检测方法及系统
CN114694257A (zh) 多人实时三维动作识别评估方法、装置、设备及介质
CN114663917A (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