🗻

宇宙からの地球観測15章 DEM

2024/12/14に公開

宇宙からの地球観測 15章では、DEM(Digital Elevation Model) を学びます。 12章干渉SARでは、位相の差が高度の差として計算できることを学びました。2つの時期の撮像データを使うと2時期の変化情報がだせます。
15章では同時期の複数撮像データをつかうことで高精度な3次元地図を生成することができるという内容になってます。 地球の高精度な3次元モデルが毎日更新されていく。 これは、アイディア次第、使いかたよってものすごいビジネスやツールがつくれます。 ということで基本数式をきちんと理解したいです。(この数式を理解することで 2000年代初頭では90m ほどの誤差があった観測結果は現代では何メswdートルまで向上したのかも計算できますし、SAR衛星のスペックや軌道情報を見ることでどの程度の精度が出せそうかを計算できることになります。)

問題 15.1

干渉SAR で DEM を作成する場合、以下に答えなさい。10GHzの送信周波数,アンテナ間隔84cm,縦置きの受信機を用いた場合,45度の入射角,高さ4km の飛行機から観測したとすると,高さ精度(標準偏差)はいくらか?
コヒーレンスは 0.9,位相平均個数は8とする。

基本公式

12章の位相差数式 おさらい

(12章 式 12.11)

SARの信号は分布関数的にふるまうので、位相差も分布的にふるまい標準偏差は下記であらわすことができる。

\sigma_\phi = \sqrt{\frac{1}{2N} \cdot \frac{1 - \gamma^2}{\gamma^2}}

ここでNは平均個数、\gammaは coherence(干渉性)といい,2枚の画像がどれくらい似ているかを表す。

(12章 式 12.12)

\phi = -\frac{4\pi}{\lambda} (r_r - r_s) = -\frac{4\pi}{\lambda} \left( \frac{B_{\text{perp}} z}{r_r \sin \theta} + dD + B_{\text{para}} \right)

この式は、2つのSARの軌道の違いが位相差 \phi に与える影響を示しています。各変数の意味を理解することで、この式がどのように構成されているかを理解できます。

各変数の意味

  • \lambda: 電波の波長
  • r_r: 第1軌道から観測点までの距離
  • r_s: 第2軌道から観測点までの距離
  • B_{\text{perp}}: 垂直基線長。SARの2つの軌道の間の垂直方向の距離。
  • B_{\text{para}}: 水平基線長。SARの2つの軌道の間の水平方向の距離。
  • \theta: SARの入射角。SARの視線が地面と成す角度。
  • z: 地面からの高さ。
  • dD: 地面の変動量。

視線方向の地表変動量 dD

地表変動量 dD は次のように計算されます。

dD = -dz \cdot \cos \theta + dx \cdot \sin \theta

ここで、

  • dz は垂直方向の変動量
  • dx は水平方向の変動量

変形

同時期で地殻変動はないと仮定するとdD は0と考える。また、飛行機等に装着するのでB_{\text{para}}も0と仮定する。

\phi = -\frac{4\pi}{\lambda} \left( \frac{B_\text{perp} z}{r_r \sin \theta}\right)

zで整理し直すと

z = -\frac{\lambda}{4\pi} \left( \frac{r_r \sin \theta}{B_\text{perp}}\right)\phi

よって、位相の標準偏差がわかればの標準偏差もわかる
(本文式15.15)

\sigma_z^2 = \left( \frac{\lambda r_r \sin\theta}{4 \pi B_\text{perp}} \right)^2 \sigma_\phi^2

回答15.1

計算に必要な値:

  • N = 8
  • \gamma = 0.9
  • f = 10 \, \text{GHz}
  • B_\text{perp} = 0.84 \, \text{m}
  • \theta = 45^\circ
  • r_r = 4000 \, \text{m}

これらを基に、\sigma_\phi\sigma_z を計算します。

import numpy as np

# Given values
f = 10e9  # frequency in Hz
B_perp = 0.84  # baseline in meters
theta = np.deg2rad(45)  # incidence angle in radians
rm = 4000  # altitude in meters
gamma = 0.9  # coherence
N = 8  # number of phase averages

# Constants
c = 3e8  # speed of light in m/s
lambda_ = c / f  # wavelength in meters


# Phase standard deviation using the given formula
sigma_phi = np.sqrt((1 / (2 * N)) * ((1 - gamma**2) / gamma**2))

# Height standard deviation
sigma_z_squared = ((lambda_ * rm * np.sin(theta)) / (4 * np.pi * B_perp))**2 * sigma_phi**2
sigma_z = np.sqrt(sigma_z_squared)

sigma_phi, sigma_z
--
(0.12108052620946314, 0.9733104760291765)

高さの標準偏差は 0.973 m です。
素晴らしい精度ですね。

問題15.2

光学センサの立体視を用いた DEM 作成で,得られる誤差を計算した
い。\alpha=0度,\beta=20度,マッチング誤差を3mとしたとき,高さの誤差はいくらになるか?なお,角度の誤差はないとする。

基本公式の理解

式 (15.11)

\sigma_Z^2 = \frac{\sigma_{X_A - X_B}^2}{(\tan \alpha - \tan \beta)^2} + \frac{(X_A - X_B)^2}{(\tan \alpha - \tan \beta)^4} \left( \frac{\sigma_\alpha^2}{\cos^4 \alpha} + \frac{\sigma_\beta^2}{\cos^4 \beta} \right)

この式は、観測データの誤差が高さの推定にどのように影響するかを示しています。特に、マッチング誤差(画像間の位置のズレ)と角度の誤差が高さの誤差にどのように寄与するかを考えています。

  1. 高さの計算モデル:
    地上の高さ Z は、カメラの投影幾何から次のように計算されます:

    Z = \frac{X_A - X_B}{\tan \alpha - \tan \beta}

    ここで X_A, X_B はそれぞれ画像Aと画像Bの対応点の座標です。

  2. 誤差の微小変化の展開:

    • 座標のズレ(\delta X_A, \delta X_B)と角度のズレ(\delta \alpha, \delta \beta)が高さに与える影響をテイラー展開で展開し、主要な項を残します。
  3. 分散の計算:
    誤差の分散を考慮すると、高さの誤差(\sigma_Z^2)が、位置の誤差や角度の誤差の寄与として分離されます。

  4. 簡略化:
    角度の誤差が無視できる場合(今回の問題の条件)、\sigma_Z^2 はマッチング誤差(\sigma_{X_A - X_B})のみで計算できます。

回答15.2

今回、角度の誤差 (\sigma_\alpha\sigma_\beta) は無視できるので、式は簡略化されます:

\sigma_Z^2 = \frac{\sigma_{X_A - X_B}^2}{(\tan \alpha - \tan \beta)^2}

高さの標準誤差 \sigma_Z を計算します。

import numpy as np

# Given conditions for the problem
sigma_XA_XB = 3  # Matching error in meters
alpha = np.deg2rad(0)  # alpha in radians
beta = np.deg2rad(20)  # beta in radians

# Simplified formula for height error (standard deviation)
tan_alpha = np.tan(alpha)
tan_beta = np.tan(beta)

# Calculate height standard deviation
sigma_Z_squared = sigma_XA_XB**2 / (tan_alpha - tan_beta)**2
sigma_Z = np.sqrt(sigma_Z_squared)

sigma_Z
--
8.242432258363866

よって、高さの誤差は 8.24 m です

問題 15.3

\alpha=0度,\beta=20度として,DEMの誤差を3mにするためにはマッチング誤差はいくらまで許容されるか?なお,角度の誤差はないとする。

回答15.3

この問題では、DEMの高さの誤差 \sigma_Z = 3\, \text{m} を満たすように、マッチング誤差 \sigma_{X_A - X_B} を計算します。

公式 (15.11) の簡略形を使用します:

\sigma_Z^2 = \frac{\sigma_{X_A - X_B}^2}{(\tan \alpha - \tan \beta)^2}

これを \sigma_{X_A - X_B} について解きます:

\sigma_{X_A - X_B} = \sigma_Z \cdot (\tan \alpha - \tan \beta)
  • \sigma_Z = 3 \, \text{m}
  • \alpha = 0^\circ, \beta = 20^\circ
  • \tan \alpha = \tan 0^\circ = 0
  • \tan \beta = \tan 20^\circ

以上を代入して計算します。

# Given conditions for the problem
sigma_Z_target = 3  # Desired DEM height error in meters

# Calculate the required matching error (sigma_XA_XB)
sigma_XA_XB_required = sigma_Z_target * abs(tan_alpha - tan_beta)

sigma_XA_XB_required
--
1.091910702798607

計算の結果、DEMの高さ誤差を3メートルに抑えるためには、マッチング誤差 \sigma_{X_A - X_B} を約 1.09メートル 以下にする必要があります。

以上 SAR, 光学それぞれの衛星をつかったDEMのつくりかたが具体的にイメージできるようになりました!とくにSAR衛星開発者として 衛星高度は高いほうが、 送信周波数は小さいほうが誤差(標準偏差)が大きくなるという基本原理を知れたのは嬉しいです。

Discussion