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