(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024128655
(43)【公開日】2024-09-24
(54)【発明の名称】画像処理装置、画像処理方法及び画像処理プログラム
(51)【国際特許分類】
G06T 1/00 20060101AFI20240913BHJP
H04N 23/60 20230101ALI20240913BHJP
G06T 7/00 20170101ALI20240913BHJP
【FI】
G06T1/00 285
H04N23/60 500
G06T7/00 640
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023037751
(22)【出願日】2023-03-10
(71)【出願人】
【識別番号】591102095
【氏名又は名称】三菱電機ソフトウエア株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】進藤 嘉邦
(72)【発明者】
【氏名】西村 健志
【テーマコード(参考)】
5B057
5C122
5L096
【Fターム(参考)】
5B057AA13
5B057AA14
5B057CA12
5B057CA16
5B057CB13
5B057CB16
5B057CD12
5B057CD20
5B057DA07
5C122DA30
5C122EA61
5C122FH04
5C122GD11
5C122HA13
5C122HA35
5C122HA75
5C122HA88
5C122HB01
5C122HB10
5L096AA09
5L096BA08
5L096CA18
5L096DA02
5L096EA14
5L096EA26
(57)【要約】
【課題】高速かつ高精度なオルソ補正を可能にする。
【解決手段】サンプル点設定部101は、飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定する。パラメータ算出部102は、サンプル点ごとに、飛行体の進行方向ベクトルと前記飛行体からサンプル点への視点ベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出する。RPC算出部103は、サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定するサンプル点設定部と、
サンプル点ごとに、前記飛行体の進行方向ベクトルと前記飛行体からサンプル点への視点ベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出するパラメータ算出部と、
サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出するRPC算出部とを有する画像処理装置。
【請求項2】
前記パラメータ算出部は、
前記ゼロドップラが成立すると推定される時刻を成立推定時刻として設定し、前記成立推定時刻における前記飛行体の位置及び速度を算出し、前記成立推定時刻における前記進行方向ベクトルと前記視点ベクトルとのなす角であるドップラ角を算出し、前記ドップラ角に基づき、前記進行方向ベクトルと前記視点ベクトルとが直交状態にある場合の前記飛行体の位置と前記成立推定時刻における前記飛行体の位置との誤差を算出し、算出した前記誤差を閾値と比較し、
前記誤差が前記閾値未満であれば、前記成立推定時刻と、前記成立推定時刻における前記飛行体の位置及び速度とを、前記ゼロドップラパラメータとして採用し、
前記誤差が前記閾値以上であれば、前記成立推定時刻を補正し、補正後の成立推定時刻について前記飛行体の位置及び速度を算出し、前記ドップラ角を算出し、前記誤差を算出し、前記誤差を前記閾値と比較する動作を、前記誤差が前記閾値未満になるまで繰り返す請求項1に記載の画像処理装置。
【請求項3】
前記パラメータ算出部は、
前記閾値としてミリメートル単位の閾値を用いる請求項2に記載の画像処理装置。
【請求項4】
前記パラメータ算出部は、
サンプル点ごとに、前記飛行体とサンプル点との距離であるスラントレンジを算出し、
サンプル点ごとに、前記スラントレンジと前記ゼロドップラパラメータとを用いて、ECR(Earth Centered Rotating)座標値を算出し、
サンプル点ごとに、ECR座標値を緯度、経度及び楕円体高へ変換し、
前記RPC算出部は、
サンプル点ごとに、変換により得られた緯度、経度及び楕円体高を用いて、RPCを算出する請求項1に記載の画像処理装置。
【請求項5】
前記画像処理装置は、更に、
RPCを用いて、前記撮像画像にオルソ補正を行うオルソ補正部を有する請求項1に記載の画像処理装置。
【請求項6】
前記画像処理装置は、更に、
RPCを用いて、前記撮像画像を加工して得られた加工画像にオルソ補正を行うオルソ補正部を有する請求項1に記載の画像処理装置。
【請求項7】
前記サンプル点設定部は、
前記撮像画像である合成開口レーダ画像に前記複数のサンプル点を設定する請求項1に記載の画像処理装置。
【請求項8】
コンピュータが、飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定するサンプル点設定処理と、
前記コンピュータが、サンプル点ごとに、前記飛行体の進行方向のベクトルと前記飛行体からサンプル点へのベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出するパラメータ算出処理と、
前記コンピュータが、サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出するRPC算出処理とを有する画像処理方法。
【請求項9】
飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定するサンプル点設定処理と、
サンプル点ごとに、前記飛行体の進行方向のベクトルと前記飛行体からサンプル点へのベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出するパラメータ算出処理と、
サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出するRPC算出処理とをコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、オルソ補正が行われていない撮像画像の処理に関する。
【背景技術】
【0002】
上空からの撮像画像では、フォアショートニングのために倒れ込みが生じる。従って、地形図や道路図等のいわゆる地図に撮像画像をそのまま重ね合わせても位置関係が一致しない。オルソ補正では、撮像画像を、地図と同じく、真上から見たような傾きのない画像に変換する。
オルソ補正に関して、特許文献1に開示の技術がある。
【0003】
特許文献1の技術では、以下の処理によって合成開口レーダ画像(以下、SAR画像という)のオルソ補正が行われる。
(1)DEM(Digital Elevation Model)と軌道データを用いて、画素数及び向きがSAR画像と一致する「模擬SAR画像」と「模擬SAR画像の各画素の緯度、経度及び楕円体高データ」を作成する。
(2)実際のSAR画像と模擬SAR画像とのずれを画像間のマッチング処理によって計測する。
(3)上記(2)の計測結果を使用すれば、「模擬SAR画像の各画素の緯度、経度及び楕円体高データ」を、「実際のSAR画像の各画素の緯度、経度及び楕円体高データ」へと変換できる。すなわち、実際のSAR画像の各画素の正確な3次元位置(緯度、経度及び楕円体高)が分かる。
(4)上記(3)を用いてオルソ補正を行う。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記(2)の「ずれの計測(マッチング処理)」は、上記(4)によって得られるオルソ補正画像の位置精度を決定する最も重要な要素である。このため、上記(2)の「ずれの計測(マッチング処理)」は、可能な限り精密に実施する必要がある。画像間のマッチングは、精密に実施しようとすればするほど処理時間がかかる。また、近年、SAR画像の画素数は増加傾向であるが、画素数が多くなるほどマッチング処理に時間がかかる。
また、マッチングをいかに正確に実施しようとしても、模擬SAR画像の源泉となるDEMのメッシュの細かさよりもさらに細かい精度でずれの計測することは困難である。入手可能なDEMの精度はせいぜい1m程度なので、それ以上に位置精度の良いオルソ補正画像を作成することは特許文献1の技術ではできない。
このように、特許文献1の技術には「処理時間」と「精度」の課題がある。
【0006】
本開示は、上記のような課題を解決することを主な目的とする。具体的には、本開示は、高速かつ高精度なオルソ補正を可能にすることを主な目的とする。
【課題を解決するための手段】
【0007】
本開示に係る画像処理装置は、
飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定するサンプル点設定部と、
サンプル点ごとに、前記飛行体の進行方向ベクトルと前記飛行体からサンプル点への視点ベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出するパラメータ算出部と、
サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出するRPC算出部とを有する。
【発明の効果】
【0008】
本開示によれば、高速かつ高精度なオルソ補正が可能になる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1に係る画像処理装置の機能構成例を示す図。
【
図2】実施の形態1に係る画像処理装置のハードウェア構成例を示す図。
【
図3】実施の形態1に係る画像処理装置の動作例を示すフローチャート。
【
図4】実施の形態1に係るサンプル点の配置例を示す図。
【
図5】実施の形態1に係るゼロドップラ位置を示す図。
【
図6】実施の形態1に係るゼロドップラ位置との誤差を示す図。
【
図7】実施の形態1に係る平面内の各ベクトルの関係を示す図。
【
図8】実施の形態1に係る高さ方向のサンプル点の配置例を示す図。
【
図9】実施の形態1に係るスラントレンジ、衛星位置及び衛星速度によるECR座標値の算出を示す図。
【
図10】実施の形態1に係る衛星位置、オフナディア角及びスラントレンジを示す図。
【
図11】実施の形態2に係る画像処理装置の機能構成例を示す図。
【発明を実施するための形態】
【0010】
以下、実施の形態を図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
【0011】
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る画像処理装置100の機能構成例を示す。
また、
図2は、本実施の形態に係る画像処理装置100のハードウェア構成例を示す。
【0012】
本実施の形態に係る画像処理装置100は、コンピュータである。
画像処理装置100の動作手順は、画像処理方法に相当する。また、画像処理装置100の動作を実現するプログラムは、画像処理プログラムに相当する。
【0013】
図2に示すように、画像処理装置100は、ハードウェアとして、プロセッサ901、主記憶装置902、補助記憶装置903及び通信装置904を備える。
また、画像処理装置100は、
図1に示すように、機能構成として、サンプル点設定部101、パラメータ算出部102、RPC算出部103及びオルソ補正部104を備える。サンプル点設定部101、パラメータ算出部102、RPC算出部103及びオルソ補正部104の機能は、例えば、プログラムにより実現される。
補助記憶装置903には、サンプル点設定部101、パラメータ算出部102、RPC算出部103及びオルソ補正部104の機能を実現するプログラムが記憶されている。
これらプログラムは、補助記憶装置903から主記憶装置902にロードされる。そして、プロセッサ901がこれらプログラムを実行して、後述するサンプル点設定部101、パラメータ算出部102、RPC算出部103及びオルソ補正部104の動作を行う。
図2は、プロセッサ901がサンプル点設定部101、パラメータ算出部102、RPC算出部103及びオルソ補正部104の機能を実現するプログラムを実行している状態を模式的に表している。
【0014】
図1において、サンプル点設定部101は、撮像画像150を取得する。
撮像画像150は、飛行体により上空から撮像された、オルソ補正が行われていない画像である。撮像画像150は、例えば、飛行体である人工衛星により撮像されたSAR画像である。以下では、撮像画像150が人工衛星により撮像されたSAR画像であるものとする。
撮像画像150では、フォアショートニングのために倒れ込みが生じる。従って、地図に撮像画像150をそのまま重ね合わせても位置関係が一致しない。このため、撮像画像150に対するオルソ補正が必要である。
サンプル点設定部101は、撮像画像150に複数の仮想点である複数のサンプル点を設定する。サンプル点の詳細は後述する。
サンプル点設定部101により行われる処理は、サンプル点設定処理に相当する。
【0015】
パラメータ算出部102は、サンプル点ごとに、ゼロドップラパラメータを算出する。ゼロドップラパラメータは、ゼロドップラが成立する時刻と、当該時刻での人工衛星の位置及び速度である。ゼロドップラとは、人工衛星の進行方向ベクトルと人工衛星からサンプル点への視点ベクトルとが直交する状態である。ゼロドップラの詳細は後述する。
パラメータ算出部102により行われる処理は、パラメータ算出処理に相当する。
【0016】
RPC算出部103は、サンプル点ごとのゼロドップラパラメータを用いて、サンプル点ごとに緯度、経度及び楕円体高を算出し、それら緯度、経度及び楕円体高を用いてRPC(Rational Polynomial Coefficients)を算出する。RPCは、緯度、経度及び楕円体高からなる3次元空間から、もとの画像のピクセル番号及びライン番号からなる2次元空間への変換を表す有理多項式(分母及び分子がそれぞれ多項式)の係数である。
RPCの詳細は後述する。
RPC算出部103により行われる処理は、RPC算出処理に相当する。
【0017】
オルソ補正部104は、RPCとDEM160を用いて、撮像画像150に対してオルソ補正を行う。RPCにより、3次元空間内の各点と、各点に対応する撮像画像150上のピクセル番号及びライン番号が分かるので、オルソ補正部104は、これらを用いてリサンプリング処理によってオルソ補正を行う。
そして、オルソ補正部104は、オルソ補正済みの撮像画像150である補正済画像170を出力する。
【0018】
***動作の説明***
次に、本実施の形態に係る画像処理装置100の動作例を
図3を参照して説明する。
図3は、画像処理装置100の動作例を示すフローチャートである。
【0019】
ステップS101において、サンプル点設定部101が撮像画像150を取得し、また、RPC算出用パラメータを取得する。
【0020】
次に、ステップS102において、サンプル点設定部101が撮像画像150にサンプル点を設定する。
【0021】
ステップS103~S109は、撮像画像150のピクセル番号及びライン番号ごと(つまり、サンプル点ごと)に繰り返し行われる。
【0022】
ステップS103では、パラメータ算出部102が、各サンプル点の緯度及び経度を算出する。
【0023】
また、ステップS104では、パラメータ算出部102が、緯度及び経度からECR(Earth Centered Rotating)座標値への変換を行う。
【0024】
ステップS105では、パラメータ算出部102が、サンプル点ごとに、ゼロドップラでの時刻、衛星位置及び衛星速度を算出する。
ステップS105で算出される時刻、衛星位置及び衛星速度がゼロドップラパラメータである。
【0025】
ステップS106では、パラメータ算出部102が、サンプル点ごとに、スラントレンジを算出する。スラントレンジは、人工衛星とサンプル点との距離である。
【0026】
ステップS107では、サンプル点設定部101が、高さ方向のサンプル点を設定する。
【0027】
ステップS108とステップS109は高さ方向で繰り返し行われる。
【0028】
ステップS108では、パラメータ算出部102が、スラントレンジ及びゼロドップラパラメータを用いて、サンプル点ごとにECR座標値を算出する。
【0029】
ステップS109では、パラメータ算出部102が、サンプル点ごとに、ECR座標値から緯度、経度及び楕円体高への変換を行う。
【0030】
最後に、ステップS110において、RPC算出部103が、最小二乗法によりRPCを算出する。つまり、RPC算出部103は、ステップS109における変換により得られたサンプル点ごとの緯度、経度及び楕円体高を用いて、最小二乗法によりRPCを算出する。
RPC算出部103は、算出したRPCをオルソ補正部104に出力する。
【0031】
次に、
図3に示す各ステップでの処理の詳細を説明する。
【0032】
ステップS101では、サンプル点設定部101は、以下のパラメータをRPC算出用パラメータとして、撮像画像150から取得する。
ピクセル数
ライン数
ビームの向き
軌道(衛星位置、速度)
軌道の時刻
ピクセル番号及びライン番号から緯度及び経度への変換係数
【0033】
サンプル点設定部101は、「ピクセル数」及び「ライン数」は、撮像画像ファイル、例えば、SARイメージファイルから取得する。
また、「ビームの向き」、「軌道(衛星位置、速度)」、「軌道の時刻」及び「ピクセル番号及びライン番号から緯度及び経度への変換係数」は、例えば、撮像画像ファイルに付属するメタファイルやSARリーダファイルなどから取得する。
なお、近年の人工衛星の軌道データはGPS(Global Positioning System)によって得られる。また、地上処理よって高精度化したものをSAR画像に格納することがある。このため、実力的に1m未満の精度を有する軌道データが撮像画像150に格納されている。つまり、上述の「軌道(衛星位置、速度)」として、1m未満の精度の衛星位置及び速度を取得することができる。
【0034】
ステップS102では、サンプル点設定部101は、ピクセル方向にNsamp_px個、ライン方向にNsamp_ln個のサンプル点を配置する。Nsamp_px、Nsamp_lnは、ともに10~100程度の値とする。この場合は、空間方向のサンプル点の総数は100個~10,000個程度となる。
図4は、サンプル点の配置例を示す。
図4において、黒い丸がサンプル点である。
【0035】
サンプル点設定部101は、ステップS101で取得したRPC算出用パラメータとサンプル点が配置された撮像画像150をパラメータ算出部102に出力する。
【0036】
ステップS103では、パラメータ算出部102が、ステップS102で設定されたピクセル番号及びライン番号を緯度及び経度に変換する。具体的には、パラメータ算出部102は、RPC算出用パラメータに含まれる変換係数(「ピクセル番号及びライン番号から緯度及び経度への変換係数」)を用いて変換を行う。
なお、撮像画像150によっては撮像画像150に変換係数が格納されていない場合がある。このような場合は、パラメータ算出部102は、ピクセル番号及びライン番号と緯度及び経度を関連付ける情報、例えば、撮像画像150上の複数個所における「ピクセル番号及びライン番号」と「緯度及び経度」の組を用いて、最小二乗法によって変換係数を算出する。そして、パラメータ算出部102は、算出した変換係数を用いて変換を行う。
【0037】
ステップS104では、パラメータ算出部102が、ステップS103で得られたサンプル点に対する緯度及び経度を、それぞれECR座標系上の3次元座標値(X,Y,Z)へ変換する。
具体的には、パラメータ算出部102は、以下の式(1)を用いて、変換を行う。
式(1)は、参考文献1のP15~P16に記載されている。
参考文献1:飛田幹男,“世界測地系と座標変換”(日本測量協会, 2002)
なお、式(1)において、aは地球長半径である。fは扁平率である。eは離心率である。Nは卯酉線曲率半径である。Bは緯度である。Lは経度である。Heは楕円体高である。ここでは楕円体高Heはゼロとする。また、地球長半径a及び扁平率fとしては、例えばGRS80楕円体やWGS84楕円体などの値を使用する。
【0038】
【0039】
ステップS105では、パラメータ算出部102が、観測点を選択する。観測点は、ゼロドップラパラメータ算出の対象となるサンプル点である。つまり、パラメータ算出部102は、ゼロドップラパラメータ算出の対象となるサンプル点を順に観測点として選択する。
また、パラメータ算出部102は、ステップS104で求めた観測点の3次元座標値(X,Y,Z)に対してゼロドップラパラメータを求める。前述したように、ゼロドップラパラメータは、ゼロドップラが成立する時刻と、当該時刻での人工衛星の位置及び速度である。また、ゼロドップラは、
図5に示すように、人工衛星500の進行方向ベクトルと人工衛星500から観測点への視点ベクトルとが直交する状態である。
パラメータ算出部102は、ゼロドップラが成立する瞬間(
図5の状態)の観測時刻、衛星位置ベクトルと衛星速度ベクトルを求める。
以下では、衛星位置ベクトルをPの上に矢印(→)が付されている表記とPの横に矢印(→)が付されている表記のいずれかにより示す。また、衛星速度ベクトルをVの上に矢印(→)が付されている表記とVの横に矢印(→)が付されている表記のいずれかにより示す。また、他のベクトルについても同様である。つまり、アルファベットの上に矢印(→)が付されている表記とアルファベットの横に矢印(→)が付されている表記は同じベクトルを意味する。
【0040】
パラメータ算出部102は、ゼロドップラが成立すると推定される時刻を観測時刻t(成立推定時刻の例)として設定する。
そして、パラメータ算出部102は、観測時刻tにおける人工衛星500の位置及び速度を算出する。
更に、パラメータ算出部102は、観測時刻tにおける進行方向ベクトル(衛星速度ベクトルV→)と視点ベクトルとのなす角であるドップラ角を算出する。
また、パラメータ算出部102は、ドップラ角に基づき、進行方向ベクトルと視点ベクトルとが直交状態にある場合の人工衛星500の位置(ゼロドップラ位置)と観測時刻tにおける人工衛星500の位置との誤差を算出する。そして、パラメータ算出部102は、算出した誤差を閾値と比較する。本実施の形態では、閾値はミリメートル単位である。
誤差が閾値未満であれば、パラメータ算出部102は、観測時刻tと、観測時刻tにおける人工衛星500の位置及び速度とを、ゼロドップラパラメータとして採用する。
一方、誤差が閾値以上であれば、パラメータ算出部102は、観測時刻tを補正する。そして、パラメータ算出部102は、補正後の観測時刻tについて人工衛星500の位置及び速度を算出し、ドップラ角を算出し、誤差を算出し、誤差を閾値と比較する動作を、誤差が閾値未満になるまで繰り返す。
以上の手順の詳細を以下にて説明する。
なお、以下の説明では、人工衛星500の軌道はほぼ円運動(少なくとも短時間では成立)として式を簡略化している。
【0041】
ステップS105-1
パラメータ算出部102は、観測時刻tの初期設定を行う。つまり、パラメータ算出部102は、以下の式(2)のように、初期観測時刻t0を設定する。
t=t0 式(2)
ここで、初期観測時刻t0は真にゼロドップラが成立する瞬間である真値時刻に対して、1/4周回以内(約20~25分)程度の誤差があっても許容可能である。初期観測時刻t0が真値時刻に近い方が早く収束する(早く真値時刻が得られる)。
パラメータ算出部102は、例えば撮像画像150に格納されている軌道データ列の中心時刻を初期観測時刻t0として使用する(格納されている軌道データが、例えば、陸域観測技術衛星2号「だいち2号」(以下、ALOS-2)のように28点であれば、14点目の時刻)。
【0042】
ステップS105-2
パラメータ算出部102は、観測時刻t(1回目であれば初期観測時刻t0)における衛星位置ベクトルP→と衛星速度ベクトルV→を算出する。
具体的には、パラメータ算出部102は、観測時刻tにおける衛星位置ベクトルP→、衛星速度ベクトルV→を補間処理によって求める。
パラメータ算出部102は、補間方法として、例えば最小二乗法による多項式を使用することができる。撮像画像150に格納されている軌道データは、例えばALOS-2の場合は1分間隔で28点格納されている。パラメータ算出部102は、これを用いて、衛星位置ベクトルP→の3成分(x,y,z)それぞれを時刻を変数とした2次ないし2次以上のN次多項式で表現する(多項式の係数決定に最小二乗法を使う)。そして、それら3つのN次多項式に観測時刻tを与える。このようにすることで、観測時刻tにおける衛星位置ベクトルP→が求まる。衛星速度ベクトルV→については上記3つのN次多項式をそれぞれ時刻で微分した式(3つのN-1次多項式)を用意しておく。そして、それらN-1次多項式に観測時刻tを与える。このようにすることで、観測時刻tにおける衛星速度ベクトルV→が求まる。
【0043】
ステップS105-3
パラメータ算出部102は、視線ベクトルを算出する。以下では、視線ベクトルをLの上に矢印(→)が付されている表記とLの横に矢印(→)が付されている表記のいずれかにより示す。
ここでは、ステップS104で求めた観測点の3次元座標値(X,Y,Z)をTの上に矢印(→)が付されている表記とTの横に矢印(→)が付されている表記のいずれかにより示す。
パラメータ算出部102は、視線ベクトルL→、すなわち、人工衛星500から観測点へ向かうベクトルを以下の式(3)により求める。つまり、パラメータ算出部102は、衛星位置ベクトルP→から観測点T→を減じて視線ベクトルL→を得る。
【0044】
【0045】
ステップS105-4
パラメータ算出部102は、ドップラ角θdを算出する。ドップラ角θdは、視線ベクトルL→と衛星速度ベクトルV→とのなす角である。
具体的には、パラメータ算出部102は、以下の式(4)によりドップラ角θdを算出する。
【0046】
【0047】
ステップS105-5
パラメータ算出部102は、ドップラ角θ
dが90°(視線ベクトルL
→と衛星速度ベクトルV
→との直交状態)に十分近いかどうかを判定する。
図6に示すように、90°に対するドップラ角θ
dの誤差は|θ
d-90°|である。これに視線ベクトルL
→の長さ(=人工衛星500から観測点までの距離)|L
→|を乗ずれば、ゼロドップラ位置に対して人工衛星500がどの程度ずれた位置にいるかを概算することができる。
式(5)に示すように、算出された誤差(|θ
d-90°|×|L
→|)が閾値未満であれば、パラメータ算出部102は、現在の観測時刻t、衛星位置ベクトルP
→及び衛星速度ベクトルV
→をゼロドップラパラメータとして採用する。このため、処理がステップS106に進む。
【0048】
【0049】
一方、誤差(|θd-90°|×|L→|)が閾値ε以上であれば、処理が以下のステップS105-6に進む。
閾値εは、ミリメートル単位である。閾値εは、例えば1mmである。
【0050】
ステップS105-6
パラメータ算出部102は、観測時刻tを補正する。
つまり、パラメータ算出部102は、ゼロドップラ位置(真値時刻)に近づくように観測時刻tを補正する。
以下に観測時刻tの補正量の計算方法について説明する。
【0051】
まず、人工衛星500が、
図7に示すように、ある平面内で円運動していると仮定する。ここでの平面は、角運動量ベクトルを垂線とする平面である。ここで、角運動ベクトルはhの上に矢印(→)が付されている表記とhの横に矢印(→)が付されている表記のいずれかにより示す。
角運動ベクトルh
→は、式(6)で表される。なお、式(6)の「×」はベクトルの外積を意味する。
【0052】
【0053】
観測点T→は、この平面上にはないが、観測点T→を同平面上に射影したものをT’→とする。なお、「T’→」は、T’の上に矢印(→)を付した表記で表することがある。
T’→は観測点T→から平面へ垂線(=h→に比例)を降ろしたものなので、式(7)で表される。なお、kは定数であり、これから決定する。
【0054】
【0055】
式(7)とh→との内積をとると、式(8)が得られる。
【0056】
【0057】
T’→は平面内のベクトルなのでh→と直交する。よって、式(8)の左辺はゼロとなるので、kが以下の式(9)のように決定される。
【0058】
【0059】
これにより、T’→が以下の式(10)のように定まる。
【0060】
【0061】
平面内の各ベクトルの関係を
図7に示す。
パラメータ算出部102は、
図7において、T’
→とP
→の方向が一致するように人工衛星500を動かす。つまり、パラメータ算出部102は、観測時刻tをT’
→とP
→の方向が一致する時刻に補正する。
図7において、P
→とV
→が直交する、すなわち人工衛星500が円運動をしていると仮定すると、θとφは以下の式(11)の関係になる。
θ+φ=90° 式(11)
【0062】
しかしながら、式(11)は厳密には成立しない。なぜならば、一般に衛星軌道は円運動では無い。しかしながら、ステップS105-5における誤差が小さくなり、演算が収束すればよく、その目的には十分に使用可能である。
【0063】
図7のθとドップラ角θ
dの関係式は以下の式(12)のようになる。
【0064】
【0065】
式(12)では、2つ目の等号においてT’→=T→+kh→を用いている。また、3つ目の等号において、V→とh→は直交(=内積がゼロ)することを用いた(なぜならば、式(6)よりh→はV→の外積によって定義されている)。また、4つ目の等号でT→=P→+L→(式(3)より)を用いた。また、5つ目の等号でV→・L→=|V→||L|cosθd(式(4)より)を用いた。
【0066】
式(12)より、θとθdの微小変化の関係は以下の式(13)のように求まる(θをθdで偏微分し、∂θ=Δθ、∂θd=Δθdとおく)。
【0067】
【0068】
次に、角速度ωを式(14)で定義する。
00000
【数12】
【0069】
図7のφの微小変化をΔφと記すと、Δφは観測時刻tの微小変化Δtと角速度ωを用いて、式(15)にように表せる。
Δφ=ωΔt 式(15)
【0070】
また、式(13)よりΔφ=-Δθである。よって、Δtは、以下の式(16)で表される。
【0071】
【数13】
式(16)の3つ目の等号で式(13)を用いている。
式(16)のθ
dにθ
d-90°を代入すると、θ
dが90°となるために必要な観測時刻tの補正量Δtが以下の式(17)により得られる。
【0072】
【0073】
パラメータ算出部102は、観測時刻tをt+Δtに補正して、ステップS105-2以降の処理を行う。
【0074】
図3に戻り、ステップS106では、パラメータ算出部102は、スラントレンジを算出する。
スラントレンジとは、前述の通り、人工衛星500と観測点との距離である。
パラメータ算出部102は、スラントレンジRを、前述した観測点T
→(楕円体高はゼロ)と衛星速度位置ベクトルP
→を用いて以下の式(18)で算出する。
【0075】
【0076】
次に、ステップS107では、サンプル点設定部101が、高さ方向のサンプル点を配置する。
つまり、サンプル点設定部101は、ステップS102で設定したピクセル方向及びライン方向のサンプル点のそれぞれに対して、高さ方向にもNsamp_h個のサンプル点を配置する。Nsamp_hは10~100程度の値とする。
図8は、高さ方向にサンプル点を配置した例を示す。
【0077】
ステップS108では、パラメータ算出部102が、スラントレンジ、ゼロドップラパラメータ(衛星位置、衛星速度)を用いてECR座標値を算出する。
パラメータ算出部102は、地球長半径をa(約6,378km)としたとき、(a+min_h)から(a+max_h)まで等間隔にNsamp_h回だけ地球長半径を変化させて処理を行う。
「min_h」は-1000~0[meter]程度である。「min_h」は海面よりも低い土地の存在を想定したものである。「max_h」は9000~10000[meter]程度である。「max_h」はエベレスト山頂(8,849m)以上の値とする。このようにすることで、地表の一番低いところから高いところまでの全てを網羅することができる。
以下の手順により観測点T~→ののECR座標値(X,Y,Z)を求めることができる。観測点T~→は、前述の観測点T→とは異なり、楕円体高はゼロではない。なお、「T~→」は、Tの上に「~」と矢印(→)を付した表記で表することがある。
【0078】
以下で説明する処理は、
図9に示すように、人工衛星500の位置を中心として人工衛星500の進行方向に直交する半径R(スラントレンジ)の円と、地球楕円体との交点を求める方法である。
【0079】
ステップS108-1
パラメータ算出部102は、地球長半径Reと地球短半径Rpを設定する。
真の地球長半径をa、扁平率をfとしたとき、以降で使用する地球長半径Reと地球短半径Rpを以下の式(19)と式(20)のように求める。ただしi=0~Nsamp_h-1である。また、真の地球長半径a、扁平率fとしては、例えばGRS80楕円体やWGS84楕円体などの値を使用する。
【0080】
【0081】
Rp=Re×(1-f) 式(20)
【0082】
ステップS108-2
次に、パラメータ算出部102は、ドップラ角θdを決定する。
ALOS-2をはじめ、現在入手可能なSARプロダクトは全てゼロドップラ結像と呼ばれる結像位置、すなわち、ECRでの衛星速度ベクトルV→に対して直交する方向に像を結ぶようにして画像化されている。このため、ドップラ角θdは90°固定とする。
【0083】
ステップS108-3
次に、パラメータ算出部102は、ECRでの衛星速度ベクトルV→を以下の式(21)により単位ベクトル化した単位ベクトルu→を用意する。単位ベクトルu→は、uの上に矢印(→)を付した表記で表することがある。
【0084】
【0085】
ステップS108-4
次に、パラメータ算出部102は、ECRでの衛星位置ベクトルP→を以下の式(22)により単位ベクトル化した単位ベクトルr→を用意する。単位ベクトルr→は、rの上に矢印(→)を付した表記で表することがある。単位ベクトルr→は、地心方向を向く単位ベクトルである。
【0086】
【0087】
ステップS108-5
次に、パラメータ算出部102は、u→とr→を用いて、式(23)と式(24)の値を用意する。
【0088】
【0089】
ステップS108-6
次に、パラメータ算出部102は、例えば、初期値としてオフナディア角θo=35°、変化量Δθd=0とおく。なお、オフナディア角θoの35°には特に根拠は無く、20~50°程度の値であればどの値でもよい。
【0090】
ステップS108-7
次に、パラメータ算出部102は、以下の式(25)により、a、b、c1、c2の値を求める。
【0091】
【0092】
ステップS108-8
次に、パラメータ算出部102は、式(26)により、以下のベクトルを求める。
【0093】
【0094】
ステップS108-9
次に、パラメータ算出部102は、ステップS108-1で設定した地球長半径Reと短半径Rpを用いて、以下の式(28)及び式(29)のベクトルを生成する。
ここで、Px、Py及びPzは衛星位置ベクトルV→の各成分である。lx、ly及びlzは式(27)のl→の各成分である。
【0095】
【0096】
ステップS108-10
次に、パラメータ算出部102は、式(30)により、スラントレンジR~を仮算出する。式(30)では、スラントレンジR~をRの上に「~」が付されている表記で表している。
【0097】
【0098】
ステップS108-11
次に、パラメータ算出部102は、ステップS106で求めたスラントレンジRと、式(30)により求めたR~との差の絶対値|R-R~|が十分に小さければ(例えば1mm)、ステップS108-12へ移行する。
|R-R~|が十分に小さくない場合(例えば、1mmより大きい場合)は、パラメータ算出部102は、以下の式(31)により、オフナディア角θoを修正し、ステップS108-7へ戻る。
θo=θo+Δθo 式(31)
ここで、Δθoは以下の式(32)によりに求める。
【0099】
【0100】
なお、ステップS108-7からステップS108-11の繰り返しは数回で収束する。
【0101】
式(32)の導出には、余弦定理を使用する。
図10と余弦定理より、式(33)が得られる。
【0102】
【0103】
式(33)の「a~」(上記ではaの上に「~」)は地球半径であるが、以下の式(34)の式展開では定数として扱う(=すぐ下の偏微分でゼロになる)ので具体的に求める必要は無い。
式(33)をオフナディア角θoで偏微分する。このとき、「|P→|2」と「a~」は定数として扱い、スラントレンジRはオフナディア角θoに依存するものとする。
【0104】
【0105】
式(34)を整理すると、式(35)が得られる。
【0106】
【0107】
∂θoをΔθoと記し、∂RをΔR=R-R~としたものが式(32)である。
【0108】
ステップS108-12
最後に、パラメータ算出部102は、観測点「T~→」を式(36)により求める。
【0109】
【0110】
図3に戻り、ステップS109では、パラメータ算出部102は、ECR座標値から緯度、経度及び楕円体高への変換を行う。
パラメータ算出部102は、ステップS108で求めた観測点「T
~→」のECR座標値(X,Y,Z)から緯度、経度及び楕円体高への変換は、参考文献1のP17~P18に記載されている「繰り返し計算のない方法」を使用する。
具体的には、パラメータ算出部102は、式(37)に従い変換を行う。なお、以下、ECR座標値をXYZ、緯度をB、経度をL、楕円体高をH
e、地球長半径をa、扁平率をfと記す。ここでも地球長半径a、扁平率fとしては、例えばGRS80楕円体やWGS84楕円体などの値を使用する。
【0111】
【0112】
次に、ステップS110において、RPC算出部103が、最小二乗法によりRPCを算出する。
RPC算出部103は、ステップS109までで得られた「ピクセル番号、ライン番号、緯度、経度、楕円体高」のデータセット(Nsamp_px×Nsamp_ln×Nsamp_h個のデータの組)を用いて、最小二乗法により有理多項式の係数(つまりRPC)を算出する。
アルゴリズムは参考文献2の式(4a)~(9)のdirection solution(non-iterative solutionによる。
参考文献2:Tao et al. “A Comprehensive Study of the Rational Function Model for Photogrammetric Processing”, PHTOGRAMMETRIC ENGINEERING & REMOTE SENSING, 2001.
【0113】
オルソ補正部104は、以上により算出されたRPCとDEM160を用いて、撮像画像150に対してオルソ補正を行う。
そして、オルソ補正部104は、オルソ補正済みの撮像画像150である補正済画像170を出力する。
【0114】
***実施の形態の効果の説明***
本実施の形態では、ゼロドップラが成立する時刻と、当該時刻での人工衛星500の位置及び速度とを用いてRPCを算出する。そして、算出されたRPCを用いてオルソ補正が行われる。このため、特許文献1の技術で必要であったマッチング処理が不要である。
また、本実施の形態では、ゼロドップラ位置と観測時刻tにおける人工衛星500の位置との誤差と比較する閾値εをミリメートル単位としている。このため、DEMの精度による制約を受けない。
以上より、本実施の形態によれば、高速かつ高精度なオルソ補正が可能になる。
【0115】
実施の形態2.
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
【0116】
図11は、本実施の形態に係る画像処理装置100の機能構成例を示す。
サンプル点設定部101、パラメータ算出部102及びRPC算出部103は、
図1に示したものと同じである。このため、説明を省略する。
【0117】
本実施の形態では、オルソ補正部104は、加工画像250にオルソ補正を行う。加工画像250は撮像画像150を加工して得られた画像である。加工画像250は、例えば、撮像画像150の被写体を任意の分類区分(例えば、植生の有無、災害の有無による分類区分)で分類して得られた画像である。また、加工画像250は、例えば、撮像画像150にスペックルノイズを抑制するフィルタ処理を行って得られた画像である。
実施の形態1では、オルソ補正部104は撮像画像150に対してオルソ補正を行っている。
本実施の形態では、撮像画像150から算出されたRPCを用いて、加工画像250にオルソ補正を行っている。
【0118】
加工画像250も、フォアショートニングのために、そのままでは地図と重ね合わせることができない。しかし、オルソ補正部104が加工画像250にオルソ補正を行うことで、オルソ補正後の加工画像250である補正済画像270を地図と重ね合わせることができる。
【0119】
以上、実施の形態1及び2を説明したが、これら2つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
また、これら2つの実施の形態に記載された構成及び手順を必要に応じて変更してもよい。
【0120】
***ハードウェア構成の補足説明***
ここで、ハードウェア構成の補足説明を行う。
プロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
主記憶装置902は、RAM(Random Access Memory)である。
補助記憶装置903は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
通信装置904は、データの通信処理を実行する電子回路である。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
【0121】
また、補助記憶装置903には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ901により実行される。
また、プロセッサ901はOSの少なくとも一部を実行しながら、サンプル点設定部101、パラメータ算出部102等の機能を実現するプログラムを実行する。
OSの実行により、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
【0122】
また、サンプル点設定部101、パラメータ算出部102等の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置902、補助記憶装置903、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、サンプル点設定部101、パラメータ算出部102等の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、サンプル点設定部101、パラメータ算出部102等の機能を実現するプログラムが格納された可搬記録媒体を流通させてもよい。
【0123】
また、サンプル点設定部101、パラメータ算出部102等の少なくともいずれかの「部」を、「回路」又は「工程」又は「手順」又は「処理」又は「サーキットリー」に読み替えてもよい。
また、画像処理装置100は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
この場合は、サンプル点設定部101、パラメータ算出部102等は、それぞれ処理回路の一部として実現される。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
【0124】
最後に、本開示の諸態様を付記としてまとめて記載する。
(付記1)
飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定するサンプル点設定部と、
サンプル点ごとに、前記飛行体の進行方向ベクトルと前記飛行体からサンプル点への視点ベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出するパラメータ算出部と、
サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出するRPC算出部とを有する画像処理装置。
(付記2)
前記パラメータ算出部は、
前記ゼロドップラが成立すると推定される時刻を成立推定時刻として設定し、前記成立推定時刻における前記飛行体の位置及び速度を算出し、前記成立推定時刻における前記進行方向ベクトルと前記視点ベクトルとのなす角であるドップラ角を算出し、前記ドップラ角に基づき、前記進行方向ベクトルと前記視点ベクトルとが直交状態にある場合の前記飛行体の位置と前記成立推定時刻における前記飛行体の位置との誤差を算出し、算出した前記誤差を閾値と比較し、
前記誤差が前記閾値未満であれば、前記成立推定時刻と、前記成立推定時刻における前記飛行体の位置及び速度とを、前記ゼロドップラパラメータとして採用し、
前記誤差が前記閾値以上であれば、前記成立推定時刻を補正し、補正後の成立推定時刻について前記飛行体の位置及び速度を算出し、前記ドップラ角を算出し、前記誤差を算出し、前記誤差を前記閾値と比較する動作を、前記誤差が前記閾値未満になるまで繰り返す付記1に記載の画像処理装置。
(付記3)
前記パラメータ算出部は、
前記閾値としてミリメートル単位の閾値を用いる付記1又は2に記載の画像処理装置。(付記4)
前記パラメータ算出部は、
サンプル点ごとに、前記飛行体とサンプル点との距離であるスラントレンジを算出し、
サンプル点ごとに、前記スラントレンジと前記ゼロドップラパラメータとを用いて、ECR(Earth Centered Rotating)座標値を算出し、
サンプル点ごとに、ECR座標値を緯度、経度及び楕円体高へ変換し、
前記RPC算出部は、
サンプル点ごとに、変換により得られた緯度、経度及び楕円体高を用いて、RPCを算出する付記1~3のいずれかに記載の画像処理装置。
(付記5)
前記画像処理装置は、更に、
RPCを用いて、前記撮像画像にオルソ補正を行うオルソ補正部を有する付記1に記載の画像処理装置。
(付記6)
前記画像処理装置は、更に、
RPCを用いて、前記撮像画像を加工して得られた加工画像にオルソ補正を行うオルソ補正部を有する付記1~5のいずれかに記載の画像処理装置。
(付記7)
前記サンプル点設定部は、
前記撮像画像である合成開口レーダ画像に前記複数のサンプル点を設定する付記1~6のいずれかに記載の画像処理装置。
(付記8)
コンピュータが、飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定するサンプル点設定処理と、
前記コンピュータが、サンプル点ごとに、前記飛行体の進行方向のベクトルと前記飛行体からサンプル点へのベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出するパラメータ算出処理と、
前記コンピュータが、サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出するRPC算出処理とを有する画像処理方法。
(付記9)
飛行体により上空から撮像された、オルソ補正が行われていない撮像画像に複数の仮想点を複数のサンプル点として設定するサンプル点設定処理と、
サンプル点ごとに、前記飛行体の進行方向のベクトルと前記飛行体からサンプル点へのベクトルとが直交するゼロドップラが成立する時刻と、前記時刻での前記飛行体の位置及び速度とを、ゼロドップラパラメータとして算出するパラメータ算出処理と、
サンプル点ごとのゼロドップラパラメータを用いて、RPC(Rational Polynomial Coefficients)を算出するRPC算出処理とをコンピュータに実行させる画像処理プログラム。
【符号の説明】
【0125】
100 画像処理装置、101 サンプル点設定部、102 パラメータ算出部、103 RPC算出部、104 オルソ補正部、150 撮像画像、160 DEM、170 補正済画像、250 加工画像、270 補正済画像、500 人工衛星、901 プロセッサ、902 主記憶装置、903 補助記憶装置、904 通信装置。