CN110728711B - 定位建图方法及装置、定位方法、装置和系统 - Google Patents
定位建图方法及装置、定位方法、装置和系统 Download PDFInfo
- Publication number
- CN110728711B CN110728711B CN201810786143.8A CN201810786143A CN110728711B CN 110728711 B CN110728711 B CN 110728711B CN 201810786143 A CN201810786143 A CN 201810786143A CN 110728711 B CN110728711 B CN 110728711B
- Authority
- CN
- China
- Prior art keywords
- feature point
- feature points
- visual dictionary
- positioning data
- 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.)
- Active
Links
Images
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
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了定位建图方法及装置、定位方法、装置和系统。所述方法包括:获取指定地区的样本图像,从样本图像中提取特征点;确定各特征点的定位数据,并进行保存;根据各特征点的定位数据确定各特征点对应的空间区间;为各特征点生成基于词汇树的视觉字典,并在所述视觉字典中记录各特征点对应的空间区间。该技术方案没有采用惯用的关键帧思路,在准备阶段,对指定地区进行区分,在后续匹配时可以依据视觉字典和空间区间进行筛选,大大减少了需要进行匹配的特征点数量,减少了误匹配率,提高了匹配率和效率。
Description
技术领域
本发明涉及视觉全局定位技术领域,具体涉及定位建图方法及装置、定位方法、装置和系统。
背景技术
目前许多场景需要利用到导航功能,例如快递、无人驾驶等等。导航功能高度依赖定位的精度与可靠性,现有技术中的定位技术均存在一些不足,下面是一些示例:在室内场景下可以采用激光传感器进行定位,但在环境条件差的情况下会出现定位失败、精度不高的情况;室外环境下GNSS(Global Navigation Satellite System,全球导航卫星系统)在楼房、树木密集等场景也会出现定位失败。
视觉全局定位技术是一种通过搜集和分析图像信息来为自身所在方位进行判断的技术,这种技术先搜集一些图像作为样本,利用定位时的图像与样本匹配实现定位。在匹配过程中,一种技术构思是基于关键帧和词袋(Bag of Words,也简称为BOW)模型,即先匹配关键帧,再进行后续处理,这也就带来了问题:如果关键帧匹配错误,后续的处理则是在错误的基础上进行,严重影响定位准确度;对于大场景的环境,原始的词袋模型会存在由于地图数据过大而引起的速度慢与误匹配率高等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的定位建图方法及装置、定位方法、装置和系统。
依据本发明的一个方面,提供了一种定位建图方法,包括:
获取指定地区的样本图像,从样本图像中提取特征点;
确定各特征点的定位数据,并进行保存;
根据各特征点的定位数据确定各特征点对应的空间区间;
为各特征点生成基于词汇树的视觉字典,并在所述视觉字典中记录各特征点对应的空间区间。
可选地,所述确定各特征点的定位数据包括:
获取拍摄所述样本图像的设备的位姿数据;
根据各特征点的深度信息和所述位姿数据计算出各特征点的定位数据。
可选地,所述为各特征点生成基于词汇树的视觉字典包括:
对各特征点进行分类训练,得到关于提取的各特征点的词汇树,建立所述词汇树的各叶子节点与特征点的第一对应关系;
在所述视觉字典中记录所述第一对应关系。
可选地,所述视觉字典的格式为二进制文件。
可选地,所述根据各特征点的定位数据确定各特征点对应的空间区间包括:
将指定地区的地图进行网格化设计,得到多个地图网格;
根据各特征点的定位数据建立各特征点与地图网格的第二对应关系;
所述在所述视觉字典中记录各特征点对应的空间区间包括:在所述视觉字典中记录所述第二对应关系。
依据本发明的另一方面,提供了一种定位方法,包括:
获取初步定位数据和检索用图像;
从所述检索用图像中提取特征点;
从视觉字典中检索出与提取出的特征点匹配的特征点,其中,所述视觉字典中记录有各特征点对应的空间区间,在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点;
基于匹配的特征点的定位数据对所述初步定位数据进行修正。
可选地,所述视觉字典中还记录有特征点与叶子节点的第一对应关系,所述根据所述初步定位数据从视觉字典中检索出指定的空间区间内与提取出的特征点匹配的特征点包括:
根据提取出的特征点计算词袋向量,确定各提取出的特征点经过的叶子节点;
根据所述第一对应关系确定与经过的叶子节点对应的特征点。
可选地,所述视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系;
所述在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点包括:
确定所述初步定位数据对应的地图网格,根据所述第二对应关系筛选待匹配的特征点;
其中,所述地图网格是将指定地区的地图进行网格化设计得到的。
依据本发明的又一方面,提供了一种定位建图装置,包括:
特征点提取单元,用于获取指定地区的样本图像,从样本图像中提取特征点;
定位数据单元,用于确定各特征点的定位数据,并进行保存;
视觉字典生成单元,用于根据各特征点的定位数据确定各特征点对应的空间区间,为各特征点生成基于词汇树的视觉字典,并在所述视觉字典中记录各特征点对应的空间区间。
可选地,所述定位数据单元,用于获取拍摄所述样本图像的设备的位姿数据,根据各特征点的深度信息和所述位姿数据计算出各特征点的定位数据。
可选地,所述视觉字典生成单元,用于对各特征点进行分类训练,得到关于提取的各特征点的词汇树,建立所述词汇树的各叶子节点与特征点的第一对应关系,在所述视觉字典中记录所述第一对应关系。
可选地,所述视觉字典的格式为二进制文件。
可选地,所述视觉字典生成单元,用于将指定地区的地图进行网格化设计,得到多个地图网格,根据各特征点的定位数据建立各特征点与地图网格的第二对应关系,在所述视觉字典中记录所述第二对应关系。
依据本发明的再一方面,提供了一种定位装置,包括:
获取单元,用于获取初步定位数据和检索用图像;
特征点提取单元,用于从所述检索用图像中提取特征点;
检索单元,用于从视觉字典中检索出与提取出的特征点匹配的特征点,其中,所述视觉字典中记录有各特征点对应的空间区间,在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点;
修正单元,用于基于匹配的特征点的定位数据对所述初步定位数据进行修正。
可选地,所述视觉字典中还记录有特征点与叶子节点的第一对应关系;
所述检索单元,用于根据提取出的特征点计算词袋向量,确定各提取出的特征点经过的叶子节点,根据所述第一对应关系确定与经过的叶子节点对应的特征点。
可选地,所述视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系;
所述检索单元,用于确定所述初步定位数据对应的地图网格,根据所述第二对应关系筛选待匹配的特征点;
其中,所述地图网格是将指定地区的地图进行网格化设计得到的。
依据本发明的再一方面,提供了一种定位系统,其特征在于,该系统包括如上述任一项所述的定位建图装置和如上述任一项所述的定位装置。
依据本发明的再一方面,提供了一种智能终端,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述任一所述的方法。
依据本发明的再一方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如上述任一所述的方法。
由上述可知,本发明的技术方案,在定位前先获取到指定地区的样本图像,从中提取特征点,进一步得到并保存特征点的定位数据,以及确定各特征点对应的空间区间。在生成的基于词汇树的视觉字典中记录各特征点对应的空间区间,以在实际定位时按空间区间对特征点进行筛选。该技术方案没有采用惯用的关键帧思路,在准备阶段,对指定地区进行区分,在后续匹配时可以依据视觉字典和空间区间进行筛选,大大减少了需要进行匹配的特征点数量,减少了误匹配率,提高了匹配率和效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种定位建图方法的流程示意图;
图2示出了根据本发明一个实施例的一种定位方法的流程示意图;
图3示出了根据本发明一个实施例的一种定位建图装置的结构示意图;
图4示出了根据本发明一个实施例的一种定位装置的结构示意图;
图5示出了根据本发明一个实施例的一种定位系统的结构示意图;
图6示出了根据本发明一个实施例的智能终端的结构示意图;
图7示出了根据本发明一个实施例的计算机可读存储介质的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种定位建图方法的流程示意图。如图1所示,该方法包括:
步骤S110,获取指定地区的样本图像,从样本图像中提取特征点。
例如,样本图像的来源可以是由在一个图像采集车上沿道路巡航,按照一定的频率拍摄样本图像。从样本图像中提取特征点的方法可以以现有技术中的方法实现,例如SIFT(Scale-invariant feature transform,尺度不变特征转换)算法。
步骤S120,确定各特征点的定位数据,并进行保存。例如,在一个标准定位数据库中保存各特征点的定位数据。
步骤S130,根据各特征点的定位数据确定各特征点对应的空间区间。
步骤S140,为各特征点生成基于词汇树的视觉字典,并在所述视觉字典中记录各特征点对应的空间区间。
在实际定位时,可以采用从拍摄的检索用图像中提取特征点的方式,与视觉字典中的特征点进行匹配,显然在大场景下,需要匹配的特征点数量是极为庞大的。而通过按空间区间进行筛选,就可以大大减少需要匹配的特征点数量,减少了误匹配率,极大地提高了匹配效率和匹配率。
可见,图1所示的方法,在定位前先获取到指定地区的样本图像,从中提取特征点,进一步得到并保存特征点的定位数据,以及确定各特征点对应的空间区间。在生成的基于词汇树的视觉字典中记录各特征点对应的空间区间,以在实际定位时按空间区间对特征点进行筛选。该技术方案没有采用惯用的关键帧思路,在准备阶段,对指定地区进行区分,在后续匹配时可以依据视觉字典和空间区间进行筛选,大大减少了需要进行匹配的特征点数量,减少了误匹配率,提高了匹配率和效率。
在本发明的一个实施例中,上述方法中,确定各特征点的定位数据包括:获取拍摄样本图像的设备的位姿数据;根据各特征点的深度信息和位姿数据计算出各特征点的定位数据。
以图像采集车为例,在车辆组装时就已经确定了相机、传感器等设备的安装位置,这样也就得到了一些预置参数。根据预置参数计算出拍摄样本图像的设备的位姿(POSE)数据的方式已十分成熟,在此不再详细介绍。再利用特征点深度信息(depth information,可以对应于现实场景中距离相机的距离)的提取(提取算法可以利用现有技术),就能够计算出出各特征点的定位数据,具体来说,可以是世界坐标系中的一个三维空间坐标。
在本发明的一个实施例中,上述方法中,根据各特征点的定位数据确定各特征点对应的空间区间包括:将指定地区的地图进行网格化设计,得到多个地图网格;根据各特征点的定位数据建立各特征点与地图网格的第二对应关系;在视觉字典中保存各特征点对应的空间区间包括:在视觉字典中保存第二对应关系。
其中,指定地区就是定位建图的目标地区,例如在日后定位过程中可能会涉及的地区。在本例中采用了地图网格的方式来确定各特征点对应的空间区间,其中,指定地区的地图可以是二维平面地图,也可以为三维立体地图。这样,根据各特征点的定位信息,就能够计算出特征点落入哪一个网格中,也就得到了特征点与地图网格的对应关系。该对应关系也可以形成特征点-网格编号(如mapid)的索引。地图网格的划分可以存在重叠,即存在一块地区被划分到两个甚至更多的地图网格中,这是为了避免丢失特征点的一种设计。
虽然在本实施例中示出了网格化设计来划分空间区间的示例,但是这只是一种较佳实施方式的示例。例如在其他实施例中,只要知道目标地区的长和宽也可以进行空间区间的划分,不必和地图关联起来。当然,同样为了避免丢失特征点,也可以使得空间区间的划分存在重叠的情况,即使这样可能造成一个特征点被划分至多个空间区间内,也是符合需求的。
在本发明的一个实施例中,上述方法中,为各特征点生成基于词汇树的视觉字典包括:对各特征点进行分类训练,得到关于提取的各特征点的词汇树,建立词汇树的各叶子节点与特征点的第一对应关系;在视觉字典中保存第一对应关系。
例如,选用k-means算法进行聚类,得到词汇树(vocabulary tree)。基于词汇树的视觉字典生成方式有很多,在此不在一一介绍。得到的词汇树的叶子节点(node)中可以包含若干个特征点,这样也就得到了词汇树的叶子节点与特征点的对应关系。具体地该对应关系可以形成特征点-叶子节点的反向索引。
通过以上方式,就可以得到例如关于指定地区的三维稀疏地图(包含稀疏的特征点,与着重于建模所有看到的物体的稠密地图有区别)。
在本发明的一个实施例中,上述方法中,视觉字典的格式为二进制文件。二进制文件在加载和保存上比其他格式如.yml文件快4-5倍;而且,二进制文件还能被压缩。
图2示出了根据本发明一个实施例的一种定位方法的流程示意图。如图2所示,该方法包括:
步骤S210,获取初步定位数据和检索用图像。这里的初步定位数据也可以是通过GNSS设备、激光传感器等获得的。但是考虑到现实应用中的环境因素,往往获得的初步定位数据是不准确的。
步骤S220,从检索用图像中提取特征点。与前述实施例类似地,这一步也可以采用现有算法实现。
其中,获取初步定位数据、检索用图像可以是由不同的设备实现的,因此获取过程可以是相互独立,不分先后的,而提取特征点的步骤也可以不必等到所有检索用图像全部获取后再进行,可以边获取检索用图像,边进行特征点提取,同时还在获取初步定位数据。
步骤S230,从视觉字典中检索出与提取出的特征点匹配的特征点,其中,所述视觉字典中记录有各特征点对应的空间区间,在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点。
也就是说,从海量特征点中根据初步定位数据(也就是对应于当前位置)对应的初步定位数据进行筛选,避免去和那些不在同一地图网格的特征点进行匹配,就极大减少了需要匹配的次数。
步骤S240,基于匹配的特征点的定位数据对所述初步定位数据进行修正。
实际上永远不可能得到完全精确的定位数据,但是通过预先的准备,可以实现满足需求精度的定位数据,因此认为预先得到的特征点的定位数据(例如保存在标准定位数据库中)是可信的、精确度高的,在判定两个特征点匹配的情况下,因此可以认为提取出的特征点的实际坐标就是匹配的特征点的坐标,这样就可以利用匹配特征点的定位数据来进行修正。这里的修正可以是指对在初步定位数据的基础上进行修正,也可以是直接根据查找出的特征点的定位数据(例如三维空间坐标),利用solvePnP等算法直接计算出一个更为准确的定位数据,对初步定位数据进行舍弃即可。
该实施例就是从实际定位的场景下介绍了如何利用前述实施例生成的视觉字典来进行图像检索,可以看出,由于待匹配的特征点的减少,显著提高了匹配率和匹配效率,减少了误匹配率。并且该过程不依赖于关键帧,也就避免了因为关键帧匹配错误而造成的定位失败。通过实验,该方法可以给视觉全局定位的成功率带来9%的提高,速度会带来30%的提升。
在本发明的一个实施例中,上述方法中,视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系,在检索过程中依据初步定位数据对应的空间区间筛选待匹配的特征点包括:确定初步定位数据对应的地图网格,根据第二对应关系筛选待匹配的特征点;其中,地图网格是将指定地区的地图进行网格化设计得到的。
具体的网格化设计在前面的实施例也已经介绍过,在此不再赘述,除了本实施例介绍的地图网格化设计外,利用前文所述的按地区的长宽也同样可以划分空间区间。虽然初步定位数据准确度有待修正,但是其通常也具有一定的精度,对于当前位置所处地图网格的确定可以认为是比较准确的。由于相邻网格之间有一定的重复度,因此当前位置在两个地图网格的重叠位置时,那么确定的地图网格就是两个。容易推知针对二维地图的二维网格,最多可以确定的地图网格是四个,一般对应的数量可以是1,2,3,4中的任一种。
在本发明的一个实施例中,上述方法中,视觉字典中保存有特征点与叶子节点的第一对应关系,从视觉字典中检索出与提取出的特征点匹配的特征点包括:根据提取出的特征点计算词袋向量,确定各提取出的特征点经过的叶子节点;根据第一对应关系确定与经过的叶子节点对应的特征点。
根据特征点计算的词袋向量可以包含多个叶子节点,即确定了特征点经过的叶子节点。而预先生成的视觉字典中就保存有特征点和叶子节点的对应关系,这样就得到了特征点(提取出的)-叶子节点-特征点(视觉字典中的)的对应关系,将提取出的特征点与视觉字典中的特征点进行匹配,在这个过程中利用地图网格完成筛选,去除与当前位置不在同一地图网格中的特征点,就实现了相对快速的匹配。具体地,在本发明的一个实施例中,上述方法中,根据初步定位数据从视觉字典中检索出指定的空间区间内与提取出的特征点匹配的特征点包括:通过暴力匹配方法得到若干对匹配的特征点。
图3示出了根据本发明一个实施例的一种定位建图装置的结构示意图。如图3所示,定位建图装置300包括:
特征点提取单元310,用于获取指定地区的样本图像,从样本图像中提取特征点。
例如,样本图像的来源可以是由在一个图像采集车上沿道路巡航,按照一定的频率拍摄样本图像。从样本图像中提取特征点的方法可以以现有技术中的方法实现,例如SIFT算法。
定位数据单元320,用于确定各特征点的定位数据,并进行保存。例如,在一个标准定位数据库中保存各特征点的定位数据。
视觉字典生成单元330,用于根据各特征点的定位数据确定各特征点对应的空间区间,为各特征点生成基于词汇树的视觉字典,并在视觉字典中记录各特征点对应的空间区间。
在实际定位时,可以采用从拍摄的检索用图像中提取特征点的方式,与视觉字典中的特征点进行匹配,显然在大场景下,需要匹配的特征点数量是极为庞大的。而通过按空间区间进行筛选,就可以大大减少需要匹配的特征点数量,减少了误匹配率,极大地提高了匹配效率和匹配率。
可见,图3所示的装置,通过各单元的相互配合,在定位前先获取到指定地区的样本图像,从中提取特征点,进一步得到并保存特征点的定位数据,以及确定各特征点对应的空间区间。在生成的基于词汇树的视觉字典中记录各特征点对应的空间区间,以在实际定位时按空间区间对特征点进行筛选。该技术方案没有采用惯用的关键帧思路,在准备阶段,对指定地区进行区分,在后续匹配时可以依据视觉字典和空间区间进行筛选,大大减少了需要进行匹配的特征点数量,减少了误匹配率,提高了匹配率和效率。
在本发明的一个实施例中,上述装置中,定位数据单元320,用于获取拍摄样本图像的设备的位姿数据;根据各特征点的深度信息和位姿数据计算出各特征点的定位数据。
以图像采集车为例,在车辆组装时就已经确定了相机、传感器等设备的安装位置,这样也就得到了一些预置参数。根据预置参数计算出拍摄样本图像的设备的位姿(POSE)数据的方式已十分成熟,在此不再详细介绍。再利用特征点深度信息(depth information,可以对应于现实场景中距离相机的距离)的提取(提取算法可以利用现有技术),就能够计算出出各特征点的定位数据,具体来说,可以是世界坐标系中的一个三维空间坐标。
在本发明的一个实施例中,上述装置中,视觉字典生成单元330,用于将指定地区的地图进行网格化设计,得到多个地图网格;根据各特征点的定位数据建立各特征点与地图网格的第二对应关系;在视觉字典中保存第二对应关系。
其中,指定地区就是定位建图的目标地区,例如在日后定位过程中可能会涉及的地区。在本例中采用了地图网格的方式来确定各特征点对应的空间区间,其中,指定地区的地图可以是二维平面地图,也可以为三维立体地图。这样,根据各特征点的定位信息,就能够计算出特征点落入哪一个网格中,也就得到了特征点与地图网格的对应关系。该对应关系也可以形成特征点-网格编号(如mapid)的索引。地图网格的划分可以存在重叠,即存在一块地区被划分到两个甚至更多的地图网格中,这是为了避免丢失特征点的一种设计。
虽然在本实施例中示出了网格化设计来划分空间区间的示例,但是这只是一种较佳实施方式的示例。例如在其他实施例中,只要知道目标地区的长和宽也可以进行空间区间的划分,不必和地图关联起来。当然,同样为了避免丢失特征点,也可以使得空间区间的划分存在重叠的情况,即使这样可能造成一个特征点被划分至多个空间区间内,也是符合需求的。
在本发明的一个实施例中,上述装置中,视觉字典生成单元330,用于对各特征点进行分类训练,得到关于提取的各特征点的词汇树,建立词汇树的各叶子节点与特征点的第一对应关系;在视觉字典中保存第一对应关系。
例如,选用k-means算法进行聚类,得到词汇树(vocabulary tree)。基于词汇树的视觉字典生成方式有很多,在此不在一一介绍。得到的词汇树的叶子节点(node)中可以包含若干个特征点,这样也就得到了词汇树的叶子节点与特征点的对应关系。具体地该对应关系可以形成特征点-叶子节点的反向索引。
通过以上方式,就可以得到例如关于指定地区的三维稀疏地图(包含稀疏的特征点,与着重于建模所有看到的物体的稠密地图有区别)。
在本发明的一个实施例中,上述装置中,视觉字典的格式为二进制文件。二进制文件在加载和保存上比其他格式如.yml文件快4-5倍;而且,二进制文件还能被压缩。
图4示出了根据本发明一个实施例的一种定位装置的结构示意图。如图4所示,定位装置400包括:
获取单元410,用于获取初步定位数据和检索用图像。这里的初步定位数据也可以是通过GNSS设备、激光传感器等获得的。但是考虑到现实应用中的环境因素,往往获得的初步定位数据是不准确的。
特征点提取单元420,用于从检索用图像中提取特征点。与前述实施例类似地,这一步也可以采用现有算法实现。
检索单元430,用于从视觉字典中检索出与提取出的特征点匹配的特征点,其中,所述视觉字典中记录有各特征点对应的空间区间,在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点。
也就是说,从海量特征点中根据当前位置对应的初步定位数据进行筛选,避免去和那些不在同一地图网格的特征点进行匹配,就极大减少了需要匹配的次数。
修正单元440,基于匹配的特征点的定位数据对所述初步定位数据进行修正。
实际上永远不可能得到完全精确的定位数据,但是通过预先的准备,可以实现满足需求精度的定位数据,因此认为预先得到的特征点的定位数据(例如保存在标准定位数据库中)是可信的、精确度高的,在判定两个特征点匹配的情况下,因此可以认为提取出的特征点的实际坐标就是匹配的特征点的坐标,这样就可以利用匹配特征点的定位数据来进行修正。这里的修正可以是指对在初步定位数据的基础上进行修正,也可以是直接根据查找出的特征点的定位数据(例如三维空间坐标),利用solvePnP等算法直接计算出一个更为准确的定位数据,对初步定位数据进行舍弃即可。
该实施例就是从实际定位的场景下介绍了如何利用前述实施例生成的视觉字典来进行图像检索,可以看出,由于待匹配的特征点的减少,显著提高了匹配率和匹配效率,减少了误匹配率。并且该过程不依赖于关键帧,也就避免了因为关键帧匹配错误而造成的定位失败。通过实验,该方法可以给视觉全局定位的成功率带来9%的提高,速度会带来30%的提升。
在本发明的一个实施例中,上述装置中,视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系;检索单元430,用于确定初步定位数据对应的地图网格,根据第二对应关系筛选待匹配的特征点;其中,地图网格是将指定地区的地图进行网格化设计得到的。
具体的网格化设计在前面的实施例也已经介绍过,在此不再赘述,除了本实施例介绍的地图网格化设计外,利用前文所述的按地区的长宽也同样可以划分空间区间。虽然初步定位数据准确度有待修正,但是其通常也具有一定的精度,对于当前位置所处地图网格的确定可以认为是比较准确的。由于相邻网格之间有一定的重复度,因此当前位置在两个地图网格的重叠位置时,那么确定的地图网格就是两个。容易推知针对二维地图的二维网格,最多可以确定的地图网格是四个,一般对应的数量可以是1,2,3,4中的任一种。
在本发明的一个实施例中,上述装置中,视觉字典中保存有特征点与叶子节点的第一对应关系;检索单元430,用于根据提取出的特征点计算词袋向量,确定各提取出的特征点经过的叶子节点;根据第一对应关系确定与经过的叶子节点对应的特征点。
根据特征点计算的词袋向量可以包含多个叶子节点,即确定了特征点经过的叶子节点。而预先生成的视觉字典中就保存有特征点和叶子节点的对应关系,这样就得到了特征点(提取出的)-叶子节点-特征点(视觉字典中的)的对应关系,将提取出的特征点与视觉字典中的特征点进行匹配,在这个过程中利用地图网格完成筛选,去除与当前位置不在同一地图网格中的特征点,就实现了相对快速的匹配。具体地,在本发明的一个实施例中,上述装置中,检索单元430,用于通过暴力匹配方法得到若干对匹配的特征点。
图5示出了根据本发明一个实施例的一种定位系统的结构示意图。如图5所示,定位系统500包括定位建图装置300和定位装置400。该系统的具体实施方式同样可以参照前述实施例配合实施,在此不再赘述。
综上所述,本发明的技术方案,在定位前先获取到指定地区的样本图像,从中提取特征点,进一步得到并保存特征点的定位数据,以及确定各特征点对应的空间区间。在生成的基于词汇树的视觉字典中记录各特征点对应的空间区间,以在实际定位时按空间区间对特征点进行筛选。该技术方案没有采用惯用的关键帧思路,在准备阶段,对指定地区进行区分,在后续匹配时可以依据视觉字典和空间区间进行筛选,大大减少了需要进行匹配的特征点数量,减少了误匹配率,提高了匹配率和效率。通过实验,该方法可以给视觉全局定位的成功率带来9%的提高,速度会带来30%的提升。精确度提高的定位信息还可以用于导航场景,例如无人车的自主导航,提高导航的智能化,在保证速度的前提下,提高了视觉全局定位算法的成功率与速度,对配送车的实际部署十分有利。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的定位建图装置、定位装置和定位系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图6示出了根据本发明一个实施例的智能终端的结构示意图。该智能终端包括处理器610和被安排成存储计算机可执行指令(计算机可读程序代码)的存储器620。存储器620可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器620具有存储用于执行上述方法中的任何方法步骤的计算机可读程序代码631的存储空间630。例如,用于存储计算机可读程序代码的存储空间630可以包括分别用于实现上面的方法中的各种步骤的各个计算机可读程序代码631。计算机可读程序代码631可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图7所述的计算机可读存储介质。图7示出了根据本发明一个实施例的一种计算机可读存储介质的结构示意图。该计算机可读存储介质700存储有用于执行根据本发明的方法步骤的计算机可读程序代码631,可以被智能终端600的处理器610读取,当计算机可读程序代码631由智能终端600运行时,导致该智能终端600执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算机可读程序代码631可以执行上述任一实施例中示出的方法。计算机可读程序代码631可以以适当形式进行压缩。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (15)
1.一种定位建图方法,其特征在于,该方法包括:
获取指定地区的样本图像,从样本图像中提取特征点;
确定各特征点的定位数据,并进行保存;
根据各特征点的定位数据确定各特征点对应的空间区间;
为各特征点生成基于词汇树的视觉字典,并在所述视觉字典中记录各特征点对应的空间区间;
所述确定各特征点的定位数据包括:
获取拍摄所述样本图像的设备的位姿数据;
根据各特征点的深度信息和所述位姿数据计算出各特征点的定位数据;
其中,所述视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系。
2.如权利要求1所述的方法,其特征在于,所述为各特征点生成基于词汇树的视觉字典包括:
对各特征点进行分类训练,得到关于提取的各特征点的词汇树,建立所述词汇树的各叶子节点与特征点的第一对应关系;
在所述视觉字典中记录所述第一对应关系。
3.如权利要求1所述的方法,其特征在于,所述视觉字典的格式为二进制文件。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述根据各特征点的定位数据确定各特征点对应的空间区间包括:
将指定地区的地图进行网格化设计,得到多个地图网格;
根据各特征点的定位数据建立各特征点与地图网格的第二对应关系;
所述在所述视觉字典中记录各特征点对应的空间区间包括:在所述视觉字典中记录所述第二对应关系。
5.一种定位方法,其特征在于,该方法包括:
获取初步定位数据和检索用图像;
从所述检索用图像中提取特征点;
从视觉字典中检索出与提取出的特征点匹配的特征点,其中,所述视觉字典中记录有各特征点对应的空间区间,在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点;
基于匹配的特征点的定位数据对所述初步定位数据进行修正;
所述视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系;
所述在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点包括:
确定所述初步定位数据对应的地图网格,根据所述第二对应关系筛选待匹配的特征点;
其中,所述地图网格是将指定地区的地图进行网格化设计得到的。
6.如权利要求5所述的方法,其特征在于,所述视觉字典中还记录有特征点与叶子节点的第一对应关系,所述从视觉字典中检索出与提取出的特征点匹配的特征点包括:
根据提取出的特征点计算词袋向量,确定各提取出的特征点经过的叶子节点;
根据所述第一对应关系确定与经过的叶子节点对应的特征点。
7.一种定位建图装置,其特征在于,该装置包括:
特征点提取单元,用于获取指定地区的样本图像,从样本图像中提取特征点;
定位数据单元,用于确定各特征点的定位数据,并进行保存;
视觉字典生成单元,用于根据各特征点的定位数据确定各特征点对应的空间区间,为各特征点生成基于词汇树的视觉字典,并在所述视觉字典中记录各特征点对应的空间区间;
所述定位数据单元,用于获取拍摄所述样本图像的设备的位姿数据,根据各特征点的深度信息和所述位姿数据计算出各特征点的定位数据;
其中,所述视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系。
8.如权利要求7所述的装置,其特征在于,
所述视觉字典生成单元,用于对各特征点进行分类训练,得到关于提取的各特征点的词汇树,建立所述词汇树的各叶子节点与特征点的第一对应关系,在所述视觉字典中记录所述第一对应关系。
9.如权利要求7所述的装置,其特征在于,所述视觉字典的格式为二进制文件。
10.如权利要求7-9中任一项所述的装置,其特征在于,
所述视觉字典生成单元,用于将指定地区的地图进行网格化设计,得到多个地图网格,根据各特征点的定位数据建立各特征点与地图网格的第二对应关系,在所述视觉字典中记录所述第二对应关系。
11.一种定位装置,其特征在于,该装置包括:
获取单元,用于获取初步定位数据和检索用图像;
特征点提取单元,用于从所述检索用图像中提取特征点;
检索单元,用于从视觉字典中检索出与提取出的特征点匹配的特征点,其中,所述视觉字典中记录有各特征点对应的空间区间,在检索过程中依据所述初步定位数据对应的空间区间筛选待匹配的特征点;
修正单元,用于基于匹配的特征点的定位数据对所述初步定位数据进行修正;
所述视觉字典中记录的各特征点对应的空间区间具体为各特征点与地图网格的第二对应关系;
所述检索单元,用于确定所述初步定位数据对应的地图网格,根据所述第二对应关系筛选待匹配的特征点;
其中,所述地图网格是将指定地区的地图进行网格化设计得到的。
12.如权利要求11所述的装置,其特征在于,所述视觉字典中还记录有特征点与叶子节点的第一对应关系;
所述检索单元,用于根据提取出的特征点计算词袋向量,确定各提取出的特征点经过的叶子节点,根据所述第一对应关系确定与经过的叶子节点对应的特征点。
13.一种定位系统,其特征在于,该系统包括如权利要求7-10中任一项所述的装置和如权利要求11-12中任一项所述的装置。
14.一种智能终端,该智能终端包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1-4中任一项所述的方法,或者使所述处理器执行如权利要求5-6中任一项所述的方法。
15.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如权利要求1-4中任一项所述的方法,或者实现如权利要求5-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810786143.8A CN110728711B (zh) | 2018-07-17 | 2018-07-17 | 定位建图方法及装置、定位方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810786143.8A CN110728711B (zh) | 2018-07-17 | 2018-07-17 | 定位建图方法及装置、定位方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110728711A CN110728711A (zh) | 2020-01-24 |
CN110728711B true CN110728711B (zh) | 2021-11-12 |
Family
ID=69217470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810786143.8A Active CN110728711B (zh) | 2018-07-17 | 2018-07-17 | 定位建图方法及装置、定位方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110728711B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794219A (zh) * | 2015-04-28 | 2015-07-22 | 杭州电子科技大学 | 一种基于地理位置信息的场景检索方法 |
CN105069809A (zh) * | 2015-08-31 | 2015-11-18 | 中国科学院自动化研究所 | 一种基于平面混合标识物的相机定位方法及系统 |
CN105404886A (zh) * | 2014-09-16 | 2016-03-16 | 株式会社理光 | 特征模型生成方法和特征模型生成装置 |
CN106125744A (zh) * | 2016-06-22 | 2016-11-16 | 山东鲁能智能技术有限公司 | 基于视觉伺服的变电站巡检机器人云台控制方法 |
CN106525025A (zh) * | 2016-10-28 | 2017-03-22 | 武汉大学 | 一种变电站巡检机器人路线规划导航方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4387552B2 (ja) * | 2000-04-27 | 2009-12-16 | 富士通株式会社 | 画像照合処理システム |
CN108255858A (zh) * | 2016-12-29 | 2018-07-06 | 北京优朋普乐科技有限公司 | 一种图像检索方法和系统 |
CN107677279B (zh) * | 2017-09-26 | 2020-04-24 | 上海思岚科技有限公司 | 一种定位建图的方法及系统 |
-
2018
- 2018-07-17 CN CN201810786143.8A patent/CN110728711B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404886A (zh) * | 2014-09-16 | 2016-03-16 | 株式会社理光 | 特征模型生成方法和特征模型生成装置 |
CN104794219A (zh) * | 2015-04-28 | 2015-07-22 | 杭州电子科技大学 | 一种基于地理位置信息的场景检索方法 |
CN105069809A (zh) * | 2015-08-31 | 2015-11-18 | 中国科学院自动化研究所 | 一种基于平面混合标识物的相机定位方法及系统 |
CN106125744A (zh) * | 2016-06-22 | 2016-11-16 | 山东鲁能智能技术有限公司 | 基于视觉伺服的变电站巡检机器人云台控制方法 |
CN106525025A (zh) * | 2016-10-28 | 2017-03-22 | 武汉大学 | 一种变电站巡检机器人路线规划导航方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110728711A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110705405B (zh) | 目标标注的方法及装置 | |
CN111222395B (zh) | 目标检测方法、装置与电子设备 | |
CN109918987B (zh) | 一种视频字幕关键词识别方法及装置 | |
CN110781911B (zh) | 一种图像匹配方法、装置、设备及存储介质 | |
CN111401133A (zh) | 目标数据增广方法、装置、电子设备和可读存储介质 | |
US20130148857A1 (en) | Apparatus for extracting character area in vehicle number plate and method thereof | |
CN111652266A (zh) | 用户界面组件的识别方法、装置、电子设备和存储介质 | |
CN111400533A (zh) | 图像筛选方法、装置、电子设备和存储介质 | |
CN110826415A (zh) | 一种场景图像中车辆的重识别方法及设备 | |
CN112149756A (zh) | 模型训练方法、图像识别方法、装置、设备及存储介质 | |
CN115588045A (zh) | 移动设备的定位方法、装置、电子设备及存储介质 | |
CN115294538A (zh) | 障碍物检测方法及装置、存储介质、终端 | |
CN114168768A (zh) | 图像检索方法及相关设备 | |
CN111027601B (zh) | 一种基于激光传感器的平面检测方法、装置 | |
CN110728711B (zh) | 定位建图方法及装置、定位方法、装置和系统 | |
CN110120090B (zh) | 三维全景模型构建方法、装置及可读存储介质 | |
CN111797832A (zh) | 一种图像感兴趣区域自动生成方法及系统及图像处理方法 | |
CN109375187B (zh) | 雷达目标的确定方法及装置 | |
CN116109949A (zh) | 无人机全局定位方法、装置、电子设备及存储介质 | |
CN109213515A (zh) | 多平台下埋点归一方法及装置和电子设备 | |
CN111126336B (zh) | 样本采集方法、装置及设备 | |
CN115249241A (zh) | 一种涂胶缺陷检测方法及装置 | |
CN114937269A (zh) | 一种基于英文和汉字联合的船舶号牌识别方法及系统 | |
CN114120309A (zh) | 一种仪表读数识别方法、装置及计算机设备 | |
Peng et al. | The knowing camera 2: recognizing and annotating places-of-interest in smartphone photos |
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 |