(57)【要約】【課題】三次元形状データを精度よく生成することを目的とする。【解決手段】生成装置１０４は次の各部を有する。取得部８０１は複数の方向からの撮像に基づいて得られた撮像画像ごとの前景マスク画像をそれぞれ取得する。不正マスク検出部８０２は、取得部８０１が取得した前景マスク画像のうち、不正な前景マスク画像を検出する。処理部８０３は、不正マスク検出部８０２が検出した不正な前景マスク画像に対して処理を行う。生成部８０４は、取得部８０１が取得した前景マスク画像のうち処理部８０３によって処理されていない前景マスク画像と、処理部８０３によって処理がされた画像と、に基づき前記前景の三次元形状データを生成する。【選択図】図８
2020091534.tif 000002
【特許請求の範囲】
【請求項１】
複数の方向からの撮像に基づいて得られたオブジェクト領域を示す画像をそれぞれ取得する取得手段と、
前記取得手段が取得した画像のうち、正常ではない画像を検出する検出手段と、
前記検出手段によって検出された画像に対して処理を行う処理手段と、
前記取得手段が取得した画像のうち前記処理手段によって処理されていない画像と、前記処理手段によって前記処理が行われた画像と、に基づき前記オブジェクトの三次元形状データを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記処理手段は、前記処理として、前記検出手段によって検出された画像を、画像の全ての領域がオブジェクト領域であるように表された画像に、置き換える処理をする
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、正常ではない画像のうち正常な領域を検出し、
前記処理手段は、前記処理として、前記検出手段によって検出された画像のうち、正常な領域とは異なる領域の一部がオブジェクト領域であるように表された画像に、置き換える処理をする
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記正常な領域とは異なる領域の一部は、前記正常な領域を含む所定の領域以外の領域である
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記取得手段は、前記検出手段によって検出された画像に対応する過去のオブジェクト領域を示す画像をさらに取得し、
前記処理手段は、前記処理として、前記過去のオブジェクト領域を示す画像に含まれるオブジェクト領域を広げる処理がされた画像を、前記検出手段によって検出された画像と置き換える処理をする
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記過去のオブジェクト領域を示す画像は、前記検出手段によって検出された画像に対応する撮像画像を得るための撮像と同じ方向から以前に撮像されて得られた撮像画像に基づくオブジェクト領域を示す画像である
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記処理手段は、前記広げる処理として、膨張処理をする
ことを特徴とする請求項５または６に記載の画像処理装置。
【請求項８】
前記処理手段は、前記広げる処理として、オブジェクト領域を含む所定の領域の全ての領域がオブジェクト領域であるように置換する
ことを特徴とする請求項５または６に記載の画像処理装置。
【請求項９】
前記処理手段は、前記検出手段によって検出された画像に対応する撮像画像が撮像された時間と、前記過去のオブジェクト領域を示す画像に対応する撮像画像が撮像された時間と、の差において前記オブジェクトが動くことの可能な範囲に基づき、前記広げる処理における広げる大きさを決定する
ことを特徴とする請求項５から８のいずれか１項に記載の画像処理装置。
【請求項１０】
複数の方向からの撮像に基づいて得られたオブジェクト領域を示す画像をそれぞれ取得する取得手段と、
前記取得手段が取得した画像のうち、正常ではない画像を検出する検出手段と、
前記検出手段によって検出された画像の数に基づき閾値を決定する決定手段と、
三次元空間を構成する要素の集合のうち、夫々の前記オブジェクト領域を示す画像と前記閾値とに基づき、対象の要素が前記オブジェクトに属さない要素であると判定した場合、対象の要素を削ることにより、前記オブジェクトの三次元形状データを生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項１１】
前記生成手段は、
前記対象の要素の射影がオブジェクト領域から外れる前記オブジェクト領域を示す画像の数が、前記閾値より大きい場合には前記対象の要素を削るように構成され、
前記対象の要素の射影がオブジェクト領域から外れる前記オブジェクト領域を示す画像の数が前記閾値以下の場合には、対象の前記要素を削らないことにより、前記オブジェクトの三次元形状データを生成する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記要素は、三次元空間を構成する点又はボクセルである
ことを特徴とする請求項１０または１１に記載の画像処理装置。
【請求項１３】
前記決定手段は、
前記検出手段によって検出された画像の数を前記閾値として決定する
ことを特徴とする請求項１０から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
以前に生成されたオブジェクトの三次元形状データを取得する取得手段と、
前記取得手段により取得された前記オブジェクトの三次元形状データの基になった撮像画像が撮像された時間から対象の時間までの前記オブジェクトの移動量を決定する決定手段と、
前記取得手段により取得された前記オブジェクトの三次元形状データを、前記決定手段により決定された移動量に基づき移動させることにより、前記対象の時間における前記オブジェクトの三次元形状データを生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項１５】
前記取得手段は、
前記オブジェクトを含み前記対象の時間において撮像された第一の撮像画像に基づいて得られた第一の画像と、前記オブジェクトを含み前記第一の撮像画像より以前に撮像された第二の撮像画像に基づいて得られた第二の画像とをさらに取得し、
前記取得手段が取得する前記オブジェクトの三次元形状データは前記第二の撮像画像が撮像された時間における前記オブジェクトの三次元形状データであり、
前記決定手段は
前記第一の画像と、前記第二の画像とに基づき前記移動量を決定する
ことを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記第一の画像は前記第一の撮像画像に基づいて得られたオブジェクト領域を示す画像であり、前記第二の画像は前記第二の撮像画像に基づいて得られたオブジェクト領域を示す画像であり、
前記決定手段は、
前記第一の画像の前記オブジェクト領域を含んだ第一の領域と、前記第二の画像の前記オブジェクト領域を含んだ第二の領域と、の中心座標の差分より前記移動量を決定する
ことを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記取得手段は、
さらに、前記第一の撮像画像が撮像された時間において複数の方向からの撮像に基づいて得られたオブジェクト領域を示す画像をそれぞれ取得し、
前記取得手段が取得した前記オブジェクト領域を示す画像のうち、正常ではない画像を検出する検出手段をさらに有し、
前記生成手段は、
前記検出手段によって前記正常ではない画像が検出された場合は、前記取得手段により取得された前記オブジェクトの三次元形状データを前記決定手段により決定された前記移動量に基づき移動させることにより、前記対象の時間における前記オブジェクトの三次元形状データを生成する
ことを特徴とする請求項１５または１６に記載の画像処理装置。
【請求項１８】
前記検出手段は、
画像データにおけるデータヘッダ、データサイズ、およびチェックサムのうちの少なくとも１つに基づき、前記正常ではない画像を検出する
ことを特徴とする請求項１から１３または１７のいずれか１項に記載の画像処理装置。
【請求項１９】
前記検出手段は、
前記取得手段が画像を取得できなかった場合、前記正常ではない画像を検出したものとして処理する
ことを特徴とする請求項１８に記載の画像処理装置。
【請求項２０】
前記生成手段によって生成された前記オブジェクトの三次元形状データを用いて仮想視点画像を生成する第二の生成手段をさらに有する
ことを特徴とする請求項１から１９のいずれか１項に記載の画像処理装置。
【請求項２１】
前記取得手段は、
前記オブジェクトのテクスチャを示す画像を、さらに取得し、
前記取得手段が取得した夫々の前記オブジェクトのテクスチャを示す画像から正常ではない画像を検出する第二の検出手段をさらに有し、
前記第二の生成手段は、
前記第二の検出手段が正常ではないと検出したオブジェクトのテクスチャを示す画像は用いないで、前記仮想視点画像を生成する
ことを特徴とする請求項２０に記載の画像処理装置。
【請求項２２】
複数の方向からの撮像に基づいて得られたオブジェクト領域を示す画像をそれぞれ取得する取得ステップと、
前記取得ステップによって取得した画像のうち、正常ではない画像を検出する検出ステップと、
前記検出ステップによって検出された画像に対して処理を行う処理ステップと、
前記取得ステップによって取得した画像のうち前記処理ステップによって処理されていない画像と、前記処理ステップによって前記処理が行われた画像と、に基づき前記オブジェクトの三次元形状データを生成する生成ステップと、
を備えることを特徴とする三次元形状データの生成方法。
【請求項２３】
前記処理ステップは、
前記処理として、前記検出ステップによって検出された画像を、画像の全ての領域がオブジェクト領域であるように表された画像に、置き換える処理をする
ことを特徴とする請求項２２に記載の三次元形状データの生成方法。
【請求項２４】
複数の方向からの撮像に基づいて得られたオブジェクト領域を示す画像をそれぞれ取得する取得ステップと、
前記取得ステップによって取得した画像のうち、正常ではない画像を検出する検出ステップと、
前記検出ステップによって検出された画像の数に基づき閾値を決定する決定ステップと、
三次元空間を構成する要素の集合のうち、夫々の前記オブジェクト領域を示す画像と前記閾値とに基づき、対象の要素が前記オブジェクトに属さない要素であると判定した場合、対象の要素を削ることにより、前記オブジェクトの三次元形状データを生成する生成ステップと、
を含むことを特徴とする三次元形状データの生成方法。
【請求項２５】
以前に生成されたオブジェクトの三次元形状データを取得する取得ステップと、
前記取得ステップにより取得された前記オブジェクトの三次元形状データの基になった撮像画像が撮像された時間から対象の時間までの前記オブジェクトの移動量を決定する決定ステップと、
前記取得ステップにより取得された前記オブジェクトの三次元形状データを、前記決定ステップにより決定された移動量に基づき移動させることにより、前記対象の時間における前記オブジェクトの三次元形状データを生成する生成ステップと、
を含むことを特徴とする三次元形状データの生成方法。
【請求項２６】
コンピュータを、請求項１から２１のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数視点の撮像画像による前景の三次元形状データの生成に関する。
【背景技術】
【０００２】
異なる位置に設置された複数のカメラによって同期撮像し、当該撮像により得られた複数視点の画像を用いて実際には存在しない仮想カメラからの画像を再現する仮想視点画像を生成する技術がある。仮想視点画像の生成には、複数のカメラが撮像した前景の画像をサーバなどの画像処理部に集約し、当該画像処理部にて、前景の三次元形状データを生成することが行われている。
【０００３】
非特許文献１には、視体積交差法による前景の三次元形状データの生成方法が記載されている。視体積交差法では、前景となる対象物体を撮像したときの撮像面から、撮像面の前景の二次元シルエットを表す画像が生成される。また、視体積交差法では、カメラの投影中心から前景の二次元シルエットの輪郭上の各点を通すように三次元空間中に広がる錐体である視体積を考える。視体積交差法は、複数のカメラによる夫々の視体積の共通領域を求めることによって、前景の三次元形状データを生成する方法である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Laurentini A：“The Visual Hull Concept for Silhouette-Based Image Understanding”,IEEE Transcriptions Pattern Analysis and machine Intelligence, Vol.16, No.2, pp.150-162,Feb.1994
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前景の三次元形状データを生成するための複数のカメラのうち、一部のカメラの故障等により、その一部のカメラによる撮像に基づく前景の二次元シルエットを表す画像が不適切なものとなる場合がある。その場合、視体積交差法による三次元形状データを生成すると、不適切な画像に基づく視体積と、正常な画像に基づく視体積との共通領域を求めることにより前景の三次元形状データが生成される。このため前景の三次元形状データを精度よく生成することができない虞がある。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る画像処理装置は、複数の方向からの撮像に基づいて得られたオブジェクト領域を示す画像をそれぞれ取得する取得手段と、前記取得手段が取得した画像のうち、正常ではない画像を検出する検出手段と、前記検出手段によって検出された画像に対して処理を行う処理手段と、前記取得手段が取得した画像のうち前記処理手段によって処理されていない画像と、前記処理手段によって前記処理が行われた画像と、に基づき前記オブジェクトの三次元形状データを生成する生成手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、三次元形状データを精度よく生成することができる。
【図面の簡単な説明】
【０００８】
【図１】視体積交差法による三次元モデルの生成方法を示す図である。
【図２】不正な前景マスク画像に基づく三次元モデル生成方法を示す図である。
【図３】仮想視点画像生成システムの構成を示す図である。
【図４】仮想視点画像生成システムのカメラ配置の例を示した図である。
【図５】カメラが撮像した画像を示した図である。
【図６】前景マスク画像を示した図である。
【図７】前景テクスチャ画像を示した図である。
【図８】生成装置の機能ブロックを示した図である。
【図９】不正前景マスク画像を全白画像にする処理を示した図である。
【図１０】生成装置における処理を示すフローチャート図である。
【図１１】ボクセルによる前景の三次元モデルを表した図である。
【図１２】前景矩形マスク画像を示した図である。
【図１３】生成装置における処理を示すフローチャート図である。
【図１４】前景矩形マスク画像を用いた処理を示す図である。
【図１５】生成装置の機能ブロックを示した図である。
【図１６】生成装置における処理を示すフローチャート図である。
【図１７】前景マスク画像の前景領域を広げる処理を示した図である。
【図１８】生成装置の機能ブロックを示した図である。
【図１９】生成装置の処理を示すフローチャート図である。
【図２０】閾値を用いた前景の三次元モデルの生成方法を示した図である。
【図２１】生成装置の機能ブロックを示した図である。
【図２２】生成装置における処理を示すフローチャート図である。
【図２３】撮像画像上の前景の移動量を示した図である。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１０】
＜実施形態１＞
本実施形態では、仮想視点画像の生成に用いられる前景の三次元形状データ（三次元モデル）を生成する形態を説明する。本実施形態の説明に先立ち、視体積交差法による三次元モデルの生成について説明する。
【００１１】
図１は、視体積交差法の基本原理を示す図である。図１（ａ）は、ある対象物体（オブジェクト）Ｃを撮像装置であるカメラにより撮像したときの図である。図１（ａ）における、カメラが撮像した撮像画像の撮像面Ｓオブジェクトを示す前景の二次元シルエットＤａが得られる。図１（ｂ）は、カメラの投影中心（Ｐａ）から前景領域Ｄａの輪郭上の各点を通すように、三次元空間中に広がる錐体を示す図である。この錐体のことを当該カメラによる視体積Ｖａと呼ぶ。
【００１２】
図１（ｃ）ではこの複数の視体積によりオブジェクトの三次元（前景の三次元モデル）が求まる様子を示す図である。図１（ｃ）のように、位置が異なる複数の異なるカメラによって同期撮像された画像に基づく前景領域（オブジェクト領域）からカメラごとの複数の視体積を求める。視体積交差法は、この複数のカメラの視体積の交差（共通領域）を求めることによって、オブジェクトの前景の三次元モデルを求める方法である。
【００１３】
ここで、画像の「前景」となるオブジェクトは仮想視点で任意の角度から見ることを可能とする対象物体である。本実施形態では競技場のフィールド上に存在する人物のことを指す。または、前景となりうるオブジェクトは、ボール、またはゴール等、画像パターンが予め定められている物体であってもよい。また、オブジェクトは動体であってもよいし、静止体であってもよい。「背景」は画像の前景以外の領域を指す。
【００１４】
前景の三次元モデルを用いて生成される仮想視点画像とは、実カメラとは異なる仮想カメラの位置及び向き等に基づいて生成される画像であり、自由視点画像や任意視点画像とも呼ばれる。例えば、仮想視点画像を生成する技術によれば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来るため、通常の画像と比較してユーザに高臨場感を与えることが出来る。視体積交差法に基づく仮想視点画像生成システムも数多く開発されており、このようなシステムにおいては適切に前景の三次元モデルを生成することが求められている。
【００１５】
図２は、視体積交差法による前景の三次元モデルを生成するために、前景となる対象物体（オブジェクト）をカメラＡ〜Ｃにおいて撮像したときの図である。このとき、カメラＢによる撮像がカメラの故障等により失敗し、カメラＢによる撮像面から得られた前景領域２００は、前景を示す領域がほとんどない画像となっている。このようなカメラの故障のほか、カメラと画像データを取得する画像処理装置とをつなぐ伝送系の異常、または不適切な撮像パラメータの設定等のため、前景領域がオブジェクトのシルエットを正しく表現しないことがある。この正常では無い状態を「不正」な状態と呼ぶ。図２の例では、カメラＢの視体積と、カメラＢ以外による正常なカメラＡ、Ｃによる視体積と、の視体積の共通領域は無くなり、前景の三次元モデルが適切に生成されないことになる。
【００１６】
このため、本実施形態は後述するように、前景領域を示す画像（前景マスク画像）が不正である場合、その不正な前景マスク画像が前景の三次元モデルの生成に与える悪影響を抑制させるための処理を行う形態である。
【００１７】
［システム構成］
図３は、本実施形態に係る仮想視点画像生成システムの構成の一例を示すブロック図である。仮想視点画像生成システム１００は、複数のカメラ１０１ａ〜１０１ｒからなるカメラアレイ１０１、複数の前景抽出装置１０２ａ〜１０２ｒで構成される前景抽出装置群１０２、制御装置１０３、生成装置１０４、レンダリング装置１０５を有する。前景抽出装置１０２ａ〜１０２ｒ、制御装置１０３、生成装置１０４及びレンダリング装置１０５は、演算処理を行うＣＰＵ、演算処理の結果やプログラム等を記憶するメモリなどを備えた一般的な画像処理装置によって実現される。前景抽出装置１０２ａ〜１０２ｒ、制御装置１０３、生成装置１０４及びレンダリング装置１０５は、ＣＰＵとは異なる専用の１又は複数のハードウェアあるいはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有していてもよい。そして、ＣＰＵによる処理の少なくとも一部をＧＰＵあるいは専用のハードウェアが行うようにしても良い。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、及びＤＳＰ（デジタルシグナルプロセッサ）等がある。
【００１８】
カメラアレイ１０１は、複数のカメラ１０１ａ〜１０１ｒで構成され、様々な角度の複数方向から前景となるオブジェクトを撮像して前景抽出装置群１０２へ撮像画像の画像データを出力する。図４は、カメラアレイ１０１を構成する全１６台のカメラ１０１ａ〜１０１ｒの配置を、フィールド４００を真上から見た俯瞰図において示した図である。図４に示すようにカメラは競技場４０２の周囲に配置され、全てのカメラ１０１ａ〜１０１ｒで共通したフィールド上の注視点４０１に向けて様々な角度から時刻同期して撮像する。
【００１９】
前景抽出装置群１０２は、夫々のカメラ１０１ａ〜１０１ｒに対応する前景抽出装置１０２ａ〜１０２ｒを有している。各前景抽出装置１０２ａ〜１０２ｒは、対応するカメラから出力された撮像画像の画像データから撮像画像に含まれる前景を示す前景領域（オブジェクト領域）を抽出する。そして各前景抽出装置１０２ａ〜１０２ｒは、対応するカメラごとに、撮像画像の前景領域とそれ以外の領域とを示す前景マスク画像、および前景のテクスチャを示す画像である前景テクスチャ画像を生成する。
【００２０】
ここで、図を用いて撮像画像と前景マスク画像と前景テクスチャ画像との説明をする。図５は、カメラアレイ１０１に属するカメラの１つである図４のカメラ１０１ｍによってフィールド４００の注視点４０１を撮像した撮像画像５００を示す図である。撮像画像５００には５つの前景５ａ〜５ｅが含まれる。図６は、図５の撮像画像５００の前景が前景領域として示された前景マスク画像６００の例である。図６の前景マスク画像６００のように、前景マスク画像は２値画像で表される。本実施形態では、前景マスク画像は、前景の領域を示す前景領域を白色で表し、前景領域以外の領域を黒で表した２値画像であるものとして説明する。前景マスク画像は後述する前景の三次元モデルの生成において利用される。
【００２１】
また、前景抽出装置１０２ａ〜１０２ｒは、対応するカメラによって撮像された撮像画像から前景を内包する矩形領域を算出する。図７（ａ）は、前景抽出装置１０２ｍが図５の撮像画像５００から前景を検出し、前景を含む領域を矩形領域として検出したときの図である。図５の撮像画像５００では前景は５つあるため図７（ａ）では５つの矩形領域が検出されていることを示している。
【００２２】
図６および図７（ａ）のように撮像画像から前景を検出する方法は限定しない。例えば、予め保持している撮像画像に対応する背景画像と、撮像画像との画素値を比較し、画素値に基づく値の差分が閾値を超えた画素によって構成される領域を前景領域と判定する方法を用いればよい。
【００２３】
図７（ｂ）は、図７（ａ）で算出された矩形領域を切り出した夫々の矩形画像を表している。この矩形画像を前景テクスチャ画像７ａ〜７ｅと呼ぶ。前景テクスチャ画像７ａ〜７ｅは前景の三次元モデルに色付けを行う際に利用される。
【００２４】
制御装置１０３は、カメラアレイ１０１のカメラによって時刻同期され撮像された撮像画像の画像データからカメラ１０１ａ〜カメラ１０１ｒの位置や姿勢を示すカメラパラメータを算出し、生成装置１０４とレンダリング装置１０５に出力する。
【００２５】
カメラパラメータは、外部パラメータ、および内部パラメータで構成されている。外部パラメータは、回転行列および並進行列で構成されておりカメラの位置や姿勢を示すものである。一方、内部パラメータは、カメラの焦点距離や光学的中心などを含みカメラの画角や撮像センサの大きさなどを示すものである。カメラパラメータを算出する処理はキャリブレーションと呼ばれ、チェッカーボードのような特定パターンを撮像した複数枚の画像を用いて取得した三次元の世界座標系の点とそれに対応する二次元上の点との対応関係を用いることで求められる。
【００２６】
生成装置１０４は、制御装置１０３よりカメラパラメータを取得し、前景抽出装置群１０２から前景マスク画像と前景テクスチャ画像を取得する。そして生成装置１０４は取得した前景マスク画像から前景の三次元モデルを生成する。生成装置１０４は、生成した前景の三次元モデルのデータをレンダリング装置１０５に出力する。生成装置１０４が行う処理の詳細については後述する。
【００２７】
レンダリング装置１０５は、生成装置１０４から前景の三次元モデル、前景テクスチャ画像、および後述する可視性判定結果を取得する。また、制御装置１０３からカメラパラメータを取得する。レンダリング装置１０５はこれらのデータに基づき仮想視点画像を生成する。具体的には、カメラパラメータから前景テクスチャ画像と前景の三次元モデルとの位置関係を求め、三次元モデルを構成する各ボクセルに、前景テクスチャ画像の画素の色を基に色づけする。ボクセルの説明については後述する。仮想視点画像は、動画であっても、静止画であってもよい。
【００２８】
なお、本実施形態では前景抽出装置１０２ａ〜１０２ｒと生成装置１０４がスター型のトポロジーで接続されている形態であるが、ディジーチェーン接続によるリング型またはバス型等のトポロジーで接続されている形態であってもよい。
【００２９】
［生成装置の機能構成］
図８は、本実施形態における生成装置１０４の機能構成を示すブロック図である。生成装置１０４は、取得部８０１、不正マスク検出部８０２、処理部８０３、生成部８０４、不正テクスチャ検出部８０５、および可視性判定部８０６を有する。
【００３０】
取得部８０１は、前景抽出装置１０２ａ〜１０２ｒから各カメラ１０１ａ〜１０１ｒの撮像画像に基づく前景マスク画像、および前景テクスチャ画像等を取得する。不正マスク検出部８０２は、取得部８０１が取得した前景マスク画像から正常ではない「不正」な前景マスク画像を検出する。
【００３１】
処理部８０３は、不正な前景マスク画像が前景の三次元モデルの生成に与える影響を抑制させるための処理をする。処理の説明は後述する。
【００３２】
生成部８０４は、カメラアレイ１０１のカメラが撮像した撮像画像に基づく複数の前景マスク画像と、カメラアレイ１０１の位置や姿勢を示すカメラパラメータから視体積交差法により前景の三次元モデルを生成し、可視性判定部８０６へ出力する。
【００３３】
不正テクスチャ検出部８０５は、取得部８０１が取得した前景テクスチャ画像から不正な前景テクスチャ画像を検出する。可視性判定部８０６は、前景の三次元モデルを構成する各ボクセルがカメラアレイ１０１を構成する各カメラの画角内であるかを判定する。可視性判定部８０６による判定結果は、レンダリング装置１０５において前景の三次元モデルを構成する各ボクセルに色づけする際に利用される。
【００３４】
［処理部による処理の説明］
実施形態１では、処理部８０３は、不正な前景マスク画像が前景の三次元モデルの生成に与える影響を抑制させるための処理として、不正な前景マスク画像を、全ての領域が前景領域である画像に置き換える処理が行われる。本実施形態では、前景領域を示す色は白であることから、不正な前景マスク画像を全ての領域が白の画像（全白画像）に置き換える処理を行う。
【００３５】
ここで、本実施形態における処理部８０３の処理について図を用いて説明する。図９（ａ）は不正な前景マスク画像の一例を示す図である。カメラの画角内には前景となるオブジェクトが含まれているものの、当該カメラの故障等によりカメラの撮像画像から前景領域が正しく抽出されないことがある。このため図９（ａ）のように前景領域を示す白色の領域がほとんど含まれない不正な前景マスク画像が取得されることがある。
【００３６】
前述のとおり、前景の三次元モデルは、複数視点の前景領域から得られる夫々の視体積の共通領域から生成される。即ち、基本的に、前景となるオブジェクトを撮像する位置にある全てのカメラによる視体積が交差する共通領域に基づき前景の三次元モデルが生成される。しかし、図９（ａ）のように不正な前景マスク画像には正常な前景マスク画像に比べ前景領域がほとんど含まれない。このため不正な前景マスク画像に対応する視体積は、正常なマスク画像に対応する視体積に比べほとんど無い状態となるから、不正な前景マスク画像に対応する視体積は他のカメラによる視体積と交差しない。よって全てのカメラの視体積が交差する共通領域が無くなるため前景の三次元モデルの生成が正常に行われない虞がある。
【００３７】
図９（ｂ）は図９（ａ）の不正な前景マスク画像に対して処理部８０３が処理を行ったことにより不正な前景マスク画像が、全白画像に置き換えられたことを示す図である。また図９（ｃ）は不正な前景マスク画像が全白画像と置き換えられたことにより、全白画像に置き換えられた前景マスク画像による視体積と、それ以外の正常な前景マスク画像による前景の三次元モデルの生成の様子を示している。前景領域は白色の領域であることから、全白画像となった前景マスク画像の全ての領域が前景領域となる。このため全白画像の前景領域を通る視体積は最大となる。よって他の正常な前景マスク画像による視体積（図９（ｃ）のカメラＡおよびカメラＣの視体積）の共通領域と、全白画像となった前景マスク画像による視体積（図９（ｃ）カメラＢの視体積）は交差する。このため、不正な前景マスク画像の影響により前景の三次元モデルが不必要に削られることを抑制することができる。つまり、正常な前景マスク画像による視体積の共通領域のみによって前景の三次元モデルを生成するのと同じ効果を生じさせることができる。
【００３８】
本実施形態では、不正な前景マスク画像が全白画像に置き換えられる処理がされるものとして説明するが、不正な前景マスク画像から置き換えられる画像の白の領域は全ての領域でなくてもよい。処理部８０３によって置き換えられた画像の前景領域を通る視体積が、他のカメラの視体積と交差するのに十分な大きさであればよい。
【００３９】
このように、不正な前景マスク画像を全白画像に置き換えることにより、後続の処理である前景の三次元モデルを生成する処理において、不正な前景マスク画像を除外する設定が不要となり前景の三次元モデルを生成する処理の継続が容易となる。
【００４０】
なお、他の形態として、前景領域を示す領域が黒であり、前景領域以外の領域を白で示す前景マスク画像が生成される形態が考えられる。このような形態においては、処理部８０３は不正な前景マスク画像の全領域に対して前景領域を示す色である黒にする処理が行われることになる。いずれにしても処理部８０３は、不正な前景マスク画像を全ての領域が前景領域である画像に置き換えるように処理をする。
【００４１】
［フローチャート］
図１０は、生成装置１０４における前景の三次元モデルを生成する処理のフローチャートの一例を示す図である。図１０のフローチャートで示される一連の処理は、生成装置１０４のＣＰＵ（不図示）がＲＯＭ（不図示）に記憶されているプログラムコードをＲＡＭ（不図示）に展開し実行することにより行われる。なお、各処理の説明における記号「Ｓ」は、当該フローチャートにおけるステップであることを意味する。図１０を用いて前景の三次元モデルを生成する一連の処理を説明する。
【００４２】
Ｓ１００１において取得部８０１は、前景抽出装置群１０２よりカメラアレイ１０１の各カメラで同期撮像された撮像画像に基づき生成された前景マスク画像、および前景テクスチャ画像を取得する。また制御装置１０３からカメラアレイ１０１を構成する各カメラのカメラパラメータを取得する。
【００４３】
ここからは、カメラアレイ１０１を構成するカメラ１０１ａ〜１０１ｒのうち処理対象のカメラに基づく全ての前景マスク画像および全ての前景テクスチャ画像について、Ｓ１００３〜Ｓ１００６を繰り返す。
【００４４】
即ち、Ｓ１００２においてカメラアレイを構成する未処理のカメラの中から処理対象のカメラが選択され、Ｓ１００３〜Ｓ１００６の処理が処理対象のカメラに対する前景マスク画像および前景テクスチャ画像について行われる。処理対象のカメラに対する処理が終了すると、再度、未処理のカメラの中から処理対象のカメラが選択される。未処理のカメラがなくなったら、Ｓ１００７に進む。
【００４５】
Ｓ１００３において不正マスク検出部８０２は、処理対象のカメラの前景マスク画像が不正であるかを検出する。前景マスク画像の画像データは、基になった撮像画像の情報等が付加されたデータヘッダを有している。不正マスク検出部８０２による前景マスク画像が不正かを検出する方法として、前景マスク画像のデータヘッダに含まれる情報と画像が整合していない、またはデータヘッダの情報に異常値がある場合には不正と検出する。例えば、不正マスク検出部８０２は、データヘッダに含まるべき情報が含まれていない、または前景マスク画像のデータヘッダに記憶されている前景の数と取得した前景マスク画像の前景領域の数が一致していない場合は不正な画像として検出する。
【００４６】
不正マスク検出部８０２が不正かを検出する手段にはこれに限られない。他にも、前景マスク画像のデータサイズが正常でない場合は不正な前景マスク画像であると検出する方法でもよい。または、不正マスク検出部８０２は、処理対象のカメラの撮像画像と、他のカメラによる撮像画像との前景の画素値を比較して差分が閾値以上ある場合、処理対象のカメラによる前景マスク画像は不正な画像と検出する方法でもよい。または、前景マスク画像の画像データの整合性を示すチェックサムが正しくない場合、不正と検出する方法でもよい。あるいは、取得部８０１が前景抽出装置群１０２から前景マスク画像の画像データを取得できなかったときも、不正マスク検出部８０２は処理対象のカメラによる前景マスク画像が不正な前景マスク画像であるものとして検出する方法でもよい。
【００４７】
不正な前景マスク画像として検出された場合（Ｓ１００３：ＹＥＳ）、Ｓ１００４において処理部８０３は、不正な前景マスク画像を全白画像に置き換える処理をする。そして、全白画像を処理対象のカメラの前景マスク画像として生成部８０４に出力する。Ｓ１００４の処理が終了した場合、または前景マスク画像が不正として検出されなかった場合（Ｓ１００３：ＮＯ）、Ｓ１００５の処理に進む。
【００４８】
Ｓ１００５において不正テクスチャ検出部８０５は、処理対象のカメラの前景テクスチャ画像から不正な画像を検出する。不正テクスチャ検出部８０５が不正かを検出する手段として、Ｓ１００３において不正マスク検出部８０２が不正な前景マスク画像を検出する方法と同様の方法を用いればよい。例えば、取得した前景テクスチャ画像の画像データに含まれるデータヘッダに含まれる情報と画像が整合していない、またはデータヘッダの情報に異常値がある場合は不正な画像として検出する。
【００４９】
前景テクスチャ画像が不正な画像として検出された場合（Ｓ１００５：ＹＥＳ）、Ｓ１００６において可視性判定部８０６は、処理対象のカメラの情報を取得する。そして可視性判定部８０６は、処理対象のカメラに基づく前景テクスチャ画像の「可視性」を不可視として設定する。可視性が不可視と設定されることにより、レンダリング装置１０５において本フローチャートの終了後に行われる前景の三次元モデルに色づけを行う際に、不正な前景テクスチャ画像に基づき色づけが行われることを防ぐことができる。全てのカメラに対して処理が終了した場合、または前景テクスチャ画像が不正と検出されなかった場合（Ｓ１００５：ＮＯ）はＳ１００７に進む。
【００５０】
なお、本実施形態では、前景マスク画像と前景テクスチャ画像の両方の画像について不正な画像であるかの検出が行われる形態である。他にも、前景マスク画像と前景テクスチャ画像のどちらか一方の画像のみ不正であるかが検出され、不正と検出された場合は、もう一方の画像も自動的に不正な画像であるものとして後続の処理が行われる形態であってもよい。例えば、Ｓ１００５における処理は行われず、Ｓ１００３において不正マスク検出部８０２は処理対象のカメラによる前景マスク画像が不正な画像かの検出のみ行う。不正マスク検出部８０２が、前景マスク画像を不正と検出した場合、処理対象のカメラの前景テクスチャ画像についても不正な画像であるものとしてＳ１００６の処理が行われる形態でもよい。
【００５１】
Ｓ１００７において生成部８０４は、各カメラによる正常な前景マスク画像と処理部８０３によって処理された画像を基に前景の三次元モデルを生成する。本実施形態では三次元空間を構成する要素としてボクセルを用いて以下のような手順で行う。
【００５２】
図１１はボクセルを説明するための図である。ボクセルとは、図１１（ａ）で示すような微小な立方体のことである。図１１（ｂ）は前景の三次元モデルを生成するカメラの対象空間をボクセルの集合として表したものである。
【００５３】
対象空間のボクセルのうち処理対象のボクセルである１つの着目ボクセルを各カメラの前景マスク画像に射影したとき、各カメラの前景マスク画像の前景領域内に着目ボクセルの射影が収まるか否かが判定される。この判定の結果、各カメラの前景マスク画像のうち、着目ボクセルの射影が前景領域から外れる前景マスク画像が１つでも存在する場合、着目ボクセルは削除される。
【００５４】
一方、対象空間を撮像する全てのカメラによる前景マスク画像の前景領域の内部に着目ボクセルの射影が収まる場合、その着目ボクセルは前景を構成するボクセルと判定され着目ボクセルは残される。生成部８０４は、この一連の処理を対象空間の全てのボクセルに対して行うことにより、前景の三次元モデルを形成する。
【００５５】
図１１（ｃ）は図１１（ｂ）から、いずれのカメラの前景領域にも収まらなかったボクセルを削ることで、前景の形状が四角錐である三次元モデルがボクセルによって生成されたことを表している図である。例えば図１１（ｂ）の図におけるボクセル１１０１を着目ボクセルとしたとき、ボクセル１１０１の射影が前景領域から外れる前景マスク画像があったことからボクセル１１０１は削除されている。一方、図１１（ｂ）の図におけるボクセル１１０２を着目ボクセルとしたとき、ボクセル１１０２は対象空間を撮像する全てのカメラの前景マスク画像の前景領域の内部にボクセル１１０２の射影が収まることからボクセル１１０２は残されている。こうして図１１（ｃ）の前景の三次元モデルが生成されている。
【００５６】
なお、本実施形態は前景の三次元モデルを立方体のボクセルとして表すがこれに限られない。他にも例えば、三次元空間を構成する要素として点を用いて、前景の三次元モデルを点群で表してもよい。
【００５７】
Ｓ１００８において可視性判定部８０６は、生成された前景の三次元モデルに対して前景の三次元モデルの表面上の各ボクセルの面がどのカメラから見えるかの判定をする「可視性判定」を行う。Ｓ１００６において不正テクスチャ検出部８０５によって検出された不正な前景テクスチャ画像は、不可視として設定されている。前景テクスチャ画像が不可視と設定されると、可視性判定部８０６は、前景テクスチャ画像の基となった撮像画像を撮像したカメラの画角内にボクセルが含まれる場合であっても、当該ボクセルが見えるカメラとして判定しない。そして可視性判定部８０６による判定結果は、Ｓ１００９においてレンダリング装置１０５に出力される。
【００５８】
この後の仮想視点画像を生成する処理として、レンダリング装置１０５では、可視性判定においてボクセルの面が見えると判定されたカメラの前景テクスチャ画像を用いて、当該ボクセルの面の色を決定する。このため、可視性判定部８０６が不正な前景テクスチャ画像を不可視と設定することにより、レンダリング装置１０５が不正な前景テクスチャ画像を用いて色づけすることを防ぐことができる。
【００５９】
Ｓ１００９において可視性判定部８０６は、レンダリング装置１０５へ前景の三次元モデル、前景テクスチャ画像、可視性判定結果を出力する。
【００６０】
以上が、本実施形態に係る前景の三次元モデル生成の処理の内容である。動画の仮想視点画像を生成する場合には、上述の各ステップの処理をフレーム単位で繰り返し行い、フレーム毎に前景の三次元モデルが生成される。その後の処理としてレンダリング装置１０５において仮想視点画像が生成される。
【００６１】
以上説明したように本実施形態によれば、不正な前景マスク画像を全白画像とすることにより、不正な前景マスク画像によって生成される前景の三次元モデルの欠落を抑制することができる。よって、不正な前景マスク画像による影響を取り除いた前景の三次元モデルの生成が可能となる。また、不正な前景テクスチャ画像を不可視として設定することにより、不正な前景テクスチャ画像によって前景の三次元モデルに色付がされることを防ぐことができる。このため画質劣化を抑えた仮想視点画像の生成をすることができる。
【００６２】
＜実施形態２＞
実施形態１では、不正な前景マスク画像については全白画像になるように処理されるため、不正な前景マスク画像の一部に正常な前景領域が含まれている場合であっても、正常な前景領域は前景の三次元モデルの生成に用いられなかった。例えば、実施形態１では全てのカメラの前景マスク画像が不正である場合、ボクセル集合は削られずに前景の三次元モデルが生成されることになる。本実施形態は、前景マスク画像のうち、それぞれの前景領域ごとに生成される前景矩形マスク画像を用いて、当該前景矩形マスク画像ごとに不正な画像があるかの検出を行う形態である。
【００６３】
このため、本実施形態では、前景マスク画像のうち、一部に正常な前景領域が含まれている場合、正常な前景領域については前景の三次元モデル生成に寄与させることができる。本実施形態については、実施形態１からの差分を中心に説明する。特に明記しない部分については実施形態１と同じ構成および処理である。
【００６４】
本実施形態における前景抽出装置群１０２における各前景抽出装置１０２ａ〜１０２ｒの処理について図を用いて説明する。図１２は、図７（ｂ）で示した前景テクスチャ画像７ａ〜７ｅから前景の領域を抽出し、前景領域を白で表し前景以外の領域を黒で表した２値の画像である。この前景ごとの２値の画像を前景矩形マスク画像１２ａ〜１２ｅとよぶ。各カメラ１０１ａ〜１０１ｒに応じた前景抽出装置１０２ａ〜１０２ｒは、実施形態１で説明した前景マスク画像、前景テクスチャ画像に加えて、この前景矩形マスク画像を生成する。そして前景抽出装置１０２ａ〜１０２ｒは、前景矩形マスク画像の前景マスク画像上の座標を算出して、それぞれのデータを生成装置１０４に送信する。
【００６５】
前景抽出装置１０２ａ〜１０２ｒは、図６の前景マスク画像６００を生成するにあたり複数の前景矩形マスク画像１２ａ〜１２ｅを対応する座標へ貼り付けることにより合成して前景マスク画像を生成してもよい。
【００６６】
［フローチャート］
図１３は、本実施形態の生成装置１０４で行われる三次元モデルを生成する処理を説明するためのフローチャートの一例を示す図である。
【００６７】
Ｓ１３０１において取得部８０１は、前景抽出装置１０２ａ〜１０２ｒから各カメラ１０１ａ〜１０１ｒに応じた前景マスク画像、前景テクスチャ画像、前景矩形マスク画像、および前景矩形マスク画像の前景マスク画像上の座標を取得する。
【００６８】
Ｓ１３０２〜Ｓ１３０４の処理はＳ１００２〜Ｓ１００４の処理と同一であるため説明を省略する。
【００６９】
処理対象のカメラの前景マスク画像が不正であった場合、Ｓ１３０５において不正マスク検出部８０２は、処理対象のカメラが撮像した撮像画像に基づく前景矩形マスク画像を取得したかを判定する。前景マスク画像が不正として検出された場合であっても、前景矩形マスク画像は送信されることがあるためである。
【００７０】
前景矩形マスク画像を取得していると判定した場合（Ｓ１３０５：ＹＥＳ）、Ｓ１３０６において不正マスク検出部８０２は、前景ごとの前景矩形マスク画像が正常かを判定する。前景矩形マスク画像から正常な（不正ではない）画像を検出する方法は、Ｓ１３０３における不正な前景マスク画像を検出する方法と同様の方法を用いればよい。例えば、夫々の前景矩形マスク画像の画像データに含まれるデータヘッダの情報と画像が整合していない、またはデータヘッダの情報に異常値がある場合には不正と検出する。不正と検出されなかった場合は正常な画像とする方法を用いればよい。
【００７１】
不正ではない正常な前景矩形マスク画像がある場合（Ｓ１３０６：ＹＥＳ）、Ｓ１３０７において処理部８０３は、Ｓ１３０４において全白画像とした前景マスク画像上に、正常な前景矩形マスク画像を重畳する処理をする。その結果得られた画像を処理対象のカメラの前景マスク画像として生成部８０４に出力する。正常な前景矩形マスク画像が複数ある場合は、複数の正常な前景矩形マスク画像を全白画像上の重畳する処理をする。処理部８０３は、前景矩形マスク画像を重畳した画像を処理対象のカメラの前景マスク画像に置き換えて生成部８０４に出力する。
【００７２】
図１４（ａ）は、正常な前景マスク画像であれば、図６の前景マスク画像６００のように５つの前景領域が含まれる画像ではあるが、３つの前景領域しか含まれていない不正な前景マスク画像を示す図である。図１４（ａ）の不正な前景マスク画像から前景の三次元モデルを生成すると、前景領域として認識されなかった前景の三次元モデルは、削られて劣化したものとなる。一方、実施形態１のように図１４（ａ）の不正な前景マスク画像を全白画像に置き換えると、正常に前景のシルエットを表している前景領域についても、前景の三次元モデルの生成に用いられないことになる。
【００７３】
図１４（ｂ）は図１４（ａ）の不正な前景マスク画像に含まれる正常な前景矩形マスク画像の例である。図１４（ｃ）は、全白画像に、正常な前景矩形マスク画像を重畳する処理がされた前景マスク画像である。この前景マスク画像が前景の三次元モデルの生成に用いられることにより、正常な前景矩形マスク画像については前景の三次元モデルに寄与させることができる。また、正常に前景領域が抽出できなかった前景の三次元モデルの生成においては、不正な前景マスク画像により三次元モデルが削られずに三次元モデルを生成させることができる。
【００７４】
なお、図１４（ｃ）のような前景マスク画像を生成する方法として全白画像に正常な前景矩形マスク画像を重畳させる方法を説明したが。他にも、処理部８０３は、不正な前景マスク画像から正常な前景領域を含む矩形の領域を検出し、不正な前景マスク画像に含まれる正常な前景領域を含む矩形の領域以外の領域を白の領域として処理した画像を前景マスク画像とする方法を用いてもよい。
【００７５】
前景矩形マスク画像が取得できなかった場合（Ｓ１３０５：ＮＯ）、正常な前景矩形マスク画像が無かった場合（Ｓ１３０６：ＮＯ）、処理部８０３は、不正な前景マスク画像を全白画像に置き換える。処理部８０３は、置き換えた全白画像を処理対象のカメラの前景マスク画像として生成部８０４に出力する。
【００７６】
Ｓ１３０８において不正テクスチャ検出部８０５は、処理対象のカメラの前景テクスチャ画像から不正な画像を検出する。不正テクスチャ検出部８０５が不正かを検出する手段として、Ｓ１０００５で説明した方法に加えて、Ｓ１３０６において不正と検出された前景矩形マスク画像については、対応する前景テクスチャ画像についても不正なものとして検出する方法を用いてもよい。Ｓ１３０９〜Ｓ１３１２の処理は、Ｓ１００６〜Ｓ１００９の処理と同一であるため説明は省略する。
【００７７】
以上説明したように本実施形態によれば、不正な前景マスク画像であっても、正常に前景の領域を示している領域については、当該前景の三次元モデルの生成に寄与させることができる。即ち、本実施形態は、不正な前景マスク画像のうち、正常な前景領域以外の領域に対しては三次元モデル生成に与える影響を抑制するための処理が行われることになる。このように処理されることにより、不正な前景マスク画像による前景の三次元モデル生成への影響を少なくし、画質劣化を抑えた仮想視点画像の生成を実現することができる。
【００７８】
＜実施形態３＞
本実施形態では、取得した前景マスク画像が不正として検出された場合、直前の正常な前景マスク画像の前景領域を広げる処理を行う。当該広げる処理がされた画像を不正な前景マスク画像と置き換えることにより、不正な前景マスク画像による前景の三次元モデルの品質劣化を抑制する形態である。本実施形態については、実施形態１からの差分を中心に説明する。特に明記しない部分については実施形態１と同じ構成および処理である。
【００７９】
［生成装置の機能構成］
図１５は、本実施形態における生成装置１０４の構成を示すブロック図である。実施形態１と同一の処理ブロックについては同じ番号を付して説明を省略する。本実施形態の生成装置１０４は、取得部８０１、不正マスク検出部８０２、処理部８０３、生成部８０４、不正テクスチャ検出部８０５、可視性判定部８０６、マスク記憶部１５０１およびマスク取得部１５０２を有する。
【００８０】
マスク記憶部１５０１は、以前（過去）に生成され、不正と判定されなかったカメラごとの前景マスク画像を、対応するカメラと関連付けて記憶する。マスク記憶部１５０１は生成装置１０４のＲＯＭ（不図示）またはＨＤＤ（不図示）等によって実現される。なお、マスク記憶部１５０１は生成装置１０４と異なる装置におけるＲＯＭまたはＨＤＤ等によって実現されてもよい。その場合、生成装置１０４は、ネットワーク等を介してマスク記憶部を有する他の装置と接続されることにより前景マスク画像を取得する。マスク取得部１５０２は、マスク記憶部から以前の前景マスク画像を取得する。
【００８１】
［フローチャート］
図１６は、本実施形態の生成装置１０４で行われる三次元モデルを生成する処理を説明するためのフローチャートの一例を示す図である。Ｓ１６０１〜Ｓ１６０４はＳ１００１〜Ｓ１００４と同一の処理であるため説明を省略する。
【００８２】
前景マスク画像が不正として検出された場合（Ｓ１６０３：ＹＥＳ）Ｓ１６０４に進む。Ｓ１６０４においてマスク取得部１５０２は、処理対象のカメラと同一方向のカメラに基づく撮像画像によって以前に生成された前景マスク画像であって、不正として検出されなかった前景マスク画像をマスク記憶部１５０１から取得する。
【００８３】
以前に生成された前景マスク画像とは、例えば、動画の仮想視点画像を生成する場合には、本フローチャートの各ステップの処理がフレーム単位で繰り返し行われる。このため、処理中の現フレームに対して直前のフレームにおいて生成された前景マスク画像を取得する。
【００８４】
Ｓ１６０５において処理部８０３は、S１６０４において取得された、以前の前景マスク画像の前景領域を示す白色の領域を前景領域よりも広い領域にする処理をする。本実施形態では、前景領域を広げるための処理として膨張処理をする。そして処理部８０３は、処理対象のカメラの前景マスク画像を、処理された画像に置き換えて生成部８０４に出力する。
【００８５】
ここで膨張処理は、例えば、前景マスク画像の各画素を注目画素とし、注目画素の周囲を１画素で囲んだ単位領域ごとに膨張処理は行われる。具体的には、その注目画素が白色であればその単位領域の全ての画素（８画素）を注目画素と同じ白色にするような処理をする。なお、膨張処理の方法は限定しない。例えば、ある注目画素において、その注目画素の周辺に白色の画素が存在する場合は、その注目画素の画素値を白色の画素値にさせるような処理でもよい。
【００８６】
図１７（ａ）は以前の前景マスク画像として図６で示した前景マスク画像６００を取得し、前景マスク画像６００の前景領域を膨張させた例を示す。前景領域を膨張させるための画素数は、Ｓ１６０１において取得された前景マスク画像の基の撮像画像が撮像された時間と、Ｓ１６０４において取得された前景マスク画像の基の撮像画像が撮像された時間とに基づき決定される。動画の場合、取得した前景マスク画像のフレームによる時間分だけ前景が動くことの可能な範囲を想定して決めればよい。例えば、競技場４０２で１秒間に６０回の撮像が行われる場合であって、S１６０４において処理中の現フレームに対して直前のフレームに基づく前景マスク画像が取得される場合がある。この場合、直前のフレームと現フレームとの時間差である１／６０秒間において前景である人物が動くことが可能な範囲を予め算出し、膨張処理において膨張させる画素数を決めればよい。
【００８７】
また、前景領域を広げる方法として膨張処理に限られない。他にも、処理部８０３は直前の前景マスク画像の位置・大きさから前景が存在し得る範囲が含まれる矩形領域のような所定の領域を算出する。そして処理部８０３は、図１７（ｂ）に示すように各前景領域を算出された矩形領域に置換し、当該画像を処理対象のカメラの前景マスク画像として用いる方法でもよい。
【００８８】
前景マスク画像が不正として検出されなかった場合（Ｓ１６０３：ＮＯ）、Ｓ１６０６において不正マスク検出部８０２は、正常な前景マスク画像を対象のカメラと時間とを関連付けてマスク記憶部１５０１に記憶する。Ｓ１６０７〜Ｓ１６１１までの処理は、Ｓ１００５からＳ１００９までの処理と同一であるため説明は省略する。
【００８９】
以上説明したように本実施形態によれば、不正な前景マスク画像であっても、不正な前景マスク画像を処理が行われた以前の前景マスク画像に置き換えることにより、不正な前景マスク画像による前景の三次元モデルの品質劣化の影響を抑制することができる。本実施形態において不正な前景マスク画像と置き換えられた画像（図１７）は、前述の実施形態において置き換えられた画像（図９（ｂ）または図１４（ｃ））に比べ、白の領域を少なくすることができる。このため、不正な前景マスク画像による前景の三次元モデル生成への影響を少なくし、画質劣化を抑えた仮想視点映像生を実現することができる。
【００９０】
なお、本実施形態では取得部８０１とマスク取得部１５０２は別のモジュールとして説明したが、１つの取得部が各取得部において取得するデータを取得する形態でもよい。
【００９１】
＜実施形態４＞
前述の実施形態において、生成部８０４は視体積交差法による前景の三次元モデルを生成する際に着目ボクセルの射影が前景領域から外れる前景マスク画像が１つでも存在する場合、着目ボクセルを削除し、前景の三次元モデルを生成する形態であった。
【００９２】
本実施形態では、ボクセルを削る前景マスク画像の数が１つではなく、場合によっては着目ボクセルが複数の前景マスク画像による前景領域外と判定された場合に着目ボクセルを削るように処理する形態である。本実施形態については実施形態１からの差分を中心に説明する。特に明記しない部分については実施形態１と同じ構成および処理である。
【００９３】
［生成装置の機能構成］
図１８は、本実施形態における生成装置１０４の構成を示すブロック図である。実施形態１と同一の処理ブロックについては同じ番号を付して説明を省略する。本実施形態の生成装置１０４は、取得部８０１、不正マスク検出部８０２、生成部８０４、不正テクスチャ検出部８０５、可視性判定部８０６および閾値決定部１８０１を有する。閾値決定部１８０１は三次元モデル生成において着目ボクセルを削る際の閾値を決定する。詳細については後述する。
【００９４】
［フローチャート］
図１９は、本実施形態の生成装置１０４で行われる三次元モデルを生成する処理を説明するためのフローチャートの一例を示す図である。Ｓ１９０１〜Ｓ１９０３の処理はＳ１００１〜Ｓ１００３の処理と同一であるため説明を省略する。
【００９５】
処理対象のカメラの前景マスク画像が不正と検出された場合（Ｓ１９０３：ＹＥＳ）、Ｓ１９０４において不正マスク検出部８０２は、不正な前景マスク画像の数に１を加算する。不正な前景マスク画像の数とは夫々のカメラ１０１ａ〜１０１ｒに対応する前景マスク画像のうち、不正と検出された前景マスク画像の数である。１９０５〜Ｓ１９０６の処理はＳ１００５〜Ｓ１００６の処理と同一であるため説明を省略する。
【００９６】
Ｓ１９０７において閾値決定部１８０１は、不正な前景マスク画像の数に基づき閾値を決定する。本実施形態では、閾値決定部１８０１は、不正な前景マスク画像の数を閾値として決定する。なお、閾値決定部１８０１による閾値の決定方法はこれに限られない。例えば不正な前景マスク画像の数が前景を同期撮像しているカメラの台数に近づくにつれて閾値を減らすように閾値を決定してもよい。
【００９７】
Ｓ１９０８において生成部８０４は、同期撮像された撮像画像による前景マスク画像を基に三次元モデルを生成する。生成部８０４は、前述したとおり、対象空間のボクセル集合のうち処理対象のボクセルである１つの着目ボクセルの射影が各前景マスク画像の前景領域内に収まるか否かを判定することにより三次元モデルを生成する。本実施形態では、この判定において、着目ボクセルの射影が前景領域から外れる前景マスク画像の数が閾値より大きいの場合のみ、着目ボクセルをボクセル集合から削除する。つまり、閾値以下の前景マスク画像だけでは三次元モデルの生成に寄与されないことになる。
【００９８】
図２０は本実施形態に基づき、前景となるオブジェクトを撮像する５つのカメラＡ〜Ｅによって前景の三次元モデルの生成を説明するための図である。カメラＡ、カメラＣが撮像した撮像画像に基づく前景マスク画像２０１、２０３は不正な前景マスク画像であり、カメラＢ、カメラＤ、カメラＥの前景マスク画像２０２、２０４、２０５は正常な前景マスク画像であることを示している。このため、図２０の状態では、不正な前景マスク画像の数は２であることから、不正な前景マスク画像の数から決定される閾値についても同じく２と決定される。
【００９９】
閾値が２の場合、処理対象のボクセルである着目ボクセルは、閾値である２より大きい３台のカメラによる前景マスク画像の前景領域に着目ボクセルが射影されていない場合、ボクセル集合から削られる。即ち、２台のカメラの前景領域に着目ボクセルが射影されていない場合であっても、残りの３台のカメラの前景マスク画像の前景領域に着目ボクセルが射影されていれば着目ボクセルは削られないで三次元モデルが生成される。
【０１００】
図２０では、閾値である２つのカメラＡ、Ｃによる不正な前景マスク画像２０１、２０３の前景領域には着目ボクセルは射影されない。しかし、それだけでは着目ボクセルは削られず、他の３つの正常な前景マスク画像２０２、２０４、２０５のいずれかの前景領域においても着目ボクセルが射影されていない場合、着目ボクセルが削られる。このように閾値を用いて着目ボクセルが判定されることによって三次元モデルが生成されることになる。Ｓ１９０９〜Ｓ１９１０の処理はＳ１００８〜Ｓ１００９の処理と同一であるため説明を省略する。
【０１０１】
以上説明したように本実施形態によれば、前景の三次元モデルを生成するための閾値を決定することにより、少数の不正な前景マスク画像により三次元モデルに含まれるべきボクセルが削られてしまうことを抑制することができる。よって前景の三次元モデルの品質劣化を抑制することができ、画質劣化を抑えた仮想視点映像生を実現することができる。
【０１０２】
本実施形態については、三次元空間を構成する要素としてボクセルを用いて説明したが、前述したとおり、三次元空間を構成する要素として点を用いても実現可能である。
【０１０３】
＜実施形態５＞
本実施形態は、取得した前景マスク画像のうち不正な前景マスク画像がある場合、前景の移動量に基づき直前の前景の三次元モデルを移動させることにより、新たな前景の三次元モデルを生成する形態である。このため不正な前景マスク画像を取得した場合であっても品質劣化の少ない前景の三次元モデルを生成することができる。本実施形態については、実施形態１からの差分を中心に説明する。特に明記しない部分については実施形態１と同じ構成および処理である。
【０１０４】
［生成装置の機能構成］
図２１は、本実施形態における生成装置１０４の構成を示すブロック図である。実施形態１と同一の処理ブロックについては同じ番号を付して説明を省略する。生成装置１０４は、取得部８０１、不正マスク検出部８０２、処理部８０３、生成部８０４、不正テクスチャ検出部８０５、および可視性判定部８０６を有する。さらに本実施形態における生成装置１０４は、画像データ記憶部２１０１、モデル記憶部２１０２、画像データ取得部２１０４、およびモデル取得部２１０５を有する。
【０１０５】
画像データ記憶部２１０１は、取得部８０１が取得した以前の画像データ等のデータを記憶する。モデル記憶部２１０２は以前に生成された前景の三次元モデルを記憶する。画像データ記憶部２１０１およびモデル記憶部２１０２はＲＯＭまたはＨＤＤ等によって実現される。なお、画像データ記憶部２１０１およびモデル記憶部２１０２は生成装置１０４と異なる装置におけるＲＯＭまたはＨＤＤ等によって実現されてもよい。
【０１０６】
移動量決定部２１０３は、ある期間の前景の移動量を決定する。画像データ取得部２１０４は、画像データ記憶部２１０１から以前の画像データを取得する。モデル取得部２１０５はモデル記憶部２１０２から以前に生成された前景の三次元モデルを取得する。
【０１０７】
［フローチャート］
図２２は、本実施形態の生成装置１０４で行われる前景の三次元モデルを生成する処理を説明するためのフローチャートの一例を示す図である。本実施形態では実施形態２と同様に、前景抽出装置群１０２における各前景抽出装置１０２ａ〜１０２ｒは、前景マスク画像および前景テクスチャ画像に加えて、前景矩形マスク画像を生成する。
【０１０８】
Ｓ２２０１において取得部８０１は、前景抽出装置１０２ａ〜１０２ｒから各カメラ１０１ａ〜１０１ｒに応じた前景マスク画像、前景テクスチャ画像、前景矩形マスク画像、および前景矩形マスク画像の前景マスク画像上の座標を取得する。Ｓ２２０２〜Ｓ２２０３の処理はＳ１００２〜Ｓ１００３の処理と同一であるため説明を省略する。
【０１０９】
前景マスク画像が不正として検出された場合（Ｓ２２０３：ＹＥＳ）、Ｓ２２０４において不正マスク検出部８０２は、不正な前景マスク画像の数に１を加算する。不正な前景マスク画像の数とは夫々のカメラ１０１ａ〜１０１ｒに対応する前景マスク画像のうち、不正と検出された前景マスク画像の数である。
【０１１０】
前景マスク画像が不正として検出されなかった場合（Ｓ２２０３：ＮＯ）Ｓ２２０５において、不正マスク検出部８０２は、正常な前景マスク画像を、前景矩形マスク画像と、対象のカメラと、時間と、を関連付けて画像データ記憶部２１０１に記憶する。Ｓ２２０６〜Ｓ２２０７の処理についてはＳ１００５〜Ｓ１００６と、それぞれ同一の処理であるため説明を省略する。
【０１１１】
Ｓ２２０８において不正マスク検出部８０２は、Ｓ２２０３において不正な前景マスク画像を検出した結果、不正な前景マスク画像があったかを判定する。本実施形態では、不正な前景マスク画像の数が１以上の場合は不正な前景マスク画像があると判定される。不正と判定された前景マスク画像があった場合（Ｓ２２０８：ＹＥＳ）、Ｓ２２０９に進む。
【０１１２】
次のＳ２２０９〜Ｓ２２１１では、Ｓ２２０１において取得した各前景マスク画像によって前景の三次元モデルは生成されない。本実施形態では、不正な前景マスク画像が検出された場合、移動量と以前に生成された前景の三次元モデルに基づき前景の三次元モデルが推定され、前景の三次元モデルが生成される。
【０１１３】
Ｓ２２０９において画像データ取得部２１０４は、Ｓ２２０１において取得部８０１が取得したデータのうち、不正と検出されていない前景マスク画像の中から第一の前景マスク画像を選択する。画像データ取得部２１０４は、第一の前景マスク画像の前景領域を示す前景矩形マスク画像とその座標データを取得する。
【０１１４】
画像データ取得部２１０４は、さらに画像データ記憶部２１０１から、第一の前景マスク画像と同じ方向から以前に撮像された撮像画像に基づき生成された前景マスク画像であって、不正と検出されていない第二の前景マスク画像を選択する。そして、画像データ取得部２１０４は、画像データ記憶部２１０１から、第二の前景マスク画像の前景領域を示す前景矩形マスク画像とその座標データを取得する。
【０１１５】
動画の仮想視点画像を生成する場合には、本フローチャートの各ステップの処理がフレーム単位で繰り返し行われる。このため、例えば第二の前景マスク画像として、画像データ取得部２１０４は、処理中の現フレームに対して直前のフレームにおいて取得された前景マスク画像を第二の前景マスク画像として選択し、前景矩形マスク画像を取得すればよい。また、第一の前景マスク画像は、現フレームにおいて不正と検出されなかった前景マスク画像のうち直前のフレームにおいても不正と検出されていない前景マスク画像が選択されればよい。
【０１１６】
Ｓ２２１０において移動量決定部２１０３は、画像データ取得部２１０４が取得した第二のマスク画像が撮像された時間から本フローチャートにおける処理対象の時間である第一のマスク画像が撮像された時間までの前景の移動量（移動方向を含む）を算出する。移動量決定部２１０３は、算出した移動量に基づき前景の移動量を決定する。
【０１１７】
本実施形態における前景の移動量を決定するための算出方法は、第一の前景マスク画像に含まれる前景矩形マスク画像と第二の前景マスク画像に含まれる前景矩形マスク画像との中心座標の差分に基づき算出される。
【０１１８】
図２３は、前景矩形マスク画像の中心座標の差分により各前景の移動量が算出された例である。図２３（ａ）は第一の前景マスク画像の例を示した図であり、図２３（ｂ）は第二の前景マスク画像の例を示した図である。また、図２３（ｃ）は第二の前景マスク画像と、第一の前景マスク画像との前景毎に移動量が決定されたことを示す図である。図２３（ｃ）の矢印は、決定された移動方向と移動量を表している。
【０１１９】
移動量決定部２１０３が移動量を決定するための算出方法は他にも、前景矩形マスク画像を用いずに前景領域の平均差分値により移動量を算出する方法でもよい。また、前景マスク画像または前景矩形マスク画像によらないで移動量を算定する方法であってもよい。例えば、図７（ａ）のように撮像画像における前景を含む領域を矩形領域として算出した画像と、以前に撮像された撮像画像から算出された同様の画像を用いて、矩形画像の中心座標の差分より算出する方法でもよい。または、複数のカメラにより各前景の移動量を算出する方法でもよい。また、移動量決定部２１０３は移動量を他の装置等から取得し、当該移動量を用いて前景の移動量を決定してもよい。
【０１２０】
さらに、移動量決定部２１０３は、決定した前景の移動量を基に、第一の前景マスク画像を撮像したカメラのカメラパラメータを用いて三次元空間上の移動量を算出して決定する。
【０１２１】
Ｓ２２１１においてモデル取得部２１０５は、モデル記憶部２１０２に記憶されている第二の前景マスク画像を含む前景マスク画像に基づき生成された前景の三次元モデルを取得する。次に生成部８０４は、取得された第二の前景マスク画像に基づく前景の三次元モデルを、三次元空間上の移動量に基づき移動させることで、Ｓ２２０１で取得した画像が同期撮像された時間である処理対象の時間の前景の三次元モデルを生成する。
【０１２２】
一方、不正な前景マスク画像がなかった場合（Ｓ２２０８：ＮＯ）、Ｓ２２１２において生成部８０４は、Ｓ２２０１において取得された前景マスク画像に基づき前景の三次元モデルを生成する。生成方法は、Ｓ１００７と同一であるため説明を省略する。Ｓ２２１３において生成部８０４は、生成した前景の三次元モデルをモデル記憶部２１０２に記憶する。
【０１２３】
Ｓ２２１４において可視性判定部８０６は可視性判定を行う。ここで、Ｓ２２１１において移動量によって前景の三次元モデルを生成した場合は、カメラパラメータも移動量だけカメラ位置を移動させて可視性判定を行う。Ｓ２２１５はＳ１００９と同一の処理であるため説明は省略する。
【０１２４】
以上説明したように本実施形態においては、前景の移動量を決定することにより、以前に生成した前景の三次元モデルから、生成する三次元モデルの形状を推定することにより、前景の三次元モデルを生成する。このため、不正な前景マスク画像による前景の三次元モデルの品質劣化を抑制することができ、画質劣化を抑えた仮想視点映像生を実現することができる。
【０１２５】
なお、本実施形態では取得部８０１と画像データ取得部２１０４とモデル取得部２１０５は別のモジュールとして説明したが、１つの取得部が各取得部において取得するデータを取得する形態でもよい。
【０１２６】
＜その他の実施形態＞
上述した実施形態は、各カメラに対応した前景抽出装置が、各カメラの撮像画像の前景領域を抽出する形態として説明した。この他に前景抽出装置の有する機能も含む一つの画像処理装置が複数のカメラの画像データを取得して、当該画像処理装置が各カメラにおける前景マスク画像および前景テクスチャの生成をする形態であってもよい。
【０１２７】
上述の実施形態では、不正マスク検出部８０２と不正テクスチャ検出部８０５は別のモジュールとして説明したが、１つの検出部が前景マスク画像、前景矩形マスク画像および前景テクスチャ画像が不正かを検出する形態でもよい。
【０１２８】
上述した実施形態では、制御装置１０３、生成装置１０４、レンダリング装置１０５はそれぞれ別の装置であるものとして説明した。他にも、１つのまたは２つの装置により、制御装置１０３、生成装置１０４、レンダリング装置１０５の機能が実現されてもよい。例えば、前景の三次元モデルの生成と、仮想視点画像の生成を１つの画像処理装置によって行う形態でもよい。
【０１２９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３０】
１０４  生成装置
５００  撮像画像
６００  前景マスク画像
８０１  取得部
８０２  不正マスク検出部
８０３  処理部
８０４  生成部
【図１】
2020091534.tif 000003
【図２】
2020091534.tif 000004
【図３】
2020091534.tif 000005
【図４】
2020091534.tif 000006
【図５】
2020091534.tif 000007
【図６】
2020091534.tif 000008
【図７】
2020091534.tif 000009
【図８】
2020091534.tif 000010
【図９】
2020091534.tif 000011
【図１０】
2020091534.tif 000012
【図１１】
2020091534.tif 000013
【図１２】
2020091534.tif 000014
【図１３】
2020091534.tif 000015
【図１４】
2020091534.tif 000016
【図１５】
2020091534.tif 000017
【図１６】
2020091534.tif 000018
【図１７】
2020091534.tif 000019
【図１８】
2020091534.tif 000020
【図１９】
2020091534.tif 000021
【図２０】
2020091534.tif 000022
【図２１】
2020091534.tif 000023
【図２２】
2020091534.tif 000024
【図２３】
2020091534.tif 000025