(57)【要約】      （修正有）【課題】演算量やメモリ量を低減すると共に、移動又は変形する物体にも適用可能な３次元の形状推定装置及びそのプログラムを提供する。【解決手段】パーティクルフィルタ法により対象物体の３次元形状を推定する形状推定装置１０は、入力画像Ｉ１〜ＩＮから対象物体のシルエットＳ１〜ＳＮを抽出するシルエット抽出手段２１〜２Ｎと、探索領域Ｄに２以上である所定数のパーティクルを生成するパーティクル生成手段２１、シルエットＳ１〜ＳＮに基づいてパーティクルの重み係数を変更する加重演算手段とパーティクルの重み係数に基づいてパーティクルを再サンプリングする再サンプリング手段及び再サンプリングされたパーティクルの状態ベクトルを遷移させる状態遷移手段を備えたパーティクルフィルタ手段３と、所定数のパーティクルからメタボール表現の３次元モデルを生成するメタボール生成手段４とを備えて構成される。【選択図】図１
2008059224.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトが撮影された画像中の映像オブジェクトに基づき、３次元座標を含む状態ベクトルと重み係数とを有した情報であるパーティクルを用いたパーティクルフィルタによって、前記オブジェクトの３次元形状を推定する形状推定装置であって、
前記画像に含まれる前記映像オブジェクトの領域をシルエットとして抽出するシルエット抽出手段と、
２以上である所定数の前記パーティクルに対してパーティクルフィルタによる処理を行うパーティクルフィルタ手段と、
前記パーティクルフィルタ手段によって処理された前記所定数のパーティクルに基づいてメタボール表現による３次元形状モデルを生成するメタボール生成手段と、を備え、
前記パーティクルフィルタ手段は、前記オブジェクトを探索する予め定められた探索領域内を示す３次元座標を有する、前記所定数のパーティクルを生成するパーティクル生成手段と、
前記シルエット抽出手段によって抽出されたシルエットに基づいて、前記パーティクルの重み係数を変更する重み係数変更手段と、
前記重み係数変更手段によって重み係数を変更されたパーティクルを３次元座標について再サンプリングして前記所定数のパーティクルを再生成すると共に、前記再生成した前記所定数のパーティクルの重み係数を均一にする再サンプリング手段と、
前記再サンプリング手段によって再サンプリングされたパーティクルの状態ベクトルを遷移させる状態遷移手段と、を有し、
前記重み係数変更手段と前記再サンプリング手段と前記状態遷移手段とによる前記パーティクルに対する処理を繰り返すことを特徴とする形状推定装置。
【請求項２】
前記メタボール生成手段は、前記重み係数変更手段によって重み係数が変更された前記所定数のパーティクルに基づいて、メタボール表現による３次元形状モデルを生成することを特徴とする請求項１に記載の形状推定装置。
【請求項３】
前記メタボール生成手段は、前記再サンプリング手段によって再サンプリングされた前記所定数のパーティクルに基づいて、メタボール表現による３次元形状モデルを生成することを特徴とする請求項１に記載の形状推定装置。
【請求項４】
前記メタボール生成手段によって生成された前記メタボール表現による３次元形状モデルに対して、収縮又は膨張を行う３次元多値モルフォロジ処理によって３次元形状モデルを修正するモルフォロジ処理手段をさらに備えることを特徴とする請求項１乃至請求項３の何れか一項に記載の形状推定装置。
【請求項５】
さらに１以上のシルエット抽出手段と、当該シルエット抽出手段に対応する重み係数変更手段とを備え、前記複数の重み係数変更手段は、それぞれ対応するシルエット抽出手段によって抽出されるシルエットに基づいて、前記パーティクルの重み係数を順次変更することを特徴とする請求項１乃至請求項４の何れか一項に記載の形状推定装置。
【請求項６】
オブジェクトが撮影された画像中の映像オブジェクトに基づき、３次元座標を含む状態ベクトルと重み係数とを有した情報であるパーティクルを用いたパーティクルフィルタによって、前記オブジェクトの３次元形状を推定するために、
コンピュータを、
前記画像に含まれる前記映像オブジェクトの領域をシルエットとして抽出するシルエット抽出手段、
２以上である所定数の前記パーティクルに対してパーティクルフィルタによる処理を行うパーティクルフィルタ手段、
前記パーティクルフィルタ手段によって処理された前記所定数のパーティクルに基づいてメタボール表現による３次元形状モデルを生成するメタボール生成手段、
として機能させる形状推定プログラムであって、
前記パーティクルフィルタ手段は、前記オブジェクトを探索する予め定められた探索領域内を示す３次元座標を有する、前記所定数のパーティクルを生成するパーティクル生成手段、
前記シルエット抽出手段によって抽出されたシルエットに基づいて、前記パーティクルの重み係数を変更する重み係数変更手段、
前記重み係数変更手段によって重み係数を変更されたパーティクルを３次元座標について再サンプリングして前記所定数のパーティクルを再生成すると共に、前記再生成した前記所定数のパーティクルの重み係数を均一にする再サンプリング手段、
前記再サンプリング手段によって再サンプリングされたパーティクルの状態ベクトルを遷移させる状態遷移手段、を含み、
前記重み係数変更手段と前記再サンプリング手段と前記状態遷移手段とによる前記パーティクルに対する処理を繰り返すことを特徴とする形状推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトを撮影して生成された画像中の映像オブジェクトに基づいて、オブジェクトの３次元形状を推定する形状推定装置及びそのプログラムに関する。
【背景技術】
【０００２】
従来、実写画像から対象物体の３次元形状をモデリングする場合には、ステレオマッチ法、視体積交差法もしくはそれらを複合させた手法により形状推定を行っている。これらの手法では、対象物体の周囲に複数のカメラを設置したり、１台のカメラを移動させたり、あるいは対象物体を回転台などで移動させたりすることによって、カメラと対象物体との間の相対位置を変化させて撮影した画像を用いている。
【０００３】
ステレオマッチ法では、異なる視点の画像間の各局所領域に対し、例えば、画素値の相互相関を計算することにより、点対応を求める。点対応は、視差量、奥行きあるいは３次元座標に変換することが可能である。これら３次元座標の相互間を網状に接続することで、ポリゴン表現による３次元形状を得ることが可能である。
【０００４】
視体積交差法は、ボクセルカービングとも呼ばれる。３次元空間に仮想的にボクセルを配置し、対象物体の画像上における２次元領域と視点とを通る錐体の内部に属するボクセルのみを削り出す操作を、複数の視点に対し適用することで、ボクセル表現による３次元形状が得られる。
【０００５】
また、視体積交差法の一種として、３次元空間における前記した錐体の内部に対して、視点毎に投票操作を行う手法がある（特許文献１）。この手法には、得票数の多寡に応じて物体表面を抽出し、これをポリゴン表現等へ変換する手法も含まれている。
【０００６】
さらに、視体積交差法に基づき対象物体の概形を得た後、ステレオマッチにより詳細形状を得る手法がある（特許文献２）。この手法では、ステレオマッチのための探索領域の削減、ステレオマッチにおける誤対応の影響の軽減、そして視体積交差法では推定不能な凹形状への対応が可能となっている。
【０００７】
また、生物や機械などのモデリングには、関節や筋肉などの配置や運動の拘束条件（キネマティクス）を前提条件に用いるモデルベースの形状推定手法もある。この場合、画像上の対象物体のシルエットと適合するように、関節角などのパラメータを調整することで物体の形状が得られる。モデルベースの手法は、プリミティブ表現のほか、ポリゴン表現やメタボール表現などさまざまな表現形式への適用が考えられている。
【０００８】
一方、状態量の任意の統計分布を効率的に記述できるパーティクルフィルタを用いて、物体の位置を推定する手法が知られている。このパーティクルフィルタでは、物体の位置などを表す状態量（パーティクル又は粒子とよぶ）が複数存在し、これらのパーティクルのうち、物体の観測結果に合致するパーティクルの重みを増加させ、最終的には全パーティクルの状態の期待値を計算することで、物体の位置が推定される（例えば、特許文献３）。また、パーティクルフィルタでは、状態遷移（パーティクルの状態量の時間変化）が、状態量の確率密度により定義できるため、非常に複雑なダイナミクスをモデリングすることが可能である。
【特許文献１】特開平１０−１２４７０４号公報（段落００３９、図３）
【特許文献２】特開２００３−２７１９２８号公報（段落００５０〜段落００６１、図７、図８）
【特許文献３】特開２００５−４４３５２号公報（段落００８６〜段落００９０、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ステレオマッチ法では、十分な分解能のモデルを得るためには数多くの点対応を求める必要があり、演算コストが少なくなかった。また、点対応の精度が形状精度に大きく影響するため、対象物体にテクスチャが少ない場合には形状誤差が大きくなるという問題があった。
【００１０】
一方、視体積交差法では、十分な分解能のモデルを得るためにはボクセルを細かくする必要があり、膨大なメモリ領域が必要であった。また、視点毎に錐体状の領域を切り出す演算操作も、各ボクセルの錐体状の領域に対する内外判定を要するため、演算コストも大きかった。
【００１１】
モデルベースの手法では、対象物体の取り得る形状を十分に記述できるだけの関節等のモデル化が必要であるため、対象物体が限定されていた。また、対象物体が想定外の３次元形状をとった場合や、入力画像にノイズや乱れが生じた場合に、形状推定が不可能になるおそれもあった。
【００１２】
また、パーティクルフィルタの手法は、例えば、ボールなどの移動する物体の重心位置を追跡する用途、経済指標等の動的な機構のパラメータ学習、このような指標等の予測、２次元形状輪郭の追跡などに用いられているが、メタボール表現による３次元形状をパーティクルの状態から生成する用途には適用されていなかった。
【００１３】
本発明は、このような課題を解決するためになされたもので、演算量やメモリ消費量を低減する３次元の形状推定装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
そのために、請求項１に記載の形状推定装置は、オブジェクトが撮影された画像中の映像オブジェクトに基づき、３次元座標を含む状態ベクトルと重み係数とを有した情報であるパーティクルを用いたパーティクルフィルタによって、オブジェクトの３次元形状を推定する形状推定装置であって、シルエット抽出手段と、パーティクルフィルタ手段と、メタボール生成手段とを備え、前記パーティクルフィルタ手段は、パーティクル生成手段と、重み係数変更手段と、再サンプリング手段と、状態遷移手段とを有する構成とした。
【００１５】
かかる構成によれば、形状推定装置は、シルエット抽出手段によって、入力された画像に含まれる映像オブジェクトの領域をシルエットとして抽出する。また、形状推定装置は、パーティクルフィルタ手段のパーティクル生成手段によって、オブジェクトを探索する予め定められた探索領域内を示す３次元座標を有する、２以上である所定数のパーティクルを生成する。パーティクル生成手段で生成された所定数のパーティクルは、重み係数変更手段によって、シルエット抽出手段で抽出されたシルエットに基づいて、重み係数が変更される。
【００１６】
ここで、シルエット（画像）の画素値は、映像オブジェクトの領域らしさが高いほど大きな値（例えば、“１”に近い値）を有し、映像オブジェクトの領域らしさが低いほど小さな値（例えば、“０”に近い値）を有する。そして、パーティクルの重み係数は、例えば、当該パーティクルの３次元位置座標の入力画像の画像座標への投影変換位置におけるシルエットの画素値を、元の重み係数に乗算した値に更新される。そのため、パーティクルの位置に対応するシルエットが、映像オブジェクトらしくないほど、その重み係数は小さな値に変更される。
【００１７】
重み係数変更手段で重み係数を変更されたパーティクルは、再サンプリング手段によって、３次元座標について再サンプリングして同じ個数のパーティクルを再生成すると共に、それらのパーティクルの重み係数を均一にする。次に、状態遷移手段によって、再サンプリング手段によって再サンプリングされたパーティクルの状態ベクトルを遷移させる。
そして、パーティクルフィルタ手段によって、重み係数変更手段と再サンプリング手段と状態遷移手段とによるパーティクルに対する処理を繰り返し行う。
【００１８】
また、メタボール生成手段によって、パーティクルフィルタ手段で処理された所定数のパーティクルに基づいて、メタボール表現による３次元形状モデルを生成する。
これによって、形状推定装置は、パーティクルフィルタ手段において使用するパーティクルの数に応じた分解能、精度、メモリ消費量及び演算量において、オブジェクトの形状情報を取得し、メタボール表現への変換によって当該オブジェクトの形状を推定することができる。
【００１９】
請求項２に記載の形状推定装置は、請求項１に記載の形状推定装置において、前記メタボール生成手段は、前記重み係数変更手段によって重み係数が変更された前記所定数のパーティクルに基づいて、メタボール表現による３次元形状モデルを生成するように構成した。
【００２０】
かかる構成によれば、重み係数変更手段から出力される所定数のパーティクルは、それぞれオブジェクト内に分散された位置におけるオブジェクトが存在する確からしさに応じた重み係数を有しており、より正確にオブジェクトの形状に関する情報を有している。そのため、形状推定装置は、メタボール生成手段によって、各パーティクルを重み係数に応じた半径のメタボールに変換してオブジェクトの３次元形状を推定する。
これによって、オブジェクトの形状を精度よく推定することができる。
【００２１】
請求項３に記載の形状推定装置は、請求項１に記載の形状推定装置において、前記メタボール生成手段は、前記再サンプリング手段によって再サンプリングされた前記所定数のパーティクルに基づいて、メタボール表現による３次元形状モデルを生成するように構成した。
【００２２】
かかる構成によれば、再サンプリング手段から出力される所定数のパーティクルは、重み係数が均一で、オブジェクトが存在する確からしさに応じて個数に変換された分布を有している。そのため、形状推定装置は、メタボール生成手段によって、各パーティクルを均一な半径のメタボールに変換してオブジェクトの３次元形状を推定する。
これによって、オブジェクトの形状の推定に必要な演算量を低減することができる。
【００２３】
請求項４に記載の形状推定装置は、請求項１乃至請求項３の何れか一項に記載の形状推定装置において、前記メタボール生成手段によって生成された前記メタボール表現による３次元形状モデルに対して、収縮又は膨張を行う３次元多値モルフォロジ処理によって３次元形状モデルを修正するモルフォロジ処理手段をさらに備えて構成した。
【００２４】
かかる構成によれば、モルフォロジ処理手段によって、メタボール生成手段で生成された３次元形状モデルにおいて、例えば、真の形状より拡大あるいは縮小して推定された形状を、収縮あるいは膨張を行う３次元多値モルフォロジ処理を適用して修正する。
これによって、メタボール生成手段による推定形状の誤差を軽減することができる。
【００２５】
請求項５に記載の形状推定装置は、請求項１乃至請求項４の何れか一項に記載の形状推定装置において、さらに１以上のシルエット抽出手段と、当該シルエット抽出手段に対応する重み係数変更手段とを備えるように構成した。
【００２６】
かかる構成によれば、複数のシルエット抽出手段と、対応する重み係数変更手段とによって、例えば、複数の視点から撮影された入力画像に基づき、パーティクルの重み係数を変更する。
これによって、後段の再サンプリング手段によって、パーティクルの存在範囲を効果的に絞り込んで再編成することができ、形状推定の精度および推定値算出における収束速度を向上させることができる。
【００２７】
請求項６に記載の形状推定プログラムは、オブジェクトが撮影された画像中の映像オブジェクトに基づき、３次元座標を含む状態ベクトルと重み係数とを有した情報であるパーティクルを用いたパーティクルフィルタによって、前記オブジェクトの３次元形状を推定するために、コンピュータを、シルエット抽出手段、パーティクルフィルタ手段、メタボール生成手段、として機能させる形状推定プログラムであって、前記パーティクルフィルタ手段は、パーティクル生成手段、重み係数変更手段、再サンプリング手段、状態遷移手段、を含むこととした。
【００２８】
かかる構成によれば、形状推定プログラムは、シルエット抽出手段によって、入力された画像に含まれる映像オブジェクトの領域をシルエットとして抽出する。また、形状推定プログラムは、パーティクルフィルタ手段のパーティクル生成手段によって、オブジェクトを探索する予め定められた探索領域内を示す３次元座標を有する、２以上である所定数のパーティクルを生成する。パーティクル生成手段で生成された所定数のパーティクルは、重み係数変更手段によって、シルエット抽出手段で抽出されたシルエットに基づいて、重み係数が変更される。重み係数変更手段で重み係数を変更されたパーティクルは、再サンプリング手段によって、３次元座標について再サンプリングして同じ個数のパーティクルを再生成すると共に、それらのパーティクルの重み係数を均一にする。次に、状態遷移手段によって、再サンプリング手段によって再サンプリングされたパーティクルの状態ベクトルを遷移させる。
そして、パーティクルフィルタ手段によって、重み係数変更手段と再サンプリング手段と状態遷移手段とによるパーティクルに対する処理を繰り返し行う。
また、メタボール生成手段によって、パーティクルフィルタ手段で処理された所定数のパーティクルに基づいて、メタボール表現による３次元形状モデルを生成する。
これによって、形状推定装置は、パーティクルフィルタ手段において使用するパーティクルの数に応じた分解能、精度、メモリ消費量及び演算量において、オブジェクトの形状情報を取得し、メタボール表現への変換によって当該オブジェクトの形状を推定することができる。
【発明の効果】
【００２９】
請求項１又は請求項６に記載の発明によれば、演算量やメモリ量を低減して、オブジェクトの３次元形状を推定することができる。
請求項２に記載の発明によれば、より正確にオブジェクトの３次元形状を推定することができる。
請求項３に記載の発明によれば、より少ない演算量でオブジェクトの３次元形状を推定することができる。
請求項４に記載の発明によれば、メタボール変換による形状推定の誤差を修正し、より正確にオブジェクトの３次元形状を推定することができる。
請求項５に記載の発明によれば、より精度よく、また、より迅速にオブジェクトの３次元形状を推定することができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態について適宜図面を参照して詳細に説明する。
［形状推定装置の構成］
まず、図１を参照して、実施形態の形状推定装置１０の構成について説明する。ここで、図１は本発明にかかる実施形態の形状推定装置の構成を示すブロック図である。
図１に示した実施形態の形状推定装置１０は、Ｎ個（Ｎは１以上の整数）の入力手段１（１１〜１Ｎ）と、Ｎ個のシルエット抽出手段２（２１〜２Ｎ）と、パーティクルフィルタ手段３と、メタボール生成手段４と、モルフォロジ処理手段５と、出力手段６と、を含んで構成されている。
【００３１】
入力手段１（１１〜１Ｎ）は、図示しないＮ台のカメラによって撮影された対象物体（オブジェクト）の入力画像Ｉ１〜ＩＮを、それぞれ対応するシルエット抽出手段２（２１〜２Ｎ）に入力する入力インターフェースである。また、この入力手段１１〜１Ｎは、それぞれ入力画像Ｉ１〜ＩＮを撮影した際のカメラパラメータＣＰ１〜ＣＰＮをパーティクルフィルタ手段３に出力する。ここで、カメラパラメータＣＰ１〜ＣＰＮとは、それぞれ入力画像Ｉ１〜ＩＮを撮影した際のカメラの撮影位置の座標を含み、姿勢情報（例えば、パン角、チルト角等で表される撮影方向）、画角情報（例えば、ズーム量等）などである。
【００３２】
シルエット抽出手段２（２１〜２Ｎ）は、Ｎ箇所の視点で撮影された対象物体（オブジェクト）の入力画像Ｉ１〜ＩＮから対象物体像（映像オブジェクト）の領域を抽出し、シルエット画像（以下、シルエット）Ｓ１〜ＳＮを生成する。シルエットとは、入力画像（例えばＩ１）を構成する各画素に関して、当該画素が対象物体像に属するか否かを数値的に区別した画像である。
なお、特許請求の範囲の記載において、オブジェクトとは対象物体のことであり、映像オブジェクトとは対象物体を撮影した入力画像中の対象物体像のことである。
【００３３】
例えば、注目する画素が対象物体像上にある場合には値“１”を、対象物体像上にない場合には値“０”を割り当てた２値画像をシルエットとして用いることができる。
また、例えば、注目する画素が対象物体像上にある可能性が高い場合には大きな値（例えば“１”に近い値）を、対象物体像上にない可能性が高い場合には小さな値（例えば“０”に近い値）を設定し、前記の何れとも判別できない場合には中間的な値（例えば“０．５”）を設定した多値の画像であってもよい。
【００３４】
以下、ｎ番目（ｎ＝１，２，……，Ｎ）の視点の入力画像をＩｎ、シルエットをＳｎと表記する。また、（ｘ，ｙ）は入力画像における画素位置を表し、ｘは水平座標を、ｙは垂直座標を表す。さらに、画素位置（ｘ，ｙ）における入力画像ＩｎおよびシルエットＳｎの画素値を、それぞれＩｎ（ｘ，ｙ）およびＳｎ（ｘ，ｙ）と表記する。
【００３５】
各入力画像Ｉｎを得る手段はそれぞれ任意であり、例えば、デジタルスチルカメラやビデオカメラで電子的に撮影された画像であってもよいし、銀塩写真をイメージスキャナやデジタルスチルカメラ、ビデオカメラなどによって電子化した画像であっても構わない。また、これらの手段を組み合わせて用いてもよい。
入力画像Ｉｎはカラー画像であってもモノクロ画像であっても多バンド画像であってもよいが、以下では各画素が赤、緑及び青の３原色により構成されるカラー画像であるものとして説明する。一方、シルエットＳｎは、各画素が“０”以上“１”以下の値をとる多値画像とし、対象物体像上である可能性が高いほど大きな値をとるものとして説明する。
【００３６】
シルエット抽出手段２ｎは、例えば、クロマキー法による対象物体像の抽出手法を用いることができる。この場合は、対象物体を区別可能な色の背景の前に対象物体を配置して撮影し、入力画像Ｉｎを取得する。例えば、青い布など単色の人工的な素材を背景として用いたり、芝生のような単色に近い自然物を背景として用いることができる。クロマキーによる場合、入力画像Ｉｎの画素位置（画像座標）（ｘ，ｙ）における画素値Ｉｎ（ｘ，ｙ）が背景色に類似している場合ほど、対象物体像である可能性が低いため、シルエットＳｎ（ｘ，ｙ）の値を小さくするものとする。
【００３７】
ここで、図２を参照して、シルエットＳｎの生成について説明する。図２の（ａ）は、対象物体をカメラで撮影する様子を示した図、（ｂ）はカメラによって撮影された入力画像、（ｃ）はシルエットである。
図２（ａ）に示したように、形状を探索する領域として予め定められた領域Ｄ内に配置された対象物体Ｏ（この例では四角錐）を、カメラＣ１により側方から、カメラＣ２により上方から撮影することにより、それぞれ、図２（ｂ）に示したように、対象物体像Ｏ’が含まれる入力画像Ｉ１及び入力画像Ｉ２を得ている。これらの入力画像Ｉ１及び入力画像Ｉ２に対し、図２（ｂ）の網掛部の色を背景色としてクロマキー処理を行った結果が、図２（ｃ）に示したシルエットＳ１及びシルエットＳ２である。図２（ｃ）では、“１”又は“１”に近い大きな値を白で、“０”又は“０”に近い小さな値を黒で表示している。
【００３８】
また、シルエット抽出手段２ｎは、例えば、背景差分法により実装してもよい。この場合、シルエット抽出手段２ｎには、対象物体像がないときの画像を背景画像Ｂｎとして、図示しない記憶手段に予め記憶しておく。そして、入力画像の各画素の画素値Ｉｎ（ｘ，ｙ）が、対応する画素位置の背景画像の画素値Ｂｎ（ｘ，ｙ）に類似している場合ほど、対象物体像である可能性が低いため、シルエットＳｎ（ｘ，ｙ）の値を小さくするものとする。
このほか、入力画像Ｉｎから対象物体像らしさを表すシルエットＳｎが得られる手法であれば、他の手法を用いてもよい。
【００３９】
パーティクルフィルタ手段３は、シルエット抽出手段２１〜２Ｎから入力されるシルエットＳ１〜ＳＮと、入力手段１１〜１Ｎから入力されるカメラパラメータＣＰ１〜ＣＰＮを用いて、パーティクルフィルタ手法におけるパーティクル（粒子）に対するフィルタ処理を行い、パーティクル群（粒子群）をメタボール生成手段４に出力する。
ここで、パーティクルとは、３次元座標（位置成分）を含む状態ベクトルと重み係数とを有する情報であり、パーティクルフィルタとは、このようなパーティクルを対象物体内に適宜散布し、複数のパーティクルの集合からなるパーティクル群の状態ベクトルと重み係数とを重ね合わせることで物体の３次元形状を表現する手法である。
【００４０】
次に、図３を参照して、パーティクルフィルタ手段３の詳細な構成について説明する。ここで、図３は、パーティクルフィルタ手段の構成を示したブロック図である。
図３に示したように、パーティクルフィルタ手段３は、パーティクル生成手段２１と、スイッチ２２と、Ｎ個の加重演算手段（重み係数変更手段）２３（２３１〜２３Ｎ）と、再サンプリング手段２４と、遅延手段２５と、状態遷移手段２６と、から構成されている。
【００４１】
パーティクル生成手段２１は、パーティクルフィルタ手段３におけるパーティクルの初期化のための手段であり、シルエット抽出手段２１から入力されるシルエットＳ１と入力手段１１を介して入力されるカメラパラメータＣＰ１とに基づき、対象物体の存在候補領域内に分布する所定数（Ｍ個）のパーティクルを生成するパーティクルの初期化手段である。
【００４２】
生成するパーティクルの個数Ｍは２以上の整数であり、例えば、Ｍ＝１００００とすることができる。個々のパーティクルは、それぞれ状態ベクトルと重み係数とからなるベクトル量である。以下、ｍ番目（ｍ＝１，２，……，Ｍ）のパーティクルの状態ベクトルをｓｍ、重み係数をｗｍと表記する。
【００４３】
状態ベクトルｓｍは、その成分に少なくとも３次元空間における座標（Ｘｍ，Ｙｍ，Ｚｍ）を含むものとする。状態ベクトルｓｍは、例えば、式（１）に示すように３次元空間における座標（Ｘｍ，Ｙｍ，Ｚｍ）のみで構成することができる。
【００４４】
【数１】
2008059224.tif 000003
【００４５】
あるいは、状態ベクトルｓｍは、例えば、式（２）に示すように、３次元空間における座標及び速度からなる６次元のベクトルとしてもよい。式（２）において、・（ドット）は時間微分を表し、右辺の４〜６行目の要素は、それぞれ、ｍ番目のパーティクルのＸ、Ｙ、Ｚ方向の速度を表す。
【００４６】
【数２】
2008059224.tif 000004
【００４７】
さらに、状態ベクトルｓｍに、例えば、加速度を導入して９次元のベクトルとしてもよいし、過去の座標、速度、加速度などを導入してもよい。
【００４８】
ここで、図４及び図２を参照してパーティクル生成手段２１の機能について説明する。図４は、パーティクルを生成する様子を模式的に示した図である。
パーティクル生成手段２１は、まず、図２（ａ）に示した例のように、対象物体Ｏが領域Ｄに完全に包含されるように、３次元空間上の閉領域である領域Ｄを設定する。すなわち、領域Ｄは形状推定を行う探索領域である。
そして、式（３）に示すように、シルエットＳ１に応じて定められる確率密度関数ｐ（Ｘ，Ｙ，Ｚ｜Ｓ１）に従うＭ個のサンプル（Ｘｍ，Ｙｍ，Ｚｍ）（ｍ＝１，２，…，Ｍ）を生成する。
【００４９】
（Ｘｍ，Ｙｍ，Ｚｍ）〜ｐ（Ｘ，Ｙ，Ｚ｜Ｓ１）    …（３）
【００５０】
式（３）の確率密度関数ｐ（Ｘ，Ｙ，Ｚ｜Ｓ１）として、例えば、式（４）の関数を用いることができる。
【００５１】
【数３】
2008059224.tif 000005
【００５２】
式（４）において、ｆｎ（Ｘ，Ｙ，Ｚ）及びｇｎ（Ｘ，Ｙ，Ｚ）は入力画像Ｉｎを撮影したカメラＣｎ（例えば、図２のカメラＣ１、Ｃ２）による投影変換を表す関数である。すなわち、３次元座標（Ｘ，Ｙ，Ｚ）で表される点は、カメラＣｎによって撮影された２次元画像内において、２次元画像座標（ｆｎ（Ｘ，Ｙ，Ｚ），ｇｎ（Ｘ，Ｙ，Ｚ））に変換される。ｆｎ（Ｘ，Ｙ，Ｚ）及びｇｎ（Ｘ，Ｙ，Ｚ）はカメラやレンズの特性、カメラ位置及びカメラ姿勢等のカメラパラメータに応じて決まる関数であり、例えば、ピンホールや一般的なレンズの場合は透視投影変換となり、魚眼レンズの場合は等距離投影変換や正射影変換となる。
【００５３】
パーティクルＰは、対象物体Ｏの最大の探索領域である領域Ｄ内であって、かつシルエットＳ１及びカメラパラメータＣＰ１から推定される対象物体Ｏの存在候補領域に分布するように生成される。シルエットＳ１及びカメラパラメータＣＰ１から推定される対象物体Ｏの存在候補領域とは、カメラＣ１の第一光学主点（視点）から、シルエットＳ１の０でない画素を通して観測する方位に含まれる領域のことである。簡単のためにシルエットＳ１が２値（“０”及び“１”）の場合について説明すると、図４のシルエットＳ１の白い部分が“０”でない画素、すなわち“１”の画素とすると、（Ｘｍ，Ｙｍ，Ｚｍ）は、カメラＣ１の第一光学主点と画像面上のシルエットＳ１のＳ１（ｘ，ｙ）＝１なる領域とを通る錐体状領域（この例では三角錐）の内部にほぼ均一に分布する。ただし、最大の探索領域である領域Ｄ内に限るものとする。
また、パーティクルＰの重み係数ｗｍは、初期値として、すべて均一の値（例えば、１／Ｍ）を設定する。
【００５４】
なお、最初に生成するパーティクルＰは、最大の探索領域である領域Ｄ内に一様に分布するように生成してもよいが、最初に設定する探索領域を、シルエットＳ１から推定される対象物体の存在領域に限定することで、形状推定のための収束までの繰り返し演算処理の回数を低減することができる。
【００５５】
スイッチ２２は、パーティクル生成手段２１から入力される初期化されたパーティクルか、後記する加重演算手段２３１から入力されるフィルタ処理が進んだパーティクルかを選択し、加重演算手段２３２に出力する。
スイッチ２２は、パーティクルの初期化のための切り替えスイッチであり、形状推定を開始した直後（例えば、対象物体を本装置の前に据え、準備が整った直後）や、使用者の必要に応じて、パーティクル生成手段２１側を、所定の時間だけ閉じて、パーティクル生成手段２１で生成された必要な個数のパーティクルを、加重演算手段２３２に供給する。これ以外の期間は、加重演算手段２３１側を閉じて、加重演算手段２３１によって処理されたパーティクルを、加重演算手段２３２にそのまま出力する。
【００５６】
加重演算手段（重み係数変更手段）２３（２３１〜２３Ｎ）は、各パーティクルの状態ベクトルｓｍがシルエットＳ１〜ＳＮと矛盾しないか評価し（尤度を評価し）、その評価結果に応じて重み係数ｗｍを修正する。
具体的には、式（５）に示したように、パーティクルの３次元座標（Ｘｍ，Ｙｍ，Ｚｍ）の画像座標への投影変換位置におけるシルエットＳｎの画素値Ｓｎ（ｆｎ（Ｘｍ，Ｙｍ，Ｚｍ），ｇｎ（Ｘｍ，Ｙｍ，Ｚｍ））を、元の重み係数ｗｍに乗じた値を、変更後の重み係数ｗｍとする。
シルエットＳｎの画素値は、対象物体像（映像オブジェクト）の存在する確からしさ（可能性）が高いほど大きな値（例えば“１”）を有し、低いほど小さな値（例えば“０”）を有するため、対象物体像の存在する確からしさが低い位置に配置されたパーティクルほど、その重み係数ｗｍは小さな値に変換される。
【００５７】
ｗｍ  ←  ｗｍ・Ｓｎ（ｆｎ（Ｘｍ，Ｙｍ，Ｚｍ），ｇｎ（Ｘｍ，Ｙｍ，Ｚｍ））  …（５）
【００５８】
但し、（Ｘｍ，Ｙｍ，Ｚｍ）＝（状態ベクトルｓｍの位置成分）であり、ｆｎ（Ｘｍ，Ｙｍ，Ｚｍ）及びｇｎ（Ｘｍ，Ｙｍ，Ｚｍ）は、カメラＣｎによって撮影された入力画像Ｉｎの画像座標への投影変換を行う関数であり、ｆｎ（Ｘｍ，Ｙｍ，Ｚｍ）は水平座標、ｇｎ（Ｘｍ，Ｙｍ，Ｚｍ）は垂直座標に変換するための関数である。また、←（左矢印）は、右辺の計算結果を左辺の変数に代入することを示す記号である。
【００５９】
加重演算手段２３１は、後記する状態遷移手段２６から入力されるパーティクルに対して、シルエット抽出手段２１から入力されるシルエットＳ１及び入力手段１１を介して入力されるカメラパラメータＣＰ１に基づいて、各パーティクルの重み係数ｗｍを修正する。そして、重み係数ｗｍを修正したパーティクルをスイッチ２２に出力する。
【００６０】
加重演算手段２３２は、スイッチ２２から入力されるパーティクルに対して、シルエット抽出手段２２から入力されるシルエットＳ２及び入力手段１２を介して入力されるカメラパラメータＣＰ２に基づいて、各パーティクルの重み係数ｗｍを修正する。そして、重み係数ｗｍを修正したパーティクルを加重演算手段２３３（不図示）に出力する。
【００６１】
以下、同様に、ｎ番目の加重演算手段２３ｎは、前段の加重演算手段２３ｎ−１から入力されるパーティクルに対して、シルエット抽出手段２ｎから入力されるシルエットＳｎ及び入力手段１ｎを介して入力されるカメラパラメータＣＰｎに基づいて、各パーティクルの重み係数ｗｍを修正し、重み係数ｗｍを修正したパーティクルを、後段の加重演算手段２３ｎ＋１に出力する。
【００６２】
最後段の加重演算手段２３Ｎは、重み係数ｗｍを修正したパーティクル（パーティクル群ＰＡ）を、再サンプリング手段２４に出力すると共に、メタボール生成手段４（図１参照）に出力する。
【００６３】
なお、加重演算手段２３は、複数段を接続する必要はなく、１段のみとしてもよい。また、複数のシルエット抽出手段２１〜２Ｎ（図１参照）を備えると共に、複数段の加重演算手段２３１〜２３Ｎを接続することで、複数の視点から撮影した入力画像Ｉ１〜ＩＮによるシルエットＳ１〜ＳＮに基づいて重み係数ｗｍを変更することができ、後段の再サンプリング手段２４によって、パーティクルの存在範囲を効果的に絞り込んで再編成することができる。そのため、形状推定の精度及び推定値算出における収束速度を向上することができる。
【００６４】
ここで、図５を参照して加重演算手段２３の機能について説明する。図５は、パーティクルの重み係数を更新する様子を模式的に示した図である。
図５においては、図４に示したパーティクルＰに対して、加重演算手段２３２によって、カメラＣ２から得られた入力画像Ｉ２（図２参照）によるシルエットＳ２及びカメラパラメータＣＰ２に基づいて、重み係数ｗｍの更新を行う様子を表している。
【００６５】
黒丸（Ｐ１）及び白丸（Ｐ２）で示したパーティクルＰは、図４に示した、前の処理までに得られているパーティクル群の３次元の位置を模式的に表している。式（５）に示したように、各パーティクルＰの３次元座標（Ｘｍ，Ｙｍ，Ｚｍ）を２次元画像面に投影した像の画像座標（ｆ２（Ｘｍ，Ｙｍ，Ｚｍ），ｇ２（Ｘｍ，Ｙｍ，Ｚｍ）)におけるシルエットＳ２の画素値Ｓ２（ｆ２（Ｘｍ，Ｙｍ，Ｚｍ），ｇ２（Ｘｍ，Ｙｍ，Ｚｍ）)を、パーティクルＰの重み係数ｗｍに乗じて、新たな重み係数ｗｍとする。
【００６６】
簡単のためにシルエットＳ２が２値画像の場合について説明すると、パーティクルの３次元座標の画像座標への投影変換位置が、シルエットＳ２の“０”でない画素上にあるか否かを判定し、シルエットＳ２の“０”でない画素上にあると判定された黒丸のパーティクルＰ１に関しては重みｗｍをそのまま変化させずに保つ。一方、シルエットＳ２の“０”である画素上にあると判定された白丸のパーティクルＰ２に対しては、ｗｍ×０＝０を新たなｗｍとする。
【００６７】
図３に戻って、パーティクルフィルタ手段３の構成について説明を続ける。
再サンプリング手段２４は、Ｎ個の加重演算手段２３１〜２３Ｎを経て、最後段の加重演算手段２３Ｎから出力されるＭ個のパーティクルを入力し、各パーティクルの重み係数ｗｍに応じて再サンプリング（再編成）して、新たなＭ個のパーティクル（パーティクル群ＰＢ）を生成し、遅延手段２５に出力すると共に、メタボール生成手段４（図１参照）に出力する。また、再サンプリング手段２４は、新たに生成するＭ個のパーティクルの重みｗｍを、例えば、すべて１／Ｍとなるようにする。
【００６８】
ここで、図６を参照して、再サンプリング手段２４の機能について説明する。図６は、再サンプリングの様子を模式的に示した図であり、（ａ）は、再サンプリング前のパーティクルを示し、（ｂ）は、再サンプリング後のパーティクルを示す。
【００６９】
図６（ａ）において、丸印は、再サンプリング手段２４に入力された番号ｍが１から１０までのパーティクルを表している。各丸印の座標（ここでは便宜上１次元で表している）が各パーティクルの状態ベクトルｓｍを表し、その大きさが重み係数ｗｍを表している。
【００７０】
再サンプリング手段２４では、再サンプリング前のパーティクルの重み係数ｗｍの大きさに応じた個数の当該パーティクルのコピーを生成する。すなわち、パーティクルの重み係数ｗｍが大きいものほど数多くのパーティクルのコピーを生成し、ｗｍが小さいものほどコピーの生成数が少なくするか、あるいは皆無となるようにパーティクルを再編成（再サンプリング）して、図６（ｂ）に示すように、重み係数ｗｍが均一な、新たなパーティクル群を生成する。
【００７１】
図６に示した例では、再サンプリング前の１０個のパーティクルついて、ｍ＝５のパーティクルは４個のパーティクルに変換され、ｍ＝４，６のパーティクルは、それぞれ２個のパーティクルに変換され、ｍ＝７，９のパーティクルは、それぞれ１個のパーティクルに変換され、ｍ＝１，２，３，８，１０のパーティクルは消滅し、新たに１０個のパーティクルが再編成されている。
【００７２】
次に、図７を参照して、再サンプリングの手順について説明する。ここで、図７は、再サンプリング手段によるパーティクルの再サンプリングの様子を示した図である。
再サンプリング前のパーティクルの状態ベクトルをｓｍ、重み係数をｗｍとし、再サンプリング後のパーティクルの状態ベクトルをｓｍ（ｎｅｗ）、重み係数をｗｍ（ｎｅｗ）とする。ただし、ｍ＝１，２，…，Ｍとする。まず、重み係数ｗｍをｍに関して累積したＷｍを縦軸に、ｍを横軸にとる。原点を始点とし、点（ｍ，Ｗｍ）を順次、線分で結んだ折線グラフを作る。
続いて、
【００７３】
０＜ωμ≦WM    …（６）
【００７４】
なる一様乱数ωμをＭ回発生する。以下、一様乱数をＭ回発生する中のμ番目の試行について説明する。まず、Ｗｍ＝ωμなる直線と、前記した折線グラフの交点Ωμを求める。交点Ωμのｍ座標の小数点以下を切り上げた結果をｍμ（上に＾（ハット））とする。
すなわち、
【００７５】
【数４】
2008059224.tif 000006
【００７６】
を満たすｍμ（上に＾（ハット））を求める。このとき、再サンプリング後のμ番目のパーティクルの状態ベクトルを式（８）とし、
【００７７】
【数５】
2008059224.tif 000007
【００７８】
その重み係数を式（９）とする。
【００７９】
【数６】
2008059224.tif 000008
【００８０】
式（６）〜式（９）の操作をＭ回繰り返すことで、再サンプリング（再編成）されたＭ個のパーティクルが得られる。
このようにして得られた新たなパーティクル群ＰＢを遅延手段２５及びメタボール生成手段４（図１参照）に出力する。
【００８１】
なお、パーティクルフィルタ手段３からメタボール生成手段４（図１参照）に出力し得るパーティクル群としては、前記した加重演算手段２３Ｎから出力するパーティクル群ＰＡと、再サンプリング手段２４から出力するパーティクル群ＰＢとがある。パーティクルフィルタ手段３からは、何れか一方を出力するが、何れを出力するか選択できるように選択手段を設けるようにしてもよい。
【００８２】
ここで、パーティクル群としてＰＡを用いる場合と、ＰＢを用いる場合の特徴について説明する。
加重演算手段２３Ｎから出力されるパーティクル群ＰＡは、各パーティクルは、対象物体が存在する確からしさに応じて、それぞれ異なる重み係数ｗｍを有しているため、より正確に対象物体を推定した情報を有している。このため、パーティクル群ＰＡに基づいてメタボール表現することで、正確な形状を再現することができる。
【００８３】
一方、再サンプリング手段２４から出力されるパーティクル群ＰＢは、各パーティクルは重み係数ｗｍに応じて、パーティクルの個数に変換されたものである。この変換は、あるパーティクルが有する変換前の重み係数ｗｍと、その変換によって生成されるパーティクルの個数とが確率的にしか対応しないため、局所的には近似的な変換となる。そのため、変換後のパーティクル群ＰＢによる形状情報には誤差が生じるため、形状の推定精度は変換前のパーティクル群ＰＡよりも劣化する。しかし、パーティクル群ＰＢは、全てのパーティクルの重み係数ｗｍが均一の値に変換されるため、メタボール表現への変換の際には、各パーティクルを、半径の等しいメタボールとすることができるため、メタボール変換の演算を簡略化し、演算量を低減することができる。
【００８４】
パーティクル群ＰＡとパーティクル群ＰＢのこのような特徴を考慮して、用途に適したパーティクル群を用いるようにすることができる。
【００８５】
図３に戻って、パーティクルフィルタ３の構成について説明を続ける。
遅延手段２５は、各カメラＣｎ（例えば、図２のカメラＣ１，Ｃ２）で次の撮影が行われ、新たな入力画像Ｉｎが入力されるまで処理を待機するタイミングを調整のための手段であり、例えば、処理途中のパーティクルを一時記憶するメモリ手段で構成することができる。このメモリ手段にパーティクルを記憶し、状態遷移手段２６による処理時間を考慮した上で、入力画像Ｉｎの入力タイミングを見計らって、メモリ手段からパーティクルを読み出して状態遷移手段２６に出力するようにすればよい。
【００８６】
なお、遅延手段２５は、再サンプリング手段２４の直後に限らず、入力画像Ｉ１〜ＩＮに基づいて処理を行う加重演算手段２３１から加重演算手段２３Ｎの間以外であれば、再サンプリング手段２４の直前又は状態遷移手段２６の直後に設けてもよい。
【００８７】
状態遷移手段２６は、遅延手段２５から入力される再サンプリング後のパーティクルに対して、各パーティクルの状態ベクトルｓｍ（ｔ）を遷移させ、遷移後のパーティクルを加重演算手段２３１に出力する。
【００８８】
状態遷移手段２６は、各パーティクルの状態ベクトルｓｍ（ｔ）を、式（１０）に示すように、確率密度関数ｐ（ｓ（ｔ＋１）｜ｓｍ（ｔ））に従うサンプリングを行うことにより新たな状態ベクトルｓｍ（ｔ＋１）に遷移させる。ここにｔは時刻（あるいは逐次処理の現在の回数）を表す。
ここで、状態遷移は、後記するように、対象物体が変形や移動する場合において、所定時間経過後に撮影した画像から抽出したシルエットＳｎを用いて加重演算手段２３ｎで重み係数ｗｍを変更する際に、パーティクルが、所定時間経過後の対象物体の位置に追随するように、パーティクルを遷移（移動）させるものである。また、状態遷移において、ガウス雑音等のノイズを付加して遷移先に揺らぎを与え、対象物体の予測外の移動や変形にも追随できるようにしたり、再サンプリングによって縮退したパーティクルを分散させたりすることもできる。
【００８９】
ｓｍ（ｔ＋１）〜ｐ（ｓ（ｔ＋１）｜ｓｍ（ｔ））    …（１０）
【００９０】
ここで、式（１０）における確率密度関数ｐ（ｓ（ｔ＋１）｜ｓｍ（ｔ））は、対象物体の変形や移動の性質に応じて定める。
例えば、式（１１）に示すような、ｄ次元の状態ベクトルに対する行列Ａとベクトルｂとによる線形の状態遷移に、平均が０、共分散がΣのガウス雑音を付加した確率密度関数を用いることができる。
【００９１】
【数７】
2008059224.tif 000009
【００９２】
ここで、状態遷移に式（１１）の確率密度関数を仮定した場合、式（１０）の操作は、式（１２−１）及び式（１２−２）により実装することができる。
【００９３】
【数８】
2008059224.tif 000010
【００９４】
ここで、ｖ（ｔ）は平均が０、共分散がΣのガウス雑音であり、正規分布に従う乱数により生成することができる。
【００９５】
式（１２−１）において、行列Ａ及びベクトルｂによって、対象物体の回転、並進などの線形の移動に対応してパーティクルを遷移（移動）させ、次の入力画像Ｉｎの撮影時の対象物体の位置から外れないようにすることができる。
【００９６】
また、式（１２−１）において、式（１２−２）のようなガウス雑音ｖ（ｔ）を付加して、パーティクルの遷移先に揺らぎを与えることにより、対象物体の動作の把握が不十分な段階で想定外の動きをした場合にも、複数のパーティクルの内の何個かを、次の撮影時の対象物体の真の領域内に遷移させることができ、対象物体を捉え続けることができる。
さらに、ガウス雑音を付加することにより、再サンプリングによって複数のコピーが生成されたパーティクルの状態ベクトルに揺らぎを与え、縮退していたパーティクルの位置を分散させることができる。これによって、個数の限られたパーティクルを、対象物体の存在候補領域内に偏りなく分布させることができる。
【００９７】
次に、図８及び図９を参照して、パーティクルを状態遷移させて対象物体の形状推定をする様子について説明する。ここで、図８は、回転台に置かれた剛体の対象物体の形状推定の様子を示した図であり、図９は、ほぼ等速度運動する非剛体の対象物体の形状推定の様子を示した図である。
【００９８】
（剛体の対象物体を回転台に載せて観測する応用例）
まず、図８に示すように回転台５１の上に剛体の対象物体５２を載せ、回転台５１を予め定めた角度ずつ（１回の撮影毎に、すなわち処理周期あたり角度θずつ）回転させながら形状推定を行う場合について説明する。状態ベクトルｓｍは、式（１）に示した３次元のベクトルを用いることとする。図８に示すように回転軸をＺ軸とし、右手系のデカルト座標系を定義する。なお、この座標系は回転しないものとする。この場合、対象物体は回転台とともに回転し、かつ変形しないので、式（１２−１）における行列Ａ及びベクトルｂを、それぞれ式(１３−１)及び式（１３−２）のように定めることができる。
【００９９】
【数９】
2008059224.tif 000011
【０１００】
共分散行列Σは、半正定値の実対称行列であれば、その値は任意に決めることができ、例えば、非負の値を対角要素にもつ対角行列を設定することができる。この対角要素の値も任意に選択することができ、例えば、対象物体の大きさに応じて定めることができる。例えば、対象物体の外接球の半径をｒとしたとき、ｒ２より十分小さな定数（例えばｒ２／１００００）を対角要素の値として採用する。さらに、対角要素の値は時々刻々変化させてもよい。例えば、本装置を起動したときに大きめの値（例えばｒ２／１００）を設定し、撮影する毎に、対角要素の値を小さくする（例えば、撮影する毎に１／２を乗ずる）ようにしてもよい。
【０１０１】
（変形する対象物体を回転台に載せて観測する応用例）
次に、図８において、対象物体が非剛体であり、変形する場合について説明する。回転台５１の上に変形する対象物体を載せた場合にも、行列Ａ及びベクトルｂとして、それぞれ式（１３−１）及び式（１３−２）を適用することができる。この場合、共分散行列Σは、対象物体が剛体である場合よりも、その固有値が大きくなるよう設定すればよい。すなわち、変形の度合いを織り込んだ、共分散行列Σを設定することで、形状推定を行うことができる。
【０１０２】
（移動する対象物体を観測する応用例）
次に、図９に示すように、移動する対象物体を観測する場合について説明する。図９に示したように、コース５３上を走る非剛体（人物）５４を対象物体として、時々刻々の形状を推定するような場合を例にして説明する。以下の説明では状態ベクトルｓｍとして式（２）に示した位置及び速度からなる６次元のベクトルを用いることとする。例えば、移動する対象物体の速度がほぼ一定（すなわち等速度運動からの誤差が共分散行列Σで吸収可能）であり、また撮影の時間間隔もΔＴで一定である場合は、行列Ａ及びベクトルｂを、それぞれ式（１４−１）及び式（１４−２）のようにすることができる。
【０１０３】
【数１０】
2008059224.tif 000012
【０１０４】
なお、図８に示した例と同様に、共分散行列Σは半正定値の実対称行列であれば、その値は任意に決めることができる。
【０１０５】
このようにして行列Ａ及びベクトルｂを定式化して撮影毎にパーティクルを状態遷移させることにより、移動する物体の形状推定を行うことができる。
【０１０６】
図１に戻って、形状推定装置１０の構成について説明を続ける。
メタボール生成手段４は、パーティクルフィルタ手段３から入力されたパーティクル群に基づき、メタボール表現の３次元モデルを生成し、生成した３次元モデルによる形状データをモルフォロジ処理手段５に出力する。
【０１０７】
メタボール生成手段４は、各パーティクルの状態ベクトルｓｍと重み係数ｗｍに基づいてメタボール表現の３次元モデルを生成する。メタボールとは、中心からの距離によって一定の法則で濃度が変化する仮想的な球体（メタボール）を、１個乃至複数個用いて３次元物体の形状を表現する手法である。複数個のメタボールが存在する場合、ある地点における濃度は全メタボールの濃度の加算値として定義される。そして、全メタボールからの濃度を加算した濃度が一定となる曲面を対象物体の表面として定義する。
【０１０８】
１つのメタボールの濃度を表す関数をｂ（Ｘ，Ｙ，Ｚ；Ｘ０，Ｙ０，Ｚ０，ｈ）とおく。ここで、（Ｘ０，Ｙ０，Ｚ０）はメタボールの中心座標、ｈは濃度の拡がりを決めるパラメータである。例えば、式（１５）が典型的なメタボールの濃度関数である。
【０１０９】
【数１１】
2008059224.tif 000013
【０１１０】
メタボール生成手段４は、例えば、各パーティクルの状態ベクトルｓｍに含まれる３次元座標（Ｘｍ，Ｙｍ，Ｚｍ）を、対応する１つのメタボールの中心座標とすることができる。一方、濃度の拡がりのパラメータｈは、例えば、重み係数ｗｍに基づきｈ＝ｈ（ｗｍ）のように決定することができる。ここで、ｈは予め定める任意の関数であるが、ｈを広義の単調増加関数とすることが好ましく、例えば、ｈとして０以上の傾きを有する１次関数とすることができる。また、式（１６）のように、単に
【０１１１】
ｈ（ｗ）＝ｗ    …（１６）
【０１１２】
としてもよい。さらに、例えば、ｈ（ｗ）＝１（定関数）とすることもできる。
【０１１３】
Ｍ個のそれぞれのパーティクルに対応して、メタボールを生成する。その結果、ある３次元座標（Ｘ，Ｙ，Ｚ）における濃度Ｂ（Ｘ，Ｙ，Ｚ）は、式（１７）のように表すことができる。
【０１１４】
【数１２】
2008059224.tif 000014
【０１１５】
特に、式（１５）の濃度関数と、式（１６）のｈとを採用した場合には、式（１８）のように表される。
【０１１６】
【数１３】
2008059224.tif 000015
【０１１７】
次に、図１０を参照して、メタボール生成手段４によりパーティクルをメタボール表現に変換する様子について説明する。図１０は、パーティクル群からメタボール表現に変換する様子を示した図である。
図１０の左図において、各パーティクルの存在位置に近いほど、またパーティクルが密集しているほどメタボール表現での濃度が濃くなる。図１０に示した例では、メタボール表現を便宜上２次元的に図示しているが、実際には３次元空間上の濃度分布となる。
【０１１８】
メタボール表現における等濃度曲面が対象物体の推定形状（表面形状）を表す。例えば、適宜な閾値βを設定し、式（１９）により対象物体の推定形状Ｖを得ることができる。
【０１１９】
【数１４】
2008059224.tif 000016
【０１２０】
図１１を参照して、対象物体のメタボール表現から、対象物体の推定形状を得る様子について説明する。図１１は、メタボール表現から推定形状を得る様子を示した図である。
図１１はメタボール表現において設定した、ある等濃度曲面（左図の破線）の内部および境界を抽出することで、図１１の右図のような対象物体の推定形状を得ることができる。なお、式（１９）の操作は、通常、従来のＣＧ（Computer Graphics）ソフトウェアで実行することができる。
【０１２１】
図１に戻って、形状推定装置１０の構成について説明を続ける。
モルフォロジ処理手段５は、メタボール生成手段４によって生成された対象物体の３次元形状データを調整し、出力手段６に出力する。
【０１２２】
メタボール表現の性質として、前記した閾値β、濃度を表す関数ｂ（Ｘ，Ｙ，Ｚ；Ｘ０，Ｙ０，Ｚ０、ｈ）、および関数ｈの選び方によっては、実際の物体形状よりも拡大もしくは縮小された推定形状が得られてしまう場合がある。モルフォロジ処理手段５は、メタボール表現に対して、３次元の多値モルフォロジ処理を適用することで推定形状を収縮もしくは膨張し、対象物体の実形状に近づけるための修正手段である。
【０１２３】
ここで、モルフォロジ処理手段５への入力濃度関数をＢ（Ｘ，Ｙ，Ｚ）、モルフォロジ処理手段５からの出力濃度関数をＢ’（Ｘ，Ｙ，Ｚ）とする。収縮のためのモルフォロジ処理は、式（２０）に示すように、ある注目位置の周囲に設定される一定領域内の最小入力濃度を、当該注目位置の出力濃度とする。
【０１２４】
【数１５】
2008059224.tif 000017
【０１２５】
ここで、ＥはＳｔｒｕｃｔｕａｌ  Ｅｌｅｍｅｎｔと称される領域形状であり、例えば、式（２１）に示すように、半怪ρの球を用いることができる。
【０１２６】
【数１６】
2008059224.tif 000018
【０１２７】
一方、膨張のためのモルフォロジ処理は、式（２２）に示すように、ある注目位置の周囲に設定される一定領域内の最大入力濃度を、当該注目位置の出力濃度とする。
【０１２８】
【数１７】
2008059224.tif 000019
【０１２９】
このように、モルフォロジ処理によって、メタボール生成手段４によって生成された対象物体の推定形状の拡大又は縮小を修正（調整）した３次元形状データを生成することができる。
【０１３０】
出力手段６は、モルフォロジ処理手段５によって修正された、対象物体の３次元形状データを出力するための出力インターフェースである。
これによって、例えば、図示しない画像表示装置などに出力して、推定された形状を表示して確認することができる。
【０１３１】
なお、本実施形態では、形状推定装置１０のシルエット抽出手段２及びパーティクルフィルタ手段３は、専用のハードウェアによって構成するようにしたが、一般的なコンピュータを、シルエット抽出手段２及びパーティクルフィルタ手段３として機能するプログラムによって動作させることで実現することもできる。また、形状推定装置１０は、メタボール生成手段４及びモルフォロジ処理手段を含めた各手段として機能するプログラムを結合して動作させることで実現することもできる。
【０１３２】
[形状推定装置の動作]
次に、図１２を参照（適宜図１乃至図３参照）して、図１に示した形状推定装置１０の動作について説明する。図１２は、図１に示した形状推定装置の処理の流れを示したフローチャートである。
【０１３３】
まず、形状推定装置１０は、カメラＣｎ（例えば、図２のＣ１，Ｃ２）等によって対象物体を撮影して得られた画像を入力画像Ｉ１〜ＩＮとして、撮影時のカメラパラメータＣＰ１〜ＣＰＮと共に入力手段１１〜１Ｎを介して入力する（ステップＳ１１）。
【０１３４】
入力された入力画像Ｉ１〜ＩＮは、それぞれ対応するシルエット抽出手段２１〜２ＮによってシルエットＳ１〜ＳＮが抽出される（ステップＳ１２）。
【０１３５】
次に、パーティクルフィルタ手段３によって、シルエット抽出手段２１〜２Ｎで抽出されたシルエットＳ１〜ＳＮ及び入力手段１１〜１Ｎを介して入力されたカメラパラメータＣＰ１〜ＣＰＮに基づいて、複数のパーティクルを用いた対象物体の形状推定を行う（ステップＳ１３）。
【０１３６】
そして、メタボール生成手段４によって、パーティクルフィルタ手段３で推定された対象物体の形状を表すパーティクル群を、メタボール表現に変換し、対象物体の形状データを生成する（ステップＳ１４）。
【０１３７】
メタボール生成手段４で生成された対象物体の形状データは、モルフォロジ処理手段５によって、モルフォロジ処理が施されて、その形状の修正が行われ（ステップＳ１５）、出力手段６を介して出力される（ステップＳ１６）。
【０１３８】
形状推定装置１０は、処理すべき次の画像の入力があるかどうかを確認し（ステップＳ１７）、画像がある場合は（ステップＳ１７でＹｅｓ）、ステップＳ１１に戻って対象物体の形状推定を繰り返し実行し、パーティクル群の状態ベクトルｓｍ及び重み係数ｗｍの更新を続ける。一方、次の画像の入力がない場合は（ステップＳ１７でＮｏ）、処理を終了する。
【０１３９】
なお、図１２に示したフォローチャートでは、ステップＳ１３において、パーティクルフィルタ手段３が出力したパーティクル群に基づいて、ステップＳ１４〜ステップＳ１６の処理を行った後に、次の画像に基づくステップＳ１１〜ステップＳ１３の処理を行うようにしたが、ステップＳ１３において、パーティクルフィルタ手段３がパーティクル群を出力した後に、メタボール生成手段４によるステップＳ１４の処理を進めると共に、ステップＳ１１に戻り、並行して次の画像に基づく処理を行うようにしてもよい。
【０１４０】
［パーティクルフィルタ手段の動作］
次に、図１３を参照（適宜図３参照）して、図３に示したパーティクルフィルタ手段３の動作について説明する。図１３は、図３に示したパーティクルフィルタ手段の処理の流れを示したフローチャートである。
なお、図１３に示したフローチャートは、図１２に示したフローチャートのステップＳ１３に対応する。
【０１４１】
まず、パーティクルフィルタ手段３は、パーティクル生成手段２１によって、対象物体の存在候補領域に所定数（Ｍ個）の、パラメータを初期化したパーティクルを生成し、スイッチ２２をパーティクル生成手段２１側に接続して、生成したパーティクルを加重演算手段２３２に供給する（ステップＳ３１）。
なお、所定数のパーティクルの供給が完了すると、スイッチ２２の接続を加重演算手段２３１側に切り替えておく。
【０１４２】
パーティクルフィルタ手段３は、加重演算手段２３２によって、入力されたパーティクルの重み係数ｗｍを更新（重み係数変更工程）し、更新したパーティクルを次段の加重演算手段２３３（不図示）に出力する（ステップＳ３２２）。そして、順次、ｎ番目の加重演算手段２３ｎによって、前段のｎ−１番目の加重演算手段２３ｎ−１から入力されたパーティクルの重み係数ｗｍを更新し、更新したパーティクルを次段の加重演算手段２３ｎ＋１に出力する。
最後段の加重演算手段２３Ｎによって、パーティクルの重み係数ｗｍを更新すると（ステップＳ３２Ｎ）、Ｍ個のパーティクル群ＰＡを、メタボール生成手段４（図１参照）に出力する（ステップＳ３３）と共に、再サンプリング手段２４に出力する。
なお、ここでは、パーティクルフィルタ手段３から出力されるパーティクル群は、加重演算手段２３Ｎによって出力されるパーティクル群ＰＡとしたが、再サンプリング手段２４によって出力されるパーティクル群ＰＢとしてもよい。その場合には、パーティクル群の出力（ステップＳ３３）は、再サンプリング（ステップＳ３４）の後に行うようにすればよい。
【０１４３】
続いて、パーティクルフィルタ手段３は、再サンプリング手段２４によって、加重演算手段２３Ｎで重み係数ｗｍを更新されたパーティクル群を再サンプリングし（ステップＳ３４）、再サンプリングしたパーティクル群を遅延手段２５に出力する。
【０１４４】
パーティクルフィルタ手段３は、遅延手段２５によって、次の画像入力があるまでパーティクルの処理を待機し、タイミングを調整して状態遷移手段２６にパーティクルを出力する（ステップＳ３５）。
【０１４５】
そして、状態遷移手段２６によって、パーティクルの状態ベクトルを遷移させて（ステップＳ３６）、状態ベクトルを遷移させたパーティクルを加重演算手段２３１に出力する。
【０１４６】
ステップＳ３１において、パーティクル生成手段２１で生成されたパーティクルは、ここまでで、処理が一巡したことになる。そして、次の入力画像に基づいて、二巡目の処理に進む。
ステップＳ３６において状態遷移手段２６で状態ベクトルを遷移されたパーティクルは、二巡目以降は、加重演算手段２３１から加重演算手段２３Ｎによって、順次パーティクルの重み係数ｗｍが更新され（ステップＳ３２１〜Ｓ３２Ｎ）、パーティクル群ＰＡを出力する（ステップＳ３３）。そして、再サンプリング手段２４によって、パーティクル群を再サンプリングし（ステップＳ３４）、遅延手段２５によって、パーティクルの処理のタイミングを調整し（ステップＳ３５）、状態遷移手段２６によって、パーティクルの状態ベクトルを遷移する（ステップＳ３６）。
以下、新たな入力画像があると、ステップＳ３２１からステップＳ３６を繰り返す。
【０１４７】
ここで、入力画像を時系列で入力し、パーティクルフィルタ手段３によって、パーティクルの状態ベクトルｓｍ及び重み係数ｗｍの更新を繰り返し行うことにより、対象物体が移動又は変形する場合であっても、限られた個数のパーティクルを用いて当該対象物体の形状を効率的に推定することができる。
【０１４８】
なお、加重演算手段２３１〜２３Ｎは、パーティクルを個々に処理することができるため、Ｍ個のパーティクルのすべての処理を終えてから次段に出力するのではなく、処理が成された個々のパーティクルを順次出力し、直列に接続された加重演算手段２３１〜２３Ｎによってパイプライン処理を行うようにしてもよい。
【０１４９】
［パーティクル生成手段の動作］
次に、図１４を参照（適宜図４参照）して、図１２に示したフローチャートのパーティクル生成（ステップＳ３１）の手順の例について説明する。図１４は、図１２に示したフローチャートのパーティクル生成の詳細な手順を示したフローチャートである。
【０１５０】
式（３）及び式（４）に基づくパーティクルの生成は、図１４のフローチャートに示した手順により簡便に実行することもできる。
Ｍ個のパーティクルを生成するに際して、ｍ（ｍ＝１，２，…，Ｍ）をパーティクルの番号とすると、まず、ｍ＝１として（ステップＳ５１）、１番目のパーティクルから順次生成する。
【０１５１】
１番目のパーティクルに対して、領域Ｄ内において一様で、かつ、領域Ｄ外において確率密度が０となる確率密度関数ｕ（Ｄ）に従う乱数を生成し、生成した乱数値から３次元の座標（Ｘ，Ｙ，Ｚ）を構成して、座標の初期値の候補とする（ステップＳ５２）。
【０１５２】
次に、ステップＳ５２でサンプリングした候補座標のシルエットＳ１に対応する画像面への投影変換（ｆ１（Ｘ，Ｙ，Ｚ）、ｇ１（Ｘ，Ｙ，Ｚ））を求め、シルエットＳ１の画素値Ｓ１（ｆ１（Ｘ，Ｙ，Ｚ）、ｇ１（Ｘ，Ｙ，Ｚ））を取得し、それをｑとする（ステップＳ５３）。
【０１５３】
続いて、０以上１未満の一様乱数ｒを生成し（ステップＳ５４）、ステップＳ５３で取得したｑとを比較する（ステップＳ５５）。
ｑがｒよりも大きい場合（ステップＳ５５でＹｅｓ）、ステップＳ５２で生成した座標（Ｘ，Ｙ，Ｚ）を、１番目（ｍ番目）のパーティクルの座標（Ｘｍ，Ｙｍ，Ｚｍ）の初期値として採用する（ステップＳ５６）。
一方、ｑがｒ以下の場合（ステップＳ５５でＮｏ）、ステップＳ５２に戻り、１番目（ｍ番目）のパーティクルの座標の候補を再度生成する。
【０１５４】
ステップＳ５６で１番目（ｍ番目）のパーティクルの座標の初期値が採用されると、そのパーティクルの番号ｍと生成すべきパーティクルの個数Ｍとを比較し（ステップＳ５７）、ｍがＭよりも小さい場合は（ステップＳ５７でＹｅｓ）、ｍをインクリメントし（ステップＳ５８）、ステップＳ５２に戻って、次のパーティクルに対する座標の初期値を決定する手順を順次実行する。そして、ｍがインクリメントされてＭになるまでステップＳ５２からステップＳ５８の処理を繰り返す。
一方、ｍがＭ以上の場合（ステップＳ５７でＮｏ）、必要個数のパーティクルの座標の初期値の決定が完了したため、処理を終了する。
【０１５５】
以上の手順によって、Ｍ個のパーティクルの状態ベクトルｓｍの座標の初期値（Ｘｍ，Ｙｍ，Ｚｍ）が設定される。また、状態ベクトルｓｍが、座標（位置成分）以外の成分を含む場合は、それらの成分の一部又は全部の初期値を、所定の定数（例えば０）や乱数によって設定することができる。また、パーティクルの重み係数ｗｍの初期値は、すべて均一の値（例えば、１／Ｍ）とする。
【０１５６】
以上、説明したように、本発明による形状推定装置１０は、入力画像Ｉｎ及び対応するカメラパラメータＣＰｎに基づいて、対象物体の形状を推定することができる。
【０１５７】
なお、対象物体が移動又は変形しない場合は、時系列で画像を入力する必要はなく、同じ画像を用いてパーティクルの状態ベクトルｓｍ及び重み係数ｗｍが収束するまでパーティクルフィルタ手段３による処理を繰り返すようにすればよい。
【０１５８】
また、状態ベクトルｓｍに適宜速度成分や加速度成分を導入し、時系列で入力される画像を用いてパーティクルフィルタ手段３による処理を繰り返すことにより、時々刻々移動又は変形する対象物体の、動きを含めた３次元形状の推定を行うことができる。
更に、パーティクルフィルタによって推定した３次元形状に関する情報をメタボール表現へ簡単に変換することができ、推定した３次元形状の外観を確認することができる。
【図面の簡単な説明】
【０１５９】
【図１】本発明にかかる実施形態の形状推定装置の構成を示したブロック図である。
【図２】（ａ）は、対象物体をカメラで撮影する様子を示した図、（ｂ）はカメラによって撮影された入力画像、（ｃ）はシルエットである。
【図３】パーティクルフィルタ手段の構成を示したブロック図である。
【図４】パーティクルを生成する様子を模式的に示した図である。
【図５】パーティクルの重み係数を更新する様子を模式的に示した図である。
【図６】再サンプリングの様子を模式的に示した図であり、（ａ）は、再サンプリング前のパーティクルを示し、（ｂ）は、再サンプリング後のパーティクルを示す。
【図７】再サンプリング手段によるパーティクルの再サンプリングの様子を示した図である。
【図８】回転台に置かれた剛体の対象物体の形状推定の様子を示した図である。
【図９】ほぼ等速度運動する非剛体の対象物体の形状推定の様子を示した図である。
【図１０】パーティクル群からメタボール表現に変換する様子を示した図である。
【図１１】メタボール表現から推定形状を得る様子を示した図である。
【図１２】図１に示した形状推定装置の処理の流れを示したフローチャートである。
【図１３】図３に示したパーティクルフィルタ手段の処理の流れ示したフローチャートである。
【図１４】図１２に示したフローチャートのパーティクル生成の詳細な手順を示したフローチャートである。
【符号の説明】
【０１６０】
２（２１，２２，…，２N）  シルエット抽出手段
３      パーティクルフィルタ手段
４      メタボール生成手段
５      モルフォロジ処理手段
１０    形状推定装置
２１    パーティクル生成手段
２３（２３１，２３２，…，２３Ｎ）  加重演算手段（重み係数変更手段）
２４    再サンプリング手段
２６    状態遷移手段
ＣＰ１，ＣＰ２，…，ＣＰＮ  カメラパラメータ
Ｄ      領域（探索領域）
Ｉ１，Ｉ２，…，ＩＮ  入力画像
Ｏ      対象物体（オブジェクト）
Ｏ’    対象物体像（映像オブジェクト）
Ｐ（Ｐ１，Ｐ２）  パーティクル
ＰＡ，ＰＢ  パーティクル群
Ｓ１，Ｓ２，…，ＳＮ  シルエット
【図１】
2008059224.tif 000020
【図２】
2008059224.tif 000021
【図３】
2008059224.tif 000022
【図４】
2008059224.tif 000023
【図５】
2008059224.tif 000024
【図６】
2008059224.tif 000025
【図７】
2008059224.tif 000026
【図８】
2008059224.tif 000027
【図９】
2008059224.tif 000028
【図１０】
2008059224.tif 000029
【図１１】
2008059224.tif 000030
【図１２】
2008059224.tif 000031
【図１３】
2008059224.tif 000032
【図１４】
2008059224.tif 000033