CN113538477A - 平面位姿的获取方法、装置、电子设备及存储介质 - Google Patents
平面位姿的获取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113538477A CN113538477A CN202010291736.4A CN202010291736A CN113538477A CN 113538477 A CN113538477 A CN 113538477A CN 202010291736 A CN202010291736 A CN 202010291736A CN 113538477 A CN113538477 A CN 113538477A
- Authority
- CN
- China
- Prior art keywords
- plane
- coordinate system
- space
- camera coordinate
- acquiring
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
-
- 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
Abstract
本公开关于一种平面位姿的获取方法、装置、电子设备及存储介质。该方法根据惯性测量数据确定空间平面的平面竖直轴的方向向量,根据平面区域上在同一水平直线的边缘点在相机坐标系中的坐标数据计算空间平面的平面水平轴的方向向量,并根据平面竖直轴以及平面水平轴的方向向量获取空间平面的平面法向量,得到相机坐标系与空间平面所在的空间平面坐标系的第一旋转矩阵;根据平面区域投影到空间平面上的外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系间的平移向量;将第一旋转矩阵和平移向量确定为空间平面的位姿。该方法结合惯性测量数据和图像特征优化空间平面的位姿,计算量小且可应用到各种场景中。
Description
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种平面位姿的获取方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,AR(Augmented Reality,增强现实)技术的应用范围越来越广。在针对竖直平面的AR技术应用中需要确定竖直平面在相机坐标系的空间位姿,从而能在空间平面上放置增强现实虚拟物体。现有的竖直平面在相机坐标系的空间位姿,通常是通过深度神经网络结构PlaneRCNN,从单个图像中检测和重建分段平面,但是深度神经网络结构需要大量的训练数据训练,计算量巨大,且难以泛化到各种场景中。
发明内容
本公开提供一种平面位姿的获取方法、装置、电子设备及存储介质,以至少解决传统技术中需要大量训练数据且难以泛化到各种场景中的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种平面位姿的获取方法,包括:
获取拍摄终端所拍摄的目标图像,在所述目标图像中识别空间平面对应的平面区域;
获取所述拍摄终端的惯性测量数据,根据所述惯性测量数据,确定所述空间平面的平面竖直轴在相机坐标系中的方向向量;
获取所述平面区域上的在同一水平直线的边缘点,并根据所述在同一水平直线的边缘点在相机坐标系中的坐标数据,计算所述空间平面的平面水平轴在相机坐标系中的方向向量;其中,所述水平直线平行于所述空间平面的平面水平轴;
根据所述平面竖直轴以及所述平面水平轴的方向向量,获取所述空间平面在相机坐标系中的平面法向量;
根据所述平面水平轴的方向向量、所述平面竖直轴的方向向量以及所述平面法向量,构建所述目标图像中相机坐标系到所述空间平面所在的空间平面坐标系的第一旋转矩阵;
获取所述平面区域投影到所述空间平面上的外切矩形,根据所述外切矩形获取空间平面坐标系的原点,得到所述相机坐标系与所述空间平面坐标系间的平移向量;
将所述第一旋转矩阵以及所述平移向量,确定为所述空间平面的位姿。
在其中一个实施例中,所述根据所述惯性测量数据,确定所述空间平面的平面竖直轴在相机坐标系中的方向向量的步骤,包括:
根据所述惯性测量数据获取相机坐标系到世界坐标系的第二旋转矩阵;
根据所述第二旋转矩阵以及世界坐标系中的重力轴的方向向量,获取所述重力轴在相机坐标系中的方向向量;
将所述重力轴在相机坐标系中的方向向量,确定为所述空间平面的平面竖直轴在相机坐标系中的方向向量。
在其中一个实施例中,所述获取所述平面区域上的在同一水平直线的边缘点的步骤,包括:
根据所述空间平面的平面竖直轴在相机坐标系中的方向向量以及所述空间平面的初始平面法向量,获取所述空间平面的平面水平轴的初始方向向量;所述空间平面的初始平面法向量是在所述目标图像中识别获取的;
根据所述空间平面的平面水平轴的初始方向向量,获取所述空间平面的平面水平轴在目标图像上投影直线的投影角度;
以所述投影角度初始化边缘检测算子,对所述目标图像上的平面区域进行边缘检测,得到所述平面区域的平面边缘点;
根据所述投影角度确定旋转角范围区间,根据所述平面边缘点拟合直线旋转角在所述旋转角范围区间的预选直线;
从所述预选直线中筛选出包含平面边缘点最多的直线作为水平直线,从所述水平直线上确定边缘点。
在其中一个实施例中,所述根据所述在同一水平直线的边缘点在相机坐标系中的坐标数据,计算所述空间平面的平面水平轴在相机坐标系中的方向向量的步骤,包括:
将所述在同一水平直线的边缘点在相机坐标系中的坐标向量转换为在世界坐标系中的坐标向量;
计算所述在同一水平直线的边缘点在世界坐标系中的坐标向量间的差值,得到所述空间平面的平面水平轴在世界坐标系中的方向向量;
将所述空间平面的平面水平轴在世界坐标系中的方向向量,转换为在相机坐标系中的方向向量。
在其中一个实施例中,所述根据所述外切矩形获取空间平面坐标系的原点,得到所述相机坐标系与所述空间平面坐标系的平移向量的步骤,包括:
获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,根据所述像素点的在相机坐标系的坐标数据获取所述外切矩形上各个顶点坐标;所述外切矩形的边分别与空间平面的平面水平轴以及平面竖直轴平行;
根据所述外切矩形上各个顶点坐标计算所述外切矩形中最短边的边长值;
对所述外切矩形按比例进行缩放,获得所述最短边的边长值为标准边长值的标准外切矩形,并基于所述外切矩形中各个顶点坐标获取标准外切矩形的各个顶点坐标;
根据所述标准外切矩形的各个顶点坐标,得到所述标准外切矩形的中心在相机坐标系中的坐标数据;
将所述标准外切矩形的中心确定为所述空间平面坐标系的原点,得到所述空间平面坐标系的原点在相机坐标系中的坐标数据,得到所述相机坐标系的平移向量。
在其中一个实施例中,所述将所述第一旋转矩阵以及所述平移向量,确定为所述空间平面的位姿的步骤之后,还包括:
获取与所述目标图像相邻的相邻图像;
确定所述目标图像中空间平面对应的平面区域与相邻图像间中空间平面对应的平面区域的匹配特征点;
根据所述匹配特征点在相机坐标系中的坐标数据,计算所述目标图像与所述相邻图像间的单应矩阵;
根据所述拍摄装置的内参数,计算所述单应矩阵对应的旋转矩阵;
将所述旋转矩阵叠加到所述第一旋转矩阵中,得到与所述相邻图像对应的相机坐标系到所述空间平面所在的空间平面坐标系的第三旋转矩阵。
根据本公开实施例的第二方面,提供一种平面位姿的获取装置,包括:
平面区域识别单元,被配置为执行获取拍摄终端所拍摄的目标图像,在所述目标图像中识别空间平面对应的平面区域;
垂直轴获取单元,被配置为执行获取所述拍摄终端的惯性测量数据,根据所述惯性测量数据,确定所述空间平面的平面竖直轴在相机坐标系中的方向向量;
水平轴获取单元,被配置为执行获取所述平面区域上的在同一水平直线的边缘点,并根据所述在同一水平直线的边缘点在相机坐标系中的坐标数据,计算所述空间平面的平面水平轴在相机坐标系中的方向向量;其中,所述水平直线平行于所述空间平面的平面水平轴;
法向量获取单元,被配置为执行根据所述平面竖直轴以及所述平面水平轴的方向向量,获取所述空间平面在相机坐标系中的平面法向量;
旋转矩阵获取单元,被配置为执行根据所述平面水平轴的方向向量、所述平面竖直轴的方向向量以及所述平面法向量,构建所述目标图像中相机坐标系到所述空间平面所在的空间平面坐标系的第一旋转矩阵;
平移向量获取单元,被配置为执行获取所述平面区域投影到所述空间平面上的外切矩形,根据所述外切矩形获取空间平面坐标系的原点,得到所述相机坐标系与所述空间平面坐标系间的平移向量;
相机位姿确定单元,被配置为执行将所述第一旋转矩阵以及所述平移向量,确定为所述空间平面的位姿。
在其中一个实施例中,所述垂直轴获取单元,被配置为执行:
根据所述惯性测量数据获取相机坐标系到世界坐标系的第二旋转矩阵;
根据所述第二旋转矩阵以及世界坐标系中的重力轴的方向向量,获取所述重力轴在相机坐标系中的方向向量;
将所述重力轴在相机坐标系中的方向向量,确定为所述空间平面的平面竖直轴在相机坐标系中的方向向量。
在其中一个实施例中,所述水平轴获取单元,被配置为执行:
根据所述空间平面的平面竖直轴在相机坐标系中的方向向量以及所述空间平面的初始平面法向量,获取所述空间平面的平面水平轴的初始方向向量;所述空间平面的初始平面法向量是在所述目标图像中识别获取的;
根据所述空间平面的平面水平轴的初始方向向量,获取所述空间平面的平面水平轴在目标图像上投影直线的投影角度;
以所述投影角度初始化边缘检测算子,对所述目标图像上的平面区域进行边缘检测,得到所述平面区域的平面边缘点;
根据所述投影角度确定旋转角范围区间,根据所述平面边缘点拟合直线旋转角在所述旋转角范围区间的预选直线;
从所述预选直线中筛选出包含平面边缘点最多的直线作为水平直线,从所述水平直线上确定边缘点。
在其中一个实施例中,水平轴获取单元,被配置为执行:
将所述在同一水平直线的边缘点在相机坐标系中的坐标向量转换为在世界坐标系中的坐标向量;
计算所述在同一水平直线的边缘点在世界坐标系中的坐标向量间的差值,得到所述空间平面的平面水平轴在世界坐标系中的方向向量;
将所述空间平面的平面水平轴在世界坐标系中的方向向量,转换为在相机坐标系中的方向向量。
在其中一个实施例中,所述平移向量获取单元,被配置为执行:
获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,根据所述像素点的在相机坐标系的坐标数据获取所述外切矩形上各个顶点坐标;所述外切矩形的边分别与空间平面的平面水平轴以及平面竖直轴平行;
根据所述外切矩形上各个顶点坐标计算所述外切矩形中最短边的边长值;
对所述外切矩形按比例进行缩放,获得所述最短边的边长值为标准边长值的标准外切矩形,并基于所述外切矩形中各个顶点坐标获取标准外切矩形的各个顶点坐标;
根据所述标准外切矩形的各个顶点坐标,得到所述标准外切矩形的中心在相机坐标系中的坐标数据;
将所述标准外切矩形的中心确定为所述空间平面坐标系的原点,得到所述空间平面坐标系的原点在相机坐标系中的坐标数据,得到所述相机坐标系的平移向量。
在其中一个实施例中,所述平面位姿的获取装置还包括空间平面跟踪装置,被配置为执行:
获取与所述目标图像相邻的相邻图像;
确定所述目标图像中空间平面对应的平面区域与相邻图像中空间平面对应的平面区域间的匹配特征点;
根据所述匹配特征点在相机坐标系中的坐标数据,计算所述目标图像与所述相邻图像间的单应矩阵;
根据所述拍摄装置的内参数,计算所述单应矩阵对应的旋转矩阵;
将所述旋转矩阵叠加到所述第一旋转矩阵中,得到与所述相邻图像对应的相机坐标系到所述空间平面所在的空间平面坐标系的第三旋转矩阵。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现第一方面的任一项实施例中所述平面位姿的获取方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面的任一项实施例中所述平面位姿的获取方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述平面位姿的获取方法。
本公开的实施例提供的技术方案至少带来以下有益效果:通过获取拍摄终端所拍摄的目标图像,在目标图像中识别空间平面对应的平面区域;获取拍摄终端的惯性测量数据,根据惯性测量数据,确定空间平面的平面竖直轴在相机坐标系中的方向向量;获取平面区域上的在同一水平直线的边缘点,并根据在同一水平直线的边缘点在相机坐标系中的坐标数据,计算空间平面的平面水平轴在相机坐标系中的方向向量;根据平面竖直轴以及平面水平轴的方向向量,获取空间平面在相机坐标系中的平面法向量;将平面水平轴的方向向量、平面竖直轴的方向向量以及平面法向量,确定为目标图像中相机坐标系与空间平面所在的空间平面坐标系的第一旋转矩阵;获取平面区域投影到空间平面上的外切矩形,根据外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系间的平移向量;将第一旋转矩阵以及平移向量,确定为空间平面的位姿,本方法利用惯性测量数据和图像特征实时获取空间平面的位姿,计算量小,无需大量训练数据,且可应用到各种场景中。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种平面位姿的获取方法的应用环境图。
图2是根据一示例性实施例示出的一种平面位姿的获取方法的流程图。
图3是根据一示例性实施例示出的平面区域的示意图。
图4是根据一示例性实施例示出的一种平面位姿的获取方法的流程图。
图5是根据一示例性实施例示出的一种平面位姿的获取装置的框图。
图6是根据一示例性实施例示出的一种服务器的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的平面位姿的获取方法,可以应用于如图1所示的应用环境中。其中,拍摄终端110通过网络与服务器120通过网络连接。其中,拍摄终端110具体可以是带有拍摄功能的移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
具体地,拍摄终端110对一空间平面进行拍摄,并将拍摄所得的图像发送至服务器120,服务器120获取到拍摄终端所拍摄的图像后,在图像中识别空间平面对应的平面区域;获取拍摄终端的惯性测量数据,根据惯性测量数据,确定空间平面的平面竖直轴在相机坐标系中的方向向量;获取平面区域上的在同一水平直线的边缘点,并根据在同一水平直线的边缘点在相机坐标系中的坐标数据,计算空间平面的平面水平轴在相机坐标系中的方向向量;根据平面竖直轴以及平面水平轴的方向向量,获取空间平面在相机坐标系中的平面法向量;将平面水平轴的方向向量、平面竖直轴的方向向量以及平面法向量,确定为图像中相机坐标系与空间平面所在的空间平面坐标系的第一旋转矩阵;获取平面区域投影到空间平面上的外切矩形,根据外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系间的平移向量;将第一旋转矩阵以及平移向量,确定空间平面的位姿,实现利用惯性测量数据和图像特征实时获取空间平面的位姿,计算量小,无需大量训练数据,且可应用到各种场景中。
图2是根据一示例性实施例示出的一种平面位姿的获取方法的流程图,如图2所示,平面位姿的获取方法用于如图1所示的服务器中,包括以下步骤:
在步骤S210中,获取拍摄终端所拍摄的目标图像,在目标图像中识别空间平面对应的平面区域。
其中,拍摄终端包括但不限于相机、手机、摄像机等可以拍摄图像的装置。目标图像包括但不限于图片、影片、视频中的某一帧的帧图像等,是由拍摄终端获取得到的图像。其中,目标图像中包括一个或多个平面区域,平面区域是指在实际物体的平面在相机拍摄下得到的区域,例如,在拍摄终端拍摄一建筑物时,建筑的外表面为一空间平面,其在拍摄终端拍摄所得的图像中对应为平面区域,以图3为例,如图3所示,图3所示的图像中包括有平面区域310。进一步地,在一个实施例中,平面区域可以是竖直平面区域,也可以是水平平面区域。
其中,服务器获取拍摄终端拍摄的目标图像,并从目标图像中识别平面区域。具体地,可以通过深度学习模型获取目标图像中的平面区域,其中,深度学习模型服务器是已训练好的网络模型,可直接用于判断目标图像中各个像素点对应的区域是否属于平面区域,输出平面区域的识别结果。服务器间可以将目标图像输入至已经过训练的深度学习模型中,得到深度学习模型对目标图像中平面区域的识别结果。
在步骤S220中,获取拍摄终端的惯性测量数据,根据惯性测量数据,确定空间平面的平面竖直轴在相机坐标系中的方向向量。
其中,惯性测量数据是通过拍摄终端中的惯性测量单元(Inertial measurementunit,IMU)测量得到的数据。可以理解的是,惯性测量数据通常是一个四元数据:Q(W,X,Y,Z),通过这一四元数据,可以计算出从相机坐标系的坐标数据到世界坐标系的坐标数据变化。
由于世界坐标系的重力轴(垂直轴)与平面区域对应空间平面的垂直轴的方向一致的,因此,求取到世界坐标系中重力轴在相机坐标系中的方向向量,即求取到空间平面的平面竖直轴在相机坐标系中的方向向量。具体地,根据惯性测量数据确定空间平面的平面竖直轴在相机坐标系中的方向向量,具体可以是根据惯性测量数据,将世界坐标系中的重力轴的方向向量转换为在相机坐标系中的方向向量,然后将重力轴在相机坐标系中的方向向量确定为空间平面的平面竖直轴在相机坐标系中的方向向量。
在步骤S230中,获取平面区域上的在同一水平直线的边缘点,并根据在同一水平直线的边缘点在相机坐标系中的坐标数据,计算空间平面的平面水平轴在相机坐标系中的方向向量;其中,水平直线平行于空间平面的平面水平轴。
其中,在同一水平直线的边缘点为两个或两个以上,在同一水平直线的边缘点是指在平面区域对应的平面的边缘、且在同一水平直线上的点,是图像边缘的特征点。在获取到平面区域后,服务器还从该平面区域中获取在同一水平直线的边缘点,并获取在同一水平直线的边缘点在相机坐标系中的坐标数据,从而根据在同一水平直线的边缘点在相机坐标系中的坐标数据,计算在相机坐标系中平面水平轴的方向向量。
具体地,获取平面区域上的在同一水平直线的边缘点,具体可以是先对目标图像内的平面区域进行边缘检测,以获取平面区域内的边缘点,从边缘点中筛选出处于同一水平直线内的边缘点。由于在同一水平直线的边缘点即在平面区域对应平面内,且在同一水平直线上的,因此在同一水平直线的边缘点间的连线构成平面区域对应平面的水平轴,通过在同一水平直线的边缘点在相机坐标系中的坐标数据,可以计算得到平面水平轴在相机坐标系中的方向向量H_cam。
在步骤S240中,根据平面竖直轴以及平面水平轴的方向向量,获取空间平面在相机坐标系中的平面法向量。
其中,在获取到平面竖直轴在相机坐标系中的方向向量以及平面水平轴在相机坐标系中的方向向量后,可以根据平面竖直轴在相机坐标系中的方向向量以及平面水平轴在相机坐标系中的方向向量,计算得到在平面法向量在相机坐标系中的向量表示式,即得到在相机坐标系中的平面法向量。
具体地,根据向量外积性质,平面法向量为平面竖直轴和平面水平轴的外积,可以平面竖直轴在相机坐标系中的方向向量和平面水平轴在相机坐标系中的方向向量N_cam,计算得到平面法向量在相机坐标系中的向量表示式。
在步骤S250中,根据平面水平轴的方向向量、平面竖直轴的方向向量以及平面法向量,构建目标图像中相机坐标系到空间平面所在的空间平面坐标系的第一旋转矩阵。
其中,空间平面坐标系是指X轴以及Y周在平面区域对应的空间平面内,X轴水平向右、Y轴水平向上、Z轴垂直于空间平面的坐标系。第一旋转矩阵是指在目标图像中相机坐标系与空间平面坐标系的旋转变换关系
其中,在获取到平面水平轴在相机坐标系中的方向向量H_cam、平面竖直轴在相机坐标系中的方向向量G以及在相机坐标系中的平面法向量N_cam,可以确定到相机坐标系与空间坐标系的旋转矩阵。
具体地,由于在相机坐标系中相机坐标系的X轴为(1,0,0)、Y轴为(0,1,0)、Z轴为(0,0,1),而在相机坐标系中空间平面的平面水平轴为H_cam、平面竖直轴为G、平面法向量为N_cam,因此,相机坐标系和空间平面所在的空间平面坐标系的旋转矩阵为R_camera_plane=[H_cam,G,N_cam]。
在步骤S260中,获取平面区域投影到空间平面上的外切矩形,根据外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系的平移向量。
其中,在获取到相机坐标系与空间坐标系的旋转变换关系后,还需要确定相机坐标系与空间坐标系的平移量。服务器将目标图像中的平面区域投影到空间平面上,以获取在空间平面上投影得到的区域的外切矩形,并根据该外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系间的平移向量。
具体地,服务器可以将目标图像中的平面区域投影到空间平面上,得到投影区域,并获取投影区域的外切矩形,并通过调整空间平面位置,使外切矩形短边长度为1,然后获取短边长度为1的外切矩形的中心坐标,将该中心坐标为空间平面坐标系的原点在相机坐标系中的坐标数据,即得到相机坐标系与空间平面坐标系间的平移向量t_camera_plane。
其中,在一个实施例中,获取平面区域投影到空间平面上的外切矩形,具体可以为:获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,并基于相机坐标系与空间平面坐标系的第一旋转矩阵,将各个像素点在相机坐标系的坐标数据转换为在空间平面坐标系中的坐标数据;然后,根据像素点在空间平面坐标系中的坐标数据,确定像素点在空间平面坐标系的X轴上取值的最大值Xmax和最小值Xmin,以及在空间平面坐标系的Y轴上取值的最大值Ymax和最小值Ymin;最终,将(Xmax,Ymin,z)、(Xmax,Ymax,z)、(Xmin,Ymin,z)、(Xmin,Ymax,z)确定为外切矩形的四个顶点坐标,得到外切矩形。
在步骤S270中,将第一旋转矩阵以及平移向量,确定为空间平面的位姿。
其中,服务器获取到相机坐标系和空间平面坐标系的旋转矩阵以及平移向量,即得到相机坐标系和空间平面坐标系之间的变换关系,由此,在相机坐标系中的任意点的向量表达式P_camera,可根据关系式P_camera=R_camera_plane*P_plane+t_camera_plane获取,其中,P_plane是指相机坐标系中P_camera在空间坐标系对应的向量表达式,R_camera_plane是指相机坐标系到空间平面坐标系的旋转矩阵,t_camera_plane相机坐标系与空间平面坐标系间的平移向量
上述平面位姿的获取方法中,通过获取拍摄终端所拍摄的目标图像,在目标图像中识别空间平面对应的平面区域;获取拍摄终端的惯性测量数据,根据惯性测量数据,确定空间平面的平面竖直轴在相机坐标系中的方向向量;获取平面区域上的在同一水平直线的边缘点,并根据在同一水平直线的边缘点在相机坐标系中的坐标数据,计算空间平面的平面水平轴在相机坐标系中的方向向量;根据平面竖直轴以及平面水平轴的方向向量,获取空间平面在相机坐标系中的平面法向量;将平面水平轴的方向向量、平面竖直轴的方向向量以及平面法向量,确定为目标图像中相机坐标系与空间平面所在的空间平面坐标系的第一旋转矩阵;获取平面区域投影到空间平面上的外切矩形,根据外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系间的平移向量;将第一旋转矩阵以及平移向量,确定为空间平面的位姿,实现利用惯性测量数据和图像特征实时获取空间平面的位姿,计算量小,无需大量训练数据,且可应用到各种场景中。
在一示例性实施例中,根据惯性测量数据,确定空间平面的平面竖直轴在相机坐标系中的方向向量的步骤,包括:根据惯性测量数据获取相机坐标系到世界坐标系的第二旋转矩阵;根据第二旋转矩阵以及世界坐标系中的重力轴的方向向量,获取重力轴在相机坐标系中的方向向量;将重力轴在相机坐标系中的方向向量,确定为空间平面的平面竖直轴在相机坐标系中的方向向量。
其中,惯性测量数据通常是一个四元数据:Q(W,X,Y,Z),通过这一四元数据,可以计算出从相机坐标系到世界坐标系的第二旋转矩阵R_world_camera。
由于世界坐标系的重力轴(垂直轴)与空间平面的垂直轴的方向一致的,因此,求取到世界坐标系中重力轴在相机坐标系中的方向向量,即求取到平面的垂直轴的方向向量。具体地,根据惯性测量数据确定从相机坐标系到世界坐标系的第二旋转矩阵R_camera_world,因此第二旋转矩阵R_camera_world的逆矩阵表示从世界坐标系到相机坐标系的旋转矩阵,在获取到在世界坐标系中的重力轴的方向向量为G_world(0,0,1)后,服务器通过(R_camera_world)-1*G_world(0,0,1)计算重力轴在相机坐标系中的方向向量,从而将重力轴在相机坐标系中的方向向量确定为在空间平面的平面竖直轴在相机坐标系中的方向向量。
在一示例性实施例中,获取平面区域上的在同一水平直线的边缘点的步骤,包括:根据空间平面的平面竖直轴在相机坐标系中的方向向量以及空间平面的初始平面法向量,获取空间平面的平面水平轴的初始方向向量;空间平面的初始平面法向量是在目标图像中识别获取的;根据空间平面的平面水平轴的初始方向向量,获取空间平面的平面水平轴在目标图像上投影直线的投影角度;以投影角度初始化边缘检测算子,对目标图像上的平面区域进行边缘检测,得到平面区域的平面边缘点;根据投影角度确定旋转角范围区间,根据平面边缘点拟合直线旋转角在旋转角范围区间的预选直线;从预选直线中筛选出包含平面边缘点最多的直线作为水平直线,从水平直线上确定边缘点。
其中,边缘检测算子是指对目标图像上的平面区域进行边缘检测时使用的滤波算法,可以包括但不限于Sobel算子、Laplacian算子或Gabor算子。具体地,服务器在获取到目标图像中的平面区域后,估算平面区域对应的空间平面的平面水平轴的初始化向量,然后,根据平面水平轴的初始化向量计算在目标图像上投影直线的投影角度theta;然后,以投影角度theta初始化Gabor算子作为边缘检测算子,在目标图像上平面区域提取平面边缘点;针对平面边缘点,利用霍夫变换拟合所有旋转角度在(theta-dt)到(theta+dt)之间的直线,其中,dt为角度变化范围,最后,选取平面边缘点最多的直线作为候选水平轴结果,并提取在候选水平轴上的边缘点作为在同一水平直线的边缘点。
在一示例性实施例中,根据在同一水平直线的边缘点在相机坐标系中的坐标数据,计算空间平面的平面水平轴在相机坐标系中的方向向量的步骤,包括:将在同一水平直线的边缘点在相机坐标系中的坐标向量转换为在世界坐标系中的坐标向量;计算在同一水平直线的边缘点在世界坐标系中的坐标向量间的差值,得到空间平面的平面水平轴在世界坐标系中的方向向量;将空间平面的平面水平轴在世界坐标系中的方向向量,转换为在相机坐标系中的方向向量。
其中,在同一水平直线的边缘点为两个或两个以上,在同一水平直线的边缘点是指在平面区域对应的平面的边缘、且在同一水平直线上的点。具体地,以在同一水平直线的边缘点的数量为两个为例,服务器可以获取在同一水平直线的两个边缘点在相机坐标系中的坐标数据,并通过相机坐标系到空间平面坐标系的旋转矩阵将这两个边缘点在相机坐标系中的坐标数据,转换为边缘点在世界坐标系中的坐标向量;然后将两个在同一水平直线的两个边缘点在世界坐标系中的坐标向量进行相减,得到这两个边缘点连接所得线条的方向向量,这两个边缘点连接所得的线条为在空间平面中一条水平直线,即空间平面的平面水平轴在世界坐标系中的方向向量;最后,通过相机坐标系到空间平面坐标系的旋转矩阵,将空间平面的平面水平轴在世界坐标系中的方向向量,转换为空间平面的平面水平轴在相机坐标系中的方向向量。
以点Pa以及点Pb两点为例,点Pa以及点Pb为目标图像上的两个在同一水平直线的边缘点,则假设点Pa、点Pb对应在相机坐标系中的坐标数据为Pa_c以及Pb_c,对应在世界坐标系的坐标数据为Pa_w以及Pb_w。由于在同一水平直线的边缘点是指在平面区域对应的平面的边缘、且在同一水平直线上的点,因此,Pa_w以及Pb_w连线构成空间平面的平面水平轴H_w。服务器在获取到点Pa、点Pb对应在相机坐标系中的坐标数据为Pa_c以及Pb_c后,可以通过相机坐标系到空间平面坐标系的旋转矩阵R_camera_world,将点Pa以及点Pb对应在相机坐标系中的坐标数据Pa_c以及Pb_c,转换为在世界坐标系中的坐标数据Pa_w以及Pb_w,具体地,可以是通过式子Pa_w=R_camera_world*Pa_c以及式子Pb_w=R_world_camera*Pb_c计算得到的。其中,相机坐标系到空间平面坐标系的旋转矩阵R_camera_world可以是根据拍摄装置的惯性测量数据获得的。
在获取到点Pa以及点Pb两个边缘点对应在世界坐标系的坐标数据为Pa_w以及Pb_w后,计算点Pa以及点Pb两个边缘点间的差值,得到空间平面的平面水平轴在世界坐标系中的方向向量H_w;然后,将空间平面的平面水平轴在世界坐标系中的方向向量H_w,转换为空间平面的平面水平轴在相机坐标系中的方向向量H_cam。
进一步地,在获取到点Pa以及点Pb两个边缘点对应在世界坐标系的坐标数据为Pa_w以及Pb_w后,可以根据坐标数据Pa_w以及坐标数据Pb_w中的Z分量(即在重力轴方向的分量)计算调整值K,使得坐标数据Pa_w中的Z分量与坐标数据Pb_w中的Z分量成一定的比例关系,即使得Pa_w.z=k*Pb_w.z,最终,根据式子H_w=Pa_w–k*Pb_w计算空间平面的平面水平轴在世界坐标系中的方向向量H_w。
在一示例性实施例中,根据外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系的平移向量的步骤,包括:获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,根据像素点的在相机坐标系的坐标数据获取外切矩形上各个顶点坐标;外切矩形的边分别与空间平面的平面水平轴以及平面竖直轴平行;根据外切矩形上各个顶点坐标计算外切矩形中最短边的边长值;对外切矩形按比例进行缩放,获得最短边的边长值为标准边长值的标准外切矩形,并基于外切矩形中各个顶点坐标获取标准外切矩形的各个顶点坐标;根据标准外切矩形的各个顶点坐标,得到标准外切矩形的中心在相机坐标系中的坐标数据;将标准外切矩形的中心确定为空间平面坐标系的原点,得到空间平面坐标系的原点在相机坐标系中的坐标数据,得到相机坐标系的平移向量。
其中,服务器获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,根据像素点的在相机坐标系的坐标数据获取外切矩形上各个顶点坐标;然后根据外切矩形上各个顶点坐标计算外切矩形中最短边的边长值;预设最短边的边长值为标准边长值,获取最短边的边长值为标准边长值的标准外切矩形,并基于外切矩形中最短边的边长值与标准边长值的比值,对应的根据外切矩形各个顶点坐标计算标准外切矩形的各个顶点坐标;然后根据标准外切矩形的各个顶点坐标,得到标准外切矩形的中心在相机坐标系中的坐标数据;最后,将标准外切矩形的中心在相机坐标系中的坐标数据,确定为空间平面坐标系的原点,得到相机坐标系的平移向量。
具体地,外切矩形的矩形竖边、横边分别平行于空间平面的平面竖直轴G和平面水平轴H_cam,以外切矩形的最短边边长为S为例,设标准外切矩形的最短边边长为1,则标准外切矩形各个顶点的坐标P_new与外切矩形各个顶点的坐标P间的关系为P_new=P/S,因此,基于外切矩形中最短边的边长值与标准边长值的比值,对应的根据外切矩形各个顶点坐标计算标准外切矩形的各个顶点坐标。
在一示例性实施例中,将第一旋转矩阵以及平移向量,确定为空间平面的位姿的步骤之后,还包括:获取与目标图像相邻的相邻图像;确定目标图像中空间平面对应的平面区域与相邻图像中空间平面对应的平面区域间的匹配特征点;根据匹配特征点在相机坐标系中的坐标数据,计算目标图像与相邻图像间的单应矩阵;根据拍摄装置的内参数,计算单应矩阵对应的旋转矩阵;将旋转矩阵叠加到第一旋转矩阵中,得到与相邻图像对应的相机坐标系到空间平面所在的空间平面坐标系的第三旋转矩阵。
其中,目标图像与相邻图像是拍摄终端在位置或角度的不同时,对同一空间平面所拍摄得到的两张图像,其中,相邻图像可以是指与目标图像在相邻时刻或相邻帧获取到的图像,例如,目标图像是视频数据中当前帧的帧图像,相邻图像是视频数据中相对于当前帧的下一帧图像。匹配特征点是指目标图像与相邻图像中在同一平面区域上所具有的相同的点。单应性矩阵是描述空间平面在目标图像以及相邻图像之间的位置映射关系,其中,由于同一空间平面在拍摄终端内有成像,拍摄终端的位置或角度的不同会造成成像的图像不同,单应矩阵表示目标图像与相邻图像之间的变换关系。拍摄装置的内参数包括拍摄装置的焦矩、图像中心点坐标等。
具体地,服务器获取与目标图像相邻的相邻图像,并获取在目标图像以及相邻图像中对应的匹配特征点,并根据匹配特征点在目标图像以及相邻图像中的点坐标,计算目标图像以及相邻图像之间的单应性矩阵;然后获取拍摄装置的内参数,通过内参解出解算单应性矩阵,得到与单应性矩阵对应的旋转矩阵;最后,将旋转矩阵叠加到第一旋转矩阵中,得到与相邻图像对应的相机坐标系与空间平面所在的空间平面坐标系的第三旋转矩阵。
进一步地,在获取到与相邻图像对应的相机坐标系与空间平面所在的空间平面坐标系的第三旋转矩阵后,可以获取相邻图像中平面区域投影到空间平面上的外切矩形,根据外切矩形获取与相邻图像对应的空间平面坐标系的原点,得到在相邻图像中,相机坐标系与空间平面坐标系间的平移向量,从而将第三旋转矩阵以及该平移向量,确定为与相邻图像对应的空间平面的位姿。
在一示例性实施例中,如图4所示,平面位姿的获取方法,包括以下步骤:
在步骤S401中,获取拍摄终端所拍摄的目标图像,在目标图像中识别空间平面对应的平面区域。
在步骤S402中,获取拍摄终端的惯性测量数据,根据惯性测量数据获取相机坐标系到世界坐标系的第二旋转矩阵。
在步骤S403中,根据第二旋转矩阵以及世界坐标系中的重力轴的方向向量,获取重力轴在相机坐标系中的方向向量。
在步骤S404中,将重力轴在相机坐标系中的方向向量,确定为空间平面的平面竖直轴在相机坐标系中的方向向量。
在步骤S405中,根据空间平面的平面竖直轴在相机坐标系中的方向向量以及空间平面的初始平面法向量,获取空间平面的平面水平轴的初始方向向量;空间平面的初始平面法向量是在目标图像中识别获取的。
在步骤S406中,根据空间平面的平面水平轴的初始方向向量,获取空间平面的平面水平轴在目标图像上投影直线的投影角度。
在步骤S407中,以投影角度初始化边缘检测算子,对目标图像上的平面区域进行边缘检测,得到平面区域的平面边缘点。
在步骤S408中,根据投影角度确定旋转角范围区间,根据平面边缘点拟合直线旋转角在旋转角范围区间的预选直线;从预选直线中筛选出包含平面边缘点最多的直线作为水平直线,从水平直线上确定边缘点。
在步骤S409中,将在同一水平直线的边缘点在相机坐标系中的坐标向量转换为在世界坐标系中的坐标向量。
在步骤S410中,计算在同一水平直线的边缘点在世界坐标系中的坐标向量间的差值,得到空间平面的平面水平轴在世界坐标系中的方向向量。
在步骤S411中,将空间平面的平面水平轴在世界坐标系中的方向向量,转换为在相机坐标系中的方向向量。
在步骤S412中,根据平面竖直轴以及平面水平轴的方向向量,获取空间平面在相机坐标系中的平面法向量。
在步骤S413中,将平面水平轴的方向向量、平面竖直轴的方向向量以及平面法向量,确定为目标图像中相机坐标系与空间平面所在的空间平面坐标系的第一旋转矩阵。
在步骤S414中,获取平面区域投影到空间平面上的外切矩形,获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,根据像素点的在相机坐标系的坐标数据获取外切矩形上各个顶点坐标;外切矩形的边分别与空间平面的平面水平轴以及平面竖直轴平行。
在步骤S415中,根据外切矩形上各个顶点坐标计算外切矩形中最短边的边长值。
在步骤S416中,对外切矩形按比例进行缩放,获得最短边的边长值为标准边长值的标准外切矩形,并基于外切矩形中各个顶点坐标获取标准外切矩形的各个顶点坐标。
在步骤S417中,根据标准外切矩形的各个顶点坐标,得到标准外切矩形的中心在相机坐标系中的坐标数据。
在步骤S418中,将标准外切矩形的中心确定为空间平面坐标系的原点,得到空间平面坐标系的原点在相机坐标系中的坐标数据,得到相机坐标系的平移向量。
在步骤S419中,将第一旋转矩阵以及平移向量,确定为空间平面的位姿。
上述平面位姿的获取方法实现通过相机终端的惯性测量数据优化空间平面的位姿,计算量小,可以应用到各种场景中。
应该理解的是,虽然图2以及图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2以及图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图5是根据一示例性实施例示出的一种平面位姿的获取装置框图。参照图5,该装置包括平面区域识别单元501,垂直轴获取单元502,水平轴获取单元503,法向量获取单元504,旋转矩阵获取单元505,平移向量获取单元506和相机位姿确定单元507。
平面区域识别单元501,被配置为执行获取拍摄终端所拍摄的目标图像,在目标图像中识别空间平面对应的平面区域;
垂直轴获取单元502,被配置为执行获取拍摄终端的惯性测量数据,根据惯性测量数据,确定空间平面的平面竖直轴在相机坐标系中的方向向量;
水平轴获取单元503,被配置为执行获取平面区域上的在同一水平直线的边缘点,并根据在同一水平直线的边缘点在相机坐标系中的坐标数据,计算空间平面的平面水平轴在相机坐标系中的方向向量;其中,水平直线平行于所述空间平面的平面水平轴;
法向量获取单元504,被配置为执行根据平面竖直轴以及平面水平轴的方向向量,获取空间平面在相机坐标系中的平面法向量;
旋转矩阵获取单元505,被配置为执行根据平面水平轴的方向向量、平面竖直轴的方向向量以及平面法向量,构建目标图像中相机坐标系到空间平面所在的空间平面坐标系的第一旋转矩阵;
平移向量获取单元506,被配置为执行获取平面区域投影到空间平面上的外切矩形,根据外切矩形获取空间平面坐标系的原点,得到相机坐标系与空间平面坐标系间的平移向量;
相机位姿确定单元507,被配置为执行将第一旋转矩阵以及平移向量,确定为空间平面的位姿。
在一示例性实施例中,垂直轴获取单元,被配置为执行:根据惯性测量数据获取相机坐标系到世界坐标系的第二旋转矩阵;根据第二旋转矩阵以及世界坐标系中的重力轴的方向向量,获取重力轴在相机坐标系中的方向向量;将重力轴在相机坐标系中的方向向量,确定为空间平面的平面竖直轴在相机坐标系中的方向向量。
在一示例性实施例中,水平轴获取单元,被配置为执行:根据空间平面的平面竖直轴在相机坐标系中的方向向量以及空间平面的初始平面法向量,获取空间平面的平面水平轴的初始方向向量;空间平面的初始平面法向量是在目标图像中识别获取的;根据空间平面的平面水平轴的初始方向向量,获取空间平面的平面水平轴在目标图像上投影直线的投影角度;以投影角度初始化边缘检测算子,对目标图像上的平面区域进行边缘检测,得到平面区域的平面边缘点;根据投影角度确定旋转角范围区间,根据平面边缘点拟合直线旋转角在旋转角范围区间的预选直线;从预选直线中筛选出包含平面边缘点最多的直线作为水平直线,从水平直线上确定边缘点。
在一示例性实施例中,水平轴获取单元,被配置为执行:将在同一水平直线的边缘点在相机坐标系中的坐标向量转换为在世界坐标系中的坐标向量;计算在同一水平直线的边缘点在世界坐标系中的坐标向量间的差值,得到空间平面的平面水平轴在世界坐标系中的方向向量;将空间平面的平面水平轴在世界坐标系中的方向向量,转换为在相机坐标系中的方向向量。
在一示例性实施例中,平移向量获取单元,被配置为执行:获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,根据像素点的在相机坐标系的坐标数据获取外切矩形上各个顶点坐标;外切矩形的边分别与空间平面的平面水平轴以及平面竖直轴平行;根据外切矩形上各个顶点坐标计算外切矩形中最短边的边长值;对外切矩形按比例进行缩放,获得最短边的边长值为标准边长值的标准外切矩形,并基于外切矩形中各个顶点坐标获取标准外切矩形的各个顶点坐标;根据标准外切矩形的各个顶点坐标,得到标准外切矩形的中心在相机坐标系中的坐标数据;将标准外切矩形的中心确定为空间平面坐标系的原点,得到空间平面坐标系的原点在相机坐标系中的坐标数据,得到相机坐标系的平移向量。
在一示例性实施例中,平面位姿的获取装置还包括空间平面跟踪装置,被配置为执行:获取与目标图像相邻的相邻图像;确定目标图像中空间平面对应的平面区域与相邻图像中空间平面对应的平面区域间的匹配特征点;根据匹配特征点在相机坐标系中的坐标数据,计算目标图像与相邻图像间的单应矩阵;根据拍摄装置的内参数,计算单应矩阵对应的旋转矩阵;将旋转矩阵叠加到第一旋转矩阵中,得到与相邻图像对应的相机坐标系到空间平面所在的空间平面坐标系的第三旋转矩阵。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种用于获取相机位姿的电子设备600的框图。例如,电子设备600可以为一服务器。参照图6,电子设备600包括处理组件620,其进一步包括一个或多个处理器,以及由存储器622所代表的存储器资源,用于存储可由处理组件620的执行的指令,例如应用程序。存储器622中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件620被配置为执行指令,以执行上述平面位姿的获取方法。
电子设备600还可以包括一个电源组件624被配置为执行电子设备600的电源管理,一个有线或无线网络接口626被配置为将电子设备600连接到网络,和一个输入输出(I/O)接口628。电子设备600可以操作基于存储在存储器622的操作系统,例如Window66erverTM,Mac O6 XTM,UnixTM,LinuxTM,FreeB6DTM或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器622,上述指令可由电子设备600的处理器执行以完成上述方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种平面位姿的获取方法,其特征在于,包括:
获取拍摄终端所拍摄的目标图像,在所述目标图像中识别空间平面对应的平面区域;
获取所述拍摄终端的惯性测量数据,根据所述惯性测量数据,确定所述空间平面的平面竖直轴在相机坐标系中的方向向量;
获取所述平面区域上的在同一水平直线的边缘点,并根据所述在同一水平直线的边缘点在相机坐标系中的坐标数据,计算所述空间平面的平面水平轴在相机坐标系中的方向向量;其中,所述水平直线平行于所述空间平面的平面水平轴;
根据所述平面竖直轴以及所述平面水平轴的方向向量,获取所述空间平面在相机坐标系中的平面法向量;
根据所述平面水平轴的方向向量、所述平面竖直轴的方向向量以及所述平面法向量,构建所述目标图像中相机坐标系到所述空间平面所在的空间平面坐标系的第一旋转矩阵;
获取所述平面区域投影到所述空间平面上的外切矩形,根据所述外切矩形获取空间平面坐标系的原点,得到所述相机坐标系与所述空间平面坐标系间的平移向量;
将所述第一旋转矩阵以及所述平移向量,确定为所述空间平面的位姿。
2.根据权利要求1所述的平面位姿的获取方法,其特征在于,所述根据所述惯性测量数据,确定所述空间平面的平面竖直轴在相机坐标系中的方向向量的步骤,包括:
根据所述惯性测量数据获取相机坐标系到世界坐标系的第二旋转矩阵;
根据所述第二旋转矩阵以及世界坐标系中的重力轴的方向向量,获取所述重力轴在相机坐标系中的方向向量;
将所述重力轴在相机坐标系中的方向向量,确定为所述空间平面的平面竖直轴在相机坐标系中的方向向量。
3.根据权利要求1所述的平面位姿的获取方法,其特征在于,所述获取所述平面区域上的在同一水平直线的边缘点的步骤,包括:
根据所述空间平面的平面竖直轴在相机坐标系中的方向向量以及所述空间平面的初始平面法向量,获取所述空间平面的平面水平轴的初始方向向量;所述空间平面的初始平面法向量是在所述目标图像中识别获取的;
根据所述空间平面的平面水平轴的初始方向向量,获取所述空间平面的平面水平轴在目标图像上投影直线的投影角度;
以所述投影角度初始化边缘检测算子,对所述目标图像上的平面区域进行边缘检测,得到所述平面区域的平面边缘点;
根据所述投影角度确定旋转角范围区间,根据所述平面边缘点拟合直线旋转角在所述旋转角范围区间的预选直线;
从所述预选直线中筛选出包含平面边缘点最多的直线作为水平直线,从所述水平直线上确定边缘点。
4.根据权利要求1所述的平面位姿的获取方法,其特征在于,所述根据所述在同一水平直线的边缘点在相机坐标系中的坐标数据,计算所述空间平面的平面水平轴在相机坐标系中的方向向量的步骤,包括:
将所述在同一水平直线的边缘点在相机坐标系中的坐标向量转换为在世界坐标系中的坐标向量;
计算所述在同一水平直线的边缘点在世界坐标系中的坐标向量间的差值,得到所述空间平面的平面水平轴在世界坐标系中的方向向量;
将所述空间平面的平面水平轴在世界坐标系中的方向向量,转换为在相机坐标系中的方向向量。
5.根据权利要求1所述的平面位姿的获取方法,其特征在于,所述根据所述外切矩形获取空间平面坐标系的原点,得到所述相机坐标系与所述空间平面坐标系间的平移向量的步骤,包括:
获取目标图像中平面区域上各个像素点的在相机坐标系的坐标数据,根据所述像素点的在相机坐标系的坐标数据获取所述外切矩形上各个顶点坐标;所述外切矩形的边分别与空间平面的平面水平轴以及平面竖直轴平行;
根据所述外切矩形上各个顶点坐标计算所述外切矩形中最短边的边长值;
对所述外切矩形按比例进行缩放,获得所述最短边的边长值为标准边长值的标准外切矩形,并基于所述外切矩形中各个顶点坐标获取标准外切矩形的各个顶点坐标;
根据所述标准外切矩形的各个顶点坐标,得到所述标准外切矩形的中心在相机坐标系中的坐标数据;
将所述标准外切矩形的中心确定为所述空间平面坐标系的原点,得到所述空间平面坐标系的原点在相机坐标系中的坐标数据,得到所述相机坐标系的平移向量。
6.根据权利要求1所述的平面位姿的获取方法,其特征在于,所述将所述第一旋转矩阵以及所述平移向量,确定为所述空间平面的位姿的步骤之后,还包括:
获取与所述目标图像相邻的相邻图像;
确定所述目标图像中空间平面对应的平面区域与相邻图像中空间平面对应的平面区域间的匹配特征点;
根据所述匹配特征点在相机坐标系中的坐标数据,计算所述目标图像与所述相邻图像间的单应矩阵;
根据所述拍摄装置的内参数,计算所述单应矩阵对应的旋转矩阵;
将所述旋转矩阵叠加到所述第一旋转矩阵中,得到与所述相邻图像对应的相机坐标系到所述空间平面所在的空间平面坐标系的第三旋转矩阵。
7.一种平面位姿的获取装置,其特征在于,包括:
平面区域识别单元,被配置为执行获取拍摄终端所拍摄的目标图像,在所述目标图像中识别空间平面对应的平面区域;
垂直轴获取单元,被配置为执行获取所述拍摄终端的惯性测量数据,根据所述惯性测量数据,确定所述空间平面的平面竖直轴在相机坐标系中的方向向量;
水平轴获取单元,被配置为执行获取所述平面区域上的在同一水平直线的边缘点,并根据所述在同一水平直线的边缘点在相机坐标系中的坐标数据,计算所述空间平面的平面水平轴在相机坐标系中的方向向量;其中,所述水平直线平行于所述空间平面的平面水平轴;
法向量获取单元,被配置为执行根据所述平面竖直轴以及所述平面水平轴的方向向量,获取所述空间平面在相机坐标系中的平面法向量;
旋转矩阵获取单元,被配置为执行根据所述平面水平轴的方向向量、所述平面竖直轴的方向向量以及所述平面法向量,构建所述目标图像中相机坐标系到所述空间平面所在的空间平面坐标系的第一旋转矩阵;
平移向量获取单元,被配置为执行获取所述平面区域投影到所述空间平面上的外切矩形,根据所述外切矩形获取空间平面坐标系的原点,得到所述相机坐标系与所述空间平面坐标系间的平移向量;
相机位姿确定单元,被配置为执行将所述第一旋转矩阵以及所述平移向量,确定为所述空间平面的位姿。
8.根据权利要求7所述的平面位姿的获取装置,其特征在于,所述平面位姿的获取装置还包括空间平面跟踪装置,被配置为执行:
获取与所述目标图像相邻的相邻图像;
确定所述目标图像中空间平面对应的平面区域与相邻图像中空间平面对应的平面区域间的匹配特征点;
根据所述匹配特征点在相机坐标系中的坐标数据,计算所述目标图像与所述相邻图像间的单应矩阵;
根据所述拍摄装置的内参数,计算所述单应矩阵对应的旋转矩阵;
将所述旋转矩阵叠加到所述第一旋转矩阵中,得到与所述相邻图像对应的相机坐标系到所述空间平面所在的空间平面坐标系的第三旋转矩阵。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的平面位姿的获取方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6中任一项所述的平面位姿的获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010291736.4A CN113538477B (zh) | 2020-04-14 | 2020-04-14 | 平面位姿的获取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010291736.4A CN113538477B (zh) | 2020-04-14 | 2020-04-14 | 平面位姿的获取方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113538477A true CN113538477A (zh) | 2021-10-22 |
CN113538477B CN113538477B (zh) | 2023-08-29 |
Family
ID=78120300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010291736.4A Active CN113538477B (zh) | 2020-04-14 | 2020-04-14 | 平面位姿的获取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113538477B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015024407A1 (zh) * | 2013-08-19 | 2015-02-26 | 国家电网公司 | 基于电力机器人的双目视觉导航系统及方法 |
CN106017463A (zh) * | 2016-05-26 | 2016-10-12 | 浙江大学 | 一种基于定位传感装置的飞行器定位方法 |
US9875542B2 (en) * | 2012-01-23 | 2018-01-23 | Nec Corporation | Camera calibration device, camera calibration method, and camera calibration program |
CN107850436A (zh) * | 2015-05-23 | 2018-03-27 | 深圳市大疆创新科技有限公司 | 使用惯性传感器和图像传感器的传感器融合 |
CN108682038A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置及存储介质 |
CN109269430A (zh) * | 2018-08-12 | 2019-01-25 | 浙江农林大学 | 基于深度提取模型的多株立木胸径被动测量方法 |
CN109785379A (zh) * | 2018-12-17 | 2019-05-21 | 中国科学院长春光学精密机械与物理研究所 | 一种对称物体尺寸及重量的测量方法及测量系统 |
CN110375732A (zh) * | 2019-07-22 | 2019-10-25 | 中国人民解放军国防科技大学 | 基于惯性测量单元和点线特征的单目相机位姿测量方法 |
CN110617814A (zh) * | 2019-09-26 | 2019-12-27 | 中国科学院电子学研究所 | 单目视觉和惯性传感器融合的远距离测距系统及方法 |
-
2020
- 2020-04-14 CN CN202010291736.4A patent/CN113538477B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875542B2 (en) * | 2012-01-23 | 2018-01-23 | Nec Corporation | Camera calibration device, camera calibration method, and camera calibration program |
WO2015024407A1 (zh) * | 2013-08-19 | 2015-02-26 | 国家电网公司 | 基于电力机器人的双目视觉导航系统及方法 |
CN107850436A (zh) * | 2015-05-23 | 2018-03-27 | 深圳市大疆创新科技有限公司 | 使用惯性传感器和图像传感器的传感器融合 |
CN106017463A (zh) * | 2016-05-26 | 2016-10-12 | 浙江大学 | 一种基于定位传感装置的飞行器定位方法 |
CN108682038A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置及存储介质 |
CN109269430A (zh) * | 2018-08-12 | 2019-01-25 | 浙江农林大学 | 基于深度提取模型的多株立木胸径被动测量方法 |
CN109785379A (zh) * | 2018-12-17 | 2019-05-21 | 中国科学院长春光学精密机械与物理研究所 | 一种对称物体尺寸及重量的测量方法及测量系统 |
CN110375732A (zh) * | 2019-07-22 | 2019-10-25 | 中国人民解放军国防科技大学 | 基于惯性测量单元和点线特征的单目相机位姿测量方法 |
CN110617814A (zh) * | 2019-09-26 | 2019-12-27 | 中国科学院电子学研究所 | 单目视觉和惯性传感器融合的远距离测距系统及方法 |
Non-Patent Citations (2)
Title |
---|
李祎承: ""面向智能车的道路场景建模与高精度定位研究"", 《中国博士学位论文全文数据库工程科技辑》 * |
郭若南;蒋郡祥;牛小骥;史俊波;: "IMU辅助下的单目视觉坐标传递", 测绘通报, no. 03 * |
Also Published As
Publication number | Publication date |
---|---|
CN113538477B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609282B2 (en) | Wide-area image acquiring method and apparatus | |
CN110782394A (zh) | 全景视频快速拼接方法及系统 | |
CN110717942B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
US20210227132A1 (en) | Method for tracking target in panoramic video, and panoramic camera | |
EP3598385B1 (en) | Face deblurring method and device | |
CN108010059B (zh) | 电子防抖算法的性能分析方法及装置 | |
CN110458940B (zh) | 动作捕捉的处理方法和处理装置 | |
JP6515039B2 (ja) | 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法 | |
CN109902675B (zh) | 物体的位姿获取方法、场景重构的方法和装置 | |
CN111383252B (zh) | 多相机目标追踪方法、系统、装置及存储介质 | |
Li et al. | HDRFusion: HDR SLAM using a low-cost auto-exposure RGB-D sensor | |
Pulli et al. | Mobile panoramic imaging system | |
CN111866523B (zh) | 全景视频合成方法、装置、电子设备和计算机存储介质 | |
CN107680035B (zh) | 一种参数标定方法和装置、服务器及可读存储介质 | |
WO2013149866A2 (en) | Method and device for transforming an image | |
CN111105351B (zh) | 一种视频序列影像拼接方法及装置 | |
CN110111364B (zh) | 运动检测方法、装置、电子设备及存储介质 | |
CN113159229B (zh) | 图像融合方法、电子设备及相关产品 | |
CN113763544A (zh) | 图像确定方法、装置、电子设备和计算机可读存储介质 | |
CN113538477B (zh) | 平面位姿的获取方法、装置、电子设备及存储介质 | |
CN116524022A (zh) | 偏移数据计算方法、图像融合方法、装置及电子设备 | |
CN116456191A (zh) | 图像生成方法、装置、设备及计算机可读存储介质 | |
CN113225484B (zh) | 快速获取屏蔽非目标前景的高清图片的方法及装置 | |
CN116051652A (zh) | 一种参数标定方法及电子设备、存储介质 | |
CN116051736A (zh) | 一种三维重建方法、装置、边缘设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |