CN116664812B - 一种视觉定位方法、视觉定位***及电子设备 - Google Patents
一种视觉定位方法、视觉定位***及电子设备 Download PDFInfo
- Publication number
- CN116664812B CN116664812B CN202211521750.4A CN202211521750A CN116664812B CN 116664812 B CN116664812 B CN 116664812B CN 202211521750 A CN202211521750 A CN 202211521750A CN 116664812 B CN116664812 B CN 116664812B
- Authority
- CN
- China
- Prior art keywords
- equipment
- point cloud
- cloud data
- image
- visual positioning
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004590 computer program Methods 0.000 claims description 25
- 238000005259 measurement Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 230000004807 localization Effects 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003252 repetitive effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种视觉定位方法、视觉定位***及电子设备,适用于视觉定位技术领域,该方法包括:获取待定位设备所处位置点的查询图像和设备点云数据。根据查询图像和设备点云数据,确定出待定位设备所处的目标范围。基于查询图像对目标范围关联的样本图像进行图像匹配,确定出与查询图像匹配的目标图像,并基于目标图像确定出待定位设备的位置信息。本申请实施例可以提高视觉定位在相似场景下的定位精度。
Description
技术领域
本申请涉及视觉定位领域,尤其涉及一种视觉定位方法、视觉定位***及电子设备。
背景技术
视觉定位是一种利用图像来实现定位的技术,具有成本低和定位精度高等优点,广泛应用于各种室内或室外的定位场景。
实际应用中发现,在一些具有相似或重复物体的场景(以下简称为相似场景)中,视觉定位的定位精度会出现明显下降,甚至可能出现无法定位的情况。例如,在一些包含相同外观门窗的场景、包含重复结构的房间场景以及包含大量相同柱体的地下停车场场景中,视觉定位都可能会出现定位精度下降甚至无法定位的情况。
因此,如何提高视觉定位在相似场景下的定位精度,是实际应用中所需解决的问题。
发明内容
有鉴于此,本申请实施例提供了视觉定位方法、视觉定位***及电子设备,可以提高视觉定位在相似场景下的定位精度。
本申请实施例的第一方面提供了一种视觉定位方法,应用于视觉定位设备,方法包括:
先获取待定位设备所处位置点的查询图像,以及待定位设备的设备点云数据,设备点云数据内包含待定位设备所处位置点的三维点云数据。再根据查询图像和设备点云数据,确定出待定位设备所处的目标范围。最后基于查询图像对目标范围关联的样本图像进行图像匹配,确定出与查询图像匹配的目标图像,并基于目标图像关联的位置信息确定出待定位设备的位置信息。
在本申请实施例中,考虑到相似场景内可能会有大量相似的样本图像,因此首先进行粗匹配,利用待定位设备提供的设备点云数据,对待定位设备可能的位置范围进行筛选,确定出待定位设备所处的目标范围。由于设备点云数据相对查询图像而言,一方面视野更大,另一方面还包含周围环境内大量空间点的深度信息。因此基于设备点云数据可以获得待定位设备周围更为丰富的空间信息,可以更好的区分出相似的物体。在此基础上,可以准确确定出待定位设备在实际所处的位置范围。最后根据查询图像,在待定位设备所处位置范围内进行样本图像的精确匹配,可以实现对待定位设备在相似场景中的精确定位,从而提高在相似场景中的定位精度。
作为本申请的一个可选实施例,在确定出与查询图像匹配的目标图像之后,还可以根据查询图像和模板图像,确定出待定位设备的位姿信息。
在本申请实施例中,可以根据实际需求来选择是否解析待定位设备的位姿信息。
作为本申请的一个可选实施例,视觉定位设备中设置有特征地图。特征地图内包含有空间区域内的多个位置点,以及各个位置点分别关联的样本图像,还包含各个位置点分别关联的三维点云数据。
在第一方面的第一种可能的实现方式中,根据查询图像和设备点云数据,确定出待定位设备所处的目标范围,包括:
先确定出与查询图像匹配的若干个相匹配的位置范围,再基于设备点云数据对各个位置范围的三维点云数据进行点云匹配,确定出与设备点云数据匹配的目标范围。
在本申请实施例中,首先进行粗匹配,确定出待定位设备可能所处的一个或多个位置范围,从而实现对待定位设备的粗定位。再利用待定位设备提供的设备点云数据,对这些可能的位置范围进行二次筛选。由于设备点云数据可以获得待定位设备周围更为丰富的空间信息,可以更好的区分出相似的物体。因此在此基础上进行位置范围的筛选,可以准确确定出待定位设备在实际所处的目标范围。
作为本申请的一个实施例,每个位置范围内,均包含一个或多个位置点。
在第一方面的第二种可能的实现方式中,确定出与查询图像匹配的若干个相匹配的位置范围,包括:
先从预设的样本图像中查找出与查询图像相似的若干张相似图像,再对查找出的所有相似图像进行图像聚类,得到若干种聚类结果,并确定出每种聚类结果分别对应的位置范围。
本申请实施例提供了一种基于图像聚类来进行位置范围划分的方案,此时确定出的位置范围的大小和形状等,均是由实际相似图像的情况决定的,即是对实际图像查找情况的自适应位置范围划分。因此本申请实施例对可能的位置范围具有更强的自适应能力,对位置范围的划分更为精准灵活,不容易遗漏可能的位置点,从而使得本申请实施例的定位准确度更高。
在第一方面的第三种可能的实现方式中,从预设的样本图像中查找出与查询图像相似的若干张相似图像,包括:
基于查询图像对预设的样本图像进行图像检索,得到若干张相似图像。
通过图像检索的方式进行相似图像的查找,可以提升对相似图像的查找效率。其中,可以将图像检索结果中匹配度最高的前N张样本图像作为相似图像。
在第一方面的第四种可能的实现方式中,获取待定位设备的设备点云数据,包括:
接收待定位设备发送的设备点云数据。或者,
接收待定位设备发送的视频数据和惯性测量单元数据,并对视频数据和惯性测量单元数据进行处理,得到设备点云数据。
在本申请实施例中,设备点云数据可以是由待定位设备主动解析出来并发送给视觉定位设备,也可以是由待定位设备采集相关的视频数据和惯性测量单元数据后上传,再由视觉定位设备对视频数据和惯性测量单元数据进行处理,得到设备点云数据。因此可以适应于各种应用场景下的实际需求。
在第一方面的第五种可能的实现方式中,获取待定位设备所处位置点的查询图像。获取待定位设备的设备点云数据,包括:
接收待定位设备发送的视频数据和惯性测量单元数据,并对视频数据和惯性测量单元数据进行处理,得到设备点云数据。
提取视频数据中最新的图像帧作为查询图像。
在本申请实施例中,可以将视频数据中最新的图像帧作为查询图像,此时对于用户而言,在已有视频数据的情况下,可以减少采集查询图像的工作量,从而提高定位效率。
在第一方面的第六种可能的实现方式中,设备点云数据内包含:由待定位设备在最近预设时长内采集的三维点云数据。
在本申请实施例中,可以通过采集时间的方式来设定所采集的设备点云数据实际包含的内容。
本申请实施例的第二方面提供了一种视觉定位***,包括:上述第一方面任一项的方法中的视觉定位设备和待定位设备。
在获取待定位设备所处位置点的查询图像。获取待定位设备的设备点云数据之前,还包括:
待定位设备获取自身所处位置点的查询图像,以及在最近预设时长内采集的三维点云数据,并将在最近预设时长内采集的三维点云数据作为设备点云数据。
待定位设备将查询图像和设备点云数据发送至视觉定位设备。
获取待定位设备所处位置点的查询图像。获取待定位设备的设备点云数据,包括:
视觉定位设备接收查询图像和设备点云数据。
本申请实施例的第三方面提供了一种视觉定位装置,包括:
图像获取模块,用于获取待定位设备所处位置点的查询图像。
点云获取模块,用于获取待定位设备的设备点云数据,设备点云数据内包含待定位设备所处位置点的三维点云数据。
范围确定模块,用于根据查询图像和设备点云数据,确定出待定位设备所处的目标范围。
位置确定模块,用于基于查询图像对目标范围关联的样本图像进行图像匹配,确定出与查询图像匹配的目标图像,并基于目标图像关联的位置信息确定出待定位设备的位置信息。
作为本申请的一个实施例,视觉定位装置还可以用于实现上述第一方面任一项的方法。
第四方面,本申请实施例提供一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面任一项的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面任一项的方法。
第六方面,本申请实施例提供一种芯片***,该芯片***包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面任一项所述的方法。该芯片***可以为单个芯片,或者多个芯片组成的芯片模组。
第七方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面任一项所述的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的视觉定位的一种实现原理示意图;
图2为本申请实施例提供的一个空间区域的点云图;
图3为本申请实施例提供的视觉定位方法的流程示意图;
图4为本申请实施例提供的粗定位实现方法的流程示意图;
图5为本申请实施例提供的一种地下停车场相似图像的场景示意图;
图6为本申请实施例提供的基于Ncut算法进行图像聚类的一种场景示意图;
图7为本申请实施例提供的一个位置范围的场景示意图;
图8为本申请实施例提供的基于NDT算法实现点云匹配的场景示意图;
图9为本申请实施例提供的视觉定位方法的整体流程示意图;
图10为本申请实施例提供的视觉定位装置的结构示意图;
图11为本申请实施例提供的电子设备硬件结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
以下对本申请实施例中可能涉及的概念或名词进行说明:
多个:在本申请实施例中,多个是指两个或两个以上。
视觉定位***、待定位设备和视觉定位设备:其中,待定位设备是指需要获取自身位置信息的电子设备。视觉定位设备,是对待定位设备进行定位,确定待定位设备位置信息的电子设备的统称。其中,视觉定位设备是本申请实施例提供的视觉定位方法的执行主体。视觉定位***,是指包含待定位设备和视觉定位设备的***。待定位设备和视觉定位设备可以是同一电子设备,亦可以是不同的电子设备。当待定位设备和视觉定位设备是同一电子设备时,待定位设备可以执行本申请实施例中视觉定位方法的各个步骤,以实现对自身的视觉定位。
同时,本申请实施例不对待定位设备和视觉定位设备的具体设备类型做过多限定。例如,在一些可选实施例中,待定位设备可以是虚拟现实设备(如VR眼镜)、增强显示设备(如AR眼镜)、个人电脑、手机、平板电脑或可穿戴设备等终端类的智能电子设备,而视觉定位设备则可以是服务器、超级移动个人计算机或个人电脑等具有较强数据处理能力的电子设备。例如,在用户利用手机向服务器发送定位请求以定位用户位置信息的应用场景中,服务器为视觉定位设备,手机为待定位设备。
空间区域:本申请实施例不对空间区域的大小、形状和所处地理位置等做过多限定,可由技术人员根据需求来确定。例如,在一些可选实施中,空间区域可以是室外的一些开放性区域,如一个广场、一段马路或者城市内的一片区域等。在另一些可选实施例中,空间区域也可以是一些室内区域,例如一栋建筑或者建筑内的特定区域,如建筑内的某一层或多层,或者建筑内的一个或多个房间等。又例如可以是商场、车库、酒店、产业园或火车站等室内场景。在又一些可选实施例中,空间区域的选取或设置亦可以更加灵活,例如可以根据需要设置一些空间区域的边界确定规则,并以确定出的边界来划分出空间区域。此时则可以不以室内或室外的维度来划分空间区域。例如,可以设定空间内一个固定点为圆心,并设置在圆心预设半径内范围内包含的区域作为本申请实施例的空间区域。此时的圆心可以为真实世界任意位置处的一个空间点,例如可以是室内一个物体上的点,亦可以是室外一个雕塑上的一个点。
视觉定位是一种利用图像来实现定位的技术,例如应用较广的视觉定位***(Visual Positioning System/Service,VPS)技术。可以参考图1,是本申请实施例提供的视觉定位的一种实现原理示意图。在视觉定位中,技术人员首先会利用同步定位与建图(Simultaneous Localization and Mapping,SLAM)等技术针对一些空间区域来构建特征地图,并将特征地图存储在云端的视觉定位设备中。其中,特征地图中包含空间区域内不同位置点各自对应的三维点云数据(以下将三维点云数据简称为点云数据)和样本图像。在此基础上,用户可以使用待定位设备来拍摄一张自身所处位置处的照片,并将该照片作为查询(query)图像发送至视觉定位设备。视觉定位设备在接收到查询图像后,将查询图像在特征地图中的样本图像中进行图像检索,匹配出最相似的样本图像。由于样本图像在空间区域内的位置是已知的(特征地图内会记录),因此可以根据匹配出的样本图像,来确地出查询图像实际在空间区域内对应的位置信息。至此可以完成基于视觉定位的位置信息确定。
在确定出待定位设备位置信息的基础上,根据实际应用的需求,视觉定位还可以继续确定出待定位设备的位姿信息。此时可以继续参考图1,视觉定位设备继续提取查询图像的2维特征点。同时基于云端特征地图中样本图像的2维特征点与三维点云中的3维特征点的关联关系,确定出最相似的样本图像所关联的3维特征点数据。再将查询图像的2维特征点与确定出的3维特征点数据进行匹配,并计算出待定位设备在空间区域内的实际位姿信息。同时,还可以根据需要确定出位姿信息的置信度数据。
由于在构建空间区域的特征地图的时候,样本图像拍摄地点的位置信息是已知数据,且非常准确。因此视觉定位通过图像匹配的方式来定位,理论上可以实现较高精度的定位。从而使得视觉定位可以广泛应用于各种室内或室外的定位场景。同时视觉定位还可以获取到设备位置信息的位姿信息,这使得视觉定位也十分适合应用于虚拟现实、增强现实以及元宇宙等领域。通过视觉定位技术,用户在虚拟现实、增强现实以及元宇宙等领域中,可以获得极佳的沉浸式操作体验。
由上述对视觉定位的说明可知,视觉定位的定位精度与对查询图像的匹配准确度有着重要的关系。当对查询图像的匹配准确度较低时,会使得视觉定位设备匹配出的样本图像可信度下降。此时基于低可信度的样本图像的位置信息所确定出的查询图像的位置信息,其准确性也会随之下降。实际应用中,当空间区域内包含具有相似或重复物体的相似场景时,空间区域的特征地图中也会包含大量具有相似物体的样本图像。此时若用户处于相似场景中,且其上传的查询图像包含这些相似或重复的物体,视觉定位设备将难以区分这些相似或重复的物体,从而会导致视觉定位设备对查询图像的匹配难度增大,使得匹配的准确度下降。因此会导致视觉定位的定位精度出现明显下降,甚至可能出现无法定位的情况。
以一实例进行举例说明,假设空间区域为建筑物A,且建筑物A内有包含大量相同柱体的地下停车场(此时地下停车场即为相似场景)。在构建特征地图时,对地下停车场拍摄的样本图像中,许多样本图像内都会包含这些相同或相似的柱体。从而使得最终得到的特征地图中,有大量包含柱体的相似样本图像。此时若用户身处地下停车场内,通过手机(即待定位设备)拍摄了一张包含柱体的照片并作为查询图像上传至服务器(即视觉定位设备)。由于特征地图中包含柱体的样本图像数量很多,导致服务器在对查询图像进行匹配时匹配的难度上升,匹配准确度下降。此时匹配出的样本图像,很有可能是地下停车场内其他位置处拍摄的包含柱体的图像。从而导致对用户真实位置的定位则会变得不准确,精度下降。
为了提高视觉定位在相似场景下的定位精度,本申请实施例的视觉定位设备会获取待定位设备的查询图像,以及包含待定位设备当前所处位置点三维点云数据的设备点云数据。在此基础上,视觉定位设备首先基于查询图像和设备点云数据,确定待定位设备实际所处的位置范围。最后基于查询图像,对特征地图在这个位置范围内样本图像进行图像匹配,从而精确确定出匹配的目标图像。此时根据目标图像的位置信息,即可确定出待定位设备的位置信息实现对待定位设备的定位。
在本申请实施例中,考虑到相似场景内可能会有大量相似的样本图像,因此首先进行粗匹配,利用待定位设备提供的设备点云数据,对待定位设备可能的位置范围进行筛选,确定出待定位设备所处的位置范围。由于设备点云数据相对查询图像而言,一方面视野更大,另一方面还包含周围环境内大量空间点的深度信息。因此基于设备点云数据可以获得待定位设备周围更为丰富的空间信息,可以更好的区分出相似的物体。在此基础上进行位置范围的筛选,可以准确确定出待定位设备在实际所处的位置范围。最后根据查询图像,在待定位设备所处位置范围内进行样本图像的精确匹配,可以实现对待定位设备在相似场景中的精确定位,从而提高在相似场景中的定位精度。
为了说明本申请所述的技术方案,下面以待定位设备亦是终端设备,视觉定位设备是云端服务器(以下简称为云端)为例,通过具体实施例来进行说明。根据实际应用中视觉定位的操作时序,视觉定位可分为两个阶段:构建地图和视觉定位,详述如下:
阶段一、构建地图:
在进行视觉定位之前,技术人员首先需要构建或者获取空间区域的特征地图(亦可称为视觉地图)。以构建特征地图为例,本申请实施例不对特征地图的具体构建方法做过多限定,可由技术人员自行选取或设定。例如在一些可选实施例中,可以利用SLAM来构建特征地图。此时可由技术人员或者由负责构建地图的电子设备(如可移动机器人),在空间区域的多个位置点处进行测量,即拍摄样本图像(此时的样本图像可以是拍摄的照片,亦可以是拍摄的视频中的图像帧),并采集位置点周围的点云数据。从而得到包含空间区域点云图和样本图像的特征地图。
由上述说明可知,本申请实施例中的特征地图,至少包含空间区域内多个位置点,以及各个位置点分别关联的样本图像,和各个位置点分别关联的点云数据。其中,当采用SLAM来构建特征地图时,特征地图中的三维点云数据,亦可称为SLAM点云数据。
考虑到实际应用中拍摄时的拍摄角度、光线和天气等都可能会影响最终拍摄出的图像的情况。因此对于每个位置点而言,可以选择拍摄多张样本图像,以提高后续图像查询和匹配时的效果。此时对于单个位置点而言,可以关联有多张样本图像。同时,在获取到各个位置点的点云数据后,可以得到由这些点云数据构成的空间区域的点云图。因此,特征地图亦可以描述为:包含空间区域的点云图,以及空间区域内多个位置点分别关联的样本图像。可以参考图2,是本申请实施例提供的一个示例空间区域的点云图示意图。
在完成对特征地图的构建后,可以将特征地图存储于云端,以供云端使用。
应当理解地:
1、在本申请实施例中,空间区域内各个位置点的位置信息均是已知且准确的,因此对于在各个位置点拍摄的样本图像而言,其位置信息也属于已知数据。这些位置点的位置信息存储方式此处不做过多限定,例如可以存储与特征地图之中,亦可以选择与特征地图关联存在,例如作为对特征地图的标注信息进行存储等。
2、本申请实施例不对在空间区域内具体测量的位置点数量做过多限定,可由技术人员自行设定。其中,选择的位置点越多,位置点越密集,理论上基于特征地图进行定位的最高精确越高。反之,选择的位置点越少,位置点越稀疏,此时基于特征地图进行定位的最高精确则越低。
3、实际应用中,在特征地图初始构建完成后,技术人员还可以根据实际需求来更新特征地图,以完善或扩充空间区域的特征地图。对特征地图的更新操作与构建操作的原理相同,因此不予赘述。在已有一个特征地图的基础上,对特征地图的更新操作,既可以是发生在阶段二:视觉定位之前或与阶段二同时进行,此处不做限定。
阶段二、视觉定位:
图3示出了本申请实施例一提供的,在阶段二中视觉定位方法的实现流程图,详述如下:
S201,终端设备获取设备点云数据以及当前位置点的图像,并将获取到的图像作为查询图像,将查询图像和设备点云数据发送至云端。设备点云数据内包含终端设备当前位置点的三维点云数据。
在云端已有空间区域特征地图的基础上,用户在使用终端设备的过程中若需要定位,一方面,可以先获取当前位置点的图像,并将该图像作为查询图像发送至云端。其中,对查询图像的获取方式,可根据实际应用情况确定。例如在一些实施例中,用户可以利用主设备对当前所处位置点(即当前位置点)任意方向拍摄照片,并将该照片作为查询图像。此时终端设备可以通过拍摄照片的方式来获取查询图像。在另一些实施例中,也可以利用终端设备以外的其他电子设备或者图像采集硬件,来拍摄终端设备当前位置点任意方向的照片。此时终端设备可以通过接收图像的方式来获取查询图像。再又一些实施例中,终端设备亦可以选择本地存储的图像作为查询图像。此时终端设备可以通过读取本地图像的方式来获取查询图像。
另一方面,为了实现定位,终端设备还可以获取包含当前位置点的点云数据的设备点云数据,并将设备点云数据发送至云端。该设备点云数据用于云端进行点云数据的匹配,以区分出相似场景中包含相同或相似物体的不同位置范围。
其中应当说明地,设备点云数据中还可以包含终端设备当前位置点以外其他位置点的点云数据。设备点云数据内包含的具体内容,可由技术人员根据实际需求设定,此处不做过多限定。例如在一些可选实施例中,设备点云数据可以设置为仅包含终端设备当前位置点的点云数据,此时终端设备获取当前位置点的点云数据即可。而在另一些可选实施例中,设备点云数据亦可以设置为包含最近获取到的n个位置点的点云数据,或者设置为包含距离当前时刻最近的预设时长范围内的所有点云数据。其中,n为任意大于1的整数。
另外,本申请实施例亦不对设备点云数据的获取方式做过多限定,具体可根据实际应用情况确定。例如,在一些实施例中,可以是由终端设备自行对环境进行采集得到设备点云数据。在另一些实施例中,亦可以是由终端设备以外的其他电子设备或者点云采集硬件,采集设备点云数据并发送至终端设备。再又一些实施例中,终端设备亦可以选择使用本地存储的设备点云数据。
作为本申请的一个可选实施例,S201中对设备点云数据的获取操作,可以替换为:终端设备获取在距离当前时刻最近的预设时长内采集的三维点云数据,并将获取到的三维点云数据作为设备点云数据。
由于此时采集的三维点云数据中包含当前时刻采集的当前位置点的三维点云数据,因此可以作为设备点云数据。其中,预设时长的具体值此处不予限定,可由技术人员根据实际需求设定。例如可以设置为10秒至60秒内的任意值,如可以设置为30秒,此时终端设备则可以将在近30秒内采集的三维点云数据作为设备点云数据。
应当理解地,在设置设备点云数据包含的具体内容时,设置设备点云数据包含的内容越多(例如包含更多位置点处的点云数据,或者包含更长时长采集的点云数据),其所包含的环境信息量也越大。一方面,此时对终端设备的设备点云数据采集和处理的要求越高,同时对云端处理设备点云数据的要求也越高。但另一方面,由于包含的环境信息量更大,因此后续利用设备点云数据进行数据匹配区分不同位置范围时,匹配的精度也会越高。反之当设置设备点云数据包含的内容越少,其所包含的环境信息量也越小。此时对终端设备和云端的要求均会有所降低。因此实际应用中,可以根据实际对终端设备和云端的要求,以及对后续点云数据匹配的精度要求,来设置实际所需设备点云数据包含的内容。
S202,云端获取终端设备的查询图像以及设备点云数据,并基于查询图像对特征地图进行位置匹配,得到若干个相匹配的位置范围。
云端设备在接收到终端设备发送的查询图像和设备点云数据后,首先可以基于查询图像来对终端设备进行粗定位,即根据查询图像确定出终端设备在空间区域内可能所处的一个或多个位置范围。其中应当说明地,在本申请实施例中,位置范围是指由空间区域内一个或多个位置点所构成的范围。即单个位置范围中可以仅包含一个位置点,也可以同时包含多个位置点。
本申请实施例不对粗定位的具体方法做过多限定,可由技术人员自行设定。例如,在一些可选实施例中,可以利用查询图像对特征地图内的样本图像进行图像检索(ImageRetrieval),确定出匹配的N张相似图像(即匹配度或相似度最高的前N张样本图像)。再将这N张相似图像所对应的位置点,均作为对应的位置范围,从而得到M个相匹配的位置范围。其中,N为任意正整数。由于N张相似图像中可能会存在多张相似图像同属一个位置点的情况,使得N张相似图像对应的位置点可能会存在部分位置点重复的情况,因此实际应用中M为小于或等于N的正整数。
作为本申请的一个可选实施例,参考图4,是本申请实施例提供的一种粗定位实现方法的流程示意图。在本申请实施例中,S202中的“基于查询图像对特征地图进行位置匹配,得到若干个相匹配的位置范围”可以被替换为:S301和S302。
S301,云端基于查询图像对特征地图内的样本图像进行图像检索,得到查询图像对应的若干张相似图像。
为了实现对终端设备的粗定位,本申请实施例中首先可以根据查询图像进行图像检索,以从特征地图内的样本图像中查找出与查询图像相似的图像(即本申请实施例中的相似图像)。其中,考虑到特征地图内包含的样本图像数量一般较多,因此本申请实施例采用了图像检索技术来实现对相似图像的查找,以提升对相似图像的查找效率。理论上亦可以采用图像检索技术以外的其他技术或算法来实现对相似图像的查找,因此,实际应用中可根据实际需求来设定对相似图像的查找方法。其中,本申请实施例不对查询出的相似图像的具体数量N做过多限定,可根据实际需求设定。例如,在一些可选实施例中,可以设定一个具体数值作为N的值,例如可以是20至80之间的任意值,如N可以是50。而在另一些可选实施例中,亦可以设定一个匹配度阈值,将所有与查询图像的匹配度高于匹配度阈值的样本图像作为相似图像。此时N的值可以是一个非固定的数值,根据每次具体执行的情况不同而随之变化。
S302,云端对检索出的若干张相似图像进行图像聚类,得到若干种聚类结果,并确定出每种聚类结果分别对应的位置范围。
在得到N张相似图像后,理论上每张相似图像对应的位置点,都有一定可能是终端设备当前所处的位置点。但考虑到一方面,针对同一位置点而言,在构建特征地图时拍摄样本图像数量往往不止一张,而同一位置点的样本图像之间的相似度一般都很高。另一方面,相近位置点的样本图像之间的相似度一般也很高。再一方面,由于相似场景内包含一些相似或重复的物体,因此对于处于不同位置点的这些相似或重复物体拍摄的样本图像,样本图像内包含的内容相似度也很高。因此实际应用中,N张相似图像对应的位置点一般都小于N,且其中很多相似图像对应的位置点都会非常接近。因此,若以单张相似图像为单位来确定位置范围,可能会导致后续对位置范围的筛选工作量和难度加大,使得最终定位的精度受到影响。
基于上述情况,本申请实施例在得到N张相似图像后,云端继续对这些相似图像进行图像聚类处理,以将其中关联的实际位置点相同或相近的相似图像归类至一起。其中,每种聚类结果中的样本图像在特征地图内映射的位置范围,即为S203中相匹配的位置范围。例如,聚类结果内包含一张或多张样本图像,这些样本图像在空间区域内对应的位置点的集合,可以作为一个位置范围处理。又例如,当聚类结果内包含多张样本图像时,亦可以将这些样本图像在空间区域内对应的位置点中最边缘的位置点作为位置范围的边界,划分出一个包含该聚类结果下所有位置点的位置范围。此时位置范围内可以包含比聚类结果下关联的位置点数量更多的位置点。例如假设某一聚类结果下包含10张样本图像,对应着8个位置点,此时以这8个位置点中最边缘的位置点作为边界来划分位置范围,对应的位置范围内可以包含该8个位置点以外的其他位置点。因此在本申请实施例中,每种聚类结果分别对应一个位置范围。本申请实施例不对具体使用的图像聚类算法做过多限定,可由技术人员根据需求自行设定。例如,可以采用层次聚类算法(Hierar Chical Methods)或者密度聚类算法(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)等,亦可以采用如归一化切割算法(normalized cut,Ncut)等会参考图像之间共视信息的图分割聚类算法。
作为本申请的一个实施例,假设相似场景为地下停车场,其中包含多根相同的柱子,且部分柱子上绘制有1、2、3和4等数字用以区分。由于拍摄样本图像的时间、角度等不同,导致最终得到的同一位置点样本图像的内容存在一定差异。假设S301对地下停车场进行图像检索后,得到20张相似图像,此时可以参考图5,是本申请实施例提供的一种地下停车场相似图像的场景示意图。在图5的基础上,作为本申请中进行图像聚类的一个具体实施例,此时云端可以对图5中的相似图像(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)、(j)、(k)、(l)、(m)、(n)、(o)、(p)、(q)、(r)、(s)和(t)进行图像聚类。此时通过图像聚类可以得到:
柱子1对应的第一种聚类结果,其中包含:相似图像(a)、(c)、(e)、(h)、(j)、(k)、(m)、(q)和(t)。
柱子2对应的第二种聚类结果,其中包含:相似图像(b)、(f)、(n)和(s)。
柱子3对应的第三种聚类结果,其中包含:相似图像(d)、(g)、(o)和(r)。
柱子4对应的第三种聚类结果,其中包含:相似图像(i)、(l)和(p)。
作为本申请的一个可选实施例,在本申请实施例中,Ncut将所有相似图像中的每个相似图像看作是图的节点V,将节点间的相似度(即两个节点支架共视3维点云中包含的点的数量)量化作为相应顶点连接边E的权值,这样可以得到一个基于相似度的无向加权图,该无向加权图可表示为G(V,E),于是聚类问题就可以转化为图的划分问题。基于图论的最优划分准则是使划分成的子图内部相似度最大,子图之间的相似度最小。因此对相似图像的划分过程中,可以将所划分出的集合内是否存在任意两个节点没有直接连接,来作为是否继续划分的判断条件。若集合内存在两个节点之间没有直接连接,则可以继续对集合内的相似图像进行分组。参考图6,是本申请实施例基于Ncut算法进行图像聚类的一种场景示意图。在本申请实施例中,假设共有节点1、节点2、节点3、节点4、节点5、节点6、节点7和8共8个节点(即8张相似图像)。在对相似图像进行划分时,依据单个集合内的节点两两之间均有直接连接规则进行划分,可以得到:集合1、集合2和集合3(即三个聚类结果)。其中集合1内包含节点1、节点2和节点3,集合2内包含节点4和节点5,集合3内包含节点6、节点7和节点8。
S303,云端从特征地图中获取每种聚类结果各自对应的三维点云数据。
在完成图像聚类确定出对应的一个或多个位置范围基础上,云端可以再从特征地图中抽取出各个位置范围内包含的三维点云数据。为了与上述设备点云区分,本申请实施例中可以将各个位置范围对应的三维点云数据称为局部点云数据或者分类点云数据。
应当理解地,在本申请实施例中S303属于可选的步骤,在另一些可选实施例中亦可以选择不抽取局部点云数据。例如,在另一些可选实施例中,亦可以在特征地图里面划出各个位置范围对应的局部点云数据。
在本申请实施例中,云端先从所有样本图像中查找出多张相似的图像,从而实现了对终端设备所有可能匹配的位置点(即各个相似图像对应的位置点)的确认。云端再对相似图像进行图像聚类,以区分出相似场景内相似图像对应的各个位置范围,从而确定出终端设备在空间区域内可能所处的局部位置范围。因此本申请实施例可以实现对终端设备准确有效且快速的粗定位。
以一实例对S202进行示例说明,在图2所示实施例的基础上,可以参考图7,是本申请实施例提供的一个匹配出的位置范围的场景示意图。在本申请实施例中,假设匹配出4个位置范围,分别为:位置范围1、位置范围2、位置范围3和位置范围4。由于匹配过程中每个位置范围内包含的位置点的数量不同,导致实际应用中,各个位置范围的大小和形状也会有所差异。
应当说明地,在本申请实施例中,查询图像和设备点云数据均是为了帮助云端实现对终端设备的准确定位。在此基础上,实际应用中本申请实施例不限定终端设备将查询图像和设备点云数据发送至云端的方式做过多限定。在一些可选实施例中,终端设备可以通过上述S201的方式将查询图像和设备点云数据发送至云端。而在另一些可选实施例中,对于设备点云数据,亦可以是终端设备将包含三维点云数据的其他数据发送至云端,再由云端自行从接收到的数据中提取出所需的三维点云数据。例如,可以终端设备是将在预设时间段内采集的包含深度信息的视频数据,以及视频数据关联的惯性测量单元(InertialMeasurement Unit,IMU)数据发送至云端。由云端根据视频数据和惯性测量单元数据来提取出所需的三维点云数据。同样,对于查询图像,亦可以是终端设备将包含查询图像的其他数据发送至云端,再由云端自行从接收到的数据中提取出所需的查询图像。例如,云端在接收到视频数据时,可以将视频数据中最新的图像帧作为查询图像处理,从而使得终端设备可以不用单独发送一张查询图像。基于这一原理,本申请实施例S202的操作中,云端亦可以不是接收终端设备发送的查询图像和设备点云数据,而是通过对终端设备发送的相关数据进行提取等处理后,得到所需的查询图像及设备点云数据。
S203,云端基于设备点云数据,对各个位置范围的三维点云数据分别进行点云匹配,筛选出其中匹配度最高的目标范围。
本申请实施例中,云端在确定出终端设备可能所处的各个位置范围后,可以继续将设备点云数据与各个位置范围对应的局部点云数据进行点云匹配。相比于查询图像,设备点云数据的视野更大,可以包含更多查询图像视野以外的信息,同时设备点云数据中还包含终端设备周围环境内大量空间点的深度信息。因此相较于查询图像,设备点云数据包含更为丰富的空间信息。利用设备点云数据来匹配各个局部点云数据,则可以有效区分出相似场景内的包含相似或重复物体的局部区域(即位置范围),实现粗定位后的定位范围筛选,以缩限范围。
其中,本申请实施例不对具体使用的点云匹配方法做过多限定,可由技术人员自行选取或设定。例如,在一些可选实施例中,可以使用正态分布变换(NormalDistributions Transform,NDT)算法、迭代最近点(Iterative Closest Point,ICP)算法或者标准迭代最近点(Normal Iterative Closest Point,NICP)等算法实现点云匹配。
作为本申请的一个可选实施例,可以参考图8,是本申请实施例提供的一种基于NDT算法来实现点云匹配的场景示意图。在本申请实施例中,云端利用NDT算法来将设备点云数据分别与各个局部点云数据分别进行点云匹配,计算出设备点云数据与各个局部点云数据的中值误差,以评估设备点云数据与各个局部点云数据的一致性。再从中选取出中值误差最小的局部点云数据,来作为匹配度最高的局部点云数据。此时匹配度最高的局部点云数据对应的位置范围,即为目标范围。
S204,云端将查询图像与目标范围关联的样本图像进行图像匹配,确定出相匹配的目标图像。
在确定出终端设备所处的位置范围后,即可开始对位置范围内的精确定位。此时云端可以将查询图像与目标范围关联的样本图像一一进行图像匹配,并筛选出其中匹配度最高的样本图像作为目标图像。其中,进行图像匹配的样本图像,既可以是目标范围关联的所有相似图像,亦可以是目标范围关联的所有样本图像(其中包含目标范围关联的所有相似图像),此处不做限定。
其中,本申请实施例不对具体使用的图像匹配方法做过多限定,可由技术人员自行设定。例如在一些可选实施例中,可以使用基于2维特征点的图像匹配算法来实现图像匹配。在本申请实施例中,对于特征地图内的样本图像而言,可以选择在构建特征地图的同时,对各个样本图像进行2维特征点提取并存储。此时S204中可以从特征地图中读取到目标范围关联的样本图像的2维特征点数据。或者,对于特征地图内的样本图像而言,亦可以选择在S204操作时,再提取目标范围关联的样本图像的2维特征点数据。对于查询图像而言,云端则可以进行2维特征点数据的提取。再得到查询图像的2维特征点数据和目标范围关联的样本图像的2维特征点数据后,云端可以进行图像间的2维特征点数据匹配,并确定出2维特征点数据匹配度最高的一个样本数据作为目标图像。其中,2维特征点数据是指图像的计算机视觉特征点数据,具体可根据实际应用情况确定2维特征点数据所包含的内容。例如,2维特征点数据可以是技术人员手工标注的特征点,或者是图像角点,亦或者是人工智能(Artificial Intelligence,AI)标注的特征点等。
S205,云端根据目标图像的位置信息,确定出查询图像对应的位置信息和位姿信息,并下发至终端设备。
在确定出目标图像后,根据目标图像对应的位置信息即可确定出查询图像对应的位置信息(即终端设备对应的位置信息)。应当说明地,在本申请实施例中,位置信息可以是世界坐标系内的位置信息,亦可以是其他自定义坐标系内的位置信息。例如可以以空间区域内某个点作为原点构建三维空间坐标系,此时空间区域内任意位置点的位置信息,均可以该三维空间坐标系的坐标来表示。同时,位置信息可以是以坐标的形式记录,亦可以是以坐标以外的其他形式记录。例如可以以某一物体与其他物***置关系的形式来记录位置信息,如通过“位置点C在物体A和物体B的中间位置处”来记录位置点C的位置信息。此处不做限定。
在确定位置信息的同时,云端还可以计算终端设备的位姿信息。其中,本申请实施例不对位姿信息的计算方法做过多限定,可由技术人员自行设定,例如在一些实施例中,可以采用N点透视(Perspective-n-Points,PNP)的方法来实现位姿信息计算。
在得到位置信息和位姿信息后,云端可以将两个信息下发给终端设备。应当说明地,实际应用中,可以根据需求不同而确定每次定位具体所需查询的信息。例如,可以同时查询位置信息和位姿信息,也可以不进行位姿计算,即无需确定出对应的位姿信息已无需下发位姿信息。
S206,终端设备接收云端下发的位置信息和位姿信息,完成此次定位。
终端设备在接收到云端下发的位置信息和位姿信息后(如果无需位姿信息,则接收到位置信息即可),实现此次视觉定位。
作为本申请的一个具体实施例,可以参考图9,是本申请实施例提供的视觉定位方法的整体流程示意图。在本申请实施例中,终端设备内设置有相机(camera)和IMU,且利用相机和IMU基于SLAM技术采集设备点云数据。即获取到的设备点云数据属于SLAM点云数据。同时,终端设备采用获取在距离当前时刻最近的30秒内采集的三维点云数据作为设备点云数据。云端内预置有空间区域对应的特征地图。详述如下:
终端设备将查询图像和近30秒内的设备点云数据发送至云端。
云端首先基于特征地图对查询图像进行图像检索,得到N张相似图像。
云端对N张相似图像进行图像聚类,得到H个聚类结果。其中,N和M均为正整数,且N大于或等于M。
云端从特征地图中抽取出各个聚类结果对应的局部点云数据。
云端将设备点云数据分别与各个局部点云数据进行点云匹配,并将匹配度最高的局部点云数据作为目标点云数据(即目标范围对应的局部点云数据)。
云端提取查询图像的2维特征点数据,并利用查询图像的2维特征点数据,对目标点云数据关联的各个样本图像进行2维特征点数据的匹配,确定出匹配度最高的目标图像。
云端基于目标图像,确定出终端设备的位置信息,并进行位姿计算确定出对应的位姿信息,再将位置信息和位姿信息下发止终端设备。
本申请实施例中各个步骤的实现细节、原理及效果等,均可参考图3至图8等相关实施例的说明,此处不予赘述。
在本申请实施例中,考虑到相似场景内可能会有大量相似的样本图像,因此首先进行粗匹配,确定出待定位设备可能所处的一个或多个位置范围,从而实现对待定位设备的粗定位。再利用待定位设备提供的设备点云数据,对这些可能的位置范围进行二次筛选。由于设备点云数据相对查询图像而言,一方面视野更大,另一方面还包含周围环境内大量空间点的深度信息。因此基于设备点云数据可以获得待定位设备周围更为丰富的空间信息,可以更好的区分出相似的物体。在此基础上进行位置范围的筛选,可以准确确定出待定位设备在实际所处的位置范围。最后根据查询图像,在待定位设备所处位置范围内进行样本图像的精确匹配,可以实现对待定位设备在相似场景中的精确定位,从而提高在相似场景中的定位精度。
另外,在本申请实施例中,可以利用图像聚类来实现对位置范围的确定。此时确定出的位置范围的大小和形状等,均是由实际相似图像的情况决定的,即是对实际图像检索情况的自适应位置范围划分。因此本申请实施例对可能的位置范围具有更强的自适应能力,对位置范围的划分更为精准灵活,不容易遗漏可能的位置点,从而使得本申请实施例的定位准确度更高。
同时在本申请实施例中,通过先粗定位出一个或多个位置范围,再筛选出其中最匹配的一个目标位置范围,再从该目标范围内进行精准定位的方式。使得本申请实施例实际基于查询图像所需进行特征点匹配的样本图像范围可缩限至最终的目标范围内,即从检索出的相似图像中,主动排除了大量相似图像。相对从相似图像中进行多次特征点匹配以确定出最终的目标图像的方式而言,本申请实施例可以剔除大量无关的相似图像,从而减少大量图像特征点匹配的工作。因此本申请实施例可以有效减少视觉定位的耗时,提高视觉定位速度。
对应于上文实施例所述的视觉定位方法,图10示出了本申请实施例提供的视觉定位装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图10,该视觉定位装置包括:
图像获取模块1001,用于获取待定位设备所处位置点的查询图像。
点云获取模块1002,用于获取待定位设备的设备点云数据,设备点云数据内包含待定位设备所处位置点的三维点云数据。
范围确定模块1003,用于根据查询图像和设备点云数据,确定出待定位设备所处的目标范围。
位置确定模块1004,用于基于查询图像对目标范围关联的样本图像进行图像匹配,确定出与查询图像匹配的目标图像,并基于目标图像关联的位置信息确定出待定位设备的位置信息。
作为本申请的一个实施例,该视觉定位装置还可以实现上述任意方法实施例中视觉定位设备负责的步骤。本申请实施例提供的视觉定位装置中各模块实现各自功能的过程,具体可参考前述图3所示实施例以及其他相关方法实施例的描述,此处不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本申请实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的视觉定位方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
例如,所述电子设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线***上进行通信的其它设备以及下一代通信***,例如,5G网络中的电子设备或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的电子设备等。
作为示例而非限定,当所述电子设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
下文以电子设备是手机为例。
手机可以包括处理器,外部存储器接口,内部存储器,通用串行总线(universalserial bus,USB)接口,充电管理模块,电源管理模块,电池,天线,天线,移动通信模块,无线通信模块,音频模块,扬声器,受话器,麦克风,耳机接口,传感器模块,按键,马达,指示器,摄像头,显示屏,以及SIM卡接口等。其中传感器模块可以包括陀螺仪传感器,加速度传感器,气压传感器,磁传感器,环境光传感器,距离传感器,接近光传感器、指纹传感器,温度传感器,触摸传感器(当然,手机还可以包括其它传感器,比如温度传感器,压力传感器、气压传感器、骨传导传感器等)。
可以理解的是,本申请实施例示意的结构并不构成对手机的具体限定。在本申请另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
图11是本申请一实施例提供的电子设备的结构示意图。如图11所示,该实施例的电子设备11包括:至少一个处理器110(图11中仅示出一个)、存储器111,所述存储器111中存储有可在所述处理器110上运行的计算机程序112。所述处理器110执行所述计算机程序112时实现上述各个视觉定位方法实施例中的步骤,例如图3所示的步骤201至206。或者,所述处理器110执行所述计算机程序112时实现上述各装置实施例中各模块/单元的功能,例如图10所示模块1001至1004的功能。
所述电子设备11可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器110、存储器111。本领域技术人员可以理解,图11仅仅是电子设备11的示例,并不构成对电子设备11的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入发送设备、网络接入设备、总线等。
所称处理器110可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器111在一些实施例中可以是所述电子设备11的内部存储单元,例如电子设备11的硬盘或内存。所述存储器111也可以是所述电子设备11的外部存储设备,例如所述电子设备11上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器111还可以既包括所述电子设备11的内部存储单元也包括外部存储设备。所述存储器111用于存储操作***、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器111还可以用于暂时地存储已经发送或者将要发送的数据。
另外,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例还提供了一种电子设备,所述电子设备包括至少一个存储器、至少一个处理器以及存储在所述至少一个存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述电子设备实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种芯片***,所述芯片***包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述各个方法实施例中的步骤。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种视觉定位方法,其特征在于,应用于视觉定位设备,所述方法包括:
获取待定位设备所处位置点的查询图像;
获取所述待定位设备的设备点云数据,所述设备点云数据内包含所述待定位设备所处位置点的三维点云数据;
根据所述查询图像和所述设备点云数据,确定出所述待定位设备所处的目标范围;
基于所述查询图像对所述目标范围关联的样本图像进行图像匹配,确定出与所述查询图像匹配的目标图像,并基于所述目标图像关联的位置信息确定出所述待定位设备的位置信息;
其中,获取所述待定位设备的设备点云数据,包括:
接收所述待定位设备发送的所述设备点云数据;或者,
接收所述待定位设备发送的视频数据和惯性测量单元数据,并对所述视频数据和所述惯性测量单元数据进行处理,得到所述设备点云数据;
其中,所述根据所述查询图像和所述设备点云数据,确定出所述待定位设备所处的目标范围,包括:
确定出与所述查询图像匹配的多个相匹配的位置范围;
基于所述设备点云数据对各个所述位置范围的三维点云数据进行点云匹配,确定出与所述设备点云数据匹配度最高的所述目标范围。
2.根据权利要求1所述的视觉定位方法,其特征在于,所述确定出与所述查询图像匹配的多个相匹配的位置范围,包括:
从预设的样本图像中查找出与所述查询图像相似的若干张相似图像;
对查找出的所有所述相似图像进行图像聚类,得到若干种聚类结果,并确定出每种所述聚类结果分别对应的所述位置范围。
3.根据权利要求2所述的视觉定位方法,其特征在于,所述从预设的样本图像中查找出与所述查询图像相似的若干张相似图像,包括:
基于所述查询图像对所述预设的样本图像进行图像检索,得到若干张所述相似图像。
4.根据权利要求1所述的视觉定位方法,其特征在于,所述获取待定位设备所处位置点的查询图像;获取所述待定位设备的设备点云数据,包括:
接收所述待定位设备发送的视频数据和惯性测量单元数据,并对所述视频数据和所述惯性测量单元数据进行处理,得到所述设备点云数据;
提取所述视频数据中最新的图像帧作为所述查询图像。
5.根据权利要求4所述的视觉定位方法,其特征在于,所述设备点云数据内包含:由所述待定位设备在最近预设时长内采集的三维点云数据。
6.一种视觉定位***,其特征在于,包括:视觉定位设备和待定位设备;所述视觉定位设备用于执行如权利要求1至5任一项所述的视觉定位方法,所述待定位设备为权利要求1至5任一项中的所述待定位设备;
在所述获取待定位设备所处位置点的查询图像;获取所述待定位设备的设备点云数据之前,还包括:
所述待定位设备获取自身所处位置点的查询图像,以及在最近预设时长内采集的三维点云数据,并将所述在最近所述预设时长内采集的三维点云数据作为所述设备点云数据;
所述待定位设备将所述查询图像和所述设备点云数据发送至所述视觉定位设备;
所述获取待定位设备所处位置点的查询图像;获取所述待定位设备的设备点云数据,包括:
所述视觉定位设备接收所述查询图像和所述设备点云数据。
7.一种电子设备,其特征在于,所述电子设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的视觉定位方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的视觉定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211521750.4A CN116664812B (zh) | 2022-11-30 | 2022-11-30 | 一种视觉定位方法、视觉定位***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211521750.4A CN116664812B (zh) | 2022-11-30 | 2022-11-30 | 一种视觉定位方法、视觉定位***及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116664812A CN116664812A (zh) | 2023-08-29 |
CN116664812B true CN116664812B (zh) | 2024-06-07 |
Family
ID=87721218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211521750.4A Active CN116664812B (zh) | 2022-11-30 | 2022-11-30 | 一种视觉定位方法、视觉定位***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116664812B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263209A (zh) * | 2019-06-27 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110415297A (zh) * | 2019-07-12 | 2019-11-05 | 北京三快在线科技有限公司 | 定位方法、装置及无人驾驶设备 |
CN111538855A (zh) * | 2020-04-29 | 2020-08-14 | 浙江商汤科技开发有限公司 | 视觉定位方法及装置、电子设备和存储介质 |
CN111862337A (zh) * | 2019-12-18 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 视觉定位方法、装置、电子设备和计算机可读存储介质 |
CN111949816A (zh) * | 2020-06-22 | 2020-11-17 | 北京百度网讯科技有限公司 | 定位处理方法、装置、电子设备和存储介质 |
CN114359392A (zh) * | 2022-03-16 | 2022-04-15 | 荣耀终端有限公司 | 一种视觉定位方法、装置、芯片***及存储介质 |
CN114897974A (zh) * | 2022-07-15 | 2022-08-12 | 江西省智能产业技术创新研究院 | 一种目标物空间定位方法、***、存储介质及计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021121306A1 (zh) * | 2019-12-18 | 2021-06-24 | 北京嘀嘀无限科技发展有限公司 | 视觉定位方法和*** |
CN111860340B (zh) * | 2020-07-22 | 2023-09-22 | 上海科技大学 | 用于无人驾驶的三维激光雷达点云高效k-最近邻搜索算法 |
-
2022
- 2022-11-30 CN CN202211521750.4A patent/CN116664812B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263209A (zh) * | 2019-06-27 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110415297A (zh) * | 2019-07-12 | 2019-11-05 | 北京三快在线科技有限公司 | 定位方法、装置及无人驾驶设备 |
CN111862337A (zh) * | 2019-12-18 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 视觉定位方法、装置、电子设备和计算机可读存储介质 |
CN111538855A (zh) * | 2020-04-29 | 2020-08-14 | 浙江商汤科技开发有限公司 | 视觉定位方法及装置、电子设备和存储介质 |
CN111949816A (zh) * | 2020-06-22 | 2020-11-17 | 北京百度网讯科技有限公司 | 定位处理方法、装置、电子设备和存储介质 |
CN114359392A (zh) * | 2022-03-16 | 2022-04-15 | 荣耀终端有限公司 | 一种视觉定位方法、装置、芯片***及存储介质 |
CN114897974A (zh) * | 2022-07-15 | 2022-08-12 | 江西省智能产业技术创新研究院 | 一种目标物空间定位方法、***、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116664812A (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vo et al. | A survey of fingerprint-based outdoor localization | |
US10739142B2 (en) | System for determining position both indoor and outdoor | |
US9324003B2 (en) | Location of image capture device and object features in a captured image | |
JP5722502B2 (ja) | モバイルデバイスのための平面マッピングおよびトラッキング | |
US20090083275A1 (en) | Method, Apparatus and Computer Program Product for Performing a Visual Search Using Grid-Based Feature Organization | |
US20100135527A1 (en) | Image recognition algorithm, method of identifying a target image using same, and method of selecting data for transmission to a portable electronic device | |
CN103761539B (zh) | 一种基于环境特征物体的室内定位方法 | |
CN112445929B (zh) | 视觉定位方法及相关装置 | |
EP2510495A2 (en) | Matching an approximately query image against a reference image set | |
CN111833447A (zh) | 三维地图构建方法、三维地图构建装置及终端设备 | |
CN110909209B (zh) | 直播视频的搜索方法及装置、设备、服务器和存储介质 | |
CN104007817A (zh) | 具有至少一个摄像机的可穿戴信息*** | |
US20170039450A1 (en) | Identifying Entities to be Investigated Using Storefront Recognition | |
Xue et al. | A fast visual map building method using video stream for visual-based indoor localization | |
Chen et al. | Low-cost asset tracking using location-aware camera phones | |
TW202205206A (zh) | 視覺定位方法、電子設備和電腦可讀儲存介質 | |
Sui et al. | An accurate indoor localization approach using cellphone camera | |
CN116664812B (zh) | 一种视觉定位方法、视觉定位***及电子设备 | |
CN115049731B (zh) | 一种基于双目摄像头的视觉建图和定位方法 | |
CN104596509A (zh) | 一种定位方法和***、移动终端 | |
CN117460972A (zh) | 3d地图的检索方法和装置 | |
CN112598732A (zh) | 目标设备定位方法、地图构建方法及装置、介质、设备 | |
Li et al. | Vision-based indoor localization via a visual SLAM approach | |
WO2024083010A1 (zh) | 一种视觉定位方法及相关装置 | |
CN116664684B (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 |