CN104700402A - 基于场景三维点云的视觉定位方法及装置 - Google Patents
基于场景三维点云的视觉定位方法及装置 Download PDFInfo
- Publication number
- CN104700402A CN104700402A CN201510065371.2A CN201510065371A CN104700402A CN 104700402 A CN104700402 A CN 104700402A CN 201510065371 A CN201510065371 A CN 201510065371A CN 104700402 A CN104700402 A CN 104700402A
- Authority
- CN
- China
- Prior art keywords
- subset
- matching relationship
- scene point
- local feature
- checked
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于场景三维点云的视觉定位方法及装置,方法包括:将场景点云划分为多个不相交的子集;根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得子集队列;选择子集队列中的第一个子集,查找第一个子集中的各场景点与待查询图像的局部特征的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;否则选择子集队列中的第二个子集,查找第一个子集和第二个子集中各场景点与待查询图像的局部特征的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;根据查找到的匹配关系估计拍摄待查询图像相机的位置和方向。上述方法能够提高查找匹配关系的效率。
Description
技术领域
本发明涉及计算机技术,具体涉及一种基于场景三维点云的视觉定位方法及装置。
背景技术
当前,随着智能终端的发展,基于位置的服务受到越来越多的关注,促使定位技术成为研究热点。常见的定位技术一般基于GPS或者Wi-Fi无线网络等。但是这些定位技术存在着易受干扰、适用范围有限等诸多问题。
视觉定位(Image-based Localization)技术,即基于场景三维点云计算查询图像的相机在该点云中的位置和方向,能够有效地解决上述问题。
然而,视觉定位技术是基于查询图像的局部特征与场景点云中的点之间的匹配关系来确定查询图像的相机位置和方向的。当前,场景点云的规模往往在百万量级甚至更大,因此,寻找查询图像局部特征和场景点之间的匹配关系需要进行大量的计算,导致视觉定位技术中寻找匹配关系的效率无法提高。
发明内容
针对现有技术中的缺陷,本发明提供了一种基于场景三维点云的视觉定位方法及装置,能够提高视觉定位方法中寻找匹配关系的效率。
第一方面,本发明提供一种基于场景三维点云的视觉定位方法,包括:
将预先建立的场景点云划分为多个不相交的子集;
根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列;
选择所述子集队列中的第一个子集,查找该第一个子集中的各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足预设的结束条件,如果满足,则结束;
否则,选择所述子集队列中的第二个子集,查找所述第一个子集和第二个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;
否则,重复选择所述子集队列中的第N个子集,并查找从第一个子集至第N个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,直至所述匹配关系满足预设结束条件,N为大于2的自然数;
根据查找到的所述匹配关系估计拍摄待查询图像相机的位置和方向。
可选地,所述根据查找到的所述匹配关系估计待查询图像所属相机的位置和方向之前,所述方法还包括:
在已经查找M个子集之后的匹配关系仍不满足所述结束条件时,确定M个子集中所有场景点的数量是否大于预设阈值,若大于,则结束,M为大于1的自然数。
可选地,根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列,包括:
获取所述待查询图像的全局特征描述子,以及获取每个子集的全局特征描述子;
确定每个子集的全局特征描述子与所述待查询图像的全局特征描述子的度量距离;
根据度量距离的大小,将所有子集进行排序,获得所述子集队列,排在所述子集队列中第一位的子集优先级最高,对应的度量距离最小。
可选地,所述将预先建立的场景点云划分为多个不相交的子集,包括:
采用划分算法将所述场景点云划分为多个不相交的子集。
可选地,获取每个子集的全局特征描述子,包括:
获取一子集中所有场景点的局部特征描述子;
根据所有场景点的局部特征描述子生成所有场景点所属子集的全局特征描述子;
或者,
获取一子集中所有场景点的局部特征描述子;
获取每一场景点对应的所有局部特征描述子的平均值
根据所有场景点的局部特征描述子的平均值生成所有场景点所属子集的全局特征描述子。
第二方面,本发明提供一种基于场景三维点云的视觉定位装置,包括:
子集划分单元,用于将预先建立的场景点云划分为多个不相交的子集;
子集队列获取单元,用于根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列;
匹配关系查找单元,用于选择所述子集队列中的第一个子集,查找该第一个子集中的各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;否则,选择所述子集队列中的第二个子集,查找所述第一个子集和第二个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;否则,重复选择所述子集队列中的第N个子集,并查找从第一个子集至第N个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,直至所述匹配关系满足预设结束条件,N为大于2的自然数;
估计单元,用于根据查找到的所述匹配关系估计拍摄待查询图像相机的位置和方向。
可选地,所述匹配关系查找单元,还用于
在已经查找M个子集之后的匹配关系仍不满足所述结束条件时,确定M个子集中所有场景点的数量是否大于预设阈值,若大于,则结束,将在M个子集中查找到的匹配关系作为最后的匹配关系,M为大于1的自然数。
可选地,所述子集队列获取单元,具体用于
获取所述待查询图像的全局特征描述,以及获取每个子集的全局特征描述子;
确定每个子集的全局特征描述子与所述待查询图像的全局特征描述子的度量距离;
根据度量距离的大小,将所有子集进行排序,获得所述子集队列,排在所述子集队列中第一位的子集优先级最高,对应的度量距离最小。
可选地,所述子集划分单元,具体用于
采用划分算法将所述场景点云划分为多个不相交的子集。
可选地,所述子集队列获取单元,还用于
获取一子集中所有场景点的局部特征描述子;
根据所有场景点的局部特征描述子生成所有场景点所属子集的全局特征描述子;
或者,
获取一子集中所有场景点的局部特征描述子;
获取每一场景点对应的所有局部特征描述子的平均值
根据所有场景点的局部特征描述子的平均值生成所有场景点所属子集的全局特征描述子。
由上述技术方案可知,本发明的基于场景三维点云的视觉定位方法及装置,通过将场景点云划分为各个子集,进而在各子集中查找与待查询图像局部特征描述子的匹配关系,由此,可降低视觉定位方法的查询复杂度,且能够提高查询效率。
附图说明
图1为本发明一实施例提供的基于场景三维点云的视觉定位方法的流程示意图;
图2为本发明一实施例提供的基于场景三维点云的视觉定位装置的结构示意图。
具体实施方式
下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。本发明实施例中所使用的“第一”、“第二”仅为更清楚的说明本申请的内容,不具有特定含义,也不限定任何内容。
图1示出了本发明一实施例提供的基于场景三维点云的视觉定位方法的流程示意图,如图1所示,本实施例中的基于场景三维点云的视觉定位方法如下所述。
101、将预先建立的场景点云划分为多个不相交的子集。
举例来说,可采用划分算法将所述场景点云划分为多个不相交的子集,使得场景点云中距离较近的点被划分在同一个子集中,距离较远的点被划分在不同的子集中,并且最终划分出来的各个子集包含的元素个数尽量均匀。
可理解的是,划分算法可为基于层次K-Means算法改进的划分算法。
102、根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列;
103、选择所述子集队列中的第一个子集,查找该第一个子集中的各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足预设的结束条件,如果满足,则结束,否则,执行步骤103a;
103a、选择所述子集队列中的第二个子集,查找所述第一个子集和第二个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足预设的结束条件,如果满足,则结束;否则执行步骤103b;
103b、重复选择所述子集队列中的第N个子集,并查找从第一个子集至第N个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,直至所述匹配关系满足结束条件,N为大于2的自然数;
本实施例中,上述即为在子集队列中按照优先级顺序寻找/查找待查询图像的局部特征描述子和各个子集中的场景点的匹配关系,直至满足结束条件。
另外,需要说明的是,如果在查找从第一个子集至第M个子集中各场景点与所述待查询图像的局部特征的匹配关系,并确定查找的匹配关系不满足结束条件,则查看第一个子集至第M个子集中所有场景点的数量大于预设阈值,则结束。
也就是说,在已经查找M个子集之后的匹配关系仍不满足所述结束条件时,确定M个子集中所有场景点的数量是否大于预设阈值,若大于,则结束,否则,重复上述步骤103b的流程。M为大于1的自然数。
104、根据查找到的所述匹配关系估计待查询图像所属相机的位置和方向。也就是说,根据查找到的匹配关系估计拍摄待查询图像相机的位置和方向。
举例来说,可使用已有的位置估计算法(Perspective-n-Point,简称PnP)进行估计。
例如,摄像机成像过程可以简化为针孔成像模型x=PX=K[R,-C]X,其中,X为一个在三维空间中的场景点的坐标,x为该场景点在摄像机拍摄的图像中的二维坐标,P为投影矩阵,K为摄像机内部参数矩阵,R为摄像机旋转矩阵,C为摄像机位置。
根据上一步骤场景点和待查询图像局部特征描述子之间的匹配关系,可以将相应的X和x代入针孔成像模型线性求解投影矩阵P,并将投影矩阵P进一步分解获得摄像机位置C。
应说明的是,投影矩阵P具有12个自由度,而1对空间位置图像位置对应关系(X,x)仅能提供2个自由度,故,上述获取摄像机位置C至少需要6对场景点和查询图像局部特征描述子之间的匹配关系。
可理解的是,在实际处理中还需要考虑噪声的影响,已知的场景点和待查询图像局部特征描述子之间的对应关系中可能存在错误的匹配关系。因此在实际应用中还可应用RANSAC算法来去除查找到的匹配关系中的误匹配关系,在正确的匹配关系中进行位置估计。
本实施例中的视觉定位方法,将预先建立好的场景点云划分为若干个不相交的子集;获取查询图像的局部特征描述子;确定各个子集的优先级顺序;按照优先级顺序寻找查询图像的局部特征描述子和各个子集中的点的匹配关系,直至满足结束条件;根据寻找到的匹配关系估计查询图像的相机的位置和方向。上述定位方法提高了视觉定位的效率。
为更好理解上述实施例,上述步骤101可具体说明如下:
场景点云的形式化表示如下:场景点云里面包含M个场景点;场景点i(1≤i≤M)在三维空间的坐标为Xi;场景点i对应着ni个局部特征描述子,这些局部特征描述子分别表示为dij(0≤j≤ni)。
若需要将场景点云划分为K个不相交的子集Ci(1≤i≤K),满足(i≠j,1≤i,j≤K),C1∪C2∪…∪CK={1,2,…,M}。
为了更清楚的说明场景点云的划分算法,对具体实现中使用的K-Means聚类算法进行下述说明:
输入:{Xi|1≤i≤M},t,k。其中,Xi表示场景点i的三维坐标,t表示最终划分出来的每个子集的基数的上界,k表示在划分过程中调用K-Means聚类算法时聚类个数的上界。
输出:K,C1,C2,…,CK。K为划分出的子集的个数,C1,C2,…,CK即为划分出的K个不相交的子集。
伪代码(符号//后面的内容表示注释):
本发明实施例的视觉定位方法划分的目的是将在三维空间中距离较近的场景点划分到同一个子集中,在三维空间中距离较远的场景点划分到不同的子集中。
进一步地,保证划分出来的K个子集的大小尽量均匀,即每个子集中包含的场景点个数尽量均匀。
在一个具体的例子中,上述步骤102可包括下述的图中未示出的子步骤:
1021、获取所述待查询图像的全局特征描述子,以及获取每个子集的全局特征描述子。
举例来说,根据待查询图像的局部特征描述子生成查询图像的一个全局特征描述子。可理解的是,获取图像的局部特征描述子的方式为现有的方式,常见的局部特征描述子可为尺度不变描述子(ScaleInvariant Feature Transform,简称SIFT)。
本实施例中的全局特征描述子(如下步骤中的gq、gk)可为BoW(Bag-of-Words),VLAD(Vector of Locally Aggregated Descriptors)和Fish向量(Fisher Vector,简称FV)。
本实施例以VLAD为例详细说明如下:
首先,需要在提取一个训练数据集中所有图像的局部特征描述子,即提取所有图像的SIFT。然后,在提取出来的所有SIFT上使用K-Means算法或者层次K-Means算法进行聚类。每一个聚类都会有一个聚类中心,这里将聚类中心称为视觉单词。如果将所有的SIFT聚成了10000类,那么最终就可以得到10000个视觉单词。视觉单词的个数可以根据实际情况来选定。注意,这里的视觉单词同样也是128维的向量。在得到若干个视觉单词之后,根据查询图像的N个局部特征描述子即SIFT集合{fi|1≤i≤N}可以生成全局特征描述子如VLAD。生成全局特征描述子可采用现有的方法,本实施例不再详细描述。
另外,需要说明的是,生成场景点云的每一子集Ck对应的全局特征描述子如VLAD时使用的视觉单词应当和上述的通过训练数据集获取的视觉单词可相同。
值得注意的是,在生成子集Ck对应的VLAD时,可以直接使用其对应的所有局部特征描述子集合{dij|i∈Ck,1≤j≤ni}来生成全局特征描述子。在生成过程中,如果一个场景点对应的多个局部描述子的最近邻的视觉单词相同,那么就使用这些描述子的平均值来替代这若干个局部描述子。
或者,还可以先求出每个场景点对应的局部特征描述子的平均值,然后使用每个场景点求出局部特征描述子的平均值来生成全局特征描述子。
在本实施例中可以根据子集Ck中每个场景点的局部特征描述子的平均值来生成VLAD。
1022、确定每个子集的全局特征描述子与所述待查询图像的全局特征描述子的度量距离。
在本实施例中,以128维的SIFT为例,获取的待查询图像的N个局部特征描述子,表示为fi(1≤i≤N)。
根据获取的N个局部特征描述子集合{fi|1≤i≤N}生成查询图像的一个全局特征描述子gq;
根据K个子集Ck(1≤k≤K)对应的局部特征描述子集合{dij|i∈Ck,1≤j≤ni}生成Ck的一个全局特征描述子gk;
确定这K个子集的顺序为Ca1,Ca2,…,CaK,满足|ga1-gq|≤|ga2-gq|≤,…,≤|gK-gq|,其中|g1-g2|表示两个全局特征描述子g1和g2之间的欧式距离。
本实施例中的度量距离可为欧式距离。
上述的全局特征描述子gq、gk可为BoW(Bag-of-Words),VLAD(Vector of Locally Aggregated Descriptors)和Fish向量(Fisher Vector,简称FV)。
本实施例中,获取两个全局特征描述子即VLAD之间的欧氏距离之前,可以预先建立视觉单词的倒排索引,在计算两个VLAD之间欧式距离时,只考虑它们都使用了的视觉单词。这样可以提高两个VLAD之间距离计算的效率。
1023、根据度量距离的大小,将所有子集进行排序,获得所述子集队列,排在所述子集队列中第一位的第一个子集优先级最高,对应的度量距离最小。
进一步地,针对上面的步骤103至103b详细说明如下:
根据上述步骤101划分出的K个子集的顺序为Ca1,Ca2,…,CaK,进而可根据这个顺序来寻找待查询图像的局部特征描述子和各个子集中的场景点的匹配关系,直至满足结束条件。具体的过程如下:
第一步、初始化:令k=1。
第二步、对于待查询图像中的某个局部特征描述子为f,假设前k个子集Ca1,Ca2,…,Cak中包含的场景点对应的局部特征描述子中和f距离最近的为局部特征描述子d1,距离次近的为局部特征描述子d2。
那么,如果|f-d1|/|f-d2|<λ,就认为f对应的待查询图像的局部特征描述子和该局部特征描述子d1属于的场景点是匹配的。这里λ为一个阈值,本实施例中使用的阈值为0.7。
需要说明的是,由于一个场景点可能对应不止一个局部特征描述子,所以这里提到的子集Ca1,Ca2,…,Cak中包含的场景点对应的局部特征描述子可以是场景点对应的全部局部特征描述子,场景点对应的全部局部特征描述子的平均值或者其他形式等。
此外还需要注意的是,待查询图像的一个局部特征描述子只能和一个场景点是匹配关系,如果在查找过程中,出现待查询图像的一个局部特征描述子和多个场景点是匹配关系,那么只保留和该局部特征距离最近的场景点。
在实际实现中,可无需每次都重新计算前k个子集中场景点对应的局部特征描述子和待查询图像局部特征描述子之间的距离。只需要将前(k-1)个子集中包含的场景点对应的局部特征描述子中和待查询图像局部特征描述子最近邻的和次近邻的两个场景点记录下来即可。
进一步地,如果此时已经找到了足够多对的匹配关系,如100对匹配关系,则可停止查找。或者,若还没有找到足够多的匹配关系,但是,如果前k个子集里包含的场景点个数已经多于一个阈值,即|Ca1|+|Ca2|+…+|Cak|>μ,则可停止查找。
其中,μ是一个参数,根据实际情况设定,比如50000。如果前两个条件都不满足,那么就令k=k+1,重复上述第二步的流程。
图2示出了本发明一实施例提供的基于场景三维点云的视觉定位装置的结构示意图,如图2所示,本实施例中的基于场景三维点云的视觉定位装置包括:子集划分单元21、子集队列获取单元22、匹配关系查找单元23和估计单元24;
其中,子集划分单元21用于将预先建立的场景点云划分为多个不相交的子集;例如,可采用划分算法将所述场景点云划分为多个不相交的子集;
子集队列获取单元22用于根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列;
匹配关系查找单元23用于选择所述子集队列中的第一个子集,查找该第一个子集中的各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;否则,选择所述子集队列中的第二个子集,查找所述第一个子集和第二个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;否则,重复选择所述子集队列中的第N个子集,并查找从第一个子集至第N个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,直至所述匹配关系满足预设结束条件,N为大于2的自然数;
估计单元24用于根据查找到的所述匹配关系估计拍摄待查询图像相机的位置和方向。
在实际应用中,所述匹配关系查找单元23还用于,在已经查找M个子集之后的匹配关系仍不满足所述结束条件时,确定M个子集中所有场景点的数量是否大于预设阈值,若大于,则结束,将在M个子集中查找到的匹配关系作为最后的匹配关系,M为大于1的自然数。
在一种具体的例子中,所述子集队列获取单元22具体用于
获取所述待查询图像的全局特征描述,以及获取每个子集的全局特征描述子;例如,获取一子集中所有场景点的局部特征描述子;根据所有场景点的局部特征描述子生成所有场景点所属子集的全局特征描述子;应说明的是,如果在生成全局特征描述子时,一个场景点对应的多个局部描述子的最近邻的视觉单词相同,那么就使用该些相同视觉单词对应的局部特征描述子的平均值替代该些局部特征描述子。
由此,针对任一个场景点,如果存在上述内容,可直接使用这些平均值替代该场景点的局部特征描述子,以便较快且高效的生成所有场景点所属子集的全局特征描述子。
或者,还可获取一子集中所有场景点的局部特征描述子;获取每一场景点对应的所有局部特征描述子的平均值;根据所有场景点的局部特征描述子的平均值生成所有场景点所属子集的全局特征描述子;
确定每个子集的全局特征描述子与所述待查询图像的全局特征描述子的度量距离;
根据度量距离的大小,将所有子集进行排序,获得所述子集队列,排在所述子集队列中第一位的第一个子集优先级最高,对应的度量距离最小。
本实施例的基于场景三维点云的视觉定位装置可位于服务器中或任一客户端中,可执行前述的方法流程,本实施例不再详述。
本实施例的基于场景三维点云的视觉定位装置,通过子集划分单元将场景点云划分为各个子集,进而匹配关系查找单元在各子集中查找与待查询图像局部特征的匹配关系,由此,可降低视觉定位方法的查询复杂度,且能够提高查询效率。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在于该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是互相排斥之处,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种基于场景三维点云的视觉定位方法,其特征在于,包括:
将预先建立的场景点云划分为多个不相交的子集;
根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列;
选择所述子集队列中的第一个子集,查找该第一个子集中的各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足预设的结束条件,如果满足,则结束;
否则,选择所述子集队列中的第二个子集,查找所述第一个子集和第二个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;
否则,重复选择所述子集队列中的第N个子集,并查找从第一个子集至第N个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,直至所述匹配关系满足预设结束条件,N为大于2的自然数;
根据查找到的所述匹配关系估计拍摄待查询图像相机的位置和方向。
2.根据权利要求1所述的方法,其特征在于,所述根据查找到的所述匹配关系估计待查询图像所属相机的位置和方向之前,所述方法还包括:
在已经查找M个子集之后的匹配关系仍不满足所述结束条件时,确定M个子集中所有场景点的数量是否大于预设阈值,若大于,则结束,M为大于1的自然数。
3.根据权利要求1所述的方法,其特征在于,根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列,包括:
获取所述待查询图像的全局特征描述子,以及获取每个子集的全局特征描述子;
确定每个子集的全局特征描述子与所述待查询图像的全局特征描述子的度量距离;
根据度量距离的大小,将所有子集进行排序,获得所述子集队列,排在所述子集队列中第一位的子集优先级最高,对应的度量距离最小。
4.根据权利要求1至3任一所述的方法,其特征在于,所述将预先建立的场景点云划分为多个不相交的子集,包括:
采用划分算法将所述场景点云划分为多个不相交的子集。
5.根据权利要求3所述的方法,其特征在于,获取每个子集的全局特征描述子,包括:
获取一子集中所有场景点的局部特征描述子;
根据所有场景点的局部特征描述子生成所有场景点所属子集的全局特征描述子;
或者,
获取一子集中所有场景点的局部特征描述子;
获取每一场景点对应的所有局部特征描述子的平均值;
根据所有场景点的局部特征描述子的平均值生成所有场景点所属子集的全局特征描述子。
6.一种基于场景三维点云的视觉定位装置,其特征在于,包括:
子集划分单元,用于将预先建立的场景点云划分为多个不相交的子集;
子集队列获取单元,用于根据待查询图像的全局特征描述子、每个子集的全局特征描述子,将所有子集进行优先级排序,获得优先级排序后的子集队列;
匹配关系查找单元,用于选择所述子集队列中的第一个子集,查找该第一个子集中的各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;否则,选择所述子集队列中的第二个子集,查找所述第一个子集和第二个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,并确定查找到的匹配关系是否满足结束条件,如果满足,则结束;否则,重复选择所述子集队列中的第N个子集,并查找从第一个子集至第N个子集中各场景点与所述待查询图像的局部特征描述子的匹配关系,直至所述匹配关系满足预设结束条件,N为大于2的自然数;
估计单元,用于根据查找到的所述匹配关系估计拍摄待查询图像相机的位置和方向。
7.根据权利要求6所述的装置,其特征在于,所述匹配关系查找单元,还用于
在已经查找M个子集之后的匹配关系仍不满足所述结束条件时,确定M个子集中所有场景点的数量是否大于预设阈值,若大于,则结束,将在M个子集中查找到的匹配关系作为最后的匹配关系,M为大于1的自然数。
8.根据权利要求6所述的装置,其特征在于,所述子集队列获取单元,具体用于
获取所述待查询图像的全局特征描述,以及获取每个子集的全局特征描述子;
确定每个子集的全局特征描述子与所述待查询图像的全局特征描述子的度量距离;
根据度量距离的大小,将所有子集进行排序,获得所述子集队列,排在所述子集队列中第一位的子集优先级最高,对应的度量距离最小。
9.根据权利要求6至8任一所述的装置,其特征在于,所述子集划分单元,具体用于
采用划分算法将所述场景点云划分为多个不相交的子集。
10.根据权利要求8所述的装置,其特征在于,所述子集队列获取单元,还用于
获取一子集中所有场景点的局部特征描述子;
根据所有场景点的局部特征描述子生成所有场景点所属子集的全局特征描述子;
或者,
获取一子集中所有场景点的局部特征描述子;
获取每一场景点对应的所有局部特征描述子的平均值
根据所有场景点的局部特征描述子的平均值生成所有场景点所属子集的全局特征描述子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510065371.2A CN104700402B (zh) | 2015-02-06 | 2015-02-06 | 基于场景三维点云的视觉定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510065371.2A CN104700402B (zh) | 2015-02-06 | 2015-02-06 | 基于场景三维点云的视觉定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104700402A true CN104700402A (zh) | 2015-06-10 |
CN104700402B CN104700402B (zh) | 2018-09-14 |
Family
ID=53347484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510065371.2A Active CN104700402B (zh) | 2015-02-06 | 2015-02-06 | 基于场景三维点云的视觉定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104700402B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547825A (zh) * | 2016-09-30 | 2017-03-29 | 西北大学 | 基于全局特征与子块特征的三维模型检索方法 |
CN107084727A (zh) * | 2017-04-12 | 2017-08-22 | 武汉理工大学 | 一种基于高精度三维地图的视觉定位系统及方法 |
CN108198217A (zh) * | 2017-12-29 | 2018-06-22 | 百度在线网络技术(北京)有限公司 | 室内定位方法、装置、设备及计算机可读介质 |
CN108632607A (zh) * | 2018-05-09 | 2018-10-09 | 北京大学深圳研究生院 | 一种基于多角度自适应帧内预测的点云属性压缩方法 |
CN110163903A (zh) * | 2019-05-27 | 2019-08-23 | 百度在线网络技术(北京)有限公司 | 三维图像的获取及图像定位方法、装置、设备和存储介质 |
CN110263209A (zh) * | 2019-06-27 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110413808A (zh) * | 2019-07-17 | 2019-11-05 | 深兰科技(上海)有限公司 | 一种三维点云数据存储、查询方法及装置 |
CN111337947A (zh) * | 2020-05-18 | 2020-06-26 | 深圳市智绘科技有限公司 | 即时建图与定位方法、装置、系统及存储介质 |
CN112445929A (zh) * | 2019-08-30 | 2021-03-05 | 浙江商汤科技开发有限公司 | 视觉定位方法及相关装置 |
CN112884834A (zh) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | 视觉定位方法及系统 |
CN113011113A (zh) * | 2021-03-23 | 2021-06-22 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种离散点云重复点快速查找方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521618A (zh) * | 2011-11-11 | 2012-06-27 | 北京大学 | 局部描述子的提取方法、图片检索方法及图像匹配方法 |
CN102867057A (zh) * | 2012-09-17 | 2013-01-09 | 北京航空航天大学 | 一种基于视觉定位的虚拟向导构建方法 |
CN103745498A (zh) * | 2014-01-16 | 2014-04-23 | 中国科学院自动化研究所 | 一种基于图像的快速定位方法 |
CN104038792A (zh) * | 2014-06-04 | 2014-09-10 | 紫光软件系统有限公司 | 用于iptv监管的视频内容分析方法及设备 |
-
2015
- 2015-02-06 CN CN201510065371.2A patent/CN104700402B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521618A (zh) * | 2011-11-11 | 2012-06-27 | 北京大学 | 局部描述子的提取方法、图片检索方法及图像匹配方法 |
CN102867057A (zh) * | 2012-09-17 | 2013-01-09 | 北京航空航天大学 | 一种基于视觉定位的虚拟向导构建方法 |
CN103745498A (zh) * | 2014-01-16 | 2014-04-23 | 中国科学院自动化研究所 | 一种基于图像的快速定位方法 |
CN104038792A (zh) * | 2014-06-04 | 2014-09-10 | 紫光软件系统有限公司 | 用于iptv监管的视频内容分析方法及设备 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547825B (zh) * | 2016-09-30 | 2019-09-27 | 西北大学 | 基于全局特征与子块特征的三维模型检索方法 |
CN106547825A (zh) * | 2016-09-30 | 2017-03-29 | 西北大学 | 基于全局特征与子块特征的三维模型检索方法 |
CN107084727A (zh) * | 2017-04-12 | 2017-08-22 | 武汉理工大学 | 一种基于高精度三维地图的视觉定位系统及方法 |
CN108198217A (zh) * | 2017-12-29 | 2018-06-22 | 百度在线网络技术(北京)有限公司 | 室内定位方法、装置、设备及计算机可读介质 |
US10939123B2 (en) | 2018-05-09 | 2021-03-02 | Peking University Shenzhen Graduate School | Multi-angle adaptive intra-frame prediction-based point cloud attribute compression method |
CN108632607B (zh) * | 2018-05-09 | 2019-06-21 | 北京大学深圳研究生院 | 一种基于多角度自适应帧内预测的点云属性压缩方法 |
WO2019213986A1 (zh) * | 2018-05-09 | 2019-11-14 | 北京大学深圳研究生院 | 一种基于多角度自适应帧内预测的点云属性压缩方法 |
CN108632607A (zh) * | 2018-05-09 | 2018-10-09 | 北京大学深圳研究生院 | 一种基于多角度自适应帧内预测的点云属性压缩方法 |
CN110163903A (zh) * | 2019-05-27 | 2019-08-23 | 百度在线网络技术(北京)有限公司 | 三维图像的获取及图像定位方法、装置、设备和存储介质 |
CN110263209A (zh) * | 2019-06-27 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110413808A (zh) * | 2019-07-17 | 2019-11-05 | 深兰科技(上海)有限公司 | 一种三维点云数据存储、查询方法及装置 |
CN110413808B (zh) * | 2019-07-17 | 2021-09-24 | 深兰科技(上海)有限公司 | 一种三维点云数据存储、查询方法及装置 |
CN112445929A (zh) * | 2019-08-30 | 2021-03-05 | 浙江商汤科技开发有限公司 | 视觉定位方法及相关装置 |
CN112884834A (zh) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | 视觉定位方法及系统 |
CN111337947B (zh) * | 2020-05-18 | 2020-09-22 | 深圳市智绘科技有限公司 | 即时建图与定位方法、装置、系统及存储介质 |
CN111337947A (zh) * | 2020-05-18 | 2020-06-26 | 深圳市智绘科技有限公司 | 即时建图与定位方法、装置、系统及存储介质 |
CN113011113A (zh) * | 2021-03-23 | 2021-06-22 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种离散点云重复点快速查找方法 |
CN113011113B (zh) * | 2021-03-23 | 2022-04-05 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种离散点云重复点快速查找方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104700402B (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104700402A (zh) | 基于场景三维点云的视觉定位方法及装置 | |
Li et al. | Dual-resolution correspondence networks | |
CN108140032B (zh) | 用于自动视频概括的设备和方法 | |
Zamir et al. | Image geo-localization based on multiplenearest neighbor feature matching usinggeneralized graphs | |
JP5463415B2 (ja) | 準複製画像検索のための方法およびシステム | |
US8798357B2 (en) | Image-based localization | |
US8892542B2 (en) | Contextual weighting and efficient re-ranking for vocabulary tree based image retrieval | |
JP2018139103A (ja) | ニューラルネットワークをトレーニングするための方法、コンピュータプログラム製品、およびデバイス | |
US8442307B1 (en) | Appearance augmented 3-D point clouds for trajectory and camera localization | |
Du et al. | Geometric hypergraph learning for visual tracking | |
US20140226877A1 (en) | Method, Apparatus and Computer Readable Recording Medium for Managing a Reference Face Database to Improve Face Recognition Performance Under a Restricted Memory Environment | |
CN110019876B (zh) | 数据查询方法、电子设备及存储介质 | |
CN103026368A (zh) | 使用增量特征提取的对象辨识 | |
CN104169946B (zh) | 用于视觉搜索的可扩展查询 | |
CN109842811B (zh) | 一种在视频中植入推送信息的方法、装置及电子设备 | |
CN109074757B (zh) | 一种建立地图的方法、终端和计算机可读存储介质 | |
Szentandrasi et al. | Uniform marker fields: Camera localization by orientable de bruijn tori | |
US10769441B2 (en) | Cluster based photo navigation | |
CN114694185B (zh) | 一种跨模态目标重识别方法、装置、设备及介质 | |
JP5633647B2 (ja) | 映像処理システム、映像処理方法、映像処理用データベースの作成方法とそのデータベース、映像処理装置およびその制御方法と制御プログラム | |
KR101329102B1 (ko) | 레이아웃 기술자와 이미지 특징점을 이용한 실시간 증강현실 이미지 검색시스템 | |
JP2022541559A (ja) | 視覚的測位方法及び関連装置 | |
Etezadifar et al. | Scalable video summarization via sparse dictionary learning and selection simultaneously | |
CN113298871B (zh) | 地图生成方法、定位方法及其系统、计算机可读存储介质 | |
US8885952B1 (en) | Method and system for presenting similar photos based on homographies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |