CN116091591A - 位姿估计方法、装置、终端及存储介质 - Google Patents

位姿估计方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN116091591A
CN116091591A CN202111282211.5A CN202111282211A CN116091591A CN 116091591 A CN116091591 A CN 116091591A CN 202111282211 A CN202111282211 A CN 202111282211A CN 116091591 A CN116091591 A CN 116091591A
Authority
CN
China
Prior art keywords
pose
data
determining
pose estimation
estimation data
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
CN202111282211.5A
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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202111282211.5A priority Critical patent/CN116091591A/zh
Publication of CN116091591A publication Critical patent/CN116091591A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/10024Color image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本公开是关于一种位姿估计方法、装置、终端及存储介质,位姿估计方法包括:方法包括:确定第一位姿估计数据、第一时刻的第一位姿数据以及第二时刻的第二位姿数据,第一位姿数据和第二位姿数据表征,基于终端的深度摄像模组确定的位姿,第一位姿估计数据表征,终端由第一时刻至第二时刻的位姿变化;根据第一位姿数据、第二位姿数据和第一位姿估计数据,确定目标位姿估计数据。该方法引入了第一位姿估计数据,根据由深度摄像模组确定的第一位姿数据和第二位姿数据,以及引入的第一位姿估计数据,确定终端的目标位姿估计数据,以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。

Description

位姿估计方法、装置、终端及存储介质
技术领域
本公开涉及终端技术领域,尤其涉及一种位姿估计方法、装置、终端及存储介质。
背景技术
位姿估计在视觉导航和视觉定位中具有广泛应用。
目前,位姿估计方法主要有三种。第一,基于彩色摄像头(RGB摄像头)进行位姿估计。第二,基于深度摄像头(Depth摄像头)进行位姿估计。第三,基于运动传感器(例如加速度计和陀螺仪)进行位姿估计。
但是,上述三种位姿估计方法均有不同程度的精度损失。
发明内容
为克服相关技术中存在的问题,本公开提供一种位姿估计方法、装置、终端及存储介质。
根据本公开实施例的第一方面,提供一种位姿估计方法,应用于终端,所述方法包括:
确定第一位姿估计数据、第一时刻的第一位姿数据以及第二时刻的第二位姿数据,所述第一位姿数据和所述第二位姿数据表征,基于所述终端的深度摄像模组确定的位姿,所述第一位姿估计数据表征,所述终端由所述第一时刻至所述第二时刻的位姿变化;
根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据。
可选地,所述根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据,包括:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
若确定所述第三位姿数据与所述第二位姿数据满足第一相似度条件,则将所述第一位姿估计数据确定为所述目标位姿估计数据。
可选地,所述第一位姿估计数据表征,基于所述终端的彩色摄像模组确定的位姿变化,所述根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据,包括:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
确定所述第一时刻至所述第二时刻的第二位姿估计数据,所述第二位姿估计数据表征,基于所述终端的非视觉传感器确定的位姿变化;
若确定所述第三位姿数据与所述第二位姿数据未满足第一相似度条件,则根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据。
可选地,所述根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据,包括:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据满足第二相似度条件,则将所述第二位姿估计数据确定为所述目标位姿估计数据。
可选地,所述根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据,包括:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据未满足第二相似度条件,则判断迭代次数是否满足设定阈值;
若确定所述迭代次数满足所述设定阈值,则根据所述第一位姿数据和所述第二位姿数据,确定所述目标位姿估计数据。
可选地,所述确定第一位姿估计数据、第一时刻的第一位姿数据,以及第二时刻的第二位姿数据,包括:
确定满足设定条件,则根据特征点集和设定标定信息,确定所述第一位姿估计数据、所述第一位姿数据以及所述第二位姿数据;
所述确定满足设定条件,包括以下方式中的至少一种:
方式1,根据所述第一时刻的第一彩色图像和所述第二时刻的第二彩色图像,确定所述特征点集;
方式2,根据所述第一时刻的第一深度图像和所述第二时刻的第二深度图像,确定所述特征点集;
方式3,若确定所述迭代次数未满足所述设定阈值,则调整所述特征点集和所述迭代次数。
根据本公开实施例的第二方面,提供一种位姿估计装置,应用于终端,所述装置包括:
确定模块,用于确定第一位姿估计数据、第一时刻的第一位姿数据以及第二时刻的第二位姿数据,所述第一位姿数据和所述第二位姿数据表征,基于所述终端的深度摄像模组确定的位姿,所述第一位姿估计数据表征,所述终端由所述第一时刻至所述第二时刻的位姿变化;
用于根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据。
可选地,所述确定模块,用于:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
若确定所述第三位姿数据与所述第二位姿数据满足第一相似度条件,则将所述第一位姿估计数据确定为所述目标位姿估计数据。
可选地,所述第一位姿估计数据表征,基于所述终端的彩色摄像模组确定的位姿变化,所述确定模块,用于:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
确定所述第一时刻至所述第二时刻的第二位姿估计数据,所述第二位姿估计数据表征,基于所述终端的非视觉传感器确定的位姿变化;
若确定所述第三位姿数据与所述第二位姿数据未满足第一相似度条件,则根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据。
可选地,所述确定模块,用于:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据满足第二相似度条件,则将所述第二位姿估计数据确定为所述目标位姿估计数据。
可选地,所述确定模块,用于:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据未满足第二相似度条件,则判断迭代次数是否满足设定阈值;
若确定所述迭代次数满足所述设定阈值,则根据所述第一位姿数据和所述第二位姿数据,确定所述目标位姿估计数据。
可选地,所述确定模块,用于:
确定满足设定条件,则根据特征点集和设定标定信息,确定所述第一位姿估计数据、所述第一位姿数据以及所述第二位姿数据;
所述确定满足设定条件,包括以下方式中的至少一种:
方式1,根据所述第一时刻的第一彩色图像和所述第二时刻的第二彩色图像,确定所述特征点集;
方式2,根据所述第一时刻的第一深度图像和所述第二时刻的第二深度图像,确定所述特征点集;
方式3,若确定所述迭代次数未满足所述设定阈值,则调整所述特征点集和所述迭代次数。
根据本公开实施例的第三方面,提供一种终端,所述终端包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如第一方面任意一项所述的方法。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得所述终端能够执行如第一方面任意一项所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:该方法中,不再仅仅根据深度摄像模组确定位姿估计数据,而是引入了第一位姿估计数据,然后根据由深度摄像模组确定的第一位姿数据和第二位姿数据,以及引入的第一位姿估计数据,确定终端的目标位姿估计数据,以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的位姿估计方法的流程图。
图2是根据一示例性实施例示出的位姿估计方法的流程图。
图3是根据一示例性实施例示出的位姿估计方法的流程图。
图4是根据一示例性实施例示出的位姿估计方法的流程图。
图5是根据一示例性实施例示出的位姿估计方法的流程图。
图6是根据一示例性实施例示出的位姿估计方法的流程图。
图7是根据一示例性实施例示出的位姿估计方法的流程图。
图8是根据一示例性实施例示出的位姿估计装置的框图。
图9是根据一示例性实施例示出的终端的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开提供了一种位姿估计方法,应用于终端。该方法中,不再仅仅根据深度摄像模组确定位姿估计数据,而是引入了第一位姿估计数据,然后根据由深度摄像模组确定的第一位姿数据和第二位姿数据,以及引入的第一位姿估计数据,确定终端的目标位姿估计数据,以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。
当该方法应用于视觉导航、视觉定位等定位场景时,由于确定的目标位姿估计数据能够更加准确地反映终端由第一时刻至第二时刻的位姿变化情况,因此,可以提高视觉导航、视觉定位等定位场景中定位的准确性,提升用户的使用体验。
在一个示例性实施例中,提供了一种位姿估计方法,应用于终端。参考图1所示,该方法包括:
S110,确定第一位姿估计数据、第一时刻的第一位姿数据以及第二时刻的第二位姿数据;
S120,根据第一位姿数据、第二位姿数据和第一位姿估计数据,确定目标位姿估计数据。
在步骤S110中,第一位姿数据和第二位姿数据表征,基于终端的深度摄像模组(例如depth摄像头,即深度摄像头)确定的位姿。其中,深度摄像模组确定的终端在第一时刻的位姿数据,记为第一位姿数据,第一位姿数据表征深度摄像模组确定的终端在第一时刻的位姿。深度摄像模组确定的终端在第二时刻的位姿数据,记为第二位姿数据,第二位姿数据表征深度摄像模组确定的终端在第二时刻的位姿。
示例1,
在第一时刻,终端的深度摄像头拍摄得到第一深度图像,可简称为Depth_1。
在第二时刻,终端的深度摄像头拍摄得到第二深度图像,可简称为Depth_2。
终端的处理器获取了Depth_1和Depth_2后,便可进行特征点的检测与匹配,以确定Depth_1和Depth_2中匹配的特征点,并将全部匹配的特征点确定为特征点集合。
其中,特征点是图像中具有代表性的点,这些点在图像发生变化时,比如图像的旋转、缩放,将保持不变。特征点可由关键点(Key-point)和描述子(Discriptor)组成,关键点是指该特征点在图像中的位置,描述子通常是一个向量,描述了该关键点周围的像素信息。
然后可基于Depth_1和特征点集合,确定终端在第一时刻的第一位姿数据,第一位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_1,平移数据可简称为T_depth_1。
并可基于Depth_2和特征点集合,确定终端在第二时刻的第二位姿数据,第二位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_2,平移数据可简称为T_depth_2。
第一位姿估计数据表征,终端由第一时刻至第二时刻的位姿变化。
其中,第一位姿估计数据可以基于终端的彩色摄像模组(例如RGB摄像头,即彩色摄像头)确定。第一位姿估计数据也可基于终端的非视觉传感器(例如加速度计和陀螺仪等运动传感器)确定。
需要注意的是,该步骤中,第一位姿估计数据不是根据深度摄像模组确定,除此之外,只要第一位姿估计数据能够表征终端由第一时刻至第二时刻的位姿变化,对第一位姿估计数据的确定方法不作限制。
示例2,
第一位姿估计数据基于终端的彩色摄像头确定。
在第一时刻,终端的彩色摄像头拍摄得到第一彩色图像,可简称为Image_1;终端的深度摄像头拍摄得到第一深度图像,可简称为Depth_1。
在第二时刻,终端的深度摄像头拍摄得到第二深度图像,可简称为Image_2;终端的深度摄像头拍摄得到第二深度图像,可简称为Depth_2。
终端的处理器获取了Image_1和Image_2后,便可进行特征点的检测与匹配,以确定Image_1和Image_2中匹配的特征点,并将全部匹配的特征点确定为第一特征点集合。然后进行位姿估计,得到单应性矩阵H。
其中,单应性(Homography)变换,可以简单的理解为用来描述物体在世界坐标系和像素坐标系之间的位置映射关系。对应的变换矩阵称为单应性矩阵。
然后可基于Image_1、Image_2以及单应性矩阵H,确定终端由第一时刻至第二时刻的第一位姿估计数据,第一位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_rgb,平移估计数据可简称为T_rgb。
在确定了第一特征点集合后,基于彩色摄像头与深度摄像头的离线标定信息,确定Depth_1和Depth_2的第二特征点集合。其中,离线标定信息可基于张正友立体标定方法确定。离线标定信息可以是终端出厂前设置的,也可以是终端出厂后设置的,并且,离线标定信息设置完成后,后续还可对其进行修改,以更好地满足用户的需求。
然后可基于Depth_1和第二特征点集合,确定终端在第一时刻的第一位姿数据,第一位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_1,平移数据可简称为T_depth_1。
并可基于Depth_2和第二特征点集合,确定终端在第二时刻的第二位姿数据,第二位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_2,平移数据可简称为T_depth_2。
示例3,
第一位姿估计数据基于终端的彩色摄像头确定。
在第一时刻,终端的彩色摄像头拍摄得到第一彩色图像,可简称为Image_1;终端的深度摄像头拍摄得到第一深度图像,可简称为Depth_1。
在第二时刻,终端的深度摄像头拍摄得到第二深度图像,可简称为Image_2;终端的深度摄像头拍摄得到第二深度图像,可简称为Depth_2。
终端的处理器获取了Depth_1和Depth_2后,便可进行特征点的检测与匹配,以确定Depth_1和Depth_2中匹配的特征点,并将全部匹配的特征点确定为第二特征点集合。
在确定了第二特征点集合后,基于彩色摄像头与深度摄像头的离线标定信息,确定Image_1和Image_2的第一特征点集合。
然后基于Image_1和Image_2进行位姿估计,得到单应性矩阵H。
其中,单应性(Homography)变换,可以简单的理解为用来描述物体在世界坐标系和像素坐标系之间的位置映射关系。对应的变换矩阵称为单应性矩阵。
然后可基于Image_1、Image_2以及单应性矩阵H,确定终端由第一时刻至第二时刻的第一位姿估计数据,第一位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_rgb,平移估计数据可简称为T_rgb。
在确定了第二特征点集合后,可基于Depth_1和第二特征点集合,确定终端在第一时刻的第一位姿数据,第一位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_1,平移数据可简称为T_depth_1。
并可基于Depth_2和第二特征点集合,确定终端在第二时刻的第二位姿数据,第二位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_2,平移数据可简称为T_depth_2。
示例4,
第一位姿估计数据基于终端的加速度计和陀螺仪构成非视觉传感器确定。
需要说明的是,一般情况下,加速度计的采样频率和陀螺仪的采样频率,均远大于摄像头(例如深度摄像头和彩色摄像头)的帧率。
该示例中,可根据非视觉传感器检测到的非视觉检测数据,确定第一位姿估计数据。
其中,加速度计由第一时刻至第二时刻可采集到多个平移数据,然后终端对上述全部平移数据进行处理,确定终端由第一时刻至第二时刻的平移估计数据,该平移估计数据可简称为T’。
陀螺仪由第一时刻至第二时刻可采集到多个旋转数据,然后终端对上述全部旋转数据进行处理,确定终端由第一时刻至第二时刻的旋转估计数据,该旋转估计数据可简称为α’。
上述T’和α’,共同构成第一位姿估计数据。
在步骤S120中,第一位姿数据和第二位姿数据基于深度摄像模组确定,而第一位姿估计数据不是基于深度摄像模组确定,因此,可以基于第一位姿数据和第二位姿数据,确定第一位姿估计数据的准确性,进而确定最终的目标位姿估计数据。在确定了目标位姿估计数据后,便可结束该位姿估计方法的流程。
示例5,
第一位姿估计数据基于终端的彩色摄像头确定。第一位姿估计数据包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_rgb,平移估计数据可简称为T_rgb。
第一位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_1,平移数据可简称为T_depth_1。
第二位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_2,平移数据可简称为T_depth_2。
该示例中,基于第一位姿数据和第二位姿数据,可确定第三位姿估计数据。第三位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_depth,平移估计数据可简称为T_depth。
其中,R_depth和T_depth可基于旋转估计数据的确定公式以及平移估计数据的确定公式得到。旋转估计数据的确定公式为:
Figure BDA0003331517730000081
平移估计数据的确定公式为:
Figure BDA0003331517730000091
在确定R_depth和T_depth时,可将R_depth_1、R_depth_2、T_depth_1、T_depth_2、R_depth和T_depth代入上述两个公式,依次作为公式中的r1、r2、t1、t2、R和T。
然后确定第一位姿估计数据与第三位姿估计数据是否满足相似度条件。该相似度条件可记为第三相似度条件。若满足相似度条件,则可将第一位姿估计数据确定为目标位姿估计数据;若未满足相似度条件,则可将第三位姿估计数据确定为目标位姿估计数据,以提高位姿估计的准确性。
其中,只有R_rgb和R_depth满足相似度条件,且T_rgb和T_depth也满足相似度条件,才认为第一位姿估计数据与第三位姿估计数据满足相似度条件。否则认为第一位姿估计数据与第三位姿估计数据未满足相似度条件。
其中,在确定R_rgb和R_depth是否满足相似度条件时,可先确定R_rgb与R_depth的差值,然后将该差值除以R_depth得到比值,若该比值小于差异阈值(例如10%),则认为R_rgb和R_depth满足相似度条件。否则,认为R_rgb和R_depth未满足相似度条件。
其中,差异阈值可以是终端出厂前设置的,也可以是终端出厂后设置的,并且,差异阈值设置完成后,后续还可对其进行修改,以更好地满足用户的需求。
确定T_rgb和T_depth是否满足相似度条件的方式,与上述确定R_rgb和R_depth是否满足相似度条件的方式相似,在此不作赘述。
需要说明的是,除了上述相似度条件的判断方式外,还可通过其他方式进行相似度条件的判断,在此不做限制。例如,可基于相似度的神经网络判断模型,来进行相似度的判断。
示例6,
该示例6与上述示例5的区别在于,示例5中,第一位姿估计数据基于终端的彩色摄像头确定。第一位姿估计数据包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为α’,平移估计数据可简称为T’。
其与方法与示例5类似,在此不作赘述。
需要说明的是,除了上述根据第一位姿数据、第二位姿数据和第一位姿估计数据,确定目标位姿估计数据的方式外,还可通过其他方式根据第一位姿数据、第二位姿数据和第一位姿估计数据,确定目标位姿估计数据,在此不作限制。
该方法中,不再仅仅根据深度摄像模组确定位姿估计数据,而是引入了第一位姿估计数据,然后根据由深度摄像模组确定的第一位姿数据和第二位姿数据,以及引入的第一位姿估计数据,确定终端的目标位姿估计数据,以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。
当该方法应用于视觉导航、视觉定位等定位场景时,由于确定的目标位姿估计数据能够更加准确地反映终端由第一时刻至第二时刻的位姿变化情况,因此,可以提高视觉导航、视觉定位等定位场景中定位的准确性,提升用户的使用体验。
在一个示例性实施例中,提供了一种位姿估计方法,应用于终端。参考图2所示,该方法中,根据第一位姿数据、第二位姿数据和第一位姿估计数据,确定目标位姿估计数据,可包括:
S210,根据第一位姿数据和第一位姿估计数据,确定第三位姿数据;
S220,判断第三位姿数据与第二位姿数据是否满足第一相似度条件;若判断结果为是,则执行步骤S230;否则,执行步骤S240;
S230,将第一位姿估计数据确定为目标位姿估计数据;
S240,根据第一位姿数据和第二位姿数据,确定目标位姿估计数据。
在步骤S210中,第三位姿数据可包括旋转数据和平移数据。第三位姿数据可基于旋转估计数据的确定公式和平移估计数据的确定公式确定。
示例1,
第一位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_1,平移数据可简称为T_depth_1。
第一位姿估计数据可基于终端的彩色摄像头确定。第一位姿估计数据包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_rgb,平移估计数据可简称为T_rgb。
第三位姿数据可包括旋转数据和平移数据,其中,旋转数据可简称为R2’,平移数据可简称为T2’。
第三位姿数据可基于旋转估计数据的确定公式以及平移估计数据的确定公式得到。旋转估计数据的确定公式为:
Figure BDA0003331517730000101
平移估计数据的确定公式为:
Figure BDA0003331517730000102
根据上述两个确定公式,可以得到:r2=R·r1
Figure BDA0003331517730000103
可将R_depth_1、R2’、T_depth_1、T2’、R_rgb和T_rgb代入上述新确定的公式,依次作为公式中的r1、r2、t1、t2、R和T,便可确定最终的R2’和T2’,以确定第三位姿数据。
示例2,
该示例2与上述示例1的区别在于,示例2中,第一位姿估计数据包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为α’,平移估计数据可简称为T’;第三位姿数据可包括旋转数据和平移数据,其中,旋转数据可简称为R2”,平移数据可简称为T2”。
该示例2的其余方法与上述示例1相似,在确定第三位姿数据时,可将R_depth_1、α’、T_depth_1、T’、R2”和T2”代入上述新确定的公式,依次作为公式中的r1、r2、t1、t2、R和T。便可确定最终的R2”和T2”,以确定第三位姿数据。
在步骤S220至步骤S240中,若第三位姿数据与第二位姿数据满足相似度条件,则可将第一位姿估计数据确定为目标位姿估计数据;若第三位姿数据与第二位姿数据未满足相似度条件,则可根据第一位姿数据和第二位姿数据确定目标位姿估计数据,即,可根据第一位姿数据和第二位姿数据确定第三位姿估计数据,将该第三位姿估计数据确定为目标位姿估计数据,以提高位姿估计的准确性。
其中,上述相似度条件可记为第一相似度条件。第三位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_depth,平移估计数据可简称为T_depth。
示例3,
该示例3与上述示例1的情况相同,在示例3中,第三位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_depth,平移估计数据可简称为T_depth。
其中,只有R2’与R_depth_2满足第一相似度条件,且T2’与T_depth_2也满足第一相似度条件,才认为第三位姿数据与第二位姿数据满足第一相似度条件。否则认为第三位姿数据与第二位姿数据未满足第一相似度条件。
其中,在确定R2’与R_depth_2是否满足相似度条件时,可先确定R2’与R_depth_2的差值,然后将该差值除以R_depth_2得到比值,若该比值小于第一差异阈值(例如10%),则认为R2’与R_depth_2满足第一相似度条件。否则,认为R2’与R_depth_2未满足第一相似度条件。
其中,第一差异阈值可以是终端出厂前设置的,也可以是终端出厂后设置的,并且,第一差异阈值设置完成后,后续还可对其进行修改,以更好地满足用户的需求。
确定T2’与T_depth_2是否满足第一相似度条件的方式,与上述确定R2’与R_depth_2是否满足相似度条件的方式相似,在此不作赘述。
该示例3中,若确定R2’与R_depth_2满足第一相似度条件,且T2’与T_depth_2也满足第一相似度条件,则可将第一位姿估计数据确定为目标位姿估计数据,即可将R_rgb和T_rgb确定为目标位姿估计数据。
若确定R2’与R_depth_2未满足第一相似度条件,或者,T2’与T_depth_2未满足第一相似度条件,或者,R2’与R_depth_2未满足第一相似度条件且T2’与T_depth_2未满足第一相似度条件,便可将第三位姿估计数据确定为目标位姿估计数据,即可将R_depth和T_depth确定为目标位姿估计数据。
需要说明的是,除了上述第一相似度条件的判断方式外,还可通过其他方式进行第一相似度条件的判断,在此不做限制。例如,可基于相似度的神经网络判断模型,来进行相似度的判断。
示例4,
该示例4与上述示例3的区别在于,该示例4中,第一位姿估计数据包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为α’,平移估计数据可简称为T’;第三位姿数据可包括旋转数据和平移数据,其中,旋转数据可简称为R2”,平移数据可简称为T2”。
该示例4的其余方法参考上述示例2和示例3,在此不做赘述。
需要说明的是,该方法中,在确定目标位姿估计数据后,便可结束整个位姿估计方法的流程。
该方法中,不再仅仅根据深度摄像模组确定位姿估计数据,而是引入了第一位姿估计数据,然后根据由深度摄像模组确定的第一位姿数据以及引入的第一位姿估计数据,估算终端在第二时刻的位姿数据,即第三位姿数据。然后基于第三位姿数据与第二位姿数据是否满足第一相似度条件,来选择终端的目标位姿估计数据,以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。
在一个示例性实施例中,提供了一种位姿估计方法,应用于终端。该方法中,第一位姿估计数据可表征,基于终端的彩色摄像模组确定的位姿变化。即,第一位子估计数据基于彩色摄像模组确定。第一位姿估计数据包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_rgb,平移估计数据可简称为T_rgb。
参考图3所示,该方法中,根据第一位姿数据、第二位姿数据和第一位姿估计数据,确定目标位姿估计数据,可包括:
S310,根据第一位姿数据和第一位姿估计数据,确定第三位姿数据;
S320,判断第三位姿数据与第二位姿数据是否满足第一相似度条件;若判断结果为是,则执行步骤S330;否则,执行步骤S340;
S330,将第一位姿估计数据确定为目标位姿估计数据;
S340,确定第一时刻至第二时刻的第二位姿估计数据;
S350,根据第一位姿数据、第二位姿数据和第二位姿估计数据,确定目标位姿估计数据。
其中,该实施例中的步骤S310至S330可依次参考上述实施例中的步骤S210至S230,在此不做赘述。另外,该方法中,在确定目标位姿估计数据后,便可结束整个位姿估计方法的流程。即,步骤S330或步骤S350确定了目标位姿估计流程后,便可结束。
在步骤S340中,第二位姿估计数据表征,基于终端的非视觉传感器确定的位姿变化。即,第二位姿估计数据基于非视觉传感器确定。第二位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为α’,平移估计数据可简称为T’。
在步骤S350中,第一位姿数据和第二位姿数据基于深度摄像模组确定,而第二位姿估计数据基于非视觉传感器确定,因此,在第三位姿数据与第二位姿数据未满足第一相似度条件的情况下,说明第一位姿估计数据的准确性较差,无法将第一位姿估计数据确定为目标位姿估计数据,然后可以基于第一位姿数据和第二位姿数据,确定第二位姿估计数据的准确性,进而确定最终的目标位姿估计数据,以进一步提高目标位姿估计数据的准确定。
其中,确定第二位姿估计数据的准确性的方式,可参考上述实施例中确定第一位姿估计数据的准确性的方法。
示例1,
第二位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为α’,平移估计数据可简称为T’。
第一位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_1,平移数据可简称为T_depth_1。
第二位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_2,平移数据可简称为T_depth_2。
该示例中,基于第一位姿数据和第二位姿数据,可确定第三位姿估计数据。第三位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_depth,平移估计数据可简称为T_depth。
然后确定第二位姿估计数据与第三位姿估计数据是否满足相似度条件。该相似度条件可记为第四相似度条件。若满足相似度条件,则可将第二位姿估计数据确定为目标位姿估计数据;若未满足相似度条件,则可将第三位姿估计数据确定为目标位姿估计数据,以提高位姿估计的准确性。
其中,只有α’和R_depth满足相似度条件,且T’和T_depth也满足相似度条件,才认为第二位姿估计数据与第三位姿估计数据满足相似度条件。否则认为第二位姿估计数据与第三位姿估计数据未满足相似度条件。
其中,在确定α’和R_depth是否满足相似度条件时,可先确定α’与R_depth’的差值,然后将该差值除以R_depth得到比值,若该比值小于差异阈值(例如10%),则认为α’和R_depth满足相似度条件。否则,认为α’和R_depth未满足相似度条件。
其中,差异阈值可以是终端出厂前设置的,也可以是终端出厂后设置的,并且,差异阈值设置完成后,后续还可对其进行修改,以更好地满足用户的需求。
确定T’和T_depth是否满足相似度条件的方式,与上述确定α’和R_depth是否满足相似度条件的方式相似,在此不作赘述。
需要说明的是,除了上述相似度条件的判断方式外,还可通过其他方式进行相似度条件的判断,在此不做限制。例如,可基于相似度的神经网络判断模型,来进行相似度的判断。
该方法中,同时引入了第一位姿估计数据和第二位姿估计数据,其中,第一位姿估计数据基于彩色摄像模组确定,第二位姿估计数据基于非视觉传感器确定。该方法中,在第一位姿估计数据的准确性较差的情况下,可以基于第一位姿数据和第二位姿数据,确定第二位姿估计数据的准确性,进而确定最终的目标位姿估计数据,以进一步提高目标位姿估计数据的准确定,提升位姿估计的准确性,提升用户使用体验。
在一个示例性实施例中,提供了一种位姿估计方法,应用于终端。参考图4所示,该方法中,根据第一位姿数据、第二位姿数据和第二位姿估计数据,确定目标位姿估计数据,可包括:
S410,根据第一位姿数据和第二位姿估计数据,确定第四位姿数据;
S420,判断第四位姿数据与第二位姿数据是否满足第二相似度条件;若判断结果为是,则执行步骤S430;否则,执行步骤S440;
S430,将第二位姿估计数据确定为目标位姿估计数据;
S440,根据第一位姿数据和第二位姿数据,确定目标位姿估计数据。
其中,在上述其它实施例中的步骤S210至S240中,当第三位姿估计数据由非视觉传感器确定时,步骤S210至S240与步骤S410至S440相似,因此,在此对步骤S410至S440不做赘述。
另外,该方法中,在确定了目标位姿估计数据后,便可结束整个位姿估计方法的流程。
示例1,
第一位姿数据包括旋转数据和平移数据,其中,旋转数据可简称为R_depth_1,平移数据可简称为T_depth_1。
第二位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为α’,平移估计数据可简称为T’。
第四位姿数据可包括旋转数据和平移数据,其中,旋转数据可简称为R2”,平移数据可简称为T2”。
第三位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_depth,平移估计数据可简称为T_depth。
第四位姿数据可基于旋转估计数据的确定公式以及平移估计数据的确定公式得到。旋转估计数据的确定公式为:
Figure BDA0003331517730000151
平移估计数据的确定公式为:
Figure BDA0003331517730000152
根据上述两个确定公式,可以得到:r2=R·r1
Figure BDA0003331517730000153
可将R_depth_1、α’、T_depth_1、T’、R2”和T2”代入上述新确定的公式,依次作为公式中的r1、r2、t1、t2、R和T,便可确定最终的R2”和T2”,以确定第四位姿数据。
该示例中,只有R2”与R_depth_2满足第一相似度条件,且T2”与T_depth_2也满足第二相似度条件,才认为第四位姿数据与第二位姿数据满足第二相似度条件。否则认为第四位姿数据与第二位姿数据未满足第二相似度条件。
其中,在确定R2”与R_depth_2是否满足第二相似度条件时,可先确定R2”与R_depth_2的差值,然后将该差值除以R_depth_2得到比值,若该比值小于第二差异阈值(例如10%),则认为R2”与R_depth_2满足第二相似度条件。否则,认为R2”与R_depth_2未满足第二相似度条件。
其中,第二差异阈值可以是终端出厂前设置的,也可以是终端出厂后设置的,并且,第二差异阈值设置完成后,后续还可对其进行修改,以更好地满足用户的需求。
确定T2”与T_depth_2是否满足第二相似度条件的方式,与上述确定R2”与R_depth_2是否满足第二相似度条件的方式相似,在此不作赘述。
该示例中,若确定R2”与R_depth_2满足第二相似度条件,且T2”与T_depth_2也满足第二相似度条件,则可将第二位姿估计数据确定为目标位姿估计数据,即可将α’和T’确定为目标位姿估计数据。
若确定R2”与R_depth_2未满足第二相似度条件,或者,T2”与T_depth_2未满足第二相似度条件,或者,R2”与R_depth_2未满足第二相似度条件且T2”与T_depth_2未满足第二相似度条件,便可将第三位姿估计数据确定为目标位姿估计数据,即可将R_depth和T_depth确定为目标位姿估计数据。
需要说明的是,除了上述第二相似度条件的判断方式外,还可通过其他方式进行第二相似度条件的判断,在此不做限制。例如,可基于相似度的神经网络判断模型,来进行相似度的判断。
该方法中,在第一位姿估计数据的准确性较差的情况下,可基于第四位姿数据与第二位姿数据是否满足第二相似度条件,来选择终端的目标位姿估计数据,以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。
在一个示例性实施例中,提供了一种位姿估计方法,应用于终端。参考图5所示,该方法中,根据第一位姿数据、第二位姿数据和第二位姿估计数据,确定目标位姿估计数据,可包括:
S510,根据第一位姿数据和第二位姿估计数据,确定第四位姿数据;
S520,判断第四位姿数据与第二位姿数据是否满足第二相似度条件;若判断结果为是,则执行步骤S530;否则,执行步骤S540;
S530,将第二位姿估计数据确定为目标位姿估计数据;
S540,确定迭代次数满足设定阈值,根据第一位姿数据和所述第二位姿数据,确定目标位姿估计数据。
其中,该实施例中的步骤S510至S530可依次参考上述实施例中的步骤S410至S430,在此不做赘述。另外,该方法中,在确定了目标位姿估计数据后,便可结束整个位姿估计方法的流程。
在步骤S540中,在第四位姿数据与第二位姿数据未满足第二相似度条件的情况下,说明第二位姿估计数据的准确性较差,无法将第二位姿估计数据确定为目标位姿估计数据,然后可以基于迭代次数来判断是否由第一位姿数据和所述第二位姿数据,来确定目标位姿估计数据,以进一步提高目标位姿估计数据的准确定。
其中,迭代次数满足设定阈值,可以指迭代次数大于设定阈值。
设定阈值可以是终端出厂前设置的,也可以是终端出厂后设置的,并且,设定阈值设置完成后,后续还可对其进行修改,以更好地满足用户的需求。
设定阈值可以根据第一特征点集合或第二特征点集合中的特征点的数量确定,示例地,设定阈值可以特征点的数量的10%。例如,第一彩色图像和第二彩色图像中匹配的特征点对的数量为100对,则第一特征点集合中,特征点的数量为100个,便可将设定阈值设定为10。
示例1,
设定阈值为10。若确定迭代次数大于10,则说明迭代次数满足设定阈值,便可根据第一位姿数据和所述第二位姿数据,确定目标位姿估计数据。即,便可根据第一位姿数据和所述第二位姿数据,确定第三位姿估计数据。第三位姿估计数据可包括旋转估计数据和平移估计数据,其中,旋转估计数据可简称为R_depth,平移估计数据可简称为T_depth。也就是,最终确定的目标位姿估计数据可包括R_depth和T_depth。
该方法中,在第一位姿估计数据和第二位姿估计数据的准确性均较差的情况下,可基于迭代次数是否满足设定阈值,来确定是否根据第一位姿数据和所述第二位姿数据,确定目标位姿估计数据,以使得最终确定的目标位姿估计数据可以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。
在一个示例性实施例中,提供了一种位姿估计方法,应用于终端。参考图6所示,该方法中,确定第一位姿估计数据、第一时刻的第一位姿数据,以及第二时刻的第二位姿数据,可包括:
S610,确定满足设定条件,则根据特征点集和设定标定信息,确定第一位姿估计数据、第一位姿数据以及第二位姿数据。
其中,设定标定信息指彩色摄像模组与深度摄像模组的离线标定信息,其可以是终端出厂前设置的,也可以是终端出厂后设置的,并且,设定标定信息设置完成后,还可对其进行修改,以更好地满足用户需求。
其中,确定满足设定条件,可包括方式1、方式2和方式3中的至少一种。
方式1,根据第一时刻的第一彩色图像和第二时刻的第二彩色图像,确定特征点集。
示例1,
在第一时刻,终端的彩色摄像头拍摄得到第一彩色图像,可简称为Image_1。
在第二时刻,终端的深度摄像头拍摄得到第二深度图像,可简称为Image_2。
终端的处理器获取了Image_1和Image_2后,便可进行特征点的检测与匹配,以确定Image_1和Image_2中匹配的特征点,并将全部匹配的特征点确定为特征点集合。
方式2,根据第一时刻的第一深度图像和第二时刻的第二深度图像,确定特征点集。
示例2,
在第一时刻,终端的深度摄像头拍摄得到第一深度图像,可简称为Depth_1。
在第二时刻,终端的深度摄像头拍摄得到第二深度图像,可简称为Depth_2。
终端的处理器获取了Depth_1和Depth_2后,便可进行特征点的检测与匹配,以确定Depth_1和Depth_2中匹配的特征点,并将全部匹配的特征点确定为特征点集合。
方式3,若确定迭代次数未满足设定阈值,则调整特征点集和迭代次数。
示例3,
在第一时刻,终端的彩色摄像头拍摄得到第一彩色图像,可简称为Image_1。
在第二时刻,终端的深度摄像头拍摄得到第二深度图像,可简称为Image_2。
终端的处理器获取了Image_1和Image_2后,便可进行特征点的检测与匹配,以确定Image_1和Image_2中匹配的特征点,并将全部匹配的特征点确定为特征点集合。
在基于该特征点集进行位姿估计后,确定迭代次数小于或等于设定阈值,则重新调整特征点集,并将迭代次数加1,然后根据调整后的特征点设定标定信息,重新确定第一位姿估计数据、第一位姿数据以及第二位姿数据,重新进行位姿估计,直至确定出目标位姿估计数据。
需要说明的是,该方式3中,调整特征点集的方式不作限制,可以按FOV(视场角)从外到里减少特征点的数量,也可以将特征点分成多个部分,通过将不同部分的特征点确定为特征点集,来实现特征点集的调整。
示例4,
设定阈值设置为3。初始的迭代次数设置为0。通过特征点的检测与匹配,确定的初始特征点集合如图1所示,简称为P0。可将初始特征点集分成2*2=4等份,依次简称为P1、P2、P3和P4。
该示例中,迭代次数为0时,对应的特征点集为P0,此时未确定出目标位姿估计数据,由于0小于3,便可调整特征点集为P1,并将迭代次数调整为1,再次进行目标位姿估计数据的确定。
若仍未确定出目标位姿估计数据,由于1小于3,则再次调整特征点集和迭代次数,将特征点集调整为P2,,并将迭代次数调整为2,再次进行目标位姿估计数据的确定。
依次类推,直至确定出目标位姿估计数据。其中,当迭代次数为4时,经过第一相似度条件和第二相似度条件的判断,若仍未确定目标位姿估计数据。此时,由于4大于3,便可根据第一位姿数据和第二位姿数据确定目标位姿估计数据,结束目标位姿估计数据的确定流程。
该方法中,通过调整特征点集,实现基于不同特征点集的情况下,使用第一相似度条件和第二相似度条件选择目标位姿估计数据,以进一步地确定比较准确的目标位姿估计数据,以使得最终确定的目标位姿估计数据可以准确地反映终端由第一时刻至第二时刻的位姿变化情况,提升位姿估计的准确性,提升用户使用体验。
在一个示例性实施例中,提供了一种位姿估计方法,应用于终端。参考图7所示,该方法可包括:
S710,确定第一时刻的第一彩色图像和第一深度图像,确定第二时刻的第二彩色图像和第二深度图像,确定第一时刻至第二时刻的非视觉传感器的非视觉检测数据;
S720,根据第一彩色图像和第二彩色图像,确定特征点集;
S730,根据特征点集和设定标定信息,确定第一位姿估计数据、第一位姿数据和第二位姿数据;
S740,根据第一位姿数据和第二位姿数据,确定第三位姿估计数据,并根据非视觉检测数据,确定第二位姿估计数据;
S750,根据第一位姿数据和第一位姿估计数据,确定第三位姿数据;
S760,判断第三位姿数据与第二位姿数据是否满足第一相似度条件;若判断结果为是,则执行步骤S770;否则,执行步骤S780;
S770,将第一位姿估计数据确定为目标位姿估计数据;
S780,根据第一位姿数据和第二位姿估计数据,确定第四位姿数据;
S790,判断第四位姿数据与第二位姿数据是否满足第二相似度条件;若判断结果为是,则执行步骤S7100;否则,执行步骤S7110;
S7100,将第二位姿估计数据确定为目标位姿估计数据;
S7110,判断迭代次数是否满足设定阈值;若判断结果为是,则执行步骤S7120;否则,执行步骤S7130;
S7120,将第三位姿估计数据确定为目标位姿估计数据。
S7130,调整特征点集,并记录一次迭代,然后更新迭代次数,返回步骤S730。
其中,该方法中,在步骤S730中,当迭代次数为初始值时,可直接根据步骤S720确定的特征点集,以及设定标定信息,确定第一位姿估计数据、第一位姿数据和第二位姿数据,然后执行后续的各步骤。当迭代次数经过步骤S7130的更新后,说明终端以对特征点集进行了调整,此时,便可基于调整后的特征点集,以及设定标定信息,确定第一位姿估计数据、第一位姿数据和第二位姿数据,然后执行后续的各步骤。依次类推,直至确定出目标位姿估计数据,结束整个位姿估计流程。
另外,该方法中,在确定了目标位姿估计数据后,便可结束整个位姿估计方法的流程。
需要说明的是,如果单纯基于彩色摄像模组进行位姿估计,虽然特征点的检测和匹配的精度高,但是其单一时刻的位姿估计误差大,即单一时刻的位姿数据可靠性不够。如果单纯基于深度摄像模组进行位姿估计,虽然单一时刻的位姿估计准确度高,但是不同时刻的深度图像进行特征点的检测和匹配时,误差较大。如果单纯基于非视觉传感器进行位姿估计,虽然不同时刻之间的位姿估计精度高,但是不同时刻之间的非视觉检测数据存在自身的精度漂移,误差较大。
而该方法中,通过设置第一相似度条件、第二相似度条件以及设定阈值等,可以很好地避开上述各种位姿估计的缺陷,并可结合各种位姿估计的优势,使得最终确定的目标位姿估计数据更加准确,提升位姿估计的准确性,提升用户使用体验。
当该方法应用于视觉导航、视觉定位等定位场景时,由于确定的目标位姿估计数据能够更加准确地反映终端由第一时刻至第二时刻的位姿变化情况,因此,可以提高视觉导航、视觉定位等定位场景中定位的准确性,提升用户的使用体验。
在一个示例性实施例中,提供了一种位姿估计装置,应用于终端。该装置用于实施上述的位姿估计方法。示例地,参考图8所示,该装置可包括确定模块101,其中,确定模块101用于:
确定第一位姿估计数据、第一时刻的第一位姿数据以及第二时刻的第二位姿数据,第一位姿数据和第二位姿数据表征,基于终端的深度摄像模组确定的位姿,第一位姿估计数据表征,终端由第一时刻至第二时刻的位姿变化;
根据第一位姿数据、第二位姿数据和第一位姿估计数据,确定目标位姿估计数据。
在一个示例性实施例中,提供了一种位姿估计装置,应用于终端。参考图8所示,该装置中,确定模块101,用于:
根据第一位姿数据和第一位姿估计数据,确定第三位姿数据;
若确定第三位姿数据与第二位姿数据满足第一相似度条件,则将第一位姿估计数据确定为目标位姿估计数据。
在一个示例性实施例中,提供了一种位姿估计装置,应用于终端。参考图8所示,该装置中,第一位姿估计数据表征,基于终端的彩色摄像模组确定的位姿变化,确定模块101,用于:
根据第一位姿数据和第一位姿估计数据,确定第三位姿数据;
确定第一时刻至第二时刻的第二位姿估计数据,第二位姿估计数据表征,基于终端的非视觉传感器确定的位姿变化;
若确定第三位姿数据与第二位姿数据未满足第一相似度条件,则根据第一位姿数据、第二位姿数据和第二位姿估计数据,确定目标位姿估计数据。
在一个示例性实施例中,提供了一种位姿估计装置,应用于终端。参考图8所示,该装置中,确定模块101,用于:
根据第一位姿数据和第二位姿估计数据,确定第四位姿数据;
若确定第四位姿数据与第二位姿数据满足第二相似度条件,则将第二位姿估计数据确定为目标位姿估计数据。
在一个示例性实施例中,提供了一种位姿估计装置,应用于终端。参考图8所示,该装置中,确定模块101,用于:
根据第一位姿数据和第二位姿估计数据,确定第四位姿数据;
若确定第四位姿数据与第二位姿数据未满足第二相似度条件,则判断迭代次数是否满足设定阈值;
若确定迭代次数满足设定阈值,则根据第一位姿数据和第二位姿数据,确定目标位姿估计数据。
在一个示例性实施例中,提供了一种位姿估计装置,应用于终端。参考图8所示,该装置中,确定模块101,用于:
确定满足设定条件,则根据特征点集和设定标定信息,确定第一位姿估计数据、第一位姿数据以及第二位姿数据;
所述确定满足设定条件,包括以下方式中的至少一种:
方式1,根据第一时刻的第一彩色图像和第二时刻的第二彩色图像,确定特征点集;
方式2,根据第一时刻的第一深度图像和第二时刻的第二深度图像,确定特征点集;
方式3,若确定迭代次数未满足设定阈值,则调整特征点集和迭代次数。
在一个示例性实施例中,提供了一种终端,终端例如为手机、笔记本电脑、平板电脑以及可穿戴设备等。
参考图9所示,终端400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(I/O)的接口412,传感器组件414,以及通信组件416。
处理组件402通常控制终端400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在终端400的操作。这些数据的示例包括用于在终端400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为终端400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为终端400生成、管理和分配电力相关联的组件。
多媒体组件408包括在终端400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置相机模组和/或后置相机模组。当终端400处于操作模式,如拍摄模式或视频模式时,前置相机模组和/或后置相机模组可以接收外部的多媒体数据。每个前置相机模组和后置相机模组可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当终端400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为终端400提供各个方面的状态评估。例如,传感器组件414可以检测到终端400的打开/关闭状态,组件的相对定位,例如组件为终端400的显示器和小键盘,传感器组件414还可以检测终端400或终端400一个组件的位置改变,用户与终端400接触的存在或不存在,终端400方位或加速/减速和终端400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于终端400和其他终端之间有线或无线方式的通信。终端700可以接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理终端(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的方法。
在一个示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由终端400的处理器420执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储终端等。当存储介质中的指令由终端的处理器执行时,使得终端能够执行上述实施例中示出的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (14)

1.一种位姿估计方法,应用于终端,其特征在于,所述方法包括:
确定第一位姿估计数据、第一时刻的第一位姿数据以及第二时刻的第二位姿数据,所述第一位姿数据和所述第二位姿数据表征,基于所述终端的深度摄像模组确定的位姿,所述第一位姿估计数据表征,所述终端由所述第一时刻至所述第二时刻的位姿变化;
根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据,包括:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
若确定所述第三位姿数据与所述第二位姿数据满足第一相似度条件,则将所述第一位姿估计数据确定为所述目标位姿估计数据。
3.根据权利要求1所述的方法,其特征在于,所述第一位姿估计数据表征,基于所述终端的彩色摄像模组确定的位姿变化,所述根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据,包括:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
确定所述第一时刻至所述第二时刻的第二位姿估计数据,所述第二位姿估计数据表征,基于所述终端的非视觉传感器确定的位姿变化;
若确定所述第三位姿数据与所述第二位姿数据未满足第一相似度条件,则根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据,包括:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据满足第二相似度条件,则将所述第二位姿估计数据确定为所述目标位姿估计数据。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据,包括:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据未满足第二相似度条件,则判断迭代次数是否满足设定阈值;
若确定所述迭代次数满足所述设定阈值,则根据所述第一位姿数据和所述第二位姿数据,确定所述目标位姿估计数据。
6.根据权利要求5所述的方法,其特征在于,所述确定第一位姿估计数据、第一时刻的第一位姿数据,以及第二时刻的第二位姿数据,包括:
确定满足设定条件,则根据特征点集和设定标定信息,确定所述第一位姿估计数据、所述第一位姿数据以及所述第二位姿数据;
所述确定满足设定条件,包括以下方式中的至少一种:
方式1,根据所述第一时刻的第一彩色图像和所述第二时刻的第二彩色图像,确定所述特征点集;
方式2,根据所述第一时刻的第一深度图像和所述第二时刻的第二深度图像,确定所述特征点集;
方式3,若确定所述迭代次数未满足所述设定阈值,则调整所述特征点集和所述迭代次数。
7.一种位姿估计装置,应用于终端,其特征在于,所述装置包括:
确定模块,用于确定第一位姿估计数据、第一时刻的第一位姿数据以及第二时刻的第二位姿数据,所述第一位姿数据和所述第二位姿数据表征,基于所述终端的深度摄像模组确定的位姿,所述第一位姿估计数据表征,所述终端由所述第一时刻至所述第二时刻的位姿变化;
用于根据所述第一位姿数据、所述第二位姿数据和所述第一位姿估计数据,确定目标位姿估计数据。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,用于:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
若确定所述第三位姿数据与所述第二位姿数据满足第一相似度条件,则将所述第一位姿估计数据确定为所述目标位姿估计数据。
9.根据权利要求7所述的装置,其特征在于,所述第一位姿估计数据表征,基于所述终端的彩色摄像模组确定的位姿变化,所述确定模块,用于:
根据所述第一位姿数据和所述第一位姿估计数据,确定第三位姿数据;
确定所述第一时刻至所述第二时刻的第二位姿估计数据,所述第二位姿估计数据表征,基于所述终端的非视觉传感器确定的位姿变化;
若确定所述第三位姿数据与所述第二位姿数据未满足第一相似度条件,则根据所述第一位姿数据、所述第二位姿数据和所述第二位姿估计数据,确定所述目标位姿估计数据。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,用于:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据满足第二相似度条件,则将所述第二位姿估计数据确定为所述目标位姿估计数据。
11.根据权利要求9所述的装置,其特征在于,所述确定模块,用于:
根据所述第一位姿数据和所述第二位姿估计数据,确定第四位姿数据;
若确定所述第四位姿数据与所述第二位姿数据未满足第二相似度条件,则判断迭代次数是否满足设定阈值;
若确定所述迭代次数满足所述设定阈值,则根据所述第一位姿数据和所述第二位姿数据,确定所述目标位姿估计数据。
12.根据权利要求11所述的装置,其特征在于,所述确定模块,用于:
确定满足设定条件,则根据特征点集和设定标定信息,确定所述第一位姿估计数据、所述第一位姿数据以及所述第二位姿数据;
所述确定满足设定条件,包括以下方式中的至少一种:
方式1,根据所述第一时刻的第一彩色图像和所述第二时刻的第二彩色图像,确定所述特征点集;
方式2,根据所述第一时刻的第一深度图像和所述第二时刻的第二深度图像,确定所述特征点集;
方式3,若确定所述迭代次数未满足所述设定阈值,则调整所述特征点集和所述迭代次数。
13.一种终端,其特征在于,所述终端包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至6中任意一项所述的方法。
14.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由终端的处理器执行时,使得所述终端能够执行如权利要求1至6中任意一项所述的方法。
CN202111282211.5A 2021-11-01 2021-11-01 位姿估计方法、装置、终端及存储介质 Pending CN116091591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111282211.5A CN116091591A (zh) 2021-11-01 2021-11-01 位姿估计方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111282211.5A CN116091591A (zh) 2021-11-01 2021-11-01 位姿估计方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN116091591A true CN116091591A (zh) 2023-05-09

Family

ID=86210640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111282211.5A Pending CN116091591A (zh) 2021-11-01 2021-11-01 位姿估计方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN116091591A (zh)

Similar Documents

Publication Publication Date Title
EP3010226B1 (en) Method and apparatus for obtaining photograph
US9959484B2 (en) Method and apparatus for generating image filter
KR101712301B1 (ko) 화면을 촬영하기 위한 방법 및 디바이스
US20170304735A1 (en) Method and Apparatus for Performing Live Broadcast on Game
TWI724712B (zh) 圖像處理方法、電子設備和儲存介質
US11288531B2 (en) Image processing method and apparatus, electronic device, and storage medium
US9491371B2 (en) Method and device for configuring photographing parameters
CN106778773B (zh) 图片中目标物的定位方法及装置
US20210158560A1 (en) Method and device for obtaining localization information and storage medium
CN109840939B (zh) 三维重建方法、装置、电子设备及存储介质
CN105469056A (zh) 人脸图像处理方法及装置
US11252341B2 (en) Method and device for shooting image, and storage medium
CN106503682B (zh) 视频数据中的关键点定位方法及装置
US20170090684A1 (en) Method and apparatus for processing information
CN113486830A (zh) 图像处理方法及装置、电子设备和存储介质
CN107992894B (zh) 图像识别方法、装置及计算机可读存储介质
CN107239758B (zh) 人脸关键点定位的方法及装置
EP4161054A1 (en) Anchor point information processing method, apparatus and device and storage medium
CN109813295B (zh) 方位确定方法及装置、电子设备
CN116091591A (zh) 位姿估计方法、装置、终端及存储介质
CN108769513B (zh) 相机拍照方法及装置
CN107682623B (zh) 拍照方法及装置
CN115118950B (zh) 图像处理方法及装置
CN114722570B (zh) 视线估计模型建立方法、装置、电子设备及存储介质
CN110876013B (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