(57)【要約】【課題】  少ないカメラ数で撮影された多視点画像からでも、効率よく障害物を消去した画像を生成する。【解決手段】  概ね同じ視野に対し撮影した２つの画像から、一方の画像上の画素ごとのディスパリティ値を算出するディスパリティ算出部と、ディスパリティ値に応じて一方の画像の画素ごとに大小いずれかの重み値を設定する重み設定部と、一方の画像上で注目領域を設定する注目領域抽出部と、注目領域に対応する他方の画像上の対応領域を算出し、これら領域の位置関係を表す注目領域ベクトルを算出する注目領域ベクトル算出部と、画素ごとの重み値と注目領域ベクトルに基づいて、一方の画像上の画素で重み値が小に設定された画素位置に、注目領域ベクトル分ずれた他方の画像上の位置の画素値を抽出して加算して画像を生成する画像加算部を備えたものである。【選択図】        図１
2007053621.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのカメラを使用して異なる地点から概ね同じ視野に対し撮影した２つの画像に基づいて、前記２つの画像のうちの少なくとも一方の画像上の画素ごとのディスパリティ値を算出するディスパリティ算出部と、
前記ディスパリティ値に応じて前記一方の画像の画素ごとに大小いずれかの重み値を設定する重み設定部と、
前記一方の画像上で注目領域を設定する注目領域抽出部と、
設定された前記注目領域に対応する他方の画像上の対応領域を算出し、これら注目領域と対応領域の位置関係を表す注目領域ベクトルを算出する注目領域ベクトル算出部と、
前記設定された画素ごとの重み値と前記算出された注目領域ベクトルに基づいて、前記一方の画像上の画素で重み値が小に設定された画素位置に、前記注目領域ベクトル分ずれた前記他方の画像上の位置の画素値を抽出して加算することにより画像を生成する画像加算部とを備えたことを特徴とする画像生成装置。
【請求項２】
重み設定部は、ディスパリティ算出部で算出された画素ごとのディスパリティ値が、保持するしきい値以上の場合には対応する画素に重み値０を設定し、当該しきい値以下の場合には重み値１を設定することを特徴とする請求項１記載の画像生成装置。
【請求項３】
注目領域抽出部は、一方の画像と、当該画像の撮影直後に同じカメラで再び撮影した画像との間で動きのある画素が検出された場合に、当該動きのある画素に対応する領域を注目領域として抽出することを特徴とする請求項１記載の画像処理装置。
【請求項４】
注目領域ベクトル算出部は、注目領域抽出部が抽出した注目領域の画素数が少ない場合、それ以前に撮影された画像から抽出された注目領域に基づいて算出した注目領域ベクトルを画像加算部に出力することを特徴とする請求項３記載の画像処理装置。
【請求項５】
画像加算部は、２つの画像の加算を行う際、他方の画像上の位置の画素値を、一方の画像上の画素の重み値を考慮して加算することを特徴とする請求項１または請求項２記載の画像生成装置。
【請求項６】
注目領域抽出部は、ディスパリティ算出部で得られた一方の画像上の画素ごとのディスパリティ値の中で、保持するしきい値による条件を満たすディスパリティ値の画素で構成される領域を注目領域として抽出することを特徴とする請求項１または請求項２記載の画像生成装置。
【請求項７】
ディスパリティ算出部は、２つの画像に基づいて一方の画像上の画素のディスパリティ値に加え、他方の画像上の画素のディスパリティ値を算出し、
画像加算部は、前記他方の画像の画素のディスパリティ値が保持するしきい値を超える画素については、前記一方の画像の重み値が小に設定された画素位置に加算しないようにしたことを特徴とする請求項１から請求項６うちのいずれか１項記載の画像生成装置。
【請求項８】
少なくとも２つのカメラを使用して異なる地点から概ね同じ視野に対し撮影した２つの画像に基づいて、前記２つの画像のうちの一方の画像上の画素ごとのディスパリティ値を算出するディスパリティ算出部と、
前記ディスパリティ値に応じて前記一方の画像の画素ごとに大小いずれかの重み値を設定する重み設定部と、
前記一方の画像上の画素ごとのディスパリティ値に対して、前記重み設定部で重み値が小さい値に設定された画素の領域を、その画素の領域の周辺の画素のディスパリティ値で置き換えることで補間するディスパリティ補間部と、
前記一方の画像上の前記重み設定部で重み値が小に設定された領域に、前記ディスパリティ補間部で補間したディスパリティ値分離れた他方の画像の位置の画素値を加算することにより画像を生成する画像加算部とを備えたことを特徴とする画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のカメラ等で撮影された多視点画像から監視用途などに有用な画像を生成する画像生成装置に関するものである。
【背景技術】
【０００２】
従来の画像生成装置として、実際にはカメラの置かれていない視点位置から見た画像、すなわち仮想視点画像を生成するものがある（例えば、特許文献１参照）。この画像生成装置では、複数の異なる視点の画像から２枚以上の奥行きマップを生成し、これらの奥行きマップを基に仮想視点からみた仮想視点奥行きマップを生成する。ある１つの視点から見えない領域の奥行き値を他の視点からの情報で補間し、奥行き値の決定されない画素については、周囲の画素の奥行き地を用いて線形補間し、さらに平滑化処理を行う。このように生成された仮想視点奥行きマップをもとに、多視点画像（実画像）の画素を並べ変えて仮想視点画像を再構成する。
【０００３】
また、別の従来の画像生成方法として、例えば多数のカメラを並列的に配置し、それぞれで撮影された画像をカメラの位置関係に応じて平行移動させながら順次加算することで新たな画像を生成する方法がある（例えば、非特許文献１および非特許文献２）。このように画像を生成することで、手前の障害物を消去し、その障害物の向こう側にある対象物をより明確に表示させるようにしている。この方法の場合、障害物の消去できる程度は、カメラ数に依存している。
【０００４】
【特許文献１】特開２０００−２１５３１１号公報
【非特許文献１】A.Isaksen, L.McMillan and S.Gortler. “Dynamically Reparameterized Light Fields”, In Proc. of ACM SIGGRAPH, 2000
【非特許文献２】V.Vaibhav, B.Wilburn, N.Joshi, and M.Levoy, “Using plane + parallax for calibrating dense camera arrays”, IEEE CVPR 2004
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された画像生成方法では、実画像で見えづらい部分に対し、仮想視点からみた画像を生成するようにしているので、障害物に隠された部分を元の実画像とほぼ同じ視点から見るようにすることはできないという問題があった。また、非特許文献１や非特許文献２に記載された画像生成方法では、手前の障害物が邪魔にならない程度に消去するためには、多数のカメラを用いなければならないという問題があった。
【０００６】
この発明は、上記問題点を解決するためになされたもので、少ないカメラ数で撮影された多視点画像からでも、効率よく障害物を消去した画像を生成する画像生成装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る画像生成装置は、少なくとも２つのカメラを使用して異なる地点から概ね同じ視野に対し撮影した２つの画像に基づいて、２つの画像のうちの少なくとも一方の画像上の画素ごとのディスパリティ値を算出するディスパリティ算出部と、ディスパリティ値に応じて一方の画像の画素ごとに大小いずれかの重み値を設定する重み設定部と、一方の画像上で注目領域を設定する注目領域抽出部と、設定された注目領域に対応する他方の画像上の対応領域を算出し、これら注目領域と対応領域の位置関係を表す注目領域ベクトルを算出する注目領域ベクトル算出部と、設定された画素ごとの重み値と算出された注目領域ベクトルに基づいて、一方の画像上の画素で重み値が小に設定された画素位置に、注目領域ベクトル分ずれた他方の画像上の位置の画素値を抽出して加算することにより画像を生成する画像加算部とを備えたものである。
【発明の効果】
【０００８】
この発明によれば、最低２つの視点から撮影した画像の各１枚ずつから、その１つの画像内にある障害物を透視し、その影に隠れている領域を見えるようにした画像を生成できる効果がある。また、その透視した領域を鮮明に表示することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１はこの発明の実施の形態１による画像生成装置の機能構成を示すブロック図である。図１の画像生成装置は、例えば２つのカメラでそれぞれ撮影された２つの画像から、障害物を透視した透視画像を生成する構成を示している。
図において、Ａカメラ１とＢカメラ２は、概ね同じ視野を撮影したＡ１画像とＢ１画像をそれぞれ生成する手段である。ディスパリティ（ｄｉｓｐａｒｉｔｙ）算出部３は、撮影されたＡ１画像とＢ１画像に基づいて、少なくともＡ１画像上の各画素のディスパリティ値を算出する手段である。重み設定部４は、算出されたディスパリティ値に応じてＡ１画像の画素ごとに大または小の重み値を設定する手段である。注目領域抽出部５は、Ａ１画像上で、例えば動いている物体の領域を注目領域として設定する手段である。注目領域ベクトル算出部６は、Ａ１画像上の注目領域に対応するＢ１画像上の対応領域を算出し、これら注目領域と対応領域の位置関係を表す注目領域ベクトルを算出する手段である。画像加算部７は、画素ごとの重み値と注目領域ベクトルに基づいて、Ａ１画像上の画素で重み値を小に設定された画素位置に、注目領域ベクトル分ずれたＢ１画像上の位置の画素値を抽出して加算することにより新たな画像を生成する手段である。
なお、ここでディスパリティについて説明しておくと、ディスパリティとは、同一の物体を視点位置を変えて撮影した２つの画像があるとき、同一物体の同じ位置に相当する一方の画像内の画素の位置と、他方の画像内の画素の位置とのずれの大きさ（または差の大きさ）である。画素数で示されることが多い。視差とも言われ、視点から近い物体ほど、ディスパリティは大きくなる。一方の画像上の位置から、他方の画像上の位置に対し、方向も含めた情報として扱う場合は、ディスパリティベクトル（または視差ベクトル）と呼ぶことがある。
【００１０】
次に、動作について説明する。
この実施の形態１に係る撮影方法と処理画像の例について図２に示す。図２（ａ）に示すように、Ａカメラ１とＢカメラ２を視線方向と直交する線上に並列に設置し、ほぼ同じ視野に入る障害物８、ぬいぐるみ９、ダルマ１０、背景１１を撮影する。それぞれのカメラで撮影した画像をＡ１画像、Ｂ１画像とすると、このとき、２つのカメラの位置は異なっているため、それぞれのカメラで撮影された画像上において、障害物８、ぬいぐるみ９、ダルマ１０、背景１１の位置は異なって現れる。説明を簡単にするために、ＡカメラとＢカメラの性能が等しく、両者が水平に配置され、かつその視線方向が平行であると仮定する。この場合、Ａ１画像とＢ１画像に共通に写っている物体は、図２（ｂ）、（ｅ）に示すように、各画像上での位置は水平方向のみで異なり、垂直方向では等しくなる。
【００１１】
ディスパリティ算出部３では、撮影したＡ１画像とＢ１画像を用いてステレオマッチングを行い、Ａ１画像上の各画素のディスパリティ値を算出し、画素ごとのディスパリティ値を示した画像であるディスパリティマップＡを図２（ｃ）のように生成する。図２の例の場合では、Ａ１画像とＢ１画像に共通に写っている物体は各画像上の位置が水平方向のみで異なるため、ディスパリティは、Ａ１画像に写っている物体がＢ１画像内にも写っているとき、その水平方向の位置のずれを示す数値（単位は画素）となる。
【００１２】
ステレオマッチングとしては、例えばＳＳＤ（Sum of Squared Difference）と呼ばれる方法があり、これを図３に示す。先ず、図３（ａ）に示すように、Ａ１画像を一定の大きさの小領域に分割する。次に、それら小領域の１つである小領域Ａに対して、図３（ｂ）に示すように、Ｂ１画像上に、同じ位置でかつ同じ大きさの小領域Ｂ１を見つけ、その小領域Ｂ１を囲むように探索範囲Ｂを設定する。この例では、ディスパリティ値は水平方向の位置ずれを示す値であるため、探索範囲Ｂも水平方向のみ探索するように設定される。次に、設定された探索範囲Ｂ内で小領域Ｂ１と同じ大きさの小領域Ｂ２を順次１画素ずつ移動させる。小領域Ｂ２が移動するごとに、小領域Ａと小領域Ｂ２内の同じ位置の画素同士でその画素値を差分し、さらにその差分値を２乗する。この演算を小領域Ａに含まれる画素数分繰り返して、その差分値の２乗の総和を得る。この総和値を小領域Ｂ２が現在存在する位置の評価値とし、順次小領域Ｂ２を探索範囲Ｂ内の画素位置ごとに移動させ、その都度この評価値を求める。最終的に探索範囲Ｂ内の全ての画素位置ごとにこの評価値を算出した上で、この評価値が最小となる小領域Ｂ２の位置を、小領域Ａと一致する画像Ｂ１内の小領域の位置とし、この小領域Ｂ２と小領域Ｂ１との位置のずれに相当する水平方向の画素数を求める。このとき、この水平方向のずれを、Ａ１画像上の画素のディスパリティ値とする。この他に、ステレオマッチングには様々な方法があるが、どの手法を使用してもよい。
【００１３】
以上のように作成されたディスパリティマップＡは、例えば図２（ｃ）のようになる。このディスパリティマップＡは、薄い灰色、濃い灰色、黒の３色で示されているが、それぞれ障害物８、ぬいぐるみ９とダルマ１０、背景１１のディスパリティ値を示している（実際にはそれぞれの中でもディスパリティ値には変化があるが、ここでは無視する）。ここで、例えば各ディスパリティ値（単位は画素）は、薄い灰色、濃い灰色、黒の順に「５０」、「２０」、「５」を示したものとする。重み設定部４では、例えばディスパリティに対するしきい値として「３０」を保持しておく。ディスパリティマップＡの画素ごとのディスパリティ値をこのしきい値と比較し、しきい値より大きい場合、その画素に重み値を「０」（または小さい値）に設定し、一方、しきい値以下の場合には重み値を「１」（または大きい値）を設定する。このようにディスパリティ値に応じて大または小の重み値で二分された画素は、図２（ｄ）に示すような重み値マップＡを形成する。この重み値マップＡにおいて、黒は重み値「０」（または小さい値）の領域（障害物８の領域）を、また、それ以外の薄い灰色は重み値「１」（または大きい値）の領域を表す。
【００１４】
注目領域抽出部５では、Ａ１画像上で動いている領域がある場合に、Ａ１画像と、当該画像を撮影したわずか後に同じカメラ１で再び撮影した画像との間で動きのある画素を検出しＡ１画像の動きがある画素の領域を注目領域として抽出する。具体的には、図４（ａ）、（ｂ）に示すように、異なる時刻にＡカメラで撮影されたＡ１画像とＡ２画像を用いる。今、ぬいぐるみ９が画面に向かって右に動いており、その他のダルマ１０や障害物８、背景１１は動いていないとする。このとき、以下のような方法で注目領域を抽出する。Ａカメラで撮影されたＡ１画像とそのわずか後に撮影されたＡ２画像に対し、前記ＳＳＤを行って、Ａ１画像の全ての画素ごとに、Ａ２画像に設定された探索範囲に対してＳＳＤの評価値を求め、その評価値を最小とするＡ２画像の探索範囲内の位置が、Ａ１画像の元の位置と一致していないＡ１画像の画素を選択することで動き領域を検出する。この動き領域（動いているぬいぐるみ９の領域）をＡ１画像上の注目領域として設定する。この注目領域を表す注目領域マップＡを図４（ｃ）に示す。ここで、薄い灰色が画像Ａ１内部の注目領域を示している。
【００１５】
注目領域ベクトル抽出部６では、先ず、注目領域抽出部５で抽出された画像Ａ１の注目領域を図３（ａ）の小領域Ａに相当するものとして利用し、Ａ１画像とＢ１画像との間でＳＳＤを行う。これにより、Ａ１画像の注目領域に対し、ＳＳＤの評価値を最小とするＢ１画像内の位置を算出する。この算出されたＢ１画像内の位置は、多くの場合、図５に示すように、Ｂ１画像内で、ぬいぐるみの位置に重なる位置、すなわち図５（ｂ）の対応領域マップＢで表される部分となる。このとき、Ｂ１画像のディスパリティマップを（画像Ａ１のそれと同様の方法で）あらかじめ作成しておき、このＢ１画像のディスパリティマップが一定のしきい値の範囲（例えば上記ディスパリティに対するしきい値「３０」以下）にあるＢ１画像内の画素に対してのみ、ＳＳＤを行ってもよい。これによって、Ｂ１画像内で、ぬいぐるみの位置に重なる位置の探索精度を向上させることができることがある。このとき、ＳＳＤの評価値の算出に使用される画素数は変動する可能性があるので、ＳＳＤの評価値の最小値を求める際、評価値全体をその算出に使用した画素数で割った、「１画素当たりの評価値」を最小とするＢ１画像内の位置を算出してもよい。
【００１６】
次に、注目領域ベクトル抽出部６は、上記Ｂ１画像内部の位置（図５（ｂ）と同じ図４（ｄ）の対応領域マップＢ）と、図４（ｃ）の注目領域マップＡとを用いて、両者の位置関係を表す注目領域ベクトルを算出する。この注目領域ベクトルの算出は、上記「Ａ１画像の注目領域に対し、ＳＳＤの評価値を最小とするＢ１画像内の位置を算出する」際の、Ａ１画像の注目領域と、Ｂ１画像内の算出された位置との「ずれ」をそのまま利用してもよい。なお、Ａ１画像とＡ２画像との間で動いている部分が少ないときは、注目領域抽出部５で動きの検出に応じて抽出した注目領域の画素数が少なく、上記Ａ１画像とＢ１画像間で行うＳＳＤで使用する画素数が少なくなり、注目領域ベクトルの精度が低下する可能性がある。その場合には、それ以前に撮影された画像から抽出された注目領域に基づいて算出した注目領域ベクトルを再利用してもよい。また、後述する実施の形態２で示す方法で抽出される注目領域ベクトルを用いてもよい。
【００１７】
また、この例のように、障害物８が動かないと仮定できる場合で、ぬいぐるみ９が継続的に動いているとすると、注目領域を幾つかのフレームに渡って継続して算出し、それら注目領域の範囲（図４（ｃ）の注目領域マップＡで、ぬいぐるみに相当する灰色で示された領域）を累積することで、「障害物８やその他の障害物が存在しない領域」を推定することができる。この「障害物８やその他の障害物が存在しない領域」を用いて、図２（ｄ）の、ディスパリティマップＡの薄い灰色で示された障害物８の領域の周囲や輪郭に出現する可能性がある、障害物８やその他障害物の誤検出領域を、「誤り」と判断して、無視するようにしてもよい。またこのとき、各フレームごとの注目領域を累積した累積フレーム数を、或るしきい値以上にするか、あるいは或る上下しきい値以内に限定してもよい。また累積するフレームは、例えば、連続するＡ１画像とＡ２画像との間で、動いている部分をその画素数などで判断し、あるしきい値以上の画素が動いていると判断できるフレームのみ、累積に使用してもよい。
【００１８】
画像加算部７では、Ａ１画像上の画素で重み値を「０」とされた画素位置に、注目領域ベクトル分ずれた位置のＢ１画像の画素値（Ｂ１画像の対応領域の画素値）を埋め込む。Ａ１画像内部の重み値が「０」とされた全ての画素位置（Ａ１画像上の障害物８の領域）に対して、Ｂ１画像の対応領域を埋め込む（加算する）ことで、図３（ｃ）に示すような新たなＣ１画像を生成する。このとき、重みを「０」、「１」ではなく、「小さい値（例えば０．３）」、「大きい値（例えば０．７）」とそれぞれしたとき、Ａ１画像内部の重み値が「小さい値」とされた全ての画素位置（障害物８の領域）に対して、埋め込む画素値を、
｛（Ａ１画像の画素値）×「小さい値」＋（Ｂ１画像の画素値）×「大きい値」｝／（「小さい値」＋「大きい値」）
としてもよい。例えば、Ａ１画像上の画素で重みを「小さい値（０．３）」とされた領域のある画素において、
その画素値（＝Ａ１画像の画素値）：２００、
注目領域ベクトル分ずれた位置のＢ１画像の画素値：１００、
上記注目領域ベクトル分ずれた位置のＢ１画像の画素の重み：０．７（＝１−小さい値／（小さい値＋大きい値））とすると、
（２００×０．３＋１００×０．７）／（０．３＋０．７）＝１３０
となるので、上記「Ａ１画像上の画素で重みを「小さい値（０．３）」とされた領域のある画素」の埋め込み値は１３０となる。
また、このとき、Ａ１画像内部の重み値が「大きい値」とされた全ての画素位置（障害物８以外の領域）に対してはなんら変更しなくてもよい。
【００１９】
また、この領域（障害物８以外の領域）に対し以下のように変更して埋め込んでもよい。この場合の埋め込む画素値を、
｛（Ａ１画像の画素値）×「大きい値」＋（Ｂ１画像の画素値）×「小さい値」｝／（「小さい値」＋「大きい値」）
としてもよい。例えば、Ａ１画像上の画素で重みを「大きい値（０．７）」とされた領域（障害物８以外の領域）のある画素において、
その画素値（＝Ａ１画像の画素値）：２００、
注目領域ベクトル分ずれた位置のＢ１画像の画素値：１００、
上記注目領域ベクトル分ずれた位置のＢ１画像の画素の重み：０．３（＝１−大きい値／（小さい値＋大きい値））とすると、
（２００×０．７＋１００×０．３）／（０．７＋０．３）＝１７０
となるので、上記「Ａ１画像上の画素で重みを「大きい値（０．７）」とされた領域のある画素」の埋め込み値は１７０となる。
この他、ＡカメラとＢカメラの視点位置の違いのためにＢ１画像の対応領域をそのままはめ込むと、周囲のＡ１画像の部分とうまくつながらず、Ｃ１画像の中ではめ込み部分（特にその境界部分）が目立ってしまうことがある。その対策として、画像加算部７において、Ｂ１画像の対応領域またはＡ１画像のいずれかに対してアフィン変換やその他の変形を施してから埋め込むようにすればよい。
【００２０】
以上のように、この実施の形態１によれば、ディスパリティ算出部３により、２つのカメラを使用して異なる地点から概ね同じ視野に対し撮影した２つの画像Ａ１，Ｂ１に基づいて、Ａ１画像上の画素ごとのディスパリティ値を算出し、重み設定部４で、算出されたディスパリティ値に応じてＡ１画像の画素ごとに大小いずれかの重み値を設定し、注目領域抽出部５によりＡ１画像上で注目領域を設定し、注目領域ベクトル算出部６により、注目領域に対応するＢ１画像上の対応領域を算出し、これら注目領域と対応領域の位置関係を表す注目領域ベクトルを算出し、画像加算部７において、設定された画素ごとの重み値と注目領域ベクトルに基づいて、Ａ１画像上の画素で重み値が小に設定された画素位置に、注目領域ベクトル分ずれたＢ１画像上の位置の画素値を抽出して加算して画像を生成するようにしている。したがって、最低２つの視点から撮影した画像の各１枚ずつから、その１つの画像内にある障害物を透視し、その影に隠れている領域を見えるようにした画像を生成できる。また、その透視した領域を鮮明に表示することができる。また、１つのカメラで異なる時刻に撮影された２つの映像を用いて、その動いている部分を注目領域と設定するようにしているので、動く人物など、注目すべき被写体をうまく表示することが可能となる。
【００２１】
なお、上記例では、ＡカメラとＢカメラの性能が等しく、両者が水平に配置され、かつその視線方向が平行である場合について説明したが、これらの設定が正確になされていなくても、ＡカメラとＢカメラで撮影したそれぞれ画像に対して予め上記条件を満たすように画像を変形処理してから、ディスパリティ算出部３、注目領域抽出部５、画像加算部７での処理を行うようにしても、同様な効果が得られる。
また、画素ごとにＳＳＤなどのステレオマッチングや動き領域検出を行っていたが、画素を幾つかまとめたブロックごとにＳＳＤなどを行ってもよい。また、ステレオマッチングで求めたディスパリティや動き領域に対し、平滑化処理を施してもよい。さらに、障害物領域に対し、重み値を「小さい値」とすることで、障害物領域の識別と、重み値の設定を、同時に可能としているが、障害物領域の判定を別のパラメータで行ってもよく、重み値は別に判定できるようにしてもよい。特に、重み値として「０」の場合は、障害物領域が区別できればよい。
【００２２】
実施の形態２．
上記実施の形態１では、注目領域の設定の際、画像内で動いている領域を注目領域としたが、もし注目領域としたい物体が動いていない場合には、適切な画像を生成することができない。この実施の形態２では、この問題を解決する手段を与える。
図６はこの発明の実施の形態２による画像生成装置の機能構成を示すブロック図である。図において、図１に相当する部分には同一符号を付し、原則としてその説明を省略する。この実施の形態２では、図１の注目領域抽出部５に代って注目領域抽出部１２が設けられている。この実施の形態２の注目領域抽出部１２は、保持するしきい値の条件を満たすディスパリティ算出部３で得られたＡ１画像上の画素ごとのディスパリティ値の中で、保持するしきい値による条件を満たすディスパリティ値の画素で構成される領域を注目領域とし抽出する手段である。
【００２３】
次に、動作について説明する。
注目領域抽出部１２では、ディスパリティ算出部３から出力されたＡ１画像上の画素ごとのディスパリティ値を保持しているしきい値を用いて調べる。そのしきい値は、例えば「３０」と「１０」の上下値を持ち、ディスパリティ値が「３０」以下かつ「１０」を超える場合に、注目領域と判断する。その注目領域の抽出方法を図７に示す。Ａ１画像とＢ１画像とから得られた図７（ａ）のディスパリティマップＡで、ディスパリティ値は、薄い灰色、濃い灰色、黒の順に「５０」、「２０」、「５」であるから、しきい値「３０」と「１０」の間に入るのは濃い灰色の部分の値となる。その条件を満たすディスパリティ値をマップ化すると図７（ｂ）に示されるような注目領域マップＡ２となる。図７（ｂ）では、注目領域マップＡ２は、設定された注目領域が薄い灰色で、それ以外の領域が黒で示されている。
注目領域ベクトル算出部６が注目領域抽出部１２で設定された注目領域マップＡ２から注目領域ベクトルを算出する方法は実施の形態１と同じであり、それ以降の動作も同じである。
【００２４】
以上のように、この実施の形態２によれは、注目領域抽出部１２が、ディスパリティ算出部３で得られたＡ１画像上の画素ごとのディスパリティ値の中で、上下のしきい値内に入るディスパリティ値の画素で構成される領域を注目領域として抽出するようにしたので、注目領域としたい物体が動いていなくても、ディスパリティ値に応じて注目領域を設定することができる。この実施の形態２の場合、上記ディスパリティ値はその対応する画素値のカメラからの距離に依存する値であるため、カメラからの距離が一定の範囲にある領域を注目領域として設定できることになる。したがって、実施の形態２の注目領域抽出部１２を、実施の形態１の注目領域抽出部５と組み合わせることで、例えば動いているものが複数あった場合に、それらのうちでカメラからの距離が一定の範囲内にある物体が写っている領域を注目領域とすることも可能である。
【００２５】
また、実施の形態１や実施の形態２では、注目領域を画像内の画像全体から抽出したが、これを画面中央部分や右半分などと画像の範囲を限って抽出してもよい。例えば図７（ｃ）のように、注目領域範囲マップＡでは、注目領域は画面内部で薄い灰色で示した範囲として示される。また、図７（ｄ）の注目領域マップＡ３では、図７（ｃ）の注目領域範囲マップＡを設定した上で、この注目領域範囲と実施の形態２の注目領域抽出部１２によって設定された図７（ｂ）の注目領域が一致した領域を、薄い灰色が設定された注目領域として示している。
また、実施の形態１や実施の形態２では、ディスパリティや注目領域、注目領域ベクトルを画素単位で探索しているが、１／２画素や１／４画素単位などより細かい単位で探索してもよい。また２画素や４画素など、粗い単位で探索することも可能である。したがって、この発明の解釈にあたっては、請求項の記載において、対応する「画素」については上記の単位で置き換えたものをも含むこととする。
【００２６】
実施の形態３．
図８はこの発明の実施の形態３による画像生成装置の機能構成を示すブロック図である。図において、図１に相当する部分には同一符号を付し、原則としてその説明を省略する。
この実施の形態３のディスパリティ算出部３では、実施の形態１と同じようにＡカメラで撮影された画像（この場合はＡ３画像）の画素のディスパリティ値を算出するが、加えてＢカメラで撮影されたＢ２画像の画素のディスパリティ値も算出するようにしている。また、画像加算部１４は、実施の形態１の画像加算部７の代わりに設けられ、画像加算部７の加算処理の際に、Ｂ２画像のディスパリティ値が保持するしきい値を超える画素についてはＡ３画像の重み値が小に設定された画素位置に加算しないようして画像の生成を行う。
図９は実施の形態３に係る撮影方法と処理画像を示しており、効果的な構図における画像撮影の様子と、そのときのＡカメラ１で撮影されたＡ３画像、ディスパリティマップＡ３、重みマップＡ２およびＢカメラで撮影されたＢ２画像の関係を示している。図１０は算出されたＡ３画像のディスパリティマップＡ２、重みマップＡ２、Ｂ２画像のディスパリティマップＢを示している。
【００２７】
次に動作について説明する。
上記実施の形態１および実施の形態２では、Ａ１画像の重み値が「０」の領域に対し、注目領域ベクトルに相当する分だけずれたＢ１画像の対応領域の画像データをはめ込むことで画像を生成していた。この方法を図９（ａ）に示すように、ぬいぐるみ９の前に障害物８の他に障害物１３がある構図の場合に適用すると図１１に示すようになる場合がある。つまり、注目領域ベクトルに相当する分だけずれた位置にある、図１１（ｂ）の画像Ｂ２上の対応領域をはめ込むことになるため、図１１（ａ）のＡ３画像内部の障害物８の領域には、図１１（ｂ）の画像Ｂ２の障害物１３の領域が埋め込まれ、図１１（ｃ）に示す画像Ｃが生成される。このため、生成された画像Ｃでは、障害物１３に相当する領域では障害物は消去され、ぬいぐるみの足が見えるようになるが、障害物８に相当する領域では、本来無かった障害物１３がはめ込まれた結果、現実とは異なる画像が生成されてしまうことになる。
【００２８】
これに対し、この実施の形態３では、画像加算部１４において、図９（ｄ）または図１０（ｃ）の重みマップＡ２で示されるＡ３画像の重み値「０」の領域を埋めるための領域を、図１０（ｄ）または（ｄ’）のＢ２画像から取り込む際に、図１０（ｅ）に示すＢ２画像のディスパリティマップＢでＢ２画像の画素のディスパリティ値を確認する。この場合、Ｂ２画像のディスパリティ値が、例えば保持しているしきい値「３０」より大きかった場合、Ａ３画像上の注目領域に対応するＢ２画像上の対応領域の画像データでは無いと判断して、その画素をＡ３画像の重み値が小に設定された画素位置への埋め込みを行わないように制御する。すなわち、図１０（ｅ）の障害物に相当する薄い灰色の領域（ディスパリ値：５０＞３０）は埋め込みに使用されない。これにより、図１１（ｄ）に示すように、実施の形態３の画像データＣ２では、障害物８は消去できないものの、その部分に障害物１３が埋め込まれるような現実にない画像が生成されることを防いでいる。
【００２９】
以上のように、この実施の形態３によれば、画像加算部１４において、Ａカメラ１のＡ３画像のディスパリティマップに加え、Ｂカメラ２のＢ２画像のディスパリティマップも使用し、Ｂ２画像の画素のディスパリティ値が所定のしきい値を超える場合には、その画素をＡ３画像の埋め込み対象として外すようにしたので、現実とは異なる画像が生成されるのを防ぐことができる。
【００３０】
実施の形態４．
図１２はこの発明の実施の形態４による画像生成装置の機能構成を示すブロック図である。図において、図１に相当する部分には同一符号を付し、原則としてその説明を省略する。
この実施の形態４では、実施の形態１の注目領域抽出部５と注目領域ベクトル算出部６は用いず、新たにディスパリティ補間部１５を備えている。また、画像加算部７の代わりに画像加算部１６を備えている。
このディスパリティ補間部１５は、ディスパリティ算出部３で算出されたＡ１画像上の画素ごとのディスパリティ値に対して、重み設定部４で設定された画素の重み値が「０」（または小さい値）の画素については、その画素のディスパリティ値を周辺の画素のディスパリティ値で置き換える、または平均化するなどの方法で求め、補間する手段である。画像加算部１６は、Ａ１画像から重み設定部４で重み値が「０」（または小さい値）に設定された領域に、ディスパリティ補間部１５で補間したディスパリティ値分離れたＢ１画像の位置の画素値を加算することにより画像を生成する手段である。
図１３はＡカメラで撮影されたＡ１画像、ディスパリティマップＡ、その重みマップＡ、補間されたディスパリティマップＡ、およびＢカメラで撮影された画像Ｂ１とそれらを用いて障害物を消去したＣ３画像の関係を示している。
【００３１】
次に動作について説明する。
重み設定部４では、実施の形態１でも説明したように、ディスパリティ算出部３で生成された図１３（ｂ）に示すＡ１画像のディスパリティマップＡをしきい値処理することにより障害物領域に重み値「０」（または小さい値）を設定し、図１３（ｃ）に示す重みマップＡを作成する。ディスパリティ補間部１４では、画素の重み値を「０」（または小さい値）に設定された図１３（ｂ）のディスパリティマップＡ上の領域（薄い灰色の部分）を、その領域の周辺の画素のディスパリティ値で置き換えて補間し、図１３（ｄ）に示すような補間ディスパリティマップＡを生成する。この補間方法は、重みマップＡで重み値が「０」に設定された領域（黒色の部分）の周囲のディスパリティ値を図１３（ｂ）のディスパリティマップＡから得て、それらを平均化することで求められる。このとき線形補間などの関数を用いて補間値を生成してもよい。また、２つのカメラ配置が水平方向であることを考慮し、重みマップＡで示された障害物領域に対し、特に水平方向のディスパリティ値を優先的に使用して補間を行ってもよい。このほか、どのような方法でもよい。
次に、画像加算部１６では、図１３（ｃ）の重み値マップＡにより、Ａ１画像上の重み設定部４で重み値「０」に設定された領域を認識し、その領域を埋める画像データを、補間ディスパリティマップＡで示されたディスパリティ値分離れた位置の図１３（ｅ）に示すようなＢ１画像の画素値で埋めることで、図１３（ｆ）の生成画像Ｃ２を生成する。
【００３２】
以上のように、この実施の形態４によれば、算出されたＡ１画像上の画素ごとのディスパリティ値とそれに対して、設定した画素の重み値が「０」（または小さい値）の画素については、ディスパリティ補間部１５により、その画素のディスパリティ値を周辺の画素のディスパリティ値で置き換えることで補間し、画像加算部１６では、その補間されたＡ１画像の領域に、その領域のディスパリティ値（＝補間されたディスパリティ値）だけずれた位置の、Ｂ１画像の画素値を、ディスパリティ補間部１５で加算することにより画像を生成するようにしたので、２つのカメラで撮影された画像から、障害物を消去した画像を生成することができる。障害物の領域のディスパリティ値を、周囲のディスパリティ値で補間することでその障害物の領域を推定するため、他の実施の形態で行っている注目領域ベクトルを別途算出する必要がない。また、障害物の領域が注目領域以外にかぶさっていて、障害物の領域に隠されている領域のディスパリティ値を注目領域のディスパリティでは正しく推定できない場合があるが、このような場合でも、この実施の形態４によれば、障害物を消去した良好な画像を生成することができる。
【００３３】
以上説明してきた各実施の形態では、２つのカメラを使用してステレオマッチングを行ってディスパリティを算出していたが、３つ以上のカメラで撮影された画像を使用して、同じ画素のディスパリティを、異なるカメラの組み合わせで算出したディスパリティと比較することで、そのディスパリティの精度を高めることも可能である。また、２つのカメラを使用した場合に、１つのカメラでしか撮影されなかったためディスパリティを算出できなかった領域の画素のディスパリティを、別のカメラから撮影した画像を利用することで、ディスパリティを算出できるようにしてもよい。
【図面の簡単な説明】
【００３４】
【図１】この発明の実施の形態１による画像生成装置の機能構成を示すブロック図である。
【図２】この発明の実施の形態１に係る撮影方法と処理画像を示す説明図である。
【図３】この発明の実施の形態１に係るステレオマッチング方法の例を示す説明図である。
【図４】この発明の実施の形態１に係る各処理画像の関係を示す説明図である。
【図５】この発明の実施の形態１に係る他の各処理画像の関係を示す説明図である。
【図６】この発明の実施の形態２による画像生成装置の機能構成を示すブロック図である。
【図７】この発明の実施の形態２に係る各処理画像の関係を示す説明図である。
【図８】この発明の実施の形態３による画像生成装置の構成を示すブロック図である。
【図９】この発明の実施の形態３に係る撮影方法と処理画像を示す説明図である。
【図１０】この発明の実施の形態３に係る各処理画像の関係を示す説明図である。
【図１１】この発明の実施の形態３に係る画像生成方法を示す説明図である。
【図１２】この発明の実施の形態４における画像生成装置の構成を示すブロック図である。
【図１３】この発明の実施の形態４に係る各処理画像の関係を示す説明図である。
【符号の説明】
【００３５】
１  Ａカメラ、２  Ｂカメラ、３  ディスパリティ算出部、４  重み設定部、５，１２  注目領域抽出部、６  注目領域ベクトル算出部、７，１４，１６  画像加算部、８，１３  障害物、９  ぬいぐるみ、１０  ダルマ、１１  背景、１５  ディスパリティ補間部。
【図１】
2007053621.tif 000003
【図２】
2007053621.tif 000004
【図３】
2007053621.tif 000005
【図４】
2007053621.tif 000006
【図５】
2007053621.tif 000007
【図６】
2007053621.tif 000008
【図７】
2007053621.tif 000009
【図８】
2007053621.tif 000010
【図９】
2007053621.tif 000011
【図１０】
2007053621.tif 000012
【図１１】
2007053621.tif 000013
【図１２】
2007053621.tif 000014
【図１３】
2007053621.tif 000015