CN108665508A - 一种即时定位与地图构建方法、装置及存储介质 - Google Patents
一种即时定位与地图构建方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108665508A CN108665508A CN201810385608.9A CN201810385608A CN108665508A CN 108665508 A CN108665508 A CN 108665508A CN 201810385608 A CN201810385608 A CN 201810385608A CN 108665508 A CN108665508 A CN 108665508A
- Authority
- CN
- China
- Prior art keywords
- component
- structure feature
- information
- frame image
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000003860 storage Methods 0.000 title claims abstract description 35
- 230000006698 induction Effects 0.000 claims description 9
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000003708 edge detection Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 235000013399 edible fruits Nutrition 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 210000003462 vein Anatomy 0.000 description 4
- 238000004804 winding Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 238000005194 fractionation Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000007306 turnover Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了即时定位与地图构建方法、装置及存储介质,应用于信息处理技术领域。在本实施例的即时定位和地图构建方法中,需要获取图像拍摄装置拍摄的当前帧图像的边缘信息,并将这些边缘信息划分为多个第一部件的结构特征,每个第一部件可以对应当前帧图像中一个对象的部分结构,或对应至少一个对象,然后通过在第一部件的结构特征与参考帧图像中第二部件的结构特征的匹配,可以得到当前帧图像中各个第一部件与参考帧图像中各个第二部件之间的对应关系,最后根据该对应关系即可对图像拍摄装置进行即时定位。本发明实施例对图像中各个对象的描述更为准确,使得基于部件的结构特征之间的匹配更可靠,进而提高了即时定位的准确性。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种即时定位与地图构建方法、装置及存储介质。
背景技术
目前基于特征的视觉即时定位与地图构建(simultaneous localization andmapping,SLAM)技术是一种通过对相机采集到的图像进行处理,以实现相机的同步定位与环境地图构建的技术。现有的视觉SLAM方法主要是基于面向加速段测验特性和二进制独立基本特征(Oriented FAST and Rotated BRIEF,ORB)的点特征SLAM(ORB-SLAM)方法,或是基于点直线特征的SLAM(PL-SLAM)方法。
ORB-SLAM方法是一种基于ORB特征的定位与地图构建算法,主要是在图像中提取ORB特征,然后对各帧图像的ORB特征进行匹配,以实现相机位姿解算及环境地图构建。PL-SLAM方法是建立在ORB-SLAM方法之上的,在图像中ORB点特征的基础上结合直线特征,并对各帧图像的点直线特征进行匹配,以实现更高精度及可靠性的定位与地图构建。
目前基于图像点特征或直线特征的视觉SLAM方法,由于其特征所含的信息较少,故单个特征的可靠性较低,容易发生错误匹配。如PL-SLAM算法采用点与直线作为特征,其仅含有图像中角点及直线段邻域内的信息,很难与图像中另外区域的相似角点及直线段进行区分,进而经常导致错误匹配。
与此同时,由于单个特征的可靠性较低,因此需要在图像中提取的特征数量较多,使得在两帧图像间进行特征匹配时需要很大的计算量。例如PL-SLAM算法,通常在每一帧图像中要提取数十或数百个特征,那么特征匹配就要在当前帧大量特征点与参考帧图像近似数量特征点之间进行,进而产生大量的计算。
发明内容
本发明实施例提供一种即时定位与地图构建方法、装置及存储介质,实现了根据当前帧图像中的边缘信息得到的第一部件的结构特征,对图像拍摄装置进行即时定位。
本发明实施例第一方面提供一种即时定位与地图构建方法,包括:
获取图像拍摄装置拍摄的当前帧图像的边缘信息,所述边缘信息包括多条边缘曲线的信息和/或边缘关键点的信息;
根据所述获取的边缘信息确定所述当前帧图像中第一部件的结构特征,每个第一部件的结构特征中包括至少一条所述边缘曲线的信息和/或所述至少一条边缘曲线上边缘关键点的信息;
获取所述图像拍摄装置拍摄的参考帧图像中第二部件的结构特征;
在所述第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系;
根据所述对应关系对所述图像拍摄装置进行即时定位。
本发明实施例第二方面提供一种即时定位与地图构建装置,包括:
边缘获取单元,用于获取图像拍摄装置拍摄的当前帧图像的边缘信息,所述边缘信息包括多条边缘曲线的信息和/或边缘关键点的信息;
特征获取单元,用于根据所述获取的边缘信息确定所述当前帧图像中第一部件的结构特征,每个第一部件的结构特征中包括至少一条所述边缘曲线的信息和/或所述至少一条边缘曲线上边缘关键点的信息;
所述特征获取单元,还用于获取所述图像拍摄装置拍摄的参考帧图像中第二部件的结构特征;
匹配单元,用于在所述第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系;
定位单元,用于根据所述对应关系对所述图像拍摄装置进行即时定位。
本发明实施例第三方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的即时定位与地图构建方法。
本发明实施例第四方面提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的即时定位与地图构建方法。
可见,在本实施例的即时定位和地图构建方法中,需要获取图像拍摄装置拍摄的当前帧图像的边缘信息,并将这些边缘信息划分为多个第一部件的结构特征,每个第一部件可以对应当前帧图像中的一个对象的部分结构,或对应至少一个对象,然后通过在第一部件的结构特征与参考帧图像中第二部件的结构特征的匹配,可以得到当前帧图像中各个第一部件与参考帧图像中各个第二部件之间的对应关系,最后根据该对应关系即可对图像拍摄装置进行即时定位。由于本发明实施例中获取的一个第一部件的结构特征中包括至少一条边缘曲线的信息和/或至少一条边缘曲线上边缘关键点的信息,这样对图像中各个对象的描述更为准确,使得基于部件的结构特征之间的匹配更可靠,进而提高了即时定位的准确性;进一步地,由于每个第一部件的结构特征可以描述当前帧图像中的一个对象的部分结构,或至少一个对象的结构,而一般情况下,一帧图像中所包括的对象数量不会很多,这样获取的第一部件的结构特征也不会很多,使得在后续匹配过程中的计算量较小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种即时定位与地图构建方法的流程图;
图2是本发明实施例中在结构特征之间进行匹配的示意图;
图3是本发明另一个实施例提供的一种即时定位与地图构建方法的流程图;
图4是本发明应用实施例中即时定位与地图构建装置的结构示意图;
图5是本发明应用实施例中即时定位与地图构建方法的流程图;
图6a是本发明应用实施例中图像拍摄装置拍摄的当前帧图像的示意图;
图6b是本发明应用实施例中当前帧图像中边缘曲线的示意图;
图6c是本发明应用实施例中当前帧图像中边缘关键点的示意图;
图6d是本发明应用实施例中确定第一部件的结构特征的示意图;
图7是本发明实施例中提供的一种即时定位与地图构建装置的结构示意图;
图8是本发明实施例中提供的另一种即时定位与地图构建装置的结构示意图;
图9是本发明实施例中提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种即时定位与地图构建方法,即基于部件结构特征的视觉SLAM方法,主要可以应用于即时定位与地图构建装置中,该装置与图像拍摄装置(比如相机等)通信连接。其中,图像拍摄装置会按照一定周期拍摄其周围环境中的图像,当图像拍摄装置拍摄了一帧图像后,即时定位与地图构建装置会对该帧图像(即下述的当前帧图像)发起如下的即时定位与地图构建方法:
获取图像拍摄装置拍摄的当前帧图像的边缘信息,所述边缘信息包括多条边缘曲线的信息和/或边缘关键点的信息;根据所述获取的边缘信息确定所述当前帧图像中第一部件的结构特征,每个第一部件的结构特征中包括至少一条所述边缘曲线的信息和/或所述至少一条边缘曲线上边缘关键点的信息;获取所述图像拍摄装置拍摄的参考帧图像中第二部件的结构特征;在所述第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系;根据所述对应关系对所述图像拍摄装置进行即时定位。
在实际应用中,上述即时定位与地图构建装置可以是智能移动设备,比如机器人等,这种情况下,在即时定位与地图构建装置上会固定安装有上述的图像拍摄装置;另一种情况下,上述图像拍摄装置可以安装于即时定位与地图构建装置之外的,其它待定位的移动设备上。
这样,由于本发明实施例中获取的一个第一部件的结构特征中包括至少一条边缘曲线的信息和/或至少一条边缘曲线上边缘关键点的信息,这样对图像中各个对象的描述更为准确,使得基于部件的结构特征之间的匹配更可靠,进而提高了即时定位的准确性;进一步地,由于每个第一部件的结构特征可以描述当前帧图像中一个对象的部分结构,或至少一个对象的结构,而一般情况下,一帧图像中所包括的对象数量不会很多,这样获取的第一部件的结构特征也不会很多,使得在后续匹配过程中的计算量较小。
本发明一个实施例提供一种即时定位与地图构建方法,主要是由上述与图像拍摄装置通信连接的即时定位与地图构建装置所执行的方法,流程图如图1所示,包括:
步骤101,获取图像拍摄装置拍摄的当前帧图像的边缘信息,该边缘信息包括多条边缘曲线的信息。
可以理解,当与即时定位与地图构建装置通信连接的图像拍摄装置拍摄一帧图像(即当前帧图像)后,可以发起即时定位与地图构建装置执行本实施例中步骤101到105的流程。
对于当前帧图像中比较简单的对象,上述边缘信息是指当前帧图像中这些对象轮廓线上的像素点的信息,具体可以包括这些像素点的坐标信息,和像素值等信息;而对于当前帧图像中比较复杂的对象,其边缘信息还可以包括该对象内部纹理中的像素点信息,比如当前帧图像中一个桌子的桌面上的一朵花可以为该桌子桌面的纹理。其中,当前帧图像中的一个对象可以表示实际的一个物体,比如一个人或一个柜子等。
该边缘信息可以有多种形式,在本实施例中,边缘信息具体包括多条边缘曲线的信息,具体地,即时定位与地图构建装置可以采用Canny创立的边缘检测计算理论(Computational theory of edge detection)等边缘检测算法对当前帧图像进行检测,得到多条边缘曲线的信息,而每条边缘曲线的信息中包括组成该条边缘曲线的多个相邻像素点的信息,比如这多个像素点的坐标信息,及这多个相邻像素点组成的曲线的形状等信息。
其中,对于当前帧图像中的某一对象来说,该对象的边缘信息可以包括该对象轮廓线上及内部纹理中的至少一条边缘曲线的信息,这至少一条边缘曲线可以是封闭的曲线,或是线段,或是不完全闭合的曲线等。
例如,当前帧图像中包含在地面上放置的一书桌,则在执行本步骤后,可以得到该书桌的桌面的至少一条边缘曲线,及桌腿轮廓线上的至少一条边缘曲线。
需要说明的是,即时定位与地图构建装置在执行本步骤101之后,可以直接执行步骤102;或者,在执行了步骤101之后,先对上述多条边缘曲线的信息进行预处理后,再对预处理后得到的边缘曲线的信息执行步骤102。其中预处理可以包括但不限于如下处理:对多条边缘曲线的信息进行过滤,即将其中不满足预置条件的某些边缘曲线(比如第一边缘曲线)的信息去除等操作,这里预置条件可以包括:边缘曲线所包含的像素点个数超过某一阈值等。
步骤102,根据步骤101获取的边缘信息确定当前帧图像中第一部件的结构特征,每个第一部件的结构特征包括至少一条上述的边缘曲线的信息。
这里的每个第一部件的结构特征可以描述当前帧图像中一个对象的部分结构(比如一个人的头部,或是身体部分等),或者可以描述一个对象的结构,或多个对象的结构,这样每个第一部件的结构特征即包括了至少一个上述的边缘曲线的信息。其中,对于当前帧图像中包含的独立对象来说,通过上述步骤101和102的操作,可以用一个或多个第一部件的结构特征来描述该独立对象;如果当前帧图像中一个对象与另一对象相连,这样通过上述步骤101和102的操作,可以用一个第一部件的结构特征来描述这两个相连对象。
具体地,即时定位与地图构建装置可以直接将上述步骤101获取的一条边缘曲线的信息作为一个第一部件的结构特征;或者,将多条边缘曲线中相邻的多条边缘曲线的信息作为一个第一部件的结构特征。
步骤103,获取图像拍摄装置拍摄的参考帧图像中第二部件的结构特征。
具体地,即时定位与地图构建装置可以在针对当前帧图像发起本实施例的流程后,按照上述步骤101与102的方法获取到第二部件的结构特征;或是在针对参考帧图像执行本实施例方法的过程中,获取到第二部件的结构特征后并储存在即时定位与地图构建装置的本地存储中,当针对当前帧图像发起本实施例的流程后,即时定位与地图构建装置会直接从本地存储中提取到第二部件的结构特征。
这里参考帧图像是指当前帧图像的前一帧图像,或是前n(n大于1)帧图像等,需要根据图像拍摄装置拍摄的图像来确定,如果前一帧图像较模糊,则可以选择较为清晰的前n帧图像作为参考帧图像。
特别地,如果当前帧图像为图像拍摄装置拍摄的首帧图像,则在确定参考帧图像时,如果在即时定位与地图构建装置的本地存储中储存有当前位置的地图数据,可以将地图数据中当前位置的图像作为参考帧图像;如果在即时定位与地图构建装置的本地存储未储存有当前位置的地图数据,则不会针对当前帧图像,执行如下步骤103到105的操作。
步骤104,在第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系。
具体地,即时定位与地图构建装置可以针对某一第一部件的结构特征,将该第一部件的结构特征分别与每个第二部件的结构特征进行匹配,如果与某一第二部件的结构特征相匹配,即可得到当前帧图像中的该第一部件在参考帧图像中对应的第二部件。
如果某一第一部件的结构特征与任一第二部件的结构特征都不相匹配,说明当前帧图像中的该第一部件在参考帧图像中未出现,可能是图像拍摄装置在移动过程中,该第一部件的部分超出了当前帧图像的边界,也可能是上述步骤102确定的该第一部件的结构特征过多,不能很好地描述当前帧图像所包含对象的结构。在这种情况下,进一步地,如果该第一部件的结构特征中包括了多条边缘曲线的信息,则即时定位与地图构建装置可以对上述步骤102确定的该第一部件的结构特征进行拆分,得到多个拆分后部件的结构特征,然后针对每个拆分后部件的结构特征再执行本步骤104中的匹配操作,即在各个拆分后部件的结构特征分别与第二部件的结构特征之间进行匹配,这样可以得到拆分后部件与第二部件之间的对应关系。
其中,在对第一部件的结构特征进行拆分时,如果第一部件的结构特征中包括m(m大于1)条边缘曲线的信息,则可以将该第一部件的结构特征拆分为最多m个拆分后部件的结构特征,在拆分后部件的结构特征中可以包括一条边缘曲线的信息,也可以包括p(p小于上述的m)条相邻的边缘曲线的信息。
需要说明的是,上述某一第一部件的结构特征与某一第二部件的结构特征之间进行匹配时,主要是将第一部件的结构特征中的至少一个如下信息与第二部件的结构特征中的对应信息进行比较:至少一条边缘曲线组成的形状、曲率等属性,至少一条边缘曲线中包括的像素点个数等。如果其中至少x个信息的比较结果为第一部件的结构特征与第二部件的结构特征中基于相应信息的差别较大,比如像素点个数的差别大于预置值等,则第一部件的结构特征与第二部件的结构特征之间不相匹配,其中,x为大于1的自然数。
步骤105,根据上述步骤104得到的对应关系对图像拍摄装置进行即时定位。
具体地,即时定位与地图构建装置可以针对具有对应关系的第一部件及第二部件,比较第一部件在当前帧图像中的位置,与第二部件在参考帧图像中的位置,确定图像拍摄装置在拍摄参考帧图像与当前帧图像之间的运动信息,比如旋转和平移信息等,即图像拍摄装置的姿态信息。即时定位与地图构建装置还可以根据上述确定的运动信息,并结合即时定位与地图构建装置中预置的环境地图信息,确定地图拍摄装置当前所在的位置信息。这样得到了图像拍摄装置的位姿,即姿态信息和位置信息。
可见,在本实施例的即时定位和地图构建方法中,需要获取图像拍摄装置拍摄的当前帧图像的边缘信息,并将这些边缘信息划分为多个第一部件的结构特征,每个第一部件可以对应当前帧图像中一个对象的部分结构,或对应至少一个对象,然后通过在第一部件的结构特征与参考帧图像中第二部件的结构特征的匹配,可以得到当前帧图像中各个第一部件与参考帧图像中各个第二部件之间的对应关系,最后根据该对应关系即可对图像拍摄装置进行即时定位。由于本发明实施例中获取的一个第一部件的结构特征中包括至少一条边缘曲线的信息,这样对图像中各个对象的描述更为准确,使得基于部件的结构特征之间的匹配更可靠,进而提高了即时定位的准确性;进一步地,由于每个第一部件的结构特征可以描述当前帧图像中的一个对象的部分结构,或至少一个对象的结构,而一般情况下,一帧图像中所包括的对象数量不会很多,这样获取的第一部件的结构特征也不会很多,使得在后续匹配过程中的计算量较小。
在一个具体的实施例中,即时定位与地图构建装置在执行上述步骤104中的匹配步骤时,可以采用自顶向下的匹配方式,即:
确定各个第一部件的结构特征,及各个第二部件的结构特征的排序值分别为对应边缘信息的计算值;并按照排序值分别对第一部件的结构特征进行排序,及对第二部件的结构特征进行排序;然后按照排序值从大到小的顺序,将每个第一部件的结构特征依次与各个第二部件的结构特征进行匹配。
在本实施例中,由于边缘信息包括多个边缘曲线的信息,则这里的排序值可以为对应边缘曲线的长度,其中,由于一个第一部件的结构特征中可能会包括多个边缘曲线的信息,则可以将这多边缘曲线的长度之和作为该第一部件的结构特征的排序值,这样每个第一部件的结构特征分别对应一个排序值,每个第二部件的结构特征也分别对应一个排序值。
例如图2所示,通过上述步骤102获取到4个第一部件的结构特征,按照排序值从大到小的顺序,对这4个第一部件的结构特征进行排序得到如图2所示的顺序为:排序值l1、l2、l3和l4分别对应的第一部件的结构特征;通过上述步骤103获取到4个第二部件的结构特征,按照排序值从大到小的顺序,对这4个第二部件的结构特征进行排序得到如图2所示的顺序为:排序值l11、l12、l13和l14分别对应的第二部件的结构特征。这样在进行匹配时,会先将排序值l1对应的第一部件的结构特征,依次与排序值l11、l12、l13和l14分别对应的第二部件的结构特征进行匹配;然后将排序值l2对应的第一部件的结构特征,依次与排序值l11、l12、l13和l14分别对应的第二部件的结构特征进行匹配;……;将排序值l4对应的第一部件的结构特征,依次与排序值l11、l12、l13和l14分别对应的第二部件的结构特征进行匹配。在上述图2中通过不同长度的方形来表示不同排序值的第二部件的结构特征,及不同排序值的第一部件的结构特征。
这样,即时定位与地图构建装置可以优先在排序值较大的第一部件的结构特征与排序值较大的第二部件的结构特征之间进行匹配。其中,排序值较大的第一部件的结构特征所表示的对象在当前帧图像中是结构较大的物体,该物体可能会对应参考帧图像中结构较大的物体,即该物体对应的第一部件的结构特征可能会与参考帧图像中排序值较大的第二部件的结构特征相匹配,因此,通过对第一部件的结构特征和第二部件的结构特征进行排序,然后再按照排序值从大到小的顺序,依次进行匹配,可以迅速找到与各个第一部件对应的第二部件。
在另一具体的实施例中,即时定位与地图构建装置在执行上述步骤104中的匹配步骤之前,还会获取上述图像拍摄装置之外的其它传感器的感应信息,比如里程计或惯性测量单元(Inertial measurement unit,IMU)等感应到的信息;并根据接收的感应信息预测在参考帧图像中与各个第一部件对应的第二部件的区域。
这样在执行上述步骤104时,可以不用将各个第一部件的结构特征分别与每个第二部件的结构特征进行匹配,而只是将第一部件的结构特征与上述预测区域内的第二部件的结构特征进行匹配,从而进一步地减少了匹配过程中的计算量。
例如,IMU的感应信息为水平向左旋转一定角度,因此,对于当前帧图像中心区域的某一对象,在参考帧图像中该对象会在靠左的区域中,则可以将该对象对应的第一部件的结构特征,与参考帧图像中靠左区域内第二部件的结构特征进行匹配。
其中其它传感器与上述图像拍摄装置都安装到同一移动设备上。
进一步地,在其它具体实施例中,即时定位与地图构建装置在执行了上述步骤102后,即确定了第一部件的结构特征后,还可以进行回环检测,具体地:
即时定位与地图构建装置会获取历史关键帧图像的中第三部件的结构特征,然后在第一部件的结构特征与第三部件的结构特征之间进行匹配得到匹配结果,并根据匹配结果确定所述图像拍摄装置之前是否达到当前的位置,以更新本地存储中的地图信息。
其中,历史关键帧图像是图像拍摄装置在移动过程中拍摄的图像,可以是一帧图像也可以多帧图像,即历史关键帧图像是当前帧图像之前的至少一帧图像。在具体实现过程中,图像拍摄装置在拍摄图像的过程中,可以按照一定周期选取一帧图像作为历史关键帧图像,储存到本地存储中。例如,图像配置装置会在每次拍摄5帧图像后将下一帧图像作为历史关键帧图像。
即时定位与地图构建装置在获取第三部件的结构特征,及与第一部件的结构特征之间进行匹配的方法见上述实施例中所述,在此不进行赘述。其中,如果历史关键帧图像有多帧图像,则即时定位与地图构建装置会分别在每一帧图像的第三部件的结构特征与第一部件的结构特征之间进行匹配。
即时定位与地图构建装置在进行匹配操作后,得到的匹配结果可以包括第一部件的结构特征与某一历史关键帧图像的第三部件的结构特征之间是否相匹配的信息。进一步地,如果至少t个第一部件的结构特征与某一历史关键帧图像的第三部件的结构特征相匹配,则可以确定图像拍摄装置之前达到当前的位置,其中,t为大于1或等于1的自然数,这里t的具体值可以根据实际应用来设置。
进一步地,当即时定位与地图构建装置确定图像拍摄装置之前达到当前的位置后,可以根据当前帧图像中第一部件的结构特征,更新本地存储中的地图信息。具体地,如果当前帧图像中某个第一部件的结构特征对应的对象未包含在本地存储的地图信息中,如果确定该对象是静态物体,则在地图信息中添加该对象的信息;如果当前帧图像中某个第一部件的结构特征对应的对象与地图信息中的对象信息不相符,如果确定该对象是静态物体,则将地图信息中的对象信息替换为该第一部件的结构特征等。
本发明另一个实施例提供一种即时定位与地图构建方法,主要是由上述与图像拍摄装置通信连接的即时定位与地图构建装置所执行的方法,与上述图1所示的流程类似,不同的是,本实施例中获取的当前帧图像的边缘信息,除了包括边缘曲线的信息,还会包括当前帧图像中边缘关键点的信息,本实施例的方法流程图如图3所示,包括:
步骤201,获取图像拍摄装置拍摄的当前帧图像的多条边缘曲线的信息。
可以理解,当与即时定位与地图构建装置通信连接的图像拍摄装置拍摄一帧图像(即当前帧图像)后,可以发起即时定位与地图构建装置执行本实施例中步骤201到206的流程。
步骤202,获取当前帧图像中边缘关键点的信息。
具体地,即时定位与地图构建装置在获取边缘关键点的信息时,可以采用加速段试验特性(Features from Accelerated Segment Test,Fast)角点,或是Harris角点等算法对当前帧图像中的边缘关键点进行检测,得到边缘关键点的信息。对于当前帧图像中比较简单的对象,边缘关键点的信息主要是当前帧图像中这些对象轮廓线上转折像素点的信息,具体可以包括这些像素点的坐标信息和像素值等信息;而对于当前帧图像中比较复杂的对象,其边缘关键点的信息还可以包括该对象内部纹理中的像素点信息。其中,转折像素点是指轮廓线上的拐点,或是切线点等像素点。
需要说明的是,在执行本步骤时,即时定位与地图构建装置可以直接对当前帧图像进行处理,从而获取到边缘关键点的信息。在理想状态下,这里边缘关键点需要在上述步骤201中检测得到的边缘曲线中,但是由于实际计算过程中的差异,这里获取的有些边缘关键点的信息可能不在上述201检测到的边缘曲线的信息中,在这种情况下,可以保留这些边缘关键点的信息,并将这些边缘关键点与最近的一条边缘曲线建立模糊连接。
在另一种情况下,即时定位与地图构建装置在获取边缘关键点的信息时,可以直接从上述步骤201获取的边缘曲线中选取部分像素点的信息作为边缘关键点的信息。
需要说明的是,即时定位与地图构建装置在执行本步骤202之后,可以直接执行步骤203;或者,在执行了步骤202之后,先对上述多条边缘曲线的信息及边缘关键点的信息(即边缘信息)进行预处理后,再对预处理后得到的边缘信息执行步骤203。其中预处理可以包括但不限于如下处理:对多条边缘曲线的信息和边缘关键点的信息进行过滤,即将其中不满足预置条件的某些边缘曲线(比如第一边缘曲线)的信息及对应的边缘关键点的信息去除等操作,这里预置条件可以包括:边缘曲线所包含的像素点个数超过某一阈值等。
步骤203,根据步骤201获取的边缘曲线的信息及步骤202获取的边缘关键点的信息,确定当前帧图像中第一部件的结构特征,每个第一部件的结构特征包括至少一条上述的边缘曲线的信息,及这至少一条边缘曲线上的边缘关键点的信息。
可以理解,一个第一部件的结构特征中会包括上述步骤201获取的至少一条边缘曲线的信息,还会包括上述步骤202获取的这至少一条边缘曲线上边缘关键点的信息。在有些情况下,还会包括与这至少一条边缘曲线建立了模糊连接的其它边缘关键点的信息,从而进一步补充了第一部件的结构特征,使得对当前帧图像中各对象的描述更准确。
步骤204,获取图像拍摄装置拍摄的参考帧图像中第二部件的结构特征。
步骤205,在第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系。
具体地,即时定位与地图构建装置可以针对某一第一部件的结构特征,将该第一部件的结构特征分别与每个第二部件的结构特征进行匹配,如果与某一第二部件的结构特征相匹配,即可得到当前帧图像中的该第一部件在参考帧图像中对应的第二部件。
如果某一第一部件的结构特征与任一第二部件的结构特征都不相匹配,进一步地,如果该第一部件的结构特征中包括了多条边缘曲线的信息及多条边缘曲线上边缘关键点的信息,则即时定位与地图构建装置可以对上述步骤203确定的该第一部件的结构特征进行拆分,得到多个拆分后部件的结构特征,然后针对每个拆分后部件的结构特征再执行本步骤205中的匹配操作。
需要说明的是,某一第一部件的结构特征与某一第二部件的结构特征之间进行匹配时,主要是将第一部件的结构特征中的至少一个如下信息与第二部件的结构特征中的对应信息进行比较:至少一条边缘曲线组成的形状、曲率等属性,至少一条边缘曲线中包括的像素点个数,边缘关键点所组成的形状,边缘曲线上边缘关键点附近的曲率等。如果其中至少x个信息的比较结果为第一部件的结构特征与第二部件的结构特征中基于相应信息的差别较大,比如像素点个数的差别大于预置值等,则第一部件的结构特征与第二部件的结构特征之间不相匹配,其中,x为大于1的自然数。
进一步地,在一个具体的实施例中,即时定位与地图构建装置在执行本步骤中的匹配时,可以采用自顶向下的匹配方式,即:
确定各个第一部件的结构特征,及各个第二部件的结构特征的排序值分别为对应边缘曲线的长度与边缘关键点个数的函数计算值;并按照排序值分别对第一部件的结构特征进行排序,及对第二部件的结构特征进行排序;然后按照排序值从大到小的顺序,将每个第一部件的结构特征依次与各个第二部件的结构特征进行匹配。
步骤206,根据上述步骤205得到的对应关系对图像拍摄装置进行即时定位。
本发明实施例中获取的一个第一部件的结构特征中包括至少一条边缘曲线的信息,及至少一条边缘曲线上边缘关键点的信息,这样对图像中各个对象的描述更为准确,使得基于部件的结构特征之间的匹配更可靠,进而提高了即时定位的准确性。
需要说明的是,在其它具体的实施例中,即时定位与地图构建装置在获取当前帧图像的边缘信息时,可以获取当前帧图像中边缘关键点的信息,从而根据边缘关键点的信息确定当前帧图像中第一部件的结构特征,进而根据第一部件的结构特征进行上述匹配操作,及即时定位操作,在此不进行赘述。
以下以一个具体的应用实例来说明本发明的即时定位与地图构建方法,参考图4所示,在本实施例中,即时定位与地图构建装置中安装有图像拍摄装置,及其它传感器比如里程计或IMU等,具体地,即时定位与地图构建装置具体可以为机器人。具体地,本发明实施例的方法可以应用于但不限于如下的物品配送场景中:
用户会通过客户端向机器人下发物品配送任务,该物品配送任务包括物品的装载地点及送达地点。当机器人接收到配送任务后,机器人首先会进行自身定位得到当前地点,然后根据地图及配送地点进行路径规划,即:首先规划出从当前地点到装载地点的线路,再规划出装载地点到配送地点的线路。这样机器人根据规划好的路径进行移动的过程中,机器人需要根据安装的图像拍摄装置拍摄的图像进行实时定位,进而控制速度及转向,以保证按照规划路线行进。在本实施例中,依靠安装于机器人上的图像拍摄装置,通过采用基于边缘信息的视觉SLAM方法,即可进行机器人的即时定位。具体地,机器人可以按照如下的步骤来实现视觉SLAM方法,流程图如图5所示,包括:
步骤301,在机器人上安装的图像拍摄装置拍摄一帧图像(即当前帧图像)后,机器人会对当前帧图像进行边缘检测,获取到当前帧图像中的多条边缘曲线的信息,每条边缘曲线的信息中包括该条边缘曲线中各个像素点的坐标信息,及像素值,及形状等信息。
具体地,机器人可以采用Canny等检测算法进行边缘检测。
例如图6a所示为机器人上安装的图像拍摄装置拍摄的当前帧图像的示意图,其中包含的对象有:白板,柱子,桌子,花,门,及灯等;经过边缘检测后,可以得到如图6b所示的多条边缘曲线,其中包括各个对象轮廓线上的至少一条边缘曲线,比如左边的白板对应的边缘曲线包括:一条封闭的四边曲线。
步骤302,机器人对当前帧图像进行边缘关键点的检测,具体可以采用Fast角点,或Harris角点等检测算法,最终获取到边缘关键点的信息,比如边缘关键点的坐标信息,及像素值等。其中,各个边缘关键点为当前帧图像包含的各个对象的轮廓线上及内部纹理中的转折像素点(比如拐点或是切线点等),这样,各个边缘关键点应用应该都在上述检测到的边缘曲线上。
例如图6c所示的当前帧图像中的边缘关键点,图中用圆点表示各个边缘关键点,这些边缘关键点是上述边缘曲线上的拐点,或是切线点等。图6c中用一个圆圈来表示一个边缘关键点。
步骤303,机器人根据上述获取的边缘曲线的信息及边缘关键点的信息,确定当前帧图像中多个第一部件的结构特征。
具体地,机器人可以将每条边缘曲线的信息及该条边缘曲线上边缘关键点的信息,构成一个集合,作为一个第一部件的结构特征,用于描述当前帧图像中某一对象的整体或局部结构信息。例如图6d所示,左侧的白板由一条封闭的边缘曲线的信息及其对应的边缘关键点的信息来描述,描述了该白板完整的矩形结构信息;右侧的桌子,其桌面与桌子腿分别由一些不完全闭合的边缘曲线的信息及其对应的边缘关键点的信息来描述,可以描述桌子局部的不规则形状的结构信息;中间的柱子也是由一些孤立的不完闭合的边缘曲线的信息及其对应的边缘关键点的信息来描述,可以描述柱子局部结构信息。图6d中用一个圆圈来表示一个边缘关键点。
有些情况下,机器人可以将相邻的多条边缘曲线的信息,及这多条边缘曲线上的边缘关键点的信息,构成一个集合,作为一个第一部件的结构特征,这样即可建立多条边缘曲线之间的松散连接关系。
这样通过多个边缘曲线对当前帧图像中某一对象的局部进行描述,同时在相邻的多个边缘曲线之间建立松散的连接关系,争取达到对某一对象更完整的描述。例如图6d所示,在右侧的桌面的边缘曲线与桌腿的边缘曲线之间建立松散连接关系,组成一个部件的结构特征,以对桌子结构进行完整描述。
且需要说明的是,当多个对象在空间上紧邻,容易发生错误的连接,其中,如果将多个静态对象连接在一起,这对于视觉SLAM方法中的计算影响不大,但如果将运动对象与静态对象连接在一起,将对视觉SLAM方法产生一些不利的影响。因些,这里只是在多条边缘曲线之间建立松散的连接关系,在后续的处理中,在某些条件下可以将该连接关系断开。
步骤304,机器人获取参考帧图像中多个第二部件的结构特征,具体地,可以按照如上述步骤301到303的方法获取,也可以是直接从机器人的本地存储中提取。其中,机器人的本地存储中储存的第二部件的结构特征是在针对参考帧图像发起本实施例的流程时获取到储存的。
步骤305,机器人在第一部件的结构特征与第二部件的结构特征之间,进行自顶向下的匹配,得到第一部件与第二部件之间的对应关系。
机器人先获取各个第一部件的结构特征分别对应的排序值,具体为,各个第一部件的结构特征中边缘曲线的长度,与边缘关键点的个数的函数计算值,比如边缘曲线的长度和边缘关键点的个数之和等;按照同样的方法获取各个第二部件的结构特征分别对应的排序值。
然后根据排序值对各个第一部件的结构特征进行排序,且对各个第二部件的结构特征进行排序。
最后,按照排序值从大到小的顺序,在第一部件的结构特征与第二部件的结构特征之间进行匹配,如果某一第一部件的结构特征与某一第二部件的结构特征相匹配,则该第一部件与第二部件相对应,是相同的对象。
如果某一第一部件的结构特征与任一第二部件的结构特征都不相匹配,可能是当前帧图像中,静态对象与动态对象连接在一起,使得该第一部件的结构特征中包括了过多的特征,也可能是该第一部件的部分超出当前帧图像的图像边界等,则机器人可以进一步地,断开上述建立的松散连接,具体地,将该第一部件的结构特征进行拆分,拆分为多个拆分后部件的结构特征,每个拆分后部件的结构特征中可以包括一条边缘曲线或多条边缘曲线的信息。
然后机器人会将拆分后部件的结构特征插入到上述第一部件的结构特征的排队序列中,以等待依次进行匹配。
相比于现有基于点特征或点-直线特征的匹配方法中需要在两个数十或数百的特征集合之间匹配,本实施例的匹配过程中,仅需要在数个或数十个部件的结构特征之间进行匹配,故匹配速度大幅提高。同时由于各个部件的结构特征中能描述更丰富的图像信息,故匹配的错误率明显降低。
步骤306,机器人根据上述得到对应关系进行图像拍摄装置的位姿估计,具体地获取图像拍摄装置在参考帧图像与当前帧图像之间的运动信息,比如旋转参数和平移参数等;及结合地图信息得到的图像拍摄装置的当前位置。
可以理解,机器人在执行上述步骤303后,获取到第一部件的结构特征后,还可以执行如下步骤307中的回环检测和步骤308中的视觉地图构建。
步骤307,机器人进行回环检测,即获取历史关键帧图像的第三部件的结构特征,并在第三部件的结构特征与上述第一部件的结构特征之间进行匹配,以判断机器人是否之前达到过当前的位置。
具体地,如果至少t个第一部件的结构特征与某一历史关键帧图像的第三部件的结构特征相匹配,则可以确定机器人之前达到当前的位置,并执行步骤308;如果确定机器人之前未得到当前的位置,则结束流程。
步骤308,机器人根据上述步骤307得到的回环检测结果进行本地存储中地图信息的优化,具体地,可以根据当前帧图像中第一部件的结构特征,更新本地存储中的地图信息。
需要说明的是,上述步骤307与步骤305和306之间,并没有绝对的顺序关系,可以同时进行,也可以顺序执行。
由于本实施例中提出用部件的结构特征描述对象的整体或局部结构,多个部件的结构特征结合起来共同描述了整个场景的结构信息,并且由于其匹配速度较快,故可用于地点识别。
本发明实施例还提供一种即时定位与地图构建装置,其结构示意图如图7所示,具体可以包括:
边缘获取单元10,用于获取图像拍摄装置拍摄的当前帧图像的边缘信息,所述边缘信息包括多条边缘曲线的信息和/或边缘关键点的信息。
特征获取单元11,用于根据所述边缘获取单元10获取的边缘信息确定所述当前帧图像中第一部件的结构特征,每个第一部件的结构特征中包括至少一条所述边缘曲线的信息和/或所述至少一条边缘曲线上边缘关键点的信息。
具体地,特征获取单元11可以将所述多条边缘曲线中一条边缘曲线的信息作为一个第一部件的结构特征;或,将所述多条边缘曲线中相邻的多条边缘曲线的信息作为一个第一部件的结构特征。
进一步地,该特征获取单元11,具体用于直接根据边缘获取单元10获取到边缘信息确定第一部件的结构特征;或者可以先对对所述边缘信息进行预处理;所述预处理包括:将所述边缘信息中不满足预置条件的边缘信息去除,然后再根据所述预处理后的边缘信息确定所述第一部件的结构特征。
所述特征获取单元11,还用于获取所述图像拍摄装置拍摄的参考帧图像中第二部件的结构特征。其中,参考帧图像为所述当前帧图像的前一帧图像,或是所述当前帧图像的前n帧图像,所述n大于1。
匹配单元12,用于在所述特征获取单元11获取的第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系。
具体地,上述匹配单元12,具体用于将每个所述第一部件的结构特征分别与各个第二部件的结构特征进行匹配,如果某一第一部件的结构特征与某一第二部件的结构特征相匹配,则所述某一第一部件与某一第二部件对应;如果某一第一部件的结构特征与任一第二部件的结构特征都不相匹配,该匹配单元12还会对所述某一第一部件的结构特征进行拆分,得到多个拆分后部件的结构特征,并针对每个所述拆分后部件的结构特征执行所述匹配的步骤。
其中,匹配单元12在将每个所述第一部件的结构特征分别与各个第二部件的结构特征进行匹配时,具体用于确定各个所述第一部件的结构特征,及各个第二部件的结构特征的排序值分别为对应边缘信息的计算值;按照所述排序值分别对所述第一部件的结构特征进行排序,及对所述第二部件的结构特征进行排序;按照排序值从大到小的顺序,将所述第一部件的结构特征依次与各个第二部件的结构特征进行匹配。
定位单元13,用于根据所述匹配单元12得到的对应关系对所述图像拍摄装置进行即时定位。
可见,由于本发明实施例中特征获取单元11获取的一个第一部件的结构特征中包括至少一条边缘曲线的信息和/或所述至少一条边缘曲线上边缘关键点的信息,这样对图像中各个对象的描述更为准确,使得基于部件的结构特征之间的匹配更可靠,进而提高了即时定位的准确性;进一步地,由于每个第一部件的结构特征可以描述当前帧图像中一个对象的部分结构,或至少一个对象的结构,而一般情况下,一帧图像中所包括的对象数量不会很多,这样获取的第一部件的结构特征也不会很多,使得在后续匹配过程中的计算量较小。
参考图8所示,在一个具体的实施例中,即时定位与地图构建装置除了可以包括如图7所示的结构外,还可以包括:区域预测单元14,位置判断单元15和更新单元16,其中:
区域预测单元14,用于获取所述图像拍摄装置之外的其它传感器的感应信息;根据所述感应信息预测在所述参考帧图像中与所述第一部件对应的第二部件的区域;这样,匹配单元12,具体用于将所述第一部件的结构特征与所述区域预测单元12得到的预测区域内第二部件的结构特征进行匹配。
位置判断单元15,用于获取历史关键帧图像中第三部件的结构特征;在所述特征获取单元11获取的第一部件的结构特征与第三部件的结构特征之间进行匹配得到匹配结果;根据所述匹配结果确定所述图像拍摄装置之前是否达到当前的位置,以更新本地存储中的地图信息。
其中,当所述匹配结果包括:第一部件的结构特征与某一历史关键帧图像的第三部件的结构特征之间是否相匹配的信息;如果至少t个第一部件的结构特征与某一历史关键帧图像中第三部件的结构特征相匹配,确定所述图像拍摄装置之前达到当前的位置。
更新单元16,用于如果所述位置判断单元15确定所述图像拍摄装置之前达到当前的位置,根据所述当前帧图像中第一部件的结构特征,更新所述本地存储中的地图信息。而定位单元13在具体定位过程中,会使用更新单元16更新后的地图信息。
本发明实施例还提供一种终端设备,其结构示意图如图9所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括即时定位与地图构建的应用程序,且该程序可以包括上述即时定位与地图构建装置中的边缘获取单元10,特征获取单元11,匹配单元12,定位单元13,区域预测单元14,位置判断单元15和更新单元16,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的即时定位与地图构建的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由即时定位与地图构建装置所执行的步骤可以基于该图9所示的终端设备的结构。
进一步地,如果该终端设备应用于智能运动设备比如机器人,则该终端设备还可以包括转动轮26,图9中所示的只是一个逻辑结构示意图,实际转动轮26的形状一般为圆形,且设置在终端设备的底部,该转动轮26可以与中央处理器20通信连接,中央处理器20可以驱动转动轮26转动,并带动终端设备执行上述即时定位与地图构建。
该终端设备还会包括图像拍摄装置28比如相机,及各种传感器27,比如里程计272,IMU271等,都通过总线与存储介质22连接。图像拍摄装置28在拍摄到一帧图像后,传输给所述存储介质22进行储存,这样中央处理器20会发起本实施例中即时定位与地图构建方法;各个传感器27用于在得到感应信息后,传输给存储介质22进行储存,这样中央处理器20在执行即时定位与地图构建方法的指令过程中,会参考该感应信息,具体的参考方法见上述实施例中所述,在此不进行赘述。
本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述即时定位与地图构建装置所执行的即时定位与地图构建方法。
本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述即时定位与地图构建装置所执行的即时定位与地图构建方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的即时定位与地图构建方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种即时定位与地图构建方法,其特征在于,包括:
获取图像拍摄装置拍摄的当前帧图像的边缘信息,所述边缘信息包括多条边缘曲线的信息和/或边缘关键点的信息;
根据所述获取的边缘信息确定所述当前帧图像中第一部件的结构特征,每个第一部件的结构特征中包括至少一条所述边缘曲线的信息和/或所述至少一条边缘曲线上边缘关键点的信息;
获取所述图像拍摄装置拍摄的参考帧图像中第二部件的结构特征;
在所述第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系;
根据所述对应关系对所述图像拍摄装置进行即时定位。
2.如权利要求1所述的方法,其特征在于,所述获取图像拍摄装置拍摄的当前帧图像的边缘信息之后,所述方法还包括:
对所述边缘信息进行预处理;所述预处理包括:将所述边缘信息中不满足预置条件的边缘信息去除;
所述根据所述获取的边缘信息确定所述当前帧图像中第一部件的结构特征,具体包括:根据所述预处理后的边缘信息确定所述第一部件的结构特征。
3.如权利要求1所述的方法,其特征在于,所述根据所述获取的边缘信息确定所述当前帧图像中第一部件的结构特征,具体包括:
将所述多条边缘曲线中一条边缘曲线的信息作为一个第一部件的结构特征;或,
将所述多条边缘曲线中相邻的多条边缘曲线的信息作为一个第一部件的结构特征。
4.如权利要求1所述的方法,其特征在于,所述参考帧图像为所述当前帧图像的前n帧图像,所述n大于1或等于1。
5.如权利要求1至4任一项所述的方法,其特征在于,所述在所述第一部件的结构特征与第二部件的结构特征之间进行匹配之前,所述方法还包括:
获取所述图像拍摄装置之外的其它传感器的感应信息;根据所述感应信息预测在所述参考帧图像中与所述第一部件对应的第二部件的区域;
所述在所述第一部件的结构特征与第二部件的结构特征之间进行匹配,具体包括:将所述第一部件的结构特征与所述预测区域内第二部件的结构特征进行匹配。
6.如权利要求1至4任一项所述的方法,其特征在于,所述在所述第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系,具体包括:
将每个所述第一部件的结构特征分别与各个第二部件的结构特征进行匹配,如果某一第一部件的结构特征与某一第二部件的结构特征相匹配,则所述某一第一部件与某一第二部件对应。
7.如权利要求6所述的方法,其特征在于,所述将每个所述第一部件的结构特征分别与各个第二部件的结构特征进行匹配,具体包括:
确定各个所述第一部件的结构特征,及各个第二部件的结构特征的排序值分别为对应边缘信息的计算值;
按照所述排序值分别对所述第一部件的结构特征进行排序,及对所述第二部件的结构特征进行排序;
按照排序值从大到小的顺序,将所述第一部件的结构特征依次与各个第二部件的结构特征进行匹配。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
如果某一第一部件的结构特征与任一第二部件的结构特征都不相匹配,对所述某一第一部件的结构特征进行拆分,得到多个拆分后部件的结构特征,
针对每个所述拆分后部件的结构特征,执行在所述拆分后部件的结构特征与第二部件的结构特征之间进行匹配的步骤。
9.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
获取历史关键帧图像中第三部件的结构特征;所述历史关键帧图像是所述当前帧图像之前的至少一帧图像;
在所述第一部件的结构特征与第三部件的结构特征之间进行匹配得到匹配结果;
根据所述匹配结果确定所述图像拍摄装置之前是否达到当前的位置,以更新本地存储中的地图信息。
10.如权利要求9所述的方法,其特征在于,所述匹配结果包括:第一部件的结构特征与某一历史关键帧图像的第三部件的结构特征之间是否相匹配的信息;
则所述根据所述匹配结果确定所述图像拍摄装置之前是否达到当前的位置,具体包括:如果至少t个第一部件的结构特征与某一历史关键帧图像中第三部件的结构特征相匹配,确定所述图像拍摄装置之前达到当前的位置,所述t大于1或等于1。
11.如权利要求9所述的方法,其特征在于,所述方法还包括:
根据所述当前帧图像中第一部件的结构特征,更新所述本地存储中的地图信息。
12.一种即时定位与地图构建装置,其特征在于,包括:
边缘获取单元,用于获取图像拍摄装置拍摄的当前帧图像的边缘信息,所述边缘信息包括多条边缘曲线的信息和/或边缘关键点的信息;
特征获取单元,用于根据所述获取的边缘信息确定所述当前帧图像中第一部件的结构特征,每个第一部件的结构特征中包括至少一条所述边缘曲线的信息和/或所述至少一条边缘曲线上边缘关键点的信息;
所述特征获取单元,还用于获取所述图像拍摄装置拍摄的参考帧图像中第二部件的结构特征;
匹配单元,用于在所述第一部件的结构特征与第二部件的结构特征之间进行匹配,得到各个第二部件与各个第一部件之间的对应关系;
定位单元,用于根据所述对应关系对所述图像拍摄装置进行即时定位。
13.如权利要求12所述的装置,其特征在于,还包括:
位置判断单元,用于获取历史关键帧图像中第三部件的结构特征,所述历史关键帧图像是所述当前帧图像之前的至少一帧图像;在所述第一部件的结构特征与第三部件的结构特征之间进行匹配得到匹配结果;根据所述匹配结果确定所述图像拍摄装置之前是否达到当前的位置,以更新本地存储中的地图信息。
14.一种存储介质,其特征在于,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至11任一项所述的即时定位与地图构建方法。
15.一种终端设备,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至11任一项所述的即时定位与地图构建方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810385608.9A CN108665508B (zh) | 2018-04-26 | 2018-04-26 | 一种即时定位与地图构建方法、装置及存储介质 |
PCT/CN2019/077173 WO2019205819A1 (zh) | 2018-04-26 | 2019-03-06 | 即时定位与地图构建方法、计算机设备及存储介质 |
US16/931,155 US11238605B2 (en) | 2018-04-26 | 2020-07-16 | Simultaneous localization and mapping method, computer device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810385608.9A CN108665508B (zh) | 2018-04-26 | 2018-04-26 | 一种即时定位与地图构建方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108665508A true CN108665508A (zh) | 2018-10-16 |
CN108665508B CN108665508B (zh) | 2022-04-05 |
Family
ID=63781058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810385608.9A Active CN108665508B (zh) | 2018-04-26 | 2018-04-26 | 一种即时定位与地图构建方法、装置及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11238605B2 (zh) |
CN (1) | CN108665508B (zh) |
WO (1) | WO2019205819A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109752003A (zh) * | 2018-12-26 | 2019-05-14 | 浙江大学 | 一种机器人视觉惯性点线特征定位方法及装置 |
WO2019205819A1 (zh) * | 2018-04-26 | 2019-10-31 | 腾讯科技(深圳)有限公司 | 即时定位与地图构建方法、计算机设备及存储介质 |
CN110457518A (zh) * | 2019-07-29 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种室内定位方法、装置及存储介质 |
CN111060115A (zh) * | 2019-11-29 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于图像边缘特征的视觉slam方法及系统 |
CN111316185A (zh) * | 2019-02-26 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 可移动平台的巡检控制方法和可移动平台 |
CN111814869A (zh) * | 2020-07-06 | 2020-10-23 | 北京邮电大学 | 一种同步定位与建图的方法、装置、电子设备及存储介质 |
CN112284394A (zh) * | 2020-10-23 | 2021-01-29 | 北京三快在线科技有限公司 | 一种地图构建及视觉定位的方法及装置 |
CN112597258A (zh) * | 2020-11-20 | 2021-04-02 | 上海莉莉丝网络科技有限公司 | 游戏地图内动态区域边界的拆分方法、拆分系统及计算机可读存储介质 |
CN113256715A (zh) * | 2020-02-12 | 2021-08-13 | 北京京东乾石科技有限公司 | 机器人的定位方法和装置 |
CN113465617A (zh) * | 2021-07-08 | 2021-10-01 | 上海汽车集团股份有限公司 | 一种地图构建方法、装置及电子设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019057179A1 (zh) * | 2017-09-22 | 2019-03-28 | 华为技术有限公司 | 一种基于点线特征的视觉slam方法和装置 |
CN111145185B (zh) * | 2019-12-17 | 2023-12-22 | 天津市肿瘤医院 | 一种基于聚类关键帧提取ct图像的肺实质分割方法 |
WO2021163289A1 (en) * | 2020-02-13 | 2021-08-19 | Magic Leap, Inc. | Cross reality system for large scale environments |
US20220172386A1 (en) * | 2020-11-27 | 2022-06-02 | Samsung Electronics Co., Ltd. | Method and device for simultaneous localization and mapping (slam) |
CN112945233B (zh) * | 2021-01-15 | 2024-02-20 | 北京理工大学 | 一种全局无漂移的自主机器人同时定位与地图构建方法 |
CN112819901B (zh) * | 2021-02-26 | 2024-05-14 | 中国人民解放军93114部队 | 基于图像边缘信息的红外相机自标定方法 |
US20220277479A1 (en) * | 2021-02-26 | 2022-09-01 | Samsung Electronics Co., Ltd. | Method and apparatus for simultaneous localization and mapping, and computer-readable storage medium |
CN113673524A (zh) * | 2021-07-05 | 2021-11-19 | 北京物资学院 | 一种仓库半结构化环境动态特征点祛除方法及装置 |
CN113569875B (zh) * | 2021-08-31 | 2024-07-09 | 东软睿驰汽车技术(沈阳)有限公司 | 图像特征提取方法、装置和电子设备 |
CN115393432B (zh) * | 2022-08-11 | 2023-04-28 | 安徽工程大学 | 消除静态特征误匹配的机器人定位方法、存储介质及设备 |
CN115977496B (zh) * | 2023-02-24 | 2024-07-19 | 重庆长安汽车股份有限公司 | 一种车门控制方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077809A (zh) * | 2014-06-24 | 2014-10-01 | 上海交通大学 | 基于结构性线条的视觉slam方法 |
US20140350839A1 (en) * | 2013-05-23 | 2014-11-27 | Irobot Corporation | Simultaneous Localization And Mapping For A Mobile Robot |
CN105469405A (zh) * | 2015-11-26 | 2016-04-06 | 清华大学 | 基于视觉测程的同时定位与地图构建方法 |
CN107907131A (zh) * | 2017-11-10 | 2018-04-13 | 珊口(上海)智能科技有限公司 | 定位系统、方法及所适用的机器人 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886107B (zh) * | 2014-04-14 | 2017-10-03 | 张文强 | 基于天花板图像信息的机器人定位与地图构建系统 |
CN106875722A (zh) | 2017-04-05 | 2017-06-20 | 合肥酷睿网络科技有限公司 | 一种公交车即时定位查询系统 |
CN107633526B (zh) * | 2017-09-04 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 一种图像跟踪点获取方法及设备、存储介质 |
CN107742311B (zh) * | 2017-09-29 | 2020-02-18 | 北京易达图灵科技有限公司 | 一种视觉定位的方法及装置 |
US10436590B2 (en) * | 2017-11-10 | 2019-10-08 | Ankobot (Shanghai) Smart Technologies Co., Ltd. | Localization system and method, and robot using the same |
CN108665508B (zh) * | 2018-04-26 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 一种即时定位与地图构建方法、装置及存储介质 |
-
2018
- 2018-04-26 CN CN201810385608.9A patent/CN108665508B/zh active Active
-
2019
- 2019-03-06 WO PCT/CN2019/077173 patent/WO2019205819A1/zh active Application Filing
-
2020
- 2020-07-16 US US16/931,155 patent/US11238605B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140350839A1 (en) * | 2013-05-23 | 2014-11-27 | Irobot Corporation | Simultaneous Localization And Mapping For A Mobile Robot |
CN104077809A (zh) * | 2014-06-24 | 2014-10-01 | 上海交通大学 | 基于结构性线条的视觉slam方法 |
CN105469405A (zh) * | 2015-11-26 | 2016-04-06 | 清华大学 | 基于视觉测程的同时定位与地图构建方法 |
CN107907131A (zh) * | 2017-11-10 | 2018-04-13 | 珊口(上海)智能科技有限公司 | 定位系统、方法及所适用的机器人 |
Non-Patent Citations (2)
Title |
---|
LE J ET AL: "Chinese named entity recognition using improved bi-gram model based on dynamic programming", 《KNOWLEDGE ENGINEERING AND MANAGEMENT》 * |
塔什甫拉提·尼扎木丁 等: "统计与规则相结合的维吾尔语人名识别方法", 《自动化学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11238605B2 (en) | 2018-04-26 | 2022-02-01 | Tencent Technology (Shenzhen) Company Limited | Simultaneous localization and mapping method, computer device, and storage medium |
WO2019205819A1 (zh) * | 2018-04-26 | 2019-10-31 | 腾讯科技(深圳)有限公司 | 即时定位与地图构建方法、计算机设备及存储介质 |
CN109752003A (zh) * | 2018-12-26 | 2019-05-14 | 浙江大学 | 一种机器人视觉惯性点线特征定位方法及装置 |
CN111316185A (zh) * | 2019-02-26 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 可移动平台的巡检控制方法和可移动平台 |
CN110457518A (zh) * | 2019-07-29 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种室内定位方法、装置及存储介质 |
CN111060115A (zh) * | 2019-11-29 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于图像边缘特征的视觉slam方法及系统 |
CN113256715B (zh) * | 2020-02-12 | 2024-04-05 | 北京京东乾石科技有限公司 | 机器人的定位方法和装置 |
CN113256715A (zh) * | 2020-02-12 | 2021-08-13 | 北京京东乾石科技有限公司 | 机器人的定位方法和装置 |
CN111814869A (zh) * | 2020-07-06 | 2020-10-23 | 北京邮电大学 | 一种同步定位与建图的方法、装置、电子设备及存储介质 |
CN111814869B (zh) * | 2020-07-06 | 2022-11-08 | 北京邮电大学 | 一种同步定位与建图的方法、装置、电子设备及存储介质 |
CN112284394A (zh) * | 2020-10-23 | 2021-01-29 | 北京三快在线科技有限公司 | 一种地图构建及视觉定位的方法及装置 |
CN112597258B (zh) * | 2020-11-20 | 2022-03-04 | 上海莉莉丝网络科技有限公司 | 游戏地图内动态区域边界的拆分方法、拆分系统及计算机可读存储介质 |
CN112597258A (zh) * | 2020-11-20 | 2021-04-02 | 上海莉莉丝网络科技有限公司 | 游戏地图内动态区域边界的拆分方法、拆分系统及计算机可读存储介质 |
CN113465617A (zh) * | 2021-07-08 | 2021-10-01 | 上海汽车集团股份有限公司 | 一种地图构建方法、装置及电子设备 |
CN113465617B (zh) * | 2021-07-08 | 2024-03-19 | 上海汽车集团股份有限公司 | 一种地图构建方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200349730A1 (en) | 2020-11-05 |
WO2019205819A1 (zh) | 2019-10-31 |
CN108665508B (zh) | 2022-04-05 |
US11238605B2 (en) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108665508A (zh) | 一种即时定位与地图构建方法、装置及存储介质 | |
Gordon et al. | Re3: Real-Time Recurrent Regression Networks for Visual Tracking of Generic Objects. | |
Gordon et al. | Re $^ 3$: Re al-time recurrent regression networks for visual tracking of generic objects | |
CN108629843B (zh) | 一种实现增强现实的方法及设备 | |
CN102663722B (zh) | 使用深度图像的活动对象分割 | |
CN109543549B (zh) | 用于多人姿态估计的图像数据处理方法及装置、移动端设备、服务器 | |
CN106352877B (zh) | 一种移动装置及其定位方法 | |
US5210799A (en) | System and method for ranking and extracting salient contours for target recognition | |
CN105023266B (zh) | 增强现实实现方法、装置和终端设备 | |
CN107329962B (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
US20120321134A1 (en) | Face tracking method and device | |
CN109829875A (zh) | 用于估计视差的方法和装置 | |
Bormann et al. | Towards automated order picking robots for warehouses and retail | |
CN104899831B (zh) | 一种无人机影像数据实时处理方法及系统 | |
CN108364316A (zh) | 交互行为检测方法、装置、系统及设备 | |
EP2851868A1 (en) | 3D Reconstruction | |
CN107766851A (zh) | 一种人脸关键点定位方法及定位装置 | |
CN111239763A (zh) | 对象的定位方法、装置、存储介质和处理器 | |
CN114972958B (zh) | 关键点检测方法、神经网络的训练方法、装置和设备 | |
CN113362441B (zh) | 三维重建方法、装置、计算机设备和存储介质 | |
Brunetto et al. | Fusion of inertial and visual measurements for rgb-d slam on mobile devices | |
CN110321806A (zh) | 目标检测方法、图像处理设备及具有存储功能的设备 | |
US20020126897A1 (en) | Motion information recognition system | |
CN109543534A (zh) | 一种目标跟踪中目标丢失重检的方法及装置 | |
CN111914595B (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 |