(57)【要約】  【課題】  複数の画像データ間での画素データ単位での対応付けを短時間で行うことができる画像処理方法を提供する。  【解決手段】  動き領域検出部３３において、画像データＩＭ２Ｒの動き画像領域を特定する。視差生成部３４は、動き画像領域についてのみ視差データを生成し、それを基に全体の視差データＤｅｐｔｈを更新する。【選択図】  図２
2006313445.tif 000002
【特許請求の範囲】
【請求項１】
複数の連続した第１の画像データと、複数の連続した第２の画像データとの対応関係を特定する画像処理方法であって、
前記複数の第１の画像データと前記複数の第２の画像データとの少なくとも一つを基に、動き画像領域を特定する第１の工程と、
前記第１の工程で特定した前記動き画像領域について、前記第１の画像データと前記第２の画像データとの間における画素データ単位での対応関係を更新する第２の工程と
を有する画像処理方法。
【請求項２】
前記第１の画像データと前記第２の画像データとの間における画素データ単位での対応関係を特定する第３の工程
をさらに有し、
前記第２の工程は、前記第３の工程で特定した前記対応関係を前記更新する
請求項１に記載の画像処理方法。
【請求項３】
前記第３の工程で特定した前記対応関係と、前記第１の画像データと、前記第２の画像データとを基に、新たな画像データを生成する第４の工程と、
前記第２の工程で更新した前記対応関係を基に、前記第４の工程で生成した前記新たな画像データを更新する第５の工程と
をさらに有する請求項２に記載の画像処理方法。
【請求項４】
前記第２の工程は、前記第１の工程で特定した前記動き画像領域の視差データをグラフカット法で更新し、
前記第３の工程は、前記第１の画像データと前記第２の画像データとの間の画素データ単位での対応関係を示す視差データをグラフカット法で生成する
請求項２に記載の画像処理方法。
【請求項５】
前記第２の工程は、当該第２の工程で過去に更新された前記視差データを基に探索範囲を決定し、当該探索範囲内で前記視差データを探索して更新する
請求項４に記載の画像処理方法。
【請求項６】
前記第２の工程は、前記第１の工程で特定した動き画像領域の境界において、一方が前記動き画像領域内に位置し、他方が前記動き画像領域外に位置する２つの画素データペアについて、前記一方の画素データが処理中のグラフに割り当てられた視差データを持ち、前記一方の画素データと前記他方の画素データとで視差データが異なることを条件に、前記処理中のグラフが前記動き画像領域内のグラフに加わるように、前記視差データを探索する
請求項５に記載の画像処理方法。
【請求項７】
前記複数の第１の画像データと前記複数の第２の画像データとは、所定の対象を異なる位置から撮像した動画像データである
請求項１に記載の画像処理方法。
【請求項８】
前記複数の連続した第１の画像データと、前記複数の連続した第２の画像データとは、それぞれ動画像データである
請求項１に記載の画像処理方法。
【請求項９】
複数の連続した第１の画像データと、複数の連続した第２の画像データとの対応関係を特定する画像処理装置であって、
前記複数の第１の画像データと前記複数の第２の画像データとの少なくとも一つを基に、動き画像領域を特定する動き画像特定手段と、
前記動き画像特定手段が特定した前記動き画像領域について、前記第１の画像データと前記第２の画像データとの間における画素データ単位での対応関係を更新する画素対応関係特定手段と
を有する画像処理装置。
【請求項１０】
前記画素対応関係特定手段が特定した前記対応関係と、前記第１の画像データと、前記第２の画像データとを基に、新たな画像データを生成する画像生成手段
をさらに有する請求項９に記載の画像処理装置。
【請求項１１】
前記複数の第１の画像データおよび前記複数の第２の画像データを撮像によって生成する撮像手段
をさらに有する請求項９に記載の画像処理装置。
【請求項１２】
複数の連続した第１の画像データと、複数の連続した第２の画像データとの対応関係を特定するコンピュータが実行するプログラムであって、
前記複数の第１の画像データと前記複数の第２の画像データとの少なくとも一つを基に、動き画像領域を特定する第１の手順と、
前記第１の手順で特定した前記動き画像領域について、前記第１の画像データと前記第２の画像データとの間における画素データ単位での対応関係を更新する第２の手順と
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像のマッチング処理を行う画像処理方法、画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
複数の撮像画像から実際に存在しない視点位置（仮想視点）での仮想カメラ視点映像を生成するために、画像間マッチング技術が不可欠である。このような画像間の対応付け技術は、「ステレオ視」における最も重要でかつ難しい問題の一つである。
例えば、その最も基本的な構成である２台のカメラによるステレオ視の対応付けを考える。一方の画像上にある点に対して、その対応点は、別の視点で観測された他方の画像内のある直線上に存在する。一般に、この直線Ｌ１’をエピポーラライン（Epipolar Line）と呼ぶ。従来、よく使われている「対応点付け」の手法としては、Pixel-based マッチング、Area-based マッチング、Feature-based マッチングがある。
Pixel-based マッチングでは一方の画像における点の対応を、他方の画像でそのまま探索する（非特許文献１）。Area-based マッチングでは、一方の画像における点の対応を、他方の画像で探す時、その点の周りの局所的な画像パターンを用いて探索する（非特許文献２、３）。Feature-based マッチングでは、画像から濃淡エッジなどの特徴を抽出し、画像間の特徴だけを用いて対応付けを行う（非特許文献４、５）。これらの手法は、基本的に基準カメラ画像上のある画素Pa(x,y)に対して、他方のカメラ画像に対応するエピポーラ線上を探索し、最も相似性の高い画素を対応点とするので、テクスチャのないものや繰返しパターンや隠れ問題などによって、正しい対応付けを求めることが容易ではない。
【０００３】
一方、対応付け処理をより柔軟に行うために、グローバル最適化という考えに基づいた手法が幾つか提案されたが、その中の一つ有効な手法として、グラフカットによる画像間マッチングを行う手法（非特許文献６、７）が提案された。グラフカットによるマッチングでは、画像間のマッチング問題をエネルギー最適化問題として扱い、画像間のマッチングコストをエネルギーで表し、そのエネルギーをグラフカット手法で最適化する。
【０００４】
【非特許文献１】C.Lawrence Zitnick and Jon A. Webb: Multi-baseline Stereo Using Surface Extraction, Technical Report, CMU-CS-96-196, (1996)
【非特許文献２】Okutomi.M and Kanade.T: A locally adaptive window for signal matching, Int. Journal of Computer Vision, 7(2), pp.143-162, (1992)
【非特許文献３】奥富、金出： 複数の基線長を利用したステレオマッチング、電子情報通信学会論文誌D-II,Vol.J75-D-II,No.8, pp.1317-1327, (1992)
【非特許文献４】H.Baker and T.Binford: Depth from edge and intensity based stereo, In Proc. IJCAI’81, (1981)
【非特許文献５】W.E.L.Grimson: Computational experiments with a feature based stereo algorithm, IEEE Trans. PAMI, Vol.7,No.1, pp.17〜34, (1985)
【非特許文献６】Yuri Boykov, Olga Veksler, Ramin Zabih. Fast Approximate Energy Minimization via Graph Cuts. International Conference on Computer Vision, vol. 1, pp. 377-384, 1999.
【非特許文献７】V. Kolmogorov and R. Zabih. Computing visual correspondence with occlusions using graph cuts. Journal of Confidence on Computer Vision, vol. 2, pp.508-515, 2001.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、グラフカットによって上記のエネルギを最適化するためには、膨大な計算時間が必要であり、特にリアルタイム処理が必要となる３次元形状計測分野での実用化が容易ではない。
同様な問題は、グラフカット法以外の画像マッチング処理においてもある。
【０００６】
本発明は上述した従来技術の問題点に鑑みてなされ、複数の画像データ間での画素データ単位での対応付け（マッチング）を短時間で行うことができる画像処理方法、画像処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した従来技術の問題点を解決し、上述した目的を達成するため、第１の観点の発明の画像処理方法は、複数の連続した第１の画像データと、複数の連続した第２の画像データとの対応関係を特定する画像処理方法であって、前記複数の第１の画像データと前記複数の第２の画像データとの少なくとも一つを基に、動き画像領域を特定する第１の工程と、前記第１の工程で特定した前記動き画像領域について、前記第１の画像データと前記第２の画像データとの間における画素データ単位での対応関係を更新する第２の工程とを有する。
【０００８】
第２の観点の画像処理装置は、複数の連続した第１の画像データと、複数の連続した第２の画像データとの対応関係を特定する画像処理装置であって、前記複数の第１の画像データと前記複数の第２の画像データとの少なくとも一つを基に、動き画像領域を特定する動き画像特定手段と、前記動き画像特定手段が特定した前記動き画像領域について、前記第１の画像データと前記第２の画像データとの間における画素データ単位での対応関係を更新する画素対応関係特定手段とを有する。
【０００９】
第３の観点のプログラムは、複数の連続した第１の画像データと、複数の連続した第２の画像データとの対応関係を特定するコンピュータが実行するプログラムであって、前記複数の第１の画像データと前記複数の第２の画像データとの少なくとも一つを基に、動き画像領域を特定する第１の手順と、前記第１の手順で特定した前記動き画像領域について、前記第１の画像データと前記第２の画像データとの間における画素データ単位での対応関係を更新する第２の手順とを前記コンピュータに実行させる。
【発明の効果】
【００１０】
本発明によれば、複数の画像データ間での画素データ単位での対応付け（マッチング）を短時間で行うことができる画像処理方法、画像処理装置およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態に係わる画像処理装置を説明する。
先ず、本実施形態の構成と本発明の構成との対応関係の一例を説明する。
本実施形態の画像データＩＭ２Ｒ，ＩＭ２Ｌが、本発明の複数の画像データの一例である。
また、本実施形態の動き画像領域データＩｍが示す動き画像領域が本発明の動き画像領域の一例である。
また、本実施形態の視差データＤｅｐｔｈが本発明の対応関係の一例である。
また、図２に示す視差生成部３４において視差データＤｅｐｔｈを最初に生成する工程が本発明の第３の工程の一例である。
また、図３に示す手順が本発明の第１の工程の一例である。
また、図５に示すステップＳＴ２２〜ＳＴ２４が、本発明の第２の工程の一例である。
【００１２】
また、図１に示すカメラ１０Ｌ，１０Ｒが本発明の撮像手段の一例であり、図２に示す動き領域検出部３３が本発明の動き画像特定手段の一例であり、視差生成部３４が本発明の画素対応関係特定手段の一例である。
また、画像生成部３５が本発明の画像生成手段の一例である。
また、図１２に示すプログラムＰＲＧが、本発明のプログラムの一例である。
【００１３】
図１は、本発明の実施形態に係わる画像処理装置１の構成図である。
図１に示すように、画像処理装置１は、例えば、カメラ１０Ｒ、カメラ１０Ｌ、並びに画像処理回路１２を有する。
【００１４】
画像処理装置１は、例えば、ステレオ動画像処理や３次元形状計測処理を行い、ロボットや画像通信などの分野に用いられる。
画像処理装置１は、２台以上の複数カメラで観測された画像から、画像の輝度情報や色情報などを用いて、画像内の運動対象の動き画像領域を検出し、検出された動き画像領域に対してその領域内のグラフだけを新たに構築する。
画像処理装置１は、上記構築された動き画像領域内のグラフに対してグラフカットを用いるエネルギ最適化によって視差情報を推定し更新する。
画像処理装置１は、非動き画像領域（動きのない領域）を静止領域として、前フレームの視差情報をそのまま利用する。さらに、動き画像領域と静止領域の隣接部のグラフ整合性処理によって画像全体の視差情報を求める。
【００１５】
カメラ１０Ｒは、対象物ＴＡＲＧＥＴを撮像し、それによって得た画像データＩＭ１Ｒを画像処理回路１２に出力する。
カメラ１０Ｌは、カメラ１０Ｒと所定の距離隔てて配設されている。
カメラ１０Ｌは、カメラ１０Ｒと同様に、対象物ＴＡＲＧＥＴを撮像し、それによって得た画像データＩＭ１Ｌを画像処理回路１２に出力する。
【００１６】
以下、画像処理回路１２について詳細に説明する。
図２は、図１に示す画像処理回路１２の構成図である。
図２に示すように、画像処理回路１２は、例えば、補正部３１、カメラパラメータ生成部３２、動き画像領域検出部３３、視差生成部３４および画像生成部３５を有する。
補正部３１、カメラパラメータ生成部３２、動き画像領域検出部３３、視差生成部３４および画像生成部３５は、電子回路として実現してもよいし、少なくとも一部の機能を、処理回路がプログラムを実行する形で実現してもよい。
【００１７】
［補正部３１］
補正部３１は、カメラ１０Ｒ，１０Ｌから入力した画像データＩＭ１Ｒ，ＩＭ１Ｌに対して、幾何学的な画像補正処理と正規化処理とを行って、画像データＩＭ２Ｒ，ＩＭ２Ｌを生成し、これを動き画像領域検出部３３に出力する。
補正部３１は、カメラパラメータ生成部３２から入力したパラメータを基に、上記画像補正処理および正規化処理を行う。
カメラパラメータ生成部３２は、例えば、カメラキャリブレーションによりパラメータを生成し、これを補正部３１に出力する。
【００１８】
［動き画像領域検出部３３］
動き画像領域検出部３３は、例えば、画像データＩＭ２Ｒの動き画像領域を検出し、その検出した動き画像領域を示す動き画像領域データＩｍを視差生成部３４に出力する。
動き画像領域検出部３３は、例えば、図３に示すように、現時刻ｔｉの画像データＩＭ２Ｒ（ｔｉ）と、一フレーム前の時刻（ｔｉ−１）の画像データＩＭ２Ｒ（ｔｉ−１）との間で、フレーム間の差分を検出し、その差分データＩｄ（ｔｉ）を生成する（ステップＳＴ１１）。
なお、動き領域検出部３３は、画像データＩＭ２Ｌ（ｔｉ）と画像データＩＭ２Ｌ（ｔｉ−１）との間で、フレーム間の差分を検出し、その差分データＩｄ（ｔｉ）を生成してもよい。
【００１９】
次に、動き画像領域検出部３３は、差分データＩｄ（ｔｉ）を２値化処理して２値化差分データＩｂ（ｔｉ）を生成する（ステップＳＴ１２）。
次に、動き画像領域検出部３３は、２値化差分データＩｂ（ｔｉ）から視差更新に不要な動きデータ成分（ノイズ）を除去して２値化差分データＩｒ（ｔｉ）を生成する（ステップＳＴ１３）。
【００２０】
次に、動き画像領域検出部３３は、２値化差分データＩｒ（ｔｉ）を基に、例えば、画素データ単位で、輝度情報や色情報が所定のしきい値以上変化する場合に、画像データＩＭ１Ｒ内の当該画素データに対応した領域を動き画像領域として検出し、その領域を示す動き画像領域データＩｍ（ｔｉ）を生成する（ステップＳＴ１４）。
なお、動き画像領域検出部３３は、複数の画素データからなるブロック単位として上記動き画像領域を検出してもよい。
また、動き画像領域検出部３３は、輝度情報や色情報が所定のしきい値以上変化する画素データのうち、孤立点や所定以下の大きさの領域を画像ノイズとして除去して動き画像領域データＩｍ（ｔｉ）を生成する。
【００２１】
動き画像領域検出部３３は、図４（Ａ）に示すように時刻ｔｉ−１，ｔｉ，ｔｉ＋１，ｔｉ＋２，ｔｉ＋３の画像データＩＭ２Ｒ（ｔｉ−１），ＩＭ２Ｒ（ｔｉ），ＩＭ２Ｒ（ｔｉ＋１），ＩＭ２Ｒ（ｔｉ＋２），ＩＭ２Ｒ（ｔｉ＋３）を順に入力して、図４（Ｂ）に示すように、動き画像領域データＩｍ（ｔｉ），Ｉｍ（ｔｉ−１），Ｉｍ（ｔｉ），Ｉｍ（ｔｉ＋１），Ｉｍ（ｔｉ＋２），Ｉｍ（ｔｉ＋３）を順に生成する。
【００２２】
動き画像領域検出部３３は、補正部３１からの入力した画像データＩＭ２Ｒ，ＩＭ２Ｌと、上記生成した動き画像領域データＩｍとを視差生成部３４に出力する。
【００２３】
［視差生成部３４］
図５は、図２に示す視差生成部３４の処理を説明するためのフローチャートである。
視差生成部３４は、動き画像領域検出部３３から入力した画像データＩＭ２Ｒ，ＩＭ２Ｌおよび動き画像領域データＩｍを基に、全体視差データＤｅｐｔｈ（ｔｉ）を生成あるいは更新する。
【００２４】
以下、図５に示す各ステップを説明する。
ステップＳＴ２１：
視差生成部３４は、動き画像領域検出部３３から入力した動き画像領域データＩｍを基に、動き画像領域データＩｍが示す動き画像領域内の視差データを更新するか否かを判断し、更新すると判断するとステップＳＴ２２に進み、更新しないと判断すると、処理を終了する（視差更新は行わない）。
視差生成部３４は、上記更新を行うか否かを検出された動き画像領域の大きさ（動き領域内の画素数）によって判断する。
【００２５】
ステップＳＴ２２：
視差生成部３４は、グラフカット法による視差探索における視差探索範囲を決定する。
視差生成部３４は、例えば、図６に示すように、前回の時刻（ｔｉ−１）において動き画像領域データＩｍ（ｔｉ−１）を更新して得られた更新視差画像データｄ（ｔｉ−１）の平均値である平均視差値データＤａｖｇ（ｔｉ−１）を計算する（ステップＳＴ３１）。
次に、視差生成部３４は、平均視差値データＤａｖｇ（ｔｉ−１）と、時刻（ｔｉ−２）で得た平均視差値データＤａｖｇ（ｔｉ−２）との間の変化量（差分量）を示す変化量データＤｄ（ｔｉ−１）を計算する（ステップＳＴ３２）。
次に、視差生成部３４は、平均視差値データＤａｖｇ（ｔｉ−１）と、変化量データＤｄ（ｔｉ−１）とを基に、下記式（１），（２）により、視差探索範囲（Ｍｉｎ＿Ｄｅｐｔｈ，Ｍａｘ＿Ｄｅｐｔｈ）を計算する。
Ｍｉｎ＿Ｄｅｐｔｈは視差探索領域の最小値であり，Ｍａｘ＿Ｄｅｐｔｈは視差探索領域の最大値である。
下記式（１），（２）において、「ｋ」は、動き対象の速度に従う正の定数である。
【００２６】
［数１］
Ｍｉｎ＿Ｄｅｐｔｈ＝Ｄａｖｇ（ｔｉ−１）−ｋ＊Ｄｄ（ｔｉ−１）
…（１）
【００２７】
［数２］
Ｍａｘ＿Ｄｅｐｔｈ＝Ｄａｖｇ（ｔｉ−１）＋ｋ＊Ｄｄ（ｔｉ−１）
…（２）
【００２８】
ステップＳＴ２３：
視差生成部３４は、ステップＳＴ２３で計算した視差探索範囲（Ｍｉｎ＿Ｄｅｐｔｈ，Ｍａｘ＿Ｄｅｐｔｈ）内で、動き画像領域データＩｍ（ｔｉ−１）が示す動き画像領域の視差データを更新して更新視差画像データｄ（ｔｉ）を生成する。
【００２９】
視差生成部３４は、画像データＩＭ２ＲとＩＭ２Ｌとの間における上記動き画像領域内での画素データの対応付け処理によって、更新視差画像データｄ（ｔｉ）を生成する。
【００３０】
図７は、画像間対応付け処理に関する基本原理の説明である。
図７に示すように、三次元空間内の対象Ｐが左右のカメラで撮影された場合、それぞれ左画像上の画素ｍ１と右画像上のｍ１’として観測される。
逆に、ｍ１とｍ１’との対応関係が得られれば、三次元空間内の対象Ｐを推定することができる。
画像間対応付け処理とは、左画像上の画素ｍ１に対して、右画像上での対応点ｍ１’’を見つけることである。
一般に、エピポーラ幾何の拘束によって、左画像上の画素ｍ１に対応する右画像上での対応点ｍ１’は、必ずある線上Ｌ１’(エピポーラライン)にあるので、相似性評価によって、最らしい対応点（例えば、マッチングスコア最大の点）を見つけることが可能であるが、実際問題として、観測画像内に隠れ、正反射、明るさの変化がない領域があるので、正確な対応付けを得ることがとても困難である。
【００３１】
そこで、視差生成部３４は、画像間のマッチング（対応付け）をより正しく行うために、各々の画素間のマッチングスコア評価によるローカルサポート手法ではなく、左右画像の全て画素に対してグラフカットを用いるグローバル最適化による画像マッチング手法を適用した。
本実施形態において、図７に示す右画像が画像データＩＭ２Ｒに対応し、左画像が画像データＩＭ２Ｌに対応する。
【００３２】
視差生成部３４は、グラフカットにおける画像間のマッチングコストを下記式（３）のエネルギＥ（ｆ）によって算出する。
【００３３】
【数３】
2006313445.tif 000003
【００３４】
上記式（３）において、「ｆ」は、画像データＩＭ２ＲとＩＭ２Ｌとの間での画素データの対応関係を示している。
また、エネルギＥｄａｔａ（ｆ）は、下記式（４）で規定され、マッチング可能な領域の画素データペアの間での画素値の相違のコストの総和を示している。下記式（４）において、D(matched)は、例えば左右画像の輝度差の絶対値である。
また、エネルギＥｏｃｃｌ（ｆ）は、下記式（５）で規定され、画素をオクリュージョンとしたことに対するペナルティの総和を示している。下記式（５）において、Cpは、オクリュージョンコスト（ペナルティー）を表す定数である。
また、エネルギＥｓｍｏｏｔｈ（ｆ）は、下記式（６）で規定され、カレントの対応関係ｆにおいて、同じ画像内の隣接する画素が同様の視差値を持つようにするためのスムージングコストである。下記式（６）において、Ｖｍ１，ｍ２は、スムージングコストを示す定数である。T[f(m1)≠f(m2)]は、隣接の画素m1とm2に異なる視差値f(m1)とf(m2)を与えた時に１であり、そうでなければ０である。
【００３５】
【数４】
2006313445.tif 000004
【００３６】
【数５】
2006313445.tif 000005
【００３７】
【数６】
2006313445.tif 000006
【００３８】
図８は、画像データＩＭ２ＲとＩＭ２Ｌとの対応付け関係をグラフで表す概念図を示す。
ここでは、グラフ構成を分かりやすく理解するために、図８（Ａ）に示すように、画像領域（画像データＩＭ２Ｒ上の動き画像領域）を４画素だけとする。
画像データＩＭ２Ｒ上の画素Rj={p,q,r,s}に対して、それらの画素をグラフのノードとする。
また、各ノード間を結ぶ線と各ノードとαノード、及び非αノードを結ぶ線をエッジとし、各エッジのWeight（係数）を上記（１）式に示すエネルギで与える。
ここでは、画像データＩＭ２ＲとＩＭ２Ｌとから検出された動き画像領域は必ずしも対応しないので、画像データＩＭ２Ｒから検出された動き画像領域（マスク）に対するグラフを構築する。
【００３９】
図８（Ｂ）は、図８（Ａ）に示す４画素だけの動き画像領域の画像に対して、構成されたグラフの例を示す。
また、グラフ上の各エッジにどのようエネルギ（Weight）を与えるかを理解しやすくするために、図９に示すような２つの画素からなるグラフを示すことにした。
グラフカット法は、ランダムに選ばれたα（α＝1，……，MaxDepthValue）に対して、図９に示すエッジとエネルギＥ１〜Ｅ６を持つグラフを構築し、ノードｐとｑは、ノードαまたは非α（α~）に属する場合に、カットされたエッジのエネルギの和を計算し、その中にエネルギ（和）が最小となるようなカットを最適なカットとする手法である。
当該グラフカットでは、α（ソース）からα~（シンク）を分離するように、エッジをカットする。例えば、エッジカットのエネルギの総和は、（Ｅ１＋Ｅ６＋Ｅ４）となる。
【００４０】
視差生成部３４は、下記式（７）〜（１２）に基づいて、エネルギＥ１〜Ｅ６を算出する。
下記式（７）〜（１０）に示すＤ（α），Ｄ（α~）は上記式（４）のＤ（matched）である。
また、下記式（７）〜（１２）に示すａ〜ｄは、下記式（１３）〜（１６）で定義される。これらの式において、Ｖは上記式（６）で定義するスムージングコストである。
【００４１】
【数７】
2006313445.tif 000007
【００４２】
【数８】
2006313445.tif 000008
【００４３】
【数９】
2006313445.tif 000009
【００４４】
【数１０】
2006313445.tif 000010
【００４５】
【数１１】
2006313445.tif 000011
【００４６】
【数１２】
2006313445.tif 000012
【００４７】
【数１３】
2006313445.tif 000013
【００４８】
【数１４】
2006313445.tif 000014
【００４９】
【数１５】
2006313445.tif 000015
【００５０】
【数１６】
2006313445.tif 000016
【００５１】
また、視差生成部３４は、前述したように、全体視差データＤｅｐｔｈ（ｔｉ）のうち、動き画像領域データＩｍ（ｔｉ−１）が示す動き画像領域の視差データを更新し、それ以外の非動き画像領域の視差データは更新しない。
従って、図９に示す隣接するノードｐとｑのグラフにおいて、ノードｐが動き画像領域内に位置し、ノードｑが動き画像領域外（非動き画像領域）に位置する場合がある。
視差生成部３４は、このような場合に、図１０に示すようにグラフを構築する。
視差生成部３４は、図１０に示すように、図９の示すエネルギＥ２，Ｅ６として「０」を用い、エネルギＥ４として「∞」を用いる。また、エネルギＥ３の代わりに、エネルギＥ３＋Ｅ５を用いる。
これにより、視差生成部３４は、ノードｑの視差データがαであり、且つ、ノードｐとｑとで視差データが異なる場合に、図１０に示すグラフを動き画像領域内のグラフに加えて用いる。すなわち、視差生成部３４は、動き画像領域と非動き画像領域との隣接部でグラフ整合処理を行う。
【００５２】
図１１は、図５に示すステップＳＴ２３の手順を説明するためのフローチャートである。
ステップＳＴ４１：
視差生成部３４は、動き画像領域検出部３３から入力した動き画像領域データＩｍが示す動き画像領域内の画素ペアのうち、未処理の画素ペアを選択する。
ステップＳＴ４２：
視差生成部３４は、図６に示す手順で計算した視差探索範囲（Ｍｉｎ＿Ｄｅｐｔｈ，Ｍａｘ＿Ｄｅｐｔｈ）内で予めランダムに決められた複数の視差データのうち未選択の視差データαを選択する。
【００５３】
ステップＳＴ４３：
視差生成部３４は、ステップＳＴ４１で選択した画素ペアについて、ステップＳＴ４２で選択した図９および図１０に示す視差データαにおけるエネルギＥの総和を最小にするエッジカットパターンを特定する。
視差生成部３４は、処理対象の画素ペアについて、これまで得たエネルギの総和によりも小さいエネルギの総和を得た場合には、そのエネルギの総和と、エッジカットパターンと、視差データα保持する。
【００５４】
ステップＳＴ４４：
視差生成部３４は、視差探索範囲（Ｍｉｎ＿Ｄｅｐｔｈ，Ｍａｘ＿Ｄｅｐｔｈ）内で予めランダムに決められた複数の視差データのうち全ての視差データαを選択したか否かを判断し、選択したと判断するとステップＳＴ４５に進み、そうでない場合にはステップＳＴ４２に進む。
【００５５】
ステップＳＴ４５：
視差生成部３４は、動き画像領域検出部３３から入力した動き画像領域データＩｍが示す動き画像領域内の全ての画素ペアについて処理を終了したか否かを判断し、終了したと判断すると処理を終了し、そうでない場合はステップＳＴ４１に戻る。
【００５６】
図５に示すステップＳＴ２３、すなわち、図１１の処理が終了すると、図１２（Ｂ）に示すように、動き画像領域Ｉｍ（ｔｉ）の更新された視差データｄ（ｔｉ）が生成される。
【００５７】
以下、図５に示すステップＳＴ２４を説明する。
視差生成部３４は、前回生成した全体視差データＤｅｐｔｈ（ｔｉ−１）のうち、動き画像領域Ｉｍ（ｔｉ）に対応する領域を視差データｄ（ｔｉ）で置き換えて全体視差データＤｅｐｔｈ（ｔｉ）を生成する。
視差生成部３４は、例えば、図１２（Ｃ）に示すように、全体視差データＤｅｐｔｈ（ｔｉ）を生成する。
視差生成部３４は、全体視差データＤｅｐｔｈ（ｔｉ）を図２に示す画像生成部３５に出力する。
【００５８】
画像生成部３５は、画像データＩＭ２Ｒ，ＩＭ２Ｌと、視差生成部３４からの全体視差データＤｅｐｔｈ（ｔｉ）とを基に、ステレオ画像データを生成する。
画像処理回路１２は、画像生成部３５が生成したステレオ画像データを、図示しないディスプレイに表示したり、ネットワークを介して他の装置に送信する。
【００５９】
以下、図２に示す画像処理回路１２の動作例を説明する。
カメラ１０Ｒ，１０Ｌが、対象物ＴＡＲＧＥＴを撮像し、それによって得た画像データＩＭ１Ｒ，ＩＭ１Ｌを画像処理回路１２に出力する。
次に、画像処理回路１２の補正部３１の補正部３１が、カメラ１０Ｒ，１０Ｌから入力した画像データＩＭ１Ｒ，ＩＭ１Ｌに対して、幾何学的な画像補正処理と正規化処理とを行って、画像データＩＭ２Ｒ，ＩＭ２Ｌを生成し、これを動き画像領域検出部３３に出力する。
【００６０】
次に、動き領域検出部３３が、図３に示す手順で、例えば、画像データＩＭ２Ｒの動き画像領域を検出し、その検出した動き画像領域を示す動き画像領域データＩｍを視差生成部３４に出力する。
【００６１】
次に、視差生成部３４が、図５〜図１１に示すように、全体視差データＤｅｐｔｈ（ｔｉ）のうち、動き画像領域データＩｍ（ｔｉ−１）が示す動き画像領域の視差データを更新し、それ以外の非動き画像領域の視差データは更新しない。
そして、視差生成部３４が、全体視差データＤｅｐｔｈ（ｔｉ）を画像生成部３５に出力する。
【００６２】
次に、画像生成部３５が、画像データＩＭ２Ｒ，ＩＭ２Ｌと、視差生成部３４からの全体視差データＤｅｐｔｈ（ｔｉ）とを基に、ステレオ画像データを生成する。
【００６３】
以上説明したように、画像処理装置１によれば、画像処理回路１２において、全体視差データＤｅｐｔｈ（ｔｉ）のうち、動き画像領域データＩｍ（ｔｉ−１）が示す動き画像領域の視差データを更新し、それ以外の非動き画像領域の視差データは更新しない。
また、画像処理装置１によれば、図６に示すように視差探索範囲を決定し、図５に示すステップＳＴ２３において視差探索範囲内でのみ視差データを探索する。
そのため、画像処理回路１２において、視差データの更新に、グラフカット法を用いても、十分に短時間で視差データを生成でき、リアルタイム処理に適用できる。
【００６４】
また、画像処理装置１によれば、グラフカット法を用いるため、高精度なマッチング処理が可能であり、高品質なステレオ画像を生成できる。
【００６５】
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
【００６６】
例えば、上述した実施形態では、視差探索方法としてグラフカット法を例示したが、その他の手法を用いてもよい。
また、本発明は、上述したステレオ画像生成処理以外に、３次元形状計測処理などにも適用可能である。
また、上述した図２に示す画像処理回路１２の機能を、図１３に示すように、インタフェース４１、メモリ４２および処理回路４３を、バス４０を介して接続した構成で実現してもよい。
この場合には、処理回路４３は、メモリ４２から読み出したプログラムＰＲＧを実行して、上述した画像処理回路１２の機能を実行する。
【図面の簡単な説明】
【００６７】
【図１】図１は、本発明の画像処理装置の全体構成図である。
【図２】図２は、図１に示す画像処理回路の構成図である。
【図３】図３は、図２に示す動き領域検出部の処理を説明するための図である。
【図４】図４は、図３に示す動き領域検出部で生成される動き画像領域を説明するための図である。
【図５】図５は、図２に示す視差生成部の処理を説明するためのフローチャートである。
【図６】図６は、図５に示すステップＳＴ２２の処理を詳細に説明するためのフローチャートである。
【図７】図７は、画像間対応付け処理の基本原理を説明するための図である。
【図８】図８は、グラフカット法を説明するための図である。
【図９】図９は、視差生成部が行うグラフカット処理を説明するための図である。
【図１０】図１０は、視差生成部が行うグラフカット処理における動き画像領域と非動き画像領域との境界部の処理を説明するための図である。
【図１１】図１１は、図２に示す視差生成部の処理を説明するためのフローチャートである。
【図１２】図１２は、図５に示す各データを説明するための図である。
【図１３】図１３は、図２に示す画像処理回路のその他の構成図である。
【符号の説明】
【００６８】
１０Ｌ，１０Ｒ…カメラ、１２，１２ａ…画像処理回路、３１…補正部、３２…カメラパラメータ生成部、３３…動き領域検出部、３４…視差生成部、３５…画像生成部、４１…インタフェース、４２…メモリ、４３…処理回路
【図１】
2006313445.tif 000017
【図２】
2006313445.tif 000018
【図３】
2006313445.tif 000019
【図４】
2006313445.tif 000020
【図５】
2006313445.tif 000021
【図６】
2006313445.tif 000022
【図７】
2006313445.tif 000023
【図８】
2006313445.tif 000024
【図９】
2006313445.tif 000025
【図１０】
2006313445.tif 000026
【図１１】
2006313445.tif 000027
【図１３】
2006313445.tif 000028
【図１２】
2006313445.tif 000029