(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022043503
(43)【公開日】2022-03-16
(54)【発明の名称】標高データ生成システム、標高データ生成プログラムおよび標高データ生成方法
(51)【国際特許分類】
G06T 1/00 20060101AFI20220309BHJP
G06T 7/00 20170101ALI20220309BHJP
【FI】
G06T1/00 285
G06T7/00 640
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2020148803
(22)【出願日】2020-09-04
(71)【出願人】
【識別番号】591102095
【氏名又は名称】三菱スペース・ソフトウエア株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】溝井国際特許業務法人
(72)【発明者】
【氏名】西村 健志
【テーマコード(参考)】
5B057
5L096
【Fターム(参考)】
5B057AA14
5B057BA02
5B057BA12
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CC02
5B057CD12
5B057DA17
5B057DB02
5B057DB09
5B057DC08
5B057DC32
5L096AA06
5L096AA09
5L096BA08
5L096CA16
5L096DA01
5L096FA26
5L096FA34
5L096FA66
5L096FA67
5L096GA06
5L096GA19
5L096HA01
5L096JA03
(57)【要約】 (修正有)
【課題】単一の光学センサの単独の撮影によって得られた画像を使って標高データを生成する技術を提供する。
【解決手段】標高データ生成システム200において、飛翔体201に搭載された光学センサ210は、クロストラック方向にスタガ配置された複数の画素群を有するラインセンサである。解析画像は、複数の画素群に対応する複数のピクセル群がアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像である。標高データ生成装置100は、解析画像の部分である着目ブロックごとに、相関部分を特定し、着目ブロックと相関部分とのずれ量を算出し、ずれ量を換算してずれ距離を算出し、ずれ距離に基づいて地表の各箇所の標高を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
飛翔体に搭載された光学センサによって撮影された地表が映った解析画像を用いて標高データを生成する標高データ生成システムであって、
前記光学センサは、前記飛翔体のクロストラック方向にスタガ配置された複数の画素群を有するラインセンサであり、
前記解析画像は、前記複数の画素群に対応する複数のピクセル群が前記飛翔体のアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像であり、
前記標高データ生成システムは、
前記解析画像の部分である着目ブロックごとに、前記解析画像のうち前記着目ブロックと相関する相関部分を特定し、前記着目ブロックと前記相関部分とのずれ量を前記着目ブロックのずれ量として算出するずれ量算出部と、
着目ブロックごとに、前記ずれ量を換算して得られる距離を前記着目ブロックのずれ距離として算出するずれ距離算出部と、
着目ブロックごとに、前記ずれ距離に基づいて、前記着目ブロックに映った箇所の標高を算出する標高算出部と、
を備える標高データ生成システム。
【請求項2】
前記ずれ量算出部は、着目ブロックごとに、前記解析画像から前記着目ブロックに含まれるピクセル群の隣のピクセル群が属する列を隣接ブロックとして選択し、前記着目ブロックと前記隣接ブロックの各部分との相関を調べて前記相関部分を特定する
請求項1に記載の標高データ生成システム。
【請求項3】
前記ずれ量算出部は、着目ブロックごとに、前記隣接ブロックを含む特定の範囲である相関処理範囲を算出し、前記相関処理範囲の中で前記着目ブロックを移動させながら前記着目ブロックと前記隣接ブロックとが互いに重なり合う部分の相関値を算出し、最も相関値が高い部分を前記相関部分として特定する
請求項2に記載の標高データ生成システム。
【請求項4】
前記ずれ量算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ量を示すずれ量マップを生成し、
前記ずれ距離算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ距離を示すずれ距離マップを生成する
請求項1から請求項3のいずれか1項に記載の標高データ生成システム。
【請求項5】
前記標高算出部は、着目ブロックごとに、前記ずれ距離と、前記着目ブロックに含まれるピクセルに対応する画素である着目画素の視線ベクトルと前記相関部分に含まれるピクセルに対応する画素である相関画素の視線ベクトルとがなした視差角と、を用いて前記標高を算出する
請求項1から請求項4のいずれか1項に記載の標高データ生成システム。
【請求項6】
前記標高算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックに映った箇所の標高を示す標高データを生成する
請求項1から請求項5のいずれか1項に記載の標高データ生成システム。
【請求項7】
前記光学センサにおいて前記クロストラック方向で隣り合う2つの画素群は、前記光学センサの基盤に対する取り付け角度が互いに異なるため、撮影する方向に相当する視線方向が互いに異なる
請求項1から請求項6のいずれか1項に記載の標高データ生成システム。
【請求項8】
前記光学センサによって前記地表を撮影して得られる撮影画像を幾何補正して前記解析画像を生成する幾何補正部を備える
請求項1から請求項7のいずれか1項に記載の標高データ生成システム。
【請求項9】
飛翔体に搭載された光学センサによって撮影された地表が映った解析画像を用いて標高データを生成するための標高データ生成プログラムであって、
前記光学センサは、前記飛翔体のクロストラック方向にスタガ配置された複数の画素群を有するラインセンサであり、
前記解析画像は、前記複数の画素群に対応する複数のピクセル群が前記飛翔体のアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像であり、
前記解析画像の部分である着目ブロックごとに、前記解析画像のうち前記着目ブロックと相関する相関部分を特定し、前記着目ブロックと前記相関部分とのずれ量を前記着目ブロックのずれ量として算出するずれ量算出部と、
着目ブロックごとに、前記ずれ量を換算して得られる距離を前記着目ブロックのずれ距離として算出するずれ距離算出部と、
着目ブロックごとに、前記ずれ距離に基づいて、前記着目ブロックに映った箇所の標高を算出する標高算出部として、
コンピュータを機能させるための標高データ生成プログラム。
【請求項10】
前記ずれ量算出部は、着目ブロックごとに、前記解析画像から前記着目ブロックに含まれるピクセル群の隣のピクセル群が属する列を隣接ブロックとして選択し、前記着目ブロックと前記隣接ブロックの各部分との相関を調べて前記相関部分を特定する
請求項9に記載の標高データ生成プログラム。
【請求項11】
前記ずれ量算出部は、着目ブロックごとに、前記隣接ブロックを含む特定の範囲である相関処理範囲を算出し、前記相関処理範囲の中で前記着目ブロックを移動させながら前記着目ブロックと前記隣接ブロックとが互いに重なり合う部分の相関値を算出し、最も相関値が高い部分を前記相関部分として特定する
請求項10に記載の標高データ生成プログラム。
【請求項12】
前記ずれ量算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ量を示すずれ量マップを生成し、
前記ずれ距離算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ距離を示すずれ距離マップを生成する
請求項9から請求項11のいずれか1項に記載の標高データ生成プログラム。
【請求項13】
前記標高算出部は、着目ブロックごとに、前記ずれ距離と、前記着目ブロックに含まれるピクセルに対応する画素である着目画素の視線ベクトルと前記相関部分に含まれるピクセルに対応する画素である相関画素の視線ベクトルとがなした視差角と、を用いて前記標高を算出する
請求項9から請求項12のいずれか1項に記載の標高データ生成プログラム。
【請求項14】
前記標高算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックに映った箇所の標高を示す標高データを生成する
請求項9から請求項13のいずれか1項に記載の標高データ生成プログラム。
【請求項15】
前記光学センサにおいて前記クロストラック方向で隣り合う2つの画素群は、前記光学センサの基盤に対する取り付け角度が互いに異なるため、撮影する方向に相当する視線方向が互いに異なる
請求項9から請求項14のいずれか1項に記載の標高データ生成プログラム。
【請求項16】
前記光学センサによって前記地表を撮影して得られる撮影画像を幾何補正して前記解析画像を生成する幾何補正部としてコンピュータを機能させる
請求項9から請求項15のいずれか1項に記載の標高データ生成プログラム。
【請求項17】
飛翔体に搭載された光学センサによって撮影された地表が映った解析画像を用いて標高データを生成する標高データ生成方法であって、
前記光学センサは、前記飛翔体のクロストラック方向にスタガ配置された複数の画素群を有するラインセンサであり、
前記解析画像は、前記複数の画素群に対応する複数のピクセル群が前記飛翔体のアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像であり、
ずれ量算出部が、前記解析画像の部分である着目ブロックごとに、前記解析画像のうち前記着目ブロックと相関する相関部分を特定し、前記着目ブロックと前記相関部分とのずれ量を前記着目ブロックのずれ量として算出し、
ずれ距離算出部が、着目ブロックごとに、前記ずれ量を換算して得られる距離を前記着目ブロックのずれ距離として算出し、
標高算出部が、着目ブロックごとに、前記ずれ距離に基づいて、前記着目ブロックに映った箇所の標高を算出する
標高データ生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、光学センサによって得られた画像を使って標高データを生成するための技術に関するものである。
【背景技術】
【0002】
光学センサによって得られた画像を使って標高データを生成するためには、同一地点が映った複数の画像が必要であり、複数の画像には視差が必要である。
視差がある複数の画像は、以下のいずれかの方法によって得られる。
(a)異なる方向から撮影する複数の光学センサを飛翔体に搭載し、複数の光学センサによって同一地点を同時に撮影する。
(b)単一の光学センサを飛翔体に搭載し、単一の光学センサによって同一地点を異なる時期に異なる方向から撮影する。
【0003】
特許文献1は、複数のリニアアレイセンサが飛翔体に搭載され、飛行データと地形データに基づいて各リニアアレイセンサから地表までの距離を算出し、算出された距離に基づいて画像間のシフト量を算出し、シフト後の画像を合成する、という技術を開示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
リニアアレイセンサなどの光学センサを複数使用する方法および単一の光学センサによって異なる時期に撮影する方法は、単一の光学センサによる単独の撮影に比べてコストがかかる。
【0006】
本開示は、単一の光学センサの単独の撮影によって得られた画像を使って標高データを生成できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本開示の標高データ生成システムは、飛翔体に搭載された光学センサによって撮影された地表が映った解析画像を用いて標高データを生成する。
前記光学センサは、前記飛翔体のクロストラック方向にスタガ配置された複数の画素群を有するラインセンサである。
前記解析画像は、前記複数の画素群に対応する複数のピクセル群が前記飛翔体のアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像である。
前記標高データ生成システムは、
前記解析画像の部分である着目ブロックごとに、前記解析画像のうち前記着目ブロックと相関する相関部分を特定し、前記着目ブロックと前記相関部分とのずれ量を前記着目ブロックのずれ量として算出するずれ量算出部と、
着目ブロックごとに、前記ずれ量を換算して得られる距離を前記着目ブロックのずれ距離として算出するずれ距離算出部と、
着目ブロックごとに、前記ずれ距離に基づいて、前記着目ブロックに映った箇所の標高を算出する標高算出部と、を備える。
【0008】
前記ずれ量算出部は、着目ブロックごとに、前記解析画像から前記着目ブロックに含まれるピクセル群の隣のピクセル群が属する列を隣接ブロックとして選択し、前記着目ブロックと前記隣接ブロックの各部分との相関を調べて前記相関部分を特定する。
【0009】
前記ずれ量算出部は、着目ブロックごとに、前記隣接ブロックを含む特定の範囲である相関処理範囲を算出し、前記相関処理範囲の中で前記着目ブロックを移動させながら前記着目ブロックと前記隣接ブロックとが互いに重なり合う部分の相関値を算出し、最も相関値が高い部分を前記相関部分として特定する。
【0010】
前記ずれ量算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ量を示すずれ量マップを生成する。
前記ずれ距離算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ距離を示すずれ距離マップを生成する。
【0011】
前記標高算出部は、着目ブロックごとに、前記ずれ距離と、前記着目ブロックに含まれるピクセルに対応する画素である着目画素の視線ベクトルと前記相関部分に含まれるピクセルに対応する画素である相関画素の視線ベクトルとがなした視差角と、を用いて前記標高を算出する。
【0012】
前記標高算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックに映った箇所の標高を示す標高データを生成する。
【0013】
前記光学センサにおいて前記クロストラック方向で隣り合う2つの画素群は、前記光学センサの基盤に対する取り付け角度が互いに異なるため、撮影する方向に相当する視線方向が互いに異なる。
【0014】
前記標高データ生成システムは、
前記光学センサによって前記地表を撮影して得られる撮影画像を幾何補正して前記解析画像を生成する幾何補正部を備える。
【0015】
本開示の標高データ生成プログラムは、飛翔体に搭載された光学センサによって撮影された地表が映った解析画像を用いて標高データを生成するためのプログラムである。
前記光学センサは、前記飛翔体のクロストラック方向にスタガ配置された複数の画素群を有するラインセンサである。
前記解析画像は、前記複数の画素群に対応する複数のピクセル群が前記飛翔体のアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像である。
前記標高データ生成プログラムは、
前記解析画像の部分である着目ブロックごとに、前記解析画像のうち前記着目ブロックと相関する相関部分を特定し、前記着目ブロックと前記相関部分とのずれ量を前記着目ブロックのずれ量として算出するずれ量算出部と、
着目ブロックごとに、前記ずれ量を換算して得られる距離を前記着目ブロックのずれ距離として算出するずれ距離算出部と、
着目ブロックごとに、前記ずれ距離に基づいて、前記着目ブロックに映った箇所の標高を算出する標高算出部として、コンピュータを機能させる。
【0016】
前記ずれ量算出部は、着目ブロックごとに、前記解析画像から前記着目ブロックに含まれるピクセル群の隣のピクセル群が属する列を隣接ブロックとして選択し、前記着目ブロックと前記隣接ブロックの各部分との相関を調べて前記相関部分を特定する。
【0017】
前記ずれ量算出部は、着目ブロックごとに、前記隣接ブロックを含む特定の範囲である相関処理範囲を算出し、前記相関処理範囲の中で前記着目ブロックを移動させながら前記着目ブロックと前記隣接ブロックとが互いに重なり合う部分の相関値を算出し、最も相関値が高い部分を前記相関部分として特定する。
【0018】
前記ずれ量算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ量を示すずれ量マップを生成する。
前記ずれ距離算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ距離を示すずれ距離マップを生成する。
【0019】
前記標高算出部は、着目ブロックごとに、前記ずれ距離と、前記着目ブロックに含まれるピクセルに対応する画素である着目画素の視線ベクトルと前記相関部分に含まれるピクセルに対応する画素である相関画素の視線ベクトルとがなした視差角と、を用いて前記標高を算出する。
【0020】
前記標高算出部は、前記解析画像における着目ブロックの二次元配置に対応させて各着目ブロックに映った箇所の標高を示す標高データを生成する。
【0021】
前記光学センサにおいて前記クロストラック方向で隣り合う2つの画素群は、前記光学センサの基盤に対する取り付け角度が互いに異なるため、撮影する方向に相当する視線方向が互いに異なる。
【0022】
前記標高データ生成プログラムは、
前記光学センサによって前記地表を撮影して得られる撮影画像を幾何補正して前記解析画像を生成する幾何補正部としてコンピュータを機能させる。
【0023】
本開示の標高データ生成方法は、飛翔体に搭載された光学センサによって撮影された地表が映った解析画像を用いて標高データを生成する。
前記光学センサは、前記飛翔体のクロストラック方向にスタガ配置された複数の画素群を有するラインセンサである。
前記解析画像は、前記複数の画素群に対応する複数のピクセル群が前記飛翔体のアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像である。
ずれ量算出部が、前記解析画像の部分である着目ブロックごとに、前記解析画像のうち前記着目ブロックと相関する相関部分を特定し、前記着目ブロックと前記相関部分とのずれ量を前記着目ブロックのずれ量として算出する。
ずれ距離算出部が、着目ブロックごとに、前記ずれ量を換算して得られる距離を前記着目ブロックのずれ距離として算出する。
標高算出部が、着目ブロックごとに、前記ずれ距離に基づいて、前記着目ブロックに映った箇所の標高を算出する。
【発明の効果】
【0024】
本開示によれば、単一の光学センサの単独の撮影によって得られた画像を使って標高データを生成することが可能となる。
【図面の簡単な説明】
【0025】
【
図1】実施の形態1における標高データ生成システム200の構成図。
【
図2】実施の形態1における光学センサ210の平面図。
【
図3】実施の形態1における光学センサ210の側面図。
【
図4】実施の形態1における標高データ生成装置100の構成図。
【
図5】実施の形態1における標高データ生成方法のフローチャート。
【
図6】実施の形態1における解析画像220の概要図。
【
図7】実施の形態1におけるステップS130のフローチャート。
【
図8】実施の形態1における着目ブロック221の選択順序を示す図。
【
図9】実施の形態1における着目ブロック221と隣接ブロック222の関係図。
【
図10】実施の形態1における隣接ブロック222と相関処理範囲223の関係図。
【
図11】実施の形態1における着目ブロック221の移動を示す図。
【
図12】実施の形態1におけるずれ量Dpを示す図。
【
図13】実施の形態1におけるずれ量マップ230の概要図。
【
図14】実施の形態1におけるステップS150のフローチャート。
【
図15】実施の形態1における光学センサ210とパラメータの関係図。
【
図16】実施の形態1における光学センサ210とパラメータの関係図。
【
図17】実施の形態1における標高hとパラメータの関係図。
【
図18】実施の形態1における光学センサ210の別例を示す図。
【
図19】実施の形態1における光学センサ210の別例を示す図。
【発明を実施するための形態】
【0026】
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【0027】
実施の形態1.
標高データ生成装置100について、
図1から
図19に基づいて説明する。
【0028】
***構成の説明***
図1に基づいて、標高データ生成システム200の構成を説明する。
標高データ生成システム200は、飛翔体201と光学センサ210と標高データ生成装置100とを備える
【0029】
飛翔体201は、例えば、人工衛星である。
飛翔体201の進行方向を「アロングトラック方向」という。
アロングトラック方向と鉛直方向とのそれぞれと直交する方向を「クロストラック方向」という。
【0030】
光学センサ210は、標高データ生成システム200のためのラインセンサであり、飛翔体201に搭載される。
【0031】
標高データ生成装置100は、光学センサ210によって撮影された地表が映った画像(解析画像)を用いて、標高データ209を生成する。
標高データ209は、地表の各箇所の標高を示すデータである。標高は、地球楕円体面からの高度である。地球楕円体面の高度をゼロメートルとする。
標高データ209は、数値標高データまたは簡易数値標高データともいう。また、標高データ209は、標高マップ、数値標高マップまたは簡易数値標高マップともいう。
【0032】
標高データ生成装置100は、例えば、飛翔体201と通信する地上設備に備えられる。但し、標高データ生成装置100は、飛翔体201に備えられてもよい。
【0033】
図2および
図3に基づいて、光学センサ210の構成を説明する。
図2は、光学センサ210の平面図および部分拡大図である。
x軸の向きは、アロングトラック方向に相当する。
y軸の向きは、クロストラック方向に相当する。
z軸の向きは、鉛直方向に相当する。黒丸が記された丸は、奥から手前への方向を表す。
【0034】
光学センサ210は、基盤211と複数の画素群212とを備える。
基盤211は、撮像素子用の基盤である。
撮像素子は複数の画素を有する。撮像素子の具体例はCCDである。CCDは、Charge Coupled Deviceの略称である。
【0035】
基盤211には、撮像素子を構成する複数の画素群212が配置されている。
複数の画素群212は、クロストラック方向にスタガ配置されている。つまり、複数の画素群212は、クロストラック方向に相当する方向にジグザグに並べられている。
画素群212は、1つ以上の画素213である。
画素213は、撮像素子の要素である。
【0036】
隣り合う2つの画素群212のずれ量を「スタガ量」と称する。「Δs」はスタガ量を意味する。
隣り合う2つの画素213の間隔を「画素間隔」と称する。「dp」は画素間隔を意味する。
【0037】
図3は、光学センサ210の側面図および部分拡大図である。バツ印が記された丸は、手前から奥への方向を表す。
基盤211と画素213とが成す角度を「取り付け角度」と称する。「δ」は取り付け角度を意味する。
隣り合う2つの画素群212は、取り付け角度δが互いに異なる。
図3において、隣り合う2つの画素群212は、x軸周りの取り付け角度δが互いに異なっている。但し、隣り合う2つの画素群212は、y軸周りの取り付け角度が互いに異なってもよい。
隣り合う2つの画素群212は、取り付け角度δが互いに異なるため、撮影する方向に相当する視線方向が互いに異なる。
【0038】
取り付け角度は、次のような条件を満たすように決定される。
隣り合う2つの画素群212において、一方の画素群212の撮影範囲が他方の画素群212の撮影範囲と隣接する。または、一方の画素群212の撮影範囲が他方の画素群212の撮影範囲と一部重複する。
これにより、全体が隙間なく映った画像が得られる。
【0039】
図4に基づいて、標高データ生成装置100の構成を説明する。
標高データ生成装置100は、プロセッサ101とメモリ102と補助記憶装置103と通信装置104と入出力インタフェース105といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【0040】
プロセッサ101は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ101は、CPU、DSPまたはGPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
DSPは、Digital Signal Processorの略称である。
GPUは、Graphics Processing Unitの略称である。
【0041】
メモリ102は揮発性または不揮発性の記憶装置である。メモリ102は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAMである。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
RAMは、Random Access Memoryの略称である。
【0042】
補助記憶装置103は不揮発性の記憶装置である。例えば、補助記憶装置103は、ROM、HDDまたはフラッシュメモリである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
【0043】
通信装置104はレシーバ及びトランスミッタである。例えば、通信装置104は通信チップまたはNICである。
NICは、Network Interface Cardの略称である。
【0044】
入出力インタフェース105は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース105はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。入出力は無線で行われてもよい。
USBは、Universal Serial Busの略称である。
【0045】
標高データ生成装置100は、受付部110と幾何補正部120とずれ量算出部130とずれ距離算出部140と標高算出部150と出力部160といった要素を備える。これらの要素はソフトウェアで実現される。
【0046】
補助記憶装置103には、受付部110と幾何補正部120とずれ量算出部130とずれ距離算出部140と標高算出部150と出力部160としてコンピュータを機能させるための標高データ生成プログラムが記憶されている。標高データ生成プログラムは、メモリ102にロードされて、プロセッサ101によって実行される。
補助記憶装置103には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
プロセッサ101は、OSを実行しながら、標高データ生成プログラムを実行する。
OSは、Operating Systemの略称である。
【0047】
標高データ生成プログラムの入出力データは記憶部190に記憶される。
メモリ102は記憶部190として機能する。但し、補助記憶装置103、プロセッサ101内のレジスタおよびプロセッサ101内のキャッシュメモリなどの記憶装置が、メモリ102の代わりに、又は、メモリ102と共に、記憶部190として機能してもよい。
【0048】
標高データ生成装置100は、プロセッサ101を代替する複数のプロセッサを備えてもよい。
【0049】
標高データ生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
【0050】
***動作の説明***
標高データ生成装置100の動作の手順は標高データ生成方法に相当する。また、標高データ生成装置100の動作の手順は標高データ生成プログラムによる処理の手順に相当する。
【0051】
図5に基づいて、標高データ生成方法を説明する。
ステップS110において、受付部110は、撮影画像を受け付ける。
撮影画像は、光学センサ210によって地表を撮影して得られた画像である。
【0052】
ステップS120において、幾何補正部120は、撮影画像を幾何補正する。
幾何投影先は地球楕円体モデルである。つまり、幾何補正において、地球楕円体モデルが基準面となる。基準面の高度はゼロメートルである。
ステップS120によって得られる画像、つまり、幾何補正済みの撮影画像を「解析画像」と称する。
【0053】
撮影画像および解析画像において、画素群212によって得られた部分を「ピクセル群」と称する。また、画素213によって得られる部分を「ピクセル」と称する。
ピクセルは、画像の要素である。
【0054】
撮影画像および解析画像は、複数の画素群212に対応する複数のピクセル群がアロングトラック方向に対応する方向に時系列に複数行並べられた二次元画像である。
【0055】
図6は、(A)従来のラインセンサによって撮影された地表が映った幾何補正済み画像と(B)光学センサ210によって撮影された地表が映った解析画像220とのそれぞれの概要を示す。それぞれの画像に、クロストラック方向に対応する方向と、アロングトラック方向に対応する方向と、を記している。
従来のラインセンサでは複数の画素群が視差を有してスタガ配置されていない。そのため、(A)幾何補正済み画像では隣り合う2つのピクセル群の列の間に被写体のずれが生じない。
一方、光学センサ210では複数の画素群212が視差を有してスタガ配置されている。そのため、(B)解析画像220では隣り合う2つのピクセル群の列の間に被写体のずれが生じる。
【0056】
図5に戻り、ステップS130から説明を続ける。
ステップS130において、ずれ量算出部130は、解析画像のずれ量マップを以下のように生成する。
まず、ずれ量算出部130は、解析画像の部分である着目ブロックごとに、解析画像のうち着目ブロックと相関する部分を特定する。特定される部分を「相関部分」と称する。
次に、ずれ量算出部130は、着目ブロックごとに、着目ブロックと相関部分とのずれ量を算出する。算出されるずれ量を着目ブロックのずれ量とする。
そして、ずれ量算出部130は、各着目ブロックのずれ量を登録してずれ量マップを生成する。
【0057】
図7に基づいて、ステップS130の詳細を説明する。
ステップS131において、ずれ量算出部130は、解析画像から未選択の部分を1つ選択する。選択される部分が着目ブロックとなる。
【0058】
図8は、着目ブロック221が選択される順序の具体例を点線矢印で示している。
ずれ量算出部130は、解析画像220からピクセル群の列を順番に選択する。また、ずれ量算出部130は、選択した列からr行のピクセル群を順番に選択する。選択されるr行のピクセル群が着目ブロックとなる。
「r」は、1以上L以下の整数である。
「L」は、ピクセル群の行数である。
【0059】
図7に戻り、ステップS132から説明を続ける。
ステップS132において、ずれ量算出部130は、解析画像から着目ブロックに含まれるピクセル群の隣のピクセル群が属する列を選択する。選択される列を「隣接ブロック」と称する。
【0060】
図9は、着目ブロック221に対する隣接ブロック222の具体例を示している。ピクセル群[i]は、i番目の画素群212に対応するピクセル群を意味する。
着目ブロック221は、ピクセル群[2]の列の部分である。
隣接ブロック222は、着目ブロック221の左隣の列の全体、つまり、ピクセル群[1]の列の全体である。
但し、着目ブロック221がピクセル群[1]の列の部分である場合、ピクセル群[1]の列の全体を隣接ブロック222とする。
【0061】
図7に戻り、ステップS133から説明を続ける。
ステップS133において、ずれ量算出部130は、着目ブロックと隣接ブロックの各部分との相関を調べる。
【0062】
ステップS133の詳細を以下に説明する。
まず、ずれ量算出部130は、隣接ブロックを含む特定の範囲を算出する。算出される範囲を「相関処理範囲」と称する。
【0063】
図10は、隣接ブロック222に対する相関処理範囲223の具体例を示している。
「n」は、隣接ブロック222の幅、つまり、1つのピクセル群に含まれるピクセルの数である。
相関処理範囲223は、隣接ブロック222を中央に含み、クロストラック方向に対応する方向に(3n-2)ピクセル分の幅を有し、アロングトラック方向に対応する方向に(L+2r-2)ピクセル分の幅を有する。
【0064】
次に、ずれ量算出部130は、相関処理範囲の中で着目ブロックを移動させながら着目ブロックと隣接ブロックとの互いに重なり合う部分の相関値を算出する。
【0065】
図11は、相関処理範囲223の中で着目ブロック221を移動させる様子を示している。
ずれ量算出部130は、着目ブロック221をクロストラック方向に対応する方向とアロングトラック方向に対応する方向とのそれぞれに1ピクセルずつずらしながら相関値を算出する。
【0066】
例えば、以下のような指標について相関値が算出される。
(i1)画像の類似性
(i2)画像の特徴点または特徴点の連続性
【0067】
光学センサ210の画素213が、偏向フィルタなどを有するCCDの画素である場合、撮影画像および解析画像はカラー画像である。解析画像がカラー画像である場合、つまり、解析画像が波長または偏波の複数のバンドで構成される画像である場合、例えば、以下のような指標について相関値が算出される。
(i3)バンド間画像の類似性
(i4)バンド間画像の連続性
【0068】
相関値は、例えば、以下のような手法で算出される。
(t1)画像の類似性を相互相関関数を用いて数値化する。
(t2)隣接する画素間の微分値を算出し、画像の連続性を差分評価関数を用いて数値化する。微分値は濃淡の差分を示す。
(t3)画像の特徴点の連続性を連続性評価関数を用いて数値化する。
(t4)画像の類似性または画像の連続性を人工知能を利用して数値化する。
【0069】
手法(t1)において、相互相関関数は2つの画像の似ている度合いを数値化する。例えば、式(1)が相互相関関数として使用される。
【0070】
【0071】
A(i,j)は、着目ブロックの各ピクセルを意味する。「i」はクロストラック方向に相当する方向におけるピクセルの位置を示す。「j」はアロングトラック方向に相当する方向におけるピクセルの位置を示す。
B(i,j)は、隣接ブロックのうち着目ブロックと重なり合うピクセルを意味する。
【0072】
手法(t2)において、差分評価関数は2つの差分画像の似ている度合いを数値化する。例えば、式(2)が差分評価関数として使用される。
【0073】
【0074】
dA(i,j)=A(i,j+1)-A(i,j)
dB(i,j)=B(i,j+1)-B(i,j)
【0075】
dA(i,j)は、着目ブロックの各ピクセルと隣のピクセルとの差分を意味する。
dB(i,j)は、隣接ブロックの各ピクセルと隣のピクセルとの差分のうち着目ブロックと重なり合う各ピクセルを意味する。
|dA(i,j)-dB(i,j)|は、dA(i,j)-dB(i,j)の絶対値を意味する。
【0076】
手法(t3)において、連続性評価関数は、特徴点間ベクトルまたは輪郭線ベクトルが成す角度を数値化する。特徴点間ベクトルは、画像から抽出される2つの特徴点を結ぶベクトルである。輪郭線ベクトルは、画像から抽出される輪郭線を表すベクトルである。
例えば、式(3)が連続性評価関数として使用される。
【0077】
【0078】
「k」は、輪郭線が有する頂点の数、または、特徴点の数である。
θ(i)は、i番目の頂点またはi番目の特徴点を基点とするベクトルと隣のベクトルとがなす角度である。
【0079】
そして、ずれ量算出部130は、相関マップを生成する。
相関マップは、隣接ブロックにおけるピクセルの二次元配置に対応させて各ピクセルを基点とする部分の相関値を示す。例えば、相関マップは、二次元配列で表される。
【0080】
図7に戻り、ステップS134から説明を続ける。
ステップS134において、ずれ量算出部130は、最も相関値が高い部分を特定する。特定される部分が相関部分である。
具体的には、ずれ量算出部130は、相関マップを参照し、最も相関値が高いピクセルを基点とする部分を相関部分として特定する。
【0081】
ステップS135において、ずれ量算出部130は、着目ブロックと相関部分とのずれ量を算出する。
具体的には、ずれ量算出部130は、移動前の着目ブロックの基点ピクセルと相関部分の基点ピクセルとの距離を算出する。算出される距離がずれ量である。基点ピクセルは基点となるピクセルである。
【0082】
図12は、着目ブロック221と相関部分224とのずれ量Dpの具体例を示している。
ずれ量Dpは、着目ブロック221の左上のピクセルと相関部分224の左上のピクセルとの距離である。ずれ量Dpの単位はピクセルである。
【0083】
但し、着目ブロックが左端の列の部分である場合、つまり、着目ブロックがピクセル群[1]の列の部分である場合、ずれ量算出部130はずれ量をゼロとする。この場合について、ステップS132からステップS134は省略してもよい。
【0084】
図7に戻り、ステップS136から説明を続ける。
ずれ量算出部130は、ずれ量をずれ量マップに登録する。
ずれ量マップは、解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ量を示す。
【0085】
図13は、ずれ量マップ230の概要図である。
ずれ量マップ230は、ずれ量Dpの二次元配列で表される。
Dp(i,j)は、(i,j)で示される位置の着目ブロックのずれ量Dpを意味する。
「i」は、1以上N以下の整数である。
「N」は、解析画像におけるピクセル群の列数である。
「j」は、1以上[L/r]以下の整数である。
[L/r]は、ceiling(L/r)を意味する。
ceiling(L/r)は、(L/r)以上の最小の整数である。
「L」は、解析画像におけるピクセル群の行数である。
「r」は、着目ブロックにおけるピクセル群の行数である。
左端の列の各着目ブロックのずれ量は、ゼロである。
【0086】
図7に戻り、ステップS137から説明を続ける。
ステップS137において、ずれ量算出部130は、ステップS131で着目ブロックとして選択されていない部分(未選択の着目ブロック)があるか判定する。
未選択の着目ブロックがある場合、処理はステップS131に進む。
未選択の着目ブロックがない場合、処理は終了する。
【0087】
図5に戻り、ステップS140から説明を続ける。
ステップS140において、ずれ距離算出部140は、解析画像のずれ距離マップを以下のように生成する。
【0088】
まず、ずれ距離算出部140は、着目ブロックごとに、ずれ量を換算して得られる距離を算出する。
具体的には、ずれ距離算出部140は、ずれ量マップに登録された各ずれ量をピクセルスペーシングによって、距離に換算する。つまり、ずれ距離算出部140は、1ピクセルあたりの距離[メートル/ピクセル]をずれ量[ピクセル]に掛けて距離[メートル]を算出する。1ピクセル当たりの距離は予め設定される。
算出される距離を着目ブロックの「ずれ距離」と称する。
【0089】
そして、ずれ距離算出部140は、各着目ブロックのずれ距離を登録してずれ距離マップを生成する。
ずれ距離マップは、解析画像における着目ブロックの二次元配置に対応させて各着目ブロックのずれ距離を示す。例えば、ずれ距離マップは二次元配列で表される。
【0090】
ステップS150において、標高算出部150は、解析画像の標高データを以下のように生成する。
まず、標高算出部150は、着目ブロックごとに、ずれ距離に基づいて着目ブロックに映った箇所の標高を算出する。
そして、標高算出部150は、各着目ブロックの標高を登録して標高データを生成する。
標高データは、解析画像における着目ブロックの二次元配置に対応させて各着目ブロックに映った箇所の標高を示す。例えば、標高データは二次元配列で表される。
【0091】
図14に基づいて、ステップS150の詳細を説明する。
ステップS151において、標高算出部150は、ずれ距離マップから、未選択のずれ距離を1つ選択する。
図14において、選択されたずれ距離に対応する着目ブロックを単に「着目ブロック」という。
【0092】
ステップS152において、標高算出部150は、ずれ距離に対応する視差角を算出する。
視差角は、着目画素の視線ベクトルと相関画素の視線ベクトルとがなした角度である。 着目画素は、着目ブロックに含まれる基点ピクセルに対応する画素213である。
相関画素は、相関部分に含まれる基点ピクセルに対応する画素213である。
基点ピクセルは、例えば、左上のピクセルである。
【0093】
iピクセルに対応する画素[i]の視線ベクトルは、ある時刻τjにおける画素[i]の撮影方向を示す。ある時刻τjは、iピクセルの行番号、つまり、「j」に基づいて算出される。
【0094】
視線ベクトルは、式(4)で表される。
【0095】
【0096】
T(xi,yi,0)は、i番目の画素213の視線ベクトルを意味する。
dsは、取り付け位置を意味する。取り付け位置は、アロングトラック方向に相当する方向において基点から画素213までの距離で表される。
dpは、画素間隔を意味する。
fは、光学センサ210の焦点距離を意味する。
取り付け位置dsと画素間隔dpと焦点距離fといったパラメータは、予め設定される。また、各画素213の視線ベクトルは、これらのパラメータを用いて算出される。
【0097】
例えば、1番目の画素213の視線ベクトルは式(5-1)で表される。
また、2番目の画素213の視線ベクトルは式(5-2)で表される。
【0098】
【0099】
図15および
図16に、光学センサ210と各パラメータとの関係を示す。
図15は、上方から見た光学センサ210を示している。画素213の中の黒丸は画素213の中心を表している。
図16は、側方から見た光学センサ210を示している。
【0100】
視差角は、式(6)を計算することによって算出される。
【0101】
【0102】
Ti・Ti+1は、視線ベクトルTiと視線ベクトルTi+1の内積を意味する。
|Ti|は、視線ベクトルTiの大きさを意味する。
|Ti||Ti+1|は、視線ベクトルTiの大きさと視線ベクトルTi+1の大きさの乗算を意味する。
【0103】
図14に戻り、ステップS153から説明を続ける。
ステップS153において、標高算出部150は、ずれ距離と視差角とポインティング角とを用いて、標高を算出する。
ポインティング角は、着目画素から地球の地心方向へのベクトルと着目画素の視線ベクトルとがなす角度である。ポインティング角は、時刻τ
jに応じた飛翔体の位置ベクトルと着目画素の視線ベクトルから算出する。ポインティング角は、式(7)を計算することによって算出される。
【0104】
【0105】
P(i,j)は、iピクセルの行番号jに基づいて算出される時刻τjにおける飛翔体の位置ベクトルを表す。-P(i,j)・Tiは、飛翔体の位置ベクトルP(i,j)に-1をかけたベクトルと視線ベクトルTiの内積を意味する。
|-P(i,j)|は、飛翔体の位置ベクトル-P(i,j)の大きさを意味する。
|-P(i,j)||Ti|は、飛翔体の位置ベクトル-P(i,j)の大きさと視線ベクトルTiの大きさの乗算を意味する。
【0106】
標高は、式(8)を計算することによって算出される。
【0107】
【0108】
h(i,j)は、(i,j)で示される位置の着目ブロックに映った箇所の標高を意味する。
Dm(i,j)は、(i,j)で示される位置の着目ブロックのずれ距離Dmを意味する。
φ(i,j)は、iピクセルの行番号jに基づいて算出される時刻τjにおけるポインティング角を意味する。
【0109】
図17に、ずれ距離Dmと視差角θとポインティング角φと標高hの関係を示す。衛星高度Hは予め設定される。
視線ベクトルT
iは、時刻τ
jにおける着目画素の視線ベクトルを表している。
視線ベクトルT
i+1は、時刻τ
j+Dpaにおける相関画素の視線ベクトルを表している。Dpaは、ずれ量Dpをアロングトラック方向に換算したピクセル数である。
【0110】
図5に戻り、ステップS160を説明する。
ステップS160において、出力部160は、標高データ209を出力する。
例えば、出力部160は、標高データ209を記録媒体に記録する。
【0111】
***実施例の説明***
光学センサ210において、隣り合う2つの画素群212の一部がy軸の方向でオーバーラップしてもよい。
図18において、i番目の画素213と(i+1)番目の画素213がオーバーラップしている。
この場合、着目ブロックは、r行分のピクセル群のうちオーバーラップする画素213に対応する部分であってもよい。これにより、相関処理に要する時間を短縮することができる。
【0112】
光学センサ210において、スタガ配置の列数は3列以上であってもよい。スタガ配置の最大の列数は、画素群212の数と同じである。
図19において、スタガ配置の列数Nは、画素群212の数Nと同じである。
【0113】
光学センサ210において、隣り合う2つの画素群212は、接してなくて離れていてもよい。
【0114】
***実施の形態1の効果***
実施の形態1により、単一の光学センサ210の単独の撮影によって得られた解析画像を使って標高データ209を生成することができる。
【0115】
***実施の形態1の補足***
標高データ生成装置100は、2台以上の装置によって実現されてもよい。
標高データ生成装置100の要素である「部」は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせのいずれで実現されてもよい。
標高データ生成装置100の要素である「部」は、「処理」または「工程」と読み替えてもよい。
【0116】
実施の形態1は、好ましい形態の例示であり、本開示の技術的範囲を制限することを意図するものではない。実施の形態1は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【0117】
100 標高データ生成装置、101 プロセッサ、102 メモリ、103 補助記憶装置、104 通信装置、105 入出力インタフェース、110 受付部、120 幾何補正部、130 ずれ量算出部、140 ずれ距離算出部、150 標高算出部、160 出力部、190 記憶部、200 標高データ生成システム、201 飛翔体、209 標高データ、210 光学センサ、211 基盤、212 画素群、213 画素、220 解析画像、221 着目ブロック、222 隣接ブロック、223 相関処理範囲、224 相関部分、230 ずれ量マップ。