CN111174799B - 地图构建方法及装置、计算机可读介质、终端设备 - Google Patents
地图构建方法及装置、计算机可读介质、终端设备 Download PDFInfo
- Publication number
- CN111174799B CN111174799B CN201911349380.9A CN201911349380A CN111174799B CN 111174799 B CN111174799 B CN 111174799B CN 201911349380 A CN201911349380 A CN 201911349380A CN 111174799 B CN111174799 B CN 111174799B
- Authority
- CN
- China
- Prior art keywords
- image
- sub
- data
- map
- rgb
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及移动通信技术领域,具体涉及一种地图构建方法、一种地图构建装置、一种计算机可读介质以及一种终端设备。所述方法应用于服务器端,包括:接收至少两个终端设备上传的指定区域的图像数据;其中,所述终端设备与所述服务器端通信连接;根据接收的图像数据分别构建与各所述终端设备对应的三维子地图;对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图。所述方法可以实现利用多个终端设备采集图像数据,并建立准确的目标地图,可以有效的节省建图时间。
Description
技术领域
本公开涉及移动通信技术领域,具体涉及一种地图构建方法、一种地图构建装置、一种计算机可读介质以及一种终端设备。
背景技术
随着增强现实(Augmented Reality,简称AR)技术的不断丰富,已经在多个领域中得到应用。例如AR广告、AR游戏、AR社交、AR导航等等。
现有的AR导航技术的一般需要预先构建大场景的具有较高精确度的地图,建图时一般使用雷达等设备进行数据扫描,非常的耗费时间。在用户实用导航过程中,用户必须始终手持手机,利用摄像头实时采集当前的环境信息,才不至于跟踪丢失。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种地图构建方法、一种地图构建装置、一种计算机可读介质以及一种终端设备。能够实现快速建图。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种地图构建方法,应用于服务器端,包括:
接收至少两个终端设备上传的指定区域的图像数据;其中,所述终端设备与所述服务器端通信连接;
根据接收的图像数据分别构建与各所述终端设备对应的三维子地图;
对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图。
根据本公开的第二方面,提供一种地图构建方法,应用于终端设备,所述方法包括:
接收对目标环境的区域划分信息;
响应于第一触发操作,对所述区域划分信息对应的指定区域进行图像数据采集;其中,所述图像数据包括RGB图像和对应的深度图像;
根据所述图像数据实时构建三维子地图,并展示在预览界面中。
根据本公开的第三方面,提供一种地图构建装置,配置于服务器端,包括:
数据接收模块,用于接收至少两个终端设备上传的指定区域的图像数据;其中,所述终端设备与所述服务器端通信连接;
子地图构建模块,用于根据接收的图像数据分别构建与各所述终端设备数量对应的三维子地图;
子地图融合模块,用于对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图。
根据本公开的第四方面,提供一种地图构建装置,配置于终端设备,包括:
区域信息接收模块,用于接收对目标环境的区域划分信息;
图像数据采集模块,用于响应于第一触发操作,对所述区域划分信息对应的指定区域进行图像数据采集;其中,所述图像数据包括RGB图像和对应的深度图像;
子地图构建模块,用于根据所述图像数据实时构建三维子地图,并展示在预览界面中。
根据本公开的第五方面,提供一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述实施例所述的地图构建方法。
根据本公开的第六方面,提供一种终端设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例所述的地图构建方法。
本公开的一种实施例所提供的地图构建方法,通过接收各个终端设备上传的指定区域的图像数据,分别建立对应的三维子地图,可以实现同时构建多个子地图。再对各子地图之间相互进行匹配,从而可以在特征匹配成功时将子地图进行融合,从而可以将多个子地图融合为一个目标地图。进而实现利用多个终端设备采集图像数据,并建立准确的目标地图,可以有效的节省建图时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种地图构建方法的流程示意图;
图2示意性示出本公开示例性实施例中一种对目标环境进行子区域划分的方法的流程示意图;
图3示意性示出本公开示例性实施例中一种构建三维子地图的方法流程示意图;
图4示意性示出本公开示例性实施例中一种根据RGB图像和对应的深度图像构建对应点云数据的方法流程示意图;
图5示意性示出本公开示例性实施例中一种基于所述深度图像进行位姿估计的方法流程示意图;
图6示意性示出本公开示例性实施例中一种三维子地图进行特征融合处理获取目标地图的方法流程示意图;
图7示意性示出本公开示例性实施例中一种终端设备构建子地图的方法流程示意图;
图8示意性示出本公开示例性实施例中一种导航的方法流程示意图;
图9示意性示出本公开示例性实施例中一种系统架构示意图;
图10示意性示出本公开示例性实施例中一种地图构建装置的组成示意图;
图11示意性示出本公开示例性实施例中一种地图构建装置的组成示意图;
图12示意性示出本公开示例性实施例中一种终端设备的计算机系统的结构示意图;
图13示意性示出本公开示例性实施例中一帧当前帧RGB图像;
图14示意性示出本公开示例性实施例中图13中RGB图像对应的三维坐标系中的显示结果。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
现有AR导航方案一般基于三维场景构建和slam技术实现。一般需要预先构建高精度的地图,建图时一般用雷达等设备进行环境数据扫描,非常的耗费时间。在用户实用导航过程中,必须始终手持手机采集环境图像,才不至于跟踪丢失,用户体验有待提高。
针对上述的现有技术的缺点和不足,本示例实施方式中提供了一种地图构建方法。参考图1中所示,上述的地图构建方法可以包括以下步骤:
S11,接收至少两个终端设备上传的指定区域的图像数据;
S12,根据接收的图像数据分别构建与各所述终端设备对应的三维子地图;
S13,对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图。
本示例实施方式所提供的地图构建方法中,一方面,通过接收各个终端设备上传的指定区域的图像数据,分别建立对应的三维子地图,可以实现同时构建多个子地图。另一方面,通过对各子地图之间相互进行匹配,从而可以在特征匹配成功时将对应的子地图进行融合,从而可以将多个子地图融合为一个目标地图。进而实现利用多个终端设备采集图像数据,并建立准确的目标地图,可以有效的节省建图时间。
下面,将结合附图及实施例对本示例实施方式中的地图构建方法的各个步骤进行更详细的说明。
步骤101,生成对目标环境的多个区域划分信息;
步骤102,将所述区域划分信息分别发送至对应的多个所述终端设备,以用于各所述终端设备采集对应划分区域的图像数据。
本示例实施方式中,上述的地图构建方法可以应用于服务器端,通过服务器和终端设备协作来实现。举例来说,终端设备可以是配置有摄像组件的手机、平板电脑,或者可以进行数据传输的数码相机等等。
对于服务器端来说,参考图2所示,可以首先将待生成三维地图的区域作为目标环境。在该区域对应的二维地图中,可以将其划分为多个子区域,各子区域对应的区域划分信息可以包括坐标范围、地点名称信息以及标识信息等数据。在区域划分完成后,便可以将各区域划分信息分别发送至对应的终端设备。其中,终端设备的数量应当与子区域的数量相同,使得各终端设备可以仅采集一个区域的图像数据。或者,若终端设备的数量少于子区域的数量,则可以令终端设备采集相邻的两个或多个子区域的图像数据。
参考图9所示,服务器901可以通过网络902与多个终端设备903之间进行通信。网络902可以用以在终端设备903和服务器901之间提供通信链路的介质,例如无线通信链路等等。应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器901可以是多个服务器组成的服务器集群等。此外,也可以由一个智能终端设备作为服务器端,例如一手机、平板电脑、笔记本电脑或台式电脑作为服务器端,向各移动终端设备分发区域划分信息;以及接收各终端设备反馈的数据。
此外,划分的各子区域中,相邻的两子区域之间可以设置一定比例的重叠区域,便于后期的子地图之间的特征匹配和融合处理。例如,可以设置重叠区域为各子区域总面积的2%-5%等等。从而在保证子地图融合成功的前提下,各终端设备不会采集过多的相同数据,降低各终端设备的工作量。
步骤S11,接收至少两个终端设备上传的指定区域的图像数据。
本示例实施方式中,对于服务器端来说,可以和各终端设备建立数据通讯链路,并实时接收各终端设备上传的的图像数据。具体来说,图像数据可以包括终端设备通过摄像头采集的连续的RGB图像、RGB图像对应的深度图像,以及终端设备相机的IMU数据。对于各终端设备,可以在服务器端分别建立对应的图像数据存储路径,并建立存储路径和终端设备标识、对应子区域的关系列表。
步骤S12,根据接收的图像数据分别构建与各所述终端设备对应的三维子地图。
本示例实施方式中,在服务器端,在接收到图像数据后,可以根据接收的各终端设备上传的图像数据分别建立对应的子三维地图。例如,当终端设备包括第一终端、第二终端和第三终端时,可以分别建立针对第一终端图像数据的第一三维子地图、针对第二终端图像数据的第二三维子地图和针对第三终端图像数据的第三三维子地图。
本示例实施方式中,参考图3所示,上述的构建三维子地图可以包括:
步骤S121,根据第n帧RGB图像和对应的深度图像构建对应的第n帧点云数据;
步骤S122,根据第n+1帧RGB图像和对应的深度图像构建对应的第n+1帧点云数据。
本示例实施方式中,参考图4所示,上述的根据RGB图像和对应的深度图像构建对应点云数据可以包括:
步骤S21,对RGB图像进行特征点提取以获取特征点数据;
步骤S22,根据深度图像获取所述特征点对应的深度坐标;
步骤S23,将所述深度坐标转换为三维坐标,以基于所述特征点的三维坐标构建点云数据。
具体来说,服务器端在接收到图像数据后,便可利用基于紧耦合VIO的SLAM算法建立初始地图。对于接收的第一帧RGB图像进行特征提取,例如,利用SIFT算法(scale-invariant feature transform,尺度不变特征转换)进行特征提取;或者,利用ORB(Oriented FAST and Rotated BRIEF,快速特征点提取和描述)算法进行特征提取,来获取特征点数据。
可以预先获取深度相机和RGB相机的相机参数,并对RGB图像和对应深度图进行标定、对齐处理。在第一帧RGB图像对应的深度图像(depth)上找到特征点的对应的深度图坐标。通过深度相机的内参矩阵,将深度图坐标转换为三维坐标,生成初始的稀疏点云数据。
在获取第二张RGB图像后,利用上述方法对第二张图像进行特征提取,获取第二帧RGB图像对应的特征数据。并与第一帧图像的特征点进行匹配,剔除外点(outliers)。以及,在第二帧RGB图像对应的深度图像中找到特征点对应的深度图坐标,通过深度相机的内参矩阵,将深度图像坐标转换为三维坐标,生成第二帧图像的稀疏点云数据。
步骤S123,基于所述深度图像进行相机位姿估计,依据位姿估计结果将第n+1帧点云数据与所述第n帧点云数据转换至同一三维坐标系中;
步骤S124,在三维坐标中对所述第n+1帧点云数据与第n帧点云数据进行拼接以利用连续的多帧点云数据构建所述三维子地图;其中,n为正整数。
本示例实施方式中,参考图5所示,上述的基于所述深度图像进行位姿估计可以包括:
步骤S31,对所述第n+1帧RGB图像进行特征提取以获取对应的特征点数据;
步骤S32,将所述第n+1帧RGB图像的特征点数据与所述第n帧RGB图像的特征点数据进行特征点匹配,以获取匹配特征点;
步骤S33,基于所述深度图像获取所述匹配特征点的三维坐标,以根据三维坐标评估所述第n+1帧RGB图像相对所述第n帧RGB图像的位姿信息。
具体来说,在获取第二图像后,还可以将第二帧图像的特征点信息,与第一帧图像的特征点进行匹配,剔除外点(outliers)。结合第二帧图像对应的深度图三维点信息,利用PnP(Perspective-n-Point)算法,估算第二帧图像相对于第一帧图像的位姿,包括旋转、平移。即第一帧图片是如何通过旋转与平移得到第二帧的图像位置。将第二帧图像对应的稀疏点云通过相对变换,转化到第一帧图像的三维坐标系中。
通过上述的步骤,可以将连续采集的多帧RGB图像和对应深度图像构建三维点云数据,并将各三维点云数据转换到同一三维坐标系中,从而构建一个终端设备所采集的图像数据对应的三维子地图。
基于上述内容,在本示例实施方式中,基于所述深度图像进行位姿估计时,上述的方法还可以包括:
步骤S41,对所述IMU数据进行预积分处理以获取惯性数据;
步骤S42,将所述位姿估计结果与所述惯性数据进行配准,并根据配准结果执行VIO优化。
举例来说,在采集RGB图像时,还可以采集对应的多组IMU(Inertial measurementunit,惯性测量单元)数据。例如,在相邻两帧图像采集的时间间隔中,或者在采集RGB图像时,对IMU数据进行采集。对采集的IMU数据进行预积分操作,可以估算两张图像的位置、速度与旋转角度。将基于深度数据获取的位姿估计结果与IMU数据进行配准,进行陀螺仪偏置的标定、速度、重力向量的初始化,并且通过IMU与RGB相机的外参矩阵,将IMU的状态量,例如:加速度计偏置,陀螺仪偏置,速度等转化到相机坐标系,再将所有状态量转化到世界坐标系,得到世界坐标系下的所有状态量,如加速度计偏置,陀螺仪偏置,位置,速度,方向。
本示例实施方式中,在进行紧耦合的VIO(visual-inertial odometry,视觉惯性里程计)优化时,可以预先分别建立IMU测量残差与视觉测量残差作为代价函数的表达式,具体可以包括:
f(χ)=fp(χ)+fB(χ)+fC(χ)
其中,f(x)表示为误差代价函数,fB(x)表示为IMU测量残差,fC(x)表示为视觉测量残差,fp(x)表示为来自边缘化的先验信息。
上述的公式可以变换为:
其中,xk是捕获第k帧图像时的IMU状态数据,它包含了IMU在世界坐标系中位置速度和方向以及IMU本体坐标系中的加速度计偏置(ba)和陀螺仪偏置(bg),我们会设置一个滑动窗口,优化窗口中的n帧(例如10帧)图像位姿,n是图像关键帧的总数,m是滑动窗口的特征总数。
我们的目标是找到使得代价函数最小的n组χ的解,第二项为IMU测量的残差,利用状态估计值与预积分算得的真值的差值,第三项是视觉测量的残差,将第估算第l帧与第j帧的位姿,将第l帧的特征点的对应的三维特征坐标通过χ状态量变换到第l帧相机坐标系中,再通过π(.)变换(相机内参矩阵)投影到第l帧图像对应的坐标系上,与对应的第l帧图像提取的对应的特征点坐标计算残差。整个代价函数是一个非线性优化问题,我们采用Levenberg-Marquadt(莱文贝格-马夸特)非线性优化方法进行迭代优化,最终得到最优解χ。
得到相邻的旋转变换q与平移变换p,我们可以将第j帧的三维点云Pj转到第l帧的相机坐标系下,得到三维点云Pl。其中,
Pl=q*Pj+p
通过利用RGB特征点数据、深度图信息、IMU信息,利用最小二乘法,使得代价函数的值逐步下降,得到最优的状态量,即得到相邻两帧图像的相对位姿。将第二张图像的坐标系转换到第一张图像的坐标系中,以后的新采集的图像采用相同的方法,估算相邻两张图像的位姿,进而将所有的图像都转换到第一张图片的坐标系下,我们以第一张图像的坐标系位全局坐标系,例如相机坐标系;最终得到一个全局的稀疏点云数据。
步骤S13,对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图。
本示例实施方式中,在服务器端增加互回环检测过程,参考图6所示,上述的步骤S13具体可以包括:
步骤S131,对各所述终端设备上传的RGB图像分别进行特征提取以获取各RGB图像对应的特征点数据;
步骤S132,分别对两RGB图像进行特征点匹配,并在特征点匹配结果大于预设阈值时,利用两RGB图像对应的深度图像进行位姿估计;
步骤S133,根据位姿估计结果对两RGB图像对应的三维子地图进行拼接。
举例来说,假设存在A、B、C三个移动终端设备同时采集环境图像,并且实时将上传到云端服务器,服务器端分别重建各终端设备对应的子地图。对于终端A新上传的RGB图像数据,可以提取图片的特征点信息,如SIFT或ORB特征点;终端B与终端C也同样对新上传的RGB图像提取特征点信息。将终端A、B、C所上传图像的特征点信息进行两两之间的相互匹配,可以通过计算特征点描述子的汉明距离,找到距离最近的描述子对应的特征点,作为对应的匹配的特征点。剔除外点(outliers)。当两张图片的匹配的特征点的数量大于预先设定的阈值时,认为两张的图像匹配成功,接下来,结合深度图信息,估算两张图像的相对位姿,将两张图像进行融合,如上述步骤S121-步骤S123所述。进而将两块子地图融合到一起。
通过上述的方法,当通过特征匹配检测到相似部分时,便可以将对应的子地图进行合并,优化位姿与点云信息。通过进行互回环检测,可以有效的减少前端估计位姿的累积误差,最终生成全局地图。
此外,还可以合并的两块稀疏点云数据对应的RGB图像的特征点信息与对应的深度图信息,采用光束平差优化算法对局部地图进行优化。具体来说,公式可以包括:
其中,{R,t}1,2,...,n是合并后需要优化的n帧的旋转矩阵与平移矩阵的集合;Xi当前帧j的特征点对应的三维特征点,通过旋转(R)与平移(t)变换转到前一帧j-1的坐标系,通过π(.)变换(内参矩阵)得到投影的二维坐标,与对应j-1帧检测的xi进行误差计算,我们目标是使得所有n帧的重投影误差最小,得到n帧的{R,t}1,2,...,n优化结果,利用Levenberg-Marquadt(莱文贝格-马夸特)非线性优化方法进行优化。
本示例实施方式中提供了一种地图构建方法,参考图7中所示,可以包括以下步骤:
步骤S51,接收对目标环境的区域划分信息;
步骤S52,响应于第一触发操作,对所述区域划分信息对应的指定区域进行图像数据采集;其中,所述图像数据包括RGB图像和对应的深度图像;
步骤S53,根据所述图像数据实时构建三维子地图,并展示在预览界面中。
本示例实施方式中,对于各终端设备来说,可以预先与服务器端建立通信链接,并接收服务器端下发的待采集图像数据对应区域的区域划分信息。参考图9所示,可以有多个终端设备与服务器同时建立连接并进行数据传输。
各终端设备可以配置后置的主摄像头和深度摄像头。各终端设备在接收到区域划分信息后,用户便可以手持终端设备在进入对应的区域后,启动终端设备的摄像组件,开始采集指定区域内的RGB图像和对应的深度图像。其中,上述的第一触发操作可以是用于启动摄像组件的控制操作。在利用主摄像头采集RGB图像的同时,利用深度摄像头同步采集同一场景对应的深度图像。
对于终端设备来说,在采集图像数据后,可以实时将图像数据上传至服务器端。同时,终端设备可以在本地利用采集的图像数据进行子地图的构建。具体来说,可以执行上述实施例中步骤S121-步骤S124所述的方法进行子地图的构建。如图13所示,为终端设备交互界面中显示的当前采集的RGB图像,以及RGB图像中包含对应提取出的图像特征点。如图14所示,为图13中RGB图像对应的的三维坐标系,坐标系中包含对应当前帧RGB图像的特征点所对应的三维坐标点,以及相机的运动轨迹。用户可以切换不同的视角,查看2D图像特征点对应的3D特征点,最终会将2D/3D特征点保存下来。
此外,在本示例实施方式中,终端设备在实时展示构建的子地图时,还可以响应于用户的第二触发操作,对当前预览界面中区域添加锚点信息。举例来说,上述的第二触发操作可以是用户对当前预览界面中的点击、长按或拖拽等指定的预设操作。终端设备在识别到用户的第二触发操作时,便可以定位当前预览界面中的图像内容,并生成一用于输入描点信息的对话框,用于用户输入针对当前位置坐标及环境对应的锚点信息或位置信息。例如,对当前界面中的环境添加位置信息为第一办公室、茶水间等等。此外,对于用户添加的锚点信息,可以与对应的RGB图像和深度图像一并上传至服务器端,并整合在最终的目标地图中。此外,锚点信息还可以是自定义的图像或动画形象,例如从本地添加图像或动画形象。
本示例实施方式中,还可以利用已构建的目标地图对用户进行导航。具体来说,参考图8所示,可以包括:
步骤S61,响应于第三触发操作生成导航请求,以获取所述导航请求对应的路径规划结果;其中,所述路径规划结果包括连续的多个子路径;
步骤S62,采集当前环境对应的RGB图像和深度图像,对所述RGB图像进行特征提取以获取当前特征点数据,并构建终端坐标系;
步骤S63,将所述当前特征点数据与所述连续的多个子路径对应的关键帧进行特征点匹配;
步骤S64,在匹配成功时,基于所述当前环境对应的RGB图像和深度图像与匹配的关键帧进行位姿估计,并根据位姿估计结果将所述连续的多个子路径转换至所述终端坐标系以进行导航。
本示例实施方式中,用户可以在终端设备输入待导航的出发地址和目的地地址;或者,也可以仅输入目的地地址;并基于上述的地址数据生成导航请求,并将该导航请求发送至服务器端。服务器端在接收到导航请求后,进行路径规划并首先生成完整路径规划结果,然后,再根据预设的路径划分规则将完整路径划分为连续的若干个子路径。例如,路径划分规则可以包括:当存在转弯时划分子路径、当存在过直通指示灯时划分子路径、当路径长度100米时划分子路径等规则。将路径划分后的包含连续的多个子路径的路径规划结果下发至终端设备;或者,也可以将完整路径发送至终端设备,由终端设备完成对连续多个子路径的划分操作。此外,各子路径中还可以包括对应的指示信息,如直行、左转、右转、坐扶梯、乘坐直梯上楼或下楼到达指定楼层等等。
本示例实施方式中,在导航时,上述方法还可以包括:展示一所述子路径;响应于触发操作采集当前RGB图像和当前深度图像;
根据所述当前RGB图像和当前深度图像与所述子路径进行特征比对,以判断是否展示连续的下一段子路径。
举例来说,在导航过程中,用户手持终端设备,并启动终端设备的主摄像头和深度摄像头,采集当前环境对应的RGB图像和深度图像,触发重定位,以根据当前采集的RGB图像和深度图像与目标地图进行相似性匹配。当重定位成功时,则显示该地点已经事先编好的路标,并且根据输入的目的地利用路径搜索算法已经规划好了路径,并且显示下一个地点的路标信息与方向。此时,用户可以放下手机,行动至当前子路径对应的指定地点后,再次手持终端设备,再次触发重定位操作。之后,用户只需要沿着路标的指示走到下一个路标点,再进行重定位操作即可,直到到达目的地。不需要用户始终手持手机进行扫描来采集RGB图像和深度图像。
本公开的其他示例性实施方式中,在导航时,还可以在对应的二维地图上规划路径信息,导航过程中实时采集用户的GPS信息,将其与二维地图上的路径信息进行实时比对。当用户偏离规划路径时,发出偏离预设路径的提示。
本公开实施例所提供的方法,在建图阶段,通过利用多个终端设备分别同时采集图像数据,实现多人采集数据,多人建图,有效的缩短建图时间。终端侧的操作简单,用户可自行进行建图并添加锚点信息。在服务器端,通过增加云处理平台的互回环检测过程,可提高全局地图的精度。在导航时子路径采用逐一提示的寻路方式,不需要用户一直手持手机;避免对用户造成过多的限制,从而有效的提升用户体验。可以应用于室内或室外场景的建图与导航。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图10所示,本示例的实施方式中还提供一种地图构建装置100,配置于服务器端,包括:数据接收模块1001、子地图构建模块1002和子地图融合模块1003。其中,
所述数据接收模块1001可以用于接收至少两个终端设备上传的指定区域的图像数据;其中,所述终端设备与所述服务器端通信连接。
所述子地图构建模块1002可以用于根据接收的图像数据分别构建与各所述终端设备数量对应的三维子地图。
所述子地图融合模块1003可以用于对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图。
在本公开的一种示例中,所述图像数据包括:RGB图像、对应的深度图像;所述子地图构建模块1002可以包括:点云数据构建单元、坐标系转换单元和三维子地图生成单元(图中未示出)。其中,
所述点云数据构建单元可以用于根据第n帧RGB图像和对应的深度图像构建对应的第n帧点云数据;以及根据第n+1帧RGB图像和对应的深度图像构建对应的第n+1帧点云数据。
所述坐标系转换单元可以用于基于所述深度图像进行相机位姿估计,依据位姿估计结果将第n+1帧点云数据与所述第n帧点云数据转换至同一三维坐标系中。
所述三维子地图生成单元可以用于在三维坐标中对所述第n+1帧点云数据与第n帧点云数据进行拼接以利用连续的多帧点云数据构建所述三维子地图;其中,n为正整数。
在本公开的一种示例中,所述点云数据构建单元还可以包括:特征点数据获取单元、深度图像处理单元和点云数据构建单元(图中未示出)。其中,
所述特征点数据获取单元可以用于对RGB图像进行特征点提取以获取特征点数据。
所述深度图像处理单元可以用于根据深度图像获取所述特征点对应的深度坐标。
所述点云数据构建单元可以用于将所述深度坐标转换为三维坐标,以基于所述特征点的三维坐标构建点云数据。
在本公开的一种示例中,所述坐标系转换单元还可以包括:特征点数据提取单元、特征点匹配单元和位姿评估单元(图中未示出)。
所述特征点数据提取单元可以用于对所述第n+1帧RGB图像进行特征提取以获取对应的特征点数据。
所述特征点匹配单元可以用于将所述第n+1帧RGB图像的特征点数据与所述第n帧RGB图像的特征点数据进行特征点匹配,以获取匹配特征点。
所述位姿评估单元可以用于基于所述深度图像获取所述匹配特征点的三维坐标,以根据三维坐标评估所述第n+1帧RGB图像相对所述第n帧RGB图像的位姿信息。
在本公开的一种示例中,所述图像数据包括RGB图像对应的IMU数据;所述装置还可以包括:IMU数据处理模块、VIO优化模块(图中未示出)。
所述IMU数据处理模块可以用于对所述IMU数据进行预积分处理以获取惯性数据。
所述VIO优化模块可以用于将所述位姿估计结果与所述惯性数据进行配准,并根据配准结果执行VIO优化。
在本公开的一种示例中,所述子地图融合模块1003还可以包括:云端特征提取单元、云端匹配执行单元和子地图融合单元(图中未示出)。其中,
所述云端特征提取单元可以用于对各所述终端设备上传的RGB图像分别进行特征提取以获取各RGB图像对应的特征点数据。
所述云端匹配执行单元可以用于分别对两RGB图像进行特征点匹配,并在特征点匹配结果大于预设阈值时,利用两RGB图像对应的深度图像进行位姿估计。
所述子地图融合单元可以用于根据位姿估计结果对两RGB图像对应的三维子地图进行拼接。
在本公开的一种示例中,所述装置还可以包括:区域划分模块、数据分发模块(图中未示出)。其中,
所述区域划分模块可以用于生成对目标环境的多个区域划分信息。
所述数据分发模块可以用于将所述区域划分信息分别发送至对应的多个所述终端设备,以用于各所述终端设备采集对应划分区域的图像数据。
在本公开的一种示例中,相邻的所述划分区域包含预设比例的重叠区域。
在本公开的一种示例中,所述装置还包括:导航请求接收模块、路径划分模块和路径传输模块(图中未示出)。其中,
所述导航请求接收模块可以用于获取终端设备的导航请求;所述导航请求包括出发点信息和目的地信息。
所述路径划分模块可以用于根据所述出发点信息和所述目的地信息进行路径规划,并将路径规划结果按预设规则进行子路径划分以获取连续的多个子路径。
所述路径传输模块可以用于将所述连续的多个子路径发送至所述终端设备,以用于所述终端设备根据当前采集的RGB图像和深度图像判断并展示所述连续的多个子路径。
在本公开的一种示例中,所述终端设备可以包括:数据采集模块、匹配模块和路径处理模块(图中未示出)。其中,
所述数据采集模块可以用于所述终端设备采集当前环境对应的RGB图像和深度图像,并对所述RGB图像进行特征提取以获取当前特征点数据,并构建终端坐标系。
所述匹配模块可以用于将所述当前特征点数据与所述连续的多个子路径对应的关键帧进行特征点匹配。
所述路径处理模块可以用于在匹配成功时,基于所述当前环境对应的RGB图像和深度图像与匹配的关键帧进行位姿估计,并根据位姿估计结果将所述连续的多个子路径转换至所述终端坐标系。
进一步的,参考图11所示,本示例的实施方式中还提供一种地图构建装置110,应用于终端设备,包括:区域信息接收模块1101、图像数据采集模块1102、子地图构建模块1103。其中,
所述区域信息接收模块1101可以用于接收对目标环境的区域划分信息。
所述图像数据采集模块1102可以用于响应于第一触发操作,对所述区域划分信息对应的指定区域进行图像数据采集;其中,所述图像数据包括RGB图像和对应的深度图像。
所述子地图构建模块1103可以用于根据所述图像数据实时构建三维子地图,并展示在预览界面中。
在本公开的一种示例中,所述装置110还可以包括:第二触发操作响应模块(图中未示出)。
所述第二触发操作响应模块可以用于响应于第二触发操作,对当前预览界面中区域添加锚点信息。
在本公开的一种示例中,所述装置110还可以包括:第三触发操作响应模块、数据采集模块、匹配执行模块和导航执行模块(图中未示出)。其中,
所述第三触发操作响应模块可以用于响应于第三触发操作生成导航请求,以获取所述导航请求对应的路径规划结果;其中,所述路径规划结果包括连续的多个子路径。
所述数据采集模块可以用于采集当前环境对应的RGB图像和深度图像,对所述RGB图像进行特征提取以获取当前特征点数据,并构建终端坐标系。
所述匹配执行模块可以用于将所述当前特征点数据与所述连续的多个子路径对应的关键帧进行特征点匹配。
所述导航执行模块可以用于在匹配成功时,基于所述当前环境对应的RGB图像和深度图像与匹配的关键帧进行位姿估计,并根据位姿估计结果将所述连续的多个子路径转换至所述终端坐标系以进行导航。
在本公开的一种示例中,所述装置110还可以包括:子路径展示模块、子路径展示判断模块(图中未示出)。其中,
所述子路径展示模块可以用于展示一所述子路径。
所述子路径展示判断模块可以用于响应于触发操作采集当前RGB图像和当前深度图像;以根据所述当前RGB图像和当前深度图像与所述子路径进行特征比对,以判断是否展示连续的下一段子路径。
上述的地图构建装置中各模块的具体细节已经在对应的地图构建方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
图12示出了适于用来实现本发明实施例的无线通信设备的计算机系统的结构示意图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口12012也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
需要说明的是,作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图1所示的各个步骤。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (16)
1.一种地图构建方法,应用于服务器端,其特征在于,包括:
接收至少两个终端设备上传的指定区域的图像数据;其中,所述终端设备与所述服务器端通信连接;所述图像数据包括:RGB图像、与所述RGB图像对应的深度图像;
根据接收的图像数据分别构建与各所述终端设备对应的三维子地图;
对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图,包括:对各所述终端设备上传的RGB图像分别进行特征提取以获取各RGB图像对应的特征点数据;分别对两RGB图像进行特征点匹配,并在特征点匹配结果大于预设阈值时,利用两RGB图像对应的深度图像进行位姿估计;根据位姿估计结果对两RGB图像对应的三维子地图进行拼接。
2.根据权利要求1所述的方法,其特征在于,根据接收的图像数据构建三维子地图,包括:
根据第n帧RGB图像和对应的深度图像构建对应的第n帧点云数据;
根据第n+1帧RGB图像和对应的深度图像构建对应的第n+1帧点云数据;以及
基于所述深度图像进行相机位姿估计,依据位姿估计结果将第n+1帧点云数据与所述第n帧点云数据转换至同一三维坐标系中;
在三维坐标中对所述第n+1帧点云数据与第n帧点云数据进行拼接以利用连续的多帧点云数据构建所述三维子地图;其中,n为正整数。
3.根据权利要求2所述的方法,其特征在于,根据RGB图像和对应的深度图像构建对应点云数据,包括:
对所述RGB图像进行特征点提取以获取特征点数据;
根据深度图像获取所述特征点对应的深度坐标;
将所述深度坐标转换为三维坐标,以基于所述特征点的三维坐标构建点云数据。
4.根据权利要求2所述的方法,其特征在于,所述基于所述深度图像进行位姿估计,包括:
对所述第n+1帧RGB图像进行特征提取以获取对应的特征点数据;
将所述第n+1帧RGB图像的特征点数据与所述第n帧RGB图像的特征点数据进行特征点匹配,以获取匹配特征点;
基于所述深度图像获取所述匹配特征点的三维坐标,以根据三维坐标评估所述第n+1帧RGB图像相对所述第n帧RGB图像的位姿信息。
5.根据权利要求2所述的方法,其特征在于,所述图像数据包括RGB图像对应的IMU数据;
所述基于所述深度图像进行位姿估计时,所述方法还包括:
对所述IMU数据进行预积分处理以获取惯性数据;
将所述位姿估计结果与所述惯性数据进行配准,并根据配准结果执行VIO优化。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成对目标环境的多个区域划分信息;
将所述区域划分信息分别发送至对应的多个所述终端设备,以用于各所述终端设备采集对应划分区域的图像数据。
7.根据权利要求6所述的方法,其特征在于,相邻的所述划分区域包含预设比例的重叠区域。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取终端设备的导航请求;所述导航请求包括出发点信息和目的地信息;
根据所述出发点信息和所述目的地信息进行路径规划,并将路径规划结果按预设规则进行子路径划分以获取连续的多个子路径;
将所述连续的多个子路径发送至所述终端设备,以用于所述终端设备根据当前采集的RGB图像和深度图像判断并展示所述连续的多个子路径。
9.根据权利要求8所述的方法,其特征在于,所述终端设备根据当前采集的RGB图像和深度图像判断并展示所述连续的多个子路径,包括:
所述终端设备采集当前环境对应的RGB图像和深度图像,并对所述RGB图像进行特征提取以获取当前特征点数据,并构建终端坐标系;
将所述当前特征点数据与所述连续的多个子路径对应的关键帧进行特征点匹配;
在匹配成功时,基于所述当前环境对应的RGB图像和深度图像与匹配的关键帧进行位姿估计,并根据位姿估计结果将所述连续的多个子路径转换至所述终端坐标系。
10.一种地图构建方法,应用于终端设备,其特征在于,所述方法包括:
接收对目标环境的区域划分信息;
响应于第一触发操作,对所述区域划分信息对应的指定区域进行图像数据采集;其中,所述图像数据包括RGB图像和对应的深度图像;
根据所述图像数据实时构建三维子地图,并展示在预览界面中;
所述方法还包括:响应于第三触发操作生成导航请求,以获取所述导航请求对应的路径规划结果;其中,所述路径规划结果包括连续的多个子路径;采集当前环境对应的RGB图像和深度图像,对所述RGB图像进行特征提取以获取当前特征点数据,并构建终端坐标系;将所述当前特征点数据与所述连续的多个子路径对应的关键帧进行特征点匹配;在匹配成功时,基于所述当前环境对应的RGB图像和深度图像与匹配的关键帧进行位姿估计,并根据位姿估计结果将所述连续的多个子路径转换至所述终端坐标系以进行导航。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
响应于第二触发操作,对当前预览界面中区域添加锚点信息。
12.根据权利要求10所述的方法,其特征在于,在导航时,所述方法还包括:
展示一所述子路径;
响应于触发操作采集当前RGB图像和当前深度图像;
根据所述当前RGB图像和当前深度图像与所述子路径进行特征比对,以判断是否展示连续的下一段子路径。
13.一种地图构建装置,配置于服务器端,其特征在于,包括:
数据接收模块,用于接收至少两个终端设备上传的指定区域的图像数据;其中,所述终端设备与所述服务器端通信连接;所述图像数据包括:RGB图像、与所述RGB图像对应的深度图像;
子地图构建模块,用于根据接收的图像数据分别构建与各所述终端设备数量对应的三维子地图;
子地图融合模块,用于对各所述三维子地图之间进行特征匹配,并在所述三维子地图特征匹配成功时将对应的所述三维子地图进行特征融合处理以获取目标地图,包括:云端特征提取单元,用于对各所述终端设备上传的RGB图像分别进行特征提取以获取各RGB图像对应的特征点数据;云端匹配执行单元,用于分别对两RGB图像进行特征点匹配,并在特征点匹配结果大于预设阈值时,利用两RGB图像对应的深度图像进行位姿估计;子地图融合单元,用于根据位姿估计结果对两RGB图像对应的三维子地图进行拼接。
14.一种地图构建装置,配置于终端设备,其特征在于,包括:
区域信息接收模块,用于接收对目标环境的区域划分信息;
图像数据采集模块,用于响应于第一触发操作,对所述区域划分信息对应的指定区域进行图像数据采集;其中,所述图像数据包括RGB图像和对应的深度图像;
子地图构建模块,用于根据所述图像数据实时构建三维子地图,并展示在预览界面中;
第三触发操作响应模块,用于响应于第三触发操作生成导航请求,以获取所述导航请求对应的路径规划结果;其中,所述路径规划结果包括连续的多个子路径;
数据采集模块,用于采集当前环境对应的RGB图像和深度图像,对所述RGB图像进行特征提取以获取当前特征点数据,并构建终端坐标系;
匹配执行模块,用于将所述当前特征点数据与所述连续的多个子路径对应的关键帧进行特征点匹配;
导航执行模块,用于在匹配成功时,基于所述当前环境对应的RGB图像和深度图像与匹配的关键帧进行位姿估计,并根据位姿估计结果将所述连续的多个子路径转换至所述终端坐标系以进行导航。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的地图构建方法。
16.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至12中任一项所述的地图构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349380.9A CN111174799B (zh) | 2019-12-24 | 2019-12-24 | 地图构建方法及装置、计算机可读介质、终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349380.9A CN111174799B (zh) | 2019-12-24 | 2019-12-24 | 地图构建方法及装置、计算机可读介质、终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111174799A CN111174799A (zh) | 2020-05-19 |
CN111174799B true CN111174799B (zh) | 2023-02-17 |
Family
ID=70654149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911349380.9A Active CN111174799B (zh) | 2019-12-24 | 2019-12-24 | 地图构建方法及装置、计算机可读介质、终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111174799B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111829535B (zh) * | 2020-06-05 | 2022-05-03 | 阿波罗智能技术(北京)有限公司 | 生成离线地图的方法、装置、电子设备和存储介质 |
CN111696162B (zh) * | 2020-06-11 | 2022-02-22 | 中国科学院地理科学与资源研究所 | 一种双目立体视觉精细地形测量系统及方法 |
CN111831771B (zh) * | 2020-07-09 | 2024-03-12 | 广州小鹏自动驾驶科技有限公司 | 一种地图融合的方法和车辆 |
CN111833447A (zh) * | 2020-07-13 | 2020-10-27 | Oppo广东移动通信有限公司 | 三维地图构建方法、三维地图构建装置及终端设备 |
WO2022041257A1 (zh) * | 2020-08-31 | 2022-03-03 | 深圳市大疆创新科技有限公司 | 三维地图处理方法、装置、可移动平台及存储介质 |
CN114199243B (zh) * | 2020-09-18 | 2024-05-24 | 浙江舜宇智能光学技术有限公司 | 用于机器人的位姿估计和运动规划方法、装置和机器人 |
CN112365530A (zh) * | 2020-11-04 | 2021-02-12 | Oppo广东移动通信有限公司 | 增强现实处理方法及装置、存储介质和电子设备 |
CN112308810B (zh) * | 2020-11-05 | 2022-05-13 | 广州小鹏自动驾驶科技有限公司 | 一种地图融合的方法及装置、服务器、存储介质 |
CN112097768B (zh) * | 2020-11-17 | 2021-03-02 | 深圳市优必选科技股份有限公司 | 机器人位姿的确定方法、装置、机器人及存储介质 |
CN112270748B (zh) * | 2020-11-18 | 2024-03-19 | Oppo广东移动通信有限公司 | 基于图像的三维重建方法及装置 |
CN112489057B (zh) * | 2020-12-05 | 2022-07-01 | 武汉中海庭数据技术有限公司 | 交通标志数据处理方法、电子装置和存储介质 |
CN112539757B (zh) * | 2020-12-08 | 2023-07-21 | 北京嘀嘀无限科技发展有限公司 | 目标地图确定方法、系统、装置、设备和可读存储介质 |
CN112710318B (zh) * | 2020-12-14 | 2024-05-17 | 深圳市商汤科技有限公司 | 地图生成方法、路径规划方法、电子设备以及存储介质 |
CN113506369A (zh) * | 2021-07-13 | 2021-10-15 | 阿波罗智能技术(北京)有限公司 | 用于生成地图的方法、装置、电子设备和介质 |
CN113674351B (zh) * | 2021-07-27 | 2023-08-08 | 追觅创新科技(苏州)有限公司 | 一种机器人的建图方法及机器人 |
CN113570716A (zh) * | 2021-07-28 | 2021-10-29 | 视辰信息科技(上海)有限公司 | 云端三维地图构建方法、系统及设备 |
US11585917B1 (en) | 2021-08-24 | 2023-02-21 | Google Llc | Systems and methods for generating three-dimensional maps of an indoor space |
CN114166206B (zh) * | 2021-12-08 | 2024-06-21 | 深圳市慧想文化有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN116452778A (zh) * | 2022-01-06 | 2023-07-18 | 华为技术有限公司 | 一种增强现实系统、多设备构建三维地图的方法及设备 |
CN114926601B (zh) * | 2022-07-21 | 2022-10-28 | 广州乐软网络科技有限公司 | 一种面向对象的地图构建方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103413352A (zh) * | 2013-07-29 | 2013-11-27 | 西北工业大学 | 基于rgbd多传感器融合的场景三维重建方法 |
CN106127739A (zh) * | 2016-06-16 | 2016-11-16 | 华东交通大学 | 一种结合单目视觉的rgb‑d slam方法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
WO2018121448A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳市杉川机器人有限公司 | 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质 |
CN109141446A (zh) * | 2018-07-04 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 用于获得地图的方法、装置、设备和计算机可读存储介质 |
CN110276826A (zh) * | 2019-05-23 | 2019-09-24 | 全球能源互联网研究院有限公司 | 一种电网作业环境地图的构建方法及系统 |
CN110533587A (zh) * | 2019-07-03 | 2019-12-03 | 浙江工业大学 | 一种基于视觉先验信息和地图恢复的slam方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10580135B2 (en) * | 2016-07-14 | 2020-03-03 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for splicing images |
-
2019
- 2019-12-24 CN CN201911349380.9A patent/CN111174799B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103413352A (zh) * | 2013-07-29 | 2013-11-27 | 西北工业大学 | 基于rgbd多传感器融合的场景三维重建方法 |
CN106127739A (zh) * | 2016-06-16 | 2016-11-16 | 华东交通大学 | 一种结合单目视觉的rgb‑d slam方法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
WO2018121448A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳市杉川机器人有限公司 | 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质 |
CN109141446A (zh) * | 2018-07-04 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 用于获得地图的方法、装置、设备和计算机可读存储介质 |
CN110276826A (zh) * | 2019-05-23 | 2019-09-24 | 全球能源互联网研究院有限公司 | 一种电网作业环境地图的构建方法及系统 |
CN110533587A (zh) * | 2019-07-03 | 2019-12-03 | 浙江工业大学 | 一种基于视觉先验信息和地图恢复的slam方法 |
Non-Patent Citations (1)
Title |
---|
基于ORB-SLAM的室内机器人定位和三维稠密地图构建;侯荣波等;《计算机应用》;20170510;第37卷(第5期);1439-1444 * |
Also Published As
Publication number | Publication date |
---|---|
CN111174799A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111174799B (zh) | 地图构建方法及装置、计算机可读介质、终端设备 | |
US11105638B2 (en) | Method, apparatus, and computer readable storage medium for updating electronic map | |
US11557083B2 (en) | Photography-based 3D modeling system and method, and automatic 3D modeling apparatus and method | |
KR20220028042A (ko) | 포즈 결정 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
TW201715476A (zh) | 運用擴增實境技術之導航系統 | |
KR20210089602A (ko) | 차량의 제어 방법, 장치 및 차량 | |
Gomez-Jauregui et al. | Quantitative evaluation of overlaying discrepancies in mobile augmented reality applications for AEC/FM | |
US20220375220A1 (en) | Visual localization method and apparatus | |
CN111612852A (zh) | 用于验证相机参数的方法和装置 | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN115439528A (zh) | 一种获取目标对象的图像位置信息的方法与设备 | |
CN113932796A (zh) | 高精地图车道线生成方法、装置和电子设备 | |
CN115620264B (zh) | 车辆定位方法、装置、电子设备和计算机可读介质 | |
CN116858215A (zh) | 一种ar导航地图生成方法及装置 | |
WO2023088127A1 (zh) | 室内导航方法、服务器、装置和终端 | |
CN110853098A (zh) | 机器人定位方法、装置、设备及存储介质 | |
Chi et al. | Locate, Tell, and Guide: Enabling public cameras to navigate the public | |
CN114119973A (zh) | 一种基于图像语义分割网络的空间距离预测方法及系统 | |
CN110389349B (zh) | 定位方法和装置 | |
CN111461982B (zh) | 用于拼接点云的方法和装置 | |
CN113763561B (zh) | Poi数据生成方法、装置、存储介质及电子设备 | |
CN109977784B (zh) | 用于获取信息的方法及装置 | |
CN112651991B (zh) | 视觉定位方法、装置及计算机系统 | |
CA3102860C (en) | Photography-based 3d modeling system and method, and automatic 3d modeling apparatus and method | |
LU et al. | Scene Visual Perception and AR Navigation Applications |
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 |