(57)【特許請求の範囲】
【請求項１】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体３次元モデルを構築する方法であって、
前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、ボクセル空間中の各ボクセルの背景尤度を表す連続値を算出する算出ステップと、
各ボクセル間の隣接関係を考慮した第１のエネルギー関数を定義するステップと、
前記第１のエネルギー関数を最小化するように、各ボクセルに被写体領域または背景領域のいずれかに割り当てることで、被写体領域を決定し、ボクセルデータを構築する構築ステップとを有し、
前記算出ステップは、
前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、前記複数の被写体画像の画素の背景尤度を表す連続値を画素毎に算出するサブステップと、
ボクセル空間中の各ボクセルを前記被写体画像の各撮影視点に投影し、撮影視点毎の画素を算出するサブステップと、
前記撮影視点毎の画素での連続値の平均をもとに各ボクセルの背景尤度を表す連続値を算出するサブステップとを有することを特徴とする被写体３次元モデルを構築する方法。
【請求項２】
前記連続値の平均は、上位および下位の所定の数の連続値を除外して行われることを特徴とする請求項１に記載の被写体３次元モデルを構築する方法。
【請求項３】
前記構築ステップで構築されたボクセルデータを閉領域に分割し、所定の条件を満たす閉領域を除去する除去ステップをさらに含むことを特徴とする請求項１または２に記載の被写体３次元モデルを構築する方法。
【請求項４】
前記構築ステップ後のまたは前記除去ステップ後のボクセルデータの被写体領域を、各視点に投影しシルエット画像を抽出するステップと、
前記シルエット画像の各画素間の隣接関係を考慮した第２のエネルギー関数を定義するステップと、
前記第２のエネルギー関数を最小化するように、各画素に被写体領域または背景領域のいずれかに割り当てることで、被写体領域を決定し、前記シルエット画像を修復する修復ステップをさらに含むことを特徴とする請求項１から３のいずれか１項に記載の被写体３次元モデルを構築する方法。
【請求項５】
前記第１および第２のエネルギー関数の最小化は、グラフカットアルゴリズムに基づいて行われることを特徴とする請求項４に記載の被写体３次元モデルを構築する方法。
【請求項６】
前記第１のエネルギー関数は、各ボクセル単体の連続値にのみ依存する項と、隣接ボクセル間の連続値に依存する項を有し、
前記第２のエネルギー関数は、各画素単体の連続値にのみ依存する項と、隣接画素間の連続値に依存する項を有することを特徴とする請求項４または５に記載の被写体３次元モデルを構築する方法。
【請求項７】
被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体３次元モデルを構築するためのコンピュータを、
前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、ボクセル空間中の各ボクセルの背景尤度を表す連続値を算出する算出手段と、
各ボクセル間の隣接関係を考慮した第１のエネルギー関数を定義する手段と、
前記第１のエネルギー関数を最小化するように、各ボクセルに被写体領域または背景領域のいずれかに割り当てることで、被写体領域を決定し、ボクセルデータを構築する構築手段として機能させ、
前記算出手段は、
前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、前記複数の被写体画像の画素の背景尤度を表す連続値を画素毎に算出する手段と、
ボクセル空間中の各ボクセルを前記被写体画像の各撮影視点に投影し、撮影視点毎の画素を算出する手段と、
前記撮影視点毎の画素での連続値の平均をもとに各ボクセルの背景尤度を表す連続値を算出する手段として機能させる被写体３次元モデルを構築することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を撮影した画像と背景のみを撮影した画像から、被写体３次元モデルを構築する方法およびプログラムに関する。
【背景技術】
【０００２】
多視点映像をもとに被写体の３次元モデル（３次元ボクセルデータ）を構築する代表的な手法として視体積交差法がある（非特許文献１）。この方法には、被写体の３次元モデルの精度が、各撮影視点で抽出される２値の被写体シルエット画像の精度に大きく影響されるという問題がある。このため、高精度な３次元ボクセルデータを構築するためには、まず高精度な被写体シルエット画像を抽出しなければならず、ブルーバックなどの特別な環境が必要であった。
【０００３】
この問題を解決するため、非特許文献２では、単一視点の画像情報のみを用いて、被写体領域を決定することには限界があるため、各視点では被写体領域の決定を行うのではなく、背景らしさに基づく確率尤度を算出するにとどめ、最終的な２値化は多視点の画像情報を統合した尤度付きボクセル空間中で決定する手法が提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】豊浦正広、飯山将晃、舩冨卓哉、角所考、美濃導彦、「欠損および過抽出を含む時系列シルエットからの三次元形状獲得」、電子情報通信学会技術研究報告，ＰＲＭＵ２００７−１６８，Ｖｏｌ．１０７，Ｎｏ．４２７，ｐｐ．６９−７４，２００８−１
【非特許文献２】三功浩嗣、石川彰夫、内藤整、酒澤茂之、「確率的尤度を考慮した３次元モデルフィードバック型背景分離方式の一検討」、映像情報メディア学会  冬季大会  ２００９年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献２に記載の提案方式では、ボクセル単体の尤度に対して閾値をもとに２値化を決定しているため、十分な精度が得られない場合があった。
【０００６】
従って、高精度な被写体シルエット画像を必要とせず、さらに、各視点においては２値のシルエット抽出を行わずに、多視点映像をもとに高精度な被写体の３次元モデルを構築する方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を実現するため本発明による被写体３次元モデルを構築する方法は、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体３次元モデルを構築する方法であって、前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、ボクセル空間中の各ボクセルの背景尤度を表す連続値を算出する算出ステップと、各ボクセル間の隣接関係を考慮した第１のエネルギー関数を定義するステップと、前記第１のエネルギー関数を最小化するように、各ボクセルに被写体領域または背景領域のいずれかに割り当てることで、被写体領域を決定し、ボクセルデータを構築する構築ステップとを有し、前記算出ステップは、前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、前記複数の被写体画像の画素の背景尤度を表す連続値を画素毎に算出するサブステップと、ボクセル空間中の各ボクセルを前記被写体画像の各撮影視点に投影し、撮影視点毎の画素を算出するサブステップと、前記撮影視点毎の画素での連続値の平均をもとに各ボクセルの背景尤度を表す連続値を算出するサブステップとを有する。
【０００８】
また、前記連続値の平均は、上位および下位の所定の数の連続値を除外して行われることも好ましい。
【０００９】
また、前記構築ステップで構築されたボクセルデータを閉領域に分割し、所定の条件を満たす閉領域を除去する除去ステップをさらに含むことも好ましい。
【００１０】
また、前記構築ステップ後のまたは前記除去ステップ後のボクセルデータの被写体領域を、各視点に投影しシルエット画像を抽出するステップと、前記シルエット画像の各画素間の隣接関係を考慮した第２のエネルギー関数を定義するステップと、前記第２のエネルギー関数を最小化するように、各画素に被写体領域または背景領域のいずれかに割り当てることで、被写体領域を決定し、前記シルエット画像を修復する修復ステップをさらに含むことも好ましい。
【００１１】
また、前記第１および第２のエネルギー関数の最小化は、グラフカットアルゴリズムに基づいて行われることも好ましい。
【００１２】
また、前記第１のエネルギー関数は、各ボクセル単体の連続値にのみ依存する項と、隣接ボクセル間の連続値に依存する項を有し、前記第２のエネルギー関数は、各画素単体の連続値にのみ依存する項と、隣接画素間の連続値に依存する項を有することも好ましい。
【００１３】
上記目的を実現するため本発明による被写体領域を構築するプログラムは、被写体と背景を撮影した複数の被写体画像と背景のみを撮影した複数の背景画像とから、被写体３次元モデルを構築するためのコンピュータを、前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、ボクセル空間中の各ボクセルの背景尤度を表す連続値を算出する算出手段と、各ボクセル間の隣接関係を考慮した第１のエネルギー関数を定義する手段と、前記第１のエネルギー関数を最小化するように、各ボクセルに被写体領域または背景領域のいずれかに割り当てることで、被写体領域を決定し、ボクセルデータを構築する構築手段として機能させ、前記算出手段は、前記複数の背景画像の画素値と前記複数の被写体画像の画素値とから、前記複数の被写体画像の画素の背景尤度を表す連続値を画素毎に算出する手段と、ボクセル空間中の各ボクセルを前記被写体画像の各撮影視点に投影し、撮影視点毎の画素を算出する手段と、前記撮影視点毎の画素での連続値の平均をもとに各ボクセルの背景尤度を表す連続値を算出する手段として機能させる被写体３次元モデルを構築する。
【発明の効果】
【００１４】
本発明の、ボクセル空間の隣接関係を考慮したエネルギー関数を定義し、被写体領域を最小化の枠組みにより決定するという方法によれば、従来の各ボクセルを背景尤度に基づく連続値で表現するという方法に比べ、より高精度な被写体３次元形状モデルを構築することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明による被写体３次元モデルを構築する方法を示すフローチャートである。
【図２】複数枚撮影された被写体画像の例を示す。
【図３】尤度付きボクセル空間を２値化した例を示す。
【図４】２値化されたボクセル空間をある視点に投影したシルエット画像の例を示す。
【図５】図２ａのボクセルデータを修復した例を示す。
【図６】図５のボクセルデータをある視点に投影したシルエット画像の例を示す。
【図７】図２ｂのボクセルデータを修復した例を示す。
【図８】図７のボクセルデータをある視点に投影したシルエット画像の例を示す。
【発明を実施するための形態】
【００１６】
本発明は、各視点においては２値のシルエット抽出を行わず、背景らしさに基づく確率尤度を算出する。さらに、被写体領域の決定は、多視点の画像情報を統合した空間である３次元ボクセル空間において、ボクセル空間の隣接関係を考慮したエネルギー関数を定義し、最小化の枠組みにより決定する。さらに、確率尤度に基づく修復処理を適用することで、最終的に高精度な３次元形状モデルを復元する方式を提案する。
【００１７】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。図１は、本発明による被写体３次元モデルを構築する方法を示すフローチャートである。以下、本フローチャートに基づいて説明する。
【００１８】
ステップ１：１フレーム分の複数枚の被写体画像と、Ｋフレーム分の背景画像を取得する。キャリブレーション済みのカメラを複数台円周上に配置して、該複数台のカメラで被写体と背景を含む被写体画像と背景のみを含む背景画像とを撮影し、Ｎ視点の異なった方向から撮影した被写体画像と背景画像を取得する。例えば、カメラが３０台配置され、各視点で６０フレーム分の背景画像を用いる場合、被写体画像画像は３０枚、背景画像は１８００（６０×３０）枚取得される。
【００１９】
ステップ２：各視点の画素毎に背景尤度関数を定義する。各視点ｎ（ｎ＝１，…，Ｎ）のｍ（ｍ＝１，…，Ｍ）番目の画素値を特定の色空間における多次元ベクトルｘｎｍとして表現する。
【数１】
0005495321.tif 000002
ここで、ｎ（１〜Ｎ）は被写体画像と背景画像の撮影視点を表し、ｍ（１〜Ｍ）は、被写体画像と背景画像の画素を表す。なお、色空間は例えば、ＲＧＢ空間が挙げられる。
【００２０】
背景画像の各画素値が複数フレーム間で多変量正規分布（ガウス分布）に基づくと仮定して、背景尤度関数ｆ（ｘｎｍ；ｕｎｍ，Ｓｎｍ）を
【数２】
0005495321.tif 000003
のように表現する。
【００２１】
ここで、ｕｎｍは画素値の平均ベクトルであり、
【数３】
0005495321.tif 000004
より算出される。なお、Ｔは、ベクトルの転置を表している。また、Ｓｎｍは画素値の共分散行列であり、
【数４】
0005495321.tif 000005
より算出される。なお、行列の１行２列の成分は、
【数５】
0005495321.tif 000006
のように表される。他の成分についても同様に表される。また、｜Ｓｎｍ｜は行列Ｓｎｍの行列式を表し、Ｓｎｍ−１は、行列Ｓｎｍの逆行列を表している。
【００２２】
ステップ３：各視点での尤度付シルエット画像を抽出する。各視点の被写体画像の画素毎に、上記背景尤度関数から背景尤度（背景らしさ）を算出することで、尤度付シルエット画像を抽出する。
【００２３】
ステップ４：尤度付ボクセル空間を構築する。ボクセル空間中の各ボクセルｖｉ（３次元空間の点）を各撮影視点ｎ（ｎ＝１，…，Ｎ）に投影する。これにより、ボクセルｖｉに対応する投影先の画素ｘ（ｖｉ（ｎ））の背景尤度ｆ（ｘ（ｖｉ（ｎ）））が算出される。これらをたし合わせた平均値をボクセルの背景尤度ρｖｉとして算出することで尤度付ボクセル空間を構築する。
【数６】
0005495321.tif 000007
ここで全視点で平均値を算出すると、特定視点における背景尤度値が外れ値となる場合、他の視点に比べて当該視点の影響を大きく受ける問題が考えられる。そこで、背景尤度の観点で、上位、下位それぞれｃ個の視点を除外し、平均を算出している。
【００２４】
ステップ５：尤度付きボクセル空間の２値化を行う。ボクセル空間の隣接関係を考慮したエネルギー関数を定義して、該エネルギー値が最小になるように、ボクセル空間中の各ボクセルｖｉに、０または１を割り当てることにより、ボクセル空間の２値化を行う。エネルギー値の最小化は、例えば、グラフカット（Graph-cut）のアルゴリズムを用いる。
【００２５】
エネルギー関数は、
【数７】
0005495321.tif 000008
で定義される。ここでｖ＝（ｖ１，…，ｖｉ，…）はボクセル空間中の各ボクセルを表し、ａｖは、ボクセル空間中の各ボクセルを背景領域または被写体領域のいずれかに割り当てるかをそれぞれ０または１で表している。
【００２６】
Ｕ（ｖ；ａｖ）は、各ボクセル単体の尤度値のみに依存するデータ項であり、ａｖで指定される領域に割り当てる場合のエネルギー値は、以下の式で与えられる。
【数８】
0005495321.tif 000009
ここで、Σはボクセル空間の全座標について総和を取り、ｔｈｖは、一定の閾値である。また、ｂｖは対数の底であり、対数は例えば常用対数、自然対数等を用いることができる。閾値ｔｈｖとして、例えば８をとり、対数を常用対数とした場合、ρが１０−８の場合、ボクセルに背景領域を割り当てる（ａ＝０）とＵ＝８になり、被写体領域を割り当てる（ａ＝１）と、Ｕ＝０になり、被写体領域に割り当てた方がエネルギー値は小さくなる。一方、ρが１０−３の場合、ボクセルに背景領域を割り当てる（ａ＝０）とＵ＝３になり、被写体領域を割り当てる（ａ＝１）と、Ｕ＝５になり、背景領域に割り当てた方がエネルギー値は小さくなる。このように、ρが小さい値の時、被写体領域に割り当てた方がエネルギー値が小さくなる。
【００２７】
一方、Ｖ（ｖ；ａｖ）は、隣接ボクセル間の尤度値に依存するデータ項であり、ａｖで指定される領域に割り当てる場合のエネルギー値は、以下の式で与えられる。
【数９】
0005495321.tif 000010
ここで、ｄｉｓ（ｉ，ｊ）はボクセル間のユークリッド距離を表し、λｖとκｖはそれぞれ正の定数である。定数κｖは隣接ボクセル間の全組み合わせＮｖに関する距離の期待値を取ることにより以下のように算出される。
【数１０】
0005495321.tif 000011
【００２８】
ステップ６：ボクセルデータを修復し、各視点に投影する。３次元ボクセル空間を閉領域に分割し、一定のボクセル数以下の領域を不要部として除去する。一般に、人物等の被写体領域のボクセル数は、不要部領域のそれと比べてかなり大きいので、閾値は比較的簡単に設定可能である。また、被写体数Ｒを既知の情報として用いることができる場合、ボクセル数の観点で上位Ｒ個の閉領域のみを残し、他の領域は不要部として除去する方法も考えられる。このように、不要部を除去することにより、ボクセルデータを修復し、ボクセルを各視点に投影する。
【００２９】
ステップ７：各視点のシルエット画像を修復する。各視点で画素間の隣接関係を考慮したエネルギー関数を定義して、該エネルギー値が最小になるように、画素値に０または１を割り当てる。これにより、被写体輪郭近傍の不要部を除去する。エネルギー値の最小化は、例えば、Graph-cutのアルゴリズムを用いる。
【００３０】
エネルギー関数は、各画素ｐｉの画素値ｘｉおよび尤度値ｆ（ｘｉ）と、隣接画素ｐｊ（ｊ∈Ｎｐ）の画素値ｘｊおよび尤度値ｆ（ｘｊ）をもとに、
【数１１】
0005495321.tif 000012
で定義される。ここでａｐは、シルエット画像間中の各画素を背景領域または被写体領域のいずれかに割り当てるかをそれぞれ０または１で表している。
【００３１】
Ｕ（ｖ；ａｐ）は、各画素単体の尤度値のみに依存するデータ項であり、ａｐで指定される領域に割り当てる場合のエネルギー値は、以下の式で与えられる。
【数１２】
0005495321.tif 000013
ここで、Σはシルエット画像の全座標について総和を取る。また、ｂｐは対数の底であり、対数は例えば常用対数、自然対数等を用いることができる。
【００３２】
一方、Ｖ（ｖ；ａｐ）は、隣接画素間の尤度値に依存するデータ項であり、ａｐで指定される領域に割り当てる場合のエネルギー値は、以下の式で与えられる。
【数１３】
0005495321.tif 000014
ここで、ｄｉｓ（ｉ，ｊ）は画素間のユークリッド距離を表し、λｐとκｐはそれぞれ正の定数である。定数κｐは隣接画素の全組み合わせＮｐに関する距離の期待値を取ることにより以下のように算出される。
【数１４】
0005495321.tif 000015
【００３３】
ステップ８：シルエット画像からボクセルデータを再構築する。修復されたシルエット画像に視体積交差法を用いることにより、ボクセルデータを構築する。
【００３４】
このように、本発明では、背景らしさを連続値で表して、被写体領域を決定する。従来の方法では、閾値を用意しておいて、背景領域と被写体領域を決定していたが、本発明ではボクセル空間の隣接関係を考慮したエネルギー関数を定義し、被写体領域を最小化の枠組みにより決定することより、さらに高精度なボクセルデータが構築可能になった。
【００３５】
さらに、構築されたボクセルデータを閉領域に分割することにより修復して、さらに精度を向上させることができる。また、ボクセルデータを各視点に投影し、シルエット画像を作成し、このシルエット画像に対して、画素間の隣接関係を考慮したエネルギー関数を定義し、被写体領域を最小化の枠組みにより決定することにより、不要部を除去することも可能になる。
【００３６】
次に、本発明の処理結果を実際の画像により示す。図２は、複数枚撮影された被写体画像の例を示す。図２ａは複数の人物の被写体画像の例であり、図２ｂは２人の人物の被写体画像の例である。これらはステップ１の入力となる。
【００３７】
図３は、尤度付きボクセル空間を２値化した例を示す。これらはステップ５の処理により構築されたボクセルデータの例である。なお、ボクセルデータは、３次元であるためそれぞれある方向から見たボクセルデータを示している。図３ａは、複数の人物のボクセルデータを示し、図３ｂは、２人の人物のボクセルデータを示す。図３ａ、図３ｂともに、ボクセルの足下に不要な領域が存在していることがわかる。
【００３８】
図４は、２値化されたボクセル空間をある視点に投影したシルエット画像の例を示す。図４ａは図３ａを投影したシルエット画像であり、図４ｂは図３ｂを投影したシルエット画像である。両方のシルエット画像とも、ボクセルデータに存在した足下の不要部分はそのまま残っており、シルエット画像の精度はまだ高くない。
【００３９】
図５は、図３ａのボクセルデータを修復した例を示す。ステップ６のボクセルデータを修復により、図３ａの人物の足下の不要部分は閉領域として分離され、除去されていることがわかる。図６は、図５のボクセルデータをある視点に投影したシルエット画像の例を示す。図２ａの被写体画像と比較すると人物のみが抽出され、シルエット画像の精度が向上したことがわかる。
【００４０】
図７は、図３ｂのボクセルデータを修復した例を示す。図３ｂの人物の足下の不要部分は、閉領域として分離できないため、ステップ６のボクセルデータを修復では、不要部分を除去することはできない。ステップ７およびステップ８の被写体輪郭近傍の不要部除去処理によって、図３ｂの人物のボクセルの足下の不要な領域が除去されることがわかる。図８は、図７のボクセルデータをある視点に投影したシルエット画像の例を示す。図３ｂの被写体画像と比較すると人物のみが抽出されていることがわかり、さらに図４のシルエット画像と比較すると、精度が向上したことがわかる。
【００４１】
以上のように、本発明では、従来の各ボクセルを背景尤度に基づく連続値で表現するという方法に比べ、より高精度な被写体３次元形状モデルを構築することができる。
【００４２】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様および変更態様で実施することができる。従って本発明の範囲は特許請求の範囲およびその均等範囲によってのみ規定されるものである。
【図１】
0005495321.tif 000016
【図２】
0005495321.tif 000017
【図３】
0005495321.tif 000018
【図４】
0005495321.tif 000019
【図５】
0005495321.tif 000020
【図６】
0005495321.tif 000021
【図７】
0005495321.tif 000022
【図８】
0005495321.tif 000023