ステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラム
【課題】同一の位置を複数の画像間において正確に対応付ける。
【解決手段】ステレオマッチング処理システムは、オペレータによる操作により、左画像上の補助線A2と右画像上の補助線A1とが対応付けて入力されるとともに、左画像上の補助線B2と右画像上の補助線B1とが対応付けて入力された場合、左画像上における走査線及び補助線A2の交点の座標a2と右画像上における走査線及び補助線A1の交点の座標a1とを検索平面上で対応付ける。また、左画像上における走査線及び補助線B2の交点の座標b2と右画像上における走査線及び補助線B1の交点の座標b1とを検索平面上で対応付ける。これにより、ステレオマッチング処理システム1は、検索平面上における誤った対応付けを改善して、同一の位置を左画像と右画像との間で正確に対応付けることができる。
【解決手段】ステレオマッチング処理システムは、オペレータによる操作により、左画像上の補助線A2と右画像上の補助線A1とが対応付けて入力されるとともに、左画像上の補助線B2と右画像上の補助線B1とが対応付けて入力された場合、左画像上における走査線及び補助線A2の交点の座標a2と右画像上における走査線及び補助線A1の交点の座標a1とを検索平面上で対応付ける。また、左画像上における走査線及び補助線B2の交点の座標b2と右画像上における走査線及び補助線B1の交点の座標b1とを検索平面上で対応付ける。これにより、ステレオマッチング処理システム1は、検索平面上における誤った対応付けを改善して、同一の位置を左画像と右画像との間で正確に対応付けることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムに関し、同一の位置を複数の画像間において正確に対応付けることができるステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、この種の3次元データ自動生成方法においては、人工衛星や航空機等から得られる画像を基に、地形を示す3次元データ[DSM(Digital Surface Model)データ]をステレオマッチングによって生成する方法が広く行われており、またオペレータを介在させて対応の取れない点を修正させる方法も提案されている。
【0003】
ここで、ステレオマッチング処理とは異なる視点から撮影した2枚の画像、いわゆるステレオ画像について、同一の点を撮像している各画像中の対応点を求め、その視差を用いて三角測量の原理によって対象までの奥行きや形状を求めることである。
【0004】
このステレオマッチング処理については既に様々な手法が提案されている。例えば一般的に広く用いられている面積相関法として、左画像中に相関窓を設定してこれをテンプレートとし、右画像中の探索窓を動かしてテンプレートとの相互相関係数を算出し、これを一致度とみなして高いものを探索することによって対応点を得る方法が開示されている(例えば特許文献1参照)。
【0005】
上記の方法においては処理量を軽減するために、探索窓の移動範囲を画像中のエピポーラ線方向に限定することによって、左画像中の各点について、対応する右画像中の点のx方向の位置ずれ量、すなわち視差を得ることができる。ここで、エピポーラ線とはステレオ画像において片方の画像中のある点について、他方の画像中で当該点に対応する点の存在範囲として引くことができる直線である(例えば非特許文献1参照)。
【0006】
通常、エピポーラ線方向は画像の走査線方向とは異なるが、座標変換を行うことで、エピポーラ線方向を画像の走査線方向に一致させ、再配列を行うことができる。この座標変換の方法については上記の非特許文献1に記載されている。
【0007】
上記のような再配列を行ったステレオ画像においては、対応点の探索窓の移動範囲を走査線上に限定することができるため、視差は左右画像中の対応点同士のx座標の差として得られる。
【0008】
【特許文献1】特公平8−16930号公報
【非特許文献1】「画像解析ハンドブック」(高木幹夫・下田陽久監修、東京大学出版会刊、1991年1月、頁597−599)
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、従来のステレオマッチングによる3次元データ生成手法では、テクスチャのない領域や相関係数による対応が得られない領域も含まれるため、上記の3次元データの画像中には周囲と大きく異なる誤った高さを示す点が多く含まれる。特に、建造物の周囲等では隠蔽が発生するため、対応の取れない点が多くなり、著しく高い値を示したり、あるいは建造物が大きく欠損したりする場合がある。
【0010】
そのため、従来のステレオマッチングによる3次元データ生成手法では、対応点のミスマッチングによる誤差が生じ、精度の高い3次元情報が得られないので、都市部等の建造物の多い複雑な画像に対しては適用することが難しいという課題があった。
【0011】
本発明は、上記課題を解決するためになされたものであり、複数の画像間において同一の位置を示す領域同士を正確に対応付けることができるステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明の第1の観点に係るステレオマッチング処理システムは、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手段と、前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手段と、を備え、前記対応付け手段は、前記線分判別手段によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、ことを特徴とする。
【0013】
また、本発明の第2の観点に係るステレオマッチング処理方法は、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付けステップと、前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別ステップと、を備え、前記対応付けステップは、前記線分判別ステップによって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、ことを特徴とする。
【0014】
さらに、本発明の第3の観点に係るプログラムは、コンピュータに、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手順と、前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手順と、を実行させるためのプログラムであって、前記対応付け手順は、前記線分判別手順によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、ことを特徴とする。
【発明の効果】
【0015】
本発明によれば、同一の位置を複数の画像間において正確に対応付けることができるステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【0016】
次に、本発明を実施するための最良の形態について図面を参照して説明する。図1は、本発明の実施形態に係るステレオ処理システムの構成例を示すブロック図である。ステレオ処理システム1は、例えば汎用コンピュータなどから構成され、図1に示すように、表示部10と、補助線入力部11と、相互標定部12と、ステレオマッチング部13と、オルソ処理・対地標定部14と、を備えている。
【0017】
表示部10は、例えばLCD(Liquid Crystal Display)などから構成され、同一の対象物を異なる方向から撮影して得られた2つの航空写真の画像(以下、左画像及び右画像という)が含まれる図2に示す補助線入力画面や、図3に示す左画像と右画像とのステレオマッチング結果等を表示する。
【0018】
補助線入力部11は、例えばキーボードやマウスなどから構成され、表示部10に表示された補助線入力画面において、オペレータが左画像及び右画像上に補助線を引く際などに用いられる。ここで、補助線とは、左画像と右画像との間で同一の位置となる箇所をオペレータの操作により対応付けるための線分である。
【0019】
相互標定部12は、例えばCPU(Central Processing Unit)や、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクドライブなどによって実現され、撮影時のカメラパラメータを標定する標定処理や、左画像と右画像とを必要に応じて共通平行面に再投影する平行化処理などを実行する。ここで、標定とは、評価の対象について所定の値を求めることをいう。
【0020】
具体的に、相互標定部12は、標定処理において、左画像と右画像とに共通に映し出されている対象物の座標値を読み取り、読み取った2つの座標値を用いて、左画像と右画像との間でのカメラ回転角等の撮影時のカメラパラメータを標定する。これにより、相互標定部12は、通常、鉛直に近い方向から航空写真を撮影した場合でも航空機の姿勢変化等の影響により把握することが難しい撮影時のカメラパラメータを標定することができる。
【0021】
その後、相互標定部12は、平行化処理を実行することにより、左画像及び右画像上のエピポールを結ぶエピポーラ線が複数の走査線の一つに一致するように左画像と右画像とを共通平行面に再投影する。
【0022】
ステレオマッチング部13は、例えばCPUや、ROM、RAM、ハードディスクドライブなどによって実現され、左画像及び右画像のそれぞれに補助線が入力されたことを示す補助線入力フラグや、補助線と走査線との交点の座標を格納する交点座標バッファなどがRAMに備えている。
【0023】
ステレオマッチング部13は、相互評価部12にて平行化処理が施された左画像及び右画像(平行化済画像対)に対してステレオマッチング処理、具体的にはDP(Dynamic Programming)マッチング処理を施すことにより、左画像と右画像との間での位置ずれ(視差)を計測し、視差データを生成する。
【0024】
具体的に、ステレオマッチング部13は、DPマッチング処理において、オペレータによる補助線入力部11の操作によって左画像及び右画像上に補助線が入力されていない場合、図4に示すように、同一走査線上における左画像と右画像との相関を取っていき、相関係数が最大となる格子領域を検索する。
【0025】
また、ステレオマッチング部13は、相関係数が最大となる格子領域の中心座標同士を図5に示す検索平面上で対応付けていく。この検索平面において、横軸x1は、右画像におけるx座標を示し、縦軸x2は、左画像におけるx座標を示している。
【0026】
そして、ステレオマッチング部13は、このような対応付けを走査線毎に実行していくことにより、視差データを生成して、図3(a)に示すような画像をステレオマッチング結果として表示部10に表示する。
【0027】
これに対して、オペレータによる補助線入力部11の操作によって左画像及び右画像のそれぞれに補助線が入力された場合、補助線が入力された箇所では、走査線と補助線との交点の座標を検索平面上に対応付けていく。一方、補助線が入力されていない箇所では、相関係数が最大となる格子領域の中心位置の座標同士を検索平面上に対応付けていく。
【0028】
そして、ステレオマッチング部13は、図6に示すように、このような対応付けを走査線毎に実行していくことにより、補助線による補正が施された視差データを生成し、図3(b)に示すような画像をステレオマッチング結果として表示部10に表示する。
【0029】
その後、ステレオマッチング部13は、生成した視差データと、相互標定部11にて標定されたカメラパラメータと、を組み合わせて、三角測量の原理によって各画素に対応する3次元座標系での位置を計算し、対象物の表層の高さを示す標高データを含むDSM(Digital Surface Model)データを抽出することにより、対象物までの奥行きや形状を求める。
【0030】
オルソ処理・対地標定部14は、例えばCPUや、ROM、RAM、ハードディスクドライブなどによって実現され、DSMデータを用いて航空写真の画像とDSMデータとを正射変換するオルソ処理や、オルソ処理を施した航空写真の画像とDSMデータを用いて、地表に対する対象物の正確な座標、具体的には対象物の経度および緯度を求める対地標定処理を行うことにより、オルソ画像とオルソDSMデータとを生成する。
【0031】
ここで、オルソ画像には、色データと、対地標定によって求められた緯度及び経度を示す緯度データ及び経度データと、が含まれている。また、オルソDSMデータには、対象物の表層の高さを示す標高データと、緯度データ及び経度データと、が含まれている。このような緯度データ及び経度データを求めることにより、同一対象物の位置を、異なるタイミングで撮影された航空写真の画像間で相互に対応付けることができるようになる。
【0032】
次に、上記構成を備えるステレオマッチング処理システムが実行する処理について図面を参照して説明する。
【0033】
ステレオマッチング処理システムでは、補助線入力処理と、ステレオマッチング処理と、が定期的に実行される。
【0034】
図7は、補助線入力処理の詳細を示すフローチャートである。補助線入力処理において、ステレオマッチング部13は、表示部10に表示される補助線入力画面において、オペレータによる補助線入力部11の操作により左画像及び右画像のそれぞれに補助線が入力されたか否かを判別する(ステップS11)。このとき、補助線が入力されていなければ(ステップS11;No)、ステレオマッチング部13は、そのまま補助線入力処理を終了する。
【0035】
これに対して、ステップS11の処理にて補助線が入力されたと判別した場合(ステップS11;Yes)、ステレオマッチング部13は、左画像及び右画像のそれぞれにつき、走査線と補助線との交点の座標を求めてRAMに設けられた交点座標バッファに格納する(ステップS12)。
【0036】
そして、ステレオマッチング部13は、RAMに設けられた補助線入力フラグをオンにセットしてから(ステップS13)、補助線入力処理を終了する。
【0037】
図8は、ステレオマッチング処理の詳細を示すフローチャートである。ステレオマッチング処理において、相互標定部12は、標定処理を実行することにより、撮影時のカメラパラメータを標定するとともに(ステップS21)、平行化処理を実行して、エピポーラ線が複数の走査線の一つに一致するように左画像と右画像とを共通平行面に再投影する(ステップS22)。
【0038】
次に、ステレオマッチング部13は、RAMに設けられた補助線入力フラグがオンとなっているか否かをチェックすることにより、左画像及び右画像のそれぞれに補助線が入力されたか否かを判別する(ステップS23)。
【0039】
ここで、ステップS23の処理にて補助線が入力されていないと判別した場合(ステップS23;No)、ステレオマッチング部13は、補助線による補正のない視差データを生成する(ステップS24)。
【0040】
ステップS24の処理において、ステレオマッチング部13は、同一走査線上における左画像と右画像との相関を取って相関係数が最大となる格子領域を検索していく。そして、ステレオマッチング部13は、相関係数が最大となる格子領域の中心座標同士を検索平面上で対応付けていく。ステレオマッチング部13は、このような対応付けを走査線毎に実行していくことにより、補助線による補正のない視差データを生成する。
【0041】
これに対して、ステップS23の処理にて補助線が入力されたと判別した場合(ステップS23;Yes)、ステレオマッチング部13は、補助線による補正のある視差データを生成する(ステップS25)。
【0042】
ステップS25の処理において、ステレオマッチング部13は、補助線が入力された箇所では、RAMに設けられた交点座標バッファに格納されている走査線と補助線との交点の座標を検索平面上に対応付けていく一方で、補助線が入力されていない箇所では、相関係数が最大となる格子領域の中心位置の座標同士を検索平面上に対応付けていく。ステレオマッチング部13は、このような対応付けを走査線毎に実行していくことにより、補助線による補正のある視差データを生成する。
【0043】
そして、ステレオマッチング部13は、ステップS24又はS25の処理にて生成した視差データに基づく画像をステレオマッチング結果として表示部10に表示するとともに(ステップS26)、視差データとステップS21の処理にて標定したカメラパラメータとを用いて、対象物の表層の高さを示す標高データを含むDSMデータを抽出する(ステップS27)。
【0044】
続いて、オルソ処理・対地標定部14は、ステップS27の処理にて抽出したDSMデータを用いてオルソ処理を実行することにより、航空写真の画像とDSMデータとを正射変換する(ステップS28)。
【0045】
そして、オルソ処理・対地標定部14は、ステップS28にてオルソ処理を施したDSMデータを用いて、対地標定処理を実行することにより、オルソ画像と、対象物の表層の高さを示す標高データを含むオルソDSMデータと、を生成する(ステップS29)。
【0046】
続いて、上記処理を実行するステレオマッチング処理システムの動作について具体例を挙げて説明する。
【0047】
まず、補助線が入力されていないときには、図8に示すステップS23の処理にて補助線入力フラグがオフであると判別されることから、ステップS24の処理にて相関係数が最大となる格子領域の中心座標同士が検索平面上で対応付けられていく。
【0048】
そして、ステップS24の処理にて、図9(a)に示すように、検索平面上で誤った対応付けがなされた場合、オペレータによる補助線入力部11の操作により、図10に示すように、左画像上の補助線A2と右画像上の補助線A1とが対応付けて入力されるとともに、左画像上の補助線B2と右画像上の補助線B1とが対応付けて入力される。
【0049】
その後、図7に示すステップS12の処理では、走査線と、補助線A1、A2、B1、及びB2と、の交点のx座標a1、a2、b1、及びb2がそれぞれ求められるとともに、ステップS13の処理にて補助線入力フラグがオンにセットされる。
【0050】
そして、図8に示すステップS23の処理にて今度は補助線入力フラグがオンであると判別されることから、ステップS25の処理では、図9(b)に示すように、左画像上における走査線及び補助線A2の交点の座標a2と右画像上における走査線及び補助線A1の交点の座標a1とが、また、左画像上における走査線及び補助線B2の交点の座標b2と右画像上における走査線及び補助線B1の交点の座標b1とが、それぞれ検索平面上で対応付けられる。
【0051】
これにより、ステレオマッチング処理システム1は、検索平面上における誤った対応付けを改善して、同一の位置を左画像と右画像との間で正確に対応付けることができる。
【0052】
以上説明したように、本実施形態に係るステレオマッチング処理システム1によれば、補助線による補正を施すことにより、検索平面上における誤った対応付けを改善することができるため、ステレオマッチング結果としての視差データを修正することができる。そして、ステレオマッチング処理システム1は、修正された視差データを用いて、DSMデータを抽出することにより、対象物の表層の高さを正確に示す標高データを取得することができる。
【0053】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。
【0054】
上記実施形態では、図8に示すステップS25の処理にて、左画像上における走査線及び補助線A2の交点の座標a2と右画像上における走査線及び補助線A1の交点の座標a1とが、また、左画像上における走査線及び補助線B2の交点の座標b2と右画像上における走査線及び補助線B1の交点の座標b1とが、それぞれ検索平面上で対応付けられ、その間では、相関係数が最大となる格子領域の中心座標同士が検索平面上で対応付けられるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、図11に示すように、検索平面上の座標(a1、a2)と座標(b1、b2)とを結ぶ線分上の点が全て対応付けられるようにしてもよい。
【0055】
そして、このような対応付けを行う補助線(強制補助線)を入力するか否かは、オペレータによる補助線入力部11による操作により決定されればよい。
【0056】
上記実施形態では、補助線が走査線に垂直に引かれるものを例に説明したが、本発明はこれに限定されるものではなく、補助線は、図12に示すように、走査線に水平に引かれるものであってもよい。補助線が走査線に水平に引かれた場合には、左画像及び右画像それぞれにおける補助線(線分)をn(nは自然数)等分する点(等分点)同士を、図13に示すように、線分の始点から順に線分の終点まで検査平面上で対応付けるようにすればよい。
【0057】
上記実施形態では、相互標定部11が、標定処理において、左画像と右画像とに共通に映っている対象物の座標値を読み取り、読み取った2つの座標値を用いて、左画像と右画像との間でのカメラ回転角等の撮影時のカメラパラメータを標定するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、撮影時のカメラパラメータを標定する手法は、任意であり、例えば図化プログラムによって算出される値を用いて、撮影時のカメラパラメータを標定してもよい。
【0058】
上記実施形態では、オルソ処理・対地標定部14が、オルソ処理を施した航空写真の画像とDSMデータを用いて、対象物の経度および緯度を求める対地標定を行うものとして説明した。しかしながら、本発明はこれに限定されるものではなく、対地標定を行うための手法は、任意であり、例えば、予め経度、緯度、及び標高値(画像座標)が検出されている航空写真の画像上の複数の点の画像座標から、地上表面の地上座標(経度、緯度、及び標高値)への変換式を求めるようにしてもよい。
【0059】
また、対空標識を写し込で航空写真を撮影することで経度、緯度、及び標高が測量された空中三角測量データを用いてもよく、このようにすれば、画像上の任意の座標における地上座標を求めることが可能となる。ここで、対空標識とは、航空機から各種センサにより航空写真を撮影したときに、航空写真の画像上で明瞭にその形が認識でき、且つその画像座標を測定できるものをいう。したがって、対空標識を置いた点では、正確な3次元座標が示されている。
【0060】
上記実施形態において、オルソ画像には、色データと緯度データと経度データとが含まれ、オルソDSMデータには、標高データと緯度データと経度データとが含まれているものとして説明した。しかしながら、本発明はこれに限定されるものではなく、オルソ画像及びオルソDSMデータには、緯度データ及び経度データに代えて、他の座標系で表現される座標値データが含まれてもよく、また、標高値データに代えて、他の基準からの相対的な高さを示す高さデータが含まれてもよい。
【図面の簡単な説明】
【0061】
【図1】ステレオマッチング処理システムの構成例を示すブロック図である。
【図2】補助線入力画面の表示例を示す図である。
【図3】ステレオマッチング結果の表示例を示す図である。
【図4】DPマッチング処理を説明するための図である。
【図5】検索平面を例示する図である。
【図6】ステレオマッチング処理を説明するための図である。
【図7】補助線入力処理の一例を示すフローチャートである。
【図8】ステレオマッチング処理の一例を示すフローチャートである。
【図9】検索平面を例示する図である。
【図10】補助線を使用した対応付けの改善を説明するための図である。
【図11】変形例における検索平面を示す図である。
【図12】変形例における補助線を使用した対応付けの改善を説明するための図である。
【図13】変形例における検索平面を示す図である。
【符号の説明】
【0062】
1 ステレオマッチング処理システム
10 表示部
11 補助線入力部
12 相互標定部
13 ステレオマッチング部
14 オルソ処理・対地標定部
【技術分野】
【0001】
本発明は、ステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムに関し、同一の位置を複数の画像間において正確に対応付けることができるステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、この種の3次元データ自動生成方法においては、人工衛星や航空機等から得られる画像を基に、地形を示す3次元データ[DSM(Digital Surface Model)データ]をステレオマッチングによって生成する方法が広く行われており、またオペレータを介在させて対応の取れない点を修正させる方法も提案されている。
【0003】
ここで、ステレオマッチング処理とは異なる視点から撮影した2枚の画像、いわゆるステレオ画像について、同一の点を撮像している各画像中の対応点を求め、その視差を用いて三角測量の原理によって対象までの奥行きや形状を求めることである。
【0004】
このステレオマッチング処理については既に様々な手法が提案されている。例えば一般的に広く用いられている面積相関法として、左画像中に相関窓を設定してこれをテンプレートとし、右画像中の探索窓を動かしてテンプレートとの相互相関係数を算出し、これを一致度とみなして高いものを探索することによって対応点を得る方法が開示されている(例えば特許文献1参照)。
【0005】
上記の方法においては処理量を軽減するために、探索窓の移動範囲を画像中のエピポーラ線方向に限定することによって、左画像中の各点について、対応する右画像中の点のx方向の位置ずれ量、すなわち視差を得ることができる。ここで、エピポーラ線とはステレオ画像において片方の画像中のある点について、他方の画像中で当該点に対応する点の存在範囲として引くことができる直線である(例えば非特許文献1参照)。
【0006】
通常、エピポーラ線方向は画像の走査線方向とは異なるが、座標変換を行うことで、エピポーラ線方向を画像の走査線方向に一致させ、再配列を行うことができる。この座標変換の方法については上記の非特許文献1に記載されている。
【0007】
上記のような再配列を行ったステレオ画像においては、対応点の探索窓の移動範囲を走査線上に限定することができるため、視差は左右画像中の対応点同士のx座標の差として得られる。
【0008】
【特許文献1】特公平8−16930号公報
【非特許文献1】「画像解析ハンドブック」(高木幹夫・下田陽久監修、東京大学出版会刊、1991年1月、頁597−599)
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、従来のステレオマッチングによる3次元データ生成手法では、テクスチャのない領域や相関係数による対応が得られない領域も含まれるため、上記の3次元データの画像中には周囲と大きく異なる誤った高さを示す点が多く含まれる。特に、建造物の周囲等では隠蔽が発生するため、対応の取れない点が多くなり、著しく高い値を示したり、あるいは建造物が大きく欠損したりする場合がある。
【0010】
そのため、従来のステレオマッチングによる3次元データ生成手法では、対応点のミスマッチングによる誤差が生じ、精度の高い3次元情報が得られないので、都市部等の建造物の多い複雑な画像に対しては適用することが難しいという課題があった。
【0011】
本発明は、上記課題を解決するためになされたものであり、複数の画像間において同一の位置を示す領域同士を正確に対応付けることができるステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明の第1の観点に係るステレオマッチング処理システムは、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手段と、前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手段と、を備え、前記対応付け手段は、前記線分判別手段によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、ことを特徴とする。
【0013】
また、本発明の第2の観点に係るステレオマッチング処理方法は、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付けステップと、前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別ステップと、を備え、前記対応付けステップは、前記線分判別ステップによって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、ことを特徴とする。
【0014】
さらに、本発明の第3の観点に係るプログラムは、コンピュータに、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手順と、前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手順と、を実行させるためのプログラムであって、前記対応付け手順は、前記線分判別手順によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、ことを特徴とする。
【発明の効果】
【0015】
本発明によれば、同一の位置を複数の画像間において正確に対応付けることができるステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【0016】
次に、本発明を実施するための最良の形態について図面を参照して説明する。図1は、本発明の実施形態に係るステレオ処理システムの構成例を示すブロック図である。ステレオ処理システム1は、例えば汎用コンピュータなどから構成され、図1に示すように、表示部10と、補助線入力部11と、相互標定部12と、ステレオマッチング部13と、オルソ処理・対地標定部14と、を備えている。
【0017】
表示部10は、例えばLCD(Liquid Crystal Display)などから構成され、同一の対象物を異なる方向から撮影して得られた2つの航空写真の画像(以下、左画像及び右画像という)が含まれる図2に示す補助線入力画面や、図3に示す左画像と右画像とのステレオマッチング結果等を表示する。
【0018】
補助線入力部11は、例えばキーボードやマウスなどから構成され、表示部10に表示された補助線入力画面において、オペレータが左画像及び右画像上に補助線を引く際などに用いられる。ここで、補助線とは、左画像と右画像との間で同一の位置となる箇所をオペレータの操作により対応付けるための線分である。
【0019】
相互標定部12は、例えばCPU(Central Processing Unit)や、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクドライブなどによって実現され、撮影時のカメラパラメータを標定する標定処理や、左画像と右画像とを必要に応じて共通平行面に再投影する平行化処理などを実行する。ここで、標定とは、評価の対象について所定の値を求めることをいう。
【0020】
具体的に、相互標定部12は、標定処理において、左画像と右画像とに共通に映し出されている対象物の座標値を読み取り、読み取った2つの座標値を用いて、左画像と右画像との間でのカメラ回転角等の撮影時のカメラパラメータを標定する。これにより、相互標定部12は、通常、鉛直に近い方向から航空写真を撮影した場合でも航空機の姿勢変化等の影響により把握することが難しい撮影時のカメラパラメータを標定することができる。
【0021】
その後、相互標定部12は、平行化処理を実行することにより、左画像及び右画像上のエピポールを結ぶエピポーラ線が複数の走査線の一つに一致するように左画像と右画像とを共通平行面に再投影する。
【0022】
ステレオマッチング部13は、例えばCPUや、ROM、RAM、ハードディスクドライブなどによって実現され、左画像及び右画像のそれぞれに補助線が入力されたことを示す補助線入力フラグや、補助線と走査線との交点の座標を格納する交点座標バッファなどがRAMに備えている。
【0023】
ステレオマッチング部13は、相互評価部12にて平行化処理が施された左画像及び右画像(平行化済画像対)に対してステレオマッチング処理、具体的にはDP(Dynamic Programming)マッチング処理を施すことにより、左画像と右画像との間での位置ずれ(視差)を計測し、視差データを生成する。
【0024】
具体的に、ステレオマッチング部13は、DPマッチング処理において、オペレータによる補助線入力部11の操作によって左画像及び右画像上に補助線が入力されていない場合、図4に示すように、同一走査線上における左画像と右画像との相関を取っていき、相関係数が最大となる格子領域を検索する。
【0025】
また、ステレオマッチング部13は、相関係数が最大となる格子領域の中心座標同士を図5に示す検索平面上で対応付けていく。この検索平面において、横軸x1は、右画像におけるx座標を示し、縦軸x2は、左画像におけるx座標を示している。
【0026】
そして、ステレオマッチング部13は、このような対応付けを走査線毎に実行していくことにより、視差データを生成して、図3(a)に示すような画像をステレオマッチング結果として表示部10に表示する。
【0027】
これに対して、オペレータによる補助線入力部11の操作によって左画像及び右画像のそれぞれに補助線が入力された場合、補助線が入力された箇所では、走査線と補助線との交点の座標を検索平面上に対応付けていく。一方、補助線が入力されていない箇所では、相関係数が最大となる格子領域の中心位置の座標同士を検索平面上に対応付けていく。
【0028】
そして、ステレオマッチング部13は、図6に示すように、このような対応付けを走査線毎に実行していくことにより、補助線による補正が施された視差データを生成し、図3(b)に示すような画像をステレオマッチング結果として表示部10に表示する。
【0029】
その後、ステレオマッチング部13は、生成した視差データと、相互標定部11にて標定されたカメラパラメータと、を組み合わせて、三角測量の原理によって各画素に対応する3次元座標系での位置を計算し、対象物の表層の高さを示す標高データを含むDSM(Digital Surface Model)データを抽出することにより、対象物までの奥行きや形状を求める。
【0030】
オルソ処理・対地標定部14は、例えばCPUや、ROM、RAM、ハードディスクドライブなどによって実現され、DSMデータを用いて航空写真の画像とDSMデータとを正射変換するオルソ処理や、オルソ処理を施した航空写真の画像とDSMデータを用いて、地表に対する対象物の正確な座標、具体的には対象物の経度および緯度を求める対地標定処理を行うことにより、オルソ画像とオルソDSMデータとを生成する。
【0031】
ここで、オルソ画像には、色データと、対地標定によって求められた緯度及び経度を示す緯度データ及び経度データと、が含まれている。また、オルソDSMデータには、対象物の表層の高さを示す標高データと、緯度データ及び経度データと、が含まれている。このような緯度データ及び経度データを求めることにより、同一対象物の位置を、異なるタイミングで撮影された航空写真の画像間で相互に対応付けることができるようになる。
【0032】
次に、上記構成を備えるステレオマッチング処理システムが実行する処理について図面を参照して説明する。
【0033】
ステレオマッチング処理システムでは、補助線入力処理と、ステレオマッチング処理と、が定期的に実行される。
【0034】
図7は、補助線入力処理の詳細を示すフローチャートである。補助線入力処理において、ステレオマッチング部13は、表示部10に表示される補助線入力画面において、オペレータによる補助線入力部11の操作により左画像及び右画像のそれぞれに補助線が入力されたか否かを判別する(ステップS11)。このとき、補助線が入力されていなければ(ステップS11;No)、ステレオマッチング部13は、そのまま補助線入力処理を終了する。
【0035】
これに対して、ステップS11の処理にて補助線が入力されたと判別した場合(ステップS11;Yes)、ステレオマッチング部13は、左画像及び右画像のそれぞれにつき、走査線と補助線との交点の座標を求めてRAMに設けられた交点座標バッファに格納する(ステップS12)。
【0036】
そして、ステレオマッチング部13は、RAMに設けられた補助線入力フラグをオンにセットしてから(ステップS13)、補助線入力処理を終了する。
【0037】
図8は、ステレオマッチング処理の詳細を示すフローチャートである。ステレオマッチング処理において、相互標定部12は、標定処理を実行することにより、撮影時のカメラパラメータを標定するとともに(ステップS21)、平行化処理を実行して、エピポーラ線が複数の走査線の一つに一致するように左画像と右画像とを共通平行面に再投影する(ステップS22)。
【0038】
次に、ステレオマッチング部13は、RAMに設けられた補助線入力フラグがオンとなっているか否かをチェックすることにより、左画像及び右画像のそれぞれに補助線が入力されたか否かを判別する(ステップS23)。
【0039】
ここで、ステップS23の処理にて補助線が入力されていないと判別した場合(ステップS23;No)、ステレオマッチング部13は、補助線による補正のない視差データを生成する(ステップS24)。
【0040】
ステップS24の処理において、ステレオマッチング部13は、同一走査線上における左画像と右画像との相関を取って相関係数が最大となる格子領域を検索していく。そして、ステレオマッチング部13は、相関係数が最大となる格子領域の中心座標同士を検索平面上で対応付けていく。ステレオマッチング部13は、このような対応付けを走査線毎に実行していくことにより、補助線による補正のない視差データを生成する。
【0041】
これに対して、ステップS23の処理にて補助線が入力されたと判別した場合(ステップS23;Yes)、ステレオマッチング部13は、補助線による補正のある視差データを生成する(ステップS25)。
【0042】
ステップS25の処理において、ステレオマッチング部13は、補助線が入力された箇所では、RAMに設けられた交点座標バッファに格納されている走査線と補助線との交点の座標を検索平面上に対応付けていく一方で、補助線が入力されていない箇所では、相関係数が最大となる格子領域の中心位置の座標同士を検索平面上に対応付けていく。ステレオマッチング部13は、このような対応付けを走査線毎に実行していくことにより、補助線による補正のある視差データを生成する。
【0043】
そして、ステレオマッチング部13は、ステップS24又はS25の処理にて生成した視差データに基づく画像をステレオマッチング結果として表示部10に表示するとともに(ステップS26)、視差データとステップS21の処理にて標定したカメラパラメータとを用いて、対象物の表層の高さを示す標高データを含むDSMデータを抽出する(ステップS27)。
【0044】
続いて、オルソ処理・対地標定部14は、ステップS27の処理にて抽出したDSMデータを用いてオルソ処理を実行することにより、航空写真の画像とDSMデータとを正射変換する(ステップS28)。
【0045】
そして、オルソ処理・対地標定部14は、ステップS28にてオルソ処理を施したDSMデータを用いて、対地標定処理を実行することにより、オルソ画像と、対象物の表層の高さを示す標高データを含むオルソDSMデータと、を生成する(ステップS29)。
【0046】
続いて、上記処理を実行するステレオマッチング処理システムの動作について具体例を挙げて説明する。
【0047】
まず、補助線が入力されていないときには、図8に示すステップS23の処理にて補助線入力フラグがオフであると判別されることから、ステップS24の処理にて相関係数が最大となる格子領域の中心座標同士が検索平面上で対応付けられていく。
【0048】
そして、ステップS24の処理にて、図9(a)に示すように、検索平面上で誤った対応付けがなされた場合、オペレータによる補助線入力部11の操作により、図10に示すように、左画像上の補助線A2と右画像上の補助線A1とが対応付けて入力されるとともに、左画像上の補助線B2と右画像上の補助線B1とが対応付けて入力される。
【0049】
その後、図7に示すステップS12の処理では、走査線と、補助線A1、A2、B1、及びB2と、の交点のx座標a1、a2、b1、及びb2がそれぞれ求められるとともに、ステップS13の処理にて補助線入力フラグがオンにセットされる。
【0050】
そして、図8に示すステップS23の処理にて今度は補助線入力フラグがオンであると判別されることから、ステップS25の処理では、図9(b)に示すように、左画像上における走査線及び補助線A2の交点の座標a2と右画像上における走査線及び補助線A1の交点の座標a1とが、また、左画像上における走査線及び補助線B2の交点の座標b2と右画像上における走査線及び補助線B1の交点の座標b1とが、それぞれ検索平面上で対応付けられる。
【0051】
これにより、ステレオマッチング処理システム1は、検索平面上における誤った対応付けを改善して、同一の位置を左画像と右画像との間で正確に対応付けることができる。
【0052】
以上説明したように、本実施形態に係るステレオマッチング処理システム1によれば、補助線による補正を施すことにより、検索平面上における誤った対応付けを改善することができるため、ステレオマッチング結果としての視差データを修正することができる。そして、ステレオマッチング処理システム1は、修正された視差データを用いて、DSMデータを抽出することにより、対象物の表層の高さを正確に示す標高データを取得することができる。
【0053】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。
【0054】
上記実施形態では、図8に示すステップS25の処理にて、左画像上における走査線及び補助線A2の交点の座標a2と右画像上における走査線及び補助線A1の交点の座標a1とが、また、左画像上における走査線及び補助線B2の交点の座標b2と右画像上における走査線及び補助線B1の交点の座標b1とが、それぞれ検索平面上で対応付けられ、その間では、相関係数が最大となる格子領域の中心座標同士が検索平面上で対応付けられるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、図11に示すように、検索平面上の座標(a1、a2)と座標(b1、b2)とを結ぶ線分上の点が全て対応付けられるようにしてもよい。
【0055】
そして、このような対応付けを行う補助線(強制補助線)を入力するか否かは、オペレータによる補助線入力部11による操作により決定されればよい。
【0056】
上記実施形態では、補助線が走査線に垂直に引かれるものを例に説明したが、本発明はこれに限定されるものではなく、補助線は、図12に示すように、走査線に水平に引かれるものであってもよい。補助線が走査線に水平に引かれた場合には、左画像及び右画像それぞれにおける補助線(線分)をn(nは自然数)等分する点(等分点)同士を、図13に示すように、線分の始点から順に線分の終点まで検査平面上で対応付けるようにすればよい。
【0057】
上記実施形態では、相互標定部11が、標定処理において、左画像と右画像とに共通に映っている対象物の座標値を読み取り、読み取った2つの座標値を用いて、左画像と右画像との間でのカメラ回転角等の撮影時のカメラパラメータを標定するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、撮影時のカメラパラメータを標定する手法は、任意であり、例えば図化プログラムによって算出される値を用いて、撮影時のカメラパラメータを標定してもよい。
【0058】
上記実施形態では、オルソ処理・対地標定部14が、オルソ処理を施した航空写真の画像とDSMデータを用いて、対象物の経度および緯度を求める対地標定を行うものとして説明した。しかしながら、本発明はこれに限定されるものではなく、対地標定を行うための手法は、任意であり、例えば、予め経度、緯度、及び標高値(画像座標)が検出されている航空写真の画像上の複数の点の画像座標から、地上表面の地上座標(経度、緯度、及び標高値)への変換式を求めるようにしてもよい。
【0059】
また、対空標識を写し込で航空写真を撮影することで経度、緯度、及び標高が測量された空中三角測量データを用いてもよく、このようにすれば、画像上の任意の座標における地上座標を求めることが可能となる。ここで、対空標識とは、航空機から各種センサにより航空写真を撮影したときに、航空写真の画像上で明瞭にその形が認識でき、且つその画像座標を測定できるものをいう。したがって、対空標識を置いた点では、正確な3次元座標が示されている。
【0060】
上記実施形態において、オルソ画像には、色データと緯度データと経度データとが含まれ、オルソDSMデータには、標高データと緯度データと経度データとが含まれているものとして説明した。しかしながら、本発明はこれに限定されるものではなく、オルソ画像及びオルソDSMデータには、緯度データ及び経度データに代えて、他の座標系で表現される座標値データが含まれてもよく、また、標高値データに代えて、他の基準からの相対的な高さを示す高さデータが含まれてもよい。
【図面の簡単な説明】
【0061】
【図1】ステレオマッチング処理システムの構成例を示すブロック図である。
【図2】補助線入力画面の表示例を示す図である。
【図3】ステレオマッチング結果の表示例を示す図である。
【図4】DPマッチング処理を説明するための図である。
【図5】検索平面を例示する図である。
【図6】ステレオマッチング処理を説明するための図である。
【図7】補助線入力処理の一例を示すフローチャートである。
【図8】ステレオマッチング処理の一例を示すフローチャートである。
【図9】検索平面を例示する図である。
【図10】補助線を使用した対応付けの改善を説明するための図である。
【図11】変形例における検索平面を示す図である。
【図12】変形例における補助線を使用した対応付けの改善を説明するための図である。
【図13】変形例における検索平面を示す図である。
【符号の説明】
【0062】
1 ステレオマッチング処理システム
10 表示部
11 補助線入力部
12 相互標定部
13 ステレオマッチング部
14 オルソ処理・対地標定部
【特許請求の範囲】
【請求項1】
同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手段と、
前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手段と、を備え、
前記対応付け手段は、前記線分判別手段によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、
ことを特徴とするステレオマッチング処理システム。
【請求項2】
前記対応付け手段は、前記複数の画像のそれぞれに複数の前記線分が引かれた場合、前記走査線と該線分との交点同士を結ぶ線分同士を同一の位置を示すものとして対応付ける、
ことを特徴とする請求項1に記載のステレオマッチング処理システム。
【請求項3】
前記対応付け手段は、前記複数の画像のそれぞれに前記走査線と水平な前記線分が引かれた場合、前記線分の始点同士と終点同士とをそれぞれ同一の位置を示すものとして対応付ける、
ことを特徴とする請求項1又は2に記載のステレオマッチング処理システム。
【請求項4】
前記対応付け手段は、前記複数の画像のそれぞれに前記走査線と水平な前記線分が引かれた場合、該線分を所定等分する等分点同士を前記始点から順にそれぞれ同一の位置を示すものとして対応付けていく、
ことを特徴とする請求項3に記載のステレオマッチング処理システム。
【請求項5】
同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付けステップと、
前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別ステップと、を備え、
前記対応付けステップは、前記線分判別ステップによって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、
ことを特徴とするステレオマッチング処理方法。
【請求項6】
コンピュータに、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手順と、
前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手順と、を実行させるためのプログラムであって、
前記対応付け手順は、前記線分判別手順によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、
ことを特徴とするプログラム。
【請求項1】
同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手段と、
前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手段と、を備え、
前記対応付け手段は、前記線分判別手段によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、
ことを特徴とするステレオマッチング処理システム。
【請求項2】
前記対応付け手段は、前記複数の画像のそれぞれに複数の前記線分が引かれた場合、前記走査線と該線分との交点同士を結ぶ線分同士を同一の位置を示すものとして対応付ける、
ことを特徴とする請求項1に記載のステレオマッチング処理システム。
【請求項3】
前記対応付け手段は、前記複数の画像のそれぞれに前記走査線と水平な前記線分が引かれた場合、前記線分の始点同士と終点同士とをそれぞれ同一の位置を示すものとして対応付ける、
ことを特徴とする請求項1又は2に記載のステレオマッチング処理システム。
【請求項4】
前記対応付け手段は、前記複数の画像のそれぞれに前記走査線と水平な前記線分が引かれた場合、該線分を所定等分する等分点同士を前記始点から順にそれぞれ同一の位置を示すものとして対応付けていく、
ことを特徴とする請求項3に記載のステレオマッチング処理システム。
【請求項5】
同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付けステップと、
前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別ステップと、を備え、
前記対応付けステップは、前記線分判別ステップによって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、
ことを特徴とするステレオマッチング処理方法。
【請求項6】
コンピュータに、同一の対象物を異なる方向から撮影して得られる複数の画像において、同一走査線上で相関係数が最大となる領域同士を同一の位置を示すものとして対応付ける対応付け手順と、
前記複数の画像のそれぞれに同一の位置を示すものとして対応付けられた線分が引かれたかを判別する線分判別手順と、を実行させるためのプログラムであって、
前記対応付け手順は、前記線分判別手順によって前記線分が引かれたと判別した場合、前記同一走査線上で相関係数が最大となる領域同士ではなく、該走査線と該線分との交点同士を同一の位置を示すものとして対応付ける、
ことを特徴とするプログラム。
【図1】
【図2】
【図5】
【図7】
【図8】
【図3】
【図4】
【図6】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図5】
【図7】
【図8】
【図3】
【図4】
【図6】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−128608(P2010−128608A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−300103(P2008−300103)
【出願日】平成20年11月25日(2008.11.25)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年11月25日(2008.11.25)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】
[ Back to top ]