マスク画像を抽出する方法及びプログラム並びにボクセルデータを構築する方法及びプログラム
【課題】フィルタ処理に依存せず、少ない繰り返し回数で領域面積の大きい不要部を逐次的に除去することが可能な不要部除去処理を備えている精度の高いマスク画像を抽出する方法を提供する。
【解決手段】複数の被写体画像と複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出し、複数の第1のマスク画像から視体積交差法により、3次元ボクセルデータを構築する。3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する。第2の3次元ボクセルデータを基に、複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する。
【解決手段】複数の被写体画像と複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出し、複数の第1のマスク画像から視体積交差法により、3次元ボクセルデータを構築する。3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する。第2の3次元ボクセルデータを基に、複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスク画像を抽出する方法及びプログラム、並びにボクセルデータを構築する方法及びプログラムに関する。より詳細には、被写体を撮影した画像と背景のみを撮影した画像からマスク画像を抽出するマッティング方法及びプログラム、並びに上記で抽出された複数枚のマスク画像から視体積交差法を適用しボクセルデータを構築するモデリングの方法及びプログラムに関する。
【背景技術】
【0002】
従来、被写体を撮影した画像から被写体の存在を表すマスク画像を抽出するマッティング(matting)と複数枚のマスク画像に視体積交差法を適用し3次元ボクセルデータを構築するモデリング(modeling)は、別々に行われていた。このため、高精度なボクセルデータを構築するためには、まず高精度なマスク画像を抽出しなければならず、ブルーバックなどの特別な環境が必要であった。特許文献1及び非特許文献1では、背景差分に工夫をこらし、ボクセルデータの色情報を用いてマスク画像の欠損を埋めるマスク画像精度向上の方法を開示している。
【0003】
しかしながら、この方法では、精度の高いボクセルデータを構築するためには、初めに十分精度の高いマスク画像が必要であった。そのため、手作業や、ブルーバックなどの特別な撮影環境を用いて、複雑な計算処理を行い、精度の高いマスク画像を抽出しなければならない。
【0004】
そのため、非特許文献2では、
(1)被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、単純な背景差分を適用することで初期のマスク画像を取得した上で、視体積交差法を適用することで初期のボクセルデータを構築する。
(2)上記で得られたボクセルデータからスライス画像を抽出し、各スライス画像にメディアンフィルタをかけることにより、ボクセルデータの穴を埋めていき、この穴埋めに用いられた各ボクセルをマスク画像に投影し、当該ピクセルを白色ピクセルにすることで各マスク画像の穴を埋める。
(3)上記の穴埋め処理されたボクセルデータ全体を各撮影視点に投影した画像と、上記のマスク画像の双方が白色であるピクセルのみを、各撮影視点における新たなマスク画像の白色ピクセルとすることで、上記穴埋めされた各マスク画像の不要部を除去する。
【0005】
(3)で得られた各マスク画像を(1)の初期のマスク画像として(1)〜(3)の処理を繰り返すことで、精度の高いマスク画像を抽出し、これにより精度の高いボクセルデータを構築した。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−17364号公報
【非特許文献】
【0007】
【非特許文献1】豊浦正広他 「ランダムパターン背景を用いた視体積交差法のためのシルエット修復手法」 2005年 電子情報通信学会総合大会 D−12−133
【非特許文献2】三功浩嗣他 「被写体3次元モデルの各撮影視点へのフィードバック処理に基づく背景分離方式」 2009年 電子情報通信学会総合大会 D−11−85
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記非特許文献2の方法は、(2)においてブロックサイズの大きいフィルタ処理を適用し、(1)から(3)を多数繰り返し適用しなければ不要部が除去できなかった。そのため、被写体シルエットのエッジが鈍ってしまうとともに、多くの処理時間を要するという課題があった。また、(3)における不要部の領域面積が大きい場合は、(1)から(3)を多数繰り返しても不要部が除去できないという課題があった。
【0009】
以下に、不要部が除去できないことを実際の画像により示す。図23は、非特許文献2に記載の処理を1回適用したマスク画像を示し、図24は、非特許文献2に記載の処理を3回適用したマスク画像を示し、図25は、非特許文献2に記載の処理を9回適用したマスク画像を示す。回数を増やして行くにつれてマスク画像の精度は向上していくことが分かるが、矢印1および2で指摘される不要部は、繰り返して適用してもあまり変化がなく、不要部が除去されないことが分かる。
【0010】
図26は、図25のマスク画像から構築されたボクセルデータを示す。x軸方向から見た画像(a)、y軸方向から見た画像(b)、z軸方向から見た画像(c)を示す。なお、図26bは、図26a、図26cに比べて50%縮小されている。マスク画像の不要部分がボクセルデータに反映された結果、図26aの右から2番目の人物の足下と3番目の人物の足下がつながっている。
【0011】
従って、本発明は、上記方法におけるフィルタ処理に依存せず、少ない繰り返し回数で領域面積の大きい不要部を逐次的に除去することが可能な不要部除去処理を備えている、精度の高いマスク画像を抽出する方法及びプログラム、並びに上記マスク画像からボクセルデータを構築する方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を実現するため本発明による複数のマスク画像を抽出する方法は、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出する方法であって、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップとを含む。
【0013】
また、前記第2の抽出ステップは、前記第2の3次元ボクセルデータにおいて、欠損が充填された3次元座標を各撮影視点に投影し、前記複数の第1のマスク画像における対応画素を白色にして複数の第1のサブマスク画像を抽出し、前記第2の3次元ボクセルデータを各撮影視点に投影し、複数の第2のサブマスク画像を抽出し、該複数の第2のサブマスク画像にフィルタ処理を施し、フィルタ処理された複数の第2のサブマスク画像と前記複数の第1のサブマスク画像の両画像共に白色である画素を白色とし、それ以外の画素を黒色とすることで、複数の第3のサブマスク画像を抽出し、該複数の第3のサブマスク画像を閉領域に分割し、所定の条件を満たす閉領域を除去することで、複数の第2のマスク画像を抽出するステップであることも好ましい。
【0014】
また、前記所定の条件は、閉領域が所定の画素数以下であることも好ましい。
【0015】
また、前記複数の第2のマスク画像を、前記第1の構築ステップにおける複数の第1のマスク画像とすることで、前記第1の構築ステップから前記第2の抽出ステップまでを所定の回数繰り返すことも好ましい。
【0016】
また、前記第2の構築ステップは、前記第1の3次元ボクセルデータの複数の第1のスライス画像を、x軸、y軸及びz軸方向から獲得するサブステップと、前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理の結果に基づき第2の3次元ボクセルデータを構築するサブステップとを含むことも好ましい。
【0017】
また、前記第2の3次元ボクセルデータを構築するサブステップは、前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理により白色になった画素を求め、該画素に対応する前記第1の3次元ボクセルデータの3次元座標を埋めることで、第2の3次元ボクセルデータを構築するステップであることも好ましい。
【0018】
また、前記第2の抽出ステップ後に、前記複数の第2のマスク画像にフィルタ処理を施すステップをさらに含むことも好ましい。
【0019】
上記目的を実現するため本発明による複数のマスク画像を抽出するプログラムは、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出するためのコンピュータを、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段として機能させる。
【0020】
上記目的を実現するため本発明による3次元ボクセルデータを構築する方法は、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築する方法であって、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップと、前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築ステップとを含む。
【0021】
上記目的を実現するため本発明による3次元ボクセルデータを構築することを特徴とするプログラムは、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築するためのコン
ピュータを、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段と、前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築手段として機能させる。
【発明の効果】
【0022】
本発明のマスク画像を抽出する方法及びプログラムは、ボクセルデータの情報をマスク画像に反映させ、各マスク画像の穴を埋め、各マスク画像の不要部を除去することを行い、マスク画像とボクセルデータの精度向上を補間的に行う。特に本発明では不要部除去処理を繰り返し行うことにより不要部が逐次的に除去される。特に本発明の不要部除去処理によれば、少ない繰り返し回数で不要部を除去できるため、被写体シルエットのエッジが鈍る度合を抑えることができ、処理時間の短縮が可能となる。また、従来手法では除去が不可能であった、面積の大きい不要部に対しても除去できる。
【0023】
このように、本発明によれば、初めに高精度なマスク画像を必要とせず、さらに複雑な計算処理を行わずに高精度のマスク画像を抽出でき、この高精度のマスク画像から高精度のボクセルデータを構築できる。さらに、本発明は、特別な撮影環境に依らず、一般的な映像に対して適用可能である。
【図面の簡単な説明】
【0024】
【図1】本発明によるマスク画像の抽出とボクセルデータの構築方法を示すフローチャートである。
【図2】閉領域を説明するための図である。
【図3】カメラ画像から得られたマスク画像の一例である。
【図4】図3のマスク画像から構築されたボクセルデータの一例を示す。
【図5】図3のマスク画像の穴を埋めたマスク画像を示す。
【図6】図5のマスク画像から不要部を除去したマスク画像を示す。
【図7】図6のマスク画像からさらに不要部を除去したマスク画像を示す。
【図8】図7のマスク画像にフィルタ処理を施したマスク画像を示す。
【図9】本発明のステップ3からステップ10を2回実行することにより抽出されたマスク画像を示す。
【図10】本発明のステップ3からステップ10を3回実行することにより抽出されたマスク画像を示す。
【図11】図8のマスク画像から構築されたボクセルデータを示す。
【図12】図9のマスク画像から構築されたボクセルデータを示す。
【図13】図10のマスク画像から構築されたボクセルデータを示す。
【図14】本発明のステップ8の処理が施された第1の視点のマスク画像を示す。
【図15】本発明のステップ9の処理が施された第1の視点のマスク画像を示す。
【図16】本発明のステップ8の処理が施された第2の視点のマスク画像を示す。
【図17】2回目の繰り返しにおける本発明のステップ8の処理が施された第2の視点のマスク画像を示す。
【図18】2回目の繰り返しにおける本発明のステップ9の処理が施された第2の視点のマスク画像を示す。
【図19】3回目の繰り返しにおける本発明のステップ8の処理が施された第1の視点のマスク画像を示す。
【図20】図15、図16のマスク画像から構築されたボクセルデータを示す。
【図21】図17、図18のマスク画像から構築されたボクセルデータを示す。
【図22】図19のマスク画像から構築されたボクセルデータを示す。
【図23】非特許文献2に記載の処理を1回適用したマスク画像を示す。
【図24】非特許文献2に記載の処理を3回適用したマスク画像を示す。
【図25】非特許文献2に記載の処理を9回適用したマスク画像を示す。
【図26】図25のマスク画像から構築されたボクセルデータを示す。
【発明を実施するための形態】
【0025】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。図1は、本発明によるマスク画像の抽出とボクセルデータの構築方法を示すフローチャートである。以下、本フローチャートに基づいて説明する。
【0026】
ステップ1:円周配置の複数枚の被写体画像と背景画像を取得する。キャリブレーション済みのカメラを複数台円周上に配置して、該複数台のカメラで被写体と背景を含む被写体画像と背景のみを含む背景画像とを撮影し、複数の異なった方向から撮影した被写体画像と背景画像を取得する。例えば、カメラが30台配置された場合、被写体画像画像及び背景画像はそれぞれ30枚取得される。
【0027】
ステップ2:上記の被写体画像画像と、背景画像とから、背景差分を行うことにより、複数枚のマスク画像を抽出する。本マスク画像は、従来技術の単純な背景差分により抽出されるため、精度は高くない。マスク画像はカメラの台数分抽出される。例えば、カメラが30台配置された場合、30枚のマスク画像が抽出される。
【0028】
ステップ3:複数枚のマスク画像に、視体積交差法を適用することにより、3次元ボクセルデータを構築する。ボクセルデータの精度は、マスク画像の精度に依存するため、ステップ2で抽出されたマスク画像を用いる場合、構築されたボクセルデータの精度は高くない。
【0029】
ステップ4:上記で獲得されたボクセルデータをスライス画像として獲得する。3次元ボクセルデータをある方向からのスライス画像の集まりと考えて、ボクセルデータをスライス画像としてx軸、y軸及びz軸方向から獲得する。スライス画像は各軸とも座標範囲の枚数分を獲得する。例えば、ボクセルデータのy軸座標範囲が−256〜255であった場合は、512枚のスライス画像を獲得する。なお、y軸は鉛直方向であり、x軸及びz軸は、それぞれ水平方向である。
【0030】
ステップ5:穴を埋めたボクセルデータを構築する。ステップ4のスライス画像は精度が高くないボクセルデータから獲得されている場合があるため、黒色である箇所が白色となり穴が空いている欠損や、逆に白色の部分に黒色が表れるノイズが含まれていることもある。そのため、各方向(x軸、y軸、z軸)から獲得されたスライス画像に対してフィルタ処理を施す。例えば、ガウスフィルタを適用し欠損を充填することで穴の部分を埋め、メディアンフィルタを適用し不要なノイズを除去する。このようにして、フィルタ済スライス画像を得る。次に、フィルタ済スライス画像とフィルタされる前のスライス画像とを比較し、新たに白色となった画素(つまり、フィルタ処理により穴が埋められた画素)を求め、本画素に対応するボクセルデータの3次元座標を埋める。例えば、x軸の座標x1で獲得されたスライス画像において、白色となった画素が、y座標y1、z座標z1であった場合、ボクセルデータの3次元座標(x1、y1、z1)を埋める。以上の処理を全スライス画像に行い、穴を埋めたボクセルデータを獲得する。
【0031】
ステップ6:複数枚の穴を埋めたマスク画像を抽出する。ステップ5での3次元座標を各撮影視点に投影し、各マスク画像における対応画素を白色にする。つまり、スライス画像の3次元座標を撮影視点に投影して、各マスク画像を撮影した位置から見た画像を作成し、該画像においてステップ5の3次元座標に対応する画素を白色にする。これにより、穴が埋められたマスク画像が抽出される。
【0032】
ステップ7:上記ステップ5で獲得されたボクセルデータを各撮影視点に投影し、複数枚のマスク画像を獲得する。
【0033】
ステップ8:不要部を除去した複数枚のマスク画像を抽出する。ステップ7で獲得されたマスク画像にフィルタ処理を施す。ここで得られたマスク画像とステップ6で抽出されたマスク画像とを比較して、両画像ともに白色である場合のみ白色とし、それ以外の場合は該当箇所を黒色にする。以上の処理を全マスク画像に行い、不要部を除去したマスク画像を抽出する。
【0034】
ステップ9:複数枚のマスク画像からさらに不要部を除去する。上記で得られたマスク画像を閉領域に分割し、所定の条件を満たす領域を不要部として除去する。つまり、所定の条件を満たす白色領域を黒色とすることにより不要部を除去する。なお、所定の条件の例として、不要部は影等の領域であり人物の領域よりも小さいと考えられるため、一定の画素数以下の領域を不要部とすることが考えられる。
【0035】
ここで、閉領域は上下左右のいずれかにより連結している白色領域のことである。例えば、図2によるとI、IIがそれぞれ閉領域となる。IとIIは斜め方向に連結されているが上下左右で連結していないため、別々の閉領域となる。また、マスク画像の必要部分の領域が削除されないようにするため、一定の画素数は必要部分の領域の画素数より小さい値である。例えば、画素数が1280×720で、人物のマスク画像である場合、人物の領域の画素数より小さい3000程度が一定の画素数となる。
【0036】
マスク画像中の影等の不要部は被写体領域と連結していることが少なくないので、多くの撮影視点におけるマスク画像では不要部は閉領域として抽出することができず除去できない。一方、視体積交差法は、各マスク画像のAND演算を基にボクセルデータを構築するので、少なくとも1つのマスク画像で不要部が除去されると、ボクセルデータ上でその不要部に相当する領域が除去される。よって、当該不要部が除去されたボクセルデータを各撮影視点に投影した映像によりAND演算をとることで、全てのマスク画像から当該不要部が除去される。
【0037】
さらに、マスク画像中では複数の不要部が重なり合っていることが少なくないので、ある不要部が除去されることで、それまで被写体領域と連結していた別の領域が切り離され、閉領域として抽出できる可能性があり、繰り返し処理を適用することで各マスク画像およびボクセルデータから不要部が徐々に除去されていく。
【0038】
ステップ10:複数枚の穴を埋めたマスク画像を抽出する。上記で得られたマスク画像にフィルタ処理を施すことによりさらに穴を埋める。このように、穴を埋め(ステップ6)、不要な部分を削除し(ステップ8、ステップ9)、穴を埋める(ステップ10)処理を施すことで、より高精度なマスク画像が抽出される。
【0039】
ステップ11:マスク画像の精度が十分であった場合、本マスク画像から視体積交差法を用いることにより、高精度なボクセルデータが構築される。マスク画像の精度が十分でなかった場合、ステップ10で得られたマスク画像をステップ3の入力とすることにより、ステップ3からステップ10を繰り返し、マスク画像とボクセルデータの精度を漸次更新していく。
【0040】
一般に、視体積交差法を用いる場合、マスク画像における影や背景の不要部分は、ボクセルデータの生成にあまり影響を与えないが、人物マスク内の穴・欠損は、ボクセルデータの生成に大きな影響を与えるため、人物マスク内の穴・欠損を埋める必要がある。
【0041】
また、ボクセルデータのスライス画像において人物が存在している画素(すなわち黒色でなく白色の画素)は、各マスク画像の該当画素においても必ず白色となるが、対象物体が存在していない画素(黒色の画素)は、各マスク画像において必ずしも黒色とは限らない。
【0042】
よって、スライス画像における白色の画素が重要であり、スライス画像の精度の向上は、徐々に欠損・穴を埋めていくことになる。上記のステップ3からステップ10を繰り返すことで、スライス画像の精度が向上し、ボクセルモデルの欠損が徐々に埋まっていく。
【0043】
次に、マスク画像の精度が向上していくことを実際の画像により示す。図3は、カメラ画像から得られたマスク画像の一例である。図3は、ステップ2で単純な背景差分により生成されたマスク画像であり、見て分かる通り、精度は高くない。
【0044】
図4は、図3のマスク画像から構築されたボクセルデータの一例を示す。ボクセルデータは3次元であるため、水平方向(x軸方向)から見た画像(a)と、鉛直方向(y軸方向)から見た画像(b)と、水平方向(z軸方向)から見た画像(c)を示す。なお、図4bは、図4a、図4cに比べて50%縮小されている。本ボクセルデータは、精度が高くない図3のマスク画像から構築されたため、精度が高くない。本来白色であるはずのところが黒色で埋まっていなかったり、本来黒色のところが白色であったりする。
【0045】
図5は、図3のマスク画像の穴を埋めたマスク画像を示す。図5はステップ5及びステップ6の処理が施されたマスク画像であり、図5と図3を比較すると人物の部分において穴が埋まっている。つまり、黒色のところが白色になっていることが分かる。
【0046】
図6は、図5のマスク画像から不要部を除去したマスク画像を示す。図6はステップ8の処理が施されたマスク画像であり、図6と図5を比較すると不要な部分が除去されていることが分かる。なお、図6のマスク画像は、ボクセルデータを各撮影視点に投影したステップ7のマスク画像にフィルタ処理を施して得られたマスク画像と図5のマスク画像の両方とも白い部分を抽出している(ステップ8の処理)ため、背景部分が除去されている。
【0047】
図7は、図6のマスク画像からさらに不要部を除去したマスク画像を示す。図7はステップ9の処理が施されたマスク画像であり、図7と図6を比較すると、背景部分にある不要部分である白い閉領域が除去されていることが分かる。
【0048】
図8は、図7のマスク画像にフィルタ処理を施したマスク画像を示す。図8はステップ10の処理が施されたマスク画像であり、図8と図7を比較するとフィルタ処理により、さらに穴埋めがなされていることが分かる。
【0049】
なお、図3、図5、図6、図7及び図8のマスク画像は、複数枚のマスク画像の1枚であり、実際にはカメラ台数分のマスク画像の処理が行われることになる。
【0050】
図3のマスク画像と図8のマスク画像を比較すると、本発明のステップ3からステップ10を1回実行することにより、マスク画像の精度が大幅に向上することが分かる。
【0051】
本発明のステップ3からステップ10は、複数回実行して、さらにマスク画像の精度を高めることができる。図9は、本発明のステップ3からステップ10を2回実行することにより抽出されたマスク画像を示し、図10は、本発明のステップ3からステップ10を3回実行することにより抽出されたマスク画像を示す。図8、図9、図10のマスク画像を比較すると、マスク画像の精度が漸次向上していくことが見て取れる。例えば、矢印1で指摘される箇所は、本来白色であるはずの人物内の箇所である。図8と図9を比較すると、図9では穴が完全にふさがっていることが分かる。また、矢印1の先にある黒色領域も図8、図9、図10と処理を繰り返すにつれて小さくなっていくことが分かる。なお、図10を見ると、精度の高いマスク画像が得られており、本発明のステップ3からステップ10を3回も適用すれば十分な精度のマスク画像が得られることがわかる。
【0052】
このように本発明の方法によれば、非特許文献2に記載の方法に比べて、短い繰り返し回数で精度の高いマスク画像を得ることができる(本発明では3回、非特許文献2では9回の繰り返しが必要)。このため、マスク画像を生成するための時間が短くなり、性能の低いコンピュータ上でも実行できることになる。さらに、繰り返し回数が少ないことより、ステップ5および10でのフィルタの適用回数が少ないことになり、フィルタによりマスク画像のエッジ部分が鈍るという問題も少なくなる。
【0053】
次に、上記の図8、図9、および図10のマスク画像から構築されたボクセルデータを示す。それぞれ、図11は、図8のマスク画像から構築されたボクセルデータを示し、図12は、図9のマスク画像から構築されたボクセルデータを示し、図13は、図10のマスク画像から構築されたボクセルデータを示す。各図は、x軸方向から見た画像(a)、y軸方向から見た画像(b)、z軸方向から見た画像(c)を示し、画像(a)、(c)に比べ、画像(b)は50%縮小されている。それぞれ、マスク画像の精度向上と共にボクセルデータの精度の向上していることが分かる。例えば、x軸方向の左から2番目の人物において、図11、図12、図13と進むにつれて、次第に穴が小さくかつ、少なくなっていくことが分かる。また、x軸方向の右から2番目の人物の足下の(背景であり黒色であるべき)白色の部分が、図11では存在するが、図12、図13で完全になくなっていることが分かる。このように精度の向上したマスク画像から精度の向上したボクセルデータが構築されることが分かる。
【0054】
本発明のステップ9の処理の有効性を、上記とは別の実際の画像により示す。図14は本発明のステップ8の処理が施された第1の視点のマスク画像を示し、図15は本発明のステップ9の処理が施された第1の視点のマスク画像を示す。図14と図15を比較すると矢印2および3で指摘される箇所は不要部であり、矢印2で指摘される箇所は閉領域であるため、ステップ9の処理で除去されることが分かる。
【0055】
図16は、本発明のステップ8の処理が施された第2の視点のマスク画像を示す。図17は、2回目の繰り返しにおける本発明のステップ8の処理が施された第2の視点のマスク画像を示し、図18は、2回目の繰り返しにおける本発明のステップ9の処理が施された第2の視点マスク画像を示す。図16は、図14と同じ状態であり、矢印2および3で指摘される不要部が存在する(図14、図16では視点が異なるため不要部の形は異なっている)。本図においては、不要部はどちらも閉領域ではないため、ステップ9の処理により除去されることはない。しかしながら、上記で示したように第1の視点のマスク画像において、矢印2で指摘される箇所は除去され、繰り返し処理を適用することで、この除去が第2の視点のマスク画像にも反映される。このため、図17には図16の矢印2で指摘される部分は存在しなくなる。第2の視点のマスク画像の場合、矢印2で指摘される部分が除去されると矢印3で指摘される部分が閉領域となる。このため、次のステップ9の処理により、図18のように矢印3で指摘された部分が除去される。
【0056】
図19は、3回目の繰り返しにおける本発明のステップ8の処理が施された第1の視点のマスク画像を示す。上記のように第2の視点のマスク画像において矢印3で指摘された不要部が除去され、その結果が第1の視点のマスク画像にも反映され、図19には図15で存在した不要部が除去されている。
【0057】
以上のように本発明のステップ9の処理により、ある視点のマスク画像の不要部が除去されると、繰り返し処理を適用することで他の視点のマスク画像の不要部も除去される。また、不要部が除去されることで、それまで被写体領域と連結していた不要部が、被写体領域から切り離され、閉領域として抽出でき、除去できるようになる。このように、本発明のステップ9の処理を繰り返し適用することで各マスク画像およびボクセルデータから不要部が徐々に除去されていく。
【0058】
次に、上記の図14から図19のマスク画像から構築されたボクセルデータを示す。それぞれ、図20は、図15、図16のマスク画像から構築されたボクセルデータを示し、図21は、図17、図18のマスク画像から構築されたボクセルデータを示し、図22は、図19のマスク画像から構築されたボクセルデータを示す。各図は、x軸方向から見た画像(a)、y軸方向から見た画像(b)、z軸方向から見た画像(c)を示し、画像(a)、(c)に比べて画像(b)は50%縮小されている。それぞれ、マスク画像の精度向上と共にボクセルデータの精度の向上していることが分かる。例えば、y軸方向の矢印2で指摘される部分は、図20bでは存在するが、図21bでは除去されていることが分かる。また、y軸方向の矢印3で指摘される部分は、図20bおよび図21bでは存在するが、図22bでは除去されていることが分かる。また、x軸方向の右から2番目の人物の足下の(背景であり黒色であるべき)白色の部分が、図20a、図21aでは存在するが、図22aで完全になくなっていることが分かる。このように精度の向上したマスク画像から精度の向上したボクセルデータが構築されることが分かる。
【0059】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。従って本発明の範囲は特許請求の範囲及びその均等範囲によってのみ規定されるものである。
【技術分野】
【0001】
本発明は、マスク画像を抽出する方法及びプログラム、並びにボクセルデータを構築する方法及びプログラムに関する。より詳細には、被写体を撮影した画像と背景のみを撮影した画像からマスク画像を抽出するマッティング方法及びプログラム、並びに上記で抽出された複数枚のマスク画像から視体積交差法を適用しボクセルデータを構築するモデリングの方法及びプログラムに関する。
【背景技術】
【0002】
従来、被写体を撮影した画像から被写体の存在を表すマスク画像を抽出するマッティング(matting)と複数枚のマスク画像に視体積交差法を適用し3次元ボクセルデータを構築するモデリング(modeling)は、別々に行われていた。このため、高精度なボクセルデータを構築するためには、まず高精度なマスク画像を抽出しなければならず、ブルーバックなどの特別な環境が必要であった。特許文献1及び非特許文献1では、背景差分に工夫をこらし、ボクセルデータの色情報を用いてマスク画像の欠損を埋めるマスク画像精度向上の方法を開示している。
【0003】
しかしながら、この方法では、精度の高いボクセルデータを構築するためには、初めに十分精度の高いマスク画像が必要であった。そのため、手作業や、ブルーバックなどの特別な撮影環境を用いて、複雑な計算処理を行い、精度の高いマスク画像を抽出しなければならない。
【0004】
そのため、非特許文献2では、
(1)被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、単純な背景差分を適用することで初期のマスク画像を取得した上で、視体積交差法を適用することで初期のボクセルデータを構築する。
(2)上記で得られたボクセルデータからスライス画像を抽出し、各スライス画像にメディアンフィルタをかけることにより、ボクセルデータの穴を埋めていき、この穴埋めに用いられた各ボクセルをマスク画像に投影し、当該ピクセルを白色ピクセルにすることで各マスク画像の穴を埋める。
(3)上記の穴埋め処理されたボクセルデータ全体を各撮影視点に投影した画像と、上記のマスク画像の双方が白色であるピクセルのみを、各撮影視点における新たなマスク画像の白色ピクセルとすることで、上記穴埋めされた各マスク画像の不要部を除去する。
【0005】
(3)で得られた各マスク画像を(1)の初期のマスク画像として(1)〜(3)の処理を繰り返すことで、精度の高いマスク画像を抽出し、これにより精度の高いボクセルデータを構築した。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−17364号公報
【非特許文献】
【0007】
【非特許文献1】豊浦正広他 「ランダムパターン背景を用いた視体積交差法のためのシルエット修復手法」 2005年 電子情報通信学会総合大会 D−12−133
【非特許文献2】三功浩嗣他 「被写体3次元モデルの各撮影視点へのフィードバック処理に基づく背景分離方式」 2009年 電子情報通信学会総合大会 D−11−85
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記非特許文献2の方法は、(2)においてブロックサイズの大きいフィルタ処理を適用し、(1)から(3)を多数繰り返し適用しなければ不要部が除去できなかった。そのため、被写体シルエットのエッジが鈍ってしまうとともに、多くの処理時間を要するという課題があった。また、(3)における不要部の領域面積が大きい場合は、(1)から(3)を多数繰り返しても不要部が除去できないという課題があった。
【0009】
以下に、不要部が除去できないことを実際の画像により示す。図23は、非特許文献2に記載の処理を1回適用したマスク画像を示し、図24は、非特許文献2に記載の処理を3回適用したマスク画像を示し、図25は、非特許文献2に記載の処理を9回適用したマスク画像を示す。回数を増やして行くにつれてマスク画像の精度は向上していくことが分かるが、矢印1および2で指摘される不要部は、繰り返して適用してもあまり変化がなく、不要部が除去されないことが分かる。
【0010】
図26は、図25のマスク画像から構築されたボクセルデータを示す。x軸方向から見た画像(a)、y軸方向から見た画像(b)、z軸方向から見た画像(c)を示す。なお、図26bは、図26a、図26cに比べて50%縮小されている。マスク画像の不要部分がボクセルデータに反映された結果、図26aの右から2番目の人物の足下と3番目の人物の足下がつながっている。
【0011】
従って、本発明は、上記方法におけるフィルタ処理に依存せず、少ない繰り返し回数で領域面積の大きい不要部を逐次的に除去することが可能な不要部除去処理を備えている、精度の高いマスク画像を抽出する方法及びプログラム、並びに上記マスク画像からボクセルデータを構築する方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を実現するため本発明による複数のマスク画像を抽出する方法は、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出する方法であって、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップとを含む。
【0013】
また、前記第2の抽出ステップは、前記第2の3次元ボクセルデータにおいて、欠損が充填された3次元座標を各撮影視点に投影し、前記複数の第1のマスク画像における対応画素を白色にして複数の第1のサブマスク画像を抽出し、前記第2の3次元ボクセルデータを各撮影視点に投影し、複数の第2のサブマスク画像を抽出し、該複数の第2のサブマスク画像にフィルタ処理を施し、フィルタ処理された複数の第2のサブマスク画像と前記複数の第1のサブマスク画像の両画像共に白色である画素を白色とし、それ以外の画素を黒色とすることで、複数の第3のサブマスク画像を抽出し、該複数の第3のサブマスク画像を閉領域に分割し、所定の条件を満たす閉領域を除去することで、複数の第2のマスク画像を抽出するステップであることも好ましい。
【0014】
また、前記所定の条件は、閉領域が所定の画素数以下であることも好ましい。
【0015】
また、前記複数の第2のマスク画像を、前記第1の構築ステップにおける複数の第1のマスク画像とすることで、前記第1の構築ステップから前記第2の抽出ステップまでを所定の回数繰り返すことも好ましい。
【0016】
また、前記第2の構築ステップは、前記第1の3次元ボクセルデータの複数の第1のスライス画像を、x軸、y軸及びz軸方向から獲得するサブステップと、前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理の結果に基づき第2の3次元ボクセルデータを構築するサブステップとを含むことも好ましい。
【0017】
また、前記第2の3次元ボクセルデータを構築するサブステップは、前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理により白色になった画素を求め、該画素に対応する前記第1の3次元ボクセルデータの3次元座標を埋めることで、第2の3次元ボクセルデータを構築するステップであることも好ましい。
【0018】
また、前記第2の抽出ステップ後に、前記複数の第2のマスク画像にフィルタ処理を施すステップをさらに含むことも好ましい。
【0019】
上記目的を実現するため本発明による複数のマスク画像を抽出するプログラムは、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出するためのコンピュータを、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段として機能させる。
【0020】
上記目的を実現するため本発明による3次元ボクセルデータを構築する方法は、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築する方法であって、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップと、前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築ステップとを含む。
【0021】
上記目的を実現するため本発明による3次元ボクセルデータを構築することを特徴とするプログラムは、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築するためのコン
ピュータを、前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段と、前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築手段として機能させる。
【発明の効果】
【0022】
本発明のマスク画像を抽出する方法及びプログラムは、ボクセルデータの情報をマスク画像に反映させ、各マスク画像の穴を埋め、各マスク画像の不要部を除去することを行い、マスク画像とボクセルデータの精度向上を補間的に行う。特に本発明では不要部除去処理を繰り返し行うことにより不要部が逐次的に除去される。特に本発明の不要部除去処理によれば、少ない繰り返し回数で不要部を除去できるため、被写体シルエットのエッジが鈍る度合を抑えることができ、処理時間の短縮が可能となる。また、従来手法では除去が不可能であった、面積の大きい不要部に対しても除去できる。
【0023】
このように、本発明によれば、初めに高精度なマスク画像を必要とせず、さらに複雑な計算処理を行わずに高精度のマスク画像を抽出でき、この高精度のマスク画像から高精度のボクセルデータを構築できる。さらに、本発明は、特別な撮影環境に依らず、一般的な映像に対して適用可能である。
【図面の簡単な説明】
【0024】
【図1】本発明によるマスク画像の抽出とボクセルデータの構築方法を示すフローチャートである。
【図2】閉領域を説明するための図である。
【図3】カメラ画像から得られたマスク画像の一例である。
【図4】図3のマスク画像から構築されたボクセルデータの一例を示す。
【図5】図3のマスク画像の穴を埋めたマスク画像を示す。
【図6】図5のマスク画像から不要部を除去したマスク画像を示す。
【図7】図6のマスク画像からさらに不要部を除去したマスク画像を示す。
【図8】図7のマスク画像にフィルタ処理を施したマスク画像を示す。
【図9】本発明のステップ3からステップ10を2回実行することにより抽出されたマスク画像を示す。
【図10】本発明のステップ3からステップ10を3回実行することにより抽出されたマスク画像を示す。
【図11】図8のマスク画像から構築されたボクセルデータを示す。
【図12】図9のマスク画像から構築されたボクセルデータを示す。
【図13】図10のマスク画像から構築されたボクセルデータを示す。
【図14】本発明のステップ8の処理が施された第1の視点のマスク画像を示す。
【図15】本発明のステップ9の処理が施された第1の視点のマスク画像を示す。
【図16】本発明のステップ8の処理が施された第2の視点のマスク画像を示す。
【図17】2回目の繰り返しにおける本発明のステップ8の処理が施された第2の視点のマスク画像を示す。
【図18】2回目の繰り返しにおける本発明のステップ9の処理が施された第2の視点のマスク画像を示す。
【図19】3回目の繰り返しにおける本発明のステップ8の処理が施された第1の視点のマスク画像を示す。
【図20】図15、図16のマスク画像から構築されたボクセルデータを示す。
【図21】図17、図18のマスク画像から構築されたボクセルデータを示す。
【図22】図19のマスク画像から構築されたボクセルデータを示す。
【図23】非特許文献2に記載の処理を1回適用したマスク画像を示す。
【図24】非特許文献2に記載の処理を3回適用したマスク画像を示す。
【図25】非特許文献2に記載の処理を9回適用したマスク画像を示す。
【図26】図25のマスク画像から構築されたボクセルデータを示す。
【発明を実施するための形態】
【0025】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。図1は、本発明によるマスク画像の抽出とボクセルデータの構築方法を示すフローチャートである。以下、本フローチャートに基づいて説明する。
【0026】
ステップ1:円周配置の複数枚の被写体画像と背景画像を取得する。キャリブレーション済みのカメラを複数台円周上に配置して、該複数台のカメラで被写体と背景を含む被写体画像と背景のみを含む背景画像とを撮影し、複数の異なった方向から撮影した被写体画像と背景画像を取得する。例えば、カメラが30台配置された場合、被写体画像画像及び背景画像はそれぞれ30枚取得される。
【0027】
ステップ2:上記の被写体画像画像と、背景画像とから、背景差分を行うことにより、複数枚のマスク画像を抽出する。本マスク画像は、従来技術の単純な背景差分により抽出されるため、精度は高くない。マスク画像はカメラの台数分抽出される。例えば、カメラが30台配置された場合、30枚のマスク画像が抽出される。
【0028】
ステップ3:複数枚のマスク画像に、視体積交差法を適用することにより、3次元ボクセルデータを構築する。ボクセルデータの精度は、マスク画像の精度に依存するため、ステップ2で抽出されたマスク画像を用いる場合、構築されたボクセルデータの精度は高くない。
【0029】
ステップ4:上記で獲得されたボクセルデータをスライス画像として獲得する。3次元ボクセルデータをある方向からのスライス画像の集まりと考えて、ボクセルデータをスライス画像としてx軸、y軸及びz軸方向から獲得する。スライス画像は各軸とも座標範囲の枚数分を獲得する。例えば、ボクセルデータのy軸座標範囲が−256〜255であった場合は、512枚のスライス画像を獲得する。なお、y軸は鉛直方向であり、x軸及びz軸は、それぞれ水平方向である。
【0030】
ステップ5:穴を埋めたボクセルデータを構築する。ステップ4のスライス画像は精度が高くないボクセルデータから獲得されている場合があるため、黒色である箇所が白色となり穴が空いている欠損や、逆に白色の部分に黒色が表れるノイズが含まれていることもある。そのため、各方向(x軸、y軸、z軸)から獲得されたスライス画像に対してフィルタ処理を施す。例えば、ガウスフィルタを適用し欠損を充填することで穴の部分を埋め、メディアンフィルタを適用し不要なノイズを除去する。このようにして、フィルタ済スライス画像を得る。次に、フィルタ済スライス画像とフィルタされる前のスライス画像とを比較し、新たに白色となった画素(つまり、フィルタ処理により穴が埋められた画素)を求め、本画素に対応するボクセルデータの3次元座標を埋める。例えば、x軸の座標x1で獲得されたスライス画像において、白色となった画素が、y座標y1、z座標z1であった場合、ボクセルデータの3次元座標(x1、y1、z1)を埋める。以上の処理を全スライス画像に行い、穴を埋めたボクセルデータを獲得する。
【0031】
ステップ6:複数枚の穴を埋めたマスク画像を抽出する。ステップ5での3次元座標を各撮影視点に投影し、各マスク画像における対応画素を白色にする。つまり、スライス画像の3次元座標を撮影視点に投影して、各マスク画像を撮影した位置から見た画像を作成し、該画像においてステップ5の3次元座標に対応する画素を白色にする。これにより、穴が埋められたマスク画像が抽出される。
【0032】
ステップ7:上記ステップ5で獲得されたボクセルデータを各撮影視点に投影し、複数枚のマスク画像を獲得する。
【0033】
ステップ8:不要部を除去した複数枚のマスク画像を抽出する。ステップ7で獲得されたマスク画像にフィルタ処理を施す。ここで得られたマスク画像とステップ6で抽出されたマスク画像とを比較して、両画像ともに白色である場合のみ白色とし、それ以外の場合は該当箇所を黒色にする。以上の処理を全マスク画像に行い、不要部を除去したマスク画像を抽出する。
【0034】
ステップ9:複数枚のマスク画像からさらに不要部を除去する。上記で得られたマスク画像を閉領域に分割し、所定の条件を満たす領域を不要部として除去する。つまり、所定の条件を満たす白色領域を黒色とすることにより不要部を除去する。なお、所定の条件の例として、不要部は影等の領域であり人物の領域よりも小さいと考えられるため、一定の画素数以下の領域を不要部とすることが考えられる。
【0035】
ここで、閉領域は上下左右のいずれかにより連結している白色領域のことである。例えば、図2によるとI、IIがそれぞれ閉領域となる。IとIIは斜め方向に連結されているが上下左右で連結していないため、別々の閉領域となる。また、マスク画像の必要部分の領域が削除されないようにするため、一定の画素数は必要部分の領域の画素数より小さい値である。例えば、画素数が1280×720で、人物のマスク画像である場合、人物の領域の画素数より小さい3000程度が一定の画素数となる。
【0036】
マスク画像中の影等の不要部は被写体領域と連結していることが少なくないので、多くの撮影視点におけるマスク画像では不要部は閉領域として抽出することができず除去できない。一方、視体積交差法は、各マスク画像のAND演算を基にボクセルデータを構築するので、少なくとも1つのマスク画像で不要部が除去されると、ボクセルデータ上でその不要部に相当する領域が除去される。よって、当該不要部が除去されたボクセルデータを各撮影視点に投影した映像によりAND演算をとることで、全てのマスク画像から当該不要部が除去される。
【0037】
さらに、マスク画像中では複数の不要部が重なり合っていることが少なくないので、ある不要部が除去されることで、それまで被写体領域と連結していた別の領域が切り離され、閉領域として抽出できる可能性があり、繰り返し処理を適用することで各マスク画像およびボクセルデータから不要部が徐々に除去されていく。
【0038】
ステップ10:複数枚の穴を埋めたマスク画像を抽出する。上記で得られたマスク画像にフィルタ処理を施すことによりさらに穴を埋める。このように、穴を埋め(ステップ6)、不要な部分を削除し(ステップ8、ステップ9)、穴を埋める(ステップ10)処理を施すことで、より高精度なマスク画像が抽出される。
【0039】
ステップ11:マスク画像の精度が十分であった場合、本マスク画像から視体積交差法を用いることにより、高精度なボクセルデータが構築される。マスク画像の精度が十分でなかった場合、ステップ10で得られたマスク画像をステップ3の入力とすることにより、ステップ3からステップ10を繰り返し、マスク画像とボクセルデータの精度を漸次更新していく。
【0040】
一般に、視体積交差法を用いる場合、マスク画像における影や背景の不要部分は、ボクセルデータの生成にあまり影響を与えないが、人物マスク内の穴・欠損は、ボクセルデータの生成に大きな影響を与えるため、人物マスク内の穴・欠損を埋める必要がある。
【0041】
また、ボクセルデータのスライス画像において人物が存在している画素(すなわち黒色でなく白色の画素)は、各マスク画像の該当画素においても必ず白色となるが、対象物体が存在していない画素(黒色の画素)は、各マスク画像において必ずしも黒色とは限らない。
【0042】
よって、スライス画像における白色の画素が重要であり、スライス画像の精度の向上は、徐々に欠損・穴を埋めていくことになる。上記のステップ3からステップ10を繰り返すことで、スライス画像の精度が向上し、ボクセルモデルの欠損が徐々に埋まっていく。
【0043】
次に、マスク画像の精度が向上していくことを実際の画像により示す。図3は、カメラ画像から得られたマスク画像の一例である。図3は、ステップ2で単純な背景差分により生成されたマスク画像であり、見て分かる通り、精度は高くない。
【0044】
図4は、図3のマスク画像から構築されたボクセルデータの一例を示す。ボクセルデータは3次元であるため、水平方向(x軸方向)から見た画像(a)と、鉛直方向(y軸方向)から見た画像(b)と、水平方向(z軸方向)から見た画像(c)を示す。なお、図4bは、図4a、図4cに比べて50%縮小されている。本ボクセルデータは、精度が高くない図3のマスク画像から構築されたため、精度が高くない。本来白色であるはずのところが黒色で埋まっていなかったり、本来黒色のところが白色であったりする。
【0045】
図5は、図3のマスク画像の穴を埋めたマスク画像を示す。図5はステップ5及びステップ6の処理が施されたマスク画像であり、図5と図3を比較すると人物の部分において穴が埋まっている。つまり、黒色のところが白色になっていることが分かる。
【0046】
図6は、図5のマスク画像から不要部を除去したマスク画像を示す。図6はステップ8の処理が施されたマスク画像であり、図6と図5を比較すると不要な部分が除去されていることが分かる。なお、図6のマスク画像は、ボクセルデータを各撮影視点に投影したステップ7のマスク画像にフィルタ処理を施して得られたマスク画像と図5のマスク画像の両方とも白い部分を抽出している(ステップ8の処理)ため、背景部分が除去されている。
【0047】
図7は、図6のマスク画像からさらに不要部を除去したマスク画像を示す。図7はステップ9の処理が施されたマスク画像であり、図7と図6を比較すると、背景部分にある不要部分である白い閉領域が除去されていることが分かる。
【0048】
図8は、図7のマスク画像にフィルタ処理を施したマスク画像を示す。図8はステップ10の処理が施されたマスク画像であり、図8と図7を比較するとフィルタ処理により、さらに穴埋めがなされていることが分かる。
【0049】
なお、図3、図5、図6、図7及び図8のマスク画像は、複数枚のマスク画像の1枚であり、実際にはカメラ台数分のマスク画像の処理が行われることになる。
【0050】
図3のマスク画像と図8のマスク画像を比較すると、本発明のステップ3からステップ10を1回実行することにより、マスク画像の精度が大幅に向上することが分かる。
【0051】
本発明のステップ3からステップ10は、複数回実行して、さらにマスク画像の精度を高めることができる。図9は、本発明のステップ3からステップ10を2回実行することにより抽出されたマスク画像を示し、図10は、本発明のステップ3からステップ10を3回実行することにより抽出されたマスク画像を示す。図8、図9、図10のマスク画像を比較すると、マスク画像の精度が漸次向上していくことが見て取れる。例えば、矢印1で指摘される箇所は、本来白色であるはずの人物内の箇所である。図8と図9を比較すると、図9では穴が完全にふさがっていることが分かる。また、矢印1の先にある黒色領域も図8、図9、図10と処理を繰り返すにつれて小さくなっていくことが分かる。なお、図10を見ると、精度の高いマスク画像が得られており、本発明のステップ3からステップ10を3回も適用すれば十分な精度のマスク画像が得られることがわかる。
【0052】
このように本発明の方法によれば、非特許文献2に記載の方法に比べて、短い繰り返し回数で精度の高いマスク画像を得ることができる(本発明では3回、非特許文献2では9回の繰り返しが必要)。このため、マスク画像を生成するための時間が短くなり、性能の低いコンピュータ上でも実行できることになる。さらに、繰り返し回数が少ないことより、ステップ5および10でのフィルタの適用回数が少ないことになり、フィルタによりマスク画像のエッジ部分が鈍るという問題も少なくなる。
【0053】
次に、上記の図8、図9、および図10のマスク画像から構築されたボクセルデータを示す。それぞれ、図11は、図8のマスク画像から構築されたボクセルデータを示し、図12は、図9のマスク画像から構築されたボクセルデータを示し、図13は、図10のマスク画像から構築されたボクセルデータを示す。各図は、x軸方向から見た画像(a)、y軸方向から見た画像(b)、z軸方向から見た画像(c)を示し、画像(a)、(c)に比べ、画像(b)は50%縮小されている。それぞれ、マスク画像の精度向上と共にボクセルデータの精度の向上していることが分かる。例えば、x軸方向の左から2番目の人物において、図11、図12、図13と進むにつれて、次第に穴が小さくかつ、少なくなっていくことが分かる。また、x軸方向の右から2番目の人物の足下の(背景であり黒色であるべき)白色の部分が、図11では存在するが、図12、図13で完全になくなっていることが分かる。このように精度の向上したマスク画像から精度の向上したボクセルデータが構築されることが分かる。
【0054】
本発明のステップ9の処理の有効性を、上記とは別の実際の画像により示す。図14は本発明のステップ8の処理が施された第1の視点のマスク画像を示し、図15は本発明のステップ9の処理が施された第1の視点のマスク画像を示す。図14と図15を比較すると矢印2および3で指摘される箇所は不要部であり、矢印2で指摘される箇所は閉領域であるため、ステップ9の処理で除去されることが分かる。
【0055】
図16は、本発明のステップ8の処理が施された第2の視点のマスク画像を示す。図17は、2回目の繰り返しにおける本発明のステップ8の処理が施された第2の視点のマスク画像を示し、図18は、2回目の繰り返しにおける本発明のステップ9の処理が施された第2の視点マスク画像を示す。図16は、図14と同じ状態であり、矢印2および3で指摘される不要部が存在する(図14、図16では視点が異なるため不要部の形は異なっている)。本図においては、不要部はどちらも閉領域ではないため、ステップ9の処理により除去されることはない。しかしながら、上記で示したように第1の視点のマスク画像において、矢印2で指摘される箇所は除去され、繰り返し処理を適用することで、この除去が第2の視点のマスク画像にも反映される。このため、図17には図16の矢印2で指摘される部分は存在しなくなる。第2の視点のマスク画像の場合、矢印2で指摘される部分が除去されると矢印3で指摘される部分が閉領域となる。このため、次のステップ9の処理により、図18のように矢印3で指摘された部分が除去される。
【0056】
図19は、3回目の繰り返しにおける本発明のステップ8の処理が施された第1の視点のマスク画像を示す。上記のように第2の視点のマスク画像において矢印3で指摘された不要部が除去され、その結果が第1の視点のマスク画像にも反映され、図19には図15で存在した不要部が除去されている。
【0057】
以上のように本発明のステップ9の処理により、ある視点のマスク画像の不要部が除去されると、繰り返し処理を適用することで他の視点のマスク画像の不要部も除去される。また、不要部が除去されることで、それまで被写体領域と連結していた不要部が、被写体領域から切り離され、閉領域として抽出でき、除去できるようになる。このように、本発明のステップ9の処理を繰り返し適用することで各マスク画像およびボクセルデータから不要部が徐々に除去されていく。
【0058】
次に、上記の図14から図19のマスク画像から構築されたボクセルデータを示す。それぞれ、図20は、図15、図16のマスク画像から構築されたボクセルデータを示し、図21は、図17、図18のマスク画像から構築されたボクセルデータを示し、図22は、図19のマスク画像から構築されたボクセルデータを示す。各図は、x軸方向から見た画像(a)、y軸方向から見た画像(b)、z軸方向から見た画像(c)を示し、画像(a)、(c)に比べて画像(b)は50%縮小されている。それぞれ、マスク画像の精度向上と共にボクセルデータの精度の向上していることが分かる。例えば、y軸方向の矢印2で指摘される部分は、図20bでは存在するが、図21bでは除去されていることが分かる。また、y軸方向の矢印3で指摘される部分は、図20bおよび図21bでは存在するが、図22bでは除去されていることが分かる。また、x軸方向の右から2番目の人物の足下の(背景であり黒色であるべき)白色の部分が、図20a、図21aでは存在するが、図22aで完全になくなっていることが分かる。このように精度の向上したマスク画像から精度の向上したボクセルデータが構築されることが分かる。
【0059】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。従って本発明の範囲は特許請求の範囲及びその均等範囲によってのみ規定されるものである。
【特許請求の範囲】
【請求項1】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出する方法であって、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップと、
を含むことを特徴とする複数のマスク画像を抽出する方法。
【請求項2】
前記第2の抽出ステップは、前記第2の3次元ボクセルデータにおいて、欠損が充填された3次元座標を各撮影視点に投影し、前記複数の第1のマスク画像における対応画素を白色にして複数の第1のサブマスク画像を抽出し、前記第2の3次元ボクセルデータを各撮影視点に投影し、複数の第2のサブマスク画像を抽出し、該複数の第2のサブマスク画像にフィルタ処理を施し、フィルタ処理された複数の第2のサブマスク画像と前記複数の第1のサブマスク画像の両画像共に白色である画素を白色とし、それ以外の画素を黒色とすることで、複数の第3のサブマスク画像を抽出し、該複数の第3のサブマスク画像を閉領域に分割し、所定の条件を満たす閉領域を除去することで、複数の第2のマスク画像を抽出するステップであることを特徴とする請求項1に記載の複数のマスク画像を抽出する方法。
【請求項3】
前記所定の条件は、閉領域が所定の画素数以下であることを特徴とする請求項2に記載の複数のマスク画像を抽出する方法。
【請求項4】
前記複数の第2のマスク画像を、前記第1の構築ステップにおける複数の第1のマスク画像とすることで、前記第1の構築ステップから前記第2の抽出ステップまでを所定の回数繰り返すことを特徴とする請求項1から3のいずれか1項に記載の複数のマスク画像を抽出する方法。
【請求項5】
前記第2の構築ステップは、
前記第1の3次元ボクセルデータの複数の第1のスライス画像を、x軸、y軸及びz軸方向から獲得するサブステップと、
前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理の結果に基づき第2の3次元ボクセルデータを構築するサブステップと、
を含むことを特徴とする請求項1から4のいずれか1項に記載の複数のマスク画像を抽出する方法。
【請求項6】
前記第2の3次元ボクセルデータを構築するサブステップは、
前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理により白色になった画素を求め、該画素に対応する前記第1の3次元ボクセルデータの3次元座標を埋めることで、第2の3次元ボクセルデータを構築するステップであることを特徴とする請求項5に記載の複数のマスク画像を抽出する方法。
【請求項7】
前記第2の抽出ステップ後に、前記複数の第2のマスク画像にフィルタ処理を施すステップをさらに含むことを特徴とする請求項1から6のいずれか1項に記載の複数のマスク画像を抽出する方法。
【請求項8】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出するためのコンピュータを、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段と、
して機能させ、複数のマスク画像を抽出することを特徴とするプログラム。
【請求項9】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築する方法であって、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップと、
前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築ステップと、
を含むことを特徴とする3次元ボクセルデータを構築する方法。
【請求項10】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築するためのコンピュータを、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段と、
前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築手段と、
して機能させ、3次元ボクセルデータを構築することを特徴とするプログラム。
【請求項1】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出する方法であって、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップと、
を含むことを特徴とする複数のマスク画像を抽出する方法。
【請求項2】
前記第2の抽出ステップは、前記第2の3次元ボクセルデータにおいて、欠損が充填された3次元座標を各撮影視点に投影し、前記複数の第1のマスク画像における対応画素を白色にして複数の第1のサブマスク画像を抽出し、前記第2の3次元ボクセルデータを各撮影視点に投影し、複数の第2のサブマスク画像を抽出し、該複数の第2のサブマスク画像にフィルタ処理を施し、フィルタ処理された複数の第2のサブマスク画像と前記複数の第1のサブマスク画像の両画像共に白色である画素を白色とし、それ以外の画素を黒色とすることで、複数の第3のサブマスク画像を抽出し、該複数の第3のサブマスク画像を閉領域に分割し、所定の条件を満たす閉領域を除去することで、複数の第2のマスク画像を抽出するステップであることを特徴とする請求項1に記載の複数のマスク画像を抽出する方法。
【請求項3】
前記所定の条件は、閉領域が所定の画素数以下であることを特徴とする請求項2に記載の複数のマスク画像を抽出する方法。
【請求項4】
前記複数の第2のマスク画像を、前記第1の構築ステップにおける複数の第1のマスク画像とすることで、前記第1の構築ステップから前記第2の抽出ステップまでを所定の回数繰り返すことを特徴とする請求項1から3のいずれか1項に記載の複数のマスク画像を抽出する方法。
【請求項5】
前記第2の構築ステップは、
前記第1の3次元ボクセルデータの複数の第1のスライス画像を、x軸、y軸及びz軸方向から獲得するサブステップと、
前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理の結果に基づき第2の3次元ボクセルデータを構築するサブステップと、
を含むことを特徴とする請求項1から4のいずれか1項に記載の複数のマスク画像を抽出する方法。
【請求項6】
前記第2の3次元ボクセルデータを構築するサブステップは、
前記複数の第1のスライス画像にフィルタ処理を施し、該フィルタ処理により白色になった画素を求め、該画素に対応する前記第1の3次元ボクセルデータの3次元座標を埋めることで、第2の3次元ボクセルデータを構築するステップであることを特徴とする請求項5に記載の複数のマスク画像を抽出する方法。
【請求項7】
前記第2の抽出ステップ後に、前記複数の第2のマスク画像にフィルタ処理を施すステップをさらに含むことを特徴とする請求項1から6のいずれか1項に記載の複数のマスク画像を抽出する方法。
【請求項8】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体の存在を表す複数のマスク画像を抽出するためのコンピュータを、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段と、
して機能させ、複数のマスク画像を抽出することを特徴とするプログラム。
【請求項9】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築する方法であって、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出ステップと、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築ステップと、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築ステップと、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出ステップと、
前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築ステップと、
を含むことを特徴とする3次元ボクセルデータを構築する方法。
【請求項10】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、3次元ボクセルデータを構築するためのコンピュータを、
前記複数の被写体画像と前記複数の背景画像とから背景差分により、複数の第1のマスク画像を抽出する第1の抽出手段と、
前記複数の第1のマスク画像から視体積交差法により、第1の3次元ボクセルデータを構築する第1の構築手段と、
前記第1の3次元ボクセルデータに対して、欠損を充填する及び/又はノイズを除去する加工を施し、第2の3次元ボクセルデータを構築する第2の構築手段と、
前記第2の3次元ボクセルデータを基に、前記複数の第1のマスク画像の欠損を充填する及び/又はノイズを除去する、閉領域分割に基づいた加工を施し、複数の第2のマスク画像を抽出する第2の抽出手段と、
前記複数の第2のマスク画像から視体積交差法により、第3の3次元ボクセルデータを構築する第3の構築手段と、
して機能させ、3次元ボクセルデータを構築することを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2011−43879(P2011−43879A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2009−189877(P2009−189877)
【出願日】平成21年8月19日(2009.8.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願日】平成21年8月19日(2009.8.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]