一种位姿测量方法、设备及存储介质与流程

文档序号:16443696发布日期:2018-12-28 21:43阅读:220来源:国知局
一种位姿测量方法、设备及存储介质与流程

本发明涉及测量技术领域,特别是涉及一种位姿测量方法、设备及存储介质。

背景技术

物体位姿测量在现代通信、国防以及航空航天等诸多领域都有着重要的应用价值。例如,尤其是在通信系统中,天线位姿的测量与基站的覆盖范围息息相关;在例如,机器人装配过程中,机械臂的位姿决定的装配的精度。如何,实现物体的位姿测量一直是人们研究的重点。

目前,位姿测量方法中通常需要配置相关测量人员,将相关测量仪器被测量物体上。但是该种方法,对于可近操作的物体可以实现。但是,对于天线以及飞行器等需要远距离测量的物体,该种测量方法具有很大的危险性,无法保证测量人员的人身安全,同时耗费过多的人力。因此提供一种简便可行的的位姿测量方法,是非常有必要的。



技术实现要素:

本发明提供一种位姿测量方法、设备及存储介质,用以解决现有技术中位姿测量方法耗费人力且无法保证测量人员的人身安全的问题。

为实现上述发明目的,本发明采用下述的技术方案:

依据本发明的一个方面,提供一种位姿测量方法,包括:

获取多张不同位置拍摄的物体照片以及拍摄所述照片时拍摄设备的姿态参数;

根据所述物体照片构建虚拟三维场景,并根据所述拍摄设备的姿态参数将所述虚拟三维场景与真实三维环境进行匹配;

根据所述物体在所述真实三维环境的位置信息计算所述物体的姿态参数。

可选的,所述拍摄设备的姿态参数包括拍摄设备的旋转角信息;所述根据所述拍摄设备的姿态参数将所述虚拟三维场景与真实三维环境进行匹配,包括:

利用运动恢复结构sfm算法获得二维像平面到虚拟三维场景中的第一旋转矩阵;

根据所述旋转角信息获得二维像平面到真实三维环境的第二旋转矩阵;

根据所述第一旋转矩阵和所述第二旋转矩阵计算虚拟三维场景到真实三维环境的旋转转化矩阵。

可选的,所述拍摄设备的姿态参数包括拍摄设备的定位信息;所述根据所述拍摄设备的姿态参数将所述虚拟三维场景与真实三维环境进行匹配,还包括:

根据所述定位信息以及拍摄设备在虚拟三维场景中的位置确定虚拟三维场景到真实三维环境的平移和缩放转化矩阵。

可选的,所述根据所述第一旋转矩阵和所述第二旋转矩阵计算虚拟三维场景到真实三维环境的旋转转化矩阵,包括:

获取拍摄设备在不同位置得到的旋转转换矩阵;

计算各个旋转转换矩阵在三个坐标轴的旋转角的平均值,并基于所述平均值重构获得最终的旋转转化矩阵。

可选的,所述根据所述物体在所述真实三维环境的位置信息计算所述物体的姿态参数,包括:

根据在两张目标照片中标定的同名直线确定两个同名相点对;

基于所述两个同名相点对确定虚拟三维场景中两个相点的位置;

利用所述旋转转化矩阵和所述平移和缩放转化矩阵对所述两个相点连线中心的位置进行转化,根据转化后的位置获得所述物体在真实三维环境的定位值和海拔值。

可选的,所述根据在两张目标照片中标定的同名直线确定两个同名相点对,包括:

检测到所述目标照片中标定的同名直线后,根据双目视觉极限约束原理,计算其中一张目标照片中同名直线两个端点处的极线;

所述极线与另一目标照片中同名直线的交点即为所述端点的同名相点。

可选的,所述基于所述两个同名相点对确定虚拟三维场景中两个相点的位置,包括:

根据三维空间到二维像平面的投影方程,构建同名相点对每个相点对应的线性方程;

将同名相点对的线性方程构成线性方程组,利用矩阵方法对所述线性方程组进行求解,基于所述解确定虚拟三维场景中相点的位置。

可选的,所述将同名相点对的线性方程构成线性方程组,利用矩阵方法对所述线性方程组进行求解,基于所述解确定虚拟三维场景中相点的位置,包括:

根据上一次的解得到每个相点新的加权因子,对每个相点的线性方程都分别除以对应的加权因子,得到新的线性方程组,再计算得到新解,重复本步骤,直至得到新解与上一次的解相等后,再重复一次本步骤,计算得到的最终解为所述相点的位置。

可选的,所述根据所述物体在所述真实三维环境的位置信息计算所述物体的姿态参数,包括:

确定在三张目标照片中标定的同一直线的位置;

根据所述位置以及拍摄设备的位置信息利用三焦点张量算法计算所述直线在真实三维环境中的位置信息;

根据所述直线在真实空间中的位置信息计算物体的姿态角。

依据本发明的一个方面,提供一种位姿测量设备,包括摄像头、处理器和存储器,其中所述存储器中存储有位姿测量程序;所述处理器用于执行所述存储器中存储的所述程序,用以实现上述所述的位姿测量方法中的步骤。

依据本发明的一个方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有位姿测量程序,所述位姿测量程序被处理器执行时实现上述所述的位姿测量方法中的步骤。

本发明有益效果如下:

本发明实施例通过拍摄设备对不同位置上的物体进行拍摄,而后结合拍摄设备的姿态参数对拍摄的物体照片进行分析,即可获得物体的实际位姿参数信息。因此本发明实现了物体位姿的远程测量,操作方法非常简单便捷,无需测量人员进行攀爬,有效消除了测量的危险性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例或现有中的方案,下面将对实施例或现有描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的位姿测量方法的流程图;

图2a和图2b为本发明一具体实施例中计算同名相点的结果图像示意图。

图3为本发明一具体实施例中三焦点张量测量天线的流程图;

图4为本发明实施例所提供的位姿测量设备的原理框图。

具体实施方式

以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

方法实施例

如图1所示,本发明所提供的位姿测量方法,包括如下步骤:

步骤101,获取多张不同位置拍摄的物体照片以及拍摄照片时拍摄设备的姿态参数。

在该步骤中,这里的物体不局限于天线,还可以机器人、飞行器等需要监测姿态参数的物体。例如,在装配过程中,需要机器人手臂的姿态参数进行检测确保装配的准确性;或者,飞行器风力测试时,对飞行姿态进行检测。

其中,这里的拍摄设备包括相机、摄像机、手机以及平板电脑等具有拍摄功能的设备,这里对于拍摄设备的类型不做具体的限定。其中,当拍摄设备为可移动设备时,需要可移动设备可自行获取姿态参数信息。在拍摄时,可以自行选择拍摄位置,并获取不同位置拍摄的物体照片。当然还可以通过在不同位置设置固定的摄像机时,当需要时,则采集相应位置的照片即可。

其中,这里的拍摄设备的姿态参数包括定位信息(例如,gps信息)以及三个旋转角(对于三个坐标轴的旋转角)等信息。其中,当拍摄设备为可移动设备时,该参数可以直接通过相应的传感器获取即可。而对于通过固定位置的摄像头进行拍摄时,可以预先配置旋转角和gps信息,在需要时,直接获取配置信息即可。

步骤102,根据物体照片构建虚拟三维场景,并根据拍摄设备的姿态参数将虚拟三维场景与真实三维环境进行匹配。

在该步骤中,根据物体照片构建虚拟三维场景时,需要分别对不同位置获取的物体照片进行特征点提取、匹配和矩阵等处理构建照片的稀疏点云;而后再利用sfm(structurefrommotion,运动恢复结构)算法计算特征点的三维坐标,构建简单的稀疏的虚拟三维场景。这里,对于sfm算法构建虚拟三维场景的过程已属于本领域技术人员所熟知的技术,因此这里不再进行赘述。

其中,在根据拍摄设备的姿态参数实现虚拟三维场景与真实三维环境的匹配,主要是通过根据拍摄设备的旋转角信息计算旋转转换矩阵,根据拍摄设备的定位信息计算平移和缩放矩阵。通过旋转转化矩阵、平移和缩放转化矩阵可以将实现虚拟三维场景到真实三维场景的转化。

步骤103,根据物体在真实三维环境的位置信息计算物体的姿态参数。

在该步骤102中,已经获取虚拟三维场景到真实三维环境的转换信息,根据该转换信息,通过用户在物体照片中标定所需测量的位置,即可获取天线在真实空间的位置信息。根据物体在真实空间的位置信息即可直接计算物体的姿态参数。

基于上述可知,本发明实施例所提供的位姿测量方法,通过拍摄设备对不同位置上的物体进行拍摄,通过结合拍摄设备的姿态参数对拍摄的物体照片进行分析,结合数学算法最终获得拍摄照片中物体的实际位姿参数。本发明实现了物体位姿的远程测量,无需测量人员进行攀爬操作,因此操作非常简单便捷,有效消除了测量的危险性,保证了测量人员人身安全。

下面结合具体实施例对本发明的技术内容做进一步的详细说明。在该实施例中,以天线为例,通过天线的位姿测量过程对本发明进行介绍。

步骤101,获取多张不同位置拍摄的物体照片以及拍摄照片时拍摄设备的姿态参数。

在该实施例中,采用手机作为测量设备,通过利用手机的摄像头进行天线的照片拍摄,同时使用手机中相关传感器(例如,gps传感器、陀螺仪、加速度计以及电子罗盘)获取gps位置信息和姿态参数。通过手机在不同位置上拍摄数张天线照片(数量为5至10张)。在拍摄天线照片时,获取并记录手机的姿态参数,这里的姿态参数包括gps位置和三个坐标轴的旋转角信息。

步骤102,根据物体照片构建虚拟三维场景,并根据拍摄设备的姿态参数将虚拟三维场景与真实三维环境进行匹配。

上述提到利用sfm算法进行了获得到场景的三维重建。在构建完成三维的稀疏点云之后,需要将稀疏点云进行旋转,尽量使得点云的姿态、朝向、分布于真实三维环境的一致。

其中,通过拍摄设备拍摄时获取的三个旋转角信息,计算旋转转化矩阵,包括如下步骤:

步骤21,利用sfm算法获取从二维像平面到虚拟三维场景中的第一旋转矩阵rsfm。在进行虚拟三维场景的重建时,可以根据通过sfm算法运行后,得到每个拍摄设备外参中的旋转矩阵(二维像平面到sfm空间的旋转矩阵),而该旋转矩阵即为第一旋转矩阵,通过该矩阵可以根据二维像平面获知拍摄设备在虚拟三维空间中的姿态。

步骤22,根据拍摄设备的旋转角度信息获取拍摄设备从二维像平面到真实三维环境的第二旋转矩阵。

在该步骤中,根据内部旋转转化定理即可根据拍摄设备的三个旋转角度获取到拍摄设备在真实三维环境的旋转矩阵。这里,使用如下公式计算移动终端自身坐标系关于真实三维环境(大地坐标系)的姿态:

rcamera=rphone*rx(180)*rz(-90)(1)

其中,rx(180)代表坐标系先以逆时针方向绕移动终端自身坐标系的x轴旋转180度,rz(-90)代表坐标系再以顺时针方向绕z轴旋转90度,rphone为拍摄设备拍摄时的三个旋转角信息。

步骤23,根据第一旋转矩阵和第二旋转矩阵计算虚拟三维场景到真实三维环境的旋转转化矩阵。

在步骤21和步骤22中,分别获得了拍摄设备在sfm空间(虚拟三维场景)中的旋转矩阵rsfm,拍摄设备到真实三维环境的旋转矩阵rcamera,根据公式(2)即可获得旋转转化矩阵rtrans:

rtrans=rcamera*(rsfm)-1(2)

进一步的,由于拍摄设备在不同拍摄了物体照片,根据不同位置的拍摄设备可以得到数个旋转转换矩阵,为了保证旋转转换矩阵的准确性,本发明一实施例中,需要根据不同位置获得的多个旋转转换矩阵的均值来获得最终的旋转转化矩阵。具体地,获取各个旋转转换矩阵在三个坐标轴的旋转角的平均值,并基于平均值重构获得最终的旋转转化矩阵。

在该实施例中,需将每个旋转转换矩阵分解成三个旋转角rx,ry,rz,将这些旋转角在三个方向上分别求平均值,而后根据三个旋转角的平均值再重构则得到最终的旋转转化矩阵。这里对于矩阵与旋转角度的转化过程,已属于本领域技术人员所熟知的技术,这里不再进行详细介绍。在进行旋转转化后,真实空间的坐标系为y轴代表正北方向,x轴代表正东方向,z轴代表由地心往天空的垂直方向。可以看到,建筑物的侧边与z轴接近垂直,因此进行了较为准确的转化。

可知,通过对旋转转换矩阵进行旋转角度的分解,而后在根据角度平均值进行逆变化,获取最终的旋转转换矩阵,可以有效减少最终的计算误差,提高后续姿态参数的准确性。

进一步的,为了让将旋转后的稀疏点云的大小、位置,与真实世界一致,保证gps的精度的精度,这里需要对点云的位置进行平移和缩放。在计算转换参数时,因为缩放参数是各个坐标轴同比例的,故可以忽略z轴方向数值,这里仅对x轴与y轴的数值计算进行说明。

设转化后以米作为度量单位的拍摄设备位置为(xi,yi)(即拍摄设备在真实三维环境的位置,可以根据拍摄设备的gps信息获得),在三维重建空间中同样能够得到拍摄设备的位置(xi,yi),这里,令缩放系数为s,平移向量为(tx,ty),则可以建立如下线性方程:

其中n代表物体照片的数量,上式为超定方程,求解该方程可以采用最小二乘法,qr分解或者奇异值分解(svd)等矩阵论中的常用解法,由此可以得到目标的平移和缩放转化参数。对于上述方程的求解过程,不是本发明的保护重点,其也是本领域技术人员所熟知的技术,因此这里也不再进行说明。

由于在拍摄天线照片时,最佳的gps精度不过3m,得到的gps的精度是非常不精确的,通过上述结合所有获得gps信息重新确定进行计算目标的gps,即可获得非常精确的gps值。

除了上述计算平移与缩放参数的方法,还可以设置用户输入缩放参数的接口,由用户提供在拍摄时每两张天线照片之间的平均移动距离,用此参数除以虚拟三维场景中邻近拍摄设备之间的平均距离以得到缩放参数。通常情况下,用户的平均移动距离在0.3米至1米之间,得到缩放参数后,平移参数同样可以使用上式求解。采用此种方法计算的原因是gps的定位精度较低,例如用户拍摄了5张照片,相邻照片的移动距离为0.5米,总共在2.5米范围内移动,然而gps精度往往精度就在3米左右,很可能发生用户移动却发生了gps读数过于密集的现象。

步骤103,根据物体在真实三维环境的位置信息计算物体的姿态参数。

这里天线姿态参数包括天线的姿态角,以及gps和海拔(挂高)信息。这里首先介绍gps和海拔(挂高)信息的获取。

在经过sfm算法后,可获取拍摄设备内外参数。在该前提下,需要获取代表天线位置的同名相点来计算天线目标的三维空间位置,具体包括如下:

根据在两张目标照片中标定的同名直线确定两个同名相点对;

基于两个同名相点对确定虚拟三维场景中两个相点的位置;

利用旋转转化矩阵和平移和缩放转化矩阵对两个相点连线中心的位置进行转化,根据转化后的位置获得天线在真实三维环境的定位值gps和海拔值。

这里,在拍摄天线的照片后,由用户从所拍摄的照片中选择两张照片作为目标图片,并在目标照片中标定用以表示天线位置的同名直线。根据同名直线的信息来确定最终的gps和海拔值。

其中,基于用户输入同名直线对和双目视觉极限约束的方法来获取同名相点,包括如下:

待检测到目标照片中标定的同名直线后,根据双目视觉极限约束原理,计算其中一张目标照片中同名直线两个端点处的极线;

极线与另一目标照片中同名直线的交点即为端点的同名相点。

举例说明,如图2a和图2b所示,用户选取两张照片作为目标照片,并在每张目标照片中框选出天线目标,在天线目标中选取代表天线的同名直线对根据双目视觉极限约束原理,计算图2a中同名直线l的端点a处的极线la;此条极线与图2b同名直线l′相交得到交点a′,由此得到一个同名点对同样能够获取到同名直线对

基于上述可知,采用这上述同名相点的获取方法固然增加了用户的操作难度,但是目前的直线匹配算法不能够较好地精确匹配对应直线,采用本发明的方法保证了直线匹配的精确性和同名相点获取的精度。

其中,在获取选取的两张目标照片中两个同名相点对后,需要根据两个同名相点对在照片中的位置确定对应的两个相点的三维空间位置坐标。可选的,本发明实施例通过如下方式实现:

根据三维空间到二维像平面的投影方程,构建同名相点对每个相点对应的线性方程;

将同名相点对的线性方程构成线性方程组,利用矩阵方法对线性方程组进行求解,基于解确定虚拟三维场景中相点的位置。

这里每个相点对应的是一个拍摄视角,即上述提到两个目标照片(不同拍摄位置)的拍摄视角。具体地,根据三维空间与二维像平面的投影方程有x=px;其中,x为齐次坐标且x=w(u,v,1),(u,v)为照片上的坐标点(二维像平面坐标),w代表投影深度,即缩放因子。x为所需计算的相点的三维空间的位置坐标,为了能够使用矩阵进行计算,通常使用齐次坐标表示,即x=(x,y,z,1)这样的四维向量;p为投影矩阵(可根据sfm算法获得),这里第i行用pit表示,则投影方程可以被重写为:

wu=p1tx,wv=p2tx,w=p3tx(4)

对上述的投影方程,将参数w消去,得到如下2个线性方程:

up3tx=p1tx,vp3tx=p2tx(5)

其中,若需要计算x的值,至少需要两个视角的同名相点和投影矩阵。上述公式(5)表示的是在某一个视角下获取到的两个线性方程;若有两个视角,则可以获得四个线性方程,并经过将等式右边的项移动到左部,可以将四个方程组转化为ax=0的形式。

其中,a是一个4×4的矩阵。通常情况下,由于噪声的存在,这个方程式不能够完全对等的,可以找到使得||ax||最小的x,并满足约束条件||x||=1。这个方程的最优解是对应于矩阵ata的最小特征值的特征向量,可以采用通用的解法如svd,qr分解等方法来求解x。

其中,在计算得到x后,它是一个齐次向量,将向量的每一元素除以最后一个元素,最后得到的前三个元素代表了最终的目标位置。即,求解出的x=(a,b,c,d),齐次坐标x1=(a/d,b/d,c/d,d/d),最终的目标坐标t=(a/d,b/d,c/d)。

需要说明的是,上述从两个视角(两张目标照片)对求解原理进行说明,当存在有多个视角,可以构建6个,8个…等线性方程组,此时的a是超定矩阵,同样可以使用最小二乘法来求解。可以使用奇异值分解svd,qr方法等求解。

进一步的,线性方法存在的一个问题是最小化的||ax||没有几何意义,也与最小化的目标函数不相符,并且给矩阵a的每一行乘以加权因子,得出的结果也不尽相同。因此,为了解决该问题,本发明一实施例中,通过线性迭代方法不断地改变线性方程的加权因子,使得加权的方程能够与照片坐标点的误差统一。

举例来说,一开始计算到的空间点x并不能完全满足线性方程,且存在误差ε=up3tx-p1tx,想要最小化的是真实图相点x和x的投影点p1tx/p3tx的距离,即ε′=ε/p3tx=u-p1tx/p3tx,这就意味着线性方程如果除以加权因子w=p3tx,那么最终的误差就是符合照片意义的最小化。

为了让该误差最小化,本发明实施例根据迭代法实现:根据上一次的解得到每个视角新的加权因子,对每个视角的线性方程都分别除以对应的加权因子,得到新的线性方程组,再计算得到新解,重复本步骤,直至得到新解与上一次的解相等后,再根据新的加权因子重复一次线性方程组的求解步骤,计算得到最终解。

具体地,设定初始加权因子w0=w0′=1,计算上述线性方程组的解,并令该解为初始解x0。

第一视角方程组除以加权因子wi=p3txi-1,同样对第二视角的方程除以加权因子wi′=p3′txi-1,从而得到新的线性方程组,再计算得到解xi-,1式中xi-1为上次计算出的结果。重复该步骤,直至收敛得到xi=xi-1且有wi=p3txi,此时的误差ε=u-p1tx/p3tx就是我们想要最小化的照片误差。

通过迭代方法获取的最优加权因子,并将原始的各个视角的线性方程分别除以各个视角的最优加权因子,获得的解即为最终的目标空间点的位置。基于该方法可以使得最小化的方程能够符合照片意义上的坐标误差。此种线性迭代方法计算出的空间点精确度较高,且一般能够在较少次数迭代即可达到收敛,且实现简单,程序简洁。

通过天线两端的同名相点对在虚拟三维场景中对应空间直线两端相点的位置后,根据两端相点连线中心的位置坐标计算在真实三维场景的gps位置和海拔,以此代表该天线的gps位置和海拔。方法如下:

针对连线中心位置的三维点(x,y),得到其旋转转化后真实空间坐标的(x,y)根据步骤102中获得的平移和缩放矩阵,即可获得为:

x=x*s+tx,y=y*s+ty;

将(x,y)经过反投影变换即可得到gps的值。在拍摄时都处于同一海拔z0,根据x,y,z轴等比例缩放原理,目标对应的海拔为:

z=z0+(z-zcamera)*s

接下来对根据不同天线照片中标定的同一直线的位置计算天线的姿态角过程进行说明。

其中,可选的,在通过上述方法获得代表空间直线的两个相点之后,可以利用两个相点的空间位置坐标后,根据上述提到的旋转转化矩阵、平移和缩放矩阵进行旋转转化后的两个相点在真实三维环境的坐标点,直接可以计算出天线的姿态角。

其中,可选的,通过三焦点张量法重新获取代表空间直线的坐标点,根据该坐标点计算天线的姿态角。具体地,确定在三张目标照片中标定的同一直线的位置;;根据位置以及拍摄设备的位置信息利用三焦点张量算法计算直线在真实三维环境中的位置信息;根据直线在真实空间中的位置信息计算天线的姿态角。

由于三焦点张量是表示三个视图间的相互对应关系,这是一种不依赖于被测物体本身结构的空间几何关系。如图3所示,其中直线l1,,l2,l3是空间直线l在每张照片上的投影,中心在{c0,c1,c2}的三个拍摄设备的投影矩阵为p1,p2,p3,投影矩阵可以经过sfm算法估计出的内外参数计算得到,具体为p=k[rt]得到,构建三焦点张量矩阵为:

用奇异值分解法分解w得到[u,s,v]=svd(w),两个空间点的齐次坐标分别对应于v的最后两列4维向量xa=v(:,3),xb=v(:,4),将这两个4维向量非齐次化即可得到空间直线两点,也用此表示标定直线在空间中的位置,从而进一步通过简单的数学方法求解直线姿态角,也就是天线的姿态角(方向角与俯仰角)。对于根据空间点求解姿态角的过程已属于本领域技术人员所熟知的技术,这里就不在进行赘述。

设备实施例

本发明实施例还提供了一种位姿测量设备,用以实现上述的位姿测量方法,如图4所示,该设备包括处理器42以及存储有处理器42可执行指令的存储器41。其中,

处理器42可以是通用处理器,例如中央处理器(centralprocessingunit,cpu),还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器41,用于存储程序代码,并将该程序代码传输给cpu。存储器41可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器41也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器41还可以包括上述种类的存储器的组合。

本发明实施例所提供的一种位姿测量设备,包括摄像头、处理器和存储器,其中存储器中存储有位姿测量程序;处理器用于执行存储器中存储的位姿测量程序,用以如下步骤:

获取多张不同位置拍摄的物体照片以及拍摄照片时拍摄设备的姿态参数;

根据物体照片构建虚拟三维场景,并根据拍摄设备的姿态参数将虚拟三维场景与真实三维环境进行匹配;

根据物体在真实三维环境的位置信息计算物体的姿态参数。

可选的,拍摄设备的姿态参数包括拍摄设备的旋转角信息;根据拍摄设备的姿态参数将虚拟三维场景与真实三维环境进行匹配,包括:

利用sfm算法获得二维像平面到虚拟三维场景中的第一旋转矩阵;

根据旋转角信息获得二维像平面到真实三维环境的第二旋转矩阵;

根据第一旋转矩阵和第二旋转矩阵计算虚拟三维场景到真实三维环境的旋转转化矩阵。

可选的,拍摄设备的姿态参数包括拍摄设备的定位信息;根据拍摄设备的姿态参数将虚拟三维场景与真实三维环境进行匹配,还包括:

根据定位信息以及拍摄设备在虚拟三维场景中的位置确定虚拟三维场景到真实三维环境的平移和缩放转化矩阵。

可选的,根据第一旋转矩阵和第二旋转矩阵计算虚拟三维场景到真实三维环境的旋转转化矩阵,包括:

获取拍摄设备在不同位置得到的旋转转换矩阵;

计算各个旋转转换矩阵在三个坐标轴的旋转角的平均值,并基于平均值重构获得最终的旋转转化矩阵。

可选的,根据物体在真实三维环境的位置信息计算物体的姿态参数,包括:

根据在两张目标照片中标定的同名直线确定两个同名相点对;

基于两个同名相点对确定虚拟三维场景中两个相点的位置;

利用旋转转化矩阵和平移和缩放转化矩阵对两个相点连线中心的位置进行转化,根据转化后的位置获得物体在真实三维环境的定位值和海拔值。

可选的,根据在两张目标照片中标定的同名直线确定两个同名相点对,包括:

检测到在目标照片中标定同名直线后,根据双目视觉极限约束原理,计算其中一张目标照片中同名直线两个端点处的极线;

极线与另一目标照片中同名直线的交点即为端点的同名相点。

可选的,基于两个同名相点对确定虚拟三维场景中两个相点的位置,包括:

根据三维空间到二维像平面的投影方程,构建同名相点对每个相点对应的线性方程;

将同名相点对的线性方程构成线性方程组,利用矩阵方法对线性方程组进行求解,基于解确定虚拟三维场景中相点的位置。

可选的,将同名相点对的线性方程构成线性方程组,利用矩阵方法对线性方程组进行求解,基于解确定虚拟三维场景中相点的位置,包括:

根据上一次的解得到每个相点新的加权因子,对每个相点的线性方程都分别除以对应的加权因子,得到新的线性方程组,再计算得到新解,重复本步骤,直至得到新解与上一次的解相等后,再重复一次本步骤,计算得到的最终解为相点的位置。

可选的,根据物体在真实三维环境的位置信息计算物体的姿态参数,包括:

确定在三张目标照片中标定的同一直线的位置;

根据位置以及拍摄设备的位置信息利用三焦点张量算法计算直线在真实三维环境中的位置信息;

根据直线在真实空间中的位置信息计算物体的姿态角。

存储介质实施例

本发明实施例还提供了一种计算机可读存储介质。这里的计算机可读存储介质存储有一个或者多个程序。其中,计算机可读存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。当计算机可读存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现方法实施例中所提供的位姿测量方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。

虽然通过实施例描述了本申请,本领域的技术人员知道,本申请有许多变形和变化而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1