とらりもんHOME  Index  Search  Changes  Login

RPC

2017/06/02 Jin Katagi

Keep writing.

What is RPC

地物空間(XYZ)から二次元平面に投影する時に用いる。

It is used when we convert geometry space (3D) to image space (2D).

The concept of RPC

Definition of the RPC equation

There are 80 parameters.

How to solve RPC

In this page, I just only show Terrain-dependent Approach (= using GCPs approach).

Least-Squares solutions[1]

参考文献[1]の式変形を追っていく。

r をベクトルの内積の形で表すと

r = \frac{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot(a_{0}, a_{1}, \ldots , a_{19})^T}{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot{(1, b_{1}, \ldots , b_{19})^T}}

となる。 この誤差を v_rとすると、

v_r = \frac{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot(a_{0}, a_{1}, \ldots , a_{19})^T}{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot{(1, b_{1}, \ldots , b_{19})^T}} - r

となる。ここでrの右辺の分母をB( =(1, Z, Y, X, \ldots , Y^3, X^3)\cdot{(1, b_{1}, \ldots , b_{19})^T})と置くと


\begin{array}{lll}
v_r & = & \frac{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot(a_{0}, a_{1}, \ldots , a_{19})^T}{\cdot{B}} - r \\
& = & \frac{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot(a_{0}, a_{1}, \ldots , a_{19})^T}{\cdot{B}} - \frac{r}{B}B \\
& = & \frac{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot(a_{0}, a_{1}, \ldots , a_{19})^T}{\cdot{B}} - \frac{r}{B}(1 + (Z, Y, X, \ldots , Y^3, X^3)\cdot(b_{1}, \ldots , b_{19})^T) \\
& = & \frac{(1, Z, Y, X, \ldots , Y^3, X^3)\cdot(a_{0}, a_{1}, \ldots , a_{19})^T}{\cdot{B}} - \frac{r}{B} - \frac{(Z, Y, X, \ldots , Y^3, X^3)\cdot(b_{1}, \ldots , b_{19})^T)}{B} \\
& = & \frac{1}{B}((1, Z, Y, X, \ldots , Y^3, X^3)\cdot(a_{0}, a_{1}, \ldots , a_{19})^T - r(Z, Y, X, \ldots , Y^3, X^3)\cdot(b_{1}, \ldots , b_{19})^T) - \frac{r}{B} \\
& = & \frac{1}{B}((1, Z, Y, X, \ldots , Y^3, X^3 , rZ, rY, rX, \ldots , rY^3, rX^3)\cdot(a_{0}, \ldots , a_{19}, b_{1}, \ldots , b_{19})^T) - \frac{r}{B} \\
& = & \frac{1}{B}((1, Z, Y, X, \ldots , Y^3, X^3 , rZ, rY, rX, \ldots , rY^3, rX^3)\cdot {\bm j} - \frac{r}{B}
\end{array}

ここで {\bm j}=(a_{0}, \ldots , a_{19}, b_{1}, \ldots , b_{19})^T)とした。

この {\bm j}を、最小二乗法を用いて求めていく。

今、GCPをn個取ったとする。

k番目のGCPを {(X_k, Y_k, Z_k)}とし、対応する誤差を v_{rk}とするとすべてのGCPにおける誤差は


\begin{array}{lll}
\begin{bmatrix}
v_{r1} \\
v_{r2} \\
\vdots \\
v_{rn}
\end{bmatrix}
& = &
\begin{bmatrix}
\frac{1}{B_1} & 0 & \ldots& 0 \\
0 & \frac{1}{B_2} & 0 & \vdots \\
\vdots & & & \\
0 & \ldots & 0 & \frac{1}{B_n}
\end{bmatrix}
\cdot
\begin{bmatrix}
1 & Z_1 & \ldots & -r_{1} X^3_{1} \\
1 & Z_2 & \ldots & -r_{2} X^3_{2} \\
\vdots & & & \\
1 & Z_n & \ldots & -r_{n} X^3_{n}
\end{bmatrix}
\cdot
{\bm j}
-
\begin{bmatrix}
\frac{1}{B_1} & 0 & \ldots& 0 \\
0 & \frac{1}{B_2} & 0 & \vdots \\
\vdots & & & \\
0 & \ldots & 0 & \frac{1}{B_n}
\end{bmatrix}
\cdot
\begin{bmatrix}
r_1 \\
r_2 \\
\vdots \\
r_n
\end{bmatrix}
\end{array}

よって

{\bm v_r} = {\bm W_r} {\bm M} {\bm j} - {\bm W_r} {\bm R}

これを最小化するために、 v_{r}^T \cdot v_rを求めると


\begin{array}{lll}
v_{r}^T \cdot v_r
& = & ({\bm W_r} {\bm M} {\bm j} - {\bm W_r} {\bm R})^T \cdot ({\bm W_r} {\bm M} {\bm j} - {\bm W_r} {\bm R}) \\
& = & {\bm j^T}{\bm M^T}{\bm W_r^T}{\bm W_r}{\bm M}{\bm j} - 2{\bm j^T}{\bm M^T}{\bm W_r^T}{\bm W_r}{\bm R} + {\bm R^T}{\bm W_r^T}{\bm W_r}{\bm R} \\
& = & {\bm j^T}{\bm M^T}{\bm W^2_r}{\bm M}{\bm j} - 2{\bm j^T}{\bm M^T}{\bm W^2_r}{\bm R} + {\bm R^T}{\bm W^2_r}{\bm R}
\end{array}

f({\bm j})=v_{r}^T \cdot v_rとし、jについて微分すると


f({\bm j} + \delta {\bm j}) - f({\bm j})
= 2 \delta {\bm j^T}{\bm M^T}{\bm W^2_r}{\bm M}{\bm j} - 2 \delta {\bm j^T}{\bm M}{\bm W^T}{\bm W}{\bm R}

よって

{\bm M^T} {\bm W^2_r} {\bm M} {\bm j} - {\bm M^T} {\bm W^2_r} {\bm R} = 0

Regularization of the Normal Equation[1]

How to convert 3D to 2D using RPC parameters


Bibliography

  1. Tao, v., Hu, Y., 2001. A Comprehensive Study of the Rational Function Model for Photogrammetric Processing, PE&RS, 67(12), pp. 1347-1357.link
  2. Hu, Y., Tao V., Croitoru A., ISPRS 2004.
Last modified:2017/06/09 13:10:59
Keyword(s):
References:[とらりもんHOME] [リモセンの基礎]