一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

拍摄装置位姿估计方法、装置、计算机设备和存储介质与流程

2021-10-29 22:15:00 来源:中国专利 TAG:装置 计算机 估计 拍摄 视觉


1.本技术涉及计算机视觉技术领域,特别是涉及一种拍摄装置位姿估计方法、装置、计算机设备和存储介质。


背景技术:

2.拍摄装置位姿估计(pose estimation)在计算机视觉领域扮演着十分重要的角色。拍摄装置位姿估计方法的准确性将直接影响到计算机视觉研究领域的视觉追踪、摄影测量、相机标定等任务的完成质量。
3.拍摄装置位姿估计即pnp(perspective

n

point)问题,是通过世界坐标系中的n个3d点的坐标值和这n个3d点投影在拍摄装置的单位焦平面(或者单位球面)上的2d坐标值来计算世界坐标系到拍摄装置坐标系的坐标变换的问题。
4.在解决拍摄装置位姿估计问题时,常采用p3p(perspective
‑3‑
point),dlt(直接线性变换)、epnp、upnp、mre等算法来实现;现有技术使用epnp算法解决拍摄装置位姿估计问题时,可以确保高稳定性和高精度,但数据处理效率很低。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够在确保计算拍摄装置位姿估计的稳定性和精度的前提下,提高拍摄装置位姿估计的数据处理性能的基于正交控制点的拍摄装置位姿估计方法、装置、计算机设备和存储介质。
6.一种拍摄装置位姿估计方法,所述方法包括:
7.获取世界坐标系下的三维点;
8.对所述三维点进行去中心化处理,得到第一矩阵;
9.采用预设分解方式对第一矩阵进行分解,得到正交矩阵和上三角矩阵;
10.根据所述正交矩阵和上三角矩阵确定所述世界坐标系下的各控制点,并得到各所述三维点由世界坐标系下所述控制点线性表出的第一线性表出系数,以及各所述三维点由所述世界坐标系下的各控制点线性表出的坐标点;
11.根据所述第一线性表出系数、所述坐标点以及所述坐标点在拍摄装置坐标系下对应的投影点,确定各所述控制点在拍摄装置坐标系下对应的零空间的基和距离约束;
12.根据所述零空间的基和所述距离约束确定各所述控制点在拍摄装置坐标系下的坐标;
13.基于所述拍摄装置坐标系及所述拍摄装置坐标系下控制点坐标确定所述控制点的第一控制点坐标系;
14.基于所述世界坐标系及所述世界坐标系下控制点坐标确定所述控制点的第二控制点坐标系;
15.根据所述第一控制点坐标系和所述第二控制点坐标系,确定所述世界坐标系到所述拍摄装置坐标系的位姿坐标变换。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
17.获取世界坐标系下的三维点;
18.对所述三维点进行去中心化处理,得到第一矩阵;
19.采用预设分解方式对第一矩阵进行分解,得到正交矩阵和上三角矩阵;
20.根据所述正交矩阵和上三角矩阵确定所述世界坐标系下的各控制点,并得到各所述三维点由世界坐标系下所述控制点线性表出的第一线性表出系数,以及各所述三维点由所述世界坐标系下的各控制点线性表出的坐标点;
21.根据所述第一线性表出系数、所述坐标点以及所述坐标点在拍摄装置坐标系下对应的投影点,确定各所述控制点在拍摄装置坐标系下对应的零空间的基和距离约束;
22.根据所述零空间的基和所述距离约束确定各所述控制点在拍摄装置坐标系下的坐标;
23.基于所述拍摄装置坐标系及所述拍摄装置坐标系下控制点坐标确定所述控制点的第一控制点坐标系;
24.基于所述世界坐标系及所述世界坐标系下控制点坐标确定所述控制点的第二控制点坐标系;
25.根据所述第一控制点坐标系和所述第二控制点坐标系,确定所述世界坐标系到所述拍摄装置坐标系的位姿坐标变换。
26.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
27.获取世界坐标系下的三维点;
28.对所述三维点进行去中心化处理,得到第一矩阵;
29.采用预设分解方式对第一矩阵进行分解,得到正交矩阵和上三角矩阵;
30.根据所述正交矩阵和上三角矩阵确定所述世界坐标系下的各控制点,并得到各所述三维点由世界坐标系下所述控制点线性表出的第一线性表出系数,以及各所述三维点由所述世界坐标系下的各控制点线性表出的坐标点;
31.根据所述第一线性表出系数、所述坐标点以及所述坐标点在拍摄装置坐标系下对应的投影点,确定各所述控制点在拍摄装置坐标系下对应的零空间的基和距离约束;
32.根据所述零空间的基和所述距离约束确定各所述控制点在拍摄装置坐标系下的坐标;
33.基于所述拍摄装置坐标系及所述拍摄装置坐标系下控制点坐标确定所述控制点的第一控制点坐标系;
34.基于所述世界坐标系及所述世界坐标系下控制点坐标确定所述控制点的第二控制点坐标系;
35.根据所述第一控制点坐标系和所述第二控制点坐标系,确定所述世界坐标系到所述拍摄装置坐标系的位姿坐标变换。
36.上述拍摄装置位姿估计方法、装置、计算机设备和存储介质,通过对世界坐标系中的三维点进行去中心化处理,得到第一矩阵;根据第一矩阵进行分解得到的正交矩阵和上三角矩阵同时确定控制点和世界坐标系下由控制点线性表出的第一线性表出系数,减少数
据处理量,提高了数据的处理效率;根据第一线性表出系数确定各控制点在拍摄装置坐标下对应的零空间的基和距离约束,根据零空间的基和距离约束确定各控制点在拍摄装置坐标系下的坐标,确定基于拍摄装置坐标系确定控制点的第一控制点坐标系;根据第一控制点坐标系和基于世界坐标系确定控制点的第二控制点坐标系,确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换;即在估计拍摄装置位姿,在确保数据处理精度和稳定性同时,提高了数据的处理效率。
附图说明
37.图1为一个实施例中拍摄装置位姿估计方法的应用环境图;
38.图2为一个实施例中拍摄装置位姿估计方法的流程示意图;
39.图3为一个实施例中确定控制点的零空间的基和距离约束的方法的流程示意图;
40.图4为一个实施例中确定拍摄装置坐标系下的控制点坐标的方法的流程示意图;
41.图5为一个实施例中确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换方法的流程示意图;
42.图6为另一个实施例中拍摄装置位姿估计方法的流程示意图;
43.图7为一个实施例中拍摄装置位姿估计装置的结构框图;
44.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
46.本技术提供的拍摄装置位姿估计方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端从服务器中获取世界坐标系下三维点;对三维点进行去中心化处理,得到第一矩阵;采用预设分解方式对第一矩阵进行分解,得到正交矩阵和上三角矩阵;根据正交矩阵和上三角矩阵确定世界坐标系下的各控制点和各三维点由世界坐标系下控制点线性表出的第一线性表出系数以及各三维点由世界坐标系下的各控制点线性表出的坐标点;根据第一线性表出系数、坐标点以及坐标点在拍摄装置坐标系下对应的投影点,确定各控制点在拍摄装置坐标系下对应的零空间的基和距离约束;通过根据零空间的基距离约束确定各控制点在拍摄装置坐标系下的坐标,得到基于拍摄装置坐标系确定控制点的第一控制点坐标系;获取基于世界坐标系确定控制点的第二控制点坐标系;根据第一控制点坐标系和第二控制点坐标系,确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。拍摄装置可以是任意带有摄像头的拍摄设备,比如手机、相机、摄影机、机器人、无人机等,在本发明中对此不作限定。
47.在一个实施例中,如图2所示,提供了一种拍摄装置位姿估计方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
48.步骤202,获取世界坐标系下的三维点。
49.其中,三维点的数量可以是预先设定的正整数n(n≥4),三维点是世界坐标系中已知坐标位置的参考点。
50.步骤204,对三维点进行去中心化处理,得到第一矩阵。
51.其中,去中心化处理是指变量减去它的均值;即通过中心化和标准化处理,得到均值为0,标准差为1的服从标准正态分布的数据;对三维点进行去中心化处理是指将三维点在世界坐标系中的坐标进行加权,让得到的加权值为预设值,也就是说,将三维点的重心点平移到世界坐标系的原点,预设值可以但不仅限于是0。三维点的重心点是通过对世界坐标系中所有三维点各维度的坐标值进行加权求均值确定的,即重心点v0为
[0052][0053]
令则v0=(v
10 v
20 v
30
)
t
[0054]
指世界坐标系下输入的三维点,n为三维点的个数,x
i
为第i个三维点在世界坐标系下对应x轴的坐标值,y
i
为第i个三维点在世界坐标系下对应y轴的坐标值,z
i
为第i个三维点在世界坐标系下对应z轴的坐标值。
[0055]
对多个三维点进行去中心化处理,可以表示为:
[0056][0057]
其中,
w
p
i
表示世界坐标系下去中心化后的三维点;代表世界坐标系下的三维点。
[0058]
由去中心化的三维点构成的第一矩阵a,可以表示为:
[0059][0060]
其中,a为3
×
n矩阵,即a可以表示为a=q3r3×
n

[0061]
具体地,通过对三维点在世界坐标系中各维度的坐标值进行加权求均值确定对应的重心点,通过将重心点平移到世界坐标系的原点,得到去中心化的三维点;根据去中心化的三维点构成的第一矩阵。
[0062]
步骤206,采用预设分解方式对第一矩阵进行分解,得到正交矩阵和上三角矩阵。
[0063]
其中,预设分解方式可以但不仅限于正交三角分解,例如,qr分解(orthogonal matrix right triangular matrices),qr分解是指将已知矩阵分解成一个正规正交矩阵q与上三角形矩阵r。通过对a进行qr分解,得到3
×
3的正交矩阵q3,和3
×
n的上三角矩阵r3×
n

[0064]
q3可以表示为q3=(v
1 v
2 v3),r3×
n
可以表示为:
[0065]
(其中β
21
,β
31
,β
32
等于0))
[0066]
具体地,采用qr分解方式对由去中心化的三维点构成的第一矩阵进行分解,得到正交矩阵和上三角矩阵。
[0067]
步骤208,根据正交矩阵和上三角矩阵确定世界坐标系下的各控制点,并得到各三维点由世界坐标系下控制点线性表出的第一线性表出系数,以及各三维点由世界坐标系下的各控制点线性表出的坐标点。
[0068]
其中,控制点的数量为4;在本技术中以4个控制点为例进行说明,根据正交矩阵和上三角矩阵确定世界坐标系下的4个控制点,其中,4个控制点上三角矩阵确定世界坐标系下的4个控制点,其中,4个控制点可以分别表示为:
[0069][0070]
v0为重心点,v1、v2、v3为正交矩阵中的向量。
[0071]
具体地,基于qr分解第一矩阵后,根据控制点、重心点和正交矩阵满足的关系式,对三维点进行降维处理,确定三维点由世界坐标系下的控制点线性表出的第一线性表出,即确保世界坐标系下的三维点数据的完整性;根据第一矩阵、重心点和正交矩阵以及上三角矩阵之间满足函数关系式,进行矩阵变换,根据上三角矩阵中的向量组确定第一线性表出中第一线性表出系数的值。
[0072]
控制点和重心点v0和正交矩阵(v
1 v
2 v3)满足的关系式可以表示为:
[0073][0074]
各三维点由世界坐标系下的各控制点的第一线性表出可以表示为:
[0075]
其中,k为控制点的数量,k=1,2,3,4;α
ki
为第一线性表出的第一线性表出系数,为控制点在世界坐标下的坐标。
[0076]
第一矩阵、重心点和正交矩阵以及上三角矩阵之间满足函数关系式可以表示为:
[0077][0078]
其中,为第一矩阵,为四个控制点;β
ij
为系数(i=1,2,3;j=1,2,l,n)。
[0079]
第一线性表出系数α
1j
、α
2j
、α
3j
和α
4j
可以表示为:
[0080]
其中j=1,l,n,l表示省略号。
[0081]
步骤210,根据第一线性表出系数、坐标点以及坐标点在拍摄装置坐标系下对应的投影点,确定各控制点在拍摄装置坐标系下对应的零空间的基和距离约束。
[0082]
其中,距离约束指控制点中任意两个控制点的满足的预设关系。
[0083]
根据确定第一线性表出系数可以得到三维点由世界坐标系下的各控制点线性表出的坐标点p
iw
,以及p
iw
在拍摄装置坐标系下的投影点p
ic
s,根据p
iw
和p
ic
s坐标点之间的坐标可以确定两者之间满足的位置关系式,可以表示为:p
ic
=rp
iw
t;其中,r为三维点由世界坐标系下的各控制点线性表出的坐标点与拍摄装置坐标系下投影点之间的旋转矩阵,t为三维点由世界坐标系下的各控制点线性表出的坐标点与拍摄装置坐标系下投影点之间的平移矩阵。
[0084]
具体地,根据坐标点以及坐标点在拍摄装置坐标系下对应的投影点,确定坐标点和投影点满足的位置关系式;根据位置关系式和第一线性表出,确定各三维点投影点由拍摄装置坐标系下控制点线性表示的第二线性表出;通过对第二线性表出对应的齐次线性方程组进行解析,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束;第二线性表出中的第二线性表出系数与第一线性表出系数相等。
[0085]
其中,世界坐标系下的4个控制点在分别为和根据函数关系p
ic
=rp
iw
t和第一线性表出(其中,)可以确定得到三维点投影点由拍摄装置坐标系下4个控制点的第二线性表出为:
[0086][0087]
通过根据拍摄装置投影模型对第二线性表出进行解析求解,得到第二线性表出对应的线性方程组,根据线性方程组建立拍摄装置坐标系下控制点的线性约束(即距离约束),确定控制点在拍摄装置坐标下对应的零空间的基。即设则有
[0088][0089]
根据线性方程组建立一个关于拍摄装置坐标系下控制点坐标的一个线性约束为:
[0090][0091]

[0092][0093]
得到四个控制点的零空间的基的值为:
[0094][0095]
其中,零空间(null space)是指像为零的原像空间,即{x|ax=0}。例如,矩阵为a,则用null(a)表示a的零空间;零空间的基也就是矩阵的秩。
[0096]
步骤212,通过根据零空间的基和距离约束确定各控制点在拍摄装置坐标下的坐标,得到基于拍摄装置坐标系确定控制点的第一控制点坐标系。
[0097]
具体地,根据拍摄装置的投影关系建立齐次线性方程组,通过求解齐次线性方程组的零空间的一组基和控制点在拍摄装置坐标系下的距离约束;根据零空间的一组基将控制点进行线性表出,以及根据得到的距离约束得到非线性方程组;通过求解非线性方程组的零空间的基对控制点的线性表出系数,根据零空间的基对控制点的线性表出系数计算对应的控制点在拍摄装置坐标系下的坐标。
[0098]
步骤214,基于世界坐标系确定控制点的第二控制点坐标系。
[0099]
具体地,获取从世界坐标系下观察得到控制点的第二控制坐标系,可以表示为具体地,获取从世界坐标系下观察得到控制点的第二控制坐标系,可以表示为和分别为世界坐标系下的4个控制点。
[0100]
步骤216,根据第一控制点坐标系和第二控制点坐标系,确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换。
[0101]
具体地,获取从世界坐标系下确定控制点的第二控制点坐标系,对第二控制点坐标系进行分解,得到控制点坐标系到世界坐标系的旋转矩阵和平移矩阵,控制点坐标系到世界坐标系的旋转矩阵为正交矩阵;对第一控制点坐标系进行qr分解,得到控制点坐标系到拍摄装置坐标系的旋转矩阵和平移矩阵,根据控制点坐标系到世界坐标系的旋转矩阵和平移矩阵,以及控制点坐标系到拍摄装置坐标系的旋转矩阵和平移矩阵,确定世界坐标系到拍摄装置坐标系的位姿坐标变换。
[0102]
上述拍摄装置位姿估计方法中,通过对世界坐标系中的三维点进行去中心化处理,得到第一矩阵;根据第一矩阵进行分解得到的正交矩阵和上三角矩阵同时确定控制点和世界坐标系下由控制点线性表出的第一线性表出系数,减少数据处理量,提高了数据的处理效率;根据第一线性表出系数确定各控制点在拍摄装置坐标下对应的零空间的基和距离约束,根据零空间的基和距离约束确定各控制点在拍摄装置坐标系下的坐标,确定基于拍摄装置坐标系确定控制点的第一控制点坐标系,在减少数据的计算量确保数据处理的精度和稳定;根据第一控制点坐标系和基于世界坐标系确定控制点的第二控制点坐标系,确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换。
[0103]
在一个实施例中,如图3所示,提供了一种确定拍摄装置坐标下的控制点对应的零空间的基和距离约束的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0104]
步骤302,根据第一线性表出系数确定各三维点由控制点的第一线性表出。
[0105]
其中,第一线性表出是指将三维点由世界坐标系下的4个控制点进行表出。第一线性表出系数是通过第一矩阵、重心点和正交矩阵以及上三角矩阵之间满足函数关系式,进行矩阵变换确定的。第一矩阵是通过对输入的三维点进行去中心化处理后得到的。
[0106]
根据定义的控制点满足的函数关系式:
[0107][0108]
输入三维点p
i
由世界坐标系下的所有控制点的第一线性表出为:
[0109]
根据第一矩阵、重心点和正交矩阵以及上三角矩阵之间满足函数关系式:
[0110][0111]
确定第一表出系数α
ij
,其中i=1,2,3,4,j=1,l,n,即第一表出系数为:
[0112]
其中j=1,l,n。
[0113]
步骤304,根据坐标点以及坐标点在拍摄装置坐标系下对应的投影点,确定坐标点和投影点满足的位置关系式。
[0114]
具体地,根据输入三维点p
i
由世界坐标系下的所有控制点的第一线性表出可以确定对应坐标点p
iw
,p
iw
在拍摄装置坐标系下对应的投影点为s为变换矩阵,根据坐标点和投影点的坐标值,可以p
iw
和p
ic
s确定满足位置关系为p
ic
=rp
iw
t。
[0115]
步骤306,根据位置关系式和第一线性表出,确定各三维点投影点由拍摄装置坐标系下控制点线性表示的第二线性表出。
[0116]
具体地,根据三维点在世界坐标系下的坐标p
iw
和三维点在拍摄装置坐标系下的坐标p
ic
s的函数关系可以表示为:p
ic
=rp
iw
t,以及第一线性表出确定去中心
化的三维点投影点由拍摄装置坐标系下控制点的第二线性表出
[0117]
步骤308,根据拍摄装置投影模型确定第二线性表出对应的齐次线性方程组。
[0118]
其中,拍摄装置投影模型为现有模型,在此不做赘述。
[0119]
具体地,令控制点在拍摄装置坐标系下的表示为则有由此,可以确定对应的线性方程组为
[0120]
步骤310,建立拍摄装置坐标系下控制点的线性约束,根据线性约束对齐次方程进行求解,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束。
[0121]
具体地,通过对第二线性表出对应的齐次线性方程组进行解析,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束,即根据拍摄装置投影模型确定第二线性表出对应的齐次线性方程组;建立拍摄装置坐标系下控制点的线性约束,根据线性约束对齐次方程组进行求解,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束。
[0122]
其中,根据建立的拍摄装置坐标系下控制点坐标的线性约束:
[0123][0124]

[0125]
得到的零空间的基的值为:
[0126][0127]
得到的距离约束为:
[0128][0129]
上述确定拍摄装置坐标系下的控制点对应的零空间的基和距离约束的方法中,通过根据三维点由世界坐标系下的控制点的第一线性表出确定三维点投影点在拍摄装置坐标系下由控制点的第二线性表出,根据拍摄装置投影模型确定第二线性表出对应的齐次线性方程组以及通过建立拍摄装置坐标系下控制点的线性约束,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束,利用高斯消元方法确定零空间的基,减少数据计算量,并在确保稳定性的同时,提高了数据处理效率。
[0130]
在一个实施例中,如图4所示,提供了一种确定拍摄装置坐标系下的控制点坐标的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0131]
步骤402,根据由零空间的基确定的控制点线性表出和距离约束确定非线性方程组。
[0132]
其中,零空间的基和距离约束是通过根据投影关系建立的齐次线性方程组,求解齐次线性方程组得到的。
[0133]
步骤404,通过对非线性方程组进行求解,得到对应的零空间的基对控制点的线性表出系数。
[0134]
步骤406,根据零空间的基对控制点的线性表出系数确定对应的控制点在拍摄装置坐标系下的控制点坐标。
[0135]
具体地,获取齐次线性方程组mx=o
2n
×1的四组零空间基,根据零空间基和控制点的6组距离约束,得到6个非线性方程组;采用高斯牛顿方法对非线性方程组进行求解,得到控制点在拍摄装置坐标系的坐标。即获取mx=o
2n
×1的四组零空间基
[0136]
其中j=1,2,3,4。
[0137]
获取的6组距离约束为:
[0138][0139]
根据对距离约束进行化简得到:
[0140][0141]
其中,u≤v和i≤j。
[0142]
得到对应的非线性方程组为:
[0143][0144]
通过高斯

牛顿(gaussnewton)方法求解这个非线性方程组,确定控制点在拍摄装置坐标系下的坐标中的零空间的基对控制点的线性表出系数,确定控制点在拍摄装置坐标系中的坐标;即通过确定4控制点在拍摄装置坐标系下坐标的零空间的基对控制点的线性
表出系数λ1,λ2,λ3,λ4,根据确定控制点在拍摄装置坐标下的坐标。
[0145]
上述确定拍摄装置坐标系下的控制点坐标的方法中,根据投影关系建立的齐次线性方程组,通过求解齐次线性方程组的零空间的一组基和控制点在拍摄装置坐标系下的距离约束;根据控制点的线性表出和距离约束得到一组非线性方程组;通过求解非线性方程组的到零空间的基对控制点的线性表出系数;根据表出系数计算对应的控制点在拍摄装置坐标系下的坐标;在确保数据精度的基础上,减少数据处理步骤,提高了算法的处理效率。
[0146]
在一个实施例中,如图5所示,提供了一种确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0147]
步骤502,对第一控制点坐标系进行分解,得到第一控制点坐标系到拍摄装置坐标系的第一位姿坐标变换。
[0148]
具体地,根据各控制点在拍摄装置坐标系下的坐标,并得到基于拍摄装置坐标系确定控制点的原始控制点坐标系;当检测到原始控制点坐标系不为正交矩阵时,将从根据原始控制点坐标系确定的正交的控制点坐标系作为第一控制点坐标系,对第一控制点坐标系进行分解,得到第一控制点坐标系到拍摄装置坐标系的第一位姿坐标变换。即从拍摄装置坐标系下观察控制点的原始控制点坐标系不是正交的坐标系,对进行qr分解,得到第一位姿坐标变换;即得到一个正交矩阵q=(q
1 q
2 q3)和一个上三角矩阵根据正交矩阵和上三角矩阵确定控制点坐标系到拍摄装置坐标系的旋转矩阵r
ctr2c
和平移矩阵t
ctr2c

[0149]
步骤504,对第二控制点坐标系进行分解,得到第二控制点坐标系到拍摄装置坐标系的第二位姿坐标变换。
[0150]
具体地,对第二控制点坐标系进行处理进行分解,得到第二控制点坐标系到拍摄装置坐标系的第二位姿坐标变换,即[r
ctr2w t
ctr2w
],其中,和
[0151]
步骤506,根据第一位姿坐标变换和第二位姿坐标变换确定世界坐标系到拍摄装置坐标系的位姿坐标变换。
[0152]
具体地,根据第一位姿坐标变换和第二位姿坐标变换确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换,即从世界坐标系到拍摄装置坐标系的坐标变换的旋转部分是:从世界坐标系到拍摄装置坐标系的坐标变换的平移部分
是:确定从世界坐标系到拍摄装置坐标系的坐标变换是得到拍摄装置的位姿。
[0153]
上述位姿坐标变换方法中,通过确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换的方法中,通过对世界坐标系下的第一控制点坐标系和拍摄装置坐标系下的第二控制点坐标系进行处理,得到正交的旋转矩阵和平移矩阵;根据控制点坐标系到世界坐标系的旋转矩阵和平移矩阵,以及控制点坐标系到拍摄装置坐标系的旋转矩阵和平移矩阵,确定世界坐标系到拍摄装置坐标系的位姿坐标变换,提高了数据处理性能。
[0154]
在另一个实施例中,如图6所示,提供了一种拍摄装置位姿估计方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0155]
步骤602,获取世界坐标系下的三维点。
[0156]
步骤604,对三维点的三维坐标的坐标值进行均值处理,确定三维点对应的重心点。
[0157]
步骤606,根据重心点的坐标对各三维点进行去中心化处理,得到第一矩阵。
[0158]
步骤608,采用预设分解方式对第一矩阵进行分解,得到正交矩阵和上三角矩阵。
[0159]
步骤610,根据正交矩阵和上三角矩阵确定世界坐标系下的各控制点,并得到各三维点由世界坐标系下控制点线性表出的第一线性表出系数,以及各三维点由世界坐标系下的各控制点线性表出的坐标点。
[0160]
步骤612,根据第一线性表出系数、坐标点以及坐标点在拍摄装置坐标系下对应的投影点,确定各控制点在拍摄装置坐标系下对应的零空间的基和距离约束。
[0161]
步骤614,通过根据零空间的基和距离约束确定各控制点在拍摄装置坐标系下的坐标,以及基于拍摄装置坐标系及拍摄装置坐标系下控制点坐标确定控制点的第一控制点坐标系。
[0162]
步骤616,基于世界坐标系及世界坐标系下控制点坐标确定控制点的第二控制点坐标系。
[0163]
步骤618,对第一控制点坐标系进行分解,得到第一控制点坐标系到拍摄装置坐标系的第一位姿坐标变换。
[0164]
步骤620,对第二控制点坐标系进行分解,得到第二控制点坐标系到拍摄装置坐标系的第二位姿坐标变换。
[0165]
步骤622,根据第一位姿坐标变换和第二位姿坐标变换确定世界坐标系到拍摄装置坐标系的位姿坐标变换。
[0166]
上述拍摄装置位姿估计方法,通过对世界坐标系中的三维点进行去中心化处理,得到第一矩阵;根据第一矩阵进行分解得到的正交矩阵和上三角矩阵同时确定控制点和世界坐标系下由控制点线性表出的第一线性表出系数,减少数据处理量,提高了数据的处理效率;根据第一线性表出系数确定各控制点在拍摄装置坐标下对应的零空间的基和距离约束,根据零空间的基和距离约束确定各控制点在拍摄装置坐标系下的坐标,确定基于拍摄装置坐标系确定控制点的第一控制点坐标系,在减少数据的计算量确保数据处理的精度和稳定;根据第一控制点坐标系和基于世界坐标系确定控制点的第二控制点坐标系,确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换。
[0167]
应该理解的是,虽然图2

6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2

6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0168]
在一个实施例中,如图7所示,提供了一种拍摄装置位姿估计装置,包括:第一获取模块702、去中心化处理模块704、分解模块706、第一确定模块708、第二确定模块710、第三确定模块712、第四确定模块714和位姿变换模块716,其中:
[0169]
第一获取模块702,用于获取世界坐标系下的三维点。
[0170]
去中心化处理模块704,用于对三维点进行去中心化处理,得到第一矩阵。
[0171]
分解模块706,用于通过对第一矩阵进行分解,得到正交矩阵和上三角矩阵。
[0172]
第一确定模块708,用于根据正交矩阵和上三角矩阵确定世界坐标系下的各控制点,并得到各三维点由世界坐标系下控制点线性表出的第一线性表出系数,以及各三维点由世界坐标系下的各控制点线性表出的坐标点。
[0173]
第二确定模块710,用于根据第一线性表出系数、坐标点以及坐标点在拍摄装置坐标系下对应的投影点,确定各控制点在拍摄装置坐标系下对应的零空间的基和距离约束。
[0174]
第三确定模块712,用于通过根据零空间的基和距离约束确定各控制点在拍摄装置坐标系下的坐标;以及基于拍摄装置坐标系确定控制点的第一控制点坐标系。
[0175]
第四确定模块714,用于基于世界坐标系及世界坐标系下控制点坐标确定控制点的第二控制点坐标系。
[0176]
位姿变换模块716,用于根据第一控制点坐标系和第二控制点坐标系,确定世界坐标系到拍摄装置坐标系的位姿坐标变换。
[0177]
上述拍摄装置位姿估计方法,通过对世界坐标系中的三维点进行去中心化处理,得到第一矩阵;根据第一矩阵进行分解得到的正交矩阵和上三角矩阵同时确定控制点和世界坐标系下由控制点线性表出的第一线性表出系数,减少数据处理量,提高了数据的处理效率;根据第一线性表出系数确定各控制点在拍摄装置坐标下对应的零空间的基和距离约束,根据零空间的基和距离约束确定各控制点在拍摄装置坐标系下的坐标,确定基于拍摄装置坐标系确定控制点的第一控制点坐标系,在减少数据的计算量确保数据处理的精度和稳定;根据第一控制点坐标系和基于世界坐标系确定控制点的第二控制点坐标系,确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换。
[0178]
在另一个实施例中,提供了一种拍摄装置位姿估计装置,除包括第一获取模块702、去中心化处理模块704、分解模块706、第一确定模块708、第二确定模块710、第三确定模块712、第四确定模块714和位姿变换模块716716之外,还包括:解析模块、线性约束模块和求解模块,其中:
[0179]
在一个实施例中,去中心化处理模块704还用于对三维点的坐标进行均值处理,确定三维点对应的重心点的坐标;根据重心点的坐标对各三维点进行去中心化处理,得到第一矩阵。
[0180]
在一个实施例中,第一确定模块708还用于根据正交矩阵和重心点的坐标确定世
界坐标系下的各控制点;根据上三角矩阵确定各三维点由控制点线性表出的第一线性表出系数根据第一线性表出系数确定各三维点由各控制点线性表出的第一线性表出;根据第一线性表出式确定各三维点由世界坐标系下的各控制点线性表出的坐标点。
[0181]
在一个实施例中,第二确定模块710还用于根据坐标点以及坐标点在拍摄装置坐标系下对应的投影点,确定坐标点和投影点满足的位置关系式;根据位置关系式和第一线性表出,确定各三维点投影点由拍摄装置坐标系下控制点线性表示的第二线性表出。。
[0182]
解析模块,用于通过对第二线性表出对应的齐次线性方程组进行解析,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束。
[0183]
在一个实施例中,第二确定模块710还用于根据拍摄装置投影模型确定第二线性表出对应的齐次线性方程组。
[0184]
线性约束模块,用于建立拍摄装置坐标系下控制点的线性约束,通过第二确定模块710根据线性约束对齐次方程组进行求解,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束。
[0185]
在一个实施例中,第二确定模块710还用于根据由零空间的基确定的控制点的线性表出,基于线性表出和和控制点在拍摄装置坐标下对应的距离约束确定非线性方程组。
[0186]
求解模块,用于通过对非线性方程组进行求解,得到对应的零空间的基对控制点的线性表出系数。
[0187]
在一个实施例中,第三确定模块712还用于根据零空间的基对控制点的线性表出系数确定各对应的控制点在拍摄装置坐标系下的控制点坐标。
[0188]
在一个实施例中,第三确定模块712还用于根据各控制点在拍摄装置坐标系下的坐标,并得到基于拍摄装置坐标系确定控制点的原始控制点坐标系;当检测到原始控制点坐标系不为正交矩阵时,将从根据原始控制点坐标系确定的正交的控制点坐标系作为第一控制点坐标系。
[0189]
在一个实施例中,分解模块706还用于对第一控制点坐标系进行分解,得到第一控制点坐标系到拍摄装置坐标系的第一位姿坐标变换;对第二控制点坐标系进行分解,得到第二控制点坐标系到拍摄装置坐标系的第二位姿坐标变换。
[0190]
在一个实施例中,第四确定模块714还用于根据第一位姿坐标变换和第二位姿坐标变换确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换。
[0191]
在一个实施例中,通过获取世界坐标系下三维点,对三维点的三维坐标的坐标值进行均值处理,确定三维点对应的重心点;根据重心点的坐标对各三维点进行去中心化处理,得到第一矩阵;采用预设分解方式对第一矩阵进行分解,得到正交矩阵和上三角矩阵,根据正交矩阵和重心点确定世界坐标系下的各控制点;控制点对应的坐标系的坐标轴正交;根据上三角矩阵确定各三维点由控制点线性表出的第一线性表出系数;根据第一线性表出系数确定各三维点由各控制点的第一线性表出;根据坐标位置关系和第一线性表出,确定三维点投影点由拍摄装置坐标系下控制点的第二线性表出;根据拍摄装置投影模型确定第二线性表出对应的线性方程组;基于线性方程组建立拍摄装置坐标系下控制点的线性约束,确定控制点在拍摄装置坐标下对应的零空间的基和距离约束。
[0192]
根据由零空间的基确定的控制点线性表出和距离约束确定非线性方程组;通过对非线性方程组进行求解,得到对应的零空间的基对控制点的线性表出系数;根据零空间的
基对控制点的线性表出系数确定对应的控制点在拍摄装置坐标下的控制点坐标;根据控制点在拍摄装置坐标系下的坐标,得到基于拍摄装置坐标系确定控制点的原始控制点坐标系;当检测到原始控制点坐标系不为正交矩阵时,从原始控制点坐标系确定正交的控制点坐标系作为第一控制点坐标系;对第一控制点坐标系进行分解,得到第一控制点坐标系到拍摄装置坐标系的第一位姿坐标变换;对第二控制点坐标系进行分解,得到第二控制点坐标系到拍摄装置坐标系的第二位姿坐标变换;根据第一位姿坐标变换和第二位姿坐标变换确定世界坐标系的控制点到拍摄装置坐标系的控制点的位姿坐标变换;在减少数据的计算量确保数据处理的精度和稳定,提高了数据的处理效率。
[0193]
关于拍摄装置位姿估计装置的具体限定可以参见上文中对于拍摄装置位姿估计方法的限定,在此不再赘述。上述拍摄装置位姿估计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0194]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种拍摄装置位姿估计方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0195]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0196]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0197]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0198]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0199]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0200]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜