CN117460972A - 3d地图的检索方法和装置 - Google Patents
3d地图的检索方法和装置 Download PDFInfo
- Publication number
- CN117460972A CN117460972A CN202180099018.XA CN202180099018A CN117460972A CN 117460972 A CN117460972 A CN 117460972A CN 202180099018 A CN202180099018 A CN 202180099018A CN 117460972 A CN117460972 A CN 117460972A
- Authority
- CN
- China
- Prior art keywords
- map
- data
- descriptors
- retrieval
- descriptor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 185
- 230000006837 decompression Effects 0.000 claims abstract description 200
- 230000000007 visual effect Effects 0.000 claims description 184
- 238000012545 processing Methods 0.000 claims description 102
- 238000013139 quantization Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 abstract description 13
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 71
- 239000013598 vector Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 21
- 239000000284 extract Substances 0.000 description 16
- 238000007906 compression Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 12
- 239000012634 fragment Substances 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000004807 localization Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/45—Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/487—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- 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/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/189—Recording image signals; Reproducing recorded image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Library & Information Science (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Processing Or Creating Images (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
一种3D地图的检索方法和装置,有益于提升检索性能,属于3D地图技术领域。所述3D地图的检索方法包括:获取S个3D地图描述子的二值化数据,根据检索描述子的二值化数据(S101A),在S个3D地图描述子的二值化数据中进行第i级检索,筛选得到P个3D地图描述子(S102A),对P个3D地图描述子的压缩数据进行第m级解压缩,得到P个3D地图描述子的重构数据(S103A),根据检索描述子的部分数据或全部数据,在P个3D地图描述子的重构数据中进行第j级检索,以得到Q个3D地图描述子(S104A)。可以提升检索速度,并可以有益于保证检索准确率。
Description
本申请涉及定位技术,尤其涉及一种3D地图的检索方法和装置。
虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)和混合现实(Mixed Reality,MR)技术是近年来新兴的多媒体虚拟场景技术。这一类技术可以创建虚拟现实,并将虚拟现实和真实世界叠加,产生新的可视化环境和交互体验。在这类应用中,电子设备需要确定自身在当前环境中的位姿信息,以精确的实现虚拟物体与真实场景的融合。
另一方面,在自动驾驶、自主导航、无人机自动巡检、工业机器人等应用中,车辆、无人机、机器人等载具,需要通过确定其上搭载的电子设备的位姿来确定自身在当前环境中的位姿,以进行精确的路径规划、导航、检测、操控。
针对以上应用中,需确定电子设备在当前环境中的位姿的问题,一个典型的解决方案是:电子设备从服务器或者其他设备接收所处环境的三维(3-dimension,3D)地图,再通过本地传感器采集所处环境中的视觉信息,根据采集的视觉信息在下载的3D地图中进行检索,以确定电子设备的当前位姿。
然而,原始的3D地图通常包含的数据量巨大,检索的计算量通常极大,需要消耗大量计算资源,且耗时较长,影响用户体验。
发明内容
本申请实施例提供了一种3D地图的检索方法和装置,可以提升检索性能。
第一方面,本申请实施例提供一种3D地图的检索方法,该方法可以包括:从S个3D地图描述子的压缩数据中提取S个3D地图描述子的二值化数据,S个3D地图描述子对应3D地图中的多个3D地图点。根据检索描述子的二值化数据,在S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子。检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征。对P个3D地图描述子的压缩数据进行第m级解压缩,得到P个3D地图描述子的重构数据。P个3D地图描述子的压缩数据的解压缩过程(完全解压缩过程)至少包括第m级解压缩。根据检索描述子的部分数据或全部数据,在P个3D地图描述子的重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
可见,本实施例中,根据检索描述子的二值化数据,在S个3D地图描述子的二值化数据中进行第i级检索,筛选得到P个3D地图描述子,对P个3D地图描述子的压缩数据进行第m级解压缩,得到P个3D地图描述子的重构数据,根据检索描述子的部分数据或全部数据, 在P个3D地图描述子的重构数据中进行第j级检索,以筛选出更少个数的3D地图描述子。至少两级检索中的一级检索使用压缩数据中的二值化数据,可以提升检索速度,另一级检索使用解压缩得到的重构数据,可以保证检索准确性。相较于在完全解压得到的3D地图的重构数据中进行检索,本申请实施例提供的3D地图的检索方法可以提升检索性能。换言之本申请实施例提供的3D地图的检索方法可以提升检索性能。
第j级可以是多级检索中的中间级,即j<L,或者,也可以是多级检索中的最后一级,即j=L。
一种示例,上述第m级解压缩可以是阶段性解压缩,可以理解为完全解压缩的子过程,或理解为部分解压缩。另一种示例,上述第m级解压缩可以是完全解压缩。
一种可能的设计中,Q个3D地图描述子中的N个3D地图描述子用于定位,N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,上述方法还可以包括:根据N个3D地图描述子对应的3D地图点进行定位,以得到电子设备的位姿信息。
本实施例中,当检索得到的N个3D地图描述子对应的3D地图点与检索描述子对应的地图点匹配时,可以根据N个3D地图描述子对应的3D地图点进行定位,有益于提升定位性能。
一种可能的设计中,第i级检索所采用的检索方式为基于第一距离的检索方式,第j级检索所采用的检索方式为基于第二距离的检索方式。
该第一距离可以包括汉明距离等利用二值化数据得到的距离。例如,第一距离可以是汉明距离。又例如,第一距离可以是对两个二值化数据的对应位取差值的绝对值,并将所有差值的绝对值相加得到的一种距离。基于第一距离的检索指的是通过计算第一距离,确定相关度或相似度,以筛选3D地图描述子。第二距离可以包括但不限于欧式距离、内积距离、余弦距离、曼哈顿距离等。基于第二距离的检索指的是通过计算第二距离,确定相关度或相似度,以筛选3D地图描述子。
本实施例中,基于第一距离进行检索,可以提升检索速度,基于第二距离进行检索,可以提升检索的准确性。
一种可能的设计中,该方法还可以包括:接收检索描述子,并对检索描述子进行二值化处理,以得到检索描述子的二值化数据。用于执行第一方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器(例如云服务器))可以接收其他设备发送的检索描述子。例如,用于执行第一方面所述的检索方法的执行主体接收其他电子设备采集和提取的检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的二值化数据。
一种可能的设计中,该方法还可以包括:接收所述视觉信息,从视觉信息中提取检索描述子,并对检索描述子进行二值化处理,以得到检索描述子的二值化数据;用于执行第一方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以接收其他设备发送的视觉信息,并从中提取检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的二值化数据。
一种可能的设计中,该方法还可以包括:响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中 提取所述检索描述子,对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。用于执行第一方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以采集得到所述视觉信息,并从中提取检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的二值化数据。
本申请实施例的3D地图的检索方法,可以在3D地图中对不同应用场景中的检索描述子进行检索,具有广泛的适用性。
一种可能的设计中,在N<Q的情况下,该方法还包括:对Q个3D地图描述子的压缩数据进行第k级解压缩,以得到Q个3D地图描述子的重构数据。根据检索描述子的部分数据或全部数据,在Q个3D地图描述子的重构数据中进行第r级检索,以得到N个3D地图描述子。其中,N<Q<P,P个3D地图描述子的压缩数据的解压缩过程包括第m级解压缩(阶段性解压缩)和第k级解压缩(阶段性解压缩),r和k为正整数,m<k,j<r≤L。
本实施例,根据检索描述子的二值化数据,在S个3D地图描述子的二值化数据中进行第i级检索,筛选得到P个3D地图描述子,对P个3D地图描述子的压缩数据进行第m级解压缩(阶段性解压缩),得到P个3D地图描述子的重构数据,根据检索描述子的部分数据或全部数据,在P个3D地图描述子的重构数据中进行第j级检索,以筛选出Q个3D地图描述子。之后,对Q个3D地图描述子的压缩数据进行第k级解压缩(阶段性解压缩),以得到Q个3D地图描述子的重构数据,根据检索描述子的全部数据,在Q个3D地图描述子的重构数据中进行第r级检索,以得到N个3D地图描述子,该N个3D地图描述子可以用于定位。至少三级检索中的一级检索使用压缩数据中的二值化数据,可以提升检索速度,另两级检索使用不同解压缩得到的重构数据,可以在提升检索速度的同时,保证检索准确性。
具体的,第m级解压缩和第k级解压缩各自得到的重构数据的解压缩程度不同或失真度不同。
一种可能的设计中,P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,对P个3D地图描述子的压缩数据进行第m级解压缩得到P个3D地图描述子的重构数据,包括:对P个3D地图描述子各自的量化数据进行反量化处理,得到P个反量化数据,P个反量化数据用作P个3D地图描述子的重构数据。对Q个3D地图描述子的压缩数据进行第k级解压缩得到Q个3D地图描述子的重构数据,包括:对Q个3D地图描述子各自的量化数据,进行反量化处理,得到Q个反量化数据,根据Q个反量化数据和Q个3D地图描述子各自的二值化数据,得到Q个3D地图描述子各自的重构数据。
本实施例,通过对P个3D地图描述子各自的量化数据进行反量化处理,得到P个3D地图描述子各自的反量化数据,基于P个3D地图描述子各自的反量化数据(用作本级检索的重构数据)进行第j级检索,筛选得到Q个3D地图描述子,通过对Q个3D地图描述子各自的量化数据,进行反量化处理,得到Q个反量化数据,根据Q个反量化数据和Q个3D地图描述子各自的二值化数据,得到Q个3D地图描述子各自的重构数据,基于Q个3D地图描述子各自的重构数据进行第r级检索,以得到N个3D地图描述子。第j级检索的重构数据的失真度大于第r级检索的重构数据的失真度,即先粗糙检索,提升检索速度,后精细检索,提升检索的准确性。
一种可能的设计中,在N=Q的情况下,P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,对P个3D地图描述子的压缩数据进行第m级解压缩得 到P个3D地图描述子的重构数据,包括:对P个3D地图描述子各自的量化数据,进行反量化处理,得到P个反量化数据,根据P个反量化数据和P个3D地图描述子各自的二值化数据,得到P个3D地图描述子各自的重构数据。
本实施例,第j级检索可以是多级检索的最后一级,最后一级基于完全解压缩得到重构数据进行检索,可以提升检索的准确性。
一种可能的设计中,S个3D地图描述子为S个代表3D地图描述子,S个代表3D地图描述子各自分别对应至少一个数据集合,至少一个数据集合的各个数据集合包括至少一个3D地图描述子,根据检索描述子的二值化数据,在S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子,包括:根据检索描述子的二值化数据,在S个代表3D地图描述子的二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子,将至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为P个3D地图描述子。
每个数据集合中的3D地图描述子具有一定相关性或相似性。代表3D地图描述子用于表征对应的数据集合中的3D地图描述子的共性或相似特征。其中,P可以大于S。P<T,S<T。
本实施例,通过在较少数量的代表3D地图描述子进行一级检索,以提升检索速度,之后可以在代表3D地图描述子对应的数据集合中进行一级或多级检索,以提升检索准确率。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
一种可能的设计中,Q<P<S<T。即多级检索中3D地图描述子的数量逐级减少。
一种可能的设计中,该方法还可以包括:根据检索描述子的各个分量和预设阈值向量的对应分量,确定检索描述子的各个分量与预设阈值向量的对应分量之间的大小关系。对大小关系进行二值化处理,得到检索描述子的二值化数据。
一种可能的设计中,根据检索描述子的各个分量和预设阈值向量的对应分量,确定检索描述子的各个分量与预设阈值向量的对应分量之间的大小关系,包括:分别将检索描述子的各个分量与预设阈值向量的对应分量相减,得到各个分量的差值;根据各个分量的差值,确定所述各个分量符号。对大小关系进行二值化处理,得到检索描述子的二值化数据,包括:对各个分量符号进行二值化处理,得到检索描述子的二值化数据。
第二方面,本申请实施例提供一种3D地图的检索方法,该方法可以包括:从S个3D地图描述子的压缩数据中提取S个3D地图描述子的第一二值化数据,S个3D地图描述子对应3D地图中的多个3D地图点。根据检索描述子的第一二值化数据,在S个3D地图描述子的第一二值化数据中进行第i级检索,以得到P个3D地图描述子。检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征。从P个3D地图描述子的压缩数据中提取P个3D地图描述子的第二二值化数据。根据检索描述子的第二二值化数据,在P个3D地图描述子的第二二值化数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
可见,本实施例中,从S个3D地图描述子的压缩数据中提取S个3D地图描述子的第一二值化数据,根据检索描述子的第一二值化数据,在S个3D地图描述子的第一二值化数据 中进行第i级检索,筛选得到P个3D地图描述子。从P个3D地图描述子的压缩数据中提取P个3D地图描述子的第二二值化数据,根据检索描述子的第二二值化数据,在P个3D地图描述子的第二二值化数据中进行第j级检索,以筛选出更少个数的3D地图描述子。通过从压缩数据中提取一级检索的3D地图描述子的二值化数据,与一级检索交替进行,以在压缩状态的3D地图中进行至少两级检索,得到检索后的3D地图描述子。任意两级检索各自所使用的3D地图描述子的二值化数据所携带的信息内容不同或各自所使用的3D地图描述子的二值化数据的信息完整程度不同。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
第一二值化数据和第二二值化数据可以多级检索中任意两级中所使用的二值化数据,其二值化处理方式可以不同,或长度不同。
一种可能的设计中,Q个3D地图描述子中的N个3D地图描述子用于定位,N个3D地图描述子对应的3D地图点与检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,上述方法还包括:根据N个3D地图描述子对应的3D地图点进行定位,以得到电子设备的位姿信息。
一种可能的设计中,第i级检索和第j级检索所采用的检索方式均为基于第一距离的检索,P个3D地图描述子属于S个3D地图描述子,所述P个3D地图描述子的各个3D地图描述子的第一二值化数据在所述3D地图描述子的压缩数据中的位置,不同于所述3D地图描述子的第二二值化数据在所述3D地图描述子的压缩数据中的位置,其中,P<S。例如,这个位置可以是起始位置,也可以是结束位置等。
可见,通过差异化的至少两级检索,以实现检索速度和检索准确率的综合提升。
一种可能的设计中,所述P个3D地图描述子的各个3D地图描述子的第一二值化数据的长度,小于所述P个3D地图描述子的各个3D地图描述子的第二二值化数据的长度。
可见,第i级检索中的各个3D地图描述子的第一二值化数据的长度较短,可以提升检索速度,第j级检索中的各个3D地图描述子的第二二值化数据的长度较长,可以提升检索准确率。通过差异化的至少两级检索,以实现检索速度和检索准确率的综合提升。
一种可能的设计中,上述方法还包括:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据。用于执行第二方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器(例如云服务器))可以接收其他设备发送的检索描述子。例如,用于执行第二方面所述的检索方法的执行主体接收其他电子设备采集和提取的检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的第一二值化数据和第二二值化数据。
一种可能的设计中,上述方法还包括:接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据。用于执行第二方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以接收其他设备发送的视觉信息,并从中提取检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的第一二值化数据和第二二值化数据。
一种可能的设计中,上述方法还包括:响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提 取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据。用于执行第二方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以采集得到所述视觉信息,并从中提取检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的第一二值化数据和第二二值化数据。
一种可能的设计中,所述检索描述子的第一二值化数据的长度等于所述S个3D地图描述子的各个3D地图描述子的第一二值化数据的长度,和/或,所述检索描述子的第二二值化数据的长度等于述S个3D地图描述子的各个3D地图描述子的第二二值化数据的长度。
本实施例,通过计算等长度的二值化数据的第一距离,以在3D地图中进行检索,可以提升检索速度。
一种可能的设计中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述根据检索描述子的第一二值化数据,在所述S个3D地图描述子的第一二值化数据中进行第i级检索,以得到P个3D地图描述子,包括:根据所述检索描述子的第一二值化数据,在所述S个代表3D地图描述子的第一二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
一种可能的设计中,Q<P<S<T。即多级检索中3D地图描述子的数量逐级减少。
第三方面,本申请实施例提供一种3D地图的检索方法,该方法可以包括:对S个3D地图描述子的压缩数据进行第m级解压缩,以得到S个3D地图描述子的第一重构数据,所述S个3D地图描述子对应3D地图中的多个3D地图点。根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的第一重构数据中进行第i级检索,以得到P个3D地图描述子。所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征。对所述P个3D地图描述子的压缩数据进行第k级解压缩,得到所述P个3D地图描述子的第二重构数据,所述S个3D地图描述子的压缩数据的解压缩过程包括所述第m级解压缩和所述第k级解压缩,或者,所述S个3D地图描述子的压缩数据的解压缩过程包括所述第k级解压缩,所述第k级解压缩包括第m级解压缩。根据所述检索描述子的部分数据或全部数据,在所述P个3D地图描述子的第二重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j、k和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
可见,本实施例中,对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的第一重构数据,根据检索描述子的部分数据或全部数据,在S个3D地图描述子的第一重构数据中进行第i级检索,筛选出P个3D地图描述子。对P个3D地图描述子的压缩数据进行第k级解压缩,得到P个3D地图描述子的第二重构数据,根据检索描述子的部分数据或全部数据,在P个3D地图描述子的第二重构数据中进行第j级检索,以筛选出更少个数的3D地图描述子。通过解压缩得到一级检索的3D地图描述子的一种重构数据,与一级检索交替进行。至少两级检索中存在一级检索为阶段性解压缩,可以提升检索速度,至少两级检索的解压缩差异化设置,可以保证检索准确率。任意两级检索各自所 使用的3D地图描述子的一种重构数据的解压缩程度不同或失真度不同。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
一种可能的设计中,Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,上述方法还包括:根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
本实施例中,当检索得到的N个3D地图描述子对应的3D地图点与检索描述子对应的地图点匹配时,可以根据N个3D地图描述子对应的3D地图点进行定位,有益于提升定位性能。
一种可能的设计中,所述第i级检索和所述第j级检索所采用的检索方式均为基于第二距离的检索方式,所述P个3D地图描述子属于所述S个3D地图描述子,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度,与所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度不同,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度用于表示所述各个3D地图描述子的第一重构数据与相应的原始3D地图描述子之间的差别程度,所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度用于表示所述各个3D地图描述子的第二重构数据与相应的原始3D地图描述子之间的差别程度,其中,P<S。
可见,通过差异化的至少两级检索,以实现检索速度和检索准确率的综合提升。
一种可能的设计中,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度,大于所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度。
可见,第i级检索中的各个3D地图描述子的第一重构数据的的失真度可以大于P个3D地图描述子中各个3D地图描述子的第二重构数据的失真度。通过前后两级检索中前一级检索的失真度大于后一级检索的失真度,以在前一级检索中进行快速检索,提升检索速度,在后一级检索中进行精细检索,提升检索准确率。
一种可能的设计中,上述方法还包括:接收所述检索描述子,并获取所述检索描述子的部分数据或全部数据。用于执行第三方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器(例如云服务器))可以接收其他设备发送的检索描述子。例如,用于执行第三方面所述的检索方法的执行主体接收其他电子设备采集和提取的检索描述子。之后根据检索需求获取所述检索描述子的部分数据或全部数据。
一种可能的设计中,上述方法还包括:接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并获取所述检索描述子的部分数据或全部数据。用于执行第三方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以接收其他设备发送的视觉信息,并从中提取检索描述子。之后根据检索需求获取所述检索描述子的部分数据或全部数据。
一种可能的设计中,上述方法还包括:响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并获取所述检索描述子的部分数据或全部数据。用于执行第三方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以采集得到所述视 觉信息,并从中提取检索描述子。之后根据检索需求获取所述检索描述子的部分数据或全部数据。
本申请实施例的3D地图的检索方法,可以在3D地图中对不同应用场景中的检索描述子进行检索,具有广泛的适用性。
一种可能的设计中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的第一重构数据中进行第i级检索,以得到P个3D地图描述子,包括:根据所述检索描述子的部分数据或全部数据,在所述S个代表3D地图描述子的第一重构数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
每个数据集合中的3D地图描述子具有一定相关性或相似性。代表3D地图描述子用于表征对应的数据集合中的3D地图描述子的共性或相似特征。其中,P可以大于S。P<T,S<T。
本实施例,通过在较少数量的代表3D地图描述子进行一级检索,以提升检索速度,之后可以在代表3D地图描述子对应的数据集合中进行一级或多级检索,以提升检索准确率。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
一种可能的设计中,Q<P<S<T。即多级检索中3D地图描述子的数量逐级减少。
第四方面,本申请实施例提供一种3D地图的检索方法,该方法可以包括:对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的重构数据,所述S个3D地图描述子对应3D地图中的多个3D地图点。根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的重构数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征。从所述P个3D地图描述子的压缩数据中提取所述P个描述子的二值化数据。根据所述检索描述子的二值化数据,在所述P个3D地图描述子的二值化数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、m和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
可见,本实施例中,至少两级检索中存在一级检索为解压缩,可以提升检索准确性,至少两级检索中存在一级检索为从压缩数据中提取,可以提升检索速度。相较于在完全解压得到的3D地图的重构数据中进行检索,本申请实施例提供的3D地图的检索方法可以提升检索速度,并可以保证检索准确率。
一种可能的设计中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述方法还包括:根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
一种可能的设计中,所述第i级检索所采用的检索方式为基于第二距离的检索方式,所述第j级检索所采用的检索方式为基于第一距离的检索方式。
本实施例,基于第二距离的检索方式可以提升检索准确性,基于第一距离的检索方式可以提升检索速度,从而实现检索准确性和检索速度的综合提升。
一种可能的设计中,上述方法还包括:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;用于执行第四方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器(例如云服务器))可以接收其他设备发送的检索描述子。例如,用于执行第一方面所述的检索方法的执行主体接收其他电子设备采集和提取的检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的二值化数据。
一种可能的设计中,上述方法还包括:接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;用于执行第四方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以接收其他设备发送的视觉信息,并从中提取检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的二值化数据。
一种可能的设计中,上述方法还包括:响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。用于执行第四方面所述的检索方法的执行主体(可以是电子设备,也可以是服务器)可以接收其他设备发送的视觉信息,并从中提取检索描述子。之后对检索描述子进行二值化处理,以得到检索描述子的二值化数据。
一种可能的设计中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的重构数据中进行第i级检索,以得到P个3D地图描述子,包括:根据所述检索描述子的部分数据或全部数据,在所述S个代表3D地图描述子的重构数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
每个数据集合中的3D地图描述子具有一定相关性或相似性。代表3D地图描述子用于表征对应的数据集合中的3D地图描述子的共性或相似特征。其中,P可以大于S。P<T,S<T。
本实施例,通过在较少数量的代表3D地图描述子进行一级检索,以提升检索速度,之后可以在代表3D地图描述子对应的数据集合中进行一级或多级检索,以提升检索准确率。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
一种可能的设计中,Q<P<S<T。即多级检索中3D地图描述子的数量逐级减少。
结合第一方面或第一方面的任意一种可能的设计,或者,结合第二方面或第二方面的任意一种可能的设计,或者,结合第三方面或第三方面的任意一种可能的设计,或者,结合第四方面或第四方面的任意一种可能的设计,还存在如下可能的设计:
一种可能的设计中,检索描述子包括区域描述子或3D地图点描述子。相应的,S个3D地图描述子可以包括S个区域描述子或S个3D地图点描述子。
第五方面,本申请实施例提供一种3D地图的检索装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的检索装置,包括:检索模块、提取模块和解压缩模块。
一种可能的设计中,提取模块,用于从S个3D地图描述子的压缩数据中提取S个3D地图描述子的二值化数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块,用于根据检索描述子的二值化数据,在所述S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;解压缩模块,用于对所述P个3D地图描述子的压缩数据进行第m级解压缩,得到所述P个3D地图描述子的重构数据;所述P个3D地图描述子的压缩数据的解压缩过程至少包括所述第m级解压缩;所述检索模块,用于根据所述检索描述子的部分数据或全部数据,在所述P个3D地图描述子的重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
一种可能的设计中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
一种可能的设计中,所述第i级检索所采用的检索方式为基于第一距离的检索方式,所述第j级检索所采用的检索方式为基于第二距离的检索方式。
一种可能的设计中,所述装置还包括:获取模块,用于:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。
一种可能的设计中,在N<Q的情况下,所述解压缩模块还用于:对所述Q个3D地图描述子的压缩数据进行第k级解压缩,以得到Q个3D地图描述子的重构数据;根据所述检索描述子的部分数据或全部数据,在所述Q个3D地图描述子的重构数据中进行第r级检索,以得到所述N个3D地图描述子;其中,N<Q<P,所述P个3D地图描述子的压缩数据的解压缩过程包括所述第m级解压缩和所述第k级解压缩,r和k为正整数,m<k,j<r≤L。
一种可能的设计中,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述解压模块具体用于:对所述P个3D地图描述子各自的量化数据进行反量化处理,得到P个反量化数据,所述P个反量化数据用作所述P个3D地图描述子的重构数据;对所述Q个3D地图描述子各自的量化数据,进行反量化处理,得到Q个反量化数据;根据所述Q个反量化数据和所述Q个3D地图描述子各自的二值化数据,得到所述Q个3D地图描述子各自的重构数据。
一种可能的设计中,在N=Q的情况下,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述解压缩模块,具体用于:对所述P个3D地图描述子各自的量化数据,进行反量化处理,得到P个反量化数据;根据所述P个反量化数据和所述P个3D地图描述子各自的二值化数据,得到所述P个3D地图描述子各自的重构数据。
一种可能的设计中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块用于:根据所述检索描述子的二值化数据,在所述S个代表3D地图描述子的二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
第六方面,本申请实施例提供一种3D地图的检索装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的检索装置,包括:检索模块、提取模块和解压缩模块。
一种可能的设计中,提取模块,用于从S个3D地图描述子的压缩数据中提取所述S个3D地图描述子的第一二值化数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块,用于根据检索描述子的第一二值化数据,在所述S个3D地图描述子的第一二值化数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;所述提取模块,还用于从所述P个3D地图描述子的压缩数据中提取所述P个3D地图描述子的第二二值化数据;所述检索模块,用于根据所述检索描述子的第二二值化数据,在所述P个3D地图描述子的第二二值化数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
一种可能的设计中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,用于根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
一种可能的设计中,所述第i级检索和所述第j级检索所采用的检索方式均为基于第一距离的检索,所述P个3D地图描述子属于所述S个3D地图描述子,所述P个3D地图描述子的各个3D地图描述子的第一二值化数据在所述3D地图描述子的压缩数据中的位置,不同于所述3D地图描述子的第二二值化数据在所述3D地图描述子的压缩数据中的位置,其中,P<S。
一种可能的设计中,所述P个3D地图描述子的各个3D地图描述子的第一二值化数据的长度,小于所述P个3D地图描述子的各个3D地图描述子的第二二值化数据的长度。
一种可能的设计中,所述装置还包括:获取模块,用于:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据;或 者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据。
一种可能的设计中,所述检索描述子的第一二值化数据的长度等于所述S个3D地图描述子的各个3D地图描述子的第一二值化数据的长度,和/或,所述检索描述子的第二二值化数据的长度等于述S个3D地图描述子的各个3D地图描述子的第二二值化数据的长度。
一种可能的设计中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块具体用于:根据所述检索描述子的第一二值化数据,在所述S个代表3D地图描述子的第一二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
第七方面,本申请实施例提供一种3D地图的检索装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的检索装置,包括:检索模块、提取模块和解压缩模块。
一种可能的设计中,解压缩模块,用于对S个3D地图描述子的压缩数据进行第m级解压缩,以得到S个3D地图描述子的第一重构数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块,用于根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的第一重构数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;所述解压缩模块,还用于对所述P个3D地图描述子的压缩数据进行第k级解压缩,得到所述P个3D地图描述子的第二重构数据,所述S个3D地图描述子的压缩数据的解压缩过程包括所述第m级解压缩和所述第k级解压缩,或者,所述S个3D地图描述子的压缩数据的解压缩过程包括所述第k级解压缩,所述第k级解压缩包括第m级解压缩;检索模块,用于根据所述检索描述子的部分或全部,在所述P个3D地图描述子的第二重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j、k和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
一种可能的设计中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,用于根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
一种可能的设计中,所述第i级检索和所述第j级检索所采用的检索方式均为基于第二距离的检索方式,所述P个3D地图描述子属于所述S个3D地图描述子,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度,与所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度不同,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度用于表示所述各个3D地图描述子的第一重构数据与相应的原始3D地图描述子之间的差别程度,所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失 真度用于表示所述各个3D地图描述子的第二重构数据与相应的原始3D地图描述子之间的差别程度,其中,P<S。
一种可能的设计中,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度,大于所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度。
一种可能的设计中,所述装置还包括:获取模块,用于:接收所述检索描述子,并获取所述检索描述子的部分数据或全部数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并获取所述检索描述子的部分数据或全部数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并获取所述检索描述子的部分数据或全部数据。
一种可能的设计中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块具体用于:根据所述检索描述子的部分数据或全部数据,在所述S个代表3D地图描述子的第m重构数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
第八方面,本申请实施例提供一种3D地图的检索装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的检索装置,包括:检索模块、提取模块和解压缩模块。
一种可能的设计中,解压缩模块,用于对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的重构数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块,用于根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的重构数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;提取模块,用于从所述P个3D地图描述子的压缩数据中提取所述P个描述子的二值化数据;所述检索模块,还用于根据所述检索描述子的二值化数据,在所述P个3D地图描述子的二值化数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、m和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
一种可能的设计中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,用于根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
一种可能的设计中,所述第i级检索所采用的检索方式为基于第二距离的检索方式,所述第j级检索所采用的检索方式为基于第一距离的检索方式。
一种可能的设计中,所述装置还包括:获取模块,用于:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理, 以得到所述检索描述子的二值化数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。
一种可能的设计中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块具体用于:根据所述检索描述子的部分数据或全部数据,在所述S个代表3D地图描述子的第m重构数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
第九方面,本申请实施例提供一种3D地图的检索装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一至第四任一方面或第一至第四任一方面任一项可能的设计所述的方法。
第十方面,本申请实施例提供一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行第一至第四任一方面或第一至第四任一方面任一项可能的设计所述的方法。
第十一方面,本申请实施例提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现如上述第一至第四任一方面及其任一种可能的实施方式所描述的方法。
应当理解的是,本申请实施例的第五至十一方面与本申请实施例的第一至第四方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
图1为本申请实施例所提供的一种应用架构的示意图;
图2为本申请实施例提供的电子设备20的一种结构示意图;
图3为本申请实施例提供的服务器30的一种结构示意图;
图4a-图4f为本申请实施例提供的各种应用场景的示意图;
图4g为本申请实施例提供的电子设备显示的一种用户界面(例如3D地图应用的用户界面)的示意图;
图5A至图5D是本申请实施例提供的一种3D地图的检索方法的片段流程示意图;
图6是本申请实施例提供的一种3D地图的检索方法的流程示意图;
图7是本申请实施例提供的一种3D地图的检索方法的流程示意图;
图8是本申请实施例提供的一种3D地图的检索方法的流程示意图;
图9是本申请实施例提供的一种3D地图的检索方法的处理过程示意图
图10为本申请实施例提供的一种3D地图的检索装置的结构示意图;
图11为本申请实施例提供的一种译码装置1100的示意性框图。
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例或所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。如本文所使用的,单数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”、“具有”、“包含”和/或“含有”在本文中使用时指定所陈述的特征、整数、步骤、操作、要素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、要素、组件和/或其群组的存在或添加。
需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。
图1为本申请实施例所提供的一种应用架构的示意图,如图1所示,该应用架构包括多个电子设备和服务器,其中,多个电子设备可以包括第一电子设备、一个或多个第二电子设备(图1中以两个第二电子设备为例),该一个或多个第二电子设备是除第一电子设备外的若干个电子设备。多个电子设备和服务器之间、多个电子设备彼此之间均可进行通信,例如,对于应用架构中的任意一个设备,可以通过无线保真(wireless-fidelity,WiFi)通信、蓝牙通信或者蜂窝2/3/4/5代(2/3/4/5generation,2G/3G/4G/5G)通信等方式与其它设备进行通信,应当理解的,服务器和电子设备之间还可以采用其他通信方式,包括未来的通信方式,对此不做具体限定。需要说明的是,本申请实施例中的“一个或多个第二电子设备”仅用于表示除第一电子设备外的其 它电子设备,但并不限定多个电子设备的类型是否相同。
上述电子设备,可以是配置有摄像头和显示组件的各种类型的设备,例如,电子设备可以是手机、平板电脑、笔记本电脑、录像机等终端设备(图1中以电子设备是手机为例),电子设备也可以是用于虚拟场景交互的设备,包括VR眼镜、AR设备,MR互动设备等,电子设备还可以是智能手表、智能手环等可穿戴电子设备,电子设备还可以是车辆、无人驾驶车辆、无人机、工业机器人等载具中所搭载的设备。本申请实施例对电子设备的具体形式不做具体限定。
此外,上述电子设备也可以被称为用户装备(user equipment,UE)、订户站、移动单元、订户单元、无线单元、远程单元、移动设备、无线设备、无线通信设备、远程设备、移动订户站、终端设备、接入终端、移动终端、无线终端、智能终端、远程终端、手持机、用户代理、移动客户端、客户端、或其他某个合适的术语。
上述服务器可以是一台或多台物理服务器(图1中以一台物理服务器为例),也可以是计算机集群,还可以是云计算场景的虚拟机或者云端服务器,等等。
本申请实施例中,电子设备可以安装VR应用、AR应用或者MR应用等虚拟场景应用程序(application,APP),并可以基于用户的操作(例如点击、触摸、滑动、抖动、声控等)运行VR应用、AR应用或者MR应用。电子设备可以通过传感器采集环境中任意物体的视觉信息,再根据采集的视觉信息在显示组件上显示虚拟物体,该虚拟物体可以是VR场景、AR场景或MR场景中的虚拟物体(即虚拟环境中的物体)。
本申请实施例中,电子设备可以安装导航、检测、控制类应用程序,并基于用户的操控或是预设的程序来运行相应的应用。电子设备可以基于自身在当前环境中的位姿和其他状态信息,进行路径规划、物体检测、载具操控等应用。
位姿即电子设备的位置和朝向信息,可以是在世界坐标系中的绝对位姿,也可以是相对于环境中某个点的相对位姿。
本申请实施例所涉及的视觉信息,包括但不限于摄像头采集得到的图像视频(不带深度信息)、深度感应器(depth sensor)采集得到的带深度信息的图像视频、激光雷达(LiDAR)采集得到的数据、毫米波雷达(RaDAR)采集得到的数据。
需要说明的是,本申请实施例中,电子设备中的虚拟场景应用程序可以是电子设备自身内置的应用程序,也可以是用户自行安装的第三方服务商提供的应用程序,对此不做具体限定。
本申请实施例中,电子设备还可以配置有即时定位与地图构建(simultaneous localization and mapping,SLAM)系统,SLAM系统能够在完全未知的环境中创建地图,并利用该地图进行定位、位姿(位置与姿态)确定、导航等。本申请实施例中将SLAM系统创建的地图称作SLAM地图,SLAM地图可以理解为是SLAM系统根据采集设备采集到的环境信息绘制出的地图,采集设备可以包括电子设备中的视觉信息采集装置和惯性测量单元(inertial measurement unit,IMU),其中,视觉信息采集装置例如可以包括摄像头、相机、深度相机、激光雷达、毫米波雷达等,IMU例如可以包括陀螺仪、加速度计等传感器。
本申请实施例中将SLAM地图亦称作3D地图。需要说明的是,3D地图包括但 不限于SLAM地图,其还可以包括采用其它技术创建的三维地图,本申请实施例对此不做具体限定。
在一种可能的实现方式中,3D地图可以包括多个3D地图点,相应的,3D地图的数据可以包括多个3D地图点的数据。3D地图点是环境中令人感兴趣的或者具有显著特征的点。
3D地图点的一种可能的获取方式为,使用激光雷达、无人机视角的空中摄影(倾斜摄影)、高清全景相机、高清工业相机等多种设备拍摄,通过ORB、尺度不变特征变换(scale-invariant feature transform,SIFT)、加速版具有鲁棒性特征(speeded up robust features,SURF)、二元鲁棒独立基本特征(binary robust independent elementary features,BRIEF)、二进制鲁棒不变可伸缩关键点(binary robust invariant scalable keypoints,BRISK)、快速视网膜关键点(fast retina keypoint,FREAK)、D2Net或者基于自监督训练的特征点检测和描述符提取方法(SuperPoint)等方法从上述设备拍摄到的数据中提取。
3D地图点的数据可以包括:
(1)3D地图点描述子
3D地图点描述子是一条向量(vector),用来表示对应3D地图点的局部特征。在视觉定位算法中,3D地图点描述子用于进行3D地图点间的匹配。一种可能的做法是,计算两个3D地图点描述子之间的距离(可以是欧式距离、内积距离、汉明距离等),当距离小于一个阈值时,视为两个3D地图点匹配。
(2)3D地图点空间位置
3D地图点空间位置可以采用三维空间轴线上的X、Y、Z表示,也可以采用经纬度、海拔高度表示,还可以采用极坐标等方式表示,本申请实施例对3D地图点空间位置的表示方法不做具体限制。3D地图点空间位置可以是3D地图点的绝对位置,也可以是3D地图点的相对位置,例如,以整个区域的中心位置为原点,所有3D地图点空间位置都是相对于原点的空间位置的偏移位置。
本申请实施例中,可以给每个3D地图点分配一个编号写入3D地图的数据中,也可以利用多个3D地图点在内存中的存储顺序隐含表示3D地图点的编号。需要说明的是,3D地图包含的多个3D地图点之间的先后顺序没有实际意义,因此前述编号可以认为是用于标识3D地图点的标识符,以对各个3D地图点加以区分,但该编号并不用于限定多个3D地图点之间的先后顺序,例如,3D地图包含3个3D地图点,其编号分别是1、2和3,对该3个3D地图点进行的处理,可以按照1、2、3的顺序进行,也可以按照3、2、1的顺序进行,还可以按照2、1、3的顺序进行,等等。
在一种可能的实现方式中,3D地图的数据还包括多个区域描述子,该多个区域描述子中的任意一个区域描述子用于描述上述多个3D地图点中的部分或全部3D地图点的特征,即针对多个区域描述子中的任意一个区域描述子,该区域描述子可以用于描述多个3D地图点中的部分或全部3D地图点的特征,这样区域描述子和3D地图点是一对多的关系。而多个3D地图点中的每个3D地图点的特征可以被多个区域描述子中的部分或全部区域描述子描述,这样3D地图点和区域描述子是一对多的关 系。由此可见,多个区域描述子和多个3D地图点之间是多对多的关系。区域描述子的生成方法包括但不限于词袋(bag of words,BOW)、局部聚集描述符向量(vector of locally aggregated descriptors,VLAD)等传统方法以及基于NetVLAD、人工智能(artificial intelligence,AI)的新型方法。同理,多个区域描述子也可以用编号进行标识,以对多个区域描述子进行区分,但是该编号同样不是对多个区域描述子之间的先后顺序的限定。
在一种可能的实现方式中,3D地图的数据还包括3D地图点和描述子的对应关系,在该对应关系中明确的描述了任意一个描述子对应于哪些3D地图点,以及任意一个3D地图点对应于哪些描述子。
可选的,上述对应关系可以显式的用区域描述子的编号和3D地图点的编号之间的对应表进行描述,例如,3D地图包含3个区域描述子,编号是T1~T3,6个3D地图点,其中,6个3D地图点空间位置的编号是P
1~P
6,6个3D地图点描述子的编号是F
1~F
6,对应表如表1所示。
表1
需要说明的是,表1是区域描述子的编号和3D地图点的编号之间的对应表的一个示例,该对应表也可以采用其他的格式或方式呈现,本申请对此不做具体限定。
可选的,上述对应关系也可以隐式的用区域描述子和3D地图点的存储位置进行描述,例如,在内存中先存储T1,跟着存储P
1、P
2和P
3的数据,接着存储T2,跟着存储P
2和P
3的数据,最后存储T3,跟着存储P
3、P
4、P
5和P
6的数据。
图2为本申请实施例提供的电子设备20的一种结构示意图,如图2所示,电子设备20可以是图1所示实施例中的第一电子设备和一个或多个第二电子设备中的至少一者。应该理解的是,图2所示的结构并不构成对电子设备20的具体限定。在本申请另一些实施例中,电子设备20可以包括比图2所示结构更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备20可包括:芯片21、存储器22(一个或多个计算机可读存储介质)、 用户接口23、显示组件24、摄像头25、传感器26、用于设备定位的定位模块27以及用于通信的收发器28。这些部件之间可以通过一个或多个总线29通信。
芯片21可以集成包括:一个或多个处理器211、时钟模块212以及电源管理模块213。集成于芯片21中的时钟模块212主要用于为处理器211提供数据传输和时序控制所需要的计时器,计时器可以实现数据传输和时序控制的时钟功能。处理器211可以根据指令操作码和时序信号,执行运算,产生操作控制信号,完成取指令和执行指令的控制。集成于芯片21中的电源管理模块213主要用于为芯片21以及电子设备20的其他部件提供稳定的、高精确度的电压。
处理器211又可称为中央处理器(central processing unit,CPU),处理器211具体可以包括一个或多个处理单元,例如,处理器211可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或,神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一种可能的实现方式中,处理器211可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或,通用串行总线(universal serial bus,USB)接口等。
存储器22可以和处理器211通过总线29连接,也可以与处理器311耦合在一起,用于存储各种软件程序和/或多组指令。存储器22可以包括高速随机存取的存储器(例如高速缓冲存储器),也可以包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器22可以存储操作系统,例如,安卓(Android),苹果移动平台(IOS),微软窗口操作系统(Windows)或者Linux等嵌入式操作系统。存储器22还可以存储数据,例如,图像数据、点云数据、3D地图的数据、位姿数据、坐标系转换信息、地图更新信息等。存储器22还可以存储计算机可执行的程序代码,该计算机可执行的程序代码包括指令,例如,通信程序指令,SLAM系统的相关程序指令等。存储器22还可以存储一个或多个应用程序,例如,AR/VR/MR等虚拟场景应用程序、地图类应用程序、图像管理类应用程序、导航与控制类应用程序等。存储器22还可以存储用户界面程序,该用户界面程序可以通过图形化的操作界面将应用程序的内容,例如,AR/VR/MR等虚拟场景中的虚拟物体,形象逼真的显示出来并通过显示组件24呈现,以及实现通过菜单、对话框和按键等输入控件接收用户对应用程序的控制操作。
用户接口23例如可以是触控面板,该触控面板可以检测用户在其上的操作指令,用户接口23也例如可以是小键盘、物理按键或者鼠标等。
电子设备20可以包括一个或多个显示组件24。电子设备20可以通过显示组件 24、芯片21中的图形处理器(GPU)和应用处理器(AP)等共同实现显示功能。GPU是实现图像处理的微处理器,其连接显示组件24和应用处理器,GPU执行数学和几何计算以用于图形渲染。显示组件24可以显示电子设备20输出的界面内容,例如,显示AR/VR/MR等虚拟场景中的图像、视频等,界面内容可包括正在运行的应用程序的界面以及系统级别菜单等,具体可以由下述界面元素组成:输入型界面元素,例如按键(Button),文本输入框(Text),滑动条(Scroll Bar),菜单(Menu)等;输出型界面元素,例如视窗(Window),标签(Label),图像,视频,动画等。
显示组件24可以是显示面板,镜片(例如VR眼镜),投影屏等。显示面板也可以称为显示屏,例如,可以是触摸屏、柔性屏、曲面屏等,也可以是其它光学组件。应当理解的,本申请实施例中的电子设备具有的显示屏可以是触摸屏、柔性屏、曲面屏或者其它形式的屏幕,亦即电子设备的显示屏具有显示图像的功能,而对于显示屏的具体材质和形状不作具体限定。
例如,当显示组件24包括显示面板时,显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。此外,在一种可能的实现方式中,可以将用户接口23中的触控面板和显示组件24中的显示面板耦合在一起,例如,触控面板可设置于显示面板下方,触控面板用于检测用户通过显示面板输入触控操作(例如点击、滑动,触摸等)时作用于显示面板上的触控压力,显示面板用于进行内容显示。
摄像头25可以是单目摄像头或双目摄像头或深度摄像头,用于对环境进行拍摄/录像,以获得图像/视频图像。摄像头25所采集的图像/视频图像例如可作为SLAM系统的一种输入数据,或者可通过显示组件24进行图像/视频显示。
在一种可能的实现方式中,也可以把摄像头25视为一种传感器。摄像头25采集的图像可以是IMG格式,也可以是其他格式类型,本申请实施例对此不做具体限定。
传感器26可以用于采集与电子设备20的状态变化(例如,旋转、摆动、移动、抖动等)相关的数据,传感器26所采集的数据可以作为SLAM系统的一种输入数据。传感器26可以包括一种或多种传感器,例如,惯性测量单元(inertial measurement unit,IMU),飞行时间(time of flight,TOF)传感器等。IMU中可以包括陀螺仪、加速度计等传感器,陀螺仪用于测量电子设备运动时的角速度,加速度计用于测量电子设备运动时的加速度。TOF传感器中可以包括光发射器和光接收器,光发射器用于向外发射光线,例如,激光、红外线、雷达波等,光接收器用于检测反射的光线,例如,反射的激光、红外线、雷达波等。
需要说明的,传感器26还可以包括更多的其他传感器,例如惯性传感器,气压计,磁力计,轮速计等,本申请实施例对此不做具体限定。
定位模块27用于实现对电子设备20的物理定位,例如,用于获取电子设备20 的初始位置。定位模块27可以包括WiFi定位模块、蓝牙定位模块、基站定位模块、卫星定位模块中的一个或多个。卫星定位模块中可以设置有全球导航卫星系统(global navigation satellite system,GNSS)以辅助定位,GNSS不限于北斗系统、全球定位系统(global positioning system,GPS)系统、格洛纳斯(global navigation satellite system,GLONASS)系统、伽利略卫星导航系统(Galileo)系统。
收发器28用于实现电子设备20与其它设备(例如,服务器、其它电子设备等)之间的通信。收发器28集成了发射器和接收器,分别用于发送和接收射频信号。具体实现中,收发器28包括但不限于:天线系统、射频(radio frequency,RF)收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编译码器(CODEC)芯片、用户身份识别卡(subscriber identification module,SIM)卡和存储介质等。在一种可能的实现方式中,还可以在单独的芯片上实现收发器28。收发器28支持2G/3G/4G/5G等中的至少一种数据网络通信,和/或,支持以下近距无线通信的方式中的至少一种:蓝牙(bluetooth,BT)通信,无线保真(wirelessfidelity,WiFi)通信,近场通信(near field communication,NFC),红外(infrared,IR)无线通信,超宽带(ultra wide band,UWB)通信,紫蜂协议(ZigBee)通信。
本申请实施例中,处理器211通过运行存储在存储器22的程序代码,从而执行电子设备20的各种功能应用和数据处理。
图3为本申请实施例提供的服务器30的一种结构示意图,如图3所示,服务器30可以是图1所示实施例中的服务器。服务器30包括处理器301、存储器302(一个或多个计算机可读存储介质)和收发器303。这些部件之间可以通过一个或多个总线304通信。
处理器301可以是一个或多个CPU,在处理器301是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器302可以和处理器301通过总线304连接,也可以和处理器301耦合在一起,用于存储各种程序代码和/或多组指令、以及数据(例如,地图数据、位姿数据等)。具体实现中,存储器302包括但不限于是随机存储记忆体(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)等。
收发器303主要集成了接收器和发射器,其中接收器用于接收电子设备发送的数据(例如,请求、图像等),发射器用于向电子设备发送数据(例如,地图数据、位姿数据等)。
应当理解,图3所示的服务器30仅为本申请实施例提供的一个示例,服务器30还可以具有比图示更多的部件,本申请实施例对此不做具体限定。
本申请实施例中,处理器301通过运行存储在存储器302中的程序代码,从而执行服务器30的各种功能应用和数据处理。
本申请实施例中使用的术语“耦合”意指直接连接或者通过一个或多个居间组件或电路连接。
图4a为本申请实施例提供的一个应用场景的示意图,如图4a所示,该应用场景 是电子设备通过传感器采集视觉信息,结合视觉信息以及来自服务器的3D地图确定电子设备的当前位姿。
3D地图是由服务器提供的,即服务器创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据传输给电子设备;电子设备收到3D地图的压缩数据后进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定电子设备的当前位姿。位姿即电子设备的位置信息,可以是在世界坐标系中的绝对位姿,也可以是相对于环境中某个点的相对位姿。
本申请实施例中,服务器可以预先创建3D地图,将3D地图进行压缩处理后存储在本地,这样可以节省存储空间。另外,服务器也可以将3D地图的压缩数据传输给其他设备,例如,云存储器。
1、服务器创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
服务器对3D地图进行压缩处理可以节省本地的存储空间。
2、电子设备向服务器发送地图下载请求,该地图下载请求的触发方式有两种:
(1)用户打开安装于电子设备上的地图类应用程序,该应用程序向其对应的服务器上传基于GPS定位或者WiFi定位得到的位置信息,该上传操作可以触发地图下载请求。由于上传的内容包括位置信息,因此服务器可以基于位置信息进行一个初步估计,将位置信息指示的定位点所属区域的3D地图的压缩数据传输给电子设备。位置信息指示的定位点所属区域的范围可以预先设定,例如,该所属区域可以是定位点所在的各个级别的行政区(包括县、市、国家或者行政区等),也可以是以定位点为中心、设定距离为半径的圆周区域。
(2)用户打开安装于电子设备上的地图类应用程序,在该应用程序中主动输入或者选择一个区域,例如,用户主动输入“xx商业中心”,或者从一个列表“A街道、B街道、C街道”中选择了“A街道”。用户的前述操作可以触发地图下载请求。无论是用户输入或是选择包含了一个地理位置,因此服务器将该地理位置的3D地图的压缩数据传输给电子设备。
应当理解的是,本申请实施例中除了上述两种方式还可以采用其他方式触发地图下载请求,例如,电子设备自动检测是否符合下载3D地图或者启动下载3D地图的条件,或者,电子设备通过检测环境光线的变化或者检测环境的变化来启动下载3D地图,以向服务器请求下载一个区域范围内的3D地图,区域范围的大小不做具体限定。
3、服务器向电子设备发送3D地图的压缩数据。
4、电子设备通过传感器采集视觉信息。
需要说明的是,步骤3和步骤4是相互独立的,不限定先后顺序。
5、电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
电子设备在收到3D地图的压缩数据后,不需要立即解压缩,只需要在基于视觉信息进行定位之前解压缩得到3D地图的重构数据即可。例如,用户可以以下载“离线地图”的方式预先下载一个区域范围的3D地图的压缩数据,而在需要定位时,才 对3D地图的压缩数据进行解压缩。
图4b为本申请实施例提供的一个应用场景的示意图,如图4b所示,该应用场景是电子设备通过传感器采集视觉信息,服务器结合来自电子设备的视觉信息以及3D地图确定电子设备的当前位姿。
3D地图是由服务器提供的,即服务器创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据存储在本地。当收到来自电子设备的视觉信息时,服务器进行解压缩处理,得到3D地图的重构数据,结合视觉信息以及3D地图的重构数据确定电子设备的当前位姿。
1、服务器创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
2、电子设备通过传感器采集视觉信息。
3、电子设备向服务器发送视觉信息。
4、服务器对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
应当理解的,服务器对3D地图进行压缩处理是为了节省存储空间。
5、服务器根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
6、服务器向电子设备发送位姿。
图4c为本申请实施例提供的一个应用场景的示意图,如图4c所示,该应用场景是电子设备通过传感器采集视觉信息,结合采集的视觉信息以及3D地图确定电子设备的当前位姿。
3D地图是由电子设备提供的,即电子设备创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据存储在本地。当采集到的视觉信息时,电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定电子设备的当前位姿。
1、电子设备创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
应当理解的,电子设备对3D地图进行压缩处理是为了节省存储空间。
2、电子设备通过传感器采集得到视觉信息。
3、电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
4、电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4d为本申请实施例提供的一个应用场景的示意图,如图4b所示,该应用场景是第二电子设备通过传感器采集视觉信息,结合视觉信息以及来自服务器的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给服务器,服务器再把3D地图的压缩数据发送给第二电子设备,第二电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定第二电子设备的当前位姿。
本申请实施例中,第一电子设备可以预先创建3D地图,将3D地图进行压缩处理后传输给服务器,这样可以减少传输带宽。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据。
2、第一电子设备向服务器发送3D地图的压缩数据。
第一电子设备对3D地图进行压缩处理后再传输,可以减少传输带宽,提高传输效率。
3、第二电子设备向服务器发送地图下载请求。
第二电子设备发送地图下载请求也可以基于图4a所示的触发方式。
4、服务器向第二电子设备发送3D地图的压缩数据。
5、第二电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、第二电子设备通过传感器采集得到视觉信息。
7、第二电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4e为本申请实施例提供的一个应用场景的示意图,如图4c所示,该应用场景是第二电子设备通过传感器采集视觉信息,服务器结合来自第二电子设备的视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给服务器。服务器进行解压缩处理,得到3D地图的重构数据,结合来自第二电子设备的视觉信息以及3D地图的重构数据确定第二电子设备的当前位姿。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据。
2、第一电子设备向服务器发送3D地图的压缩数据。
3、第二电子设备通过传感器采集得到视觉信息。
4、第二电子设备向服务器发送定位请求,该定位请求中携带视觉信息。
5、服务器对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、服务器根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
7、服务器向第二电子设备发送定位得到的位姿。
图4f为本申请实施例提供的一个应用场景的示意图,如图4d所示,该应用场景是第二电子设备通过传感器采集视觉信息,结合视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给第二电子设备,第二电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
2、第二电子设备向第一电子设备发送地图下载请求。
3、第一电子设备向第二电子设备发送3D地图的压缩数据。
4、第二电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
5、第二电子设备通过传感器采集得到视觉信息。
6、第二电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4a~图4f所示实施例中,所采用的定位算法可以包括:
(1)从视觉信息中提取待检索区域描述子,提取待检索区域描述子使用的算法 和从3D地图中提取区域描述子的算法一致。
(2)从视觉信息中提取待检索3D地图点,并获取待检索3D地图点空间位置和待检索3D地图点描述子,提取待检索3D地图点描述子的算法和从3D地图中提取3D地图点描述子的算法一致。
(3)根据待检索区域描述子在3D地图的数据包含的多个区域描述子中进行检索以得到多个候选区域描述子。
本申请实施例中,可以计算待检索区域描述子分别与多个区域描述子中的每一个区域描述子的距离,该距离可以包括汉明距离、曼哈顿距离或者欧氏距离等,然后选择符合条件(例如距离小于阈值)的至少一个区域描述子,即为候选区域描述子。
(4)使用待检索3D地图点描述子分别与多个候选区域描述子所对应的3D地图点描述子进行匹配,匹配亦即计算待检索3D地图点描述子分别与多个候选区域描述子对应的3D地图点描述子的相似度,找出最相似的3D地图点。
(5)根据匹配到的3D地图点,使用透视n点相机姿态估计(pespective-n-point,PnP)、高效透视n点相机姿态估计(efficient perspective-n-point camera pose estimation,EPnP)等位姿求解算法计算得到电子设备的位姿。
在图4a~图4f任一应用场景中,基于本申请实施例的3D地图进行定位,以得到电子设备当前的位姿,该位姿可以应用于AR导航、AR人机交互、辅助驾驶、自动驾驶等领域。以基于该位姿进行AR导航为例,图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图,电子设备可以基于该位姿,显示如图4g所示的用户界面,该用户界面上可以包括导航前往会议室2的导航箭头指示,该导航前往会议室2的导航箭头指示可以是基于该位姿从服务器获取的或者从本地获取的虚拟物体。该用户界面上还可以包括传感器采集的视觉信息,例如,如图4g所示的建筑物。用户参照电子设备的如图4g所示的用户界面,前往会议室2。
需要说明的是,本申请实施例所涉及的解压缩得到的3D地图的重构数据,也可以称之为3D地图的重建数据。
而图4a~图4f所示实施例中,均涉及到对3D地图进行压缩处理和解压缩处理,以及基于解压缩得到的3D地图的重构数据进行定位,以得到电子设备当前的位姿。对于定位,一种可实现方式,可以基于完全解压缩得到的3D地图的重构数据进行定位。另一种可实现方式,可以使用本申请下述实施例提供的3D地图的检索方法,筛选出描述子,利用描述子进行定位。本申请下述实施例提供3D地图的检索方法,通过将检索和解压缩或从压缩数据提取交替进行,以在3D地图中进行多级检索,得到描述子。相较于在完全解压得到的3D地图的重构数据中进行检索,本申请下述实施例提供的3D地图的检索方法的至少两级检索中存在一级非完全解压缩检索,可以提升检索速度,至少两级检索中另一级检索可以保证检索准确率。非完全解压缩是指未完全解压缩得到3D地图的全部重构数据。以下对该3D地图的检索方法进行说明。
本申请实施例所涉及的3D地图的检索是指,在3D地图的多个3D地图点中找到最相似或最相关的一些3D地图点。
本申请实施例所涉及的二值化数据的长度可以是二值化数据的比特位个数(也称比特数)。例如,二值化数据为110,则该二值化数据的比特位个数为3。
需要说明的是,本申请实施例提供的检索方法也可以应用于其他技术领域,例如,图像或视频数据的检索,音频数据的检索、点云数据的检索等。
基于上文的描述,下面给出本申请实施例提供的3D地图的检索方法。对于下文描述的各方法实施例,为了方便起见,将其都表述为一系列的动作步骤的组合,但是本领域技术人员应该知悉,本申请技术方案的具体实现并不受所描述的一系列的动作步骤的顺序的限制。
参见图5A,图5A是本申请实施例提供的一种3D地图的检索方法的片段流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S101A、从S个3D地图描述子的压缩数据中提取S个3D地图描述子的二值化数据,S个3D地图描述子对应3D地图中的多个3D地图点。
该二值化数据可以是第一二值化数据、第二二值化数据、……第n二值化数据等,n为正整数。应当理解的是,第一二值化数据、第二二值化数据和第三二值化数据等中的“第一”、“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以第n二值化数据为例进行解释说明。
从S个3D地图描述子的压缩数据中提取S个3D地图描述子的第n二值化数据。
S个3D地图描述子的第n二值化数据是从S个3D地图描述子的压缩数据中提取的。S为正整数。S表示第i级检索中需要检索的3D地图描述子的个数。S<T,T表示3D地图中的3D地图描述子的总个数。
其中,S个3D地图描述子对应的多个3D地图点的个数可以大于S,也可以等于S。
例如,S个3D地图描述子可以是S个区域描述子,或者S个3D地图点描述子。其中,一个区域描述子对应多个3D地图点,一个3D地图点描述子对应一个3D地图点,其具体解释说明可以参见前述实施例的解释说明,此处不再赘述。
S个3D地图描述子的压缩数据可以是S个区域描述子或S个3D地图点描述子经过压缩处理得到的。这里的压缩处理可以包括:紧凑化处理。其中,紧凑化处理可以包括二值化处理和量化处理。S个3D地图描述子的第n二值化数据可以是S个3D地图描述子各自的压缩数据的部分数据,例如,S个3D地图描述子的第n二值化数据可以是S个3D地图描述子各自的压缩数据的部分或全部二值化数据。
该二值化处理包括但不限于:迭代量化(iterative quantization,ITQ)的哈希、局部敏感哈希(locality-sensitive hashing,LSH)、或谱哈希方法(spectral hashing)等。示例性的,通过二值化处理可以将描述子映射到汉明空间(也称为二值空间)中,得到二值化数据。
该量化处理包括但不限于:标量量化、矢量量化、或乘积量化等。示例性的,通过量化处理可以将3D地图描述子压缩为一个或多个量化索引,该一个或多个量化索引即为该3D地图描述子的量化数据。其中,一个或多个量化索引中的各个量化索引对应于一个量化中心。
可选的,本申请实施例的执行主体可以对S个3D地图描述子的压缩数据进行熵解码,从中提取S个3D地图描述子的第n二值化数据。
S102A、根据检索描述子的二值化数据,在S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子。
以第n二值化数据为例进行解释说明。
根据检索描述子的第n二值化数据,在S个3D地图描述子的第n二值化数据中进行第i级检索,以得到P个3D地图描述子。
该检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征。
这里的检索描述子可以是上述实施例中的待检索区域描述子,或者,待检索3D地图点描述子。也即,该检索描述子可以是从视觉信息中提取的待检索区域描述子,该待检索区域描述子用于描述多个3D地图点中的部分或全部3D地图点的特征。该待检索区域描述子可以是一条向量,例如,128维的向量,或512维的向量等等。待检索区域描述子的维数不以上述举例作为限制,其还可以是其他数值,本申请实施例不一一举例说明。或者,该检索描述子可以是从视觉信息中提取的待检索3D地图点描述子,该待检索3D地图点描述子用于表示对应3D地图点的局部特征。该待检索3D地图点描述子可以是一条向量,该向量的维数可以是任意正整数。
获取检索描述子的方式可以包括但不限于如下几种方式。一种可实现方式,本实施例的执行主体可以接收其他设备发送的检索描述子。例如,本实施例的执行主体可以为如图1所示的第一电子设备,第一电子设备可以接收第二电子设备发送的检索描述子。又例如,本实施例的执行主体可以为如图1所示的服务器,服务器可以接收第一电子设备或第二电子设备发送的检索描述子。另一种可实现方式,本实施例的执行主体可以接收其他设备发送的视觉信息,从视觉信息中提取检索描述子。例如,本实施例的执行主体可以为如图1所示的第一电子设备,第一电子设备可以接收第二电子设备发送的视觉信息,第一电子设备从视觉信息中提取检索描述子。又例如,本实施例的执行主体可以为如图1所示的服务器,服务器可以接收第一电子设备或第二电子设备发送的视觉信息,服务器从视觉信息中提取检索描述子。又一种可实现方式,本实施例的执行主体可以检测用户输入的视觉信息采集的操作,响应于该操作,触发自身传感器对真实环境进行视觉信息采集,得到视觉信息,从视觉信息中提取检索描述子。例如,本实施例的执行主体可以为如图1所示的第一电子设备,当第一电子设备检测到用户输入的视觉信息采集的操作时,响应于该操作,触发自身传感器对真实环境进行视觉信息采集,得到视觉信息,从视觉信息中提取检索描述子。该视觉信息采集的操作可以是通过点击、触摸、滑动、或抖动等方式启动传感器采集视觉信息,也可以是声控或者其它途径启动传感器采集视觉信息,本申请实施例对此不作限定。举例来说,第一电子设备检测到用户对用户界面上的拍摄按钮的触摸操作后,响应于该触摸操作,第一电子设备的摄像头被启动等等。
检索描述子的第n二值化数据可以是检索描述子的部分或全部二值化数据。一种示例,本实施例的执行主体可以对检索描述子进行二值化处理,得到检索描述子的二值化数据,从检索描述子的二值化数据中选取(也称为提取)部分或全部作为检索描述子的第n二值化数据。
本实施例的执行主体可以使用检索描述子的第n二值化数据,在S个3D地图描述子 的第n二值化数据中进行检索,以得到与检索描述子的第n二值化数据最相似或最相关的P个3D地图描述子。
P为正整数,P表示第i级检索筛选出的3D地图描述子的个数。P<T。
在一些实施例中,P<S。示例性的,通过第i级检索得到一个3D地图描述子集合,该3D地图描述子集合中的3D地图描述子的个数少于第i级检索前的3D地图描述子集合中的3D地图描述子的个数。在一些实施例中,P可以大于S。其具体解释说明可以参见下述图7所示实施例的解释说明,此处不再赘述。
当P<S,即P个3D地图描述子属于S个3D地图描述子,P个3D地图描述子各自的第n二值化数据与检索描述子的第n二值化数据的相似度或相关度,高于S个3D地图描述子中除了该P个3D地图描述子之外的其他3D地图描述子。其中,相似度或相关度的计算方式可以有很多实现方式,例如,通过计算两个3D地图描述子(3D地图描述子和检索描述子)各自的第n二值化数据的第一距离,确定两个3D地图描述子各自的第n二值化数据的相关度。其中,第一距离越小相关度越高。
本申请实施例中第一距离可以包括汉明距离等利用二值化数据得到的距离。例如,第一距离可以是汉明距离。又例如,第一距离可以是对两个二值化数据的对应位取差值的绝对值,并将所有差值的绝对值相加得到的一种距离。基于第一距离的检索指的是通过计算第一距离,确定相关度或相似度,以筛选3D地图描述子。
S103A、对P个3D地图描述子的压缩数据进行第m级解压缩,得到P个3D地图描述子的重构数据。
该重构数据可以是第一重构数据、第二重构数据、……第m重构数据等,m为正整数。应当理解的是,第一重构数据、第二重构数据和第三重构数据等中的“第一”、“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以第m重构数据为例进行解释说明。
对P个3D地图描述子的压缩数据进行第m级解压缩,得到P个3D地图描述子的第m重构数据。
通过S101A和S102A可以筛选得到P个3D地图描述子,通过S103A可以对这P个3D地图描述子的压缩数据进行第m级解压缩,得到这P个3D地图描述子的第m重构数据,以进一步基于第m重构数据进行检索。m为正整数。第m级解压缩可以包括反量化处理。第m级解压缩可以是阶段性解压缩(即完全解压缩的一部分),或者,也可以是完全解压缩。
P个3D地图描述子的第m重构数据可以是P个3D地图描述子各自的压缩数据的部分或全部数据经过第m级解压缩得到的。例如,P个3D地图描述子的第m重构数据可以是对P个3D地图描述子各自的压缩数据的部分或全部经过一种反量化处理得到的反量化数据。需要说明的是,该反量化数据也可以称之为重构数据,该重构数据可以是通过已有技术中的反量化方式得到。又例如,P个3D地图描述子的第m重构数据可以是对P个3D地图描述子各自的量化数据(压缩数据的一部分),进行反量化处理,得到P个反量化数据,之后再根据P个反量化数据和P个3D地图描述子各自的二值化数据(压缩数据的一部分)得到的。
在一些实施例中,第m级解压缩可以还可以包括熵解码、预测等其他解压缩处理,本申请实施例不一一举例说明。
S104A、根据检索描述子的部分数据或全部数据,在P个3D地图描述子的重构数据中进行第j级检索,以得到Q个3D地图描述子。
Q为正整数,且0<Q<P,0<P<T,0<S≤T,T表示3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
该重构数据可以是第一重构数据、第二重构数据、……第m重构数据等,m为正整数。应当理解的是,第一重构数据、第二重构数据和第三重构数据等中的“第一”、“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以第m重构数据为例进行解释说明。
检索描述子的部分数据或全部数据是指检索描述子的部分或全部分量。检索描述子的分量是指检索描述子这个向量中的一个维度的数值。例如,该检索描述子可以是一条向量,例如,M维的向量,M维中的每一维是该向量的一个分量。
与S102A类似,本实施例的执行主体可以使用检索描述子的部分数据或全部数据,在P个3D地图描述子的第m重构数据中进行检索,以得到与检索描述子的第m重构数据最相似或最相关的Q个3D地图描述子。Q可以小于P。也可以理解为,通过第j级检索得到另一个3D地图描述子集合,该3D地图描述子集合中的3D地图描述子的个数少于第i级检索得到的3D地图描述子的个数。
Q个3D地图描述子各自的第m重构数据与检索描述子的部分数据或全部数据的相似度或相关度,高于P个3D地图描述子中除了该Q个3D地图描述子之外的其他3D地图描述子。其中,相似度或相关度的计算方式可以有很多实现方式,例如,通过计算两个3D地图描述子(3D地图描述子的第m重构数据和检索描述子的部分或全部数据)的第二距离,确定两个3D地图描述子的相关度。第二距离可以包括但不限于欧式距离、内积距离、余弦距离、曼哈顿距离等。例如,欧式距离越小相关度越高,内积距离越大相关度越高。
当然可以理解的,在S104A之后可以执行一个条件判断步骤,在满足条件时,可以结束本实施例的检索,在不满足条件时,可以继续执行一级或多级检索。这个条件可以是任意条件,其可以根据需求进行合理设置,例如,条件可以是相似度或相关度高于或等于预设阈值,也可以是检索得到的3D地图描述子的个数小于或等于预设个数等。又例如,条件可以是检索得到用于定位的下述N个3D地图描述子。
本申请实施例的3D地图的检索方法是一个片段流程,在该片段流程之前和/或之后还可以包括其他级检索,换言之,3D地图的检索方法可以包括比图5A所示的更多级数的多级检索,例如,3级、4级或5级等等。例如,如图5A所示实施例的S101A之前还可以有更多级的检索,或者,如图5A所示实施例的S104A之后还可以有更多级的检索,此处不一一举例说明。
在一些实施例中,通过多级检索得到的Q个3D地图描述子可以用于定位。若Q个3D地图描述子中的N个3D地图描述子对应的3D地图点与检索描述子对应的3D地图点匹配,则可以根据N个3D地图描述子对应的3D地图点进行定位,以得到电子设备的位姿信息。该电子设备可以是采集上述视觉信息的电子设备。0<N≤Q。
本实施例,从S个3D地图描述子的压缩数据中提取S个3D地图描述子的二值化数据, 根据检索描述子的二值化数据,在S个3D地图描述子的二值化数据中进行第i级检索,筛选得到P个3D地图描述子。对P个3D地图描述子的压缩数据进行第m级解压缩,得到P个3D地图描述子的重构数据,根据检索描述子的部分数据或全部数据,在P个3D地图描述子的重构数据中进行第j级检索,以筛选出更少个数的3D地图描述子。至少两级检索中的一级检索使用压缩数据中的二值化数据,可以提升检索速度,另一级检索使用解压缩得到的重构数据,可以保证检索准确性。相较于在完全解压得到的3D地图的重构数据中进行检索,本申请实施例提供的3D地图的检索方法可以提升检索性能。
参见图5B,图5B是本申请实施例提供的一种3D地图的检索方法的片段流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S101B、从S个3D地图描述子的压缩数据中提取S个3D地图描述子的第一二值化数据,S个3D地图描述子对应3D地图中的多个3D地图点。
该第一二值化数据可以指代第一二值化数据、第二二值化数据、……第n二值化数据等任意一个,n为正整数。应当理解的是,第一二值化数据、第二二值化数据和第三二值化数据等中的“第一”、“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以第n二值化数据为例进行解释说明。
从S个3D地图描述子的压缩数据中提取S个3D地图描述子的第n二值化数据,S个3D地图描述子对应3D地图中的多个3D地图点。
S102B、根据检索描述子的第一二值化数据,在S个3D地图描述子的第一二值化数据中进行第i级检索,以得到P个3D地图描述子。
以下以第n二值化数据为例进行解释说明。可以根据检索描述子的第n二值化数据,在S个3D地图描述子的第n二值化数据中进行第i级检索,以得到P个3D地图描述子。
其中,S101B和S102B的具体解释说明可以参见图5A所示实施例的S101A和S102A。
S103B、从P个3D地图描述子的压缩数据中提取P个3D地图描述子的第二二值化数据。
该第二二值化数据可以指代第二二值化数据、第三二值化数据、……第q二值化数据等任意一个,q为正整数。应当理解的是,第二二值化数据和第三二值化数据等中的“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以第q二值化数据为例进行解释说明。一种示例,q=n+1。
通过S101B和S102B可以从S个3D地图描述子中筛选得到P个3D地图描述子,再从这P个3D地图描述子的压缩数据中提取P个3D地图描述子的第q二值化数据,以进一步基于第q二值化数据进行检索。P个3D地图描述子的第q二值化数据可以是P个3D地图描述子各自的压缩数据的部分或全部数据,例如,P个3D地图描述子的第q二值化数据可以是P个3D地图描述子各自的部分或全部二值化数据。
S个3D地图描述子的各个3D地图描述子的第n二值化数据,与P个3D地图描述子的各个3D地图描述子的第q二值化数据不同。一种可实现方式,该不同可以是长度不同,即S个3D地图描述子的各个3D地图描述子的第n二值化数据的长度,与P个3D地图描述子的各个3D地图描述子的长度不同。另一种可实现方式,该不同可以是第n二值化数据和第 q二值化数据所对应的二值化处理方式不同,即S个3D地图描述子的各个3D地图描述子的第n二值化数据所对应的二值化处理方式,与P个3D地图描述子的各个3D地图描述子所对应的二值化处理方式不同。例如,S个3D地图描述子的各个3D地图描述子的第n二值化数据是经一种二值化处理方式(例如,局部敏感哈希)得到的,P个3D地图描述子的各个3D地图描述子是经另一种二值化处理方式(例如,谱哈希)得到的。
第n二值化数据的长度,可以用第n二值化数据的比特数来衡量或表示。类似的,第q二值化数据的长度,可以用第q二值化数据的比特数来衡量或表示。
当P个3D地图描述子属于S个3D地图描述子(P<S)时,P个3D地图描述子的各个3D地图描述子的第n二值化数据在3D地图描述子的压缩数据中的位置,不同于该3D地图描述子的第q二值化数据在该3D地图描述子的压缩数据中的位置。该位置可以是起始位置或结束位置等。
一种示例,P个3D地图描述子的各个3D地图描述子的第n二值化数据所对应的原始3D地图描述子的分量,与相应的3D地图描述子的第q二值化数据所对应的原始3D地图描述子的分量不同。即一个3D地图描述子的第n二值化数据可以是该3D地图描述子的第一部分(例如,3D地图描述子的前128维的分量)的二值化数据,该3D地图描述子的第q二值化数据可以是该3D地图描述子的第二部分(例如,3D地图描述子的后128维的分量)的二值化数据。
当P个3D地图描述子属于S个3D地图描述子(P<S)时,P个3D地图描述子的各个3D地图描述子的第n二值化数据的长度,可以小于P个3D地图描述子的各个3D地图描述子的第q二值化数据的长度。第i级检索中的各个3D地图描述子的第n二值化数据的长度较短,可以提升检索速度,第j级检索中的3D地图描述子的第q二值化数据的长度较长,可以提升检索准确率。通过差异化的至少两级检索,以实现检索速度和检索准确率的综合提升。或者,P个3D地图描述子的各个3D地图描述子的第n二值化数据的长度,可以大于P个3D地图描述子的各个3D地图描述子的第q二值化数据的长度。或者,P个3D地图描述子的各个3D地图描述子的第n二值化数据的长度,可以等于P个3D地图描述子的各个3D地图描述子的第q二值化数据的长度。
S104B、根据检索描述子的第二二值化数据,在P个3D地图描述子的第二二值化数据中进行第j级检索,以得到Q个3D地图描述子。
以下以第q二值化数据为例进行解释说明。
根据检索描述子的第q二值化数据,在P个3D地图描述子的第q二值化数据中进行第j级检索,以得到Q个3D地图描述子。
S、P、Q、i和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
检索描述子的第q二值化数据可以是检索描述子的部分或全部二值化数据。一种示例,本实施例的执行主体可以对检索描述子进行二值化处理,得到检索描述子的二值化数据,从检索描述子的二值化数据中选取(也称为提取)部分或全部作为检索描述子的第n+1表示。需要说明的是,检索描述子的第n二值化数据与检索描述子的第q二值化数据可以相同,也可以不同。
与S102B类似,本实施例的执行主体可以使用检索描述子的第q二值化数据,在P个3D地图描述子的第q二值化数据中进行检索,以得到与检索描述子的第q二值化数据最相似或最相关的Q个3D地图描述子。Q可以小于P。也可以理解为,通过第j级检索得到另一个3D地图描述子集合,该3D地图描述子集合中的3D地图描述子的个数少于第i级检索得到的3D地图描述子的个数。
Q个3D地图描述子各自的第q二值化数据与检索描述子的第q二值化数据的相似度或相关度,高于P个3D地图描述子中除了该Q个3D地图描述子之外的其他3D地图描述子。其中,相似度或相关度的计算方式的解释说明可以参见S102B的相关解释说明,此处不再赘述。
可选的,上述S102B中的第i级检索和上述S104B中的第j级检索所采用的检索方式均为基于第一距离的检索,其具体解释说明可以参见图5A所示实施例的S102A的解释说明,此处不再赘述。
当然可以理解的,在S104B之后可以执行一个条件判断步骤,在满足条件时,可以结束本实施例的检索,在不满足条件时,可以继续执行一级或多级检索。这个条件可以是任意条件,其可以根据需求进行合理设置,例如,条件可以是相似度或相关度高于或等于预设阈值,也可以是检索得到的3D地图描述子的个数小于或等于预设个数等,本申请实施例不一一举例说明。
本申请实施例的3D地图的检索方法是一个片段流程,在该片段流程之前和/或之后还可以包括其他级检索,换言之,3D地图的检索方法可以包括比图5B所示的更多级数的多级检索,例如,3级、4级或5级等等。例如,如图5B所示实施例的S101B之前还可以有更多级的检索,或者,如图5B所示实施例的S104B之后还可以有更多级的检索,此处不一一举例说明。
在一些实施例中,通过多级检索得到的Q个3D地图描述子可以用于定位。若Q个3D地图描述子中的N个3D地图描述子对应的3D地图点与检索描述子对应的3D地图点匹配,则可以根据N个3D地图描述子对应的3D地图点进行定位,以得到电子设备的位姿信息。该电子设备可以是采集上述视觉信息的电子设备。0<N≤Q。
本实施例,从S个3D地图描述子的压缩数据中提取S个3D地图描述子的第一二值化数据,根据检索描述子的第一二值化数据,在S个3D地图描述子的第一二值化数据中进行第i级检索,筛选得到P个3D地图描述子。从P个3D地图描述子的压缩数据中提取P个3D地图描述子的第二二值化数据,根据检索描述子的第二二值化数据,在P个3D地图描述子的第二二值化数据中进行第j级检索,以筛选出更少个数的3D地图描述子。通过从压缩数据中提取一级检索的3D地图描述子的二值化数据,与一级检索交替进行,以在压缩状态的3D地图中进行至少两级检索,得到检索后的3D地图描述子。任意两级检索各自所使用的3D地图描述子的二值化数据所携带的信息内容不同或各自所使用的3D地图描述子的二值化数据的信息完整程度不同。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
参见图5C,图5C是本申请实施例提供的一种3D地图的检索方法的片段流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也 可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S101C、对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的第一重构数据,S个3D地图描述子对应3D地图中的多个3D地图点。
该第一重构数据可以指代第一重构数据、第二重构数据、……第m重构数据等任意一个,m为正整数。应当理解的是,第一重构数据、第二重构数据和第三重构数据等中的“第一”、“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以第一重构数据是第m重构数据为例进行解释说明。
对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的第m重构数据,S个3D地图描述子对应3D地图中的多个3D地图点。
S和m为正整数。S表示第i级检索中需要检索的3D地图描述子的个数。S<T,T表示3D地图中的3D地图描述子的总个数。
其中,S个3D地图描述子对应的多个3D地图点的个数可以大于S,也可以等于S。
S个3D地图描述子的压缩数据可以是S个区域描述子或S个3D地图点描述子经过压缩处理得到的。这里的压缩处理可以包括:量化处理。可选的,该压缩处理还可以包括以下至少一项:二值化处理、预测处理或熵编码处理等。
S个3D地图描述子的第m重构数据是对S个3D地图描述子各自的压缩数据的部分数据进行第m级解压缩得到的。
m为正整数。第m级解压缩可以包括反量化处理。第m级解压缩可以是阶段性解压缩(即完全解压缩的一部分)。
S个3D地图描述子的第m重构数据可以是S个3D地图描述子各自的压缩数据的部分数据经过第m级解压缩得到的。例如,S个3D地图描述子的第m重构数据可以是对S个3D地图描述子各自的压缩数据的部分经过一种反量化处理得到的反量化数据。需要说明的是,该反量化数据也可以称之为重构数据,该重构数据可以是通过已有技术中的反量化方式得到。又例如,S个3D地图描述子的第m重构数据可以是对S个3D地图描述子各自的一部分量化数据(压缩数据的一部分),进行反量化处理,得到S个反量化数据,之后再根据S个反量化数据和S个3D地图描述子各自的一部分二值化数据(压缩数据的一部分)得到的。
在一些实施例中,第m级解压缩可以还可以包括熵解码、预测等其他解压缩处理,本申请实施例不一一举例说明。
S102C、根据检索描述子的部分数据或全部数据,在S个3D地图描述子的第一重构数据中进行第i级检索,以得到P个3D地图描述子。
以下以第一重构数据是第m重构数据为例进行解释说明。
根据检索描述子的部分数据或全部数据,在S个3D地图描述子的第m重构数据中进行第i级检索,以得到P个3D地图描述子。
检索描述子的部分数据或全部数据是指检索描述子的部分或全部分量。检索描述子的分量是指检索描述子这个向量中的一个维度的数值。例如,该检索描述子可以是一条向量,例如,M维的向量,M维中的每一维是该向量的一个分量。
本实施例的执行主体可以使用检索描述子的部分数据或全部数据,在S个3D地图描述子的第m重构数据中进行检索,以得到与检索描述子的第m重构数据最相似或最相关的P个3D地图描述子。
在一些实施例中,P<S。示例性的,通过第i级检索得到一个3D地图描述子集合,该3D地图描述子集合中的3D地图描述子的个数少于第i级检索前的3D地图描述子集合中的3D地图描述子的个数。在一些实施例中,P可以大于S。其具体解释说明可以参见下述图7所示实施例的解释说明,此处不再赘述。
当P<S,即P个3D地图描述子属于S个3D地图描述子,P个3D地图描述子各自的第m重构数据与检索描述子的部分数据或全部数据的相似度或相关度,高于S个3D地图描述子中除了该P个3D地图描述子之外的其他3D地图描述子。其中,相似度或相关度的计算方式可以有很多实现方式,例如,通过计算两个3D地图描述子(3D地图描述子的第k重构数据和检索描述子的部分或全部数据)的第二距离,确定两个3D地图描述子的相关度。第二距离可以包括但不限于欧式距离、内积距离、余弦距离、曼哈顿距离等。例如,欧式距离越小相关度越高,内积距离越大相关度越高。
S103C、对P个3D地图描述子的压缩数据进行第k级解压缩,得到P个3D地图描述子的第二重构数据,S个3D地图描述子的压缩数据的解压缩过程包括第m级解压缩和第k级解压缩,或者,S个3D地图描述子的压缩数据的解压缩过程包括第k级解压缩,第k级解压缩包括第m级解压缩。
该第二重构数据可以指代第二重构数据、第三重构数据、……第k重构数据等任意一个,k为正整数,m<k。应当理解的是,第二重构数据和第三重构数据等中的“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以第二重构数据是第k重构数据为例进行解释说明。
对P个3D地图描述子的压缩数据进行第k级解压缩,得到P个3D地图描述子的第k重构数据,S个3D地图描述子的压缩数据的解压缩过程包括第m级解压缩和第k级解压缩,或者,S个3D地图描述子的压缩数据的解压缩过程包括第k级解压缩,第k级解压缩包括第m级解压缩。
通过S101C和S102C可以从S个3D地图描述子中筛选得到P个3D地图描述子,再对这P个3D地图描述子的压缩数据进行第k级解压缩得到P个3D地图描述子的第k重构数据,以进一步基于第k重构数据进行检索。在一些实施例中,k=m+1。
P个3D地图描述子的第k重构数据可以是P个3D地图描述子各自的压缩数据的部分或全部数据进行第k级解压缩得到的。
在一些实施例中,第i级检索和第j级检索所采用的检索方式均为基于第二距离的检索方式,P个3D地图描述子属于S个3D地图描述子,P个3D地图描述子的各个3D地图描述子的第m重构数据的失真度,与P个3D地图描述子的各个3D地图描述子的第k重构数据的失真度不同,P个3D地图描述子的各个3D地图描述子的第m重构数据的失真度用于表示各个3D地图描述子的第m重构数据与相应的原始3D地图描述子之间的差别程度,P个3D地图描述子的各个3D地图描述子的第k重构数据的失真度用于表示各个3D地图描述子的第k重构数据与相应的原始3D地图描述子之间的差别程度,其中,P<S。
在一些实施例中,P个3D地图描述子的各个3D地图描述子的第m重构数据的失真度,大于P个3D地图描述子的各个3D地图描述子的第k重构数据的失真度。至少两级检索中的后一级检索的结果相对于前一级检索的结果,失真度越来越小,从而提高了检索结果准确性。
举例而言,P个3D地图描述子属于S个3D地图描述子,以一个P个3D地图描述子中的一个3D地图描述子,m=1,k=2为例,该3D地图描述子的压缩数据包括第一量化数据和第二量化数据,该3D地图描述子的第一重构数据是对第一量化数据进行第一级解压缩得到,该3D地图描述子的第一重构数据可以包括该3D地图描述子的原始向量的部分分量的重构数据,该3D地图描述子的第二重构数据是对第二量化数据进行第二级解压缩得到,该3D地图描述子的第二重构数据可以包括该3D地图描述子的原始向量的另一部分分量的重构数据,即该3D地图描述子的压缩数据的解压缩过程包括第一(m=1)级解压缩和第二(k=2)级解压缩。
举例而言,P个3D地图描述子属于S个3D地图描述子,以一个P个3D地图描述子中的一个3D地图描述子,m=1,k=2为例,该3D地图描述子的压缩数据包括第一量化数据和第二量化数据,与上一举例不同,这里的第二量化数据可以是对第一量化数据的残差进行量化处理后得到的,该3D地图描述子的第一重构数据是对第一量化数据进行第一级解压缩得到,该3D地图描述子的第一重构数据可以包括该3D地图描述子的原始向量的第一重构数据(精度较低的重构数据),该3D地图描述子的第二重构数据是对第二量化数据进行第二级解压缩得到,该3D地图描述子的第二重构数据可以包括该3D地图描述子的上述残差数据的重构数据,将该3D地图描述子的第一重构数据和该3D地图描述子的第二重构数据相加,得到该3D地图描述子的原始向量的重构数据(精度较高的重构数据),即该3D地图描述子的压缩数据的解压缩过程包括第二(k=2)级解压缩,第二(k=2)级解压缩包括第一(m=1)级解压缩。
S104C、根据检索描述子的部分数据或全部数据,在P个3D地图描述子的第二重构数据中进行第j级检索,以得到Q个3D地图描述子。
以下以第二重构数据是第k重构数据为例进行解释说明。
根据检索描述子的部分数据或全部数据,在P个3D地图描述子的第k重构数据中进行第j级检索,以得到Q个3D地图描述子。
S、P、Q、i、j、k和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
其中,S104C的具体解释说明可以参见图5A所示实施例的S104A的解释说明,此处不再赘述。
当然可以理解的,在S104C之后可以执行一个条件判断步骤,在满足条件时,可以结束本实施例的检索,在不满足条件时,可以继续执行一级或多级检索。这个条件可以是任意条件,其可以根据需求进行合理设置,例如,条件可以是相似度或相关度高于或等于预设阈值,也可以是检索得到的3D地图描述子的个数小于或等于预设个数等,本申请实施例不一一举例说明。
本申请实施例的3D地图的检索方法是一个片段流程,在该片段流程之前和/或之后还可以包括其他级检索,换言之,3D地图的检索方法可以包括比图5C所示的更多级数的多级检索,例如,3级、4级或5级等等。例如,如图5C所示实施例的S101C之前还可以有更多级的检索,或者,如图5C所示实施例的S104C之后还可以有更多级的检索,此处不一一举例说明。
在一些实施例中,通过多级检索得到的Q个3D地图描述子可以用于定位。若Q个3D地图描述子中的N个3D地图描述子对应的3D地图点与检索描述子对应的3D地图点匹配,则可以根据N个3D地图描述子对应的3D地图点进行定位,以得到电子设备的位姿信息。该电子设备可以是采集上述视觉信息的电子设备。0<N≤Q。
本实施例,对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的第一重构数据,根据检索描述子的部分数据或全部数据,在S个3D地图描述子的第一重构数据中进行第i级检索,筛选出P个3D地图描述子。对P个3D地图描述子的压缩数据进行第k级解压缩,得到P个3D地图描述子的第二重构数据,根据检索描述子的部分数据或全部数据,在P个3D地图描述子的第二重构数据中进行第j级检索,以筛选出更少个数的3D地图描述子。通过解压缩得到一级检索的3D地图描述子的一种重构数据,与一级检索交替进行。至少两级检索中存在一级检索为阶段性解压缩,可以提升检索速度,至少两级检索的解压缩差异化设置,可以保证检索准确率。任意两级检索各自所使用的3D地图描述子的一种重构数据的解压缩程度不同或失真度不同。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
参见图5D,图5D是本申请实施例提供的一种3D地图的检索方法的片段流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S101D、对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的重构数据,S个3D地图描述子对应3D地图中的多个3D地图点。
该重构数据可以指代第一重构数据、第二重构数据、……第m重构数据等任意一个,m为正整数。应当理解的是,第一重构数据、第二重构数据和第三重构数据等中的“第一”、“第二”和“第三”没有先后顺序之分,仅为了区分彼此而已。以下以重构数据是第m重构数据为例进行解释说明。
对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的第一重构数据,S个3D地图描述子对应3D地图中的多个3D地图点。
S102D、根据检索描述子的部分数据或全部数据,在S个3D地图描述子的重构数据中进行第i级检索,以得到P个3D地图描述子。
其中,S101D和S102D的解释说明可以参见图5C的S101C和S102C的解释说明,此处不再赘述。
S103D、从P个3D地图描述子的压缩数据中提取P个3D地图描述子的二值化数据。
S104D、根据检索描述子的二值化数据,在P个3D地图描述子的二值化数据中进行第j级检索,以得到Q个3D地图描述子。
S、P、Q、i、m和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数
其中,S103D和S104D的解释说明可以参见图5B的S103B和S104B的解释说明,此处不再赘述。
本实施例,对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述 子的重构数据,根据检索描述子的部分数据或全部数据,在S个3D地图描述子的重构数据中进行第i级检索,筛选出P个3D地图描述子。从P个3D地图描述子的压缩数据中提取所述P个描述子的二值化数据,根据检索描述子的二值化数据,在P个3D地图描述子的二值化数据中进行第j级检索,以筛选出更少个数的3D地图描述子。将从压缩数据提取或解压缩,和检索交替进行,以在3D地图中进行多级检索,得到可以用于定位的3D地图描述子。至少两级检索中存在一级检索为解压缩,可以提升检索准确性,至少两级检索中存在一级检索为从压缩数据中提取,可以提升检索速度。相较于在完全解压得到的3D地图的重构数据中进行检索,本申请实施例提供的3D地图的检索方法可以提升检索速度,并可以保证检索准确率。
需要说明的是,上述图5A至图5C所示的检索方法流程可以相互灵活组合,以形成各种不同的多级检索方法。
参见图6,图6是本申请实施例提供的一种3D地图的检索方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例以多级检索为4级检索为例进行举例说明,其中,第一级检索和第二级检索采集基于第一距离的检索方式,第三级检索和第四级检索采用基于第二距离的检索方式。该方法包括但不限于以下步骤:
开始执行本申请实施例的下述方法步骤。
S201、获取检索描述子。该检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征。
其中,S201的解释说明可以参见图5A所示实施例的S102A的解释说明,此处不再赘述。
S202、从S
1个3D地图描述子的压缩数据中提取S
1个3D地图描述子的第一(n=1)二值化数据,并获取检索描述子的第一(n=1)二值化数据。
S
1个3D地图描述子可以是S
1个区域描述子,或者S
1个3D地图点描述子。其中,一个区域描述子对应多个3D地图点,其具体解释说明可以参见前述实施例的解释说明,此处不再赘述。
从S
1个3D地图描述子的压缩数据的解释说明可以参见图5A至图5D所示实施例,此处不再赘述。
检索描述子的第一二值化数据可以是检索描述子的部分二值化数据。一种示例,本实施例的执行主体可以对检索描述子进行二值化处理,得到检索描述子的二值化数据,从检索描述子的二值化数据中选取部分作为检索描述子的第一二值化数据。
S203、根据检索描述子的第一(n=1)二值化数据,在S
1个3D地图描述子的第一二值化数据中进行第一(i=1)级检索,以得到P
1个3D地图描述子。
本实施例的执行主体可以使用检索描述子的第一二值化数据,在S
1个3D地图描述子的第一(n=1)二值化数据中进行基于第一距离的检索,以得到与检索描述子的第一二值化数据最相似或最相关的P
1个3D地图描述子。P
1小于S
1。也可以理解为,通过检索得到一个子集,这个子集中的3D地图描述子的个数少于检索前的3D地图描述子集合中的3D地图描述子的个数。
S204、从P
1个3D地图描述子的压缩数据中提取P
1个3D地图描述子的第二(n=2)二值化数据,并获取检索描述子的第二(n=2)二值化数据。
检索描述子的第二(n=2)二值化数据可以是检索描述子的部分或全部二值化数据。检索描述子的第二(n=2)二值化数据与检索描述子的第一(n=1)二值化数据的比特数不同。例如,检索描述子的第二(n=2)二值化数据的比特数大于检索描述子的第一(n=1)二值化数据的比特数。本实施例的第二二值化数据的比特开销可以大于第一二值化数据的比特开销,这样可以提升前一级检索的检索速度,并且可以保障后一级检索的准确率。
S205、根据检索描述子的第二(n=2)二值化数据,在P
1个3D地图描述子的第二(n=2)二值化数据中进行第二(j=2)级检索,以得到Q
1个3D地图描述子。
本实施例的执行主体可以使用检索描述子的第二二值化数据,在P
1个3D地图描述子的第二二值化数据中进行基于第一距离的检索,以得到与检索描述子的第二二值化数据最相似或最相关的Q
1个D地图描述子。Q
1小于或等于P
1。也可以理解为,通过检索得到另一个子集,这个子集中的3D地图描述子的个数少于步骤203检索得到的3D地图描述子集合中的3D地图描述子的个数。
S206、对Q
1个3D地图描述子的压缩数据进行第一(m=1)级解压缩,得到Q
1个3D地图描述子的第一(m=1)重构数据。
S207、根据检索描述子的部分数据或全部数据,在Q
1个3D地图描述子的第一(m=1)重构数据中进行第三级检索,以得到Q
2个3D地图描述子。
一种示例,本实施例的执行主体可以使用检索描述子的部分数据或全部数据,在Q
1个描述子的第一(m=1)重构数据中进行基于第二距离的检索,以得到与检索描述子的部分数据或全部数据最相似或最相关的Q
2个3D地图描述子。Q
2小于或等于Q
1。也可以理解为,通过检索得到另一个子集,这个子集中的3D地图描述子的个数少于步骤205检索得到的3D地图描述子集合中的3D地图描述子的个数。
相较于前两级基于第一距离的检索,第三级采用基于第二距离的检索可以提升检索准确率。
S208、对Q
2个3D地图描述子的第二(k=2)级解压缩,得到Q
2个3D地图描述子的第二(k=2)重构数据。
一种示例,3D地图描述子的第一(m=1)重构数据和第二(k=2)重构数据的失真度不同。本实施例的3D地图描述子的第一(m=1)重构数据的失真度高于第二(k=2)重构数据的失真度,这样可以保障后一级检索的准确率。
S209、根据检索描述子的全部数据,在Q
2个3D地图描述子的第二(k=2)重构数据中进行第四级检索,以得到Q
3个3D地图描述子。
一种示例,本实施例的执行主体可以使用检索描述子的全部数据,在Q
2个3D地图描述子的第二(k=2)重构数据中进行检索,以得到与检索描述子的全部数据最相似或最相关的Q
3个3D地图描述子。Q
3小于或等于Q
2。也可以理解为,通过检索得到另一个子集,这个子集中的3D地图描述子的个数少于步骤207检索得到的3D地图描述子集合中的3D地图描述子的个数。
S210、根据Q
3个3D地图描述子对应的3D地图点进行定位,以得到电子设备的位姿 信息。
本实施例,通过从压缩数据中提取3D地图描述子的二值化数据或解压缩得到3D地图描述子的重构数据,与一级检索交替进行,以在3D地图中进行多级检索,得到可以用于定位的3D地图描述子。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
参见图7,图7是本申请实施例提供的一种3D地图的检索方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例以图5A所示实施例的S个3D地图描述子为S个代表3D地图描述子进行举例说明。S个代表3D地图描述子各自分别对应至少一个数据集合。上述图5A的102A的具体可以方式可以包括但不限于以下步骤:
S1021、根据检索描述子的二值化数据,在S个代表3D地图描述子的二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子。
至少一个代表3D地图描述子对应至少一个数据集合,至少一个数据集合各自包括多个3D地图描述子的压缩数据。每个数据集合中的3D地图描述子具有一定相关性或相似性。
S个代表3D地图描述子的二值化数据,检索描述子的二值化数据可以是检索描述子的部分或全部二值化数据。本实施例的执行主体可以使用检索描述子的二值化数据,在S个代表3D地图描述子的二值化数据中进行基于第一距离的检索,以得到与检索描述子的二值化数据最相似或最相关的至少一个代表3D地图描述子。至少一个代表3D地图描述子的个数小于或等于S。
S1022、将至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为P个3D地图描述子。
通过检索得到的至少一个代表3D地图描述子,得到至少一个数据集合,从而得到至少一个数据集合中的P个3D地图描述子的压缩数据。
举例而言,S个代表3D地图描述子为T
1、T
2和T
3,T
1对应数据集合1,T
2对应数据集合2,T
3对应数据集合3。通过检索得到的至少一个代表3D地图描述子为T
3,从而得到数据集合3,数据集合3中可以包括P个3D地图描述子的压缩数据。
本实施例,通过在较少数量的代表3D地图描述子进行一级检索,以提升检索速度,之后可以在代表3D地图描述子对应的数据集合中进行一级或多级检索,以提升检索准确率。相较于在完全解压得到的3D地图的重构数据中进行检索,可以提升检索速度,并可以保证检索准确率。
需要说明的是图5C至图5D所示实施例的S个3D地图描述子为S个代表3D地图描述子的具体实施方式,与上述图7所示实施例类似。上述图5B的102B,或者图5C的102C,或者图5D的102D的具体可以方式可以参照图7所示实施例,此处不再赘述。
参见图8和图9,图8是本申请实施例提供的一种3D地图的检索方法的流程示意图。图9是本申请实施例提供的一种3D地图的检索方法的处理过程示意图。本实施例包括服 务器和电子设备。该方法包括但不限于以下步骤:
S401、服务器根据S个3D地图描述子的各个分量和预设阈值向量的对应分量,确定S个3D地图描述子的各个分量分别与预设阈值向量的对应分量之间的大小关系。
S402、服务器对上述大小关系进行二值化处理,得到S个3D地图描述子各自的二值化数据。
S403、服务器对S个3D地图描述子的各个分量分别与预设阈值向量的对应分量之间差值的绝对值进行量化处理,得到S个3D地图描述子各自的量化数据。
其中,预设阈值向量所包括的各个分量为任意数值。
S404、服务器对S个3D地图描述子各自的二值化数据和量化数据进行封装,得到3D地图的码流。
S405、服务器向电子设备发送3D地图的码流。
S406、电子设备获取检索描述子。
参照图9所示,电子设备可以从传感器所采集的视觉信息中提取检索描述子。
S407、电子设备对3D地图的码流进行解封装,得到S个3D地图描述子各自的二值化数据和量化数据,从中提取S个3D地图描述子各自的二值化数据。
参照图9所示,以S个3D地图描述子为5个3D地图描述子(T
1、T
2、T
3、T
4和T
5)为例,电子设备可以对3D地图的码流进行解封装,得到如图9所示的5个3D地图描述子各自的二值化数据和量化数据。
S408、电子设备根据检索描述子的二值化数据,在S个3D地图描述子各自的二值化数据中进行第一级检索,以得到P个3D地图描述子。
检索描述子的二值化数据通过如下方式获取:电子设备可以根据检索描述子的各个分量和上述预设阈值向量的对应分量,确定检索描述子的各个分量与预设阈值向量的对应分量之间的大小关系。对该大小关系进行二值化处理,得到检索描述子的二值化数据。在S个3D地图描述子各自的二值化数据中进行第一级检索可以采用基于第一距离的检索方式。
以图9做进一步举例说明,根据检索描述子的二值化数据,在5个3D地图描述子(T
1、T
2、T
3、T
4和T
5)中进行第一级检索。例如,可以分别计算5个3D地图描述子(T
1、T
2、T
3、T
4和T
5)各自的二值化数据与检索描述子的二值化数据之间的汉明距离,根据汉明距离筛选出3D地图描述子。这里以筛选出2个3D地图描述子为例,即筛选出如图9所示虚线框的T
1和T
2。也即P=2。
S409、电子设备对P个3D地图描述子各自的量化数据进行解压缩,得到P个3D地图描述子各自的重构数据。
电子设备可以对P个3D地图描述子各自的量化数据进行反量化处理,得到P个3D地图描述子各自的反量化数据。根据P个3D地图描述子各自的反量化数据和二值化数据,得到P个3D地图描述子各自的重构数据。
S410、电子设备根据检索描述子,在P个3D地图描述子各自的重构数据中进行第二级检索,以得到Q个3D地图描述子。
在P个3D地图描述子各自的重构数据中进行第二级检索可以采集基于第二距离的 检索方式。
以图9做进一步举例说明,根据检索描述子的全部分量,在T
1和T
2中进行第二级检索。例如,可以分别计算T
1和T
2各自的重构数据与检索描述子之间的欧式距离,根据欧式距离筛选出3D地图描述子。这里以筛选出1个3D地图描述子为例,即筛选出如图9所示的T
1。也即Q=1。
本实施例,通过服务器对3D地图的S个3D地图描述子进行压缩,得到S个3D地图描述子各自的二值化数据和量化数据,以减少传输3D地图所需的资源开销。通过电子设备获取S个3D地图描述子的二值化数据,根据检索描述子的二值化数据和S个3D地图描述子的二值化数据,采集基于第一距离的检索方式,快速筛选得到P个3D地图描述子,以提升检索速度。通过电子设备获取P个3D地图描述子的重构数据,根据检索描述子和P个3D地图描述子的重构数据,采集基于第二距离的检索方式,精准筛选得到Q个3D地图描述子,以提升检索精度。
上文结合附图对本申请实施例的3D地图的检索方法进行了详细的介绍,下面结合图10和图11对本申请实施例的3D地图的检索装置进行介绍。应理解,3D地图的检索装置能够执行本申请实施例的3D地图的检索方法。为了避免不必要的重复,下面在介绍本申请实施例的3D地图的检索装置时适当省略重复的描述。
参见图10,图10为本申请实施例提供的一种3D地图的检索装置的结构示意图。如图10所示,该3D地图的检索装置1000可以包括:检索模块1001、提取模块1002和解压缩模块1003。
在第一种可能的实现方式中,提取模块1002,用于从S个3D地图描述子的压缩数据中提取S个3D地图描述子的二值化数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块1001,用于根据检索描述子的二值化数据,在所述S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;解压缩模块1003,用于对所述P个3D地图描述子的压缩数据进行第m级解压缩,得到所述P个3D地图描述子的重构数据;所述P个3D地图描述子的压缩数据的解压缩过程至少包括所述第m级解压缩;所述检索模块1001,用于根据所述检索描述子的部分数据或全部数据,在所述P个3D地图描述子的重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
在一些实施例中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
在一些实施例中,所述第i级检索所采用的检索方式为基于第一距离的检索方式,所述第j级检索所采用的检索方式为基于第二距离的检索方式。
在一些实施例中,所述装置还包括:获取模块,用于:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,接收所述视 觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。
在一些实施例中,在N<Q的情况下,所述解压缩模块1003还用于:对所述Q个3D地图描述子的压缩数据进行第k级解压缩,以得到Q个3D地图描述子的重构数据;根据所述检索描述子的部分数据或全部数据,在所述Q个3D地图描述子的重构数据中进行第r级检索,以得到所述N个3D地图描述子;其中,N<Q<P,所述P个3D地图描述子的压缩数据的解压缩过程包括所述第m级解压缩和所述第k级解压缩,r和k为正整数,m<k,j<r≤L。
在一些实施例中,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述解压模块1003具体用于:对所述P个3D地图描述子各自的量化数据进行反量化处理,得到P个反量化数据,所述P个反量化数据用作所述P个3D地图描述子的重构数据;对所述Q个3D地图描述子各自的量化数据,进行反量化处理,得到Q个反量化数据;根据所述Q个反量化数据和所述Q个3D地图描述子各自的二值化数据,得到所述Q个3D地图描述子各自的重构数据。
在一些实施例中,在N=Q的情况下,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述解压缩模块1003,具体用于:对所述P个3D地图描述子各自的量化数据,进行反量化处理,得到P个反量化数据;根据所述P个反量化数据和所述P个3D地图描述子各自的二值化数据,得到所述P个3D地图描述子各自的重构数据。
在一些实施例中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块1001用于:根据所述检索描述子的二值化数据,在所述S个代表3D地图描述子的二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
在第二种可能的实现方式中,提取模块1002,用于从S个3D地图描述子的压缩数据中提取所述S个3D地图描述子的第一二值化数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块1001,用于根据检索描述子的第一二值化数据,在所述S个3D地图描述子的第一二值化数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;所述提取模块1002,还用于从所述P个3D地图描述子的压缩数据中提取所述P个3D地图描述子的第二二值化数据;所述检索模块1001,用于根据所述检索描述子的第二二值化数据,在所述P个3D地图描述子的第二二值化数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
在一些实施例中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,用于根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
在一些实施例中,所述第i级检索和所述第j级检索所采用的检索方式均为基于第一距离的检索,所述P个3D地图描述子属于所述S个3D地图描述子,所述P个3D地图描述子的各个3D地图描述子的第一二值化数据在所述3D地图描述子的压缩数据中的位置,不同于所述3D地图描述子的第二二值化数据在所述3D地图描述子的压缩数据中的位置,其中,P<S。
在一些实施例中,所述P个3D地图描述子的各个3D地图描述子的第一二值化数据的长度,小于所述P个3D地图描述子的各个3D地图描述子的第二二值化数据的长度。
在一些实施例中,所述装置还包括:获取模块,用于:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的第一二值化数据和第二二值化数据。
在一些实施例中,所述检索描述子的第一二值化数据的长度等于所述S个3D地图描述子的各个3D地图描述子的第一二值化数据的长度,和/或,所述检索描述子的第二二值化数据的长度等于述S个3D地图描述子的各个3D地图描述子的第二二值化数据的长度。
在一些实施例中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块1001具体用于:根据所述检索描述子的第一二值化数据,在所述S个代表3D地图描述子的第一二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
在第三种可能的实现方式中,解压缩模块1003,用于对S个3D地图描述子的压缩数据进行第m级解压缩,以得到S个3D地图描述子的第一重构数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块1001,用于根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的第一重构数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;所述解压缩模块1003,还用于对所述P个3D地图描述子的压缩数据进行第k级解压缩,得到所述P个3D地图描述子的第二重构数据,所述S个3D地图描述子的压缩数据的解压缩过程包括所述第m级解压缩和所述第k级解压缩,或者,所述S个3D地图描述子的压缩数据的解压缩过程包括所述第k级解压缩,所述第k级解压缩包括第m级解压缩;检索模块1001,用于根据所述检索描述子的部分或全部,在所述P个3D地图描述子的第二重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j、k和m为正整数,且0<Q<P,0<P<T, 0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
在一些实施例中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,用于根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
在一些实施例中,所述第i级检索和所述第j级检索所采用的检索方式均为基于第二距离的检索方式,所述P个3D地图描述子属于所述S个3D地图描述子,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度,与所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度不同,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度用于表示所述各个3D地图描述子的第一重构数据与相应的原始3D地图描述子之间的差别程度,所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度用于表示所述各个3D地图描述子的第二重构数据与相应的原始3D地图描述子之间的差别程度,其中,P<S。
在一些实施例中,所述P个3D地图描述子的各个3D地图描述子的第一重构数据的失真度,大于所述P个3D地图描述子的各个3D地图描述子的第二重构数据的失真度。
在一些实施例中,所述装置还包括:获取模块,用于:接收所述检索描述子,并获取所述检索描述子的部分数据或全部数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并获取所述检索描述子的部分数据或全部数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并获取所述检索描述子的部分数据或全部数据。
在一些实施例中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块1001具体用于:根据所述检索描述子的部分数据或全部数据,在所述S个代表3D地图描述子的第m重构数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
在第四种可能的实现方式中,解压缩模块1003,用于对S个3D地图描述子的压缩数据进行第m级解压缩,得到S个3D地图描述子的重构数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块1001,用于根据检索描述子的部分数据或全部数据,在所述S个3D地图描述子的重构数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;提取模块1002,用于从所述P个3D地图描述子的压缩数据中提取所述P个描述子的二值化数据;所述检索模块1001,还用于根据所述检索描述子的二值化数据,在所述P个3D地图描述子的二值化数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、m和j为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
在一些实施例中,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,用于根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
在一些实施例中,所述第i级检索所采用的检索方式为基于第二距离的检索方式,所述第j级检索所采用的检索方式为基于第一距离的检索方式。
在一些实施例中,所述装置还包括:获取模块,用于:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。
在一些实施例中,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块1001具体用于:根据所述检索描述子的部分数据或全部数据,在所述S个代表3D地图描述子的第m重构数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
需要说明的是,3D地图的检索装置1000可以执行图5A至图5D任一或图6或图7所示实施例的3D地图的检索装置方法,或者,执行图8所示实施例的S406-S410的相关内容,或者,执行图9所示实施例的相关内容。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
图11为用于本申请实施例的译码装置1100的一种实现方式的示意性框图。其中,译码装置1100可以包括处理器1101、存储器1102和总线系统1103。其中,处理器1101和存储器1102通过总线系统1103相连,该存储器1102用于存储指令,该处理器1101用于执行该存储器1102存储的指令,以执行本申请描述的各种3D地图的检索方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1101可以是中央处理单元(central processingunit,CPU),该处理器1101还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1102可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1102。存储器1102可以包括由处理器1101使用总线1103访问的代码和数据11021。存储器1102可以进一步包括操作系统11023和应用程序11022,该应用程序11022包括允许处理器1101执行本申请描述的3D地图的检索方法的至少一个程序。例如,应用程序11022可以包括应用1至N,其进一步包括执行在本申请描述的3D地图的检索方法的3D地图应用。
该总线系统1103除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总 线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1103。
可选的,译码装置1100还可以包括一个或多个输出设备,诸如显示器1104。在一个示例中,显示器1104可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1104可以经由总线1103连接到处理器1101。
需要指出的是,译码装置1100可以执行本申请中的3D地图的检索方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
- 一种3D地图的检索方法,其特征在于,所述方法包括:从S个3D地图描述子的压缩数据中提取S个3D地图描述子的二值化数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;根据检索描述子的二值化数据,在所述S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;对所述P个3D地图描述子的压缩数据进行第m级解压缩,得到所述P个3D地图描述子的重构数据;所述P个3D地图描述子的压缩数据的解压缩过程至少包括所述第m级解压缩;根据所述检索描述子的部分数据或全部数据,在所述P个3D地图描述子的重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
- 根据权利要求1所述的方法,其特征在于,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图点匹配,N为正整数,0<N≤Q,所述方法还包括:根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
- 根据权利要求1或2所述的方法,其特征在于,所述第i级检索所采用的检索方式为基于第一距离的检索方式,所述第j级检索所采用的检索方式为基于第二距离的检索方式。
- 根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。
- 根据权利要求2所述的方法,其特征在于,在N<Q的情况下,所述方法还包括:对所述Q个3D地图描述子的压缩数据进行第k级解压缩,以得到Q个3D地图描述子的重构数据;根据所述检索描述子的部分数据或全部数据,在所述Q个3D地图描述子的重构数据中进行第r级检索,以得到所述N个3D地图描述子;其中,N<Q<P,所述P个3D地图描述子的压缩数据的解压缩过程包括所述第m级解压缩和所述第k级解压缩,r和k为正整数,m<k,j<r≤L。
- 根据权利要求5所述的方法,其特征在于,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述对所述P个3D地图描述子的压缩数据进行第m级解压缩得到所述P个3D地图描述子的重构数据,包括:对所述P个3D地图描述子各自的量化数据进行反量化处理,得到P个反量化数据,所述P个反量化数据用作所述P个3D地图描述子的重构数据;所述对所述Q个3D地图描述子的压缩数据进行第k级解压缩得到所述Q个3D地图描述子的重构数据,包括:对所述Q个3D地图描述子各自的量化数据,进行反量化处理,得到Q个反量化数据;根据所述Q个反量化数据和所述Q个3D地图描述子各自的二值化数据,得到所述Q个3D地图描述子各自的重构数据。
- 根据权利要求2所述的方法,其特征在于,在N=Q的情况下,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述对所述P个3D地图描述子的压缩数据进行第m级解压缩得到所述P个3D地图描述子的重构数据,包括:对所述P个3D地图描述子各自的量化数据,进行反量化处理,得到P个反量化数据;根据所述P个反量化数据和所述P个3D地图描述子各自的二值化数据,得到所述P个3D地图描述子各自的重构数据。
- 根据权利要求1至7任一项所述的方法,其特征在于,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述根据检索描述子的二值化数据,在所述S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子,包括:根据所述检索描述子的二值化数据,在所述S个代表3D地图描述子的二值化数据中进行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
- 一种3D地图的检索装置,其特征在于,所述装置包括:提取模块,用于从S个3D地图描述子的压缩数据中提取S个3D地图描述子的二值化数据,所述S个3D地图描述子对应3D地图中的多个3D地图点;检索模块,用于根据检索描述子的二值化数据,在所述S个3D地图描述子的二值化数据中进行第i级检索,以得到P个3D地图描述子;所述检索描述子是从电子设备的传感器采集的视觉信息所提取出对应于真实环境的特征;解压缩模块,用于对所述P个3D地图描述子的压缩数据进行第m级解压缩,得到所述P个3D地图描述子的重构数据;所述P个3D地图描述子的压缩数据的解压缩过程至少包括所述第m级解压缩;所述检索模块,用于根据所述检索描述子的部分数据或全部数据,在所述P个3D地图描述子的重构数据中进行第j级检索,以得到Q个3D地图描述子,S、P、Q、i、j和m为正整数,且0<Q<P,0<P<T,0<S≤T,T表示所述3D地图中的3D地图描述子的总个数,j=i+1,1≤i<L,1<j≤L,L表示所述3D地图的检索的总级数或者检索级数阈值,L为大于1的正整数。
- 根据权利要求9所述的装置,其特征在于,所述Q个3D地图描述子中的N个3D地图描述子用于定位,所述N个3D地图描述子对应的3D地图点与所述检索描述子对应的3D地图 点匹配,N为正整数,0<N≤Q,所述装置还包括:位姿确定模块;所述位姿确定模块,根据所述N个3D地图描述子对应的3D地图点进行定位,以得到所述电子设备的位姿信息。
- 根据权利要求9或10所述的装置,其特征在于,所述第i级检索所采用的检索方式为基于第一距离的检索方式,所述第j级检索所采用的检索方式为基于第二距离的检索方式。
- 根据权利要求9至11任一项所述的装置,其特征在于,所述装置还包括:获取模块,用于:接收所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,接收所述视觉信息,从所述视觉信息中提取所述检索描述子,并对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据;或者,响应于用户输入的视觉信息采集的操作,触发所述传感器对所述真实环境进行视觉信息采集,得到所述视觉信息,从所述视觉信息中提取所述检索描述子,对所述检索描述子进行二值化处理,以得到所述检索描述子的二值化数据。
- 根据权利要求10所述的装置,其特征在于,在N<Q的情况下,所述解压缩模块还用于:对所述Q个3D地图描述子的压缩数据进行第k级解压缩,以得到Q个3D地图描述子的重构数据;根据所述检索描述子的部分数据或全部数据,在所述Q个3D地图描述子的重构数据中进行第r级检索,以得到所述N个3D地图描述子;其中,N<Q<P,所述P个3D地图描述子的压缩数据的解压缩过程包括所述第m级解压缩和所述第k级解压缩,r和k为正整数,m<k,j<r≤L。
- 根据权利要求13所述的装置,其特征在于,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述解压模块具体用于:对所述P个3D地图描述子各自的量化数据进行反量化处理,得到P个反量化数据,所述P个反量化数据用作所述P个3D地图描述子的重构数据;对所述Q个3D地图描述子各自的量化数据,进行反量化处理,得到Q个反量化数据;根据所述Q个反量化数据和所述Q个3D地图描述子各自的二值化数据,得到所述Q个3D地图描述子各自的重构数据。
- 根据权利要求10所述的装置,其特征在于,在N=Q的情况下,所述P个3D地图描述子的压缩数据包括P个3D地图描述子各自的二值化数据和量化数据,所述解压缩模块具体用于:对所述P个3D地图描述子各自的量化数据,进行反量化处理,得到P个反量化数据;根据所述P个反量化数据和所述P个3D地图描述子各自的二值化数据,得到所述P个3D地图描述子各自的重构数据。
- 根据权利要求9至15任一项所述的装置,其特征在于,所述S个3D地图描述子为S个代表3D地图描述子,所述S个代表3D地图描述子各自分别对应至少一个数据集合,所述至少一个数据集合的各个数据集合包括至少一个3D地图描述子,所述检索模块用于:根据所述检索描述子的二值化数据,在所述S个代表3D地图描述子的二值化数据中进 行第i级检索,以得到至少一个代表3D地图描述子;将所述至少一个代表3D地图描述子各自对应的数据集合中的3D地图描述子,作为所述P个3D地图描述子。
- 一种3D地图的检索装置,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-8中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/098483 WO2022252235A1 (zh) | 2021-06-04 | 2021-06-04 | 3d地图的解码装置和方法、及3d地图的编码码流 |
PCT/CN2021/098482 WO2022252234A1 (zh) | 2021-06-04 | 2021-06-04 | 3d地图的编码装置和方法 |
CNPCT/CN2021/098483 | 2021-06-04 | ||
CNPCT/CN2021/098482 | 2021-06-04 | ||
PCT/CN2021/105624 WO2022252346A1 (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117460972A true CN117460972A (zh) | 2024-01-26 |
Family
ID=84322741
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180098947.9A Pending CN117413523A (zh) | 2021-06-04 | 2021-07-05 | 3d地图的编解码方法及装置 |
CN202180098601.9A Pending CN117397242A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的压缩、解压缩方法和装置 |
CN202180099015.6A Pending CN117461056A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
CN202180099018.XA Pending CN117460972A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180098947.9A Pending CN117413523A (zh) | 2021-06-04 | 2021-07-05 | 3d地图的编解码方法及装置 |
CN202180098601.9A Pending CN117397242A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的压缩、解压缩方法和装置 |
CN202180099015.6A Pending CN117461056A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US20240111793A1 (zh) |
EP (3) | EP4336223A1 (zh) |
KR (3) | KR20240013238A (zh) |
CN (4) | CN117413523A (zh) |
WO (4) | WO2022252337A1 (zh) |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100238066B1 (ko) * | 1996-06-26 | 2000-01-15 | 윤종용 | 양자화활동도를 이용한 비트 발생량 제어방법 및 그 영상 부호화장치 |
JP2000285121A (ja) * | 1999-03-30 | 2000-10-13 | Sony Corp | 地図検索装置、地図検索方法、地図検索制御プログラムを記録した記録媒体、ナビゲーション装置、ナビゲート方法及びナビゲート制御プログラムを記録した記録媒体 |
KR100668714B1 (ko) * | 2005-01-14 | 2007-01-16 | 한국전자통신연구원 | 효과적인 텍스처 매핑을 위한 3차원 메쉬 정보의 텍스처좌표 부호화 및 복호화 방법 |
CN102611892B (zh) * | 2006-03-16 | 2014-10-08 | 华为技术有限公司 | 在编码过程中实现自适应量化的方法及装置 |
KR20110093258A (ko) * | 2010-02-12 | 2011-08-18 | 삼성전자주식회사 | 맵 데이터 송수신 장치 및 방법 |
US20120306850A1 (en) * | 2011-06-02 | 2012-12-06 | Microsoft Corporation | Distributed asynchronous localization and mapping for augmented reality |
FR3009635B1 (fr) * | 2013-08-08 | 2016-08-19 | St Microelectronics Sa | Procede de recherche d'une image similaire dans une banque d'images a partir d'une image de reference |
CN103745498B (zh) * | 2014-01-16 | 2017-01-04 | 中国科学院自动化研究所 | 一种基于图像的快速定位方法 |
CN104794219A (zh) * | 2015-04-28 | 2015-07-22 | 杭州电子科技大学 | 一种基于地理位置信息的场景检索方法 |
JP6817961B2 (ja) * | 2015-12-14 | 2021-01-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置 |
KR20170082797A (ko) * | 2016-01-07 | 2017-07-17 | 주식회사 케이티 | 컨텐츠 기반 영상 검색을 위한 특징 서술자 부호화 방법 및 장치 |
EP3407607A1 (en) * | 2017-05-24 | 2018-11-28 | Thomson Licensing | Method and device for encoding and reconstructing a point cloud |
CN107590814A (zh) * | 2017-09-01 | 2018-01-16 | 上海斐讯数据通信技术有限公司 | 一种三维图像的二值化处理方法及系统 |
CN108182205A (zh) * | 2017-12-13 | 2018-06-19 | 南京信息工程大学 | 一种基于sift的hash算法的图像快速检索方法 |
JP7273029B2 (ja) * | 2018-04-10 | 2023-05-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
EP4343702A3 (en) * | 2018-10-09 | 2024-05-29 | Panasonic Intellectual Property Corporation of America | Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device |
CN111247798B (zh) * | 2019-01-10 | 2022-03-15 | 深圳市大疆创新科技有限公司 | 对三维数据点集进行编码或解码的方法和设备 |
WO2020248177A1 (zh) * | 2019-06-12 | 2020-12-17 | 浙江大学 | 点云的编解码方法及装置 |
CN112348885A (zh) * | 2019-08-09 | 2021-02-09 | 华为技术有限公司 | 视觉特征库的构建方法、视觉定位方法、装置和存储介质 |
US20210042958A1 (en) * | 2019-08-09 | 2021-02-11 | Facebook Technologies, Llc | Localization and mapping utilizing visual odometry |
CN110706248B (zh) * | 2019-08-20 | 2024-03-12 | 广东工业大学 | 一种基于slam的视觉感知建图方法及移动机器人 |
CN111551186A (zh) * | 2019-11-29 | 2020-08-18 | 福瑞泰克智能系统有限公司 | 一种车辆实时定位方法、系统及车辆 |
CN111639147B (zh) * | 2020-04-24 | 2021-02-05 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、系统及计算机可读存储介质 |
CN111882590A (zh) * | 2020-06-24 | 2020-11-03 | 广州万维创新科技有限公司 | 一种基于单张图片定位的ar场景应用方法 |
CN111982152B (zh) * | 2020-07-31 | 2022-04-05 | 广州文远知行科技有限公司 | 点云地图量化方法、装置、计算机设备和存储介质 |
-
2021
- 2021-07-05 CN CN202180098947.9A patent/CN117413523A/zh active Pending
- 2021-07-05 WO PCT/CN2021/104601 patent/WO2022252337A1/zh active Application Filing
- 2021-07-09 WO PCT/CN2021/105625 patent/WO2022252347A1/zh active Application Filing
- 2021-07-09 KR KR1020237045074A patent/KR20240013238A/ko active Search and Examination
- 2021-07-09 KR KR1020247000354A patent/KR20240017918A/ko unknown
- 2021-07-09 CN CN202180098601.9A patent/CN117397242A/zh active Pending
- 2021-07-09 CN CN202180099015.6A patent/CN117461056A/zh active Pending
- 2021-07-09 EP EP21943703.5A patent/EP4336223A1/en active Pending
- 2021-07-09 WO PCT/CN2021/105624 patent/WO2022252346A1/zh active Application Filing
- 2021-07-09 EP EP21943702.7A patent/EP4339881A1/en active Pending
- 2021-07-09 EP EP21943704.3A patent/EP4336454A1/en active Pending
- 2021-07-09 CN CN202180099018.XA patent/CN117460972A/zh active Pending
- 2021-07-09 KR KR1020247000191A patent/KR20240017906A/ko unknown
- 2021-07-09 WO PCT/CN2021/105623 patent/WO2022252345A1/zh active Application Filing
-
2023
- 2023-12-01 US US18/526,846 patent/US20240111793A1/en active Pending
- 2023-12-01 US US18/526,734 patent/US20240112372A1/en active Pending
- 2023-12-01 US US18/526,801 patent/US20240095265A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240013238A (ko) | 2024-01-30 |
CN117461056A (zh) | 2024-01-26 |
WO2022252337A1 (zh) | 2022-12-08 |
KR20240017918A (ko) | 2024-02-08 |
WO2022252345A1 (zh) | 2022-12-08 |
EP4339881A1 (en) | 2024-03-20 |
EP4336223A1 (en) | 2024-03-13 |
US20240112372A1 (en) | 2024-04-04 |
US20240111793A1 (en) | 2024-04-04 |
EP4336454A1 (en) | 2024-03-13 |
WO2022252346A1 (zh) | 2022-12-08 |
WO2022252347A1 (zh) | 2022-12-08 |
CN117397242A (zh) | 2024-01-12 |
US20240095265A1 (en) | 2024-03-21 |
KR20240017906A (ko) | 2024-02-08 |
CN117413523A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110249304B (zh) | 电子设备的视觉智能管理 | |
CN111832579B (zh) | 地图兴趣点数据处理方法、装置、电子设备以及可读介质 | |
CN113822427A (zh) | 一种模型训练的方法、图像匹配的方法、装置及存储介质 | |
WO2021088497A1 (zh) | 虚拟物体显示方法、全局地图更新方法以及设备 | |
WO2022252346A1 (zh) | 3d地图的检索方法和装置 | |
WO2022252238A1 (zh) | 3d地图的压缩、解压缩方法和装置 | |
WO2022252237A1 (zh) | 3d地图的编解码方法及装置 | |
WO2022252234A1 (zh) | 3d地图的编码装置和方法 | |
WO2022252236A1 (zh) | 3d地图的编解码方法及装置 | |
JP2024521375A (ja) | 3dマップを取り出すための方法及び装置 | |
WO2022253228A1 (zh) | 3d地图的压缩、解压缩方法和装置 | |
WO2022252235A1 (zh) | 3d地图的解码装置和方法、及3d地图的编码码流 | |
CN116664812B (zh) | 一种视觉定位方法、视觉定位系统及电子设备 | |
JP2024521936A (ja) | 3dマップを符号化するための装置及び方法 | |
JP2024521937A (ja) | 3dマップをデコーディングするための装置及び方法、及び3dマップのエンコーディングされたビットストリーム | |
CN116664812A (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 |