(57)【要約】【課題】複数の画像から対象物の３次元位置情報を得る場合に、高精度かつ高速に処理を行うことのできる相関演算装置、相関演算方法及びプログラムを提供する。【解決手段】基準画像と参照画像とを取得する画像取得部２と、基準画像及び参照画像について解像度の異なる複数の階層画像を生成する多重解像度画像生成部３と、基準画像と参照画像との視差値に基づいて距離値を算出するＳＡＤ演算部５と、階層画像の中から、距離値に基づいて対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択部７と、画像選択部７により選択された階層画像から対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について対応点の探索を行い、最高解像度の階層画像に至るまで順に対応点の探索を繰り返すＰＯＣ演算部８とを備えている。【選択図】図１
2008209275.tif 000002
【特許請求の範囲】
【請求項１】
第１画像情報と比較対象となる第２画像情報とを取得する画像取得手段と、
前記画像取得手段により取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像を生成する多重解像度画像生成手段と、
前記第１画像情報と前記第２画像情報との視差値に基づいて距離値を算出する距離値算出手段と、
前記多重解像度画像生成手段により生成された前記第１画像情報及び前記第２画像情報の階層画像の中から、前記距離値算出手段により算出された距離値に基づいて、対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択手段と、
前記第１画像情報と前記第２画像情報とを照合して対応点を探索するものであって、前記画像選択手段により選択された階層画像から前記対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について前記対応点の探索を行い、最高解像度の階層画像に至るまで順に前記対応点の探索を繰り返す対応点探索手段と、
を備えていることを特徴とする相関演算装置。
【請求項２】
前記多重解像度画像生成部により生成された前記第１画像情報及び前記第２画像情報の階層画像について、画像の特性を判定する画像特性判定手段をさらに備え、
前記画像選択手段は、前記画像特性判定手段により判定された画像の特性をも加味して、前記対応点の探索を開始するのに最適な解像度の階層画像を選択することを特徴とする請求項１に記載の相関演算装置。
【請求項３】
前記距離算出手段は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法のうちのいずれかにより距離値を算出するものであることを特徴とする請求項１又は請求項２に記載の相関演算装置。
【請求項４】
前記対応点探索手段は、ＰＯＣ演算法により対応点を探索するものであることを特徴とする請求項１から請求項３のいずれか一項に記載の相関演算装置。
【請求項５】
第１画像情報と比較対象となる第２画像情報とを取得する画像取得工程と、
前記画像取得工程により取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像をそれぞれ生成する多重解像度画像生成工程と、
前記第１画像情報と前記第２画像情報との視差値に基づいて距離値を算出する距離値算出工程と、
前記多重解像度画像生成工程により生成された前記第１画像情報及び前記第２画像情報の階層画像の中から、前記距離値算出工程により算出された距離値に基づいて、対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択工程と、
前記第１画像情報と前記第２画像情報とを照合して対応点を探索するものであって、前記画像選択工程により選択された階層画像から前記対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について前記対応点の探索を行い、最高解像度の階層画像に至るまで順に前記対応点の探索を繰り返す対応点探索工程と、
を備えていることを特徴とする相関演算方法。
【請求項６】
前記多重解像度画像生成工程により生成された前記第１画像情報及び前記第２画像情報の階層画像について、画像の特性を判定する画像特性判定工程をさらに備え、
前記画像選択工程は、前記画像特性判定工程により判定された画像の特性をも加味して、前記対応点の探索を開始するのに最適な解像度の階層画像を選択することを特徴とする請求項５に記載の相関演算方法。
【請求項７】
前記距離算出工程は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法のうちのいずれかにより距離値を算出するものであることを特徴とする請求項５又は請求項６に記載の相関演算方法。
【請求項８】
前記対応点探索工程は、ＰＯＣ演算法により対応点を探索するものであることを特徴とする請求項５から請求項７のいずれか一項に記載の相関演算方法。
【請求項９】
第１画像情報と比較対象となる第２画像情報とについて解像度の異なる複数の階層画像をそれぞれ生成する多重解像度画像生成機能と、
前記第１画像情報と前記第２画像情報との視差値に基づいて距離値を算出する距離値算出機能と、
前記多重解像度画像生成機能により生成された前記第１画像情報及び前記第２画像情報の階層画像の中から、前記距離値算出機能により算出された距離値に基づいて、対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択機能と、
前記第１画像情報と前記第２画像情報とを照合して対応点を探索するものであって、前記画像選択機能により選択された階層画像から前記対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について前記対応点の探索を行い、最高解像度の階層画像に至るまで順に前記対応点の探索を繰り返す対応点探索機能と、
をコンピュータに実現させることを特徴とするコンピュータ読取可能なプログラム。
【請求項１０】
前記コンピュータに、
多重解像度画像生成機能により生成された前記第１画像情報及び前記第２画像情報の階層画像について、画像の特性を判定する画像特性判定機能をさらに実現させるものであり、
前記画像選択機能は、前記画像特性判定機能により判定された画像の特性をも加味して、前記対応点の探索を開始するのに最適な解像度の階層画像を選択することを特徴とする請求項９に記載のコンピュータ読取可能なプログラム。
【請求項１１】
前記距離算出機能は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法のうちのいずれかにより距離値を算出するものであることを特徴とする請求項９又は請求項１０に記載のコンピュータ読取可能なプログラム。
【請求項１２】
前記対応点探索機能は、ＰＯＣ演算法により対応点を探索するものであることを特徴とする請求項９から請求項１１のいずれか一項に記載のコンピュータ読取可能なプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は相関演算装置、相関演算方法及びプログラムに係り、特に、複数の画像情報を用いて対象物の３次元位置情報を生成する相関演算装置、相関演算方法及びプログラムに関する。
【背景技術】
【０００２】
従来、複数の撮像手段により同一対象物（被写体）を異なる位置から撮像して複数の画像情報を得て、ＳＡＤ（Sum of Absolute Difference）演算法、ＳＳＤ（Sum of Squared Difference）演算法等による相関演算を行うことによりこの画像情報の相関度を算出し、相関度に基づいて同一対象物に対する視差値を求め、視差値から対象物の位置（距離）を求める相関演算装置が知られている。
【０００３】
また、このような相関演算装置において、解像度の異なる複数の画像を生成して、解像度別に階層構造とし、低解像度の上位層から高解像度の下位層に向かって逐次ＳＡＤ演算法、ＳＳＤ演算法等による相関演算を繰り返すことにより３次元位置情報を生成する技術が知られている（例えば、特許文献１から特許文献４参照）。
【０００４】
特許文献１から特許文献４に開示されている技術では、演算手法として、高速で処理が可能なＳＡＤ演算法、ＳＳＤ演算法等を用いるとともに、低解像度の上位層から高解像度の下位層に向かって演算を繰り返す際に、低解像度の上位層で得られた視差値に基づいて次の階層における探索領域の設定を行うため、最下層（最高解像度の層）まで演算処理を行う時間を短縮することができる。
しかし、ＳＡＤ演算法、ＳＳＤ演算法では、高精度に視差値を算出することは難しいとの問題があった。
【０００５】
そこで、特に、近年では、より高精度に３次元位置情報を得られる手法として、ＰＯＣ（Phase-Only Correlation；位相限定相関）演算法を用いて基準画像と参照画像との対応点を探索し、両画像の位置ずれ量に基づいて対象物の３次元位置情報を得ることが提案されている（例えば、非特許文献１参照）。
【０００６】
ＰＯＣ演算法は、もとになる画像のデータとこれと照合すべき画像のデータとをフーリエ変換で数学的に処理して、振幅（濃淡データ）と位相（像の輪郭データ）とに分解し、このうち位相情報のみを用いて、両画像の相関を求めるアルゴリズムであり、ＳＡＤ演算法、ＳＳＤ演算法等、従来の振幅情報を用いた相関演算法と異なって、外乱に強く、高精度な演算結果を得られるとの特色がある。
【０００７】
さらに、非特許文献１に開示されている技術では、解像度別に階層構造に形成された画像に対して、低解像度の上位層から高解像度の下位層に向かって順次ＰＯＣ演算を行うことにより、より高精度な対応点探索が可能となり、正確な３次元位置情報を得ることができる。
【特許文献１】特開２００１−３１９２２９号公報
【特許文献２】特開平７−１０３７３４号公報
【特許文献３】特開２００６−７２７５７号公報
【特許文献４】特開平１０−２１３８９号公報
【非特許文献１】A Sub-Pixel Correspondence Search Technique for Computer Vision Applications（東北大学）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、対象物までの距離が離れており基準画像と参照画像との視差がほとんど得られない場合や、画像のコントラストが低い場合等においては、低解像度画像での対応点探索の信頼性は著しく低下する。この点、特許文献１から特許文献４及び非特許文献１に記載されている技術のように、常に最低解像度から演算を開始し、すべての階層について順次演算処理を行うとすると、信頼性の低い結果しか得られない場合にも、演算処理を行うことになり、無駄に処理時間がかかってしまい、効率のよい相関演算処理を行うことができないとの問題がある。
【０００９】
特に、ＰＯＣ演算法は、高精度な演算結果が得られる半面、演算処理に時間を要する。このため、例えば非特許文献１に開示されている技術のように、常に最低解像度から順にすべての階層についてＰＯＣ演算法で処理を行うとすると、処理時間がかかることによる作業効率の低下が顕著である。
【００１０】
そこで、本発明は以上のような課題を解決するためになされたものであり、複数の画像から対象物の３次元位置情報を得る場合に、高精度かつ高速に処理を行うことのできる相関演算装置、相関演算方法及びプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に記載の相関演算装置は、
第１画像情報と比較対象となる第２画像情報とを取得する画像取得手段と、
前記画像取得手段により取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像を生成する多重解像度画像生成手段と、
前記第１画像情報と前記第２画像情報との視差値に基づいて距離値を算出する距離値算出手段と、
前記多重解像度画像生成手段により生成された前記第１画像情報及び前記第２画像情報の階層画像の中から、前記距離値算出手段により算出された距離値に基づいて、対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択手段と、
前記第１画像情報と前記第２画像情報とを照合して対応点を探索するものであって、前記画像選択手段により選択された階層画像から前記対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について前記対応点の探索を行い、最高解像度の階層画像に至るまで順に前記対応点の探索を繰り返す対応点探索手段と、
を備えていることを特徴としている。
【００１２】
請求項２に記載の発明は、請求項１に記載の相関演算装置であって、
前記多重解像度画像生成部により生成された前記第１画像情報及び前記第２画像情報の階層画像について、画像の特性を判定する画像特性判定手段をさらに備え、
前記画像選択手段は、前記画像特性判定手段により判定された画像の特性をも加味して、前記対応点の探索を開始するのに最適な解像度の階層画像を選択することを特徴としている。
【００１３】
請求項３に記載の発明は、請求項１又は請求項２に記載の相関演算装置であって、
前記距離算出手段は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法のうちのいずれかにより距離値を算出するものであることを特徴としている。
【００１４】
請求項４に記載の発明は、請求項１から請求項３のいずれか一項に記載の相関演算装置であって、
前記対応点探索手段は、ＰＯＣ演算法により対応点を探索するものであることを特徴としている。
【００１５】
請求項５に記載の相関演算方法は、
第１画像情報と比較対象となる第２画像情報とを取得する画像取得工程と、
前記画像取得工程により取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像をそれぞれ生成する多重解像度画像生成工程と、
前記第１画像情報と前記第２画像情報との視差値に基づいて距離値を算出する距離値算出工程と、
前記多重解像度画像生成工程により生成された前記第１画像情報及び前記第２画像情報の階層画像の中から、前記距離値算出工程により算出された距離値に基づいて、対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択工程と、
前記第１画像情報と前記第２画像情報とを照合して対応点を探索するものであって、前記画像選択工程により選択された階層画像から前記対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について前記対応点の探索を行い、最高解像度の階層画像に至るまで順に前記対応点の探索を繰り返す対応点探索工程と、
を備えていることを特徴としている。
【００１６】
請求項６に記載の発明は、請求項５に記載の相関演算方法であって、
前記多重解像度画像生成工程により生成された前記第１画像情報及び前記第２画像情報の階層画像について、画像の特性を判定する画像特性判定工程をさらに備え、
前記画像選択工程は、前記画像特性判定工程により判定された画像の特性をも加味して、前記対応点の探索を開始するのに最適な解像度の階層画像を選択することを特徴とする。
【００１７】
請求項７に記載の発明は、請求項５又は請求項６に記載の相関演算方法であって、
前記距離算出工程は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法のうちのいずれかにより距離値を算出するものであることを特徴とする。
【００１８】
請求項８に記載の発明は、請求項５から請求項７のいずれか一項に記載の相関演算方法であって、
前記対応点探索工程は、ＰＯＣ演算法により対応点を探索するものであることを特徴とする。
【００１９】
請求項９に記載の発明は、コンピュータ読取可能なプログラムであって、
第１画像情報と比較対象となる第２画像情報とについて解像度の異なる複数の階層画像をそれぞれ生成する多重解像度画像生成機能と、
前記第１画像情報と前記第２画像情報との視差値に基づいて距離値を算出する距離値算出機能と、
前記多重解像度画像生成機能により生成された前記第１画像情報及び前記第２画像情報の階層画像の中から、前記距離値算出機能により算出された距離値に基づいて、対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択機能と、
前記第１画像情報と前記第２画像情報とを照合して対応点を探索するものであって、前記画像選択機能により選択された階層画像から前記対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について前記対応点の探索を行い、最高解像度の階層画像に至るまで順に前記対応点の探索を繰り返す対応点探索機能と、
をコンピュータに実現させることを特徴とする。
【００２０】
請求項１０に記載の発明は、請求項９に記載のプログラムであって、
前記コンピュータに、
多重解像度画像生成機能により生成された前記第１画像情報及び前記第２画像情報の階層画像について、画像の特性を判定する画像特性判定機能をさらに実現させるものであり、
前記画像選択機能は、前記画像特性判定機能により判定された画像の特性をも加味して、前記対応点の探索を開始するのに最適な解像度の階層画像を選択することを特徴とする。
【００２１】
請求項１１に記載の発明は、請求項９又は請求項１０に記載のプログラムであって、
前記距離算出機能は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法のうちのいずれかにより距離値を算出するものであることを特徴とする。
【００２２】
請求項１２に記載の発明は、請求項９から請求項１１のいずれか一項に記載のプログラムであって、
前記対応点探索機能は、ＰＯＣ演算法により対応点を探索するものであることを特徴とする。
【発明の効果】
【００２３】
請求項１、請求項５又は請求項９に記載の発明によれば、距離値算出手段により算出された距離値に基づいて対応点の探索を開始するのに最適な解像度の階層画像を選択し、当該階層画像から対応点の探索を開始するので、信頼性の低い結果しか得られない可能性の高い階層については処理を行わないとすることができ、対応点の探索を効率的に行って、相関演算の総処理時間の短縮を図ることができるとの効果を奏する。
【００２４】
また、解像度の異なる複数の階層画像からなる多重解像度画像を生成して、低解像度の階層画像から高解像度の階層画像に向かって順次対応点の探索処理を繰り返すとともに、低解像度の階層画像について得られた探索結果を次階層における探索に反映させるので、高速かつ高精度の対応点探索を行うことができ、その結果に基づいて対象物の正確な３次元位置情報を得ることが可能となる。
【００２５】
請求項２、請求項６又は請求項１０に記載の発明によれば、画像特性判定手段によって判定された画像の特性をも加味して対応点の探索を開始するのに最適な解像度の階層画像を選択するので、例えばコントラストの低い画像の場合等、低解像度の画像について対応点探索を行っても信頼性が低い場合に、対応点の探索を効率的に行うことができ、信頼性の高い高精度の演算結果を得ることができるとの効果を奏する。
【００２６】
請求項３、請求項７又は請求項１１に記載の発明によれば、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法のうちのいずれかにより距離値を算出するので、高速で距離値を得ることができ、この距離値に基づいて対応点の探索を開始するのに最適な解像度の階層画像を選択するので、対応点の探索を効率的に行うことができ、相関演算の総処理時間の短縮を図ることができることができるとの効果を奏する。
【００２７】
請求項４、請求項８又は請求項１２に記載の発明によれば、高精度、かつ、外乱に強くロバストな演算手法であるＰＯＣ演算法により対応点を探索するので、信頼性の高い高精度の演算結果を得ることができるとの効果を奏する。
【発明を実施するための最良の形態】
【００２８】
以下、図１から図１０を参照しつつ、本発明に係る相関演算装置の一実施形態について説明する。ただし、発明の範囲を図示例に限定するものではない。
【００２９】
本実施形態に係る相関演算装置１は、２つの画像を照合して位置ずれ量を算出し、算出した位置ずれ量に基づいて３次元位置情報を生成するものである。
【００３０】
相関演算装置１は、例えば、図１に示すように、画像取得部２、画像取得部２により取得された画像データに基づいて相関演算を行い対象物の３次元位置情報を生成する画像処理部１０を備えている。
【００３１】
画像取得部２は２つの撮像手段２ａ，２ｂを備えて構成されており、画像取得部２は撮像手段２ａ，２ｂにより同一対象物を異なる視点から撮像して画像情報としての画像データを取得する。画像取得部２に取得される画像情報は、基準となる基準画像に基づく基準画像データ（第１画像情報）と、比較対象となる画像（以下、「参照画像」とする）に基づく参照画像データ（第２画像情報）である。
【００３２】
ここで、２つの撮像手段２ａ，２ｂを用いて同一対象物を撮像して基準画像データ（第１画像情報）と参照画像データ（第２画像情報）とを取得する場合には、撮像手段２ａ，２ｂの光軸は互いに平行であることが好ましい。また、画像取得部２にメモリ等の記憶手段を複数備え、参照画像データを記憶させておくこととしてもよい。なお、画像取得部２により取得された画像データには、画像を平行化する処理、歪み等を補正する処理等が施されることが好ましい。
【００３３】
画像処理部１０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）等の処理装置と、システムプログラム、後述する相関演算処理を行うための相関演算処理プログラム等、各種の制御プログラム等を格納するＲＯＭ（Read Only Memory）と、各種データを一時記憶するＲＡＭ（Random Access Memory）と（いずれも図示せず）、等により構成されるコンピュータであり、画像取得部２により取得された画像データから解像度の異なる複数の階層画像（後述）を生成する多重解像度画像生成部３、画像の特性を判定する画像特性判定部４、距離値算出手段としてのＳＡＤ演算部５、画像データの照合を行う画像照合部６、及び３次元情報生成部９が備えられている。
【００３４】
多重解像度画像生成部３は、前記画像取得部２により取得された基準画像データ（第１画像情報）と参照画像データ（第２画像情報）について、解像度の異なる複数の画像が、解像度の低いものから解像度の高いものに順に階層構造となった多重解像度画像を生成するものである。なお、各階層における画像を、以下「階層画像」と称する。
【００３５】
図２は、例えば、多重解像度画像生成部３が第０層から第２層までの３層の階層画像からなる多重解像度画像を生成する場合の画像データの構造を模式的に示したものである。
この場合、多重解像度画像生成部３により生成される多重解像度画像は、図２に示すように、例えば第０層目が当該画像データの最高解像度（すなわち、もとの画像データと同じ解像度）の階層画像、第２層目が最低解像度の階層画像、第１層目が両者の中間程度の解像度の階層画像となっている。
【００３６】
なお、多重解像度画像生成部３が何層構造の多重解像度画像を生成するか、最低解像度をどの程度の解像度とするかは特に限定されない。例えば、もとの画像データが８０×６０程度の低解像度の画像であれば、第０層目が８０×６０の解像度の階層画像、第１層目が４０×３０の解像度の階層画像というように２層から３層程度の少ない階層構造となる。また、もとの画像データが１２８０×９６０のように高解像度の画像であり、最低解像度をもとの画像データの１／３２の解像度である４０×３０の解像度とする場合には、第０層目が１２８０×９６０の解像度の階層画像、第ｎ層目が４０×３０の解像度の階層画像であり、第０層目から第ｎ層目までの間に、解像度の異なる複数の階層画像が生成されて、多くの階層を有する多重解像度画像が生成される。
また、後述するように、本実施形態においては、対応点探索においてフーリエ変換を行うので、フーリエ変換のウインドサイズが３０×３０程度である場合、３０×３０程度の解像度を最低解像度とする多重解像度画像を生成するようにすれば、一度の演算で対象領域のほぼ全域について演算処理を行うことができ、便宜である。
なお、多重解像度画像生成部３により生成される多重解像度画像の構造はもとの画像データの解像度等に応じて予めデフォルトで設定されていてもよいし、ユーザが任意に設定できるようにしてもよい。
【００３７】
画像特性判定部４は、基準画像、参照画像のコントラスト、テクスチャ（質感等）等の画像特性を判定するものである。
本実施形態において、例えば、図示しない記憶部に画像のコントラストに関する所定の閾値が記憶されており、画像特性判定部４は、この閾値と画像データのコントラストとを比較して、画像データのコントラストが所定の閾値以下であるか否か等の判定を行う。また、例えば、図示しない記憶部に予めテクスチャについて所定のパターン等が記憶されており、画像特性判定部４は、画像データのテクスチャが当該パターンに該当するか否かを判定する。
画像特性判定部４による判定結果は、画像照合部６の画像選択部７に出力されるようになっている。
【００３８】
ＳＡＤ演算部５は、画像取得手段２によって取得された画像データのうち、いずれか一方を基準画像とし、他方を参照画像とした場合に、基準画像と参照画像との相関度をＳＡＤ（Sum of Absolute Differences：絶対誤差合計）演算法により相関演算し、参照画像中、基準画像の演算対象領域と相関度の最も高かった領域について、基準画像と参照画像とのずれ量（視差値）を求める視差値算出処理を行う。そして、算出された視差値に基づいて対象物までの距離値を求めるようになっている。
なお、ＳＡＤ演算部５による演算を行う階層画像は特に限定されないが、処理時間を短縮するため、低解像度の階層画像に対してＳＡＤ演算処理を行うことが好ましい。
【００３９】
基準画像と参照画像との相関演算について図３を参照しつつ説明する。図３（ａ）は基準画像を表し、図３（ｂ）は参照画像を表している。図３において、各マスは１画素を表しており、基準画像及び参照画像の全画面は、ともに、Ｘ軸方向（横方向）が２６画素、Ｙ軸方向（縦方向）が２０画素で構成されている場合を例としている。
【００４０】
相関演算を行う場合には、ＳＡＤ演算部５は、基準画像を所定の単位面積に分割し、基準画像中のある領域を視差値を算出する位置（演算対象領域）として設定する。演算対象領域の設定は、例えば図３（ａ）の左上（Ｘ＝１，Ｙ＝２０）を基点として所定の範囲の領域が順次設定される。
【００４１】
すなわち、ある領域（例えばＸ＝１〜５，Ｙ＝１６〜２０の２５画素）が演算対象領域として設定され、当該演算対象領域についての相関演算が完了すると、例えばＸ軸方向（画像の水平方向）に１画素ずつ順次ずらして次の演算対象領域（例えばＸ＝２〜６，Ｙ＝１６〜２０の２５画素）が設定され、相関演算が行われる。Ｘ軸方向の全画素（図３（ａ）において２６画素）についてすべての相関演算が完了すると、Ｙ軸方向に１画素ずらして次の演算対象領域（例えばＸ＝１〜５，Ｙ＝１５〜１９の２５画素）が設定され、相関演算が行われる。当該演算対象領域について相関演算が完了すると、さらに、演算対象領域をＸ軸方向に１画素ずつ順次ずらして次の演算対象領域（例えばＸ＝２〜６，Ｙ＝１５〜１９の２５画素）が設定され、相関演算が行われる。
このように、画面の左上から右下にかけて、Ｘ軸方向、Ｙ軸方向それぞれ１画素ずつずらして順次演算対象領域が設定され、全画面の全画素について相関演算が完了するまで、各演算対象領域についての相関演算が繰り返される。なお、相関演算を行う順序（演算対象領域の設定の仕方）は、ここに例示したものに限定されない。
【００４２】
次に、相関演算の具体的手法について説明する。
例えば、図３（ａ）に示すように、基準画像中の破線で囲んだ範囲（Ｘ＝９〜１３，Ｙ＝９〜１３の２５画素）が演算対象領域として設定され、相関演算が行われる場合、ＳＡＤ演算部５は、参照画像中、演算対象領域と同じＹ軸範囲（Ｙ＝９〜１３）についてＸ軸方向（画像の水平方向）に順次比較対照領域を設定し、順次相関演算を行うことにより、演算対象領域と各比較対照領域との相関度を算出する。これにより参照画像中、演算対象領域と最も相関度の高い領域を探索する。
【００４３】
すなわち、ＳＡＤ演算部５は、まず、演算対象領域を構成する各画素（図３（ａ）中のＸ＝９，Ｙ＝１３、Ｘ＝１０，Ｙ＝１３・・・の全２５画素）の画像データ値を算出する。また、参照画像の中で演算対象領域に対照させるものとして設定した比較対照領域内の各画素（例えば、図３（ｂ）中の破線で囲んだ範囲（Ｘ＝９，Ｙ＝１３、Ｘ＝１０，Ｙ＝１３・・・の全２５画素））の画像データ値を算出する。そして、演算対象領域を構成する各画素の画像データ値から、比較対照領域を構成する各画素の画像データ値を減算して、その絶対値を算出する。
例えば、演算対象領域内のある画素（図３（ａ）中のＸ＝９，Ｙ＝１０）の画像データ値が１００であり、これに対応する比較対照領域内の画素が図３（ｂ）におけるＸ＝９，Ｙ＝１０の画像データ値が５０である場合には、１００−５０＝５０となり、絶対値５０となる。
また例えば、演算対象領域内のある画素（図３（ａ）中のＸ＝１３，Ｙ＝１０）の画像データ値が５０であり、これに対応する比較対照領域内の画素が図３（ｂ）におけるＸ＝１３，Ｙ＝１０の画像データ値が９０である場合には、５０−９０＝−４０となり、絶対値４０となる。
このような画像データ値の減算及び絶対値の算出を演算対象領域及び比較対照領域を構成する２５画素全てについて行う。なお、この演算は、各画素について順次行われてもよいし、当該領域内の全画素について同時進行的に行われてもよい。
【００４４】
さらに、ＳＡＤ演算部５は、算出された結果（絶対値）を全て加算する。そして加算後の値が小さければ小さいほど相関度が高く、同じ画像である場合には、限りなく０に近づく。例えば、図３の場合、図３（ａ）中の破線で囲んだ範囲（Ｘ＝９〜１３，Ｙ＝９〜１３の２５画素）と、図３（ｂ）中の一点鎖線で囲んだ範囲（Ｘ＝１２〜１６，Ｙ＝９〜１３の２５画素）とは同じ画像であり、前者を構成する各画素の画像データ値から後者を構成する各画素のうち対応するものの画像データ値をそれぞれ減算して絶対値を求め、算出結果を加算すると、限りなく０に近づく。
【００４５】
このようにして、参照画像中、基準画像の演算対象領域と相関度の最も高い領域（相関演算により相関度の極値が得られた領域）を検索すると、ＳＡＤ演算部５は、当該相関度の最も高い領域が、基準画像の演算対象領域とどの程度ずれているかのずれ量（視差値）を算出し、相関度の最も高い領域がどの視差値に対応するかを求める。
すなわち、図３の例によれば、演算対象領域（図３（ａ）中のＸ＝９〜１３，Ｙ＝９〜１３の２５画素）と、相関度の最も高い領域である図３（ｂ）中の一点鎖線で囲んだ範囲（Ｘ＝１２〜１６，Ｙ＝９〜１３の２５画素）とは、Ｘ軸方向に３画素ずれている。したがって、この場合の視差値は３となる。
【００４６】
また、視差値と距離値との関係は、距離値＝定数／視差値であり、距離値は視差値の逆数に比例するとの関係にある。すなわち、視差値が小さくなるほど距離は遠くなり、視差値が大きくなるほど距離が近くなるという関係にある。このため、ＳＡＤ演算部５は、前記相関演算により視差値を求め、視差値の逆数を求めることにより、距離値を取得するようになっている。
【００４７】
画像照合部６は、対応点探索手段としてのＰＯＣ演算部８と、ＰＯＣ演算部８における対応点の探索を開始するのに最適な解像度の階層画像を選択する画像選択部７とを備えている。
【００４８】
画像選択部７には、ＳＡＤ演算部５による演算結果である距離値が送られるようになっており、画像選択部７は、この距離値に基づいて、多重解像度画像生成部３により生成された基準画像データ及び参照画像データの複数の階層画像の中から、ＰＯＣ演算部８による対応点探索を開始するのに最適な解像度（最適最低解像度）の階層画像（以下、「最適最低解像度画像」と称する。）を選択するようになっている。
【００４９】
すなわち、ＰＯＣ演算部８による対応点探索は低解像度の画像から開始して順次高解像度の画像について行うことが好ましいが、対象までの距離が遠く、視差値が小さい場合には、解像度の低い画像に対してＰＯＣ演算を行っても信頼性の高い結果が得られない。このため、効率的に演算処理を行うためには、距離値に応じて、何層目の画像を最適最低解像度画像とするかを選択することが好ましい。
【００５０】
そこで、本実施形態では、例えば、多重解像度画像生成部３によって３層構造の多重解像度画像が生成される場合に、図４に示すように、距離が遠い（距離値が大きい）場合には、閾値ＴＨ０、距離が近い（距離値が小さい）場合には、閾値ＴＨ２、両者の中間であれば閾値ＴＨ１という３つの閾値が予め定められており、記憶部等に記憶されている。そして、画像選択部７は、ＳＡＤ演算部５によって算出された距離値がこれら所定の閾値を超えているか否かによって、何層目の画像を最適最低解像度画像とするかを選択するようになっている。
【００５１】
具体的には、画像選択部７は、ＳＡＤ演算部５によって算出された距離値が閾値ＴＨ０を超えている場合（最も距離が遠い場合）には最高解像度である第０層の階層画像を最適最低解像度画像とし、距離値が閾値ＴＨ１を超えている場合には第１層の階層画像を最適最低解像度画像とし、距離値が閾値ＴＨ１以下である場合（最も距離が近い場合）には最低解像度である第２層の階層画像を最適最低解像度画像として選択する。
【００５２】
また、画像選択部７には、画像特性判定部４によって判定された画像データの画像特性に関する判定結果が送られるようになっており、画像選択部７は、この判定結果を加味して、ＳＡＤ演算部５による演算結果の信頼性を判断するようになっている。
【００５３】
すなわち、例えば、画像選択部７は、画像のコントラストが所定の閾値よりも低い場合や、画像のテクスチャが所定のものに該当する場合には、ＳＡＤ演算部５による演算結果の信頼性が低いと判断する。なお、画像選択部７がいかなる場合にＳＡＤ演算部５による演算結果の信頼性が低いと判断するかの判断基準はここに例示したものに限定されない。
【００５４】
そして、例えば、画像特性判定部７による判定の結果等からＳＡＤ演算部５による演算結果の信頼性が低いと判断される場合には、画像選択部７は、例えばＳＡＤ演算部５による演算結果にかかわらず、最低解像度画像からＰＯＣ演算部８による対応点探索を開始する等、予め定められた設定事項等に従って対応点探索を開始する最適最低解像度画像を選択するようにしてもよい。
【００５５】
ＰＯＣ演算部８は、ＰＯＣ（Phase-Only Correlation；位相限定相関）演算法により、基準画像データと参照画像データのそれぞれから抽出、設定された演算対象領域について両画像データの対応点を探索し、位置ずれ量を算出して相関値を得る対応点探索手段である。
【００５６】
ＰＯＣ演算部８には、図５に示すように、窓関数部８１ａ，８１ｂ、ＦＦＴ（Fast Fourier Transform：高速フーリエ変換）部８２ａ，８２ｂ、位相情報抽出部８３ａ，８３ｂ、合成部８４、ＩＦＦＴ（Inverse Fast Fourier Transform：逆高速フーリエ変換）部８５、及び相関値演算部８６が備えられている。
【００５７】
窓関数部８１ａ，８１ｂは、基準画像データと参照画像データの演算対象領域に対応する信号に窓関数をかけるものである。窓関数の種類に特に制限はなく適宜変更可能である。ここで、基準画像データに基づく信号に対して窓関数をかけたものをｆ１、参照画像データに基づく信号に対して窓関数をかけたものをｆ２とする。窓関数部８１ａ，８１ｂは、窓関数をかけた信号ｆ１、ｆ２をそれぞれＦＦＴ部８２ａ，８２ｂに出力するようになっている。
【００５８】
ＦＦＴ部８２ａ，８２ｂは、信号ｆ１、ｆ２に対してフーリエ変換処理を施して位相情報抽出部８３ａ，８３ｂに出力するものである。詳しくは、ＦＦＴ部８２ａは、信号ｆ１に対して２次元離散的フーリエ変換を施し、基準画像に基づくフーリエ画像データＦ１を得る。また、ＦＦＴ部８２ｂは、信号ｆ２に対して２次元離散的フーリエ変換を施して参照画像に基づくフーリエ画像データＦ２を得るようになっている。なお、フーリエ変換処理に特に制限は無く、２次元離散的フーリエ変換については、「コンピュータ画像処理入門、日本工業技術センター編、総研出版（株）発行、Ｐ４４〜４５」を参照した。
【００５９】
位相情報抽出部８３ａ，８３ｂは、ＦＦＴ部８２ａ，８２ｂから出力された信号に対して振幅成分を除去して位相情報を抽出するものである。つまり、位相情報抽出部８３ａ，８３ｂは、フーリエ変換された信号Ｆ１、Ｆ２に対して位相限定処理を行ない、フーリエ画像データＦ３，Ｆ４を得るものである。位相情報抽出部８３ａ，８３ｂは、得られたフーリエ画像データＦ３，Ｆ４を合成部８４に出力する。
なお、位相情報抽出部８３ａ，８３ｂが位相情報のみを抽出する手法は特に限定されず、振幅を１として位相のみを抽出するものであってもよいし、ｌｏｇ処理や√処理等によって振幅成分を除去することとしてもよい。
【００６０】
合成部８４は、フーリエ変換された信号Ｆ１、Ｆ２から位相情報のみを抽出して得られたフーリエ画像データＦ３，Ｆ４を合成し、合成フーリエ画像データＦ５（ｕ，ｖ）＝Ｆ３＊（ｕ，ｖ）・Ｆ４（ｕ，ｖ）を得るものである。なお、式中「＊」は複素共役を表し、（ｕ，ｖ）はフーリエ空間の座標を示す。合成部８４は、得られた合成フーリエ画像データＦ５をＩＦＦＴ部８５に出力するようになっている。
【００６１】
ＩＦＦＴ部８５は、合成部８４で得られた合成フーリエ画像データＦ５に対して逆フーリエ変換を施し合成逆フーリエ画像データｆ５を得るものである。ＩＦＦＴ部８５は、合成逆フーリエ画像データｆ５を相関値演算部８６に出力するようになっている。
【００６２】
相関値演算部８６は、合成逆フーリエ画像データｆ５より、ｍａｘｘ，ｙｆ５（ｕ，ｖ）として相関値を算出するものである。ここで、ｍａｘｘ，ｙは、全てのｘ，ｙに対する最大値、つまり、相関値はｆ５（ｘ，ｙ）の最大値である。
図６に、ＰＯＣ演算法によって各画像間の相関演算を実施することにより得られる結果を示す。相関値演算部８６は、相関値が０の場合には、基準画像と参照画像が一致しており位置ずれ量はゼロと算出するようになっている。また、相関値が０以外の値をとる場合には、その相関強度画像のピークの現れる位置（図６においてＪｃ）を２つの画像の位置ずれ量とするようになっている。
相関値演算部８６は、位置ずれ量を算出すると、この位置ずれ量から候補座標を算出する。そして、当該対応点探索を行った階層画像が最高解像度画像でない場合には、この候補座標に基づいて次の階層の対応点探索における演算対象領域が決定される。
【００６３】
また、ＰＯＣ演算部８には、画像選択部７によって選択された階層画像の情報が送られるようになっており、ＰＯＣ演算部８は、画像選択部７によって選択された階層画像を、対応点探索を開始する最適最低解像度画像として設定する。
【００６４】
本実施形態において、ＰＯＣ演算部８は、画像選択部７により選択された最適最低解像度画像から前記対応点の探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての探索結果を次の探索に反映させながら順次解像度の高い階層画像について前記対応点の探索を行い、もとの画像の解像度（最高解像度）の階層画像（本実施形態では第０層の階層画像）に至るまで順に前記対応点の探索を繰り返すようになっている。
ＰＯＣ演算部８は、１つの階層画像について演算処理が完了するごとに、次の階層の階層画像を対応点探索の対象として設定する。
【００６５】
また、ＰＯＣ演算部８には、ＳＡＤ演算部５による演算結果が送られるようになっており、ＰＯＣ演算部８は、このＳＡＤ演算部５による演算の結果、最も相関度の高かった点（候補座標）及びその周辺の所定領域を演算対象領域として設定するようになっている。本実施形態では、候補座標を中心として５画素×５画素分の領域が演算対象領域として設定される。
なお、ＰＯＣ演算部８に、画像選択部７による画像特性判定部４の判定結果に関する評価も送られるようになっていてもよい。この場合、例えば、画像選択部７によってＳＡＤ演算部５による演算結果の信頼性が低いとの評価がなされている場合には、ＰＯＣ演算部８は、例えば画像の全領域を演算対象領域として対応点探索を行うようにする等、ＳＡＤ演算部５による演算結果に基づかずに演算対象領域を設定してもよい。
【００６６】
また、２回目（２階層目）以降の対応点探索においては、ＰＯＣ演算部８は、直前の階層における演算処理によって得られた相関値に基づく候補座標を次階層における演算対象範囲として設定する。
すなわち、ＰＯＣ演算部８は、対応点探索処理が行われるごとに、当該対応点探索処理で得られた相関値の頂点を候補座標として算出するようになっており、２回目以降の対応点探索処理の際にはその直前の対応点探索処理で得られた候補座標（ｘ０，ｙ０）及びその周辺の領域を次の階層画像における対応点探索処理の演算対象領域として設定するようになっている。本実施形態においては、（ｘ０，ｙ０）を中心として５画素×５画素分の領域を抽出し演算対象領域として設定する。
【００６７】
３次元情報生成部９は、ＰＯＣ演算部８における基準画像データと参照画像データとの位置ずれ量の演算結果に基づいて対象物の３次元位置情報の画像データを生成する。
【００６８】
次に、図７から図１０を参照して本実施形態における相関演算装置１による相関演算方法について説明する。
【００６９】
図７に示すように、相関演算装置１によって３次元位置情報を得るための相関演算を行う場合には、まず、画像取得部２は、２つの撮像手段２ａ，２ｂにより対象物を撮像し、基準画像、参照画像の画像データを取得する（ステップＳ１）。撮像手段２ａ，２ｂにより取得された基準画像、参照画像の画像データは、Ａ／Ｄ変換され、歪み補正や画像平行化処理等が施されて、画像処理部１０に送られる。そして、コンピュータである画像処理部１０と前記相関演算処理プログラムとの協働により、以下のような相関演算処理が実現される。
【００７０】
基準画像、参照画像の画像データが画像処理部１０に送られると、多重解像度画像生成部３において、最低解像度画像からもとの画像と同じ解像度の最高解像度画像までの複数の階層画像が順に階層構造となった多重解像度画像が生成される（ステップＳ２）。生成された多重解像度画像はＳＡＤ演算部５に送られて、基準画像データと参照画像データとの視差値から距離値を算出するＳＡＤ演算処理が行われる（ステップＳ３）。
【００７１】
ＳＡＤ演算部５による演算結果はＰＯＣ演算部８に送られ、ＰＯＣ演算部８はＳＡＤ演算部５による演算結果に基づいて、最も相関度の高かった点（候補座標）を演算対象画素とし、その周辺を演算対象領域として設定する（ステップＳ４）。
また、ＳＡＤ演算部５による演算結果は画像選択部７にも送られ、画像選択部７では、ＳＡＤ演算部５による演算によって得られた演算対象画素及び演算対象領域の距離値に基づいてＰＯＣ演算部８による対応点探索処理を開始する最適最低解像度画像を選択する（ステップＳ５）。
【００７２】
ここで、ステップＳ５の処理について図８を参照しつつ説明する。
図８に示すように、画像選択部７は、ＳＡＤ演算部５から演算対象画素及び演算対象領域の距離値の情報が送られると、記憶部等に格納されている最適最低解像度画像の選択に関する閾値を読み出して、演算対象画素及び演算対象領域の距離値Ｘが閾値ＴＨ０を超えるものであるか否かを判断する（ステップＳ２１）。そして、距離値Ｘが閾値ＴＨ０を超えている場合（ステップＳ２１；ＹＥＳ）には、第０層目の階層画像をＰＯＣ演算処理における最適最低解像度画像として選択するようになっている（ステップＳ２２）。他方、距離値Ｘが閾値ＴＨ０を超えていない場合（ステップＳ２１；ＮＯ）には、画像選択部７は、さらに、距離値Ｘが閾値ＴＨ１を超えるものであるか否かを判断する（ステップＳ２３）。そして、距離値Ｘが閾値ＴＨ１を超えている場合（ステップＳ２３；ＹＥＳ）には、画像選択部７は、第１層目の階層画像をＰＯＣ演算処理における最適最低解像度画像として選択する。また、距離値Ｘが閾値ＴＨ１以下である場合（ステップＳ２３；ＮＯ）には、画像選択部７は、第２層目の階層画像をＰＯＣ演算処理における最適最低解像度画像として選択する。
なお、画像選択部７には、画像特性判定部４から、その判定結果も送られるようになっており、画像選択部７は、画像特性判定部４による判定結果も加味した上で最適最低解像度画像を選択するようになっている。
【００７３】
次に、図７に戻って、画像選択部７によりＰＯＣ演算部８による対応点探索処理を開始する最適最低解像度画像が選択された場合（ステップＳ５）には、ＰＯＣ演算部８は当該最適最低解像度画像から対応点探索処理を開始し、最高解像度画像に至るまで、多重解像度画像の各階層画像について順次ＰＯＣ演算処理を行う（ステップＳ６）。
【００７４】
ここで、ＰＯＣ演算部８によるＰＯＣ演算処理（ステップＳ６の処理）について、図９を参照しつつ説明する。
画像選択部７によって複数の階層画像の中から最適最低解像度画像が選択されると、ＰＯＣ演算部８は、画像選択部７により選択された階層画像を対応点の探索処理を開始する最適最低解像度画像として設定し（ステップＳ３１）、当該最適最低解像度の階層画像の中の演算対象領域の画像データに対してＰＯＣ演算処理（図１０参照）を行う（ステップＳ３２）。
【００７５】
最適最低解像度画像についてのＰＯＣ演算が終了すると、ＰＯＣ演算部８は、最高解像度画像までＰＯＣ演算処理が終了したか否か（当該階層画像が最高解像度画像か否か）を判断する（ステップＳ３３）。そして、最高解像度画像（もとの画像と同じ解像度の画像）まで処理が終了している場合（ステップＳ３３；ＹＥＳ）には、ＰＯＣ演算部８によるＰＯＣ演算処理を終了する。
他方、最高解像度画像まで処理が終了していない場合（さらに高解像度の次階層がある場合、ステップＳ３３；ＮＯ）には、ＰＯＣ演算部８は、次階層の階層画像を演算対象として設定するとともに、直前の階層における演算結果に基づいて演算対象領域を設定し、当該階層画像についてＰＯＣ演算処理（図１０参照）を行う（ステップＳ３４）。そして、処理が終了するとステップＳ３３に戻って、最高解像度画像まで処理が終了したか否かの判断を行い、最高解像度画像（もとの画像と同じ解像度の画像）について処理が終了するまで、以下の処理を繰り返す。
【００７６】
図１０を参照しつつ、ＰＯＣ演算部８によるＰＯＣ演算処理を具体的に説明する。
ＰＯＣ演算処理においては、まず、窓関数部８１ａ，８１ｂが画像データに基づく信号に対して窓関数をかけ、ＦＦＴ部８２ａ，８２ｂが中心画素以外の２４（５×５−１）画素について１画素ずつ３２×３２のブロックサイズでフーリエ変換処理を行なう。つまり、窓関数部８１ａが基準画像に基づく信号ｆ１を作成し、この信号ｆ１について８２ａがフーリエ変換処理を行って信号ｆ１を信号Ｆ１に変換する（ステップＳ４１）。また、窓関数部８１ｂが基準画像に基づく信号ｆ２を作成し、この信号ｆ２について８２ｂがフーリエ変換処理を行って信号ｆ２を信号Ｆ２に変換する。（ステップＳ４２）。
【００７７】
その後、位相情報抽出部８３ａ，８３ｂは、信号Ｆ１，Ｆ２に基づき、その振幅成分を除去して信号Ｆ１から位相情報Ｆ３を、信号Ｆ２から位相情報Ｆ４をそれぞれ抽出する（ステップＳ４３）。さらに、位相情報のみの信号Ｆ３，Ｆ４は、合成部８４によって合成され、合成信号Ｆ５が生成される（ステップＳ４４）。合成信号Ｆ５は合成部８４からＩＦＦＴ部８５に出力され、ＩＦＦＴ部８５はこの合成信号Ｆ５に対して、逆フーリエ変換処理を施しｆ５に変換する（ステップＳ４５）。その後、相関値演算部８６は、ｆ５に基づいて相関値ｍａｘｘ，ｙｆ５（ｕ，ｖ）を算出し（ステップＳ４６）、さらに、対応点の候補座標を算出する（ステップＳ４７）。
【００７８】
次に、図７に戻って、最適最低解像度画像から最高解像度画像（もとの画像と同じ解像度の画像）まで、ＰＯＣ演算処理が終了すると（図９のステップＳ３３；ＹＥＳ）、３次元情報生成部９によって３次元位置情報が生成される。
【００７９】
以上のように、本実施形態によれば、高速での処理が可能なＳＡＤ演算処理を行うＳＡＤ演算部５によって基準画像と参照画像との視差値を求め、およその距離値を取得して、この距離値に基づいてＰＯＣ演算部８による対応点の探索処理を開始するのに最適な最低解像度を選択し、当該最適最低解像度画像から対応点の探索を開始する。
このため、信頼性の低い結果しか得られない可能性の高い階層画像については処理を行わないとすることができ、演算に時間を要するＰＯＣ演算部８によるＰＯＣ演算処理を効率的に行うことができるので、信頼性の高い高精度の演算結果を得ることができるとともに、対応点探索処理の演算時間の短縮を図ることができる。
【００８０】
また、解像度の異なる複数の階層画像からなる多重解像度画像を生成して、低解像度の階層画像から高解像度の階層画像に向かって順次ＰＯＣ演算部８による対応点の探索処理を繰り返すとともに、低解像度の階層画像について得られた探索結果を次階層における探索に反映させて、演算対象領域を設定する。これにより、高速かつ高精度の対応点探索を行うことができ、その結果に基づいて対象物の正確な３次元位置情報を得ることが可能となる。
【００８１】
また、画像特性判定部４によって判定された画像の特性をも加味して最適最低解像度画像を選択するので、例えばコントラストの低い画像の場合等、低解像度の画像について対応点探索を行っても信頼性が低い場合に、対応点の探索を効率的に行うことができ、信頼性の高い高精度の演算結果を得ることができる。
【００８２】
なお、本実施形態においては、２つの撮像手段２ａ，２ｂを備えて各撮像手段２ａ，２ｂにより同一対象物を撮像して基準画像データ（第１画像情報）と参照画像データ（第２画像情報）とを取得する構成としたが、画像取得部２の構成はこれに限定されない。画像取得部２は少なくとも１つの撮像手段を備えて構成されていればよく、１つの撮像手段により同一対象物を異なるタイミングで撮像して基準画像データと参照画像データとを取得するものでもよいし、２つ以上の撮像手段を備えて各撮像手段により同一対象物を撮像して基準画像データと参照画像データとを取得するものでもよい。
【００８３】
また、本実施形態においては、相関演算装置１の構成要素として画像取得部２を備える場合について説明したが、画像取得部を相関演算装置１の外部に設けて、相関演算装置１に外部から基準画像データ（第１画像情報）と参照画像データ（第２画像情報）が入力され、この画像データに基づいて相関演算等の処理が行われるようにしてもよい。
【００８４】
また、本実施形態においては、画像特性判定部４を備え、画像特性判定部４によって判定された画像データのコントラスト等の画像特性を画像選択部７における画像選択の際に参照するように構成したが、画像特性判定部４は、相関演算装置１の必須の構成要素ではない。
また、画像特性判定部４によって判定される事項は、画像データのコントラスト、テクスチャに限定されず、相関演算結果の信頼性に影響を与えるような他の画像特性について判定するものであってもよい。
【００８５】
また、本実施形態においては、距離値算出手段として、ＳＡＤ演算法により距離値を求めるＳＡＤ演算部５を設けたが、距離値算出手段は高速に距離値を求める処理を行うことができるものであればよく、これに限定されない。例えば、距離値算出手段として、ＳＳＤ（Sum of Squared Differences）演算法や、ＮＮＣ（Normalized Cross-Correlation）演算法により距離値を求める演算部を設けてもよい。
【００８６】
また、本実施形態においては、対応点探索手段として、ＰＯＣ演算法により対応点を探索するＰＯＣ演算部８を設けたが、対応点探索手段は高精度に対応点の探索を行うことのできるものであればよく、ＰＯＣ演算法によるものに限定されない。
また、対応点探索手段として、ＳＡＤ演算法、ＳＳＤ演算法、ＮＮＣ演算法等の相関演算を行う演算部と、ＰＯＣ演算法等による相関演算を行う演算部とを備えていてもよい。この場合には、低解像度の階層については高速で処理が可能なＳＡＤ演算法等によって対応点の探索を行い、高解像度の階層については高精度の処理が可能なＰＯＣ演算法等により対応点の探索を行うようにする。
【００８７】
また、本実施形態においては、画像処理部１０が、ＣＰＵ等とＲＯＭ、ＲＡＭ等のメモリで構成されるコンピュータである場合を例として説明したが、画像処理部１０の全体又は一部を専用ハードウェアで構成してもよい。
すなわち、例えばＰＯＣ演算部８は、位相限定相関処理を行なう専用のハードウェアで構成されていることが好ましい。専用のハードウェアとしては、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等が適用可能である。
【００８８】
その他、本発明が上記実施の形態に限らず適宜変更可能であるのは勿論である。
【図面の簡単な説明】
【００８９】
【図１】本実施形態に係る相関演算装置の全体構成を示すブロック図である。
【図２】本実施形態における多重解像度画像の構造を模式的に示した説明図である。
【図３】図３（ａ）は、本実施形態における基準画像の例を示した図であり、図３（ｂ）は、本実施形態における参照画像の例を示した図である。
【図４】図４（ａ）は、画面上の対象の距離の違いを色の濃淡で表した図であり、図４（ｂ）は、本実施形態における距離値の閾値を示す説明図である。
【図５】図１に示すＰＯＣ演算部の構成を示すブロック図である。
【図６】ＰＯＣ演算処理によって得られる結果の例を示す説明図である。
【図７】本実施形態における相関演算処理を表すフローチャートである。
【図８】図７に示す最適最低解像度画像の選択処理を表すフローチャートである。
【図９】図７に示す各階層についてのＰＯＣ演算処理を表すフローチャートである。
【図１０】図９に示すＰＯＣ演算処理を表すフローチャートである。
【符号の説明】
【００９０】
１  相関演算装置
２  画像取得部（画像取得手段）
２ａ，２ｂ  撮像手段
３  多重解像度画像生成部（多重解像度画像生成手段）
４  画像特性判定部（画像特性判定手段）
５  ＳＡＤ演算部（距離値算出手段）
６  画像照合部
７  画像選択部（画像選択手段）
８  ＰＯＣ演算部（対応点探索手段）
９  ３次元情報生成部
１０  画像処理部
８１ａ，８１ｂ  窓関数部
８２ａ，８２ｂ  ＦＦＴ部
８３ａ，８３ｂ  位相情報抽出部
８４  合成部
８５  ＩＦＦＴ部
８６  相関演算部
【図１】
2008209275.tif 000003
【図２】
2008209275.tif 000004
【図３】
2008209275.tif 000005
【図５】
2008209275.tif 000006
【図６】
2008209275.tif 000007
【図７】
2008209275.tif 000008
【図８】
2008209275.tif 000009
【図９】
2008209275.tif 000010
【図１０】
2008209275.tif 000011
【図４】
2008209275.tif 000012