(57)【要約】【課題】異なる視点から撮像し取得された２つの画像間における対応点の探索を精度良く迅速に行える情報処理技術を提供する。【解決手段】ステレオカメラで基準画像と参照画像とを取得した情報処理システムでは、基準画像上に設定されるウィンドウ内の画像と、参照画像上に設定される複数のウィンドウ内の各画像とに関する相関値をＳＡＤ法を用いて演算することにより、基準画像上の指定点に対応した参照画像上の対応点の探索が行われる。そして、この相関演算で得られた各視差(参照画像上のウィンドウの各位置)と相関値との関係を示すグラフの形状を解析し、２個以上の極値点Ｊ１、Ｊ２が検出される場合(ｂ)や極値点が検出されない場合(ｃ)〜(ｅ)には、ウィンドウサイズを変更して対応点の再探索を実行する。これにより、対応点探索を精度良く迅速に行えることとなる。【選択図】図３
2008090583.tif 000002
【特許請求の範囲】
【請求項１】
異なる視点から撮像し取得された第１画像および第２画像に関する処理を行う情報処理システムであって、
(a)前記第１画像上で指定される指定点に対応した前記第２画像上の対応点を探索する第１探索手段と、
(b)前記第１探索手段で行われる第１の対応点探索処理と異なる第２の対応点探索処理により、前記第１画像上の指定点に対応した前記第２画像上の対応点を探索する第２探索手段と、
(c)前記第１の対応点探索処理による対応点の探索を実行した後に、当該第１の対応点探索処理を通じて得られた取得情報に基づき、前記第２の対応点探索処理による対応点の再探索を実行するか否かを決定する決定手段と、
を備え、
前記第１探索手段は、
(a-1)所定のサイズを有し前記指定点を内包する第１領域を、前記第１画像に設定する第１設定手段と、
(a-2)前記所定のサイズを有する第２領域を、前記第２画像における複数の位置に設定する第２設定手段と、
(a-3)前記第２設定手段によって設定される第２領域の各位置において、前記第１領域内の画像と前記第２領域内の画像とに関する相関値を算出する相関演算手段と、
(a-4)前記相関演算手段で算出される相関値に基づき、前記第２画像上の対応点を探索する手段と、
を有するとともに、
前記取得情報は、前記相関演算手段で得られた前記第２領域の各位置と前記相関値との関係から取得される極値情報であることを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記第２の対応点探索処理は、前記第１の対応点探索処理において前記第１領域および前記第２領域のサイズを前記所定のサイズと異なる別のサイズに設定して行われる対応点探索処理であることを特徴とする情報処理システム。
【請求項３】
請求項２に記載の情報処理システムにおいて、
前記別のサイズは、前記第１領域内の画像に関するコントラスト情報に基づき設定されるサイズであることを特徴とする情報処理システム。
【請求項４】
請求項１ないし請求項３のいずれかに記載の情報処理システムにおいて、
前記取得情報は、前記相関値の極大値に係る極値点の数の情報であることを特徴とする情報処理システム。
【請求項５】
請求項４に記載の情報処理システムにおいて、
前記極値点は、前記相関値に係る極大値が第１の閾値より大きい第１の条件と、極大値をとる第２領域の位置に隣接して設定される第２領域の位置で算出される相関値の、当該極大値に対する比率が第２の閾値より小さい第２の条件とを満たす極大値の点であることを特徴とする情報処理システム。
【請求項６】
請求項４または請求項５に記載の情報処理システムにおいて、
前記決定手段は、
(c-1)前記極値点の数が１である場合には、前記第２の対応点探索処理による対応点の再探索を実行しないことを決定する手段、
を有することを特徴とする情報処理システム。
【請求項７】
請求項２または請求項３に記載の情報処理システムにおいて、
前記取得情報は、前記相関値の極大値に係る極値点の数の情報であり、
前記決定手段は、
(c-2)前記極値点の数が２以上である場合には、当該２以上の極値点それぞれに係る前記第２領域の各位置においてのみ前記相関値を算出する第２の対応点探索処理によって対応点の再探索を実行することを決定する手段、
を有することを特徴とする情報処理システム。
【請求項８】
請求項１に記載の情報処理システムにおいて、
前記第２の対応点探索処理は、位相限定相関法を用いた対応点探索処理であることを特徴とする情報処理システム。
【請求項９】
情報処理システムに搭載されたコンピュータにおいて実行されることにより、当該情報処理システムを請求項１ないし請求項８のいずれかに記載の情報処理システムとして機能させることを特徴とするプログラム。
【請求項１０】
異なる視点から撮像し取得された第１画像および第２画像に関する処理を行う情報処理方法であって、
(a)前記第１画像上で指定される指定点に対応した前記第２画像上の対応点を探索する第１探索工程と、
(b)前記第１探索工程で行われる第１の対応点探索処理と異なる第２の対応点探索処理により、前記第１画像上の指定点に対応した前記第２画像上の対応点を探索する第２探索工程と、
(c)前記第１の対応点探索処理による対応点の探索を実行した後に、当該第１の対応点探索処理を通じて得られた取得情報に基づき、前記第２の対応点探索処理による対応点の再探索を実行するか否かを決定する決定工程と、
を備え、
前記第１探索工程は、
(a-1)所定のサイズを有し前記指定点を内包する第１領域を、前記第１画像に設定する第１設定工程と、
(a-2)前記所定のサイズを有する第２領域を、前記第２画像における複数の位置に設定する第２設定工程と、
(a-3)前記第２設定工程で設定される第２領域の各位置において、前記第１領域内の画像と前記第２領域内の画像とに関する相関値を算出する相関演算工程と、
(a-4)前記相関演算工程で算出される相関値に基づき、前記第２画像上の対応点を探索する工程と、
を有するとともに、
前記取得情報は、前記相関演算工程で得られた前記第２領域の各位置と前記相関値との関係から取得される極値情報であることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる視点から撮像し取得された第１画像および第２画像に関する処理を行う情報処理技術に関する。
【背景技術】
【０００２】
ステレオカメラによって異なる視点から撮像し取得された２つの画像の各画素を相互に対応付けし、その得られた対応関係から三角測量の原理に基づいて、画像上の各点の３次元位置を算出する方法が知られている。
【０００３】
図１２は、画像間の対応点から三角測量の原理に基づいて、３次元位置を算出する方法を模式的に示す図である。
【０００４】
基準カメラと参照カメラとの対応点位置の差がΔｄであった場合に、対象物までの距離Ｄは、次の式で算出される。
【０００５】
Ｄ＝ｆＢ／Δｄ：
ただし、カメラの基準長をＢ、カメラレンズの焦点距離をｆとする。
【０００６】
このとき、対象物の３次元位置(Ｘ,Ｙ,Ｚ)は、次の式で算出される。
【０００７】
Ｘ＝ｘＤ／ｆ、Ｙ＝ｙＤ／ｆ、Ｚ＝Ｄ：
ただし、上記のｘ、ｙは、基準画像上の注目画素の座標である。
【０００８】
例えば、一方の画像(基準画像)上に設定されたウィンドウ内の画像と、このウィンドウと同サイズで他方の画像(参照画像)上に複数設定される各ウィンドウ内の画像との類似度（相関値）をＳＡＤ等を用いて求め、類似度が最も高くなる参照画像上のウィンドウ位置を特定することにより、２つの画像間の対応点を探索する手法がある。このような対応点探索手法を用いれば、ステレオカメラで得られた撮影画像において、その画像上の各点に関する３次元位置の取得が可能となる。
【０００９】
しかし、上記の対応点探索手法では、一定サイズのウィンドウを用いて画像の類似性を判定するため、そのウィンドウサイズが、必ずしも適切なサイズ（例えば画像の濃度変化に応じて決定されるサイズ）に設定されているとは限らず、高精度な対応点探索を良好に行えないという問題がある。
【００１０】
この問題を改善するための技術としては、例えば特許文献１に開示されるものがある。この技術においては、異なるサイズのウィンドウを基準画像および参照画像に設定し、これら各ウィンドウ内の画像の類似度を判定することにより、対応点探索の精度向上を図っている。
【００１１】
【特許文献１】特開平１０−３２０５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記の特許文献１の技術では、異なるサイズのウィンドウそれぞれで類似度の演算を行わなければならないため、その演算時間が増大してしまい、画像間の対応点探索を迅速に行うことが困難である。
【００１３】
本発明は、上記課題に鑑みてなされたものであり、異なる視点から撮像し取得された２の画像間における対応点の探索を精度良く迅速に行える情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の課題を解決するため、請求項１の発明は、異なる視点から撮像し取得された第１画像および第２画像に関する処理を行う情報処理システムであって、(a)前記第１画像上で指定される指定点に対応した前記第２画像上の対応点を探索する第１探索手段と、(b)前記第１探索手段で行われる第１の対応点探索処理と異なる第２の対応点探索処理により、前記第１画像上の指定点に対応した前記第２画像上の対応点を探索する第２探索手段と、(c)前記第１の対応点探索処理による対応点の探索を実行した後に、当該第１の対応点探索処理を通じて得られた取得情報に基づき、前記第２の対応点探索処理による対応点の再探索を実行するか否かを決定する決定手段とを備え、前記第１探索手段は、(a-1)所定のサイズを有し前記指定点を内包する第１領域を、前記第１画像に設定する第１設定手段と、(a-2)前記所定のサイズを有する第２領域を、前記第２画像における複数の位置に設定する第２設定手段と、(a-3)前記第２設定手段によって設定される第２領域の各位置において、前記第１領域内の画像と前記第２領域内の画像とに関する相関値を算出する相関演算手段と、(a-4)前記相関演算手段で算出される相関値に基づき、前記第２画像上の対応点を探索する手段とを有するとともに、前記取得情報は、前記相関演算手段で得られた前記第２領域の各位置と前記相関値との関係から取得される極値情報である。
【００１５】
また、請求項２の発明は、請求項１の発明に係る情報処理システムにおいて、前記第２の対応点探索処理は、前記第１の対応点探索処理において前記第１領域および前記第２領域のサイズを前記所定のサイズと異なる別のサイズに設定して行われる対応点探索処理である。
【００１６】
また、請求項３の発明は、請求項２の発明に係る情報処理システムにおいて、前記別のサイズは、前記第１領域内の画像に関するコントラスト情報に基づき設定されるサイズである。
【００１７】
また、請求項４の発明は、請求項１ないし請求項３のいずれかの発明に係る情報処理システムにおいて、前記取得情報は、前記相関値の極大値に係る極値点の数の情報である。
【００１８】
また、請求項５の発明は、請求項４の発明に係る情報処理システムにおいて、前記極値点は、前記相関値に係る極大値が第１の閾値より大きい第１の条件と、極大値をとる第２領域の位置に隣接して設定される第２領域の位置で算出される相関値の、当該極大値に対する比率が第２の閾値より小さい第２の条件とを満たす極大値の点である。
【００１９】
また、請求項６の発明は、請求項４または請求項５の発明に係る情報処理システムにおいて、前記決定手段は、(c-1)前記極値点の数が１である場合には、前記第２の対応点探索処理による対応点の再探索を実行しないことを決定する手段を有する。
【００２０】
また、請求項７の発明は、請求項２または請求項３の発明に係る情報処理システムにおいて、前記取得情報は、前記相関値の極大値に係る極値点の数の情報であり、前記決定手段は、(c-2)前記極値点の数が２以上である場合には、当該２以上の極値点それぞれに係る前記第２領域の各位置においてのみ前記相関値を算出する第２の対応点探索処理によって対応点の再探索を実行することを決定する手段を有する。
【００２１】
また、請求項８の発明は、請求項１の発明に係る情報処理システムにおいて、前記第２の対応点探索処理は、位相限定相関法を用いた対応点探索処理である。
【００２２】
また、請求項９の発明は、情報処理システムに搭載されたコンピュータにおいて実行されることにより、当該情報処理システムを請求項１ないし請求項８のいずれかの発明に係る情報処理システムとして機能させるプログラムである。
【００２３】
また、請求項１０の発明は、異なる視点から撮像し取得された第１画像および第２画像に関する処理を行う情報処理方法であって、(a)前記第１画像上で指定される指定点に対応した前記第２画像上の対応点を探索する第１探索工程と、(b)前記第１探索工程で行われる第１の対応点探索処理と異なる第２の対応点探索処理により、前記第１画像上の指定点に対応した前記第２画像上の対応点を探索する第２探索工程と、(c)前記第１の対応点探索処理による対応点の探索を実行した後に、当該第１の対応点探索処理を通じて得られた取得情報に基づき、前記第２の対応点探索処理による対応点の再探索を実行するか否かを決定する決定工程とを備え、前記第１探索工程は、(a-1)所定のサイズを有し前記指定点を内包する第１領域を、前記第１画像に設定する第１設定工程と、(a-2)前記所定のサイズを有する第２領域を、前記第２画像における複数の位置に設定する第２設定工程と、(a-3)前記第２設定工程で設定される第２領域の各位置において、前記第１領域内の画像と前記第２領域内の画像とに関する相関値を算出する相関演算工程と、(a-4)前記相関演算工程で算出される相関値に基づき、前記第２画像上の対応点を探索する工程とを有するとともに、前記取得情報は、前記相関演算工程で得られた前記第２領域の各位置と前記相関値との関係から取得される極値情報である。
【発明の効果】
【００２４】
請求項１から請求項１０の発明によれば、第１の対応点探索処理による対応点の探索を実行した後に、当該第１の対応点探索処理を通じて得られた取得情報（基準画像上の指定点に対応する参照画像上の対応点を探索するために設定される参照画像上の第２領域の各位置と、指定点を内包する第１領域内の画像と第２領域内の画像とに関する相関値との関係から取得される極値情報）に基づき、第１の対応点探索処理と異なる第２の対応点探索処理による対応点の再探索を実行するか否かを決定する。その結果、対応点探索を精度良く迅速に行える。
【００２５】
特に、請求項２の発明においては、第２の対応点探索処理が、第１の対応点探索処理において第１領域および第２領域のサイズを所定のサイズと異なる別のサイズに設定して行われる対応点探索処理であるため、対応点の再探索を精度良く行える。
【００２６】
また、請求項３の発明においては、別のサイズは、第１領域内の画像に関するコントラスト情報に基づき設定されるサイズであるため、対応点の再探索を一層精度良く行える。
【００２７】
また、請求項４の発明においては、取得情報は、相関値の極大値に係る極値点の数の情報であるため、対応点の再探索を実行すべきか否かを容易に判断できる。
【００２８】
また、請求項５の発明においては、極値点は、相関値に係る極大値が第１の閾値より大きい第１の条件と、極大値をとる第２領域の位置に隣接して設定される第２領域の位置で算出される相関値の、当該極大値に対する比率が第２の閾値より小さい第２の条件とを満たす極大値の点であるため、対応点の再探索を実行すべきか否かを適切に判断できる。
【００２９】
また、請求項６の発明においては、極値点の数が１である場合には、第２の対応点探索処理による対応点の再探索を実行しないため、不必要な処理を省いて、対応点探索を高速に行える。
【００３０】
また、請求項７の発明においては、極値点の数が２以上である場合には、当該２以上の極値点それぞれに係る第２領域の各位置においてのみ相関値を算出する第２の対応点探索処理によって対応点の再探索を実行するため、対応点の再探索を迅速に行える。
【００３１】
また、請求項８の発明においては、第２の対応点探索処理が位相限定相関法を用いた対応点探索処理であるため、対応点の再探索を精度良く行える。
【発明を実施するための最良の形態】
【００３２】
＜第１実施形態＞
＜情報処理システムの構成＞
図１は、本発明の第１実施形態に係る情報処理システム１Ａの要部構成を示すブロック図である。
【００３３】
情報処理システム１Ａは、２眼のステレオカメラ２と、ステレオカメラ２にデータ伝送可能に接続する情報処理装置３Ａとを備えている。
【００３４】
ステレオカメラ２には、それぞれ撮像素子を有する２つの撮像系２１、２２が設けられている。これらの撮像系２１、２２では、カメラ正面の被写体をタイミングを同期して異なる視点から撮像できるように構成されており、撮像して取得された各画像データは、データ線ＣＢを介して情報処理装置３Ａに送信される。
【００３５】
情報処理装置３Ａは、例えばパーソナルコンピュータとして構成されており、マウスやキーボードからなる操作部３１と、例えば液晶ディスプレイとして構成される表示部３２と、ステレオカメラ２からのデータを受信するためのインターフェース(Ｉ／Ｆ)部３３とを備えている。また、情報処理装置３Ａは、記憶部３４と入出力部３５と制御部３６とを有している。
【００３６】
記憶部３４は、例えばハードディスクとして構成されており、後述する対応点探索処理を行うプログラムＰＧａなどが格納されている。
【００３７】
入出力部３５は、例えばディスクドライブとして構成されており、光ディスク９とのデータ授受を行うための部位である。
【００３８】
制御部３６は、コンピュータとして働くＣＰＵ３６ａおよびメモリ３６ｂを有しており、情報処理装置３Ａの各部を統括的に制御するための部位である。この制御部３６で記憶部３４内のプログラムＰＧａが実行されることにより、対応点探索処理(後述)が行えることとなる。
【００３９】
制御部３６のメモリ３６ｂには、記録媒体である光ディスク９に記録されているプログラムデータを入出力部３５を介して格納することができる。これにより、この格納したプログラムを情報処理装置１Ａの動作に反映できる。
【００４０】
また、制御部３６では、ステレオカメラ２で取得したステレオ画像間の対応点を探索する処理を行えるが、この対応点探索処理について以下で説明する。
【００４１】
なお、本実施形態では、説明を簡素化するために、ステレオカメラの収差は良好に補正されており、かつ平行に設定されているものとする。実際のハードがこのような条件になくても、画像処理によって同等の画像に変換することは可能である。
【００４２】
＜対応点探索処理＞
情報処理装置３Ａでは、ＳＡＤ(Sum of Absolute Difference)法を用いたステレオ画像間の対応点探索処理が可能となっている。このＳＡＤ法による対応点探索について図２を参照して説明する。
【００４３】
図２は、ＳＡＤ法を用いた対応点探索処理を説明するための図である。
【００４４】
ステレオカメラ２の撮像系２１、２２により同期して取得された２つの画像を、基準画像(第１画像)Ｇａおよび参照画像(第２画像)Ｇｂとして設定する。そして、参照画像Ｇｂ上での対応画素(対応点)を探索するために基準画像Ｇａ上で指定される画素(指定点)Ｗａｏを中心点として内包するウィンドウ(第１領域)Ｗａを基準画像Ｇａ上に設定するとともに、ウィンドウＷａのサイズと同じサイズを有するウィンドウ(第２領域)Ｗｂを参照画像Ｇｂにおける複数の位置に設定する。
【００４５】
ここで、ステレオカメラは平行に設置されているため、参照画像Ｇｂにおける複数のウィンドウＷｂは、最大視差ｐmaxの範囲にわたって水平方向(横方向)に設定される。例えば、図２に示す参照画像Ｇｂ上における位置（視差ｐ＝０の位置）Ｑoから、最大視差ｐmaxに対応した位置Ｑmaxまで水平方向に１画素ずつずらせた複数のウィンドウＷｂが設定される。
【００４６】
次に、各視差ｐ、つまり参照画像Ｇｂ上に設定されるウィンドウＷｂの各位置において、基準画像ＧａにおけるウィンドウＷａ内の画像と参照画像ＧｂにおけるウィンドウＷｂ内の画像とに関する類似度を示す相関値を演算する。この相関演算では、例えばウィンドウＷａ内の各画素の濃度をImg1(i,j)、視差ｐでのウィンドウＷｂ内の各画素の濃度をImg2(i,j+p)として次の式(１)を用いた相関値ＣＯＲｐが算出される。
【００４７】
【数１】
2008090583.tif 000003
【００４８】
上式(１)によって各視差ｐに対する相関値が算出されると、図２のグラフＫｆのように視差ｐと相関値との関係が明らかになる。このグラフＫｆにおいて相関値の極大値(極値点)をとる視差ｐｓに対応するウィンドウＷｂの中心点が、基準画像Ｇａの指定点Ｗａｏに対応した点となる。すなわち、上式(１)を用いて算出される相関値に基づき相関値のピーク位置を特定することで、基準画像Ｇａの指定点Ｗａｏに対応した参照画像Ｇｂ上の対応点が探索されることとなる。
【００４９】
以下では、各視差ｐに対する相関値から、相関値の極値点を適切に判断(検出)する手法について説明する。
【００５０】
相関値の極値点については、次の式(２)および式(３)を満足する視差ｐの位置を、極値点として検出することとする。
【００５１】
【数２】
2008090583.tif 000004
【００５２】
すなわち、上式(２)のように視差ｐでの相関値(極大値)に対する両隣の視差(p-1)および視差(p+1)での相関値の割合が閾値α(例えば０.９)より小さい場合（つまりグラフ形状において一定の凸部がある場合）で、かつ視差ｐでの相関値が閾値βより大きい場合には、その視差ｐにおいて極値点を持つものと判断する。つまり、相関値に係る極大値が閾値(第１の閾値)βより大きい第１の条件と、極大値をとるウィンドウＷｂの位置に隣接して設定されるウィンドウＷｂの位置で算出される相関値の、当該極大値に対する比率が閾値(第２の閾値)αより小さい第２の条件とを満たす極大値の点を、極値点として検出することとする。
【００５３】
次に、以上のような極値点を判断する手法を適用して検出される極値点について、具体例を挙げて説明する。
【００５４】
図３は、極値点の検出について説明するための図である。図３(ａ)〜(ｅ)では、視差と相関値との関係において想定されるグラフの例示として５種類のグラフ形状を示している。
【００５５】
図３(ａ)〜(ｅ)に示す各グラフに対し、上記の式(２)および式(３)を適用して検出される極値点について、以下で説明する。
【００５６】
図３(ａ)は、１個の極値点Ｊｋが検出されるケースで、図３(ｂ)は、２個の極値点Ｊ１、Ｊ２が検出されるケースである。すなわち、図３(ａ)の極値点Ｊｐおよび図３(ｂ)の各極値点Ｊ１、Ｊ２は、それぞれ相関値が閾値βより大きく、その相関値に対する両隣りの視差での相関値の割合が閾値α(例えば０.９)より小さい条件を満たしている点である。
【００５７】
図３(ｃ)〜(ｅ)は、それぞれ極値点が検出されない（つまり０個の極値点が検出される）ケースである。すなわち、図３(ｄ)〜(ｅ)のグラフにおいては、相関値(の最大値)が閾値β以下である(つまり上記の式(３)を満足しない)ため、極値点が検出されない。一方、図３(ｃ)のグラフでは、相関値の最大値(極大値)Ｅｋが閾値βより大きいものの、その両隣りの視差での相関値Ｅ１、Ｅ２の比率が閾値α以上である(つまり上記の式(２)を満足しない)ため、相関値の最大値Ｅｋが極値点として検出されないこととなる。
【００５８】
以上のような極値点の検出によって、図３(ａ)のように１個の極値点Ｊｋが検出される場合には、基準画像Ｇａの指定点Ｗａｏに関する参照画像Ｇｂの対応点を容易に特定できるものの、図３(ｂ)のように２個の極値点Ｊ１、Ｊ２が検出される場合や、図３(ｃ)〜(ｅ)のように極値点が検出されない場合には、参照画像において対応点を特定するのが困難となる。
【００５９】
そこで、相関演算によって得られた視差(ウィンドウＷｂの各位置)と相関値との関係から取得される極値情報(例えば図３(ａ)〜(ｅ)に示すグラフでの極値点の情報)に基づき、２個以上の極値点が検出される場合や極値点が検出されない場合には、基準画像Ｇａ上のウィンドウＷａおよび参照画像Ｇｂ上のウィンドウＷｂのウィンドウサイズを変更し、サイズ変更されたウィンドウで上述の対応点探索処理による対応点の再探索を実行することとする。
【００６０】
最適なウィンドウサイズは、画像の濃度変化に応じて決定するのが好ましいと言われている。すなわち、濃度の変化が小さい一様な画像部分では、ウィンドウサイズが小さいと類似する参照画像上のウィンドウが多くなってしまうとともに、濃度の変化が大きいエッジ部分では、ウィンドウサイズが大きいと周辺部が雑音となってしまうため、対応点の探索を良好に行うことが困難となる。よって、本実施形態の情報処理装置３Ａでは、基準画像ＧａのウィンドウＷａ内の画像におけるコントラストを算出し、このコントラストに基づくウィンドウサイズに設定されたウィンドウを用いて対応点の探索を行う。
【００６１】
具体的には、次の式(４)を用いて基準画像ＧａにおけるウィンドウＷａ内の画像のコントラストＣＴＲを算出する。
【００６２】
【数３】
2008090583.tif 000005
【００６３】
そして、上式(４)で算出されたコントラストＣＴＲが、予め定められた閾値γより大きい場合には、小さいウィンドウサイズに変更するとともに、コントラストＣＴＲが閾値γ以下である場合には、大きいウィンドウサイズに変更する。このウィンドウサイズの変更については、例えばウィンドウの重心位置(中心点)を中心としてウィンドウの拡大・縮小が行われる。
【００６４】
このようにウィンドウＷａ内の画像に関するコントラスト情報に基づき別のサイズにサイズ変更されたウィンドウＷａ、Ｗｂを基準画像Ｇａおよび参照画像Ｇｂに設定して上述の対応点探索処理を再び実行することにより、１個の極値点が適切に得られるようになるため、対応点の再探索が良好に行えることとなる。
【００６５】
なお、情報処理システム１Ａでは、基準画像Ｇａでの１つの指定点に対応する参照画像Ｇｂ上の対応点が特定されると、次の指定点に関する対応点探索処理が行われる。具体的には、ウィンドウＷａの中心点を所定の画素数(例えば１画素)だけ右方向にずらせたウィンドウを基準画像Ｇａ上に設定して参照画像Ｇｂ上の対応点が探索されることとする。このような指定点を基準画像Ｇａ上の全画素に設定すれば、基準画像Ｇａ上の全画素に対する参照画像Ｇｂ上の対応点の特定が可能となる。
【００６６】
＜情報処理システム１Ａの動作＞
図４は、情報処理システム１Ａの基本的な動作を示すフローチャートである。この情報処理システム１Ａの動作は、制御部３６のＣＰＵ３６ａで記憶部３４内のプログラムＰＧａが実行されることにより実施される。
【００６７】
ステップＳ１では、ステレオカメラ２によって撮影されたステレオ画像（基準画像Ｇａおよび参照画像Ｇｂ）をデータ線ＣＢを介して情報処理装置３Ａで取得する。
【００６８】
ステップＳ２では、ウィンドウＷａによるスキャン対象が基準画像Ｇａに存在するかを判定する。すなわち、基準画像Ｇａの各画素について参照画像Ｇｂの対応点が探索されたか否かを判断する。ここで、スキャン対象が存在する場合には、ステップＳ３に進み、スキャン対象が残存しない場合には、本フローチャートの動作を終了する。
【００６９】
ステップＳ３では、基準画像Ｇａ上の指定点に対応した参照画像Ｇｂ上の対応点の探索を行う(後で詳述)。
【００７０】
ステップＳ４では、ステップＳ３で得られた各視差に対する相関値のデータから、相関値のグラフ形状を解析する(後で詳述)。
【００７１】
ステップＳ５では、ステップＳ４における相関値のグラフ形状の解析結果に基づき、相関値のグラフにおける相関値の極大値に係る極値点の数が１個であるかを判定する。ここで、極値点の数が１個である場合には、ステップＳ６における対応点の再探索を実行しないことを決定してステップＳ７に進み、極値点の数が１個以外の場合には、ステップＳ３において適切な対応点探索処理が行われなかったとしてステップＳ６に進む。
【００７２】
すなわち、ステップＳ５では、ステップＳ３での対応点探索処理による対応点の探索を実行した後に、この対応点探索処理を通じて得られた極値点の数の情報(取得情報)に基づき、次のステップＳ６における対応点の再探索を実行するか否かが決定されることとなる。
【００７３】
ステップＳ６では、基準画像Ｇａおよび参照画像Ｇｂに設定するウィンドウのサイズを変更して対応点の再探索を行う(後で詳述)。すなわち、ステップＳ３で行われた対応点探索処理と異なる対応点探索処理(第２の対応点探索処理)により、基準画像Ｇａ上の指定点Ｗａｏ(図２)に対応した参照画像Ｇｂ上の対応点が探索される。
【００７４】
ステップＳ７では、基準画像Ｇａ上での指定点(ウィンドウＷａの中心点)に対応した参照画像Ｇｂ上の対応点を特定する。この場合、ステップＳ３における対応点の探索動作によって極値点が１個に定まらない場合でも、ステップＳ６における対応点の再探索を行うことによって１個の極値点を検出できるため、参照画像Ｇｂにおいて適切に対応点を特定できることとなる。
【００７５】
ステップＳ８では、スキャン位置を更新する。すなわち、基準画像ＧａのウィンドウＷａを例えば右方向に１画素ずらせた位置に移動させる。なお、横方向に１画素ずらすとウィンドウＷａが基準画像Ｇａからはみ出る場合には、１画素下の左端にウィンドウＷａを移動する。
【００７６】
図５は、上記ステップＳ３の動作に対応しており、対応点の探索動作を示すフローチャートである。
【００７７】
ステップＳ３１では、ステップＳ１で取得した基準画像Ｇａおよび参照画像Ｇｂの各画像に同じウィンドウサイズのウィンドウＷａおよびウィンドウＷｂを設定する。ここで、参照画像Ｇｂ上のウィンドウＷｂは、視差ｐ＝０の位置(図２のウィンドウ位置Ｑｏ)に設定されるものとする。
【００７８】
ステップＳ３２では、参照画像ＧｂにおけるウィンドウＷｂの位置に対応する視差ｐが最大視差ｐmax未満であるかを判定する。ここで、視差ｐが最大視差ｐmax未満の場合にはステップＳ３３に進み、最大視差ｐmax以上となった場合には、ステップＳ４に進む。
【００７９】
ステップＳ３３では、基準画像ＧａにおけるウィンドウＷａ内の画像と、参照画像ＧｂにおけるウィンドウＷｂ内の画像との相関値を算出する。ここでは、上記の式(１)を用いて視差ｐでの相関値ＣＯＲｐが算出されることとなる。
【００８０】
ステップＳ３４では、現在設定されている視差ｐと、ステップＳ３３で算出された相関値とを、例えばメモリ３６ｂに記憶する。
【００８１】
このステップＳ３４の動作を各視差０〜ｐmaxにおいて繰り返すことにより、メモリ３６ｂには各視差０〜ｐmaxと相関値との関係を表すデータが蓄積されることとなる。
【００８２】
ステップＳ３５では、視差ｐを更新する。具体的には、視差ｐを例えば１だけ増加させる。これにより、参照画像Ｇｂに設定されるウィンドウＷｂが右方向に１画素ずれることとなる。
【００８３】
図６は、上記ステップＳ４の動作に対応しており、相関値のグラフ形状の解析動作を示すフローチャートである。
【００８４】
ステップＳ４１では、上記のステップＳ３４の動作によりメモリ３６ｂに蓄積された各視差０〜ｐmaxと相関値との関係を示すデータを読み出す。これにより、図２のグラフＫｆに示すような相関値のグラフ形状が把握できることとなる。
【００８５】
ステップＳ４２では、ステップＳ４１で読み出されたデータから、相関値の極大値と、その視差とを抽出する。
【００８６】
ステップＳ４３では、極大値が閾値βより大きいかを判定する。具体的には、極大値が上記の式(３)を満たしているか否かを判断する。ここで、例えば図３(ａ)〜(ｃ)のように極大値が閾値βより大きい場合には、ステップＳ４４に進み、例えば図３(ｄ)〜(ｅ)のように極大値が閾値β以下の場合には、ステップＳ５に進む。
【００８７】
ステップＳ４４では、上記の式(２)および式(３)を満足する極大値を極値点として検出する。例えば、図３(ａ)では、１個の極値点Ｊｋが検出され、図３(ｂ)では、２個の極値点Ｊ１、Ｊ２が検出されるとともに、図３(ｃ)では、０個の極値点が検出される。
【００８８】
ステップＳ４５では、ステップＳ４４で検出された極値点の数を、例えばメモリ３６ｂに記憶する。具体的には、図３(ａ)のグラフ形状については極値点の数「１」が記憶され、図３(ｂ)のグラフ形状については極値点の数「２」が記憶される。また、図３(ｃ)のグラフ形状においては極値点の数「０」が記憶されることとなる。
【００８９】
ステップＳ４６では、極値点の数を「０」として、例えばメモリ３６ｂに記憶する。
【００９０】
図７は、上記ステップＳ６の動作に対応しており、対応点の再探索動作を示すフローチャートである。
【００９１】
ステップＳ６１では、基準画像Ｇａおよび参照画像Ｇｂに対してウィンドウのサイズを再設定する(後で詳述)。
【００９２】
ステップＳ６２では、ステップＳ６１で再設定されたサイズのウィンドウを基準画像Ｇａおよび参照画像Ｇｂに設定し、上記のステップＳ３と同様の動作、つまり図５のフローチャートに示す対応点の探索動作を行う。すなわち、上記のステップＳ３で行われる対応点探索処理において基準画像Ｇａ上のウィンドウＷａおよび参照画像Ｇｂ上のウィンドウＷｂのサイズを、ステップＳ３でのウィンドウサイズと異なる別のサイズに設定して行われる対応点探索処理が実施される。
【００９３】
図８は、上記ステップＳ６１の動作に対応しており、ウィンドウサイズの再設定動作を示すフローチャートである。
【００９４】
ステップＳ７１では、基準画像Ｇａ上のウィンドウＷａ内の画像に関するコントラストを算出する。具体的には、上記の式(４)を用いてコントラストＣＴＲが算出される。
【００９５】
ステップＳ７２では、ステップＳ７１で算出されたコントラストが閾値γより大きいかを判定する。ここで、コントラストが閾値γより大きい場合には、ステップＳ７３に進み、閾値γ以下の場合には、ステップＳ７６に進む。
【００９６】
ステップＳ７３では、基準画像Ｇａに設定するウィンドウサイズを縮小する。
【００９７】
ステップＳ７４では、ステップＳ７３でサイズ変更したウィンドウ内の画像に関するコントラストを再び算出する。
【００９８】
ステップＳ７５では、ステップＳ７４で算出されたコントラストが閾値γより小さいかを判定する。ここで、コントラストが閾値γより小さい場合には、ウィンドウサイズが適切であるとしてステップＳ７９に進む。一方、コントラストが閾値γ以上の場合には、ステップＳ７３に戻って更にウィンドウサイズを縮小する。
【００９９】
ステップＳ７６では、基準画像Ｇａに設定するウィンドウサイズを拡大する。
【０１００】
ステップＳ７７では、ステップＳ７６でサイズ変更したウィンドウ内の画像に関するコントラストを再び算出する。
【０１０１】
ステップＳ７８では、ステップＳ７７で算出されたコントラストが閾値γより大きいかを判定する。ここで、コントラストが閾値γより大きい場合には、ウィンドウサイズが適切であるとしてステップＳ７９に進む。一方、コントラストが閾値γ以下の場合には、ステップＳ７６に戻って更にウィンドウサイズを拡大する。
【０１０２】
ステップＳ７９では、ステップＳ７３またはステップＳ７６の動作によってサイズ変更したウィンドウを基準画像Ｇａ(および参照画像Ｇｂ)に再設定する。
【０１０３】
以上で説明した情報処理システム１Ａの動作により、ＳＡＤ法を用いた対応点の探索によって得られた視差と相関値との関係を示すグラフ形状から得られる極値点の数に基づき、ウィンドウサイズを変更した対応点の再探索を行うか否かを決定するため、対応点探索を精度良く迅速に行えることとなる。
【０１０４】
なお、情報処理システム１Ａにおける対応点探索処理については、ＳＡＤ法を用いて相関値を算出するのは必須でなく、濃度の二乗和を求めるＳＳＤ法や、ＮＣＣ（正規化相互相関）法を用いて相関値を算出するようにしても良い。
【０１０５】
＜第２実施形態＞
本発明の第２実施形態に係る情報処理システム１Ｂは、図１に示す第１実施形態の情報処理システム１Ａと類似の構成を有しているが、情報処理装置の記憶部に格納されるプログラム(の構成)が異なっている。
【０１０６】
すなわち、第２実施形態に係る情報処理装置３Ｂの記憶部３４には、以下で説明する情報処理システム１Ｂの動作を実行するためのプログラムＰＧｂが記憶されている。
【０１０７】
＜情報処理システム１Ｂの動作＞
情報処理システム１Ｂでは、図４のフローチャートに示す動作と類似した動作が行われるが、対応点の再探索動作が異なっている。以下では、情報処理システム１Ｂにおける対応点再探索動作(図４のステップＳ６０の動作)について説明する。
【０１０８】
図９は、情報処理システム１Ｂにおける対応点の再探索動作を示すフローチャートである。
【０１０９】
ステップＳ８１では、第１実施形態のステップＳ６１(図７)と同様の動作、つまり上述した図８のフローチャートに示すウィンドウサイズの再設定動作を行う。
【０１１０】
ステップＳ８２では、図５のステップＳ３１と同様に、ステレオカメラ２で取得した基準画像Ｇａおよび参照画像Ｇｂの各画像にウィンドウＷａおよびウィンドウＷｂを設定する。
【０１１１】
ステップＳ８３では、フラグＦｌａｇに０を代入する。
【０１１２】
ステップＳ８４では、図４のステップＳ４における相関値のグラフ形状の解析結果に基づき、相関値のグラフにおける極値点の数が２以上であるかを判定する。ここで、極値点の数が２以上の場合には、ステップＳ８５に進み、極値点の数が２未満の場合には、ステップＳ８６に進む。
【０１１３】
ステップＳ８５では、フラグＦｌａｇに１を代入する。
【０１１４】
ステップＳ８６では、図５のステップＳ３２と同様に、参照画像ＧｂにおけるウィンドウＷｂの位置に対応する視差ｐが最大視差ｐmax未満であるかを判定する。ここで、視差ｐが最大視差ｐmax未満の場合にはステップＳ８７に進み、最大視差ｐmax以上となった場合には、ステップＳ９２に進む。
【０１１５】
ステップＳ８７では、フラグＦｌａｇが０であるかを判定する。すなわち、図４のステップＳ４における相関値のグラフ形状の解析動作によって２未満の極値点が検出されたかを否かを判断する。
【０１１６】
このステップＳ８７において、フラグＦｌａｇが０である場合には、ステップＳ８９に進む。ただし、図４のステップＳ４で１個の極値点が検出された場合には本フローチャートの対応点の再探索動作は行われないため、実質的には上記のステップＳ４で極値点が検出されなかった場合に、ステップＳ８９に進むこととなる。
【０１１７】
一方、ステップＳ８７において、フラグＦｌａｇが０でない場合、つまり図４のステップＳ４で２個以上の極値点が検出された場合には、ステップＳ８８に進む。
【０１１８】
ステップＳ８８では、視差ｐで極値点をとるかを判定する。具体的には、図４のステップＳ４で検出された極値点での視差に該当しているか否かを判断する。ここで、視差ｐで極値点をとる場合には、ステップＳ８９に進み、極値点をとらない場合には、ステップＳ９１に進む。
【０１１９】
このステップＳ８８の動作は、図４のステップＳ４で検出された２個以上の極値点の中には、適切な１個の極値点が含まれているものと考えられるため、検出された２個以上の極値点に関する視差のみを対象にステップＳ８９の相関値の演算を行うのに必要な動作となる。このように極値点の数が２以上である場合には当該２以上の極値点それぞれに係るウィンドウＷｂの各位置においてのみ相関値を算出する対応点探索処理によって対応点の再探索を実行するにより、相関値の算出を効率良く行え、迅速な対応点の再探索が可能となる。
【０１２０】
ステップＳ８９〜Ｓ９１では、図５のステップＳ３３〜３５と同様の動作を行う。
【０１２１】
ステップＳ９２では、ステップＳ９０で記憶された視差ｐと相関値との関係のデータを参照し、最大の相関値(つまり１個の極値点)と、その相関値での視差とを決定する。
【０１２２】
以上の情報処理システム１Ｂの動作により、第１実施形態と同様の効果を奏する。さらに、本実施形態の情報処理システム１Ｂでは、対応点探索(図４のステップＳ３)において２個以上の極値点が検出された場合には、検出された各極値点のみでウィンドウサイズを変更した対応点の再探索(図４のステップＳ６０)を行うため、対応点の再探索を効率良く迅速に行える。
【０１２３】
＜第３実施形態＞
本発明の第３実施形態に係る情報処理システム１Ｃは、図１に示す第１実施形態の情報処理システムと類似の構成を有しているが、情報処理装置の記憶部に格納されているプログラム(の構成)が異なっている。
【０１２４】
すなわち、第３実施形態に係る情報処理装置３Ｃの記憶部３４には、以下で説明する情報処理システム１Ｃの動作を実行するためのプログラムＰＧｃが記憶されている。
【０１２５】
＜情報処理システム１Ｃの動作＞
情報処理システム１Ｃでは、図４のフローチャートに示す動作と類似した動作が行われるが、対応点の再探索動作が異なっている。具体的には、情報処理システム１Ｃにおける対応点の再探索動作では、第１実施形態のようにＳＡＤ法を用いた対応点探索処理を行うのではなく、以下で説明する位相限定相関法（ＰＯＣ：Phase Only Correlation)を用いた対応点探索処理を行うように構成されている。
【０１２６】
図１０は、位相限定相関法を用いた対応点探索処理を説明するための図である。
【０１２７】
位相限定相関法を用いた対応点探索処理では、まず基準画像上のウィンドウ内の画像と、参照画像上のウィンドウ内の画像とが抽出される。これらの画像については、次の数４のように表されるものとする。
【０１２８】
【数４】
2008090583.tif 000006
【０１２９】
ここで、上記の数４におけるｆ(ｎ1,ｎ2)およびｇ(ｎ1,ｎ2)は、基準画像上のウィンドウ内の画像および参照画像上のウィンドウ内の画像を示している。また、Ｎ1およびＮ2は、例えばＮ1＝２Ｍ1＋１、Ｎ2＝２Ｍ2＋１と設定されている。
【０１３０】
次に、基準画像および参照画像のウィンドウ内の各画像に対し、次の数５に示す演算式を用いた２次元のフーリエ変換処理Ｔ１ａ、Ｔ１ｂを行う。
【０１３１】
【数５】
2008090583.tif 000007
【０１３２】
なお、上記の数５のただし書におけるＷの添字Ｐには、Ｎ1、Ｎ2が代入され、またｋの添字ｓには、１、２が代入される。
【０１３３】
このようなフーリエ変換処理Ｔ１ａ、Ｔ１ｂが施された各画像に対しては、次の数６に示す演算式を用いて、画像の振幅成分を除去するための規格化処理Ｔ２ａ、Ｔ２ｂが行われる。
【０１３４】
【数６】
2008090583.tif 000008
【０１３５】
規格化処理Ｔ２ａ、Ｔ２ｂが完了すると、次の数７に示す演算式を用いた合成処理Ｔ３が行われるとともに、数８に示す演算式を用いた２次元の逆フーリエ変換処理Ｔ４が行われる。これにより、各画像間の相関演算が実施されることとなり、その結果(ＰＯＣ値)が出力される。
【０１３６】
【数７】
2008090583.tif 000009
【０１３７】
【数８】
2008090583.tif 000010
【０１３８】
以上の位相限定相関法を用いた処理により、例えば図１１に示すような結果が得られる。この図１１においては、ウィンドウ(Ｎ1×Ｎ2)内で相関が高い箇所のＰＯＣ値が大きくなっており、ＰＯＣ値のピークＪｃに対応する参照画像上のウィンドウ内の位置が、基準画像上のウィンドウの中心点(指定点)に対応した参照画像上の対応点に相当することとなる。
【０１３９】
以上のような位相限定相関法を用いた対応点探索処理によれば、画像の振幅成分を除去し画像の位相成分のみで相関演算が行われるため、輝度変動やノイズの影響を抑制して参照画像上の対応点を精度良く探索できる。
【０１４０】
そして、情報処理システム１Ｃでは、ＳＡＤ法を用いた対応点探索（図４のステップＳ３）で良好な結果が得られない場合(つまり極値点数が１以外となる場合)には、上述した位相限定相関法を用いた対応点の再探索を行うため、参照画像上の対応点を精度良く確実に特定できることとなる。
【０１４１】
＜変形例＞
・上記の各実施形態における対応点探索処理(図４のステップＳ３)では、基準画像の全画素について参照画像上の対応点を探索するのは必須でなく、基準画像で予め定められた画像範囲内の画素のみについて対応点の探索を行うようにしても良い。
【０１４２】
・上記の第２実施形態においては、図８のステップＳ７２、Ｓ７５、Ｓ７８で比較される閾値γが同じ数値に設定されるのは必須でなく、それぞれ異なる数値に設定されていても良い。
【図面の簡単な説明】
【０１４３】
【図１】本発明の第１実施形態に係る情報処理システム１Ａの要部構成を示すブロック図である。
【図２】ＳＡＤ法を用いた対応点探索処理を説明するための図である。
【図３】極値点の検出について説明するための図である。
【図４】情報処理システム１Ａの基本的な動作を示すフローチャートである。
【図５】対応点の探索動作を示すフローチャートである。
【図６】相関値のグラフ形状の解析動作を示すフローチャートである。
【図７】対応点の再探索動作を示すフローチャートである。
【図８】ウィンドウサイズの再設定動作を示すフローチャートである。
【図９】本発明の第２実施形態に係る情報処理システム１Ｂにおける対応点の再探索動作を示すフローチャートである。
【図１０】本発明の第３実施形態に係る情報処理システム１Ｃにおける位相限定相関法を用いた対応点探索処理を説明するための図である。
【図１１】位相限定相関法による対応点の探索を説明するための図である。
【図１２】画像間の対応点から三角測量の原理に基づいて３次元位置を算出する方法を模式的に示す図である。
【符号の説明】
【０１４４】
１Ａ、１Ｂ、１Ｃ  情報処理システム
２  ステレオカメラ
３Ａ、３Ｂ、３Ｃ  情報処理装置
３４  記憶部
３６  制御部
３６ｂ  メモリ
Ｊ１、Ｊ２、Ｊｋ  極値点
Ｇａ  基準画像
Ｇｂ  参照画像
ＰＧａ、ＰＧｂ、ＰＧｃ  プログラム
Ｗａ、Ｗｂ  ウィンドウ
【図１】
2008090583.tif 000011
【図２】
2008090583.tif 000012
【図３】
2008090583.tif 000013
【図４】
2008090583.tif 000014
【図５】
2008090583.tif 000015
【図６】
2008090583.tif 000016
【図７】
2008090583.tif 000017
【図８】
2008090583.tif 000018
【図９】
2008090583.tif 000019
【図１０】
2008090583.tif 000020
【図１１】
2008090583.tif 000021
【図１２】
2008090583.tif 000022