CN115937722A - 一种设备定位方法、设备及系统 - Google Patents
一种设备定位方法、设备及系统 Download PDFInfo
- Publication number
- CN115937722A CN115937722A CN202111166626.6A CN202111166626A CN115937722A CN 115937722 A CN115937722 A CN 115937722A CN 202111166626 A CN202111166626 A CN 202111166626A CN 115937722 A CN115937722 A CN 115937722A
- Authority
- CN
- China
- Prior art keywords
- feature
- image
- panoramic
- features
- user equipment
- 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 114
- 238000009877 rendering Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 25
- 238000007781 pre-processing Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 7
- 238000002203 pretreatment Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 19
- 230000000007 visual effect Effects 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 25
- 238000010295 mobile communication Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 235000019646 color tone Nutrition 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 210000003734 kidney Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000004185 liver Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种设备定位方法、设备及系统,涉及电子技术领域,可以基于低成本、广覆盖、高精度的视觉定位技术实现对用户设备空间位姿的准确定位。本申请中通过将用于表示多个对象的全景特征的全景特征库作为检索库,在对用户设备进行定位时,可以通过提取用户设备捕获的图像的水平分辨率一致特征,在全景特征库中检索以确定与图像的水平分辨率一致特征匹配的全景特征。然后基于该全景特征,确定用户设备捕获上述图像时的空间位姿。通过该方案进行设备定位,成本低、覆盖广(例如该方法不依赖于人工设计特征点,不需要预先设置切片式图像检索特征,可以应用于天际线特征不明显的场景等)、精度高。
Description
技术领域
本申请实施例涉及图像信息处理技术领域,尤其涉及一种设备定位方法、设备及系统。
背景技术
目前,随着移动智能设备的普遍性应用,大量的基于虚拟现实(virtual reality,VR)和增强现实(augmented reality,AR)的应用也不断地涌入市场,例如:AR应用场景中,将虚拟物体叠加到真实场景的图片中,进而可以应用到游戏、医疗、教育、导航等各种领域。其中,在AR应用场景中,为了使用户有身临其境的感觉,确定用户设备的空间位姿成为重点。用户设备的空间位姿用于表示用户设备的位置和姿态。
作为一种可能的实现方式,可以基于全球导航卫星系统(global navigationsatellite system,GNSS)确定用户设备的位置,以及基于用户设备的运动传感器(如陀螺仪传感器、加速度传感器和重力传感器等)采集的用户设备的运动数据确定用户设备的姿态。但是,上述方法只能实现对用户设备的位置和姿态的粗略估计,无法实现高精度的虚拟物体在真实场景中的叠加。
发明内容
本申请提供一种设备定位方法、设备及系统,可以基于低成本、广覆盖、高精度的视觉定位技术实现对用户设备空间位姿的准确定位。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种设备定位方法,该方法应用于设备定位系统,该方法包括:首先,获取包括用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库。以及,提取用户设备捕获的图像的第二特征。其中,该多个第一特征的水平分辨率一致,第二特征的水平分辨率一致。然后,在全景特征库中检索,以确定与第二特征匹配的第一特征;最后,根据与第二特征匹配的第一特征,确定用户设备捕获上述图像时的空间位姿,其中空间位姿用于表示用户设备位置和姿态。
示例性的,上述全景特征库中包括用于表示城市中各种事物(即对象)的多个全景特征,如建筑、公园、桥梁、公路、草坪、广场、路灯、路标、广场、河流、山等。
上述第一方面提供的方案,设备定位系统通过将用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,在确定用户设备采集图像时的空间位姿时,可以通过提取用户设备捕获的图像的第二特征(其中第二特征是水平分辨率一致特征),在全景特征库中检索以确定与第二特征匹配的第一特征。然后基于与第二特征匹配的第一特征,确定用户设备捕获上述图像时的空间位姿。该方案实现低成本、广覆盖(例如不依赖于人工设计特征点,不需要预先设置切片式图像检索特征以及额外的精确导航处理器(precision navigation processor,PnP)处理,可以应用于天际线特征不明显的场景等)、高精度的用户设备定位。
在一种可能的实现方式中,上述获取全景特征库,具体可以包括:基于用于描述多个对象的空间信息的实景三维模型,构建得到全景特征库。作为一种示例,设备定位系统可以通过基于实景三维模型构建用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,该方法成本低、易实现、可以为设备定位提供更加精确的参考。
在一种可能的实现方式中,上述基于实景三维模型,构建得到上述全景特征库,包括:通过对实景三维模型语义化分类,预设类型对象提取、渲染和全景特征编码,得到全景特征库。作为一种示例,设备定位系统可以通过对实景三维模型语义化分类得到实景三维模型所描述的对象分类;通过预设类型对象提取得到实景三维模型中,用于描述预设类型的对象的信息;通过渲染和全景特征编码得到包括一个或多个预设类型的对象的全景特征库。通过该方法可以构建用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,成本低、易实现、可以为设备定位提供更加精确的参考。
在一种可能的实现方式中,上述基于实景三维模型,构建得到全景特征库,包括:对实景三维模型进行语义化分类,得到实景三维模型所描述的多个对象的类型;从实景三维模型所描述的多个对象中提取一个或多个预设类型的对象;将提取的一个或多个预设类型的对象网格化;逐网格渲染一个或多个预设类型的对象,得到渲染图;将渲染图柱面展开,得到全景图;逐网格对全景图中的一个或多个预设类型的对象全景特征编码,得到全景特征库。作为一种示例,设备定位系统可以通过对实景三维模型语义化分类得到实景三维模型所描述的多个对象的类型;通过预设类型对象提取得到实景三维模型中,用于描述预设类型的对象的信息;通过将提取的一个或多个预设类型的对象网格化以提高后续渲染和全景特征编码的精度;通过渲染、柱面展开和全景特征编码得到包括一个或多个预设类型的对象的全景特征库。通过该方法可以构建用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,成本低、易实现、可以为设备定位提供更加精确的参考。
在一种可能的实现方式中,上述将提取的一个或多个预设类型的对象网格化,包括:按照固定间隔或者动态间隔将提取的一个或多个预设类型的对象网格化。作为一种示例,设备定位系统可以按照固定间隔或者动态间隔将提取的一个或多个预设类型的对象网格化,以根据实际需要进行采样密度调整,以得到满足实际需求的全景特征库精度。例如固定间隔和动态间隔可以由算法或软件开发人员经验设置。
在一种可能的实现方式中,上述方法还包括:按照实景三维模型中区域的重要性,和/或一个或多个预设类型的对象所属类型的重要程度设置动态间隔。基于此,可以根据实际需要进行采样密度调整,以得到满足实际需求的全景特征库精度。
在一种可能的实现方式中,上述用户设备捕获的图像是第一图像,在提取用户设备捕获的图像的第二特征之前,上述方法还包括:对第一图像进行预处理,得到第二图像;其中,预处理包括以下中的一种或多种:初始化空间姿态、将图像亮度调整为预设亮度、将图像对比度调整为预设对比度、对图像所描述的对象语义化分类、柱面投影。基于此,可以进一步提高后续第一特征与第二特征匹配的准确性。
在一种可能的实现方式中,上述提取用户设备捕获的图像的第二特征,包括:对第二图像所描述的一个或多个对象进行全景特征编码,得到第二图像的第二特征。其中,全景特征编码用于提取图像中对象的水平分辨率一致特征。
在一种可能的实现方式中,上述在全景特征库中检索,以确定与第二特征匹配的第一特征,包括:将第二特征在全景特征库中滑窗,确定第二特征与滑窗范围内多个第一特征的匹配相似度;根据滑窗范围中第二特征与多个第一特征的多个匹配相似度,确定与第二特征匹配的第一特征。为了快速、精确地进行特征匹配,可以通过全景滑窗技术通过计算得到的第二特征与多个第一特征的匹配相似度,确定与第二特征匹配的第一特征。
在一种可能的实现方式中,与第二特征匹配的第一特征是多个匹配相似度中,最高的匹配相似度对应的第一特征。作为一种示例,可以根据得到的第二特征与多个第一特征的匹配相似度的大小,确定最高匹配相似度对应的第一特征是与第二特征匹配的第一特征。
在一种可能的实现方式中,上述在全景特征库中检索,以确定与第二特征匹配的第一特征,包括:在全景特征库全库范围内检索,以确定与第二特征匹配的第一特征;或者,在全景特征库的预设范围内检索,以确定与第二特征匹配的第一特征。作为一种示例,全景滑窗技术可以基于全景特征库全库范围或者全景特征库的预设范围实现,可根据实际需要适应性调整,该方法方便、快速、且可最大限度的节约计算力。
在一种可能的实现方式中,上述方法还包括:根据用户设备捕获图像时,用户设备所处的位置,结合预设范围的设置规则确定预设范围。通过结合用户设备捕获图像时,用户设备所处的位置进行预设范围设置,进而滑窗以进行特征匹配,可以方便、快速地实现设备定位,且可最大限度的节约计算力。
在一种可能的实现方式中,上述预设范围是以用户设备捕获图像时,用户设备所处的位置为中心,以r为半径的圆形区域,其中r为正数。通过结合用户设备捕获图像时,用户设备所处的位置进行预设范围设置,进而滑窗以进行特征匹配,可以方便、快速地实现设备定位,且可最大限度的节约计算力。
在一种可能的实现方式中,上述预设范围包括第一范围和第二范围,第一范围的优先级高于第二范围;则在全景特征库的预设范围内检索,以确定与第二特征匹配的第一特征,包括:在第一范围内检索;若在第一范围内未检索到与第二特征匹配的第一特征,则在第二范围内检索,以确定与第二特征匹配的第一特征。通过阶梯化的预设范围设置,可以在方便、快速实现设备定位的同时,最大限度的节约计算力。
在一种可能的实现方式中,上述第一范围是以用户设备捕获图像时,用户设备所处的位置为中心,以r1为半径的圆形区域,其中r1为正数;第一范围是以用户设备捕获图像时,用户设备所处的位置为中心,以r1为内径,r2为外径的圆环区域,其中r1和r2为正数,且r1小于r2。通过阶梯化的预设范围设置,可以在方便、快速实现设备定位的同时,最大限度的节约计算力。
在一种可能的实现方式中,上述第二特征的水平分辨率与第一特征的水平分辨率相同。通过一致的水平分辨率设置,可以在设备定位过程中的特征匹配阶段,得到更加好的匹配效果。
在一种可能的实现方式中,上述实景三维模型包括但不限定于以下中的一种或多种:航空实景三维模型、卫星实景三维模型、城市信息模型。
第二方面,提供一种设备定位方法,该方法应用于第一设备(如云侧设备),该方法包括:第一设备基于实景三维模型,构建得到全景特征库。其中,实景三维模型用于描述多个对象的空间信息;全景特征库中包括用于表示多个对象的多个第一特征,多个第一特征的水平分辨率一致。
示例性的,上述全景特征库中包括用于表示城市中各种事物(即对象)的多个全景特征,如建筑、公园、桥梁、公路、草坪、广场、路灯、路标、广场、河流、山等。
上述第二方面提供的方案,第一设备通过将用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,在确定用户设备采集图像时的空间位姿时,可以提供低成本、广覆盖(例如不依赖于人工设计特征点,不需要预先设置切片式图像检索特征以及额外的精确导航处理器(precision navigation processor,PnP)处理,可以应用于天际线特征不明显的场景等)、高精度的用户设备定位。
在一种可能的实现方式中,上述第一设备基于实景三维模型,构建得到上述全景特征库,包括:第一设备通过对实景三维模型语义化分类,预设类型对象提取、渲染和全景特征编码,得到全景特征库。作为一种示例,第一设备可以通过对实景三维模型语义化分类得到实景三维模型所描述的对象分类;通过预设类型对象提取得到实景三维模型中,用于描述预设类型的对象的信息;通过渲染和全景特征编码得到包括一个或多个预设类型的对象的全景特征库。通过该方法可以构建用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,成本低、易实现、可以为设备定位提供更加精确的参考。
在一种可能的实现方式中,上述第一设备基于实景三维模型,构建得到全景特征库,包括:第一设备对实景三维模型进行语义化分类,得到实景三维模型所描述的多个对象的类型;第一设备从实景三维模型所描述的多个对象中提取一个或多个预设类型的对象;第一设备将提取的一个或多个预设类型的对象网格化;第一设备逐网格渲染一个或多个预设类型的对象,得到渲染图;第一设备将渲染图柱面展开,得到全景图;第一设备逐网格对全景图中的一个或多个预设类型的对象全景特征编码,得到全景特征库。作为一种示例,第一设备可以通过对实景三维模型语义化分类得到实景三维模型所描述的多个对象的类型;通过预设类型对象提取得到实景三维模型中,用于描述预设类型的对象的信息;通过将提取的一个或多个预设类型的对象网格化以提高后续渲染和全景特征编码的精度;通过渲染、柱面展开和全景特征编码得到包括一个或多个预设类型的对象的全景特征库。通过该方法可以构建用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,成本低、易实现、可以为设备定位提供更加精确的参考。
在一种可能的实现方式中,上述第一设备将提取的一个或多个预设类型的对象网格化,包括:第一设备按照固定间隔或者动态间隔将提取的一个或多个预设类型的对象网格化。作为一种示例,第一设备可以按照固定间隔或者动态间隔将提取的一个或多个预设类型的对象网格化,以根据实际需要进行采样密度调整,以得到满足实际需求的全景特征库精度。例如固定间隔和动态间隔可以由算法或软件开发人员经验设置。
在一种可能的实现方式中,上述方法还包括:第一设备按照实景三维模型中区域的重要性,和/或一个或多个预设类型的对象所属类型的重要程度设置动态间隔。基于此,可以根据实际需要进行采样密度调整,以得到满足实际需求的全景特征库精度。
在一种可能的实现方式中,上述实景三维模型包括但不限定于以下中的一种或多种:航空实景三维模型、卫星实景三维模型、城市信息模型。
第三方面,提供一种设备定位方法,该方法应用于第二设备(如用户设备),该方法包括:第二设备提取用户设备捕获的图像的第二特征。其中,该多个第一特征的水平分辨率一致,第二特征的水平分辨率一致。然后,在全景特征库中检索,以确定与第二特征匹配的第一特征;最后,根据与第二特征匹配的第一特征,确定用户设备捕获上述图像时的空间位姿,其中空间位姿用于表示第二设备(如用户设备)的位置和姿态。
上述第三方面提供的方案,在确定用户设备采集图像时的空间位姿时,第二设备可以通过提取用户设备捕获的图像的第二特征(其中第二特征是水平分辨率一致特征),在全景特征库中检索以确定与第二特征匹配的第一特征。然后基于与第二特征匹配的第一特征,确定用户设备捕获上述图像时的空间位姿。该方案实现低成本、广覆盖(例如不依赖于人工设计特征点,不需要预先设置切片式图像检索特征以及额外的PnP处理,可以应用于天际线特征不明显的场景等)、高精度的用户设备定位。
在一种可能的实现方式中,上述用户设备捕获的图像是第一图像,在第二设备提取用户设备捕获的图像的第二特征之前,上述方法还包括:第二设备对第一图像进行预处理,得到第二图像;其中,预处理包括以下中的一种或多种:初始化空间姿态、将图像亮度调整为预设亮度、将图像对比度调整为预设对比度、对图像所描述的对象语义化分类、柱面投影。基于此,可以进一步提高后续第一特征与第二特征匹配的准确性。
在一种可能的实现方式中,上述第二设备提取用户设备捕获的图像的第二特征,包括:第二设备对第二图像所描述的一个或多个对象进行全景特征编码,得到第二图像的第二特征。其中,全景特征编码用于提取图像中对象的水平分辨率一致特征。
在一种可能的实现方式中,上述第二设备在全景特征库中检索,以确定与第二特征匹配的第一特征,包括:第二设备将第二特征在全景特征库中滑窗,确定第二特征与滑窗范围内多个第一特征的匹配相似度;第二设备根据滑窗范围中第二特征与个多个第一特征的多个匹配相似度,确定与第二特征匹配的第一特征。为了快速、精确地进行特征匹配,可以通过全景滑窗技术通过计算得到的第二特征与多个第一特征的匹配相似度,确定与第二特征匹配的第一特征。
在一种可能的实现方式中,与第二特征匹配的第一特征是多个匹配相似度中,最高的匹配相似度对应的第一特征。作为一种示例,可以根据得到的第二特征与多个第一特征的匹配相似度的大小,确定最高匹配相似度对应的第一特征是与第二特征匹配的第一特征。
在一种可能的实现方式中,上述第二设备在全景特征库中检索,以确定与第二特征匹配的第一特征,包括:第二设备在全景特征库全库范围内检索,以确定与第二特征匹配的第一特征;或者,第二设备在全景特征库的预设范围内检索,以确定与第二特征匹配的第一特征。作为一种示例,全景滑窗技术可以基于全景特征库全库范围或者全景特征库的预设范围实现,可根据实际需要适应性调整,该方法方便、快速、且可最大限度的节约计算力。
在一种可能的实现方式中,上述方法还包括:第二设备根据用户设备捕获图像时,用户设备所处的位置,结合预设范围的设置规则确定预设范围。通过结合用户设备捕获图像时,用户设备所处的位置进行预设范围设置,进而滑窗以进行特征匹配,可以方便、快速地实现设备定位,且可最大限度的节约计算力。
在一种可能的实现方式中,上述预设范围是以用户设备捕获图像时,用户设备所处的位置为中心,以r为半径的圆形区域,其中r为正数。通过结合用户设备捕获图像时,用户设备所处的位置进行预设范围设置,进而滑窗以进行特征匹配,可以方便、快速地实现设备定位,且可最大限度的节约计算力。
在一种可能的实现方式中,上述预设范围包括第一范围和第二范围,第一范围的优先级高于第二范围;则第二设备在全景特征库的预设范围内检索,以确定与第二特征匹配的第一特征,包括:第二设备在第一范围内检索;若在第一范围内未检索到与第二特征匹配的第一特征,则在第二范围内检索,以确定与第二特征匹配的第一特征。通过阶梯化的预设范围设置,可以在方便、快速实现设备定位的同时,最大限度的节约计算力。
在一种可能的实现方式中,上述第一范围是以用户设备捕获图像时,用户设备所处的位置为中心,以r1为半径的圆形区域,其中r1为正数;第一范围是以用户设备捕获图像时,用户设备所处的位置为中心,以r1为内径,r2为外径的圆环区域,其中r1和r2为正数,且r1小于r2。通过阶梯化的预设范围设置,可以在方便、快速实现设备定位的同时,最大限度的节约计算力。
在一种可能的实现方式中,上述第二特征的水平分辨率与第一特征的水平分辨率相同。通过一致的水平分辨率设置,可以在设备定位过程中的特征匹配阶段,得到更加好的匹配效果。
第四方面,提供一种第一设备(如云侧设备),该第一设备包括:处理单元,用于基于实景三维模型,构建得到全景特征库。其中,实景三维模型用于描述多个对象的空间信息;全景特征库中包括用于表示多个对象的多个第一特征,多个第一特征的水平分辨率一致。
上述第四方面提供的方案,第一设备通过将用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,在确定用户设备采集图像时的空间位姿时,可以提供低成本、广覆盖(例如不依赖于人工设计特征点,不需要预先设置切片式图像检索特征以及额外的精确导航处理器(precision navigation processor,PnP)处理,可以应用于天际线特征不明显的场景等)、高精度的用户设备定位。
在一种可能的实现方式中,上述处理单元具体用于:通过对实景三维模型语义化分类,预设类型对象提取、渲染和全景特征编码,得到全景特征库。作为一种示例,第一设备可以通过对实景三维模型语义化分类得到实景三维模型所描述的对象分类;通过预设类型对象提取得到实景三维模型中,用于描述预设类型的对象的信息;通过渲染和全景特征编码得到包括一个或多个预设类型的对象的全景特征库。通过该方法可以构建用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,成本低、易实现、可以为设备定位提供更加精确的参考。
在一种可能的实现方式中,上述处理单元具体用于:对实景三维模型进行语义化分类,得到实景三维模型所描述的多个对象的类型;从实景三维模型所描述的多个对象中提取一个或多个预设类型的对象;将提取的一个或多个预设类型的对象网格化;逐网格渲染一个或多个预设类型的对象,得到渲染图;以及,将渲染图柱面展开,得到全景图;第一设备逐网格对全景图中的一个或多个预设类型的对象全景特征编码,得到全景特征库。作为一种示例,第一设备可以通过对实景三维模型语义化分类得到实景三维模型所描述的多个对象的类型;通过预设类型对象提取得到实景三维模型中,用于描述预设类型的对象的信息;通过将提取的一个或多个预设类型的对象网格化以提高后续渲染和全景特征编码的精度;通过渲染、柱面展开和全景特征编码得到包括一个或多个预设类型的对象的全景特征库。通过该方法可以构建用于表示多个对象的多个第一特征(其中第一特征是全景特征)的全景特征库作为检索库,成本低、易实现、可以为设备定位提供更加精确的参考。
在一种可能的实现方式中,上述处理单元具体用于:按照固定间隔或者动态间隔将提取的一个或多个预设类型的对象网格化。作为一种示例,第一设备可以按照固定间隔或者动态间隔将提取的一个或多个预设类型的对象网格化,以根据实际需要进行采样密度调整,以得到满足实际需求的全景特征库精度。例如固定间隔和动态间隔可以由算法或软件开发人员经验设置。
在一种可能的实现方式中,上述处理单元还用于:按照实景三维模型中区域的重要性,和/或一个或多个预设类型的对象所属类型的重要程度设置动态间隔。基于此,可以根据实际需要进行采样密度调整,以得到满足实际需求的全景特征库精度。
在一种可能的实现方式中,上述实景三维模型包括但不限定于以下中的一种或多种:航空实景三维模型、卫星实景三维模型、城市信息模型。
第五方面,提供一种第二设备(如用户设备),该第二设备包括:处理单元,用于提取第二设备捕获的图像的第二特征;在全景特征库中检索,以确定与第二特征匹配的第一特征;以及,根据与第二特征匹配的第一特征,确定用户设备捕获上述图像时的空间位姿。其中,上述多个第一特征的水平分辨率一致,第二特征的水平分辨率一致,空间位姿用于表示第二设备的位置和姿态。
上述第五方面提供的方案,在确定用户设备采集图像时的空间位姿时,第二设备可以通过提取用户设备捕获的图像的第二特征(其中第二特征是水平分辨率一致特征),在全景特征库中检索以确定与第二特征匹配的第一特征。然后基于与第二特征匹配的第一特征,确定用户设备捕获上述图像时的空间位姿。该方案实现低成本、广覆盖(例如不依赖于人工设计特征点,不需要预先设置切片式图像检索特征以及额外的PnP处理,可以应用于天际线特征不明显的场景等)、高精度的用户设备定位。
在一种可能的实现方式中,上述第二设备还包括:图像摄取单元,用于捕获第一图像;上述处理单元还用于:对第一图像进行预处理,得到第二图像;其中,预处理包括以下中的一种或多种:初始化空间姿态、将图像亮度调整为预设亮度、将图像对比度调整为预设对比度、对图像所描述的对象语义化分类、柱面投影。基于此,可以进一步提高后续第一特征与第二特征匹配的准确性。
在一种可能的实现方式中,上述处理单元具体用于:对第二图像所描述的一个或多个对象进行全景特征编码,得到第二图像的第二特征。其中,全景特征编码用于提取图像中对象的水平分辨率一致特征。
在一种可能的实现方式中,上述处理单元具体用于:将第二特征在全景特征库中滑窗,计算第二特征与滑窗范围内多个第一特征的匹配相似度;以及,根据第二特征与多个滑窗范围中多个第一特征的多个匹配相似度,确定与第二特征匹配的第一特征。为了快速、精确地进行特征匹配,可以通过全景滑窗技术通过计算得到的第二特征与多个第一特征的匹配相似度,确定与第二特征匹配的第一特征。
在一种可能的实现方式中,上处理单元具体用于:在全景特征库全库范围内检索,以确定与第二特征匹配的第一特征;或者,在全景特征库的预设范围内检索,以确定与第二特征匹配的第一特征。作为一种示例,全景滑窗技术可以基于全景特征库全库范围或者全景特征库的预设范围实现,可根据实际需要适应性调整,该方法方便、快速、且可最大限度的节约计算力。
在一种可能的实现方式中,上述第二设备还包括:位置检测单元,用于在图像捕获单元捕获图像时,获取用户设备的位置信息。
在一种可能的实现方式中,上述处理单元还用于:根据图像捕获单元捕获图像时,用户设备所处的位置,结合预设范围的设置规则确定预设范围。通过结合用户设备捕获图像时,用户设备所处的位置进行预设范围设置,进而滑窗以进行特征匹配,可以方便、快速地实现设备定位,且可最大限度的节约计算力。
第六方面,提供一种第一设备,该第一设备包括:存储器,用于存储计算机程序;收发器,用于接收或发送无线电信号;处理器,用于执行所述计算机程序,使得第一设备实现如第二方面任一种可能的实现方式中的方法。
第七方面,提供一种第二设备,该第二设备包括:存储器,用于存储计算机程序;收发器,用于接收或发送无线电信号;处理器,用于执行所述计算机程序,使得第一设备实现如第三方面任一种可能的实现方式中的方法。
第八方面,提供一种设备定位系统,该系统包括如第四方面或第六方面任一种可能的实现方式中的第一设备;以及如第五方面或第七方面任一种可能的实现方式中的第二设备。该设备定位系统用于实现如第一方面任一种可能的实现方式中的方法。
第九方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序代码,该计算机程序代码被处理器执行时,使得处理器实现如第二方面或第三方面任一种可能的实现方式中的方法。
第十方面,提供一种芯片系统,该芯片系统包括处理器、存储器,存储器中存储有计算机程序代码;所述计算机程序代码被所述处理器执行时,使得处理器实现如第二方面或第三方面任一种可能的实现方式中的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第十一方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令。当该计算机指令在计算机上运行时,使得计算机实现如第二方面或第三方面任一种可能的实现方式中的方法。
附图说明
图1为本申请实施例提供的一种用户设备的硬件结构示意图;
图2为本申请实施例提供的一种用户设备的软件结构示意图;
图3为本申请实施例提供的一种云侧设备的硬件结构示意图;
图4为本申请实施例提供的一种设备定位方法流程图;
图5A为本申请实施例提供的一种实景三维模型示例图;
图5B为本申请实施例提供的一种全景图的模态示意图;
图6为本申请实施例提供的一种用户设备摄取的图像示例图;
图7为本申请实施例提供的一种用户设备的空间位置示意图;
图8为本申请实施例提供的一种设备定位方法交互流程图;
图9为本申请实施例提供的一种设备定位方法交互示例图;
图10为本申请实施例提供的一种图像预处理效果示例图;
图11为本申请实施例提供的一种预设范围示例图;
图12为本申请实施例提供的另一种预设范围示例图;
图13为本申请实施例提供的一种特征匹配过程示例图;
图14为本申请实施例提供的一种AR应用效果示例图;
图15为本申请实施例提供的另一种AR应用效果示例图;
图16为本申请实施例提供的一种用户设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供一种设备定位方法,该方法用于确定设备的空间位姿(包括设备的位置和姿态)。
作为一种示例,本申请实施例提供的一种设备定位方法可以应用于游戏、医疗、教育、导航、娱乐等领域的AR应用场景中,如AR地图、AR导航、AR广告牌、AR全息信息展示、AR虚实融合拍照等。
可以理解,在AR应用场景中,虚拟物体在真实场景中叠加的位置和朝向等需要基于设备的空间位姿确定。因此,设备空间位姿的精度对于用户的体验度至关重要。例如,在AR导航时,若对设备的空间位姿计算不准确,会导致虚拟导航箭头在地图中叠加的位置发生偏差,因此带给用户的导航体验较差。
基于上述考虑,加之随着视觉即时定位与地图构建(simultaneous localizationand mapping,SLAM)和深度学习在图像领域的不断发展,可以通过视觉定位技术,根据用户设备捕获的图像,确定设备的空间位姿。例如,可以基于人工设计特征点、特征描述符检索、天际线特征匹配等方法确定设备空间位姿。
其中,基于人工设计特征点确定设备空间位姿的基本原理是:根据实际需求人为预先布置来自真实世界的视觉特征点,通过比较用户通过设备捕获的图像中的特征点与该人为布置的视觉特征点确定设备是否处于预设空间位姿。
基于特征描述符检索方法确定设备空间位姿的基本原理是:提取用户通过设备捕获的图像中的特征描述符,在预先设置的切片式图像检索特征库中进行匹配,然后通过精确导航处理器(precision navigation processor,PnP)确定设备空间位姿。
基于天际线特征匹配方法确定设备空间位姿的基本原理是:提取用户通过设备捕获的图像中的天际线特征,在天际线特征库中进行匹配以确定设备空间位姿。其中,天际线是城市形体轮廓(如建筑物轮廓)的重要表现形式,天际线反映的是三维的空间层次特征。
但是,上述方法均存在弊端,如基于人工设计特征点的方法,由于其视觉特征点是人为预先布置的,因此只能应用于特定的、有限的场景,难以大规模应用。又如基于特征描述符检索的方法,由于特征库以切片形式存储图像,因此会存在大量的图像冗余,增加了存储空间和检索时的查询时间;且该方法定位的精度依赖于检索和PnP处理两个环节的性能,对图像精度要求较高,制图成本高。又如基于天际线特征匹配的方法在天际线特征不明显的场景(如轮廓不清晰、不完整等场景)中,无法准确定位。
为了解决上述设备空间位姿确定方法存在的通用性弱、制图成本高、存储要求高、场景适应性不足等问题,本申请实施例提供一种设备定位方法,该方法可以基于低成本、广覆盖、高精度的视觉定位技术实现对用户设备空间位姿的准确定位。
进一步的,在本申请实施例中,在将对用户设备的空间位姿的确定结果应用于AR场景时,可以根据对用户设备的空间位姿的确定结果,以用户在真实场景中的位置的视觉角度,将虚拟物体(如虚拟导航箭头等)以准确的位置和朝向叠加在真实场景中,为用户带来更好的AR体验。
其中,用户设备支持图像捕获功能和显示功能。
图像捕获功能例如拍照功能、摄像功能等。在本申请实施例中,作为一种示例,图像可以是用户设备通过拍照获取的图片。或者,图像还可以是用户设备通过摄像获取的视频中的图像帧,本申请不限定。
在一些实施例中,用户设备支持通过显示功能,显示用户设备捕获的图像或者视频。
在一些实施例中,用户设备支持通过显示功能,显示AR/VR视频,例如在真实场景中叠加了虚拟人物、虚拟图标等的视频。
示例性的,用户设备可以包括但不限定于智能手机、上网本、平板电脑、智能眼镜、智能手表、智能手环、电话手表、智能相机、个人计算机(personal computer,PC)、超级计算机、掌上电脑、AR/VR设备、个人数字助理(personal digital assistant,PDA)、便携式多媒体播放器(portable multimedia player,PMP)、会话启动协议(session initiationprotocol,SIP)电话、物联网(internet of things,IOT)设备、智慧城市(smart city)中的无线设备、智慧家庭(smart home)中的无线设备或体感游戏机等。或者,用户设备还可以具有其他结构和/或功能,本申请不限定。
请参考图1,图1出了本申请实施例提供的一种用户设备的硬件结构示意图。如图1所示,用户设备可以包括处理器110,存储器(包括外部存储器接口120和内部存储器121),通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像组件193,显示屏194等。其中,传感器模块180可以包括陀螺仪传感器,加速度传感器,磁传感器,触摸传感器,指纹传感器,压力传感器,气压传感器,距离传感器,接近光传感器,温度传感器,环境光传感器,骨传导传感器等。
可以理解的是,本发明实施例示意的结构并不构成对用户设备的具体限定。在本申请另一些实施例中,用户设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),飞行控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像组件193,和无线通信模块160等供电。
用户设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。用户设备中的每个天线可用于覆盖单个或多个通信频段。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在用户设备上的包括2G/3G/4G/5G/6G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A、受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在用户设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络),蓝牙BT,全球导航卫星系统(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,用户设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得用户设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),新无线(new radio,NR),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
在本申请实施例中,用户设备可以通过GNSS采集用户设备的位置信息,如采集用户设备的经纬度信息等。
用户设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
在本申请实施例中,用户设备可以通过GPU进行用户设备捕获的图像的渲染,虚拟物体(如虚拟导航箭头、虚拟路标、虚拟广告牌、虚拟信息、虚拟事物等)在真实场景的图像中的叠加渲染等。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flexible light-emittingdiode,FLED),MiniLED,MicroLED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,用户设备可以包括1个或K个显示屏194,K为大于1的正整数。
在本申请实施例中,用户设备可以通过显示屏194显示用户设备捕获的图像,显示在真实场景中叠加了虚拟物体(如虚拟导航箭头、虚拟路标、虚拟广告牌、虚拟信息、虚拟事物等)的AR图像。
用户设备可以通过ISP,摄像组件193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,固态硬盘等,实现扩展用户设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储用户设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行用户设备的各种功能应用以及数据处理。
用户设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C以及应用处理器等实现音频功能。例如音乐播放,录音等。关于音频模块170,扬声器170A,受话器170B和麦克风170C的具体工作原理和作用,可以参考常规技术中的介绍。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。用户设备可以接收按键输入,产生与用户设备的用户设置以及功能控制有关的键信号输入。
需要说明的是,图1所示用户设备包括的硬件模块只是示例性地描述,并不对用户设备的具体结构做出限定。例如,若用户设备是智能手机,那么用户设备还可以包括用户标识模块(subscriber identity module,SIM)接口。若用户设备是PC,那么用户设备还可以包括键盘、鼠标等部件。
以包括分层架构的系统的用户设备为例,如图2所示,用户设备的软件可以分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。如图2所示,用户设备的软件结构从上至下可以分为三层:应用程序层(简称应用层),应用程序框架层(简称框架层),系统库,安卓运行时和内核层(也称为驱动层)。
其中,应用程序层可以包括一系列应用程序包,例如相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息,AR应用等应用程序。为方便描述,以下将应用程序简称为应用。在本申请实施例中,AR应用可以支持用户设备为用户提供AR场景下的虚实融合体验。例如AR应用可以是AR地图、AR导航、AR广告牌、AR全息信息展示、AR虚实融合拍照、河图等应用。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。如图2所示,应用程序框架层可以包括窗口管理服务器(window manager service,WMS),活动管理服务器(activity manager service,AMS)和输入事件管理服务器(input manager service,IMS)。在一些实施例中,应用程序框架层还可以包括内容提供器,视图系统,电话管理器,资源管理器,通知管理器等(图2中未示出)。
系统库和安卓运行时包含框架层所需要调用的功能函数,Android的核心库,以及Android虚拟机。系统库可以包括多个功能模块。例如:浏览器内核,三维(3dimensional,3D)图形,字体库等。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
内核层是硬件和软件之间的层。内核层可以包含显示驱动,输入/输出设备驱动(例如,键盘、触摸屏、耳机、扬声器、麦克风等),设备节点,摄像头驱动,音频驱动以及传感器驱动等。用户通过输入设备进行输入操作,内核层可以根据输入操作产生相应的原始输入事件,并存储在设备节点中。输入/输出设备驱动可以检测到用户的输入事件。例如,麦克风可以检测到用户发出的语音。
在本申请实施例中,对用户设备空间位姿的确定可以由用户设备(如智能手机)完成,也可以由云侧设备(如服务器)完成,还可以由用户设备(如智能手机)和云侧设备(如服务器)共同完成。
作为一种示例,图3示出了本申请实施例提供的一种云侧设备的硬件结构示意图。其中,如图3所示,云侧设备可以包括处理器301,通信线路302,存储器303以及至少一个通信接口(图3中仅是示例性的以包括通信接口304为例进行说明)。
处理器301可以包括一个或多个处理器,其中,处理器可以为CPU,微处理器,特定ASIC,或其它集成电路,不予限制。
通信线路302可包括一通路,用于在上述组件之间传送信息。
通信接口304,用于与其他设备或通信网络通信。
存储器303可以是ROM或RAM,或者EEPROM、CD-ROM,或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
需要说明的是,存储器可以是独立存在,通过通信线路302与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器303用于存储计算机程序。处理器301用于执行存储器303中存储的计算机程序,从而实现本申请下述任一方法实施例提供的方法。
需要说明的是,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1。此外,图3仅作为一种云侧设备的示例,并不对云侧设备的具体结构做出限定。例如,云侧设备还可以包括其他功能模块。
以下将结合附图,对本申请实施例提供的一种设备定位方法作具体介绍。
如图4所示,本申请实施例提供的一种设备定位方法可以通过提取用户设备捕获的图像水平分辨率一致特征,并在全景特征库中进行特征匹配,从而确定用户设备的空间位姿。其中,全景特征库用于通过大量的360°全景特征来表示多个对象,其中全景特征还具有位置属性。对象如建筑(如商场、写字楼等)、公园、桥梁、公路、草坪、广场、路灯、路标、广场、河流、山等本申请实施例不限定。
其中,用户设备的空间位姿用于表示用户设备的位置和姿态。例如,用户设备的位置可以用用户设备相对于地面的坐标值来表示,用户设备的姿态可以用用户设备相对于地面的角度来表示。
如图4所示,本申请实施例提供的一种设备定位方法可以包括以下三个阶段(阶段1-阶段3):
阶段1:全景特征库构建阶段。
其中,全景特征库中包括用于表示多个对象的多个360°全景特征(以下简称“全景特征”)。每一个对象可以用多个全景特征来表示,其中全景特征还具有位置属性。例如,全景特征库可以以城市为粒度构建,对于这种情况,全景特征库中包括用于表示城市中各种事物(即对象)的多个全景特征,如建筑、公园、桥梁、公路、草坪、广场、路灯、路标、广场、河流、山等。
作为一种示例,在本申请实施例中,可以基于实景三维模型构建得到全景特征库。例如,如图4所示,可以通过对实景三维模型进行语义化分类,提取标志性对象,网格化,逐网格渲染,以及逐网格全景特征编码得到全景特征库。
其中,对实景三维模型进行语义化分类是指将实景三维模型所描述的对象分类。以图5A所示实景三维模型为例,可以理解,实景三维模型用于描述不同类型的对象,如建筑、地面可行区域、绿化区域等。对实景三维模型进行语义化分类即按照实景三维模型所描述对象的类型,将对象分类。
提取标志性对象是指提取实景三维模型中,用于描述预设类型的对象的信息。预设类型如建筑、地面可行区域、绿化区域等。
可以理解,在进行设备定位时,可以通过将用户设备捕获的图像中的特征与全景特征库中的特征进行匹配,以确定用户设备捕获图像时的空间位姿。而进行特征匹配时,具有代表性的特征对于特征匹配和匹配的可靠性贡献比较大,例如建筑等特征。基于此,在本申请实施例中,在进行全景特征库构建时,可以预先设定对象,以确定全景特征库中的一个或多个对象。其中,全景特征库中的一个或多个对象具有标志性。具有标志性是指对于特征匹配参考价值大,对特征匹配结果可靠性贡献比较大。
网格化用于将提取的一个或多个预设类型的对象网格化。
逐网格渲染如逐网格对提取的一个或多个预设类型的对象球面渲染。经过逐网格渲染可以得到渲染图。
在一些实施例中,为了方便后续处理,可以将逐网格渲染得到的渲染图以平面图像的形式表示,得到全景图。其中,全景图用于表征一个或多个标志性对象的多个模态的信息。如图5B所示,图5B示出了将图5A所示公共信息模型(common information model,CIM)逐网格渲染、柱面展开后得到的全景图的模态示意图。
全景图的模态可以包括但不限于纹理、实例和深度等。其中,全景图的纹理信息包括一个或多个对象的表面纹理(即使物体表面呈现凹凸不平的沟纹)信息和表面图案信息。全景图的实例信息用于表征不同的对象,例如全景图的实例信息可以用不同的颜色色调等表示不同的对象。全景图的深度信息用于表征对象的距离,例如,全景图的深度信息可以用颜色亮度、颜色对比度或颜色色调等表示对象的距离。如图5B所示,全景图包括纹理、实例和深度三个模态的信息。
作为一种示例,逐网格全景特征编码用于逐网格提取全景图所描述的一个或多个预设类型的对象的水平分辨率一致全景特征(以下简称“第一特征”),以得到全景特征库。例如,全景特征(即第一特征)的水平分辨率是第一分辨率。其中,水平分辨率一致是指全景特征(即第一特征)的水平方向相邻位置对应的水平视场(field of view,FOV)相同。
阶段2:水平分辨率一致特征提取阶段。
其中,水平分辨率一致特征提取阶段用于提取用户设备捕获的图像(如第一图像)中的水平分辨率一致特征(以下简称“第二特征”)。例如,图像中的水平分辨率一致特征(即第二特征)是第二分辨率。其中,图像中的水平分辨率一致特征(即第二特征)的水平方向相邻位置对应的水平FOV相同。
用户设备捕获的图像如用户设备拍摄的图像(如图6所示图像)、用户设备拍摄的视频中的图像帧等,本申请不限定。示例性的,用户设备可以对其面前的真实场景(如建筑物等)拍照,得到拍摄的图像。
其中,为了在通过将用户设备捕获的图像的水平分辨率一致特征(即第二特征)与全景特征库中的特征(即第一特征)进行匹配,以确定用户设备的空间位姿时,得到更加好的匹配效果,上述第二分辨率与第一分辨率相同。
在一些实施例中,为了进一步提高特征匹配的准确性,还可以在提取用户设备捕获的图像中的水平分辨率一致特征之前,对用户设备捕获的图像进行预处理,得到预处理后的图像(即第二图像)。
其中,预处理用于对用户设备捕获的图像做以下处理中的一种或多种:初始化空间姿态、图像亮度调整、图像对比度调整、确定图像所描述的对象的类别、柱面投影。
阶段3:特征匹配阶段。
其中,特征匹配阶段用于通过将用户设备捕获的图像的水平分辨率一致特征(即第二特征)与全景特征库中的特征(即第一特征)进行匹配,以确定用户设备的空间位姿。
作为一种可能的实现方式,可以在全景特征库全库范围内检索,以确定与用户设备捕获的图像的水平分辨率一致特征(即第二特征)匹配的第一特征。
作为一种可能的实现方式,可以在全景特征库的预设范围内检索,以确定与用户设备捕获的图像的水平分辨率一致特征(即第二特征)匹配的第一特征。
示例性的,预设范围可以包括多个优先级的子范围。例如,预设范围包括第一范围和第二范围。其中,第一范围的优先级高于第二范围,在进行特征匹配时,优先在优先级高的子范围内检索。
作为一种示例,可以通过将第二特征在全景特征库中滑窗,计算第二特征与滑窗范围内多个第一特征的匹配相似度,根据第二特征与多个滑窗范围中的多个第一特征的多个匹配相似度,确定与第二特征匹配的第一特征。例如,与第二特征匹配的特征是最高匹配相似度对应的第一特征。
作为一种示例,在本申请实施例中,经过特征匹配确定的用户设备的空间位姿可以用用户设备的6自由度位姿来表示。示例性的,6自由度位姿可以用(x,y,z,θ,ψ,φ)来表示。其中,(x,y,z)用于表示用户设备的空间位置,x,y和z分别是用户设备在预设空间坐标系中的X轴坐标值,Y轴坐标值和Z轴坐标值。(θ,ψ,φ)用于表示用户设备的空间姿态,θ即俯仰角(pitch),ψ即偏航角(yaw),φ即横滚角(roll)。例如,θ,ψ和φ分别是用户设备相对于预设空间坐标系的X轴,Y轴和Z轴的旋转值。
例如,预设空间坐标系可以是地面坐标系。如图7所示,以O为坐标原点的X轴,Y轴和Z轴构成的右手直角坐标系即地面坐标系。其中,坐标原点O可以为空间中的任意一点;X轴指向水平面内的任一方向;Z轴垂直于X轴所在的平面并指向地心。Y轴垂直于X轴,且垂直于Z轴。
如图7所示,用户设备的空间位置可以用(x,y,z)来表示,即用户设备在预设空间坐标系中的坐标值为(x,y,z)。
需要说明的是,图7仅以预设空间坐标系是地面坐标系作为示例,预设空间坐标系还可以是其他空间坐标系,本申请实施例不作具体限定。
如上文所述,本申请实施例中,对用户设备空间位姿的确定可以由用户设备(如智能手机)完成,也可以由云侧设备(如服务器)完成,还可以由用户设备(如智能手机)和云侧设备(如服务器)共同完成。即,上述阶段1-阶段3的任务可以由用户设备执行,也可以由云侧设备执行,还可以由用户设备和云侧设备分工执行。
以阶段1-阶段3所执行的任务由用户设备和云侧设备分工执行为例,作为一种示例,全景特征库的构建任务(即阶段1的任务)可以由云侧设备(如服务器)执行,水平分辨率一致特征提取任务(即阶段2的任务)和特征匹配任务(即阶段3的任务)可以由用户设备(如智能手机)执行。
以云侧设备基于图5A所示实景三维模型得到全景特征库,用户设备根据图6所示用户设备摄取的图像进行设备定位为例,本申请实施例提供的一种设备定位方法可以包括如图8所示阶段1-阶段3。
以图8所示场景为例,如图9所示,本申请实施例提供的一种设备定位方法具体可以包括S901-S911:
S901、云侧设备获取实景三维模型。
例如,实景三维模型可以包括但不限于航空实景三维模型、卫星实景三维模型或者城市信息模型(如图5A所示公共信息模型(CIM))等中的一种或多种。
需要说明的是,本申请实施例不限定实景三维模型的来源和创建方法等。例如,可以通过对基于城市规划图、城市布局测量(如激光扫描仪测量等)、卫星测量、航空测量(如航拍、无人机航测等)等方法测量得到的信息进行三维模型创建得到实景三维模型。关于实景三维模型的具体介绍,如创建方法等,可以参考常规技术,本申请实施例不做赘述。
S902、云侧设备对实景三维模型进行语义化分类,得到实景三维模型所描述的多个对象的类型。
其中,实景三维模型用于描述多个对象,如建筑(如商场、写字楼等)、地面可行区域(如广场、道路、路灯等)、绿化区域(如树木、草坪等)等对象。
在本申请实施例中,经过对实景三维模型进行语义化分类,可以得到实景三维模型所描述的多个对象的类型,以便于后续全景特征库中全景特征具有较强的可参考性,以及减少全景特征库中信息的冗余(如草坪等进行特征匹配时可参考性较低的冗余信息)。
S903、云侧设备从实景三维模型所描述的多个对象中提取一个或多个预设类型的对象。
其中,预设类型例如建筑、地面可行区域、绿化区域等。预设类型的对象如建筑、山、广场、道路等。
其中,在将用户设备捕获的图像中的特征与全景特征库中的特征进行匹配,以进行设备定位时,如建筑、山、广场、道路等具有标志性的对象对于特征匹配参考价值大,对特征匹配结果可靠性贡献比较大。例如,基于建筑物的外形和纹理等信息,基于山的轮廓和棱角等信息,基于广场的布局和景物等信息,基于道路的尺寸和路标等信息可以相对快速、准确地进行特征匹配结果。
S904、云侧设备将提取的一个或多个预设类型的对象网格化。
在本申请实施例中,可以按照固定间隔或者动态间隔将提取的一个或多个预设类型的对象网格化。
在一些实施例中,固定间隔可以由算法或软件开发人员按照经验设置。作为一种示例,在其他条件等同的情况下,固定间隔越小,即采样越密集,则后续得到的全景特征库精度越高。固定间隔如0.5米,1米等,视具体情况而定。
在一些实施例中,动态间隔可以由算法或软件开发人员按照实景三维模型中,区域的重要性,和/或对象所属类型的重要程度设置。其中,实景三维模型中,区域的重要性和类型的重要程度由算法或软件开发人员按照经验设置,本申请不限定具体的设置依据。例如,在单体建筑和地面可行区域相对于绿化区域更重要。在实景三维模型中,城区相对于郊区更重要。示例性的,在本申请实施例中,相对重要的区域或相对重要的类型的对象在进行网格化时,间隔相对较小;相对次要的区域中的对象或相对次要的类型对应对象在进行网格化时,间隔相对较大。
S905、云侧设备逐网格渲染提取的一个或多个预设类型的对象,得到渲染图。
在一些实施例中,云侧设备可以通过对提取的一个或多个预设类型逐网格执行球面渲染,得到渲染图。
示例性的,逐网格球面渲染具体可以包括:在每个网格上设置一个半径固定(如1米)的虚拟球,将一个或多个预设类型的对象(如单体建筑和/或地面可行区域)投影到球面上。
在一些实施例中,进一步的,云侧设备可以将逐网格渲染得到的渲染图以平面图像的形式表示,得到全景图(如图5B所示)。其中,全景图的模态可以包括但不限于纹理、实例和深度等。
示例性的,云侧设备可以将逐网格渲染得到的渲染图柱面展开,得到全景图。其中,经过柱面展开后的平面图像的水平和竖直分辨率相同,例如均为0.1度等,视具体情况而定。即经过柱面展开后的平面图像竖直或水平相邻一个像素对应虚拟球面的竖直或水平相邻固定角度(如0.1度)位置处的像素。
S906、云侧设备逐网格对提取的一个或多个预设类型的对象全景特征编码,得到全景特征库。
作为一种示例,云侧设备可以逐网格对全景图中一个或多个预设类型的对象进行全景特征编码,得到网格对应的全景特征。
其中,全景特征(即第一特征)为水平分辨率一致特征,即全景特征(即第一特征)的水平方向相邻位置对应的水平FOV相同。示例性的,全景特征的宽度和高度分别为wi和hi。
示例性的,可以利用人工智能(artificial intelligence,AI)模型,如模态编码网络提取第一特征。其中,本申请实施例不限定模态编码网络的具体拓扑结构。例如,模态编码网络可以包括但不限定于深度卷积神经网络、深度残差网络、循环神经网络等。关于深度卷积神经网络、深度残差网络、循环神经网络等模态编码网络的具体介绍,可以参考常规技术,本申请实施例不做赘述。
S907、用户设备对捕获的图像进行预处理。
示例性的,在将用户设备捕获的图像进行预处理之后,得到第二图像。
预处理可以包括但不限于以下中的一种或多种:将俯仰角(pitch)和横滚角(roll)初始化(如校正为0)、将亮度调整为预设亮度、将对比度调整为预设对比度、对图像所描述的对象语义化分类、柱面投影。其中,将俯仰角(pitch)和横滚角(roll)初始化(如校正为0)用于将空间姿态初始化。语义化分类用于确定图像所描述的对象的类别。柱面投影用于通过将平面图像投影到圆柱的曲面上,以满足视觉一致性。经过柱面投影,图像可在水平方向上满足360度环视,具有较好的视觉效果。
请参考图10,图10示出了一种图像预处理效果示例。如图10所示,在将用户设备捕获的图像(即第一图像)的俯仰角(pitch)和横滚角(roll)校正为0之后,得到图10所示的第二图像。
S908、用户设备提取预处理后得到的图像(即第二图像)的水平分辨率一致特征(以下简称“第二特征”)。
作为一种示例,用户设备可以对预处理后得到的图像(即第二图像)所描述的一个或多个对象进行全景特征编码,得到第二图像中的水平分辨率一致(如第二分辨率)特征(即第二特征)。示例性的,第二分辨率与第一分辨率相同。
其中,第二图像中第二特征的水平方向相邻位置对应的水平FOV相同。示例性的,第二特征的宽度和高度分别为wj和hj(wj小于或等于wi)。
作为一种示例,可以利用AI模型,如模态编码网络提取第二图像中的水平分辨率一致(特征(即第二特征)。其中,模态编码网络可以包括但不限定于深度卷积神经网络、深度残差网络、循环神经网络等。
S909、用户设备从云侧设备获取全景特征库。
S910、用户设备通过将第二特征在全景特征库中滑窗,以确定与第二特征匹配的全景特征。
示例性的,用户设备可以将第二特征在全景特征库中滑窗,计算第二特征与多个滑窗范围内多个第一特征的匹配相似度,从而确定与第二特征最匹配的第一特征。
作为一种可能的实现方式,用户设备可以在全景特征库全库范围内进行滑窗,以计算第二特征与全库范围内多个滑窗范围内多个第一特征的匹配相似度。
作为一种可能的实现方式,用户设备可以在全景特征库的预设范围内滑窗,以计算第二特征与预设范围内多个滑窗范围内多个第一特征的匹配相似度。
作为一种示例,预设范围可以由用户设备根据采集到的位置信息,结合预设范围的设置规则确定。例如,位置信息可以由用户设备通过但不限于以下中的一种或多种定位系统采集得到:GPS、GLONASS、BDS、QZSS或SBAS等,本申请不限定。
其中,用户设备采集位置信息时所处的位置与用户设备捕获第一图像时所处的位置相同。作为一种示例,用户设备可以在捕获第一图像的同时,采集位置信息。
在一些实施例中,预设范围可以是以全景特征库中,用户设备捕获第一图像时所处的位置(如图11所示O0点)为中心,以r(r为正数)为半径的圆形区域,如图11所示。
可以理解,由于GPS、GLONASS、BDS、QZSS或SBAS等定位系统采集的用户设备的位置信息通常用经纬度信息来表示(如(lon,lat)),而全景特征库通常以坐标值来表示位置,基于此,可以将用户设备捕获第一图像时所处的位置由经纬度信息转换为坐标值,如将(lon,lat)转换为(X0,Y0),其中(X0,Y0)即全景特征库中,用户设备捕获第一图像时所处的位置。如图11所示,O0点的坐标值为(X0,Y0)。
示例性的,预设范围可以包括多个优先级的子范围。例如,预设范围包括第一范围和第二范围。其中,第一范围的优先级高于第二范围,在进行滑窗检索时,优先在优先级高的子范围内检索。
示例性的,请参考图12,图12示出了本申请实施例提供的一种预设范围示意图。如图12所示,预设范围包括第一范围和第二范围。其中,第一范围是以全景特征库中,用户设备捕获第一图像时所处的位置(如图12所示O0点)为中心,以r1(r1为正数)为半径的圆形区域。第二范围是以全景特征库中,用户设备捕获第一图像时所处的位置(如图12所示O0点)为中心,以r1(r1为正数)为内径,r2(2为正数)为外径的圆环区域,其中r1小于r2。
以图11所示预设范围为例,假设滑窗步长为s(s为正数,且s小于或等于wi),预设范围内有N个第一特征(其中N为正整数),第一特征的宽度为wi,则第二特征与一个第一特征完成一次滑窗可以计算得到个相似度得分,第二特征在预设范围内滑窗可以计算得到个相似度得分。其中,指对wi/s的结果取整。
进一步的,在一些实施例中,用户设备可以根据个相似度得分确定与第二特征匹配的全景特征。例如,用户设备可以确定个相似度得分中,最大的相似度得分(如Smax)对应的第一特征与第二特征匹配。又如,若个相似度得分中,最大的相似度得分(如Smax)大于或等于预设阈值(如α),则用户设备确定该最大的相似度得分(即Smax)对应的第一特征与第二特征匹配。若个相似度得分中,最大的相似度得分(如Smax)小于预设阈值(如α),则用户设备定位失败。
若预设范围包括多个优先级的子范围,则用户设备可以按照高优先级→低优先级的顺序,在全景特征库的多个子范围内滑窗,计算第二特征与多个子范围内多个第一特征的匹配相似度,直到确定与第二特征匹配的第一特征为止。
以图12所示预设范围为例,假设滑窗步长为s(s为正数,且s小于或等于wi),第一范围内有N1个第一特征(其中N1为正整数),第一特征的宽度为wi,则如图13所示,用户设备进行检索范围确定,确定在第一范围内滑窗,计算得到第二特征在第一范围内滑窗得到的个相似度得分。进一步的,作为一种示例,如图13所示,用户设备进行个相似度得分排序。若个相似度得分中,最大的相似度得分(如S1max)大于或等于预设阈值(如α),则用户设备确定该最大的相似度得分(即S1max)对应的第一特征与第二特征匹配。若个相似度得分中,最大的相似度得分(如S1max)小于预设阈值(如α),则用户设备扩大检索范围。如图13所示,用户设备确定在第二范围内滑窗。假设第二范围内有N2个第一特征(其中N1为正整数),第一特征的宽度为wi,则如图13所示,用户设备在全景特征库的第二范围内滑窗,计算得到个相似度得分。进一步的,如图13所示,用户设备对个相似度得分进行排序。若个相似度得分中,最大的相似度得分(如S2max)大于或等于预设阈值(如α),则用户设备确定该最大的相似度得分(即S2max)对应的第一特征与第二特征匹配。若个相似度得分中,最大的相似度得分(如S2max)仍然小于预设阈值(如α),且无更低优先级的子范围,则用户设备定位失败。
S911、用户设备根据与第二特征匹配的全景特征,确定用户设备的空间位姿。
示例性的,用户设备的空间位姿可以用用户设备的6自由度位姿来表示。例如,6自由度位姿可以用(x,y,z,θ,ψ,φ)来表示。其中,(x,y,z)用于表示用户设备的空间位置。(θ,ψ,φ)用于表示用户设备的空间姿态,θ即俯仰角(pitch),ψ即偏航角(yaw),φ即横滚角(roll)。
作为一种可能的实现方式,用户设备在确定与第二特征匹配的全景特征之后,可以得到(x,y,z)、俯仰角(pitch)θ、偏航角(yaw)ψ和横滚角(roll)φ。其中,与第二特征匹配的全景特征在实景三维模型中对应的位置即为用户设备的空间位置(x,y,z)。与第二特征匹配的全景特征对应的俯仰角、偏航角和横滚角即为用户设备的俯仰角(pitch)θ、偏航角(yaw)ψ和横滚角(roll)φ。然后,用户设备输出用户设备的6自由度位姿(x,y,z,θ,ψ,φ)。
作为另一种可能的实现方式,用户设备在确定与第二特征匹配的全景特征之后,可以得到(x,y,z)和偏航角(yaw)ψ。其中,与第二特征匹配的全景特征在实景三维模型中对应的位置即为用户设备的空间位置(x,y,z)。与第二特征匹配的全景特征对应的偏航角即为用户设备的偏航角(yaw)ψ。然后,用户设备通过微调捕获图像时传感器采集到的俯仰角和横滚角,比较微调后图像水平分辨率一致特征与全景特征匹配的相似度得分,以确定用户设备的俯仰角(pitch)θ和横滚角(roll)φ。例如,若微调后的相似度得分大于微调前的相似度得分,则保留微调后的俯仰角和横滚角。然后,用户设备输出用户设备的6自由度位姿(x,y,z,θ,ψ,φ)。
进一步的,在一些AR场景中,如AR地图、AR导航、AR广告牌、AR全息信息展示、AR虚实融合拍照等场景中,在用户设备确定用户设备的空间位姿之后,用户设备可以根据用户设备的空间位姿,将虚拟物体(如虚拟导航箭头、虚拟路标、虚拟广告牌、虚拟信息、虚拟事物等)以准确的位置和朝向叠加在真实场景中,为用户带来更好的AR体验。
本申请实施例提供的设备定位方法相比于常规技术不依赖于人工设计特征点,不需要预先设置切片式图像检索特征以及额外的PnP处理,可以基于实景三维模型的全景特征库构建技术和滑窗检索技术实现低成本、广覆盖、高精度的用户设备定位。且该方法云上数据量小、端侧运算高效,可以为用户提供轻量级的AR应用服务。
另外,本申请实施例提供的设备定位方法相比于常规技术可以应用于天际线特征不明显的场景。
例如,在图14所示的场景中,左侧为用户设备摄取的照片,如图14中的左图所示,大雾天气将建筑物上方天际线遮挡。若采用常规的基于天际线特征匹配方法确定设备空间位姿,则无法准确定位。而利用基于本申请实施例提供的实景三维模型的滑窗检索视觉定位方法确定的6自由度位姿将虚拟人物渲染到真实场景对应位置的效果,如图14中的右图所示。
又如,在图15所示的场景中,如图15中的左图所示,由于用户设备只拍到建筑物一部分,因此图像中无任何天际线轮廓特征。若采用常规的基于天际线特征匹配方法确定设备空间位姿,则无法准确定位。而利用基于本申请实施例提供的实景三维模型的滑窗检索视觉定位方法确定的6自由度位姿将虚拟人物渲染到真实场景对应位置的效果,如图15中的右图所示。
应理解,本申请实施例的各个方案可以进行合理的组合使用,并且实施例中出现的各个术语的解释或说明可以在各个实施例中互相参考或解释,对此不作限定。
还应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
可以理解的是,电子设备(包括第一设备(如云侧设备)和第二设备(如用户设备))为了实现上述任一个实施例的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以对电子设备(包括第一设备(如云侧设备)和第二设备(如用户设备))进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,以采用集成的方式划分各个功能模块的情况下,如图16所示,为本申请实施例提供的一种用户设备的结构框图。如图16所示,该用户设备可以包括图像捕获单元1610、处理单元1620、位置检测单元1630、显示单元1640、存储单元1650和收发单元1660。
其中,图像捕获单元1610用于支持用户设备捕获图像(如第一图像),例如图像捕获单元1610包括一个或多个摄像头。
处理单元1620用于支持用户设备对图像捕获单元1610捕获的图像进行预处理,确定固定间隔、动态间隔或预设范围等,提取用户设备通过图像捕获单元1610捕获的图像的水平分辨率一致特征(如第二特征),在全景特征库中检索以确定与图像的水平分辨率一致特征(如第二特征)匹配的全景特征(如第一特征),根据与图像的水平分辨率一致特征(如第二特征)匹配的全景特征(如第一特征),确定用户设备通过图像捕获单元1610捕获图像时的空间位姿,和/或与本申请实施例相关的其他过程。
位置检测单元1630用于支持用户设备在图像捕获单元1610捕获图像时获取用户设备的位置信息,和/或与本申请实施例相关的其他过程。
显示单元1640用于支持用户设备显示图像捕获单元1610捕获的图像,显示在真实场景中叠加了虚拟物体(如虚拟导航箭头、虚拟路标、虚拟广告牌、虚拟信息、虚拟事物等)的AR图像,和/或与本申请实施例相关的其他界面。
存储单元1650用于支持用户设备存储计算机程序和实现本申请实施例提供的方法中的处理数据和/或处理结果等。
收发单元1660用于进行无线电信号的发送和接收。例如,收发单元1660用于支持用户设备从第一设备(如云侧设备)获取全景特征库,和/或与本申请实施例相关的其他过程。
作为一种示例,上述收发单元1660可以包括射频电路。具体的,用户设备可以通过射频电路进行无线信号的接收和发送。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
应理解,电子设备中的各个模块可以通过软件和/或硬件形式实现,对此不作具体限定。换言之,电子设备是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路ASIC、电路、执行一个或多个软件或固件程序的处理器和存储器、集成逻辑电路,和/或其他可以提供上述功能的器件。
在一种可选的方式中,当使用软件实现数据传输时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地实现本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线((digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如数字化视频光盘(digital video disk,DVD))、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
结合本申请实施例所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于电子设备中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
Claims (30)
1.一种设备定位方法,其特征在于,所述方法包括:
获取全景特征库,所述全景特征库中包括用于表示多个对象的多个第一特征,所述多个第一特征的水平分辨率一致;
提取用户设备捕获的图像的第二特征,所述第二特征的水平分辨率一致;
在所述全景特征库中检索,以确定与所述第二特征匹配的第一特征;
根据与所述第二特征匹配的所述第一特征,确定所述用户设备捕获所述图像时的空间位姿,所述空间位姿用于表示所述用户设备的位置和姿态。
2.根据权利要求1所述的方法,其特征在于,所述获取全景特征库,包括:基于实景三维模型,构建得到所述全景特征库;
其中,所述实景三维模型用于描述多个对象的空间信息。
3.根据权利要求2所述的方法,其特征在于,所述基于实景三维模型,构建得到所述全景特征库,包括:
通过对所述实景三维模型语义化分类,预设类型对象提取、渲染和全景特征编码,得到所述全景特征库。
4.根据权利要求3所述的方法,其特征在于,所述基于实景三维模型,构建得到所述全景特征库,包括:
对所述实景三维模型进行语义化分类,得到所述实景三维模型所描述的多个对象的类型;
从所述实景三维模型所描述的多个对象中提取一个或多个预设类型的对象;
将提取的所述一个或多个预设类型的对象网格化;
逐网格渲染所述一个或多个预设类型的对象,得到渲染图;
将所述渲染图柱面展开,得到全景图;
逐网格对所述全景图中的一个或多个预设类型的对象全景特征编码,得到所述全景特征库。
5.根据权利要求4所述的方法,其特征在于,所述将提取的所述一个或多个预设类型的对象网格化,包括:
按照固定间隔或者动态间隔将提取的所述一个或多个预设类型的对象网格化。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
按照所述实景三维模型中区域的重要性,和/或所述一个或多个预设类型的对象所属类型的重要程度设置所述动态间隔。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述用户设备捕获的所述图像是第一图像,在所述提取用户设备捕获的图像的第二特征之前,所述方法还包括:
对所述第一图像进行预处理,得到第二图像;
其中,所述预处理包括以下中的一种或多种:初始化空间姿态、将图像亮度调整为预设亮度、将图像对比度调整为预设对比度、对图像所描述的对象语义化分类、柱面投影。
8.根据权利要求7所述的方法,其特征在于,所述提取用户设备捕获的图像的第二特征,包括:
对所述第二图像所描述的一个或多个对象进行全景特征编码,得到所述第二图像的所述第二特征。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述在所述全景特征库中检索,以确定与所述第二特征匹配的第一特征,包括:
将所述第二特征在所述全景特征库中滑窗,确定所述第二特征与滑窗范围内多个第一特征的匹配相似度;
根据所述滑窗范围中所述第二特征与所述多个第一特征的多个匹配相似度,确定与所述第二特征匹配的第一特征。
10.根据权利要求9所述的方法,其特征在于,与所述第二特征匹配的所述第一特征是所述多个匹配相似度中,最高的匹配相似度对应的第一特征。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述在所述全景特征库中检索,以确定与所述第二特征匹配的第一特征,包括:
在所述全景特征库全库范围内检索,以确定与所述第二特征匹配的所述第一特征;或者,
在所述全景特征库的预设范围内检索,以确定与所述第二特征匹配的所述第一特征。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
根据所述用户设备捕获所述图像时,所述用户设备所处的位置,结合预设范围的设置规则确定所述预设范围。
13.根据权利要求11或12所述的方法,其特征在于,所述预设范围是以所述用户设备捕获所述图像时,所述用户设备所处的位置为中心,以r为半径的圆形区域,其中r为正数。
14.根据权利要求11或12所述的方法,其特征在于,所述预设范围包括第一范围和第二范围,所述第一范围的优先级高于所述第二范围;在所述全景特征库的预设范围内检索,以确定与所述第二特征匹配的所述第一特征,包括:
在所述第一范围内检索;
若在所述第一范围内未检索到与所述第二特征匹配的所述第一特征,则在所述第二范围内检索,以确定与所述第二特征匹配的所述第一特征。
15.根据权利要求14所述的方法,其特征在于,
所述第一范围是以所述用户设备捕获所述图像时,所述用户设备所处的位置为中心,以r1为半径的圆形区域,其中r1为正数;
所述第一范围是以所述用户设备捕获所述图像时,所述用户设备所处的位置为中心,以r1为内径,r2为外径的圆环区域,其中r1和r2为正数,且r1小于r2。
16.根据权利要求1-15中任一项所述的方法,其特征在于,所述第二特征的水平分辨率与所述第一特征的水平分辨率相同。
17.根据权利要求1-16中任一项所述的方法,其特征在于,所述实景三维模型包括以下中的一种或多种:航空实景三维模型、卫星实景三维模型、城市信息模型。
18.一种第一设备,其特征在于,所述第一设备包括:
存储器,用于存储计算机程序;
收发器,用于进行无线电信号接收和发送;
处理器,用于执行所述计算机程序,使得所述第一设备基于实景三维模型,构建得到全景特征库;
其中,所述实景三维模型用于描述多个对象的空间信息;所述全景特征库中包括用于表示多个对象的多个第一特征,所述多个第一特征的水平分辨率一致。
19.根据权利要求18所述的设备,其特征在于,所述处理器具体用于:
执行所述计算机程序,使得所述第一设备对所述实景三维模型进行语义化分类,得到所述实景三维模型所描述的多个对象的类型;
从所述实景三维模型所描述的多个对象中提取一个或多个预设类型的对象;
将提取的所述一个或多个预设类型的对象网格化;
逐网格渲染所述一个或多个预设类型的对象,得到渲染图;
将所述渲染图柱面展开,得到全景图;以及,
逐网格对所述全景图中的一个或多个预设类型的对象全景特征编码,得到所述全景特征库。
20.根据权利要求19所述的设备,其特征在于,所述将提取的所述一个或多个预设类型的对象网格化,包括:
按照固定间隔或者动态间隔将提取的所述一个或多个预设类型的对象网格化。
21.根据权利要求18-20中任一项所述的设备,其特征在于,所述实景三维模型包括以下中的一种或多种:航空实景三维模型、卫星实景三维模型、城市信息模型。
22.一种第二设备,其特征在于,所述第二设备包括:
存储器,用于存储计算机程序;
收发器,用于进行无线电信号接收和发送;
处理器,用于执行所述计算机程序,使得所述第二设备提取所述第二设备捕获的图像的第二特征,所述第二特征的水平分辨率一致;
在所述全景特征库中检索,以确定与所述第二特征匹配的第一特征;以及,
根据与所述第二特征匹配的所述第一特征,确定所述用户设备捕获所述图像时的空间位姿,所述空间位姿用于表示位置和姿态。
23.根据权利要求22所述的设备,其特征在于,所述处理器还用于:
执行所述计算机程序,使得所述第二设备对所述第一图像进行预处理,得到第二图像;
其中,所述预处理包括以下中的一种或多种:初始化空间姿态、将图像亮度调整为预设亮度、将图像对比度调整为预设对比度、对图像所描述的对象语义化分类、柱面投影。
24.根据权利要求22或23所述的设备,其特征在于,所述处理器具体用于:
执行所述计算机程序,使得所述第二设备对所述第二图像所描述的一个或多个对象进行全景特征编码,得到所述第二图像的所述第二特征。
25.根据权利要求22-24中任一项所述的设备,其特征在于,所述处理器具体用于:
执行所述计算机程序,使得所述第二设备将所述第二特征在所述全景特征库中滑窗,计算所述第二特征与滑窗范围内多个第一特征的匹配相似度;以及,
根据所述第二特征与多个滑窗范围中所述多个第一特征的多个匹配相似度,确定与所述第二特征匹配的第一特征。
26.根据权利要求25所述的设备,其特征在于,与所述第二特征匹配的所述第一特征是所述多个匹配相似度中,最高的匹配相似度对应的第一特征。
27.根据权利要求22-26中任一项所述的设备,其特征在于,所述处理器具体用于:
执行所述计算机程序,使得所述第二设备在所述全景特征库全库范围内检索,以确定与所述第二特征匹配的所述第一特征;或者,
在所述全景特征库的预设范围内检索,以确定与所述第二特征匹配的所述第一特征。
28.根据权利要求27所述的设备,其特征在于,所述预设范围包括第一范围和第二范围,所述第一范围的优先级高于所述第二范围;所述处理器具体用于:
执行所述计算机程序,使得所述第二设备在所述第一范围内检索;以及,
若在所述第一范围内未检索到与所述第二特征匹配的所述第一特征,则在所述第二范围内检索,以确定与所述第二特征匹配的所述第一特征。
29.一种设备定位系统,其特征在于,所述设备定位系统包括:
如权利要求18-21中任一项所述的第一设备;以及,
如权利要求22-28中任一项所述的第二设备。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序代码,所述计算机程序代码被处理电路执行时实现如权利要求1-17中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111166626.6A CN115937722A (zh) | 2021-09-30 | 2021-09-30 | 一种设备定位方法、设备及系统 |
PCT/CN2022/120592 WO2023051383A1 (zh) | 2021-09-30 | 2022-09-22 | 一种设备定位方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111166626.6A CN115937722A (zh) | 2021-09-30 | 2021-09-30 | 一种设备定位方法、设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115937722A true CN115937722A (zh) | 2023-04-07 |
Family
ID=85781293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111166626.6A Pending CN115937722A (zh) | 2021-09-30 | 2021-09-30 | 一种设备定位方法、设备及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115937722A (zh) |
WO (1) | WO2023051383A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886880B (zh) * | 2023-09-08 | 2023-12-26 | 中移(杭州)信息技术有限公司 | 监控视频调整方法、装置、设备及计算机程序产品 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198488B (zh) * | 2013-04-16 | 2016-08-24 | 北京天睿空间科技有限公司 | Ptz监控摄像机实时姿态快速估算方法 |
CN104748746B (zh) * | 2013-12-29 | 2017-11-03 | 刘进 | 智能机姿态测定及虚拟现实漫游方法 |
CN105844696B (zh) * | 2015-12-31 | 2019-02-05 | 清华大学 | 基于射线模型三维重构的图像定位方法以及装置 |
CN112348887A (zh) * | 2019-08-09 | 2021-02-09 | 华为技术有限公司 | 终端位姿确定方法以及相关装置 |
CN112348885B (zh) * | 2019-08-09 | 2024-07-26 | 华为技术有限公司 | 视觉特征库的构建方法、视觉定位方法、装置和存储介质 |
CN111652929A (zh) * | 2020-06-03 | 2020-09-11 | 全球能源互联网研究院有限公司 | 一种视觉特征的识别定位方法及系统 |
CN112073640B (zh) * | 2020-09-15 | 2022-03-29 | 贝壳技术有限公司 | 全景信息采集位姿获取方法及装置、系统 |
-
2021
- 2021-09-30 CN CN202111166626.6A patent/CN115937722A/zh active Pending
-
2022
- 2022-09-22 WO PCT/CN2022/120592 patent/WO2023051383A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023051383A1 (zh) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019223468A1 (zh) | 相机姿态追踪方法、装置、设备及系统 | |
US9129429B2 (en) | Augmented reality on wireless mobile devices | |
CN105283905B (zh) | 使用点和线特征的稳健跟踪 | |
US20150371440A1 (en) | Zero-baseline 3d map initialization | |
WO2021185375A1 (zh) | 一种分享数据的方法及设备 | |
WO2021088497A1 (zh) | 虚拟物体显示方法、全局地图更新方法以及设备 | |
CN112270709A (zh) | 地图构建方法及装置、计算机可读存储介质和电子设备 | |
WO2023124948A1 (zh) | 一种三维地图的创建方法及电子设备 | |
CN113822263A (zh) | 图像标注方法、装置、计算机设备及存储介质 | |
CN114076970A (zh) | 一种定位方法、装置及系统 | |
US20220157032A1 (en) | Multi-modality localization of users | |
WO2023051383A1 (zh) | 一种设备定位方法、设备及系统 | |
CN110956571A (zh) | 基于slam进行虚实融合的方法及电子设备 | |
US20240095265A1 (en) | Method and apparatus for retrieving 3d map | |
CN112053360B (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
CN112700525A (zh) | 一种图像处理方法及电子设备 | |
CN113569822B (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
CN115423853A (zh) | 一种图像配准方法和设备 | |
CN117095319A (zh) | 一种目标定位方法、系统和电子设备 | |
US20230196613A1 (en) | Localization and mapping by a group of mobile communications devices | |
CN116664684B (zh) | 定位方法、电子设备及计算机可读存储介质 | |
CN116664812B (zh) | 一种视觉定位方法、视觉定位系统及电子设备 | |
CN115442338B (zh) | 3d地图的压缩、解压缩方法和装置 | |
WO2022252236A1 (zh) | 3d地图的编解码方法及装置 | |
CN114758082A (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 |