(57)【特許請求の範囲】
【請求項１】
異なる角度から同一対象を撮影して得られた２つの原画像を対象に、ステレオマッチング処理を行なうための装置であって、
前記２つの原画像を縮小して、２つの縮小画像を生成する、縮小画像作成部と、
前記２つの縮小画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、第１の視差算出部と、
前記２つの原画像を、それぞれの分割された部分が互いに対応するように分割する、画像分割部と、
互いに対応する２つの分割された部分毎に、当該部分中に存在する、前記縮小画像における前記対応する点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、視差探索範囲設定部と、
前記原画像における前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、第２の視差算出部と、
を備えている、ことを特徴とするステレオマッチング処理装置。
【請求項２】
前記第２の視差算出部が出力する視差に基づいて、前記２つの画像の撮影対象の３次元データを作成する、画像合成部を更に備えている、
請求項１に記載のステレオマッチング処理装置。
【請求項３】
前記２つの画像が、航空写真又は衛星写真である、請求項１または２に記載のステレオマッチング処理装置。
【請求項４】
異なる角度から同一対象を撮影して得られた２つの原画像を対象に、ステレオマッチング処理を行なうための方法であって、
（ａ）前記２つの原画像を縮小して、２つの縮小画像を生成する、ステップと、
（ｂ）前記２つの縮小画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、ステップと、
（ｃ）前記２つの原画像を、それぞれの分割された部分が互いに対応するように分割する、ステップと、
（ｄ）互いに対応する２つの分割された部分毎に、当該部分中に存在する、前記縮小画像における前記（ｂ）のステップで特定された前記対応する点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、ステップと、
（ｅ）前記原画像における前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、ステップと、
を有する、ことを特徴とするステレオマッチング処理方法。
【請求項５】
コンピュータによって、異なる角度から同一対象を撮影して得られた２つの原画像を対象に、ステレオマッチング処理を行なうためのプログラムであって、
前記コンピュータに、
（ａ）前記２つの原画像を縮小して、２つの縮小画像を生成する、ステップと、
（ｂ）前記２つの縮小画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、ステップと、
（ｃ）前記２つの原画像を、それぞれの分割された部分が互いに対応するように分割する、ステップと、
（ｄ）互いに対応する２つの分割された部分毎に、当該部分中に存在する、前記縮小画像における前記（ｂ）のステップで特定された前記対応する点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、ステップと、
（ｅ）前記原画像における前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像について、同一対象を撮像している各画像中の対応点を求めるステレオマッチング処理装置、ステレオマッチング処理方法、及び、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
従来から、３次元データの自動生成方法として、人工衛星又は航空機等から得られる画像を基に、ステレオマッチング処理を行うことによって、地形を示す３次元データ［ＤＳＭ（Digital Surface Model）データ］を生成する方法が広く知られている。また、この方法において、対応の取れない点が存在する場合は、オペレータを介在させて、修正が行われる。
【０００３】
ここで、ステレオマッチング処理とは、異なる視点から撮影した２枚の画像、いわゆるステレオ画像から、同一の点を撮像している各画像中の対応点を求め、その視差を用いて、三角測量の原理によって対象までの奥行き及び対象の形状を求める処理のことである。
【０００４】
このステレオマッチング処理については、既に様々な手法が提案されている(例えば、特許文献１参照)。具体的には、特許文献１に開示された手法では、まず、異なる視点から撮影することにより得られた１組２枚の立体写真を対象として、一方の写真中の各点が特定される。次に、他方の写真中から、一方の写真で特定された各点と同じ地表点を表す点が特定される。そして、一方の写真中の各点と、他方の写真中の対応する各点との視差に基づいて、これらの点の高さ情報が算出され、算出された高さ情報によって３次元地形データが生成される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−０４６７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献１に開示されたステレオ処理では、重複する部分を含む２枚の画像間で互いに対応する点（対応点）が探索され、そして、対応点に基づいて、三角測量の原理によって対応点の奥行きが求められている。このため、対応点の探索が重要であり、対応点を探索する処理に、多くの計算時間がかかってしまう場合がある。
【０００７】
特に、画像として航空写真を用いる場合、一枚の航空写真は、縦方向で１００００画素、横方向で１００００画素程度の画像であり、２枚の航空写真間の対応点の探索には、多大な計算時間を要することがある。
【０００８】
一方、対応点の探索にかかる計算時間を短縮化する方法として、次の方法が考えられる。まず、２つの撮影位置を結ぶ線と対応点との距離が一定の範囲に収まる場合には、対応する視差量も一定の範囲に収まることになる。よって、最初に、視差量に予め範囲（以下「探索範囲」と表記する。）を設定し、設定した探索範囲よりも大きな分割サイズで画像を分割する。次に、分割後の画像毎のステレオ処理を並列に実行する。このような方法によれば、処理時間を短縮することができると考えられる。
【０００９】
しかしながら、画像中に写っている対象の奥行き（航空写真の場合は、地物の高さ）を、ステレオ処理を行う前に、予め知ることは困難であるため、写っている対象物全ての視差を確定することも困難である。従って、写っている対象物全てにおいて視差量よりも分割サイズが大きくなるように画像が分割されているかどうかを確認する必要があり、全ての分割画像を対象として、対応点のマッチングを試みる必要がある。
【００１０】
そして、マッチングの結果、マッチング対象となった２つの分割画像において、それらのある対応点についての視差量が探索範囲以上であった場合は、画像の分割設定をやり直して、再度マッチングを行なう必要がある。逆に、視差量が探索範囲内であった場合は、無駄なマッチング処理が行われたことになる。このように、単に画像分割するだけでは、処理時間の短縮化を図ることは困難であると考えられる。
【００１１】
本発明の目的の一例は、上記問題を解消し、ステレオ画像から、同一の点を撮像している対応点を求めて、視差を算出する際において、処理の高速化を図り得る、ステレオマッチング処理装置、ステレオマッチング処理方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一側面におけるステレオマッチング処理装置は、異なる角度から同一対象を撮影して得られた２つの画像を対象に、ステレオマッチング処理を行なうための装置であって、
前記２つの画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、第１の視差算出部と、
前記２つの画像を、それぞれの分割された部分が互いに対応するように分割する、画像分割部と、
互いに対応する２つの分割された部分毎に、当該部分中に存在する前記対応する点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、視差探索範囲設定部と、
前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、第２の視差算出部と、
を備えている、ことを特徴とする。
【００１３】
また、上記目的を達成するため、本発明の一側面におけるステレオマッチング処理方法は、異なる角度から同一対象を撮影して得られた２つの画像を対象に、ステレオマッチング処理を行なうための方法であって、
（ａ）前記２つの画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、ステップと、
（ｂ）前記２つの画像を、それぞれの分割された部分が互いに対応するように分割する、ステップと、
（ｃ）互いに対応する２つの分割された部分毎に、当該部分中に存在する前記（ｂ）のステップで特定された前記対応点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、ステップと、
（ｄ）前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、ステップと、
を有する、ことを特徴とする。
【００１４】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、異なる角度から同一対象を撮影して得られた２つの画像を対象に、ステレオマッチング処理を行なうためのプログラムであって、
前記コンピュータに、
（ａ）前記２つの画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、ステップと、
（ｂ）前記２つの画像を、それぞれの分割された部分が互いに対応するように分割する、ステップと、
（ｃ）互いに対応する２つの分割された部分毎に、当該部分中に存在する前記（ｂ）のステップで特定された前記対応点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、ステップと、
（ｄ）前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、ステレオ画像から、同一の点を撮像している対応点を求めて、視差を算出する際において、処理の高速化を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態におけるステレオマッチング処理装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態におけるステレオマッチング処理装置の動作を示すフロー図である。
【図３】図３は、本発明の実施の形態における行なわれる縮小画像の作成処理を説明する図である。
【図４】図４は、本発明の実施の形態におけるステレオマッチング処理で行なわれる画像の分割処理を説明する図である。
【図５】図５は、本発明の実施の形態におけるステレオマッチング処理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
（実施の形態）
以下、本発明の実施の形態における、ステレオマッチング処理装置、ステレオマッチング処理方法、及びプログラムについて、図１〜図５を参照しながら説明する。
【００１８】
［装置構成］
最初に、本発明の実施の形態におけるステレオ処理装置の構成について図１を用いて説明する。図１は、本発明の実施の形態におけるステレオマッチング処理装置の構成を示すブロック図である。
【００１９】
図１に示す、本実施の形態におけるステレオマッチング処理装置１００は、異なる角度から同一対象を撮影して得られた２つの画像（以下「ステレオ画像」と表記する。）を対象に、ステレオマッチング処理を実施する装置である。
【００２０】
図１に示すように、ステレオマッチング処理装置１００は、第１の視差算出部３０と、画像分割部４０と、視差探索範囲設定部５０と、第２の視差算出部６０とを備えている。このうち、第１の視差算出部３０は、ステレオ画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する。
【００２１】
画像分割部４０は、ステレオ画像を、それぞれの分割された部分が互いに対応するように分割する。視差探索範囲設定部５０は、まず、互いに対応する２つの分割された部分（以下「ペア部分」と表記する。）毎に、当該ペア部分中に存在する対応点の組を特定する。次に、視差探索範囲設定部５０は、特定した対応点の組について先に算出されている視差の値に基づいて、当該ペア部分における視差の最大値と最小値とを特定して、当該ペア部分での視差探索範囲を設定する。
【００２２】
第２の視差算出部６０は、まず、ペア部分毎に、当該ペア部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出する。そして、第２の視差算出部６０は、算出した値が当該ペア部分に設定された視差探索範囲に収まる場合に、算出した視差を、当該ペア部分における、新たに特定した当該組の視差として出力する。
【００２３】
このように、本実施の形態では、分割画像において、視差の最小値と最大値とが予め求められるので、分割画像間の視差の算出は、この求められた範囲内で行なえば良い。このため、ステレオ画像から、同一の点を撮像している対応点を求めて、視差を算出する際において、無駄な処理を行なう必要がなく、処理の高速化が図られる。
【００２４】
ここで、本実施の形態におけるステレオマッチング処理装置１００の構成について、更に具体的に説明する。本実施の形態においては、ステレオマッチング処理装置１００は、後述するようにコンピュータによって実現できる。また、ステレオマッチング処理装置１００は、後述するコンピュータの他に、アプリケーションプログラムを実行可能な機器、例えば、携帯電話、スマートフォン、タブレット型の情報機器、ＰＤＡによっても実現可能である。
【００２５】
また、図１に示すように、ステレオマッチング処理１００は、第１の視差算出部３０、画像分割部４０、視差探索範囲設定部５０、及び第２の視差算出部６０に加えて、画像受付部１０と、縮小画像作成部２０と、画像合成部７０と、画像出力部８０とを備えている。
【００２６】
画像受付部１０は、ユーザによる、キーボード又はマウス等（図１において図示せず）を利用した操作に応じて、ステレオマッチング処理に使用される複数のステレオ画像（典型的には、ペアの画像データ）の入力を受け付ける。
【００２７】
「ステレオ画像」は、２台のカメラを用いて、異なる位置からほぼ同一の領域を撮影することによって得られた画像である。ここで、ステレオ画像のうち、左側に配置されたカメラで撮影された画像を、以下「左画像」と表記し、右側に配置されたカメラで撮影された画像を、以下、「右画像」と表記する。また、本実施の形態では、ステレオ画像としては、例えば、デジタル画像に変換された一対の航空写真、一対の衛星写真が挙げられる。また、ステレオ画像の画像データには、画像データそのものだけでなく、画像を撮影した位置、撮影した方向、画角などが含まれる。
【００２８】
また、画像受付部１０は、撮影時のカメラパラメータを標定する標定処理、及び左画像と右画像とを必要に応じて共通平行面に再投影する平行化処理等を実行することもできる。ここで、「標定処理」とは、評価の対象について所定の値を求める処理をいう。更に、「平行化処理」とは、左画像及び右画像上のエピポールを結ぶエピポーラ線が複数の走査線の一つに一致するように、左画像と右画像とを共通平行面に再投影する処理をいう。
【００２９】
そして、画像受付部１０は、受付けたステレオ画像の画像データを、縮小画像作成部２０と、画像分割部４０とに入力する。なお、評定処理及び平行化処理は、別の機能ブロックによって実行されても良い。
【００３０】
縮小画像作成部２０は、画像受付部１０から渡された画像データに基づいて、それが表すステレオ画像それぞれの縮小画像を作成する。縮小画像作成部２０は、後述する図３に示すように、例えば、ステレオ画像の左画像と右画像とを、任意の倍率で縮小することにより、左画像の縮小画像と右画像の縮小画像とを生成する。
【００３１】
本実施の形態では、このように、ステレオ画像が縮小され、縮小画像について後述の処理が行なわれる。このため、本実施の形態によれば、縮小画像を作成しない場合と比べて、ステレオマッチング処理のいっそうの高速化が図られる。
【００３２】
また、本実施の形態では、第１の視差算出部３０は、ステレオ画像の縮小画像（以下「ステレオ縮小画像」と表記する。）に基づいて、上述した視差の算出を実行する。以下、第１の視差算出部３０は、「縮小画像視差算出部３０」と表記する。
【００３３】
具体的には、まず、縮小画像視差算出部３０は、縮小画像作成部２０で生成された縮小画像同士での同じ地点を写す画像内の位置を検出する。即ち、縮小画像間の同じ地点に対応する対応点（特徴点）の組を検出する。同じ地点に対応する対応点の組は、通常２つの画像の中で、対応する付近の小領域の画像相関をとり、相関係数が最大となる位置から検出できる。
【００３４】
また、縮小画像視差算出部３０は、対象となるステレオ縮小画像において、左画像及び右画像（平行化済画像対）に対して、ステレオマッチング処理、具体的にはＤＰ（Dynamic Programming）マッチング処理を実行し、左画像と右画像との間での位置ずれ（視差）を計測し、視差データを生成する。
【００３５】
そして、縮小画像視差算出部３０によってステレオマッチング処理が実行されると、その結果、ステレオ縮小画像の画像データが表す各画素に対応して、左右の画像間での視差が得られる。なお、ここでは、視差算出のための画像の切り出し処理は、地面を基準に行なわれており、地面について視差はゼロであるとする。よって、ここで得られる視差は、建物等といった地面からの突起に対応する視差であると考えることができる。
【００３６】
また、ステレオマッチング処理の具体例としては、一般的な特徴量を求めて対応付ける処理、左右画像の相関を求める処理等、様々なものが存在するが、本実施の形態では、具体的なステレオマッチング処理は特に限定されるものではない。ステレオマッチング処理の具体例としては、例えば、特公平８−１６９３０号公報に開示された処理が挙げられる。
【００３７】
画像分割部４０は、本実施の形態では、画像受付部１０から渡されたステレオ画像を、複数のブロック画像に分割する（後述の図４参照）。また、ブロック画像のサイズは、予め設定されても良いし、画像分割部４０によって、縮小画像視差算出部３０で算出された視差値に基づいて、計算されても良い。
【００３８】
視差探索範囲設定部５０は、本実施の形態では、画像分割部４０で作成された全てのペア部分について、縮小画像視差算出部３０で得られた視差値のうち、当該ペア部分に相当する領域内での、最大の視差値と最小の視差値とを抽出する。この最大値及び最小値は、それぞれ、ペア部分毎の視差探索範囲の上限及び下限として設定される。
【００３９】
第２の視差算出部６０（以下、「視差算出部６０」と表記する。）は、画像分割部４０で生成されたペア部分を対象として、各部分の同じ地点を写す画像内の位置を検出する。即ち、本実施の形態では、視差算出部６０は、ペアとなった画像の同じ地点に対応する対応点（特徴点）の組を新たに検出する。同じ地点に対応する対応点の組は、通常２つの画像の中で、対応する付近の小領域の画像相関をとり、相関係数が最大となる位置から検出される。
【００４０】
また、視差算出部６０は、縮小画像視差算出部３０と同様の上述したステレオマッチング処理を実行する。そして、視差算出部６０は、ステレオマッチング処理によって算出した視差が、視差探索範囲内にあるかどうかを判定し、視差探索範囲内にある場合は、算出した視差を、ペア部分の対応点の視差として、画像合成部７０に出力する。
【００４１】
画像合成部７０は、視差算出部６０によってペア部分毎に算出された対応点の視差に基づいて、ステレオ画像を構成する左画像と右画像とを合成し、３次元画像を表す３次元データ（ＤＳＭデータ）を生成する。また、画像合成部７０は、生成した３次元データを画像出力部８０に出力する。
【００４２】
画像出力部８０は、画像合成部７０から、３次元データが出力されてくると、この３次元データを表現するＤＳＭ画像を生成し、これを出力する。また、画像出力部８０は、ＤＳＭ画像と共に、ステレオマッチング処理の結果等を出力することもできる。
【００４３】
［装置動作］
次に、本発明の実施の形態におけるステレオマッチング処理装置１００の動作について図２を用いて説明する。図２は、本発明の実施の形態におけるステレオマッチング処理装置の動作を示すフロー図である。また、本実施の形態では、ステレオマッチング処理装置１００を動作させることによって、ステレオマッチング処理方法が実施される。よって、本実施の形態におけるステレオマッチング処理方法の説明は、以下のステレオマッチング処理装置１００の動作説明に代える。
【００４４】
図２に示すように、最初に、画像受付部１０は、処理の対象となるステレオ画像の入力を受け付ける（ステップＳ１０１）。そして、画像受付部１０は、入力を受け付けたステレオ画像を、縮小画像作成部２０及び画像分割部４０に出力する。
【００４５】
なお、上述したように、ステレオ画像は、２台のカメラを用いて、異なる位置からほぼ同一の領域を撮影することによって得られた画像である。また、後述するように、ステレオ画像内の各位置に対応する対応点の組が検出されて、ステレオマッチング処理が行われる。
【００４６】
次に、縮小画像作成部２０は、画像受付部１０から渡されたステレオ画像を縮小して、ステレオ縮小画像を作成する（ステップＳ１０２）。図３は、本発明の実施の形態における行なわれる縮小画像の作成処理を説明する図である。図３に示すように、縮小画像作成部２０は、ステレオ画像を構成する左画像及び右画像をそれぞれ縮小して、縮小画像を作成する。
【００４７】
ステップＳ１０２において、画像を縮小する際の縮小倍率、縮小画像のサイズ等は、適宜設定される。また、縮小画像作成部２０は、ステレオ縮小画像を作成した後、作成したステレオ縮小画像を縮小画像視差算出部３０に出力する。
【００４８】
次に、縮小画像視差算出部３０は、縮小画像作成部２０から出力されたステレオ縮小画像から、同じ地点を写す画像内の対応点の組を検出し（図３参照）、当該対応点の組から、視差を算出する（ステップＳ１０３）。そして、縮小画像視差算出部３０は、算出した視差を、視差探索範囲設定部５０に出力する。なお、図３中の左画像及び右画像において、丸で囲った部分は、検出された対応点を示しており、線で結ばれた部分同士が対応している。
【００４９】
次に、画像分割部４０は、図３に示すように、画像受付部１０で受け付けられたステレオ画像を構成している右画像及び左画像を、それぞれ、予め設定されたサイズで複数のブロック画像に分割する（ステップＳ１０４）。そして、画像分割部４０は、生成した分割画像を、視差算出部６０に出力する。図４は、本発明の実施の形態におけるステレオマッチング処理で行なわれる画像の分割処理を説明する図である。
【００５０】
次に、視差探索範囲設定部５０は、画像分割部４０で作成された分割画像（ペア部分）毎に、それぞれの分割位置で囲まれた領域内での、ステップＳ１０３で算出された視差の最大値と最小値とを特定し、特定した最小値から最大値までを当該分割画像（ペア部分）での視差探索範囲として設定する（ステップＳ１０５）。また、視差探索範囲設定部５０は、設定した視差探索範囲を、視差算出部６０に通知する。
【００５１】
具体的には、視差探索範囲設定部５０は、ペア部分毎に、当該ペア部分の領域においてステップＳ１０３で検出された対応点の組を特定し（図３参照）、更に、特定した組について算出された視差を特定する。そして、視差探索範囲設定部５０は、特定した視差の中から、最大値と最小値とを抽出し、抽出した最小値から最大値までを視差探索範囲とする。
【００５２】
次に、視差探索範囲設定部５０は、全ての分割画像（ペア部分）についてステップＳ１０５が実行されているかどうかを判断する（ステップＳ１０６）。ステップＳ１０６の判断の結果、全ての分割画像についてステップＳ１０５が実行されていない場合は、視差探索範囲設定部５０は、再度、ステップＳ１０５を実行する。
【００５３】
一方、ステップＳ１０６の判断の結果、全ての分割画像についてステップＳ１０５が実行されている場合は、視差算出部６０は、画像分割部４０によって作成されたペア部分毎に、同じ地点を写す画像内の対応点の組を新たに検出し、当該対応点の組について視差を算出する。また、視差算出部６０は、算出した視差が、ステップＳ１０５で設定された視差探索範囲内にあるかどうかを判定し、視差探索範囲内にある場合にのみ、算出した視差を、ペア部分の対応点の視差とする（ステップＳ１０７）。また、視差算出部６０は、得られたペア部分の対応点の視差を、画像合成部７０に出力する。
【００５４】
次に、画像合成部７０は、視差算出部６０から出力されてきた各ペア部分の対応点の視差に基づいて、ステップＳ１０１で入力を受け付けたステレオ画像の左画像と右画像とを合成し、３次元データ（ＤＳＭデータ）を生成する（ステップＳ１０８）。そして、画像合成部７０は、生成した３次元データを、画像出力部８０に出力する。
【００５５】
次に、画像出力部８０は、画像合成部７０から渡された３次元データに基づいて、３次元画像（ＤＳＭ画像）を生成し、これを出力する（ステップＳ１０９）。以上により、ステレオマッチング処理装置１００における処理は終了する。
【００５６】
［実施の形態による効果］
以上のように、本実施の形態によれば、ステレオ画像について、同一の点を撮像している各画像中の対応点を容易に求めることができる。また、分割画像間の視差の算出は、視差探索範囲を基準にして行なえば良いため、ステレオ画像から対応点を求めて、視差を算出する際において、無駄な処理を行なう必要がなく、処理の高速化が図られる。また、視差探索範囲を求めるための処理は、縮小されたステレオ画像に基づいて行われるので、よりいっそうの高速化が可能となる。
【００５７】
［プログラム］
また、本実施の形態におけるプログラムは、コンピュータに、図２に示すステップＳ１０１〜Ｓ１０９を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるステレオマッチング処理装置１００とステレオマッチング処理方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、画像受付部１０、縮小画像作成部２０、縮小画像視差算出部３０、画像分割部４０、視差探索範囲設定部５０、視差算出部６０、画像合成部７０、及び画像出力部８０として機能し、処理を行なう。つまり、本実施の形態におけるステレオマッチング処理装置１００は、専用のシステムによらず、通常のコンピュータを用いて実現可能である。
【００５８】
また、本実施の形態におけるプログラムは、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納された状態で配布されても良い。更に、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該プログラムが格納されている場合は、通常のコンピュータが、当該プログラムをダウンロード等して、これをインストールすることで、ステレオマッチング処理装置１００が実現される。
【００５９】
また、ステレオマッチング処理装置１００の機能が、コンピュータのＯＳ（オペレーティングシステム）とアプリケーションプログラムとの分担によって実現される場合、又はＯＳとアプリケーションプログラムとの協働によって実現される場合とが考えられる。このような場合は、アプリケーションプログラムの部分のみが、記録媒体、又はサーバ装置が有する記憶装置に格納されていれば良い。
【００６０】
また、本実施の形態におけるプログラムは、搬送波に重畳されることによって、通信ネットワークを介して配信されても良い。例えば、通信ネットワーク上のＷｅｂサーバに、当該プログラムが掲示されている場合は、当該プログラムは、ネットワークを介して配信される。そして、当該プログラムは起動されると、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行され、処理を行う。
【００６１】
ここで、本実施の形態におけるプログラムを実行することによって、ステレオマッチング処理装置１００を実現するコンピュータの一例について図５を用いて説明する。図５は、本発明の実施の形態におけるステレオマッチング処理装置を実現するコンピュータの一例を示すブロック図である。
【００６２】
図５に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００６３】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００６４】
また、記憶装置１１３の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００６５】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash）及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【００６６】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【００６７】
（付記１）
異なる角度から同一対象を撮影して得られた２つの画像を対象に、ステレオマッチング処理を行なうための装置であって、
前記２つの画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、第１の視差算出部と、
前記２つの画像を、それぞれの分割された部分が互いに対応するように分割する、画像分割部と、
互いに対応する２つの分割された部分毎に、当該部分中に存在する前記対応する点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、視差探索範囲設定部と、
前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、第２の視差算出部と、
を備えている、ことを特徴とするステレオマッチング処理装置。
【００６８】
（付記２）
前記２つの画像を縮小して、２つの縮小画像を生成する、縮小画像作成部を更に備え、
前記第１の視差算出部が、前記２つの縮小画像を対象として、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、
付記１に記載のステレオマッチング処理装置。
【００６９】
（付記３）
前記第２の視差算出部が出力する視差に基づいて、前記２つの画像の撮影対象の３次元データを作成する、画像合成部を更に備えている、
付記１または２に記載のステレオマッチング処理装置。
【００７０】
（付記４）
前記２つの画像が、航空写真又は衛星写真である、付記１〜３のいずれかに記載のステレオマッチング処理装置。
【００７１】
（付記５）
異なる角度から同一対象を撮影して得られた２つの画像を対象に、ステレオマッチング処理を行なうための方法であって、
（ａ）前記２つの画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、ステップと、
（ｂ）前記２つの画像を、それぞれの分割された部分が互いに対応するように分割する、ステップと、
（ｃ）互いに対応する２つの分割された部分毎に、当該部分中に存在する前記（ｂ）のステップで特定された前記対応する点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、ステップと、
（ｄ）前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、ステップと、
を有する、ことを特徴とするステレオマッチング処理方法。
【００７２】
（付記６）
（ｆ）前記２つの画像を縮小して、２つの縮小画像を生成する、ステップを更に有し、
前記（ａ）のステップで、前記２つの縮小画像を対象として、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、
付記５に記載のステレオマッチング処理方法。
【００７３】
（付記７）
（ｇ）前記（ｄ）のステップで出力する視差に基づいて、前記２つの画像の撮影対象の３次元データを作成する、ステップを更に有する、
付記５または６に記載のステレオマッチング処理方法。
【００７４】
（付記８）
前記２つの画像が、航空写真又は衛星写真である、付記５〜７のいずれかに記載のステレオマッチング処理方法。
【００７５】
（付記９）
コンピュータによって、異なる角度から同一対象を撮影して得られた２つの画像を対象に、ステレオマッチング処理を行なうためのプログラムであって、
前記コンピュータに、
（ａ）前記２つの画像において、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、ステップと、
（ｂ）前記２つの画像を、それぞれの分割された部分が互いに対応するように分割する、ステップと、
（ｃ）互いに対応する２つの分割された部分毎に、当該部分中に存在する前記（ｂ）のステップで特定された前記対応する点の組を特定し、特定した組について算出された前記視差の値に基づいて、当該部分における前記視差の最大値と最小値とを特定して、視差探索範囲を設定する、ステップと、
（ｄ）前記互いに対応する２つの分割された部分毎に、当該２つの部分間において互いに対応する点の組を新たに複数特定し、新たに特定した各組について、視差を算出し、算出した値が当該部分に設定された前記視差探索範囲に収まる場合に、算出した視差を、当該部分における新たに特定した当該組の視差として出力する、ステップと、
を実行させるプログラム。
【００７６】
（付記１０）
（ｆ）前記２つの画像を縮小して、２つの縮小画像を生成する、ステップを、更に前記コンピュータに実行させ、
前記（ａ）のステップで、前記２つの縮小画像を対象として、互いに対応する点の組を複数特定し、特定した組毎に、視差を算出する、
付記９に記載のプログラム。
【００７７】
（付記１１）
（ｇ）前記（ｄ）のステップで出力する視差に基づいて、前記２つの画像の撮影対象の３次元データを作成する、ステップを、更に前記コンピュータに実行させる、
付記９または１０に記載のプログラム。
【００７８】
（付記１２）
前記２つの画像が、航空写真又は衛星写真である、付記９〜１１のいずれかに記載のプログラム。
【００７９】
以上、上述した実施の形態は、説明のためのものであり、本発明の範囲を制限するものではなく、本発明においては、種々の変形及び応用が可能である。従って、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。また、その他、上述したハードウエェア構成及びフローチャートは一例であり、任意に変更および修正が可能である。
【産業上の利用可能性】
【００８０】
以上説明したように、本発明によれば、ステレオ画像から、同一の点を撮像している対応点を求めて、視差を計算する際に、処理の高速化が可能になる。本発明は、ステレオマッチング処理が求められる分野、特に、航空写真又は衛星写真から、３次元画像を作成する分野に有用である。
【符号の説明】
【００８１】
１０  ステレオマッチング処理装置
１０  画像受付部
２０  縮小画像作成部
３０  縮小画像視差算出部（第１の視差算出部）
４０  画像分割部
５０  視差探索範囲設定部
６０  視差算出部（第２の視差算出部）
７０  画像合成部
８０  画像出力部
１００  ステレオマッチング処理装置
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
0005769248.tif 000002
【図２】
0005769248.tif 000003
【図３】
0005769248.tif 000004
【図４】
0005769248.tif 000005
【図５】
0005769248.tif 000006