CN117346650A - 视觉定位的位姿确定方法、装置以及电子设备 - Google Patents

视觉定位的位姿确定方法、装置以及电子设备 Download PDF

Info

Publication number
CN117346650A
CN117346650A CN202210751878.3A CN202210751878A CN117346650A CN 117346650 A CN117346650 A CN 117346650A CN 202210751878 A CN202210751878 A CN 202210751878A CN 117346650 A CN117346650 A CN 117346650A
Authority
CN
China
Prior art keywords
pose
terminal
images
target
local
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
Application number
CN202210751878.3A
Other languages
English (en)
Inventor
武廷繁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN202210751878.3A priority Critical patent/CN117346650A/zh
Priority to PCT/CN2023/101166 priority patent/WO2024001849A1/zh
Publication of CN117346650A publication Critical patent/CN117346650A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种视觉定位的位姿确定方法、装置以及电子设备。该方法包括:在安装有摄像头的终端移动的过程中,获取终端拍摄的多张图像;从多张图像中,根据视差选择出多张目标图像;将多张目标图像上传到云端,以获取到终端的约束位姿;根据约束位姿和终端的本地位姿确定出终端的目标位姿。本发明解决了定位的位姿不准确的技术问题。

Description

视觉定位的位姿确定方法、装置以及电子设备
技术领域
本发明涉及导航领域,具体而言,涉及一种视觉定位的位姿确定方法、 装置以及电子设备。
背景技术
现有技术中,通常需要对终端的位姿进行定位。如导航等过程中,需要 对请求导航的设备进行定位。可以采用的方法有视觉定位法。而视觉定位法 定位的位姿容易不准确。
发明内容
本发明实施例提供了一种视觉定位的位姿确定方法、装置以及电子设备, 以至少解决定位的位姿不准确的技术问题。
根据本发明实施例的一个方面,提供了一种视觉定位的位姿确定方法, 包括:在安装有摄像头的终端移动的过程中,获取上述终端拍摄的多张图像; 从上述多张图像中,根据视差选择出多张目标图像;将上述多张目标图像上 传到云端,以获取到上述终端的约束位姿;根据上述约束位姿和上述终端的 本地位姿确定出上述终端的目标位姿。
根据本发明实施例的另一方面,提供了一种视觉定位的位姿确定装置, 包括:获取模块,用于在安装有摄像头的终端移动的过程中,获取上述终端 拍摄的多张图像;选择模块,用于从上述多张图像中,根据视差选择出多张 目标图像;上传模块,用于将上述多张目标图像上传到云端,以获取到上述 终端的约束位姿;确定模块,用于根据上述约束位姿和上述终端的本地位姿 确定出上述终端的目标位姿。
作为一种可选的示例,上述选择模块包括:第一确定单元,用于从上述 多张图像中,确定同一对象的多张第一图像;第二确定单元,用于将上述多 张第一图像中,视差最大的两张图像作为上述多张目标图像中的图像。
作为一种可选的示例,上述确定模块包括:第三确定单元,用于根据上 述约束位姿和上述本地位姿确定出变换矩阵;获取单元,用于从上述变换矩 阵中获取尺度因子;第四确定单元,用于将上述本地位姿与上述尺度因子的 乘积作为上述目标位姿。
作为一种可选的示例,上述第三确定单元包括:第一输入子单元,用于 将上述本地位姿的第一数值与上述约束位姿的第二数值代入如下公式,得到 上述变换矩阵与残差:
其中,上述residual为残差,是上述约束位姿的旋转,/>是上述约束 位姿的平移,R是上述本地位姿的旋转,T是上述本地位姿的平移,T为上述 变换矩阵。
作为一种可选的示例,上述获取单元包括:第二输入子单元,用于将上 述约束位姿和上述本地位姿的相对旋转与相对偏移代入到如下公式中,得到 上述尺度因子:
其中,T为上述变换矩阵,s为上述尺度因子,r为上述约束位姿和上述 本地位姿的相对旋转,t为上述约束位姿和上述本地位姿的相对偏移。
作为一种可选的示例,上述上传模块包括:重定位单元,用于通知上述 云端按照导航地图,对上述多张目标图像中的每一张目标图像进行重定位, 得到每一张目标图像对应的重定位位置;上述云端将上述重定位位置按照先 后顺序排列,得到上述约束位姿。
作为一种可选的示例,上述云端可以获取导航区域内的全景视频和上述 导航区域内的多张拍摄图像;根据上述全景视频和上述拍摄图像,生成点云 地图;将上述点云地图与平面地图结合,得到上述导航地图。
作为一种可选的示例,云端可以从上述全景视频中抽取目标帧;确定上 述目标帧的第一位姿;对上述第一位姿进行交叉,生成矩阵结构,得到稀疏 点云;对上述稀疏点云进行稠密化,得到上述点云地图。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中 存储有计算机程序,其中,该计算机程序被处理器运行时执行上述视觉定位 的位姿确定方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和 处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计 算机程序执行上述的视觉定位的位姿确定方法。
在本发明实施例中,采用了在安装有摄像头的终端移动的过程中,获取 上述终端拍摄的多张图像;从上述多张图像中,根据视差选择出多张目标图 像;将上述多张目标图像上传到云端,以获取到上述终端的约束位姿;根据 上述约束位姿和上述终端的本地位姿确定出上述终端的目标位姿的方法,由 于在上述方法中,通过安装摄像头的终端移动的时候拍摄多张图像,通过多 张图像中根据视差选择的目标图像来确定约束位姿,并使用约束位姿来约束 本地位置,可以确定出终端准确的目标位姿。从而实现了提高确定的位姿的准确度的目的,进而解决了定位的位姿不准确的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部 分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的 不当限定。在附图中:
图1是根据本发明实施例的一种可选的视觉定位的位姿确定方法的流程 图;
图2是根据本发明实施例的一种可选的视觉定位的位姿确定方法的本地 VO尺度恢复算法的流程图;
图3是根据本发明实施例的一种可选的视觉定位的位姿确定方法的基于 本地VO尺度恢复的导航系统框图;
图4是根据本发明实施例的一种可选的视觉定位的位姿确定装置的结构 示意图;
图5是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实 施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第 一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先 后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的 本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外, 术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含, 例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于 清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的第一方面,提供了一种视觉定位的位姿确定方法, 可选地,如图1所示,上述方法包括:
S102,在安装有摄像头的终端移动的过程中,获取终端拍摄的多张图像;
S104,从多张图像中,根据视差选择出多张目标图像;
S106,将多张目标图像上传到云端,以获取到终端的约束位姿;
S108,根据约束位姿和终端的本地位姿确定出终端的目标位姿。
可选的,本实施例中,位姿可以为终端的移动轨迹和位置。本实施例的 目的在于确定出终端的准确的目标位姿,即终端准确的移动轨迹和位置,从 而可以应用在对终端进行导航、对终端进行定位的过程中。
上述的终端可以安装摄像头,摄像头可以包括前置摄像头、后置摄像头 或外接摄像头,摄像头可以为单摄像头或多摄像头组成的摄像头阵列。上述 终端可以被携带进行移动。例如,某用户携带终端在一定区域内移动,则终 端可以通过摄像头拍照,获取多张图像。需要说明的是,终端的摄像头拍摄 的是上述用户所在的一定区域内的图像,如果终端被放置到衣服口袋中,摄 像头被衣服布料遮挡,则无法获取上述多张图像。
在获取到多张图像后,可以根据视差选择多张目标图像。多张目标图像 被上传到云端后,云端可以根据目标图像确定终端的约束位姿,约束位姿是 用于对终端的本地位姿进行约束的位姿,将约束位姿发送给终端,再由终端 根据约束位姿和本地位姿来确定终端的准确的目标位姿。确定出目标位姿后, 可以在终端上显示目标位姿,以进行导航或者定位。
由于在上述方法中,通过安装摄像头的终端移动的时候拍摄多张图像, 通过多张图像中根据视差选择的目标图像来确定约束位姿,并使用约束位姿 来约束本地位置,可以确定出终端准确的目标位姿。从而实现了提高确定的 位姿的准确度的目的。
作为一种可选的示例,从多张图像中,根据视差选择出多张目标图像包 括:
从多张图像中,确定同一对象的多张第一图像;
将多张第一图像中,视差最大的两张图像作为多张目标图像中的图像。
本实施例中,在根据视差从多张图像中选择多张目标图像时,可以获取 同一对象的图像,然后,计算同一对象的图像中的每两张图像之间的视差, 并按照视差进行排序,排序后,可以将视差最大的两张图像作为目标图像。 如果包含多个对象,则每一个对象确定出两张目标图像。
作为一种可选的示例,根据约束位姿和终端的本地位姿确定出终端的目 标位姿包括:
根据约束位姿和本地位姿确定出变换矩阵;
从变换矩阵中获取尺度因子;
将本地位姿与尺度因子的乘积作为目标位姿。
本实施例中,可以根据约束位姿和本地位姿确定变换矩阵,确定出变换 矩阵后,从变换矩阵中获取尺度因子。尺度因子是用于对终端的本地位姿进 行调整的因子,通过尺度因子,对终端的本地位姿进行乘法计算,得到计算 后的位姿,计算后的位姿即为通过尺度因子调整后的位姿,计算后的位姿为 准确的目标位姿。
作为一种可选的示例,根据约束位姿和本地位姿确定出变换矩阵包括:
将本地位姿的第一数值与约束位姿的第二数值代入上述公式1,得到变 换矩阵与残差。
可选的,本实施例中,当知晓本地位姿的第一数值与约束位姿的第二数 值的情况下,将两者代入到上述公式中。由于本地位姿和约束位姿是一连串 的位置信息,因此,可以计算得到上述残差和上述变换矩阵T。
作为一种可选的示例,从变换矩阵中获取尺度因子包括:
将约束位姿和本地位姿的相对旋转与相对偏移代入到上述公式2中,得 到尺度因子。
可选的,本实施例中,由于上述变换矩阵T已经计算得到,而r与t均 为已知量,因此,可以计算尺度因子s。
作为一种可选的示例,将多张目标图像上传到云端,以获取到终端的约 束位姿包括:
云端按照导航地图,对多张目标图像中的每一张目标图像进行重定位, 得到每一张目标图像对应的重定位位置;
云端将重定位位置按照先后顺序排列,得到约束位姿。
可选的,本实施例中,当确定出多张目标图像之后,可以将目标图像上 传到云端。云端保存有导航地图,导航地图是一定区域内的地图。多张目标 图像可以在导航地图中确定相似度高的图像,经过比对,可以在导航地图中 确定出多张目标图像中每一张目标图像的位置。位置按照时间先后顺序排列 即可得到位姿。将得到的位姿作为约束位姿。
作为一种可选的示例,上述方法还包括:
云端获取导航区域内的全景视频和导航区域内的多张拍摄图像;
根据全景视频和拍摄图像,生成点云地图;
将点云地图与平面地图结合,得到导航地图。
可选的,本实施例中的导航地图需要预先获取。可以在导航区域内拍摄 全景视频,并拍摄多张的拍摄图像,全景视频和拍摄图像可以用于生成点云 地图。然后,点云地图和导航区域的平面地图结合,得到上述的导航地图。
作为一种可选的示例,根据全景视频和拍摄图像,生成点云地图包括:
从全景视频中抽取目标帧;
确定目标帧的第一位姿;
对第一位姿进行交叉,生成矩阵结构,得到稀疏点云;
对稀疏点云进行稠密化,得到点云地图。
可选的,本实施例中,在获取到全景视频和拍摄图像后,可以从全景视 频中抽取目标帧,每一个目标帧为一个图像。将抽取的多帧目标帧的位置确 定为第一位姿,对第一位姿进行交叉,生成矩阵结构,得到稀疏点云,稀疏 点云进行稠密化,得到点云地图。
本实施例提出一种结合云端重定位(视觉定位)的单目视觉里程(VO) 尺度恢复算法,使本地(终端)VO可以有效地应用在导航的用户跟踪中。结 合云端重定位的本地VO尺度恢复算法其关键在于,导航启动时在终端运行 VO,每隔一定时间选择若干关键帧发送到云端,云端对这部分关键帧进行重 定位,获得其对应的约束位姿,并将约束位姿返回到终端;终端将返回的约 束位姿作为约束条件,加入到本地位姿的计算过程中,求解出一个变换矩阵, 从变换矩阵中分解出尺度因子,根据此尺度因子可以恢复处本地位姿的真实 尺度。同时,由于本地位姿计算时加入了云端返回的的位姿约束,可以提高 VO计算出的本地位姿的可靠性。使用本实施例的尺度恢复算法,可以使本地 位姿长期准确且高效率跟踪用户,有效的提高了导航时用户追踪的效率和准 确率,同时应用场景也更广泛,不区分室内和室外场景。
图2为本地VO尺度恢复算法的基本流程图。算法的基本流程包括:关键 帧筛选上传、关键帧重定位、求解相似变换和VO尺度恢复。关键帧是指终端 运行VO时生成的关键帧,首先在终端上对VO最近求解出的部分关键帧进行 筛选,选择视差最大的若干张上传到云端进行重定位,终端指常见智能手机, 无特殊型号要求。云端重定位是指云端对接收到的关键帧进行视觉定位,并 将定位结果返回到终端。终端得到这若干张上传的关键帧的位姿后,将这些 位姿作为约束加入到本地位姿的计算中,最终可以求解到一个相似变换。从 相似变换中分解出的尺度因子,根据此尺度因子,可以恢复出本地位姿的真 实尺度。
图3为基于本地VO尺度恢复的导航系统总体框图。系统包括云端和终端。 如附图3所示,云端包括导航地图生成和导航服务,终端为用户提供功能接 口。导航地图生成包括采集原始建图数据,生成点云地图,根据点云地图和 平面地图生成导航地图。云端提供的导航服务包括:识别定位、路径规划和 实时导航。终端提供的给用户的功能包括:启动导航、初始定位、目的地选 择,实时导航。
云端离线导航地图生成用于导航的高精度地图。在导航区域(地图)范 围内,使用全景相机拍摄全景视频,全景相机型号无特定要求。此外还需要 一般单目相机拍摄的地图部分场景的图片,通过实时差分定位(Real-time kinematic,RTK)获得图片精确位置,相机型号无特殊要求。使用原始数据 和全景三维重建算法得到点云地图。根据点云地图和平面地图得到最终的导 航地图。导航地图存在云端,每次导航启动时加载对应区域地图即可。导航 业务全程在地图范围内进行。云端导航服务以初始的定位和用户跟踪时的重 定位任务为主,实时导航的过程使用本发明提出的本地VO尺度恢复。云端部 署在高性能服务器上,同时需要保持网络通畅。在导航启动后终端会和云端 导航服务不断交互,实现实时导航。
流程1,本实施例中,离线生成导航地图的具体步骤如下
步骤1:使用全景相机拍摄导航业务(地图)区域,得到全景视频。对 采图使用的全景相机的品牌和型号无特殊要求。需要特别说明的是:拍摄过 程中至少包含一个“回环”。回环指在拍摄一段距离后绕回“原点”,其中, “原点”并非特指最开始扫描的位置,而是扫描过程中曾经走过部分场景。 拍摄路线类似五个环形的形式。也就是手,采集的全景视频中,包含同一对 象不同角度的图像/视频。
步骤2:对场景中部分场景拍摄若干图片,并使用RTK获取拍摄图片是 精确位置坐标。对拍摄图片设备的品牌和型号无特殊要求,常见手机、单反 相机等设备都可。对RTK的品牌和型号无特殊要求。需要特殊说明的是:(I) 这部分图片会被用来做真实尺度回复,因此拍摄位置不能在同一条直线上, 拍摄位置尽可能分布在整个区域中;(II)尽可能拍摄对于场景中典型的场 景。
步骤3:使用三维重建算法对步骤1和步骤2采集的数据进行三维重建, 生成点云地图。三维重建算法基本流程为:全景视频抽帧、运行视觉即时定 位与地图创建(Simultaneous Localization and Mapping,SLAM)获取全景 关键帧和位姿、全景切图生成单目图片和其对应的位姿、使用单目图片和位 姿运行交叉矩阵结构(Structure fromMotion,SfM)生成稀疏点云、稠密 化生成稠密点云。
步骤4:结合平面地图和步骤3生成的点云地图,生成导航过程中使用 的导航地图,保存到云端。
流程2,导航流程如下:
步骤1:终端启动增强现实(Augmented Reality,AR)导航服务,云端加 载流程1中生成的导航地图。终端指网络通畅的智能手机,对品牌无特殊要 求。
步骤2:终端开始初始定位,使用摄像头拍摄当前环境图片,并上传到 云端。
步骤3:云端对当前环境图片运行初始定位,获得当前图片的位姿后, 返回给终端作为用户初始位置。
步骤4:终端获得初始位置后,选择导航目的地,上传到云端。
步骤5:云端根据导航的起点和目的地规划导航路径,并将移动方向指 示标识渲染到终端的屏幕上。
步骤6:用户按照指示标识移动,终端屏幕实施显示当前摄像头拍摄到 的画面,同时终端启动VO,开启用户跟踪。
步骤7:当终端VO达到一定时间,启动本地VO尺度恢复算法,算法流 程如附图1所示,具体步骤如下
步骤7.1:终端从VO最近得到的部分个关键帧中,选择平均视差最大的 若干关键帧上传到云端;
步骤7.2:云端对上传的关键帧进行重定位,返回对应的位姿;
步骤7.3:终端将云端重定位关键帧位姿作为先验加入到VO的计算中, 将残差定义为先验位姿减去相似变换矩阵乘以本地位姿。通过上述公式1求 变换矩阵T,通过上述公式2求尺度因子s。
步骤8:将恢复出真实尺度的本地VO求解出的位姿作为用户当前位姿, 实现融合本地VO和云端重定位的多模态用户跟踪。同时终端不停使用当前位 置判断是都到达目的地。
室内场景AR导航,实施时将建图算法和识别算法部署在云端,具体实施 流程如下:
步骤1:按照流程1步骤1采集原始视频数据。室内全景视频拍摄方法 一般是手持全景相机,按照流程1步骤1的方式拍摄,也可以通过其它设备 固定全景相机,如头盔等。
步骤2:按照流程1步骤2采集图片数据。采集图片数据一般通过手机 拍照,其它可以拍照的设备也可。通常拍摄较典型的场景,如店铺招牌等, 此类场景更大概率是导航的起点或者终点。
步骤3:部署自研建图算法,然后按照流程1步骤3所诉,对上述步骤1 和步骤2采集的原始数据,使用算法进行三维重建,生成点云地图。
步骤4:按照流程1步骤4生成导航地图,点云地图为步骤3生成的点 云地图,室内情况下平面地图使用建筑的CAD图。
步骤5:按照流程二步骤1和步骤2启动导航,启动导航时云端加载地 图信息,并开始接受来自终端的消息,终端上传当前环境图片。
步骤6:按照流程二步骤3、步骤4和步骤5生成导航路径,云端根据上 传的图片进行初始定位,将结果返回到终端,终端选择导航目的地上传到云 端,云端根据当前位置和目的地生成导航路径,并渲染到终端屏幕上。
步骤7:按照流程二步骤6到步骤8,终端启动VO,当VO运行跟踪每达 到20秒,启动尺度恢复算法。在执行本地尺度恢复时,从VO最近得到的10 张关键帧中选择平均视差最大的3张上传到云端进行重定位;将重定位的位 姿作为先验,求解本地VO位姿和先验位姿的相似变换,通过此变换矩阵恢复 出尺度因子,最终恢复出本地VO的尺度,实现实时多模态导航。本地VO可 以较准确的用户跟踪,结合本发明的尺度恢复算法恢复出本地VO的真实尺度, 可以实现导航过程中持续准确的进行用户跟踪。
按上述流程实施,可以实现完整的室内AR导航。
室外场景AR导航,实施时将建图算法和识别算法部署在云端,具体实施 流程如下:
步骤1:按照流程1步骤1所诉采集原始视频数据。室外全景视频拍摄 方法一般是手持全景相机,按照流程1步骤1的方式拍摄。如果场景较大, 还可以使用无人机搭载全景相机等其它方式,拍摄路线仍要符合流程1步骤 1描述。
步骤2:按照流程1步骤2采集图片数据。采集图片数据一般通过手机 拍照,其它可以拍照的设备也可。通常拍摄较典型的场景,如路标,建筑大 门等,此类场景更大概率是导航的起点或者终点。
步骤3:部署自研建图算法,然后按照流程1步骤3所诉,对上述步骤1 和步骤2采集的原始数据,使用算法进行三维重建,生成点云地图。
步骤4:按照流程1步骤4生成导航地图,点云地图为步骤3生成的点 云地图,室外情况下平面地图可以是平面CAD图和路网信息。
步骤5:按照流程二步骤1和步骤2启动导航,启动导航时云端加载地 图信息,并开始接受来自终端的消息,终端上传当前环境图片。
步骤6:按照流程二步骤3、步骤4和步骤5生成导航路径,云端根据上 传的图片进行初始定位,将结果返回到终端,终端选择导航目的地上传到云 端,云端根据当前位置和目的地生成导航路径,并渲染到终端屏幕上。
步骤7:按照流程二步骤6到步骤8,终端启动VO,当VO运行跟踪每达 到20秒,启动尺度恢复算法。在执行本地尺度恢复时,从VO最近得到的10 张关键帧中选择平均视差最大的3张上传到云端进行重定位;将重定位的位 姿作为先验,求解本地VO位姿和先验位姿的相似变换,通过此变换矩阵恢复 出尺度因子,最终恢复出本地VO的尺度,实现实时多模态导航。本地VO可 以较准确的用户跟踪,结合本发明的尺度恢复算法恢复出本地VO的真实尺度, 可以实现导航过程中持续准确的进行用户跟踪。
按上述流程实施,可以实现完整的室外AR导航。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表 述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描 述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同 时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属 于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本申请实施例的另一方面,还提供了一种视觉定位的位姿确定装置, 如图4所示,包括:
获取模块402,用于在安装有摄像头的终端移动的过程中,获取终端拍 摄的多张图像;
选择模块404,用于从多张图像中,根据视差选择出多张目标图像;
上传模块406,用于将多张目标图像上传到云端,以获取到终端的约束 位姿;
确定模块408,用于根据约束位姿和终端的本地位姿确定出终端的目标 位姿。
可选的,本实施例中,位姿可以为终端的移动轨迹和位置。本实施例的 目的在于确定出终端的准确的目标位姿,即终端准确的移动轨迹和位置,从 而可以应用在对终端进行导航、对终端进行定位的过程中。
上述的终端可以安装摄像头,摄像头可以包括前置摄像头、后置摄像头 或外接摄像头,摄像头可以为单摄像头或多摄像头组成的摄像头阵列。上述 终端可以被携带进行移动。例如,某用户携带终端在一定区域内移动,则终 端可以通过摄像头拍照,获取多张图像。需要说明的是,终端的摄像头拍摄 的是上述用户所在的一定区域内的图像,如果终端被放置到衣服口袋中,摄 像头被衣服布料遮挡,则无法获取上述多张图像。
在获取到多张图像后,可以根据视差选择多张目标图像。多张目标图像 被上传到云端后,云端可以根据目标图像确定终端的约束位姿,约束位姿是 用于对终端的本地位姿进行约束的位姿,将约束位姿发送给终端,再由终端 根据约束位姿和本地位姿来确定终端的准确的目标位姿。确定出目标位姿后, 可以在终端上显示目标位姿,以进行导航或者定位。
由于在上述方法中,通过安装摄像头的终端移动的时候拍摄多张图像, 通过多张图像中根据视差选择的目标图像来确定约束位姿,并使用约束位姿 来约束本地位置,可以确定出终端准确的目标位姿。从而实现了提高确定的 位姿的准确度的目的。
作为一种可选的示例,上述选择模块包括:第一确定单元,用于从上述 多张图像中,确定同一对象的多张第一图像;第二确定单元,用于将上述多 张第一图像中,视差最大的两张图像作为上述多张目标图像中的图像。
本实施例中,在根据视差从多张图像中选择多张目标图像时,可以获取 同一对象的图像,然后,计算同一对象的图像中的每两张图像之间的视差, 并按照视差进行排序,排序后,可以将视差最大的两张图像作为目标图像。 如果包含多个对象,则每一个对象确定出两张目标图像。
作为一种可选的示例,上述确定模块包括:第三确定单元,用于根据上 述约束位姿和上述本地位姿确定出变换矩阵;获取单元,用于从上述变换矩 阵中获取尺度因子;第四确定单元,用于将上述本地位姿与上述尺度因子的 乘积作为上述目标位姿。
本实施例中,可以根据约束位姿和本地位姿确定变换矩阵,确定出变换 矩阵后,从变换矩阵中获取尺度因子。尺度因子是用于对终端的本地位姿进 行调整的因子,通过尺度因子,对终端的本地位姿进行乘法计算,得到计算 后的位姿,计算后的位姿即为通过尺度因子调整后的位姿,计算后的位姿为 准确的目标位姿。
作为一种可选的示例,上述第三确定单元包括:第一输入子单元,用于 将上述本地位姿的第一数值与上述约束位姿的第二数值代入上述公式1,得 到上述变换矩阵与残差。
可选的,本实施例中,当知晓本地位姿的第一数值与约束位姿的第二数 值的情况下,将两者代入到上述公式中。由于本地位姿和约束位姿是一连串 的位置信息,因此,可以计算得到上述残差和上述变换矩阵T。
作为一种可选的示例,上述获取单元包括:第二输入子单元,用于将上 述约束位姿和上述本地位姿的相对旋转与相对偏移代入到上述公式2中,得 到上述尺度因子。
可选的,本实施例中,由于上述变换矩阵T已经计算得到,而r与t均 为已知量,因此,可以计算尺度因子s。
作为一种可选的示例,上述上传模块包括:重定位单元,用于通知上述 云端按照导航地图,对上述多张目标图像中的每一张目标图像进行重定位, 得到每一张目标图像对应的重定位位置;上述云端将上述重定位位置按照先 后顺序排列,得到上述约束位姿。
可选的,本实施例中,当确定出多张目标图像之后,可以将目标图像上 传到云端。云端保存有导航地图,导航地图是一定区域内的地图。多张目标 图像可以在导航地图中确定相似度高的图像,经过比对,可以在导航地图中 确定出多张目标图像中每一张目标图像的位置。位置按照时间先后顺序排列 即可得到位姿。将得到的位姿作为约束位姿。
作为一种可选的示例,上述云端可以获取导航区域内的全景视频和上述 导航区域内的多张拍摄图像;根据上述全景视频和上述拍摄图像,生成点云 地图;将上述点云地图与平面地图结合,得到上述导航地图。
可选的,本实施例中的导航地图需要预先获取。可以在导航区域内拍摄 全景视频,并拍摄多张的拍摄图像,全景视频和拍摄图像可以用于生成点云 地图。然后,点云地图和导航区域的平面地图结合,得到上述的导航地图。
作为一种可选的示例,云端可以从上述全景视频中抽取目标帧;确定上 述目标帧的第一位姿;对上述第一位姿进行交叉,生成矩阵结构,得到稀疏 点云;对上述稀疏点云进行稠密化,得到上述点云地图。
可选的,本实施例中,在获取到全景视频和拍摄图像后,可以从全景视 频中抽取目标帧,每一个目标帧为一个图像。将抽取的多帧目标帧的位置确 定为第一位姿,对第一位姿进行交叉,生成矩阵结构,得到稀疏点云,稀疏 点云进行稠密化,得到点云地图。
本实施例的其他示例请参见上述示例,在此不在赘述。
图5是根据本申请实施例的一种可选的电子设备的结构框图,如图5所 示,包括处理器502、通信接口504、存储器506和通信总线508,其中,处 理器502、通信接口504和存储器506通过通信总线508完成相互间的通信, 其中,
存储器506,用于存储计算机程序;
处理器502,用于执行存储器506上所存放的计算机程序时,实现如下 步骤:
在安装有摄像头的终端移动的过程中,获取终端拍摄的多张图像;
从多张图像中,根据视差选择出多张目标图像;
将多张目标图像上传到云端,以获取到终端的约束位姿;
根据约束位姿和终端的本地位姿确定出终端的目标位姿。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线 可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条 粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述 电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位 于远离前述处理器的存储装置。
作为一种示例,上述存储器506中可以但不限于包括上述视觉定位的位 姿确定装置中的获取模块402、选择模块404、上传模块406以及确定模块 408。此外,还可以包括但不限于上述视觉定位的位姿确定装置中的其他模块 单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等; 还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC (Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field -Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、 分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例, 本实施例在此不再赘述。
本领域普通技术人员可以理解,图5所示的结构仅为示意,实施上述视 觉定位的位姿确定方法的设备可以是终端设备,该终端设备可以是智能手机 (如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设 备(Mobile Internet Devices,MID)、PAD等终端设备。图5其并不对上 述电子设备的结构造成限定。例如,电子设备还可包括比图5中所示更多或 者更少的组件(如网络接口、显示装置等),或者具有与图5所示的不同的 配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一 计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光 盘等。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质, 该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理 器运行时执行上述视觉定位的位姿确定方法中的步骤。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各 种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完 成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存 盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(Random Access Memory, RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立 的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这 样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者 该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产 品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为 个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全 部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施 例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通 过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如 所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分 方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特 征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦 合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可 以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种视觉定位的位姿确定方法,其特征在于,包括:
在安装有摄像头的终端移动的过程中,获取所述终端拍摄的多张图像;
从所述多张图像中,根据视差选择出多张目标图像;
将所述多张目标图像上传到云端,以获取到所述终端的约束位姿;
根据所述约束位姿和所述终端的本地位姿确定出所述终端的目标位姿。
2.根据权利要求1所述的方法,其特征在于,所述从所述多张图像中,根据视差选择出多张目标图像包括:
从所述多张图像中,确定同一对象的多张第一图像;
将所述多张第一图像中,视差最大的两张图像作为所述多张目标图像中的图像。
3.根据权利要求1所述的方法,其特征在于,所述根据所述约束位姿和所述终端的本地位姿确定出所述终端的目标位姿包括:
根据所述约束位姿和所述本地位姿确定出变换矩阵;
从所述变换矩阵中获取尺度因子;
将所述本地位姿与所述尺度因子的乘积作为所述目标位姿。
4.根据权利要求3所述的方法,其特征在于,所述根据所述约束位姿和所述本地位姿确定出变换矩阵包括:
将所述本地位姿的第一数值与所述约束位姿的第二数值代入如下公式,得到所述变换矩阵与残差:
其中,所述residual为残差,是所述约束位姿的旋转,/>是所述约束位姿的平移,R是所述本地位姿的旋转,T是所述本地位姿的平移,T为所述变换矩阵。
5.根据权利要求3所述的方法,其特征在于,所述从所述变换矩阵中获取尺度因子包括:
将所述约束位姿和所述本地位姿的相对旋转与相对偏移代入到如下公式中,得到所述尺度因子:
其中,T为所述变换矩阵,s为所述尺度因子,r为所述约束位姿和所述本地位姿的相对旋转,t为所述约束位姿和所述本地位姿的相对偏移。
6.根据权利要求1所述的方法,其特征在于,所述将所述多张目标图像上传到云端,以获取到所述终端的约束位姿包括:
所述云端按照导航地图,对所述多张目标图像中的每一张目标图像进行重定位,得到每一张目标图像对应的重定位位置;
所述云端将所述重定位位置按照先后顺序排列,得到所述约束位姿。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述云端获取导航区域内的全景视频和所述导航区域内的多张拍摄图像;
根据所述全景视频和所述拍摄图像,生成点云地图;
将所述点云地图与平面地图结合,得到所述导航地图。
8.根据权利要求7所述的方法,其特征在于,所述根据所述全景视频和所述拍摄图像,生成点云地图包括:
从所述全景视频中抽取目标帧;
确定所述目标帧的第一位姿;
对所述第一位姿进行交叉,生成矩阵结构,得到稀疏点云;
对所述稀疏点云进行稠密化,得到所述点云地图。
9.一种视觉定位的位姿确定装置,其特征在于,包括:
获取模块,用于在安装有摄像头的终端移动的过程中,获取所述终端拍摄的多张图像;
选择模块,用于从所述多张图像中,根据视差选择出多张目标图像;
上传模块,用于将所述多张目标图像上传到云端,以获取到所述终端的约束位姿;
确定模块,用于根据所述约束位姿和所述终端的本地位姿确定出所述终端的目标位姿。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
CN202210751878.3A 2022-06-28 2022-06-28 视觉定位的位姿确定方法、装置以及电子设备 Pending CN117346650A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210751878.3A CN117346650A (zh) 2022-06-28 2022-06-28 视觉定位的位姿确定方法、装置以及电子设备
PCT/CN2023/101166 WO2024001849A1 (zh) 2022-06-28 2023-06-19 视觉定位的位姿确定方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210751878.3A CN117346650A (zh) 2022-06-28 2022-06-28 视觉定位的位姿确定方法、装置以及电子设备

Publications (1)

Publication Number Publication Date
CN117346650A true CN117346650A (zh) 2024-01-05

Family

ID=89369772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210751878.3A Pending CN117346650A (zh) 2022-06-28 2022-06-28 视觉定位的位姿确定方法、装置以及电子设备

Country Status (2)

Country Link
CN (1) CN117346650A (zh)
WO (1) WO2024001849A1 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018124211A1 (de) * 2017-10-06 2019-04-11 Nvidia Corporation Lernbasierte Kameraposenschätzung von Bildern einer Umgebung
CN111780763B (zh) * 2020-06-30 2022-05-06 杭州海康机器人技术有限公司 一种基于视觉地图的视觉定位方法、装置
CN112270710B (zh) * 2020-11-16 2023-12-19 Oppo广东移动通信有限公司 位姿确定方法、位姿确定装置、存储介质与电子设备
CN112197770B (zh) * 2020-12-02 2021-03-12 北京欣奕华数字科技有限公司 一种机器人的定位方法及其定位装置
CN112819860B (zh) * 2021-02-18 2023-12-22 Oppo广东移动通信有限公司 视觉惯性系统初始化方法及装置、介质和电子设备
CN113029128B (zh) * 2021-03-25 2023-08-25 浙江商汤科技开发有限公司 视觉导航方法及相关装置、移动终端、存储介质
CN113409391B (zh) * 2021-06-25 2023-03-03 浙江商汤科技开发有限公司 视觉定位方法及相关装置、设备和存储介质
CN114120301A (zh) * 2021-11-15 2022-03-01 杭州海康威视数字技术股份有限公司 一种位姿确定方法、装置及设备
CN114185073A (zh) * 2021-11-15 2022-03-15 杭州海康威视数字技术股份有限公司 一种位姿显示方法、装置及系统

Also Published As

Publication number Publication date
WO2024001849A1 (zh) 2024-01-04

Similar Documents

Publication Publication Date Title
US10740975B2 (en) Mobile augmented reality system
US9159169B2 (en) Image display apparatus, imaging apparatus, image display method, control method for imaging apparatus, and program
CN106550182B (zh) 共享式无人机观景系统
JP4750859B2 (ja) データ処理装置、方法、記録媒体
EP2328125B1 (en) Image splicing method and device
CN108932051B (zh) 增强现实图像处理方法、装置及存储介质
US11113882B2 (en) Generating immersive trip photograph visualizations
CN108958469B (zh) 一种基于增强现实的在虚拟世界增加超链接的方法
KR102200299B1 (ko) 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법
CN111983635A (zh) 位姿确定方法及装置、电子设备和存储介质
CN111127524A (zh) 一种轨迹跟踪与三维重建方法、系统及装置
WO2005124594A1 (en) Automatic, real-time, superimposed labeling of points and objects of interest within a view
US20100134486A1 (en) Automated Display and Manipulation of Photos and Video Within Geographic Software
CN111833457A (zh) 图像处理方法、设备及存储介质
US11212510B1 (en) Multi-camera 3D content creation
CN114943773A (zh) 相机标定方法、装置、设备和存储介质
CN114882106A (zh) 位姿确定方法和装置、设备、介质
JP6388532B2 (ja) 画像提供システムおよび画像提供方法
JP2016194783A (ja) 画像管理システム、通信端末、通信システム、画像管理方法、及びプログラム
JP2016194784A (ja) 画像管理システム、通信端末、通信システム、画像管理方法、及びプログラム
CN113129422A (zh) 一种三维模型构建方法、装置、存储介质和计算机设备
CN117346650A (zh) 视觉定位的位姿确定方法、装置以及电子设备
CN114944015A (zh) 图像的处理方法、装置、电子设备及存储介质
KR101334980B1 (ko) 증강현실 콘텐츠 저작 장치 및 증강현실 콘텐츠 저작 방법
CN105096264B (zh) 处理设备和处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication