文章目录

  • 前言
    • 三维坐标系之间的转换关系:R(旋转矩阵) 、T(平移矩阵)
    • 数学模型描述
      • 布尔莎模型:前提是旋转角为微小旋转角
      • 罗德里格矩阵模型
    • 尺度相同:
    • 存在的一些问题:
    • 主要参考来源:

前言

三维坐标系之间的转换关系:R(旋转矩阵) 、T(平移矩阵)

  在大地测量、工程测量、摄影测量等领域中,坐标系之间的转换是必不可少的。空间坐标转换的实质是用公共点的2套坐标和非公共点的1套坐标推估非公共点的另1套坐标。

  坐标转换过程通常分2步,先由公共点坐标解算转换参数,再由转换参数转换非公共点。转换参数通常分为旋转、平移和尺度参数,其中旋转参数的确定是坐标转换的核心。

  传统的三维坐标转换模型是用3个旋转角作为旋转参数,建立的模型是非线性的,常需要用泰勒级数展开的方法将模型线性化,计算比较繁杂。

  在小角度旋转情况下,可对旋转矩阵作近似处理,得到线性模型,如常用的布尔莎模型。

  针对大旋角的坐标转换问题,多采用罗德里格矩阵表示旋转矩阵的坐标转换方法,仅有3个旋转参数,计算过程无需线性化,且能适用大旋角转换。

数学模型描述

布尔莎模型:前提是旋转角为微小旋转角

设矩阵 A 为 A 坐标系下公共点的三维坐标,矩阵B为B坐标系下公共点的三维坐标。由三维坐标转换模型可得,A、B 两坐标系的三维坐标转换方程如下所示:
[xyz]B=[ΔxΔyΔz]+(1+k)R[xyz]A(1)\left[\begin{array}{l}x \\ y \\ z\end{array}\right]_{B}=\left[\begin{array}{l}\Delta x \\ \Delta y \\ \Delta z\end{array}\right]+(1+k) \boldsymbol{R}\left[\begin{array}{l}x \\ y \\ z\end{array}\right]_{A}\tag{1} ⎣⎡​xyz​⎦⎤​B​=⎣⎡​ΔxΔyΔz​⎦⎤​+(1+k)R⎣⎡​xyz​⎦⎤​A​(1)
式中:Δx、Δy、ΔzΔx、Δy、ΔzΔx、Δy、Δz 表示坐标原点的平移量,kkk 为尺度因子,RRR 为 A 站位到 B 站位的旋转矩阵。为了对坐标转换精度进行分析,将三维坐标转换模型作如下简化:
[xyz]B=k[xyz]A+[0−εzεyεz0−εx−εyεx0]⋅[xyz]A+[ΔxΔyΔz](2)\left[\begin{array}{c}x \\ y \\ z\end{array}\right]_{B}=k\left[\begin{array}{c}x \\ y \\ z\end{array}\right]_{A}+\left[\begin{array}{ccc}0 & -\varepsilon_{z} & \varepsilon_{y} \\ \varepsilon_{z} & 0 & -\varepsilon_{x} \\ -\varepsilon_{y} & \varepsilon_{x} & 0\end{array}\right] \cdot\left[\begin{array}{l}x \\ y \\ z\end{array}\right]_{A}+\left[\begin{array}{c}\Delta x \\ \Delta y \\ \Delta z\end{array}\right] \tag{2} ⎣⎡​xyz​⎦⎤​B​=k⎣⎡​xyz​⎦⎤​A​+⎣⎡​0εz​−εy​​−εz​0εx​​εy​−εx​0​⎦⎤​⋅⎣⎡​xyz​⎦⎤​A​+⎣⎡​ΔxΔyΔz​⎦⎤​(2)
应注意到,式(2)中 εx、εy、εzε_x 、ε_y 、ε_zεx​、εy​、εz​ 均为微小角,则$sin{x} = x ,cos{x}=1 $因此,应在利用坐标转换模型前通过初步的坐标系转换得到一组转站参数的初值,使 A、B 两坐标系之间的转换满足微小角近似。式(2)可进一步写成:
[xyz]B=[1000z−yx010−z0xy001y−x0z]A⋅[ΔxΔyΔzεxεyεzk](3)\left[\begin{array}{l}x \\ y \\ z\end{array}\right]_{B}=\left[\begin{array}{lllllll}1 & 0 & 0 & 0 & z & -y & x \\ 0 & 1 & 0 & -z & 0 & x & y \\ 0 & 0 & 1 & y & -x & 0 & z\end{array}\right]_{A} \cdot\left[\begin{array}{l}\Delta x \\ \Delta y \\ \Delta z \\ \varepsilon_{x} \\ \varepsilon_{y} \\ \varepsilon_{z} \\ k\end{array}\right] \tag{3} ⎣⎡​xyz​⎦⎤​B​=⎣⎡​100​010​001​0−zy​z0−x​−yx0​xyz​⎦⎤​A​⋅⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​ΔxΔyΔzεx​εy​εz​k​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​(3)
根据式(3),可将 n 个公共点的坐标转换写为$ B=AX$ 的形式,其中:
A=(1000z1−y1x1010−z10x1y1001y1−x10z11000z2−y2x2010−z20x2y2001y2−x20z21000zn−ynxn010−zn0xnyn001yn−xn0zn)A(4)\boldsymbol{A}=\left(\begin{array}{ccccccc}1 & 0 & 0 & 0 & z_{1} & -y_{1} & x_{1} \\ 0 & 1 & 0 & -z_{1} & 0 & x_{1} & y_{1} \\ 0 & 0 & 1 & y_{1} & -x_{1} & 0 & z_{1} \\ 1 & 0 & 0 & 0 & z_{2} & -y_{2} & x_{2} \\ 0 & 1 & 0 & -z_{2} & 0 & x_{2} & y_{2} \\ 0 & 0 & 1 & y_{2} & -x_{2} & 0 & z_{2} \\ 1 & 0 & 0 & 0 & z_{n} & -y_{n} & x_{n} \\ 0 & 1 & 0 & -z_{n} & 0 & x_{n} & y_{n} \\ 0 & 0 & 1 & y_{n} & -x_{n} & 0 & z_{n}\end{array}\right)_{A} \tag{4} A=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛​100100100​010010010​001001001​0−z1​y1​0−z2​y2​0−zn​yn​​z1​0−x1​z2​0−x2​zn​0−xn​​−y1​x1​0−y2​x2​0−yn​xn​0​x1​y1​z1​x2​y2​z2​xn​yn​zn​​⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞​A​(4)
利用最小二乘法对转换参数进行参数估计,可得转换参数 XXX 的估值为:
X=(ATQ−1A)−1ATQB(5)\boldsymbol{X}=\left(\boldsymbol{A}^{\mathrm{T}} \boldsymbol{Q}^{-1} \boldsymbol{A}\right)^{-1} \boldsymbol{A}^{\mathrm{T}} \boldsymbol{Q} \boldsymbol{B}\tag{5} X=(ATQ−1A)−1ATQB(5)
式中:QQQ 为B 坐标系下$ n$ 个公共点坐标测量误差的协方差矩阵,则得转换参数方差阵为:
Qx=(ATQ−1A)−1=[q11q12⋯q17q21q22⋯q27⋮q71q72⋯q77](6)\boldsymbol{Q}_{x}=\left(\boldsymbol{A}^{\mathrm{T}} \boldsymbol{Q}^{-1} \boldsymbol{A}\right)^{-1}=\left[\begin{array}{cccc}q_{11} & q_{12} & \cdots & q_{17} \\ q_{21} & q_{22} & \cdots & q_{27} \\ & & \vdots & \\ q_{71} & q_{72} & \cdots & q_{77}\end{array}\right]\tag{6} Qx​=(ATQ−1A)−1=⎣⎢⎢⎢⎡​q11​q21​q71​​q12​q22​q72​​⋯⋯⋮⋯​q17​q27​q77​​⎦⎥⎥⎥⎤​(6)
对于空间任意一点 PPP,其坐标转换误差方差阵为:
QP=BPQxBPT=[qxxqxyqxzqyxqyyqyzqzxqzyqzz]\boldsymbol{Q}_{P}=\boldsymbol{B}_{P} \boldsymbol{Q}_{x} \boldsymbol{B}_{P}^{\mathrm{T}}=\left[\begin{array}{lll}q_{x x} & q_{x y} & q_{x z} \\ q_{y x} & q_{y y} & q_{y z} \\ q_{z x} & q_{z y} & q_{z z}\end{array}\right] QP​=BP​Qx​BPT​=⎣⎡​qxx​qyx​qzx​​qxy​qyy​qzy​​qxz​qyz​qzz​​⎦⎤​

罗德里格矩阵模型

空间直角坐标系转换模型
[XYZ]=λR[xyz]+[ΔXΔYΔZ](1)\left[\begin{array}{l}X \\ Y \\ Z\end{array}\right]=\lambda \boldsymbol{R}\left[\begin{array}{l}x \\ y \\ z\end{array}\right]+\left[\begin{array}{l}\Delta X \\ \Delta Y \\ \Delta Z\end{array}\right] \tag{1} ⎣⎡​XYZ​⎦⎤​=λR⎣⎡​xyz​⎦⎤​+⎣⎡​ΔXΔYΔZ​⎦⎤​(1)
λ\lambdaλ为尺度比例因子,假设其初值是1;RRR 为3×33×33×3的旋转矩阵;

引入一个具有3个独立元素的反对称矩阵:
S=[0−c−bc0−aba0](2)S=\left[\begin{array}{rrr}0 & -c & -b \\ c & 0 & -a \\ b & a & 0\end{array}\right] \tag{2} S=⎣⎡​0cb​−c0a​−b−a0​⎦⎤​(2)
式中 $ a,b,c$ 相互独立,则罗德里格矩阵可由反对称矩阵构建为:
R=(I+S)(I−S)−1(3)R=(I+S)(I-S)^{-1} \tag{3} R=(I+S)(I−S)−1(3)
式中RRR是个正交矩阵,其中 III 是 3 阶单位阵,将旋转矩阵RRR 展开带入式(1)可解得平移矢量:
[XiYiZi]=λ1+a2+b2+c2[1+a2−b2−c2−2ab−2c−2b+2ac2c−2ab1−a2+b2−c2−2a−2bc2ac+2b2a−2bc1−a2−b2+c2][xiyizi]+[ΔXΔYΔZ](4)\left[\begin{array}{c}X_{i} \\ Y_{i} \\ Z_{i}\end{array}\right]=\frac{\lambda}{1+a^{2}+b^{2}+c^{2}}\left[\begin{array}{ccc}1+a^{2}-b^{2}-c^{2} & -2 a b-2 c & -2 b+2 a c \\ 2 c-2 a b & 1-a^{2}+b^{2}-c^{2} & -2 a-2 b c \\ 2 a c+2 b & 2 a-2 b c & 1-a^{2}-b^{2}+c^{2}\end{array}\right]\left[\begin{array}{c}x_{i} \\ y_{i} \\ z_{i}\end{array}\right]+\left[\begin{array}{c}\Delta X \\ \Delta Y \\ \Delta Z\end{array}\right]\tag{4} ⎣⎡​Xi​Yi​Zi​​⎦⎤​=1+a2+b2+c2λ​⎣⎡​1+a2−b2−c22c−2ab2ac+2b​−2ab−2c1−a2+b2−c22a−2bc​−2b+2ac−2a−2bc1−a2−b2+c2​⎦⎤​⎣⎡​xi​yi​zi​​⎦⎤​+⎣⎡​ΔXΔYΔZ​⎦⎤​(4)
式(4)中未知参数共有 7 个,即 $λ 、a 、 b 、 c 、 ΔX 、 Δ Y 、 ΔZ $,进行线性化处理得到误差方程:
v=AΔx+l(5)\boldsymbol{v}=\boldsymbol{A} \Delta \boldsymbol{x}+\boldsymbol{l} \tag{5} v=AΔx+l(5)
对式(5),利用最小二乘法可得到:
Δx=(ATPA)−1(ATPl)(6)\boldsymbol{\Delta} \boldsymbol{x}=\left(\boldsymbol{A}^{\mathrm{T}} \boldsymbol{P} \boldsymbol{A}\right)^{-1}\left(\boldsymbol{A}^{\mathrm{T}} \boldsymbol{P} \boldsymbol{l}\right) \tag{6} Δx=(ATPA)−1(ATPl)(6)
式(6)中,PPP位单位矩阵;
A=[∂Xi∂λ∂Xi∂a∂Xi∂b∂Xi∂c∂Xi∂ΔX∂Xi∂ΔY∂Xi∂ΔZ∂Yi∂λ∂Yi∂a∂Yi∂b∂Yi∂c∂Yi∂ΔX∂Yi∂ΔY∂Yi∂ΔZ∂Zi∂λ∂Zi∂a∂Zi∂b∂Zi∂c∂Zi∂ΔX∂Zi∂ΔY∂Zi∂ΔZ]\boldsymbol{A}=\left[\begin{array}{ccccccc}\frac{\partial X_{i}}{\partial \lambda} & \frac{\partial X_{i}}{\partial a} & \frac{\partial X_{i}}{\partial b} & \frac{\partial X_{i}}{\partial c} & \frac{\partial X_{i}}{\partial \Delta X} & \frac{\partial X_{i}}{\partial \Delta Y} & \frac{\partial X_{i}}{\partial \Delta Z} \\ \frac{\partial Y_{i}}{\partial \lambda} & \frac{\partial Y_{i}}{\partial a} & \frac{\partial Y_{i}}{\partial b} & \frac{\partial Y_{i}}{\partial c} & \frac{\partial Y_{i}}{\partial \Delta X} & \frac{\partial Y_{i}}{\partial \Delta Y} & \frac{\partial Y_{i}}{\partial \Delta Z} \\ \frac{\partial Z_{i}}{\partial \lambda} & \frac{\partial Z_{i}}{\partial a} & \frac{\partial Z_{i}}{\partial b} & \frac{\partial Z_{i}}{\partial c} & \frac{\partial Z_{i}}{\partial \Delta X} & \frac{\partial Z_{i}}{\partial \Delta Y} & \frac{\partial Z_{i}}{\partial \Delta Z}\end{array}\right] A=⎣⎡​∂λ∂Xi​​∂λ∂Yi​​∂λ∂Zi​​​∂a∂Xi​​∂a∂Yi​​∂a∂Zi​​​∂b∂Xi​​∂b∂Yi​​∂b∂Zi​​​∂c∂Xi​​∂c∂Yi​​∂c∂Zi​​​∂ΔX∂Xi​​∂ΔX∂Yi​​∂ΔX∂Zi​​​∂ΔY∂Xi​​∂ΔY∂Yi​​∂ΔY∂Zi​​​∂ΔZ∂Xi​​∂ΔZ∂Yi​​∂ΔZ∂Zi​​​⎦⎤​

Δx=[ΔλΔaΔbΔcΔXΔYΔZ]T\Delta \boldsymbol{x}=\left[\begin{array}{llllll}\Delta \lambda & \Delta a & \Delta b & \Delta c & \Delta X & \Delta Y & \Delta Z\end{array}\right]^{\mathrm{T}} Δx=[Δλ​Δa​Δb​Δc​ΔX​ΔY​ΔZ​]T

l=[l1l2l3]T\boldsymbol{l}=\left[\begin{array}{lll}l_{1} & l_{2} & l_{3}\end{array}\right]^{\mathrm{T}} l=[l1​​l2​​l3​​]T

转换参数求解

参数解算过程可分3步,先求尺度参数,再求旋转参数,最后求平移参数。 尺度参数可由2个公共点在不同坐标系 下的距离之比算出:
λ=(X2−X1)2+(Y2−Y1)2+(Z2−Z1)2(x2−x1)2+(y2−y1)2+(z2−z1)2\lambda=\frac{\sqrt{\left(X_{2}-X_{1}\right)^{2}+\left(Y_{2}-Y_{1}\right)^{2}+\left(Z_{2}-Z_{1}\right)^{2}}}{\sqrt{\left(x_{2}-x_{1}\right)^{2}+\left(y_{2}-y_{1}\right)^{2}+\left(z_{2}-z_{1}\right)^{2}}} λ=(x2​−x1​)2+(y2​−y1​)2+(z2​−z1​)2​(X2​−X1​)2+(Y2​−Y1​)2+(Z2​−Z1​)2​​
公共点较多时,可求出各点间多个距离比,再取平均值;

在解算旋转参数 $a,b,c $时,可以先消去平移参数,将2个公共点的坐标代入式( 1),分别按照式(1) 做差得:
[X2−X1Y2−Y1Z2−Z1]=λR[x2−x1y2−y1z2−z1]\left[\begin{array}{l}X_{2}-X_{1} \\ Y_{2}-Y_{1} \\ Z_{2}-Z_{1}\end{array}\right]=\lambda \boldsymbol{R}\left[\begin{array}{l}x_{2}-x_{1} \\ y_{2}-y_{1} \\ z_{2}-z_{1}\end{array}\right] ⎣⎡​X2​−X1​Y2​−Y1​Z2​−Z1​​⎦⎤​=λR⎣⎡​x2​−x1​y2​−y1​z2​−z1​​⎦⎤​
联系式(2)式(3) 可得:
[0λz21+Z21λy21+Y21λz21+Z210−λx21−X21−λy21−Y21−λx21−X210][abc]=[λx21−X21λy21−Y21λz21−Z21]\left[\begin{array}{ccc}0 & \lambda z_{21}+Z_{21} & \lambda y_{21}+Y_{21} \\ \lambda z_{21}+Z_{21} & 0 & -\lambda x_{21}-X_{21} \\ -\lambda y_{21}-Y_{21} & -\lambda x_{21}-X_{21} & 0\end{array}\right]\left[\begin{array}{l}a \\ b \\ c\end{array}\right]=\left[\begin{array}{l}\lambda x_{21}-X_{21} \\ \lambda y_{21}-Y_{21} \\ \lambda z_{21}-Z_{21}\end{array}\right] ⎣⎡​0λz21​+Z21​−λy21​−Y21​​λz21​+Z21​0−λx21​−X21​​λy21​+Y21​−λx21​−X21​0​⎦⎤​⎣⎡​abc​⎦⎤​=⎣⎡​λx21​−X21​λy21​−Y21​λz21​−Z21​​⎦⎤​
式中:
x21=x2−x1;y21=y2−y1;z21=z2−z1X21=X2−X1;Y21=Y2−Y1;Z21=Z2−Z1\begin{array}{l}x_{21}=x_{2}-x_{1} ; y_{21}=y_{2}-y_{1} ; z_{21}=z_{2}-z_{1} \\ X_{21}=X_{2}-X_{1} ; Y_{21}=Y_{2}-Y_{1} ; Z_{21}=Z_{2}-Z_{1}\end{array} x21​=x2​−x1​;y21​=y2​−y1​;z21​=z2​−z1​X21​=X2​−X1​;Y21​=Y2​−Y1​;Z21​=Z2​−Z1​​
这个方程组左边的系数矩阵为奇异阵,3个方程里仅有2个独立,需要至少2个这样的方程组才能解算出a,b,c,也就是至少需要 3 个公共点。 当有n个公共点时,可列出( n-1)个形如上式的方程 ,共有 3(n-1)个方程,其总误差方程为:
V=B3(n−1)×3X3×1−L3(n−1)×3V=\underset{3(n-1) \times 3}{B} \underset{3 \times 1}{X}-\underset{3(n-1) \times 3}{L} V=3(n−1)×3B​3×1X​−3(n−1)×3L​
式中:
B=[0−λz21−Z21−λy21−Y21−λz21−Z210λx21+X21λy21+Y21λx21+X210⋮⋮⋮0−λzn1−Zn1−λyn1−Yn1−λzn1−Zn10λxn1+Xn1λyn1+Yn1λxn1+Xn10]B=\left[\begin{array}{ccc}0 & -\lambda z_{21}-Z_{21} & -\lambda y_{21}-Y_{21} \\ -\lambda z_{21}-Z_{21} & 0 & \lambda x_{21}+X_{21} \\ \lambda y_{21}+Y_{21} & \lambda x_{21}+X_{21} & 0 \\ \vdots & \vdots & \vdots \\ 0 & -\lambda z_{n 1}-Z_{n 1} & -\lambda y_{n 1}-Y_{n 1} \\ -\lambda z_{n 1}-Z_{n 1} & 0 & \lambda x_{n 1}+X_{n 1} \\ \lambda y_{n 1}+Y_{n 1} & \lambda x_{n 1}+X_{n 1} & 0\end{array}\right] B=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​0−λz21​−Z21​λy21​+Y21​⋮0−λzn1​−Zn1​λyn1​+Yn1​​−λz21​−Z21​0λx21​+X21​⋮−λzn1​−Zn1​0λxn1​+Xn1​​−λy21​−Y21​λx21​+X21​0⋮−λyn1​−Yn1​λxn1​+Xn1​0​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​

X=[a,b,c]TX=[a, b, c]^{\mathrm{T}} X=[a,b,c]T

L=[X21−λx21Y21−λy21Z21−λz21⋯Xn1−λxn1Yn1−λyn1Zn1−λzn1]T\begin{array}{cccc}L= & {\left[X_{21}-\lambda x_{21}\right.} & Y_{21}-\lambda y_{21} & Z_{21}-\lambda z_{21} & \cdots \\ X_{n 1}-\lambda x_{n 1} & Y_{n 1}-\lambda y_{n 1} & \left.Z_{n 1}-\lambda z_{n 1}\right]^{\mathrm{T}}\end{array} L=Xn1​−λxn1​​[X21​−λx21​Yn1​−λyn1​​Y21​−λy21​Zn1​−λzn1​]T​Z21​−λz21​⋯

按最小二乘法间接平差原理求解未知数:
X=(ATA)−1ATLX=\left(A^{\mathrm{T}} A\right)^{-1} A^{\mathrm{T}} L X=(ATA)−1ATL
计算出 $a,b,c $后,即可求出旋转矩阵,然后按下式求解平移参数:
[ΔXΔYΔZ]=[XiYiZi]−λR[xiyizi]\left[\begin{array}{l}\Delta X \\ \Delta Y \\ \Delta Z\end{array}\right]=\left[\begin{array}{l}X_{i} \\ Y_{i} \\ Z_{i}\end{array}\right]-\lambda R\left[\begin{array}{l}x_{i} \\ y_{i} \\ z_{i}\end{array}\right] ⎣⎡​ΔXΔYΔZ​⎦⎤​=⎣⎡​Xi​Yi​Zi​​⎦⎤​−λR⎣⎡​xi​yi​zi​​⎦⎤​

尺度相同:

  三维重建方法通常会自己估计相机的$R,T 矩阵,这些矩阵定义了一个世界坐标系,在使用客观的评估方法如[Middlebury]来评估精度时,需要使用评估方法提供的相机的矩阵,这些矩阵定义了一个世界坐标系,在使用客观的评估方法如[Middlebury]来评估精度时,需要使用评估方法提供的相机的矩阵,这些矩阵定义了一个世界坐标系,在使用客观的评估方法如[Middlebury]来评估精度时,需要使用评估方法提供的相机的R,T$矩阵,这些矩阵定义了另外一个世界坐标系,两者通常会有尺度、旋转、平移的差别,这就需要在坐标系之间进行转换。

  两个相同尺度的世界坐标系可以通过R,TR,TR,T进行转换,计算转换关系需要知道双方NNN个对应点的坐标,设为AAA,BBB,则求解B=R∗A+TB=R∗A+TB=R∗A+T即可。由于NNN可能比较大,因此此方程通常为超定方程,可使用奇异值分解(Singular Value Decomposition (SVD))进行计算,其内部原理是最小二乘法。

对公共点坐标进行重心化处理:
centroidA=1N∑i=1N(A)centroid_A =\frac{1}{N} ∑^N_{i=1}(A) centroidA​=N1​i=1∑N​(A)

centroidB=1N∑i=1N(B)centroid_B =\frac{1}{N} ∑^N_{i=1}(B) centroidB​=N1​i=1∑N​(B)

求:
H=∑i=1N(PAi−centroidA)(PBi−centroidB)TH=∑^N_{i=1}(P^{i}_{A}−centroid_A)(P^i_B−centroid_B)^T H=i=1∑N​(PAi​−centroidA​)(PBi​−centroidB​)T

[U,S,V]=SVD(H)[U,S,V]=SVD(H) [U,S,V]=SVD(H)

R=VUTR=V U^T R=VUT

T=−R∗centroidA+centroidBT=−R∗centroid_A+centroid_B T=−R∗centroidA​+centroidB​

  其中centroidAcentroid_AcentroidA​和centroidBcentroid_BcentroidB​是A,BA,BA,B的平均中心

%计算平均中心点centroid_A = mean(A);centroid_B = mean(B);N = size(A,1);H = (A - repmat(centroid_A, N, 1))' * (B - repmat(centroid_B, N, 1));[U,S,V] = svd(H);R = V*U';if det(R) < 0printf('Reflection detected\n');V(:,3) = -1*V(:,3);R = V*U';endt = -R*centroid_A' + centroid_B';detr=det(R)

存在的一些问题:

  转换模型精度与公共控制点的数量的关系值得探讨;目前坐标转换精度的评价方式通常是利用转站前后公共点坐标差值的均方根值来进行评价。该方法只能获得用于计算的公共点坐标转换精度,并不能得到空间中任意被测点的转换精度分布情况,对于提高整体测量精度以及改进公共点布设方案缺乏指导意义。

主要参考来源:

[1]. 刘猛奎, 赵明金, 石波, 等. 基于 RANSAC 的坐标系转换抗差算法研究[J]. 全球定位系统, 2019, 44(1): 39-47.

[2].韩梦泽, 李克昭. 基于罗德里格矩阵的空间坐标转换[J]. 测绘工程, 2016 (4): 25-27.

[3].张皓琳, 林嘉睿, 邾继贵. 三维坐标转换精度及其影响因素的研究[J]. 光电工程, 2012, 39(10): 26-31.

[4].https://proj.org/operations/transformations/index.html;

三维坐标系之间的转换关系详解与推导相关推荐

  1. 三维视觉基础之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系

    三维视觉基础之世界坐标系.相机坐标系.图像坐标系和像素坐标系之间的转换关系 一.各坐标系介绍 二.世界坐标系和相机坐标系之间的转换 三.相机坐标系和图像坐标系之间的转换 四.图像坐标系和像素坐标系之间 ...

  2. 已知同一组点在不同坐标系下的坐标,如何求解两个坐标系之间的转换关系

    问题描述: 已知同一组点在不同坐标系下的坐标(例如有点ABCDEF六个点在坐标系1下的坐标A1,B1,C1,D1,E1,F1同时又已知ABCDEF六个点在坐标系2下的坐标A2,B2,C2,D2,E2, ...

  3. 关系型数据库表之间的联系[关系]详解

    关系型数据库表之间的联系[关系]详解 在表中,行和列的逻辑顺序无关紧要.每个表至少包含一列,该列被称为主键,它唯一地标识了表中的每一行. 键是表中扮演特殊角色的列,有两种键:主键.外键. 主键(Pri ...

  4. 相机成像---世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系

    新学期第一天开始写的这篇文章,看看我啥时候能把他发出去.假期当然是啥也没干了,之前还信誓旦旦说回家一定能学习,学个毛线.开始学习啦,去年年末把环境配置好了之后,实验发现他不准,用的D435i摄像头是红 ...

  5. 坐标系之间的转换关系(ECEF、LLA、ENU)

    一 坐标系简介 1 ECEF坐标系 也叫地心地固直角坐标系.其原点为地球的质心,x轴延伸通过本初子午线(0度经度)和赤道(0deglatitude)的交点. z轴延伸通过的北极(即,与地球旋转轴重合) ...

  6. 相机标定之4个坐标系之间的变换关系

    最近在进行相机标定和相机成像范围计算时,需要用到相机坐标转换关系中的图像坐标到世界坐标的转换,检索到这篇博文[四个坐标系之间的变换关系],觉得讲解简练清晰易懂,故进行转载分享如下,供更多人学习. 转自 ...

  7. css中的单位换算_css大小单位px em rem的转换和详解

    css大小单位px em rem的转换和详解 PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firef ...

  8. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解

    Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...

  9. 世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换

    世界坐标系.相机坐标系.图像坐标系.像素坐标系之间的转换 图像处理.立体视觉等方向常常涉及到四个坐标系:世界坐标系.相机坐标系.图像坐标系.像素坐标系.例如下图: 构建世界坐标系只是为了更好的描述相机 ...

最新文章

  1. 【python图像处理】两幅图像的合成一幅图像(blending two images)
  2. 今天开始SOA-阿里dubbo
  3. outdated: 29.Blitter Function, RAW Texture Loading
  4. input.touch拖动物体
  5. mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】
  6. 谈谈C语言中的杂项运算符
  7. 开源词法分析工具LAC重大升级!打造属于自己的个性化分词器!
  8. weblogic漏洞复现(CVE-2020-2555)
  9. xml格式怎么转换excel_pdf怎么转换成excel?这个转换技巧你值得拥有!
  10. html保存table并刷新,js操作 添加删除table行,并进行刷新
  11. 通过ng-change选择ng-object
  12. HCIE RS 全套笔记整理
  13. 拓端tecdat|R语言自适应平滑样条回归分析
  14. 计算机基础知识试题和答案6,计算机基础知识试题及答案选择题(九)
  15. 谷歌断网小游戏代码粗略解析
  16. JS中的冒泡排序代码实现(超详细)
  17. 详谈概率图模型(PGM)
  18. 开发环境- 配置虚拟主机域名/hosts文件 - 学习/实践
  19. 办公未来已来,金山WPS如何从“追随者”到“领跑者”
  20. spring中<tx:annotation-driven>标签转为注解@EnableTransactionManagement

热门文章

  1. 局域网ARP攻击和防护
  2. 史上最全入行必备的网络安全术语
  3. mysql的exists解析_mysql中关于exists的深入讲解
  4. FFmpeg码率控制
  5. SSM框架学习----Mybatis(2)
  6. 男生要学医学好还是学计算机好,2021男生学什么专业前景比较好
  7. 让孩子成功的五种说话语气
  8. 用 Python 分析《红楼梦》(1)
  9. CES 2023:NVIDIA发力元宇宙与汽车市场
  10. Google Earth Engine(GEE)APP ——谷歌地球引擎因公显示森林区域植被的变化并识别可能的森林砍伐区域