概述
单目影像的空间后方交会Space resection
1.原理
空间交会的目的主要是确定外方位元素。主要类型有两类,一种是已知内方位元素,另外一种是未知内方位元素。但主要原理都大同小异,利用共线方程和最小二乘平差对内外方位元素参数进行解算,这一过程中需要用到一定数量的控制点,以及外方位元素的近似值。
主要的原理就是相机投影中心、相片上点和地物点的共线方程。
x
′
=
x
0
′
+
z
′
r
11
⋅
(
X
−
X
0
)
+
r
12
⋅
(
Y
−
Y
0
)
+
r
31
⋅
(
Z
−
Z
0
)
r
13
⋅
(
X
−
X
0
)
+
r
22
⋅
(
Y
−
Y
0
)
+
r
33
⋅
(
Z
−
Z
0
)
+
△
x
′
y
′
=
y
0
′
+
z
′
r
12
⋅
(
X
−
X
0
)
+
r
22
⋅
(
Y
−
Y
0
)
+
r
32
⋅
(
Z
−
Z
0
)
r
13
⋅
(
X
−
X
0
)
+
r
22
⋅
(
Y
−
Y
0
)
+
r
33
⋅
(
Z
−
Z
0
)
+
△
y
′
x' = x_0'+z'frac{r_{11}·(X-X_0)+r_{12}·(Y-Y_0)+r_{31}·(Z-Z_0)}{r_{13}·(X-X_0)+r_{22}·(Y-Y_0)+r_{33}·(Z-Z_0)}+triangle x' \ y' = y_0'+z'frac{r_{12}·(X-X_0)+r_{22}·(Y-Y_0)+r_{32}·(Z-Z_0)}{r_{13}·(X-X_0)+r_{22}·(Y-Y_0)+r_{33}·(Z-Z_0)}+triangle y'
x′=x0′+z′r13⋅(X−X0)+r22⋅(Y−Y0)+r33⋅(Z−Z0)r11⋅(X−X0)+r12⋅(Y−Y0)+r31⋅(Z−Z0)+△x′y′=y0′+z′r13⋅(X−X0)+r22⋅(Y−Y0)+r33⋅(Z−Z0)r12⋅(X−X0)+r22⋅(Y−Y0)+r32⋅(Z−Z0)+△y′
(
X
,
Y
,
Z
)
(X,Y,Z)
(X,Y,Z)为地物坐标系下的坐标,
(
x
′
,
y
′
)
(x',y')
(x′,y′)对应图片坐标系下的像素坐标,
z
′
z'
z′等于相机焦距的相反数,
△
x
′
,
△
y
′
triangle x',triangle y'
△x′,△y′表示影像的畸变程度,
x
0
′
,
y
0
′
x_0',y_0'
x0′,y0′表示主点的影像坐标(也即投影中心在影像上的坐标)。
2.已知内方位元素的空间交会
由于有6个外方位元素 X 0 , Y 0 , Z 0 , ω , φ , κ X_0,Y_0,Z_0,omega,varphi,kappa X0,Y0,Z0,ω,φ,κ。所以至少需要3个已知的地面控制点。
通过对上方的共线方程进行线性化,可以获得参数待定的最小二乘形式,从而利用间接平差的方法待定系数。
v
x
i
′
=
(
∂
x
′
∂
X
0
)
0
d
X
0
+
(
∂
x
′
∂
Y
0
)
0
d
Y
0
+
(
∂
x
′
∂
Z
0
)
0
d
Z
0
+
(
∂
x
′
∂
ω
)
0
d
ω
+
(
∂
x
′
∂
φ
)
0
d
φ
+
(
∂
x
′
∂
κ
)
0
d
κ
+
(
x
i
′
−
x
i
′
0
)
v
y
i
′
=
(
∂
y
′
∂
X
0
)
0
d
X
0
+
(
∂
y
′
∂
Y
0
)
0
d
Y
0
+
(
∂
y
′
∂
Z
0
)
0
d
Z
0
+
(
∂
y
′
∂
ω
)
0
d
ω
+
(
∂
y
′
∂
φ
)
0
d
φ
+
(
∂
y
′
∂
κ
)
0
d
κ
+
(
y
i
′
−
y
i
′
0
)
vx_i'=(frac{partial x'}{partial X_0})^0dX_0+(frac{partial x'}{partial Y_0})^0dY_0+(frac{partial x'}{partial Z_0})^0dZ_0+(frac{partial x'}{partial omega})^0domega+(frac{partial x'}{partial varphi})^0dvarphi+(frac{partial x'}{partial kappa})^0dkappa+(x_i'-x_i^{'0})\ vy_i'=(frac{partial y'}{partial X_0})^0dX_0+(frac{partial y'}{partial Y_0})^0dY_0+(frac{partial y'}{partial Z_0})^0dZ_0+(frac{partial y'}{partial omega})^0domega+(frac{partial y'}{partial varphi})^0dvarphi+(frac{partial y'}{partial kappa})^0dkappa+(y_i'-y_i^{'0})
vxi′=(∂X0∂x′)0dX0+(∂Y0∂x′)0dY0+(∂Z0∂x′)0dZ0+(∂ω∂x′)0dω+(∂φ∂x′)0dφ+(∂κ∂x′)0dκ+(xi′−xi′0)vyi′=(∂X0∂y′)0dX0+(∂Y0∂y′)0dY0+(∂Z0∂y′)0dZ0+(∂ω∂y′)0dω+(∂φ∂y′)0dφ+(∂κ∂y′)0dκ+(yi′−yi′0)
其中:
令
N
=
r
13
⋅
(
X
−
X
0
)
+
r
22
⋅
(
Y
−
Y
0
)
+
r
33
⋅
(
Z
−
Z
0
)
K
x
=
r
11
⋅
(
X
−
X
0
)
+
r
12
⋅
(
Y
−
Y
0
)
+
r
31
⋅
(
Z
−
Z
0
)
K
y
=
r
12
⋅
(
X
−
X
0
)
+
r
22
⋅
(
Y
−
Y
0
)
+
r
32
⋅
(
Z
−
Z
0
)
令N=r_{13}·(X-X_0)+r_{22}·(Y-Y_0)+r_{33}·(Z-Z_0) \ K_x=r_{11}·(X-X_0)+r_{12}·(Y-Y_0)+r_{31}·(Z-Z_0)\ K_y=r_{12}·(X-X_0)+r_{22}·(Y-Y_0)+r_{32}·(Z-Z_0)
令N=r13⋅(X−X0)+r22⋅(Y−Y0)+r33⋅(Z−Z0)Kx=r11⋅(X−X0)+r12⋅(Y−Y0)+r31⋅(Z−Z0)Ky=r12⋅(X−X0)+r22⋅(Y−Y0)+r32⋅(Z−Z0)
则各个参数的系数为:
∂
x
′
∂
X
0
=
z
′
N
2
⋅
(
r
13
K
X
−
r
11
N
)
∂
x
′
∂
Y
0
=
z
′
N
2
⋅
(
r
23
K
X
−
r
21
N
)
∂
x
′
∂
Z
0
=
z
′
N
2
⋅
(
r
33
K
X
−
r
31
N
)
∂
x
′
∂
ω
=
z
′
N
⋅
(
K
X
N
[
r
33
(
Y
−
Y
0
)
−
r
23
(
Z
−
Z
0
)
]
−
r
31
(
Y
−
Y
0
)
+
r
21
(
Z
−
Z
0
)
)
∂
x
′
∂
φ
=
z
′
N
⋅
(
K
X
N
[
K
Y
⋅
s
i
n
κ
−
K
X
⋅
c
o
s
κ
]
−
N
⋅
c
o
s
κ
)
∂
x
′
∂
κ
=
z
′
N
⋅
K
Y
frac{partial x'}{partial X_0}=frac{z'}{N^2}·(r_{13}K_X-r_{11}N) \ frac{partial x'}{partial Y_0}=frac{z'}{N^2}·(r_{23}K_X-r_{21}N) \ frac{partial x'}{partial Z_0}=frac{z'}{N^2}·(r_{33}K_X-r_{31}N) \ frac{partial x'}{partial omega}=frac{z'}{N}·(frac{K_X}{N}[r_{33}(Y-Y_0)-r_{23}(Z-Z_0)]-r_{31}(Y-Y_0)+r_{21}(Z-Z_0))\ frac{partial x'}{partial varphi}=frac{z'}{N}·(frac{K_X}{N}[K_Y·sinkappa-K_X·coskappa]-N·coskappa)\ frac{partial x'}{partial kappa}=frac{z'}{N}·K_Y
∂X0∂x′=N2z′⋅(r13KX−r11N)∂Y0∂x′=N2z′⋅(r23KX−r21N)∂Z0∂x′=N2z′⋅(r33KX−r31N)∂ω∂x′=Nz′⋅(NKX[r33(Y−Y0)−r23(Z−Z0)]−r31(Y−Y0)+r21(Z−Z0))∂φ∂x′=Nz′⋅(NKX[KY⋅sinκ−KX⋅cosκ]−N⋅cosκ)∂κ∂x′=Nz′⋅KY
∂ y ′ ∂ X 0 = z ′ N 2 ⋅ ( r 13 K Y − r 12 N ) ∂ y ′ ∂ Y 0 = z ′ N 2 ⋅ ( r 23 K Y − r 22 N ) ∂ y ′ ∂ Z 0 = z ′ N 2 ⋅ ( r 33 K Y − r 32 N ) ∂ y ′ ∂ ω = z ′ N ⋅ ( K Y N [ r 33 ( Y − Y 0 ) − r 23 ( Z − Z 0 ) ] − r 32 ( Y − Y 0 ) + r 22 ( Z − Z 0 ) ) ∂ y ′ ∂ φ = z ′ N ⋅ ( K Y N [ K Y ⋅ s i n κ − K X ⋅ c o s κ ] + N ⋅ s i n κ ) ∂ y ′ ∂ κ = − z ′ N ⋅ K X frac{partial y'}{partial X_0}=frac{z'}{N^2}·(r_{13}K_Y-r_{12}N) \ frac{partial y'}{partial Y_0}=frac{z'}{N^2}·(r_{23}K_Y-r_{22}N) \ frac{partial y'}{partial Z_0}=frac{z'}{N^2}·(r_{33}K_Y-r_{32}N) \ frac{partial y'}{partial omega}=frac{z'}{N}·(frac{K_Y}{N}[r_{33}(Y-Y_0)-r_{23}(Z-Z_0)]-r_{32}(Y-Y_0)+r_{22}(Z-Z_0))\ frac{partial y'}{partial varphi}=frac{z'}{N}·(frac{K_Y}{N}[K_Y·sinkappa-K_X·coskappa]+N·sinkappa)\ frac{partial y'}{partial kappa}=-frac{z'}{N}·K_X ∂X0∂y′=N2z′⋅(r13KY−r12N)∂Y0∂y′=N2z′⋅(r23KY−r22N)∂Z0∂y′=N2z′⋅(r33KY−r32N)∂ω∂y′=Nz′⋅(NKY[r33(Y−Y0)−r23(Z−Z0)]−r32(Y−Y0)+r22(Z−Z0))∂φ∂y′=Nz′⋅(NKY[KY⋅sinκ−KX⋅cosκ]+N⋅sinκ)∂κ∂y′=−Nz′⋅KX
3.参数近似值的确定
可以通过GPS和INS方式确定参数近似值;可以通过拍照相机的姿态(如果相机相片几乎平行于地物系,则旋转角可以被认为都为0)和相机的放大倍数及参考点坐标( X 0 , Y 0 X_0,Y_0 X0,Y0通过重心确定, Z − Z 0 Z-Z_0 Z−Z0通过主句和相机放大倍数确定);通常的方法,普适的方式就是通过几何条件进行计算参数近似值。
之所以需要参数的近似值,是共线方程模型是非线性化模型,最小二乘在计算过程中如果参数没有近似值,就可能会无法收敛。所以参数近似值是必要。
计算参数近似值的过程是通过获取相机坐标系下地物点的坐标,再与地物系下地物点的坐标进行7参数转换获得的。而地物点的坐标是通过四面体交会的方式通过迭代获取的。
根据已知数据的情况,其中上图 s 13 , s 23 , s 12 s_{13},s_{23},s_{12} s13,s23,s12是已知的,因为地物点坐标已知;又内方位元素已知,所以 P 1 ′ , P 2 ′ , P 3 ′ , 0 ′ P_1',P_2',P_3',0' P1′,P2′,P3′,0′坐标是已知的,其中 O ′ O' O′坐标为(0,0,0), P P P对应的z轴坐标为 − c -c −c(即焦距的相反数)。进而可以计算出夹角 α , β , γ alpha,beta,gamma α,β,γ,进而目的是为了确定 d 1 , d 2 , d 3 d_1,d_2,d_3 d1,d2,d3。根据四面体下底面三条边和上顶角三个角的确定情况,可以确定几组备选方案,从中获取到的几组数据用来通过筛选就可以得到最终的结果,或者逐一进行平差看哪组可以使结果收敛,就选择哪一组。
s 13 , s 23 , s 12 s_{13},s_{23},s_{12} s13,s23,s12是已知的,夹角 α , β , γ alpha,beta,gamma α,β,γ是已知的,所以可以首先假定 d 1 d_1 d1是一个很小的值,通过正弦定理
d 2 = s i n ∠ α ∗ d 1 s i n ∠ O ′ P 2 ′ P 1 ′ d_2=sin∠alpha*frac{d_1}{sin∠O'P_2'P_1'} d2=sin∠α∗sin∠O′P2′P1′d1
再不断向后面的三角形推过去,就可以最终推回到 d 1 d_1 d1,判断与初始情况的 d 1 d_1 d1相差多大,如果相差非常小的情况下,则可以认为蓝色的三个三角可以交会到相机投影中心。然后不断扩大 d 1 d_1 d1,不断找下去。
已知了
d
1
,
d
2
,
d
3
d_1,d_2,d_3
d1,d2,d3就可以利用
O
′
P
i
′
O'P_i'
O′Pi′与
O
′
P
i
O'P_i
O′Pi之间的距离比值获得到相机 坐标系下地物点的坐标:
d
=
x
′
2
+
y
′
2
+
z
′
2
x
i
=
d
i
d
i
′
⋅
x
i
′
y
i
=
d
i
d
i
′
⋅
y
i
′
z
i
=
d
i
d
i
′
⋅
z
i
′
d=sqrt{x^{'2}+y^{'2}+z^{'2}}\ x_i=frac{d_i}{d_i'}·x_i'\ y_i=frac{d_i}{d_i'}·y_i'\ z_i=frac{d_i}{d_i'}·z_i'
d=x′2+y′2+z′2xi=di′di⋅xi′yi=di′di⋅yi′zi=di′di⋅zi′
然后就可以利用7参数转换,获取相机坐标系下和地物坐标系下地物点的坐标转换关系,也即共线方程中参数的近似值了。同样需要注意7参数转换与外方位元素之间的区别,弄清楚到底是哪个坐标系向哪个坐标系转换!
在计算近似值的过程中, O ′ O' O′透视中心和 R R R旋转矩阵可能不唯一,就要用第四个点进行检验,通过将地物系下图像点 ( X , Y , Z ) (X,Y,Z) (X,Y,Z)利用坐标转换转化到相片上,然后与相片上的点 ( x , y ) (x,y) (x,y)进行比较,如果相近则是较优的近似值。
检验,通过将地物系下图像点 ( X , Y , Z ) (X,Y,Z) (X,Y,Z)利用坐标转换转化到相片上,然后与相片上的点 ( x , y ) (x,y) (x,y)进行比较,如果相近则是较优的近似值。
4.代码实现
单目影像的空间后方交会代码
最后
以上就是健康小丸子为你收集整理的【后方交会】单目影像的空间后方交会Space resection单目影像的空间后方交会Space resection的全部内容,希望文章能够帮你解决【后方交会】单目影像的空间后方交会Space resection单目影像的空间后方交会Space resection所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复