(57)【要約】  精度の高い３次元モデルを迅速に生成する。３次元モデル生成システム（１）の骨格取得手段（３２）は、深度検出装置（１０）が検出した被写体の深度情報に基づいて、骨格パラメータを取得する。姿勢変化手段（３４）は、骨格パラメータに基づいて、体型パラメータにより変形可能な３次元モデルの姿勢を変化させる。表面形状取得手段（３６）は、深度情報に基づいて、被写体の表面形状を取得する。体型決定手段（３７）は、姿勢変化手段（３４）により姿勢が変化した３次元モデルの表面形状と、被写体の表面形状と、の差に基づいて、体型パラメータを決定する。体型変形手段（３９）は、体型パラメータ決定手段（３７）により決定された体型パラメータに基づいて、３次元モデルを変形させる。
2017141344.tif 000002
【特許請求の範囲】
【請求項１】
深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段と、
前記骨格パラメータに基づいて、体型パラメータにより変形可能な３次元モデルの姿勢を変化させる姿勢変化手段と、
前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段と、
前記姿勢変化手段により姿勢が変化した３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段と、
前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記３次元モデルを変形させる体型変形手段と、
を含むことを特徴とする３次元モデル生成システム。
【請求項２】
前記３次元モデル生成システムは、前記３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記骨格パラメータを決定する骨格決定手段を更に含み、
前記姿勢変化手段は、前記骨格決定手段により決定された骨格パラメータに基づいて、前記３次元モデルの姿勢を更新する、
ことを特徴とする請求項１に記載の３次元モデル生成システム。
【請求項３】
前記３次元モデル生成システムは、前記体型変形手段により変形した３次元モデルの表面形状の一部と、当該部分に対応する前記被写体の表面形状と、の差に基づいて、当該部分を変形させる部分変形手段、
を更に含むことを特徴とする請求項１又は２に記載の３次元モデル生成システム。
【請求項４】
前記３次元モデル生成システムは、前記深度情報に基づいて、前記３次元モデルの中から、前記深度検出装置の検出範囲に対応する部分を特定する検出範囲特定手段を更に含み、
前記部分変形手段は、前記３次元モデルのうち、前記検出範囲特定手段により特定された部分を変形させる、
ことを特徴とする請求項３に記載の３次元モデル生成システム。
【請求項５】
前記部分変形手段は、前記３次元モデルの各部分を、周囲の変形具合に基づいて変形させる、
ことを特徴とする請求項３又は４に記載の３次元モデル生成システム。
【請求項６】
前記部分変形手段は、前記３次元モデルの各部分を、当該部分の過去の形状に基づいて変形させる、
ことを特徴とする請求項３〜５の何れかに記載の３次元モデル生成システム。
【請求項７】
前記３次元モデル生成システムは、前記３次元モデル又は前記被写体の表面形状に基づいて、前記３次元モデルの中から、前記被写体の身体に対応する身体部分を特定する身体部分特定手段を更に含み、
前記体型決定手段は、前記体型パラメータを決定する場合に、前記身体部分に対応する差の重み付けを、他の部分の差の重み付けよりも高くする、
ことを特徴とする請求項１〜６の何れかに記載の３次元モデル生成システム。
【請求項８】
前記３次元モデル生成システムは、前記深度情報に基づいて、前記３次元モデルの中から、前記深度検出装置の検出範囲に対応する頂点を特定する検出範囲特定手段を更に含み、
前記体型決定手段は、前記検出範囲における前記３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する、
ことを特徴とする請求項１〜７の何れかに記載の３次元モデル生成システム。
【請求項９】
前記３次元モデル生成システムは、前記体型パラメータの履歴を記憶手段に記録する履歴記録手段を更に含み、
前記体型決定手段は、前記履歴記録手段により記録された履歴に基づいて、前記体型パラメータを決定する、
ことを特徴とする請求項１〜８の何れかに記載の３次元モデル生成システム。
【請求項１０】
深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得ステップと、
前記骨格パラメータに基づいて、体型パラメータにより変形可能な３次元モデルの姿勢を変化させる姿勢変化ステップと、
前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状ステップと、
前記姿勢変化ステップにより姿勢が変化した３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定ステップと、
前記体型パラメータ決定ステップにより決定された体型パラメータに基づいて、前記３次元モデルを変形させる体型変形ステップと、
を含むことを特徴とする３次元モデル生成方法。
【請求項１１】
深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段、
前記骨格パラメータに基づいて、体型パラメータにより変形可能な３次元モデルの姿勢を変化させる姿勢変化手段、
前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段、
前記姿勢変化手段により姿勢が変化した３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段、
前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記３次元モデルを変形させる体型変形手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデル生成システム、３次元モデル生成方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、人や動物などの被写体を深度検出装置で検出して３次元モデルを生成する技術が知られている。例えば、非特許文献１には、複数のＲＧＢＤカメラで互いに異なる方向から被写体を撮影し、各ＲＧＢＤカメラが取得した被写体の輪郭情報及び深度情報に基づいて被写体のボディラインを推定して３次元モデルを生成する技術が記載されている。また例えば、非特許文献２には、単一のＲＧＢＤカメラが検出した深度情報が示す手足の長さに合うように３次元モデルを変形させる技術が記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】A.Weiss, D.Hirshberg, and M.J.Black. Home 3d body scans from noisy image and range data. ICCV, 2011.
【非特許文献２】Q.Wang, V.Jagadeesh, B.Ressler, and R.Piramuthu. Im2fit: Fast 3d model fitting and anthropometrics using single consumer depth camera and synthetic data. arXiv, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１の技術では、多数のＲＧＢＤカメラを用意する必要があるので、専用の撮影スタジオなどが必要になる。更に、各撮影方向から被写体を撮影したＲＧＢＤ画像を解析する必要があるので、処理が複雑化し、３次元モデルを生成するのに時間がかかる。また、非特許文献２の技術では、単に手足などの長さに応じて３次元モデルを変形させるので、被写体のサイズを正確に推定できず、例えば、実際の被写体のサイズよりも大きい３次元モデルが生成されてしまい、精度の高い３次元モデルを生成することができない。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、精度の高い３次元モデルを迅速に生成することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る３次元モデル生成システムは、深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段と、前記骨格パラメータに基づいて、体型パラメータにより変形可能な３次元モデルの姿勢を変化させる姿勢変化手段と、前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段と、前記姿勢変化手段により姿勢が変化した３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段と、前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記３次元モデルを変形させる体型変形手段と、を含むことを特徴とする。【０００７】
本発明に係る３次元モデル生成方法は、深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得ステップと、前記骨格パラメータに基づいて、体型パラメータにより変形可能な３次元モデルの姿勢を変化させる姿勢変化ステップと、前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状ステップと、前記姿勢変化ステップにより姿勢が変化した３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定ステップと、前記体型パラメータ決定ステップにより決定された体型パラメータに基づいて、前記３次元モデルを変形させる体型変形ステップと、を含むことを特徴とする。【０００８】
本発明に係るプログラムは、深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段、前記骨格パラメータに基づいて、体型パラメータにより変形可能な３次元モデルの姿勢を変化させる姿勢変化手段、前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段、前記姿勢変化手段により姿勢が変化した３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段、前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記３次元モデルを変形させる体型変形手段、としてコンピュータを機能させる。【０００９】
また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。【００１０】
また、本発明の一態様では、前記３次元モデル生成システムは、前記３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記骨格パラメータを決定する骨格決定手段を更に含み、前記姿勢変化手段は、前記骨格決定手段により決定された骨格パラメータに基づいて、前記３次元モデルの姿勢を更新する、ことを特徴とする。【００１１】
また、本発明の一態様では、前記３次元モデル生成システムは、前記体型変形手段により変形した３次元モデルの表面形状の一部と、当該部分に対応する前記被写体の表面形状と、の差に基づいて、当該部分を変形させる部分変形手段、を更に含むことを特徴とする。【００１２】
また、本発明の一態様では、前記３次元モデル生成システムは、前記深度情報に基づいて、前記３次元モデルの中から、前記深度検出装置の検出範囲に対応する部分を特定する検出範囲特定手段を更に含み、前記部分変形手段は、前記３次元モデルのうち、前記検出範囲特定手段により特定された部分を変形させる、ことを特徴とする。【００１３】
また、本発明の一態様では、前記部分変形手段は、前記３次元モデルの各部分を、周囲の変形具合に基づいて変形させる、ことを特徴とする。【００１４】
また、本発明の一態様では、前記部分変形手段は、前記３次元モデルの各部分を、当該部分の過去の形状に基づいて変形させる、ことを特徴とする。【００１５】
また、本発明の一態様では、前記３次元モデル生成システムは、前記３次元モデル又は前記被写体の表面形状に基づいて、前記３次元モデルの中から、前記被写体の身体に対応する身体部分を特定する身体部分特定手段を更に含み、前記体型決定手段は、前記体型パラメータを決定する場合に、前記身体部分に対応する差の重み付けを、他の部分の差の重み付けよりも高くする、ことを特徴とする。【００１６】
また、本発明の一態様では、前記３次元モデル生成システムは、前記深度情報に基づいて、前記３次元モデルの中から、前記深度検出装置の検出範囲に対応する頂点を特定する検出範囲特定手段を更に含み、前記体型決定手段は、前記検出範囲における前記３次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する、ことを特徴とする。【００１７】
また、本発明の一態様では、前記３次元モデル生成システムは、前記体型パラメータの履歴を記憶手段に記録する履歴記録手段を更に含み、前記体型決定手段は、前記履歴記録手段により記録された履歴に基づいて、前記体型パラメータを決定する、ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、精度の高い３次元モデルを迅速に生成することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】３次元モデル生成システムにおいて被写体が撮影される様子を示す図である。
【図２】３次元モデル生成システムのハードウェア構成を示す図である。
【図３】深度情報の一例を示す図である。
【図４】検出姿勢情報の一例を示す図である。
【図５】３次元モデル生成システムが実行する処理の概要を示す図である。
【図６】３次元モデル生成システムで実現される機能の一例を示す機能ブロック図である。
【図７】骨格パラメータを示す図である。
【図８】体型パラメータにより３次元モデルが変形する様子を示す図である。
【図９】骨格パラメータに基づいて３次元モデルの姿勢が変化する様子を示す図である。
【図１０】骨格パラメータに基づいて３次元モデルの姿勢が変化する様子を示す図である。
【図１１】検出範囲特定部の処理を説明するための説明図である。
【図１２】体型決定部の処理の説明図である。
【図１３】最適化が行われた場合に３次元モデルが変化する様子を示す図である。
【図１４】頂点移動量の説明図である。
【図１５】３次元モデルを示す図である。
【図１６】３次元モデル生成システムにおいて実行される処理の一例を示すフロー図である。
【図１７】形状推定処理の詳細を示す図である。
【図１８】幾何学的再構成処理の詳細を示す図である。
【発明を実施するための形態】
【００２０】
［１．３次元モデル生成システムのハードウェア構成］
以下、本発明に関わる３次元モデル生成システムの実施形態の例を説明する。図１は、３次元モデル生成システムにおいて被写体が撮影される様子を示す図であり、図２は、３次元モデル生成システムのハードウェア構成を示す図である。図１及び図２に示すように、３次元モデル生成システム１は、深度検出装置１０及び３次元モデル生成装置２０を含む。深度検出装置１０及び３次元モデル生成装置２０は、有線通信又は無線通信によりデータ送受信可能に接続される。
【００２１】
深度検出装置１０は、被写体の深度を検出する計測機器である。例えば、深度検出装置１０は、Ｋｉｎｅｃｔ（登録商標）センサであってよい。深度は、深度検出装置１０と被写体との距離である。被写体は、検出対象となる動く物体であり、例えば、人や動物及びその被服である。
【００２２】
深度検出装置１０は、制御部１１、記憶部１２、通信部１３、及び深度検出部１４を含む。制御部１１は、例えば、一又は複数のマイクロプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部１３は、有線通信又は無線通信用のネットワークカードを含む。通信部１３は、ネットワークを介してデータ通信を行う。
【００２３】
深度検出部１４は、電磁波や音波などを利用して深度を検出する深度センサ（距離カメラ）であり、例えば、ＲＧＢＤカメラや超音波センサなどである。ここでは、深度検出部１４がＲＧＢＤカメラを含み、赤外線を利用して被写体の深度を検出する場合を説明するが、深度検出部１４自体は、公知の種々の深度センサにより実現可能である。
【００２４】
例えば、深度検出部１４のＲＧＢＤカメラは、ＣＭＯＳイメージセンサ又はＣＣＤイメージセンサと、赤外線センサと、を含む。深度検出部１４は、ＣＭＯＳイメージセンサ又はＣＣＤイメージセンサの検出信号により、被写体のＲＧＢ画像を生成する。ＲＧＢ画像は、被写体の平面的な情報であり、深度を持たない。また、深度検出部１４は、赤外線センサの発光素子から赤外線を発射し、被写体により反射した赤外線を受光素子で検出する。そして、深度検出部１４は、赤外線を発射してから戻るまでの飛行時間に基づいて、被写体との距離を推定して深度情報を生成する。なお、深度情報の生成方法自体は、公知の種々の手法を適用可能であり、上記説明した飛行時間方式以外にも、ライトコーディング方式を利用してもよい。
【００２５】
図３は、深度情報の一例を示す図である。図３に示すように、ここでは、深度情報Ｉは、深度画像として示される。このため、深度情報Ｉの各ピクセルには、深度を示す画素値が関連付けられる。なお、深度情報Ｉは、ＲＧＢ画像と別の画像として扱ってもよいし、ＲＧＢ画像と１つにまとめたＲＧＢＤ画像として扱ってもよい。ＲＧＢＤ画像とする場合には、各ピクセルの画素値は、各色チャンネルの数値に加えて、深度チャンネルの数値を含むことになる。本実施形態では、深度情報ＩがＲＧＢ画像とは別のものとして扱われる場合を説明する。
【００２６】
深度検出装置１０は、深度検出部１４が検出した深度情報Ｉに基づいて、被写体の各関節の位置を推定してスケルトンを取得する。スケルトンは、公知の種々の抽出方法で取得可能であるが、ここでは、テンプレートマッチングを利用した方法を一例として説明する。例えば、深度検出装置１０は、深度検出部１４が検出した深度情報Ｉと、被写体の輪郭の基本形状を示すテンプレート画像と、のテンプレートマッチングを実行し、深度情報Ｉにおける被写体の各関節の位置（ピクセル）を推定する。そして、深度検出装置１０は、各関節の深度を所定の行列変換することで、各関節の３次元的な位置を推定する。当該推定された各関節の位置は、スケルトンの姿勢であり、以降では、検出姿勢情報として表される。
【００２７】
図４は、検出姿勢情報の一例を示す図である。図４に示すように、検出姿勢情報Ｊは、被写体の複数の関節のそれぞれの３次元座標を含む。ここでは、検出姿勢情報Ｊは、頭Ｊ１、肩中央Ｊ２、右肩Ｊ３、右ひじＪ４、右手Ｊ５、左肩Ｊ６、左ひじＪ７、左手Ｊ８、背骨Ｊ９、尻中央Ｊ１０、右尻Ｊ１１、右ひざＪ１２、右足Ｊ１３、左尻Ｊ１４、左ひざＪ１５、及び左足Ｊ１６の３次元座標を含む場合を説明する。なお、図４では、深度検出装置１０から被写体を見た様子を示すので、図面上では左右の位置関係が逆になっている。また、検出姿勢情報Ｊが示す関節の数は、上記１６個より多くてもよいし、少なくてもよい。検出姿勢情報Ｊは、深度情報Ｉから検出可能な関節の位置を示せばよく、他にも例えば、手首や足首の位置を含んでいてもよい。
【００２８】
本実施形態では、深度検出装置１０は、所定のフレームレートのもと、深度情報Ｉと検出姿勢情報Ｊを生成する。このため、深度検出装置１０は、深度情報Ｉと検出姿勢情報Ｊを定期的に生成する。例えば、フレームレートを３０ｆｐｓとすると、深度検出装置１０は、１／３０秒ごとに深度情報Ｉと検出姿勢情報Ｊを生成する。以降、深度情報Ｉと検出姿勢情報Ｊのうち、ある時刻ｔのものを指すときは、それぞれの符号をＩｔ，Ｊｔと記載する。
【００２９】
３次元モデル生成装置２０は、３次元モデルを生成するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末（タブレット型コンピュータを含む）、又は携帯電話機（スマートフォンを含む）等である。３次元モデル生成装置２０は、制御部２１、記憶部２２、通信部２３、操作部２４、及び表示部２５を含む。制御部２１、記憶部２２、及び通信部２３のハードウェア構成は、それぞれ制御部１１、記憶部１２、及び通信部１３と同様であるので説明を省略する。
【００３０】
操作部２４は、プレイヤが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部２４は、プレイヤによる操作内容を制御部２１に伝達する。表示部２５は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部２５は、制御部２１の指示に従って画面を表示する。
【００３１】
なお、記憶部１２，２２に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してこれらに供給されるようにしてもよい。また、深度検出装置１０及び３次元モデル生成装置２０のハードウェア構成は、上記の例に限られず、種々のコンピュータのハードウェアを適用可能である。例えば、深度検出装置１０及び３次元モデル生成装置２０の各々は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部を介して、深度検出装置１０及び３次元モデル生成装置２０に供給されるようにしてもよい。
【００３２】
［２．本発明に係る処理の概要］
図５は、３次元モデル生成システム１が実行する処理の概要を示す図である。図５のｔは時間軸である。図５に示すように、深度検出装置１０は、３次元モデル生成装置２０に深度情報Ｉと検出姿勢情報Ｊを定期的に送信する。３次元モデル生成装置２０は、各フレームの開始時点で深度情報Ｉと検出姿勢情報Ｊを受信すると、被写体の身体の形状（ボディライン）を推定する形状推定処理と、推定したボディラインから部分的な詳細形状（洋服のしわなど）を再構成する幾何学的再構成処理と、を実行する。形状推定処理と幾何学的再構成処理は、毎フレーム実行される。
【００３３】
形状推定処理では、深度情報Ｉや検出姿勢情報Ｊを利用して、身体の基本形状を示すテンプレートが、被写体の姿勢や体型と似るように変形する。テンプレートは、身体そのものを示す３次元モデルであり、例えば、裸の３次元モデルであってよい。テンプレートは、身体の部位を示す複数のパーツから構成され、被写体の撮影データや３ＤＣＡＤを利用して予め用意しておけばよい。以降、テンプレートを指すときは、３次元モデルに「ＭＴ」の符号を記載し、形状推定処理で変形させた３次元モデルを指すときは、「ＭＳ」の符号を記載する。３次元モデルＭＳは、被写体の姿勢や体型を再現した裸の３次元モデルといえる。
【００３４】
幾何学的再構成処理では、深度情報Ｉを利用して、洋服のしわなどの詳細形状（身体以外の部分の形状）が表れるように、３次元モデルＭＳを部分的に再構成する。以降、この状態の３次元モデルを指すときは、「ＭＤ」の符号を記載する。３次元モデルＭＤは、被写体のボディラインだけでなく、身に着けているものまで再現した３次元モデルである。詳細は後述するが、３次元モデルＭＤは、被写体の身体の部分とそれ以外の部分とを区別できるので、幾何学的再構成処理の実行結果を形状推定処理にフィードバックすることで、３次元モデルＭＳの精度を高めることもできる。
【００３５】
本実施形態では、ベイズ推定理論を利用して、３次元モデルＭＳ，ＭＤの精度の高さを評価して、これらの精度を高めるようにしている。ベイズ推定理論は、現実世界の計測結果をもとに、推定したい事柄を確率的な意味で推定する手法である。ベイズ推定理論の確率が高いほど、推定したい事柄が実際に起こる蓋然性が高い。即ち、ベイズ推定理論の確率が高ければ、推定した３次元モデルＭＳ，ＭＤが実際の被写体に似ていることになる。
【００３６】
３次元モデル生成システム１は、ベイズ推定理論の確率が高くなるように、３次元モデルＭＴの全体的な変形具合と部分的な再構成具合を決める。本実施形態では、この確率を高めるために、３次元モデルＭＳと被写体との全体的なずれ具合の評価値ＥＳ、３次元モデルＭＤと被写体との部分的なずれ具合の評価値ＥＤ、及び、３次元モデルＭＳが現実ではありえない急激な変化をしないようにするための評価値Ｅ０の３つの評価値を利用して、精度の高い３次元モデルを迅速に生成するようにしている。以降、この技術の詳細を説明する。
【００３７】
［３．本実施形態において実現される機能］
図６は、３次元モデル生成システム１で実現される機能の一例を示す機能ブロック図である。図６に示すように、本実施形態では、データ記憶部３０、深度取得部３１、骨格取得部３２、体型取得部３３、姿勢変化部３４、検出範囲特定部３５、表面形状取得部３６、体型決定部３７、履歴記録部３８、体型変形部３９、骨格決定部４０、部分変形部４１、及び身体部分特定部４２が、３次元モデル生成装置２０で実現される場合を説明する。なお、ここでは、体型決定部３７及び骨格決定部４０により形状推定処理の主たる処理が実行され、部分変形部４１により幾何学的再構成処理の主たる処理が実行される。
【００３８】
［３−１．データ記憶部］
データ記憶部３０は、記憶部２２を主として実現される。データ記憶部３０は、３次元モデルＭＳ，ＭＤを生成するためのデータを記憶する。ここでは、データ記憶部３０が記憶するデータの一例として、下記のデータを説明する。
（１）深度情報Ｉの履歴を格納する深度履歴データ
（２）骨格パラメータ（詳細後述）の履歴を格納する骨格履歴データ
（３）体型パラメータ（詳細後述）の履歴を格納する体型履歴データ
（４）頂点移動量（詳細後述）の履歴を格納する移動量履歴データ
（５）３次元モデルＭＴを定義したテンプレートデータ
（６）３次元モデルＭＳの履歴を格納する身体履歴データ
（７）３次元モデルＭＤの履歴を格納する再構成履歴データ
【００３９】
なお、データ記憶部３０に記憶されるデータは上記の例に限られない。例えば、データ記憶部３０は、検出姿勢情報Ｊの履歴を格納するデータやスケルトンＪＴの基本姿勢を示すデータを記憶してもよい。
【００４０】
［３−２．深度取得部］
深度取得部３１は、制御部２１を主として実現される。深度取得部３１は、深度検出装置１０が検出した被写体の深度情報Ｉ（図３）を取得する。本実施形態では、３次元モデル生成装置２０が深度検出装置１０と直接的に接続されているので、深度取得部３１は、深度検出装置１０から深度情報Ｉを直接的に受信するが、他の機器を経由して深度情報Ｉを間接的に受信してもよい。深度取得部３１は、取得した深度情報を深度履歴データに格納する。
【００４１】
［３−３．骨格取得部］
骨格取得部３２は、制御部２１を主として実現される。骨格取得部３２は、深度検出装置１０が検出した深度情報Ｉに基づいて、被写体の骨格パラメータを取得する。骨格パラメータは、被写体の骨格に関する情報であり、各関節の位置関係を示す情報である。図４の検出姿勢情報Ｊをそのまま骨格パラメータとして用いてもよいが、ここでは、骨格取得部３２は、検出姿勢情報Ｊが示す各関節の角度を骨格パラメータとして用いる場合を説明する。骨格取得部３２は、取得した骨格パラメータを骨格履歴データに格納する。
【００４２】
図７は、骨格パラメータを示す図である。図７に示すように、骨格取得部３２は、検出姿勢情報Ｊが示す各関節の３次元座標に基づいて計算した各関節の角度｛θｊ｝を、骨格パラメータとして取得する。検出姿勢情報Ｊが示す各関節のうち、末端以外の関節には角度が存在するので、図７の例では、骨格パラメータ｛θｊ｝は１２個の角度から構成されることになる。以降、ある時刻ｔにおける骨格パラメータ｛θｊ｝を指すときは、｛θｔｊ｝と記載する。
【００４３】
［３−４．体型取得部］
体型パラメータ取得部は、制御部２１を主として実現される。体型パラメータ取得部は、体型パラメータを取得する。本実施形態では、３次元モデルＭＴが体型パラメータにより変形したものが、３次元モデルＭＳである。ここでの変形とは、表面の位置や形状を変えることであり、例えば、全体的なサイズを変えたり、部分的な形状を変えたりすることである。体型取得部３３は、取得した体型パラメータを体型履歴データに格納する。
【００４４】
体型パラメータは、被写体の体型の特徴を示すものであり、全身又は部位ごとのサイズを示す。例えば、体型パラメータは、身長、胸囲、ウエスト、身幅、股下、腕の長さ、又は足のサイズなどのそれぞれの数値を含む。本実施形態では、体型パラメータは、複数の値の組み合わせであり、｛βｋ｝の符号で記載する。ｋは、体型パラメータに含まれる項目を識別する数字であり、例えば、β１は身長、β２は胸囲、β３はウエスト・・・などである。なお、体型パラメータは、複数の値の組み合わせではなく、単一の値のみであってもよい。
【００４５】
図８は、体型パラメータ｛βｋ｝により３次元モデルＭＴが変形する様子を示す図である。図８に示すように、３次元モデルＭＴは、体型パラメータ｛βｋ｝が示す体型になるように変形する。例えば、３次元モデルＭＴは、β１が小さいほど身長が低くなり、β１が大きいほど身長が高くなるように変形する。また例えば、３次元モデルＭＴは、β２が小さいほど胸囲が短くなり、β２が大きいほど胸囲が長くなるように変形する。また例えば、３次元モデルＭＴは、β３が小さいほどウエストが細くなり、β３が大きいほどウエストが太くなるように変形する。
【００４６】
体型パラメータ｛βｋ｝と、３次元モデルＭＴの各パーツの形状（即ち、頂点の位置）と、の関係は、予めデータ記憶部３０に記憶されているものとする。この関係は、数式形式であってもよいし、テーブル形式であってもよいし、プログラムコードとして記述されていてもよい。この関係は、３次元モデルＭＴが体型パラメータ｛βｋ｝の体型になるように定義されている。後述する体型変形部３９は、体型パラメータ｛βｋ｝に関連付けられた形状になるように、３次元モデルＭＴの各パーツを変形させる。これにより、体型パラメータ｛βｋ｝に応じた体型になるように、３次元モデルＭＴが変形する。
【００４７】
以降、ある時刻ｔにおける体型パラメータ｛βｋ｝を指すときは、｛βｔｋ｝と記載する。なお、深度情報Ｉが初めて取得されたとき（即ち、本発明に係る処理の開始時）をｔ＝０とすると、その時点の体型パラメータ｛β０ｋ｝は初期値となり、テンプレートの３次元モデルＭＴの体型をそのまま示す値となる。体型パラメータ｛β０ｋ｝は、データ記憶部３０に予め記憶させておけばよい。ｔ＝０では、体型取得部３３は、データ記憶部３０に記憶された初期値の体型パラメータ｛β０ｋ｝を取得することになる。
【００４８】
［３−５．姿勢変化部］
姿勢変化部３４は、制御部２１を主として実現される。姿勢変化部３４は、骨格パラメータ｛θｊ｝に基づいて、体型パラメータ｛βｋ｝により変形可能な３次元モデルＭＴの姿勢を変化させる。姿勢変化部３４は、骨格パラメータ｛θｊ｝が示す姿勢になるように、３次元モデルＭＴの各パーツの位置関係を変化させる。なお、姿勢は、身体の部位の位置関係であり、ここでは、各関節の位置関係である。
【００４９】
図９及び図１０は、骨格パラメータ｛θｊ｝に基づいて３次元モデルＭＴの姿勢が変化する様子を示す図である。図９に示すように、まず、姿勢変化部３４は、基本姿勢（例えば、直立の状態）のスケルトンＪＴを３次元モデルＭＴの内部に設定する。スケルトンＪＴを構成する複数の関節の位置関係は、テンプレートである３次元モデルＭＴの姿勢を示すように予め定めておけばよい。３次元モデルＭＴにスケルトンＪＴが設定されると、３次元モデルＭＴの各頂点は、スケルトンＪＴの何れかの関節と関連付けられる。スケルトンＪＴが変形して各関節が移動すると、当該関節に関連付けられた頂点は、当該関節と所定の位置関係を保つように移動する。即ち、ある関節に関連付けられた頂点は、その関節と連動することになる。
【００５０】
姿勢変化部３４は、骨格パラメータ｛θｊ｝が示す各関節の位置関係と、スケルトンＪＴの各関節の位置関係と、が対応するように、スケルトンＪＴを変形させる。位置関係が対応するとは、これら２つの関節の位置が一致すること、又は、位置のずれが所定未満になることである。ある程度の位置的なずれを許容するのは、被写体の実際の関節間の距離と、スケルトンＪＴの関節間の距離と、が必ずしも一致せず、これらの３次元座標を完全に一致させることが難しいからである。
【００５１】
本実施形態では、全体的な姿勢を似せるために、姿勢変化部３４は、スケルトンＪＴの各関節の角度が、骨格パラメータ｛θｊ｝と一致又はずれが基準未満になるように、スケルトンＪＴを変形させる。先述したように、３次元モデルＭＴの各頂点は、自身が関連付けられた関節と連動するので、図１０に示すように、姿勢変化部３４がスケルトンＪＴを変形させると、被写体の姿勢と似た姿勢の３次元モデルＭＳを取得することができる。
【００５２】
［３−６．検出範囲特定部］
検出範囲特定部３５は、制御部２１を主として実現される。検出範囲特定部３５は、深度情報Ｉに基づいて、３次元モデルＭＳの中から、深度検出装置１０の検出範囲に対応する部分を特定する。検出範囲は、被写体の表面のうち検出可能な範囲であり、深度検出装置１０の赤外線が反射する場所である。例えば、検出範囲特定部３５は、深度情報Ｉに基づいて、３次元空間における深度検出装置１０の向きを取得し、当該取得した向きと、３次元モデルＭＳの表面の向きと、の関係に基づいて検出範囲を特定する。
【００５３】
図１１は、検出範囲特定部３５の処理を説明するための説明図である。図１１に示すように、ここでは、深度検出装置１０の視線方向Ｖ（即ち、赤外線の照射方向）を深度検出装置１０の向きとして使用する。検出範囲特定部３５は、深度情報Ｉに基づいて、３次元空間における視点ＯＶ及び視線方向Ｖを取得する。視点ＯＶは視点座標系の原点であり、視線方向Ｖは視点座標系のＺ軸である（なお、図１１の座標軸はワールド座標系の座標軸である）。
【００５４】
例えば、検出範囲特定部３５は、深度情報Ｉの注視点（即ち、画像の中心のピクセル）の深度に基づいて、３次元空間における深度検出装置１０の位置ＯＶ及び視線方向Ｖを取得する。そして、検出範囲特定部３５は、３次元モデルの各頂点ｖｉの法線ｎｉと、視線方向Ｖと、の関係に基づいて、検出範囲内の頂点ｖｉを特定する。法線ｎｉは、頂点間ベクトルの外積で取得すればよい。検出範囲特定部３５は、法線ｎｉと視線方向Ｖが互いに向かい合う（例えば、これらのなす角度が９０°以上）頂点ｖｉを検出範囲内とし、それ以外を検出範囲外とする。
【００５５】
［３−７．表面形状取得部］
表面形状取得部３６は、制御部２１を主として実現される。表面形状取得部３６は、深度情報Ｉに基づいて、被写体の表面形状（後述の図１２で示す。）を取得する。被写体の表面形状は、被写体のうち、深度検出装置１０が検出した部分の形状であり、深度情報Ｉに深度として表れた領域である。被写体の表面形状は、深度情報Ｉに所定の行列変換を施して得られる３次元座標群であり、深度情報Ｉの各ピクセルの深度を３次元空間に変換したものである。深度検出装置１０と被写体の位置関係が図１のような場合は、表面形状取得部３６が取得する表面形状は、被写体の前面のみであり、背面は含まれない。
【００５６】
［３−８．体型決定部］
体型決定部３７は、制御部２１を主として実現される。体型決定部３７は、姿勢変化部３４により姿勢が変化した３次元モデルの表面形状と、被写体の表面形状と、の差に基づいて、体型パラメータを決定する。形状の差とは、３次元空間における位置的な違いであり、例えば、頂点間の距離である。体型決定部３７は、形状の差が小さくなるように、体型パラメータを変化させる。即ち、体型決定部３７は、体型パラメータを変化させる前の差よりも、体型パラメータを変化させた後の差が小さくなるように体型パラメータを変化させる。
【００５７】
図１２は、体型決定部３７の処理の説明図である。図１２では、３次元モデルＭＳを実線で示し、被写体の表面ＳＯＢを破線で示す。まず、体型決定部３７は、３次元モデルＭＳの各頂点と、被写体の表面ＳＯＢの各点と、に基づいて、これらの全体的なずれ具合を示す評価値ＥＳを取得する。評価値ＥＳは、各頂点ｖｉの３次元座標と、当該頂点ｖｉに対応する点ｐｉの３次元座標と、の距離ｄｉを総合的に評価するための評価値ＥＳといえる。別の言い方をすれば、評価値ＥＳは、３次元モデルＭＳの精度の高さを示す。
【００５８】
例えば、体型決定部３７は、距離ｄｉを所定の数式に代入することによって、評価値ＥＳを取得する。以降、ある時刻ｔにおける評価値ＥＳを指すときは、ＥｔＳ（Ｘｔ）と記載する。ある時刻ｔにおける３次元モデルＭＳの表面形状は、体型パラメータ｛βｔｋ｝と骨格パラメータ｛θｔｊ｝によって決まるので、これらの組み合わせをＸｔと記載すると（即ち、Ｘｔ＝｛βｔｋ，θｔｊ｝である。）、評価値ＥｔＳ（Ｘｔ）は、変数Ｘｔの関数で示すことができ、例えば、下記の式１により求めることができる。
【００５９】
【数１】
2017141344.tif 000003
【００６０】
式１のμｔｉは、重み付け係数（ここでは、０以上１以下とする）である。重み付け係数μｔｉは、身体ではない（例えば、洋服のしわなど）と思われる部分のずれ具合が、評価値ＥｔＳ（Ｘｔ）に与える影響を低減又は除去するための係数である。即ち、身体ではないと思われる部分のずれ具合は、評価値ＥｔＳ（Ｘｔ）を取得するうえで、信頼することができないので、身体と思われる部分の重み付けを大きくし、身体ではないと思われる部分の重み付けを小さくするために、重み付け係数μｔｉを使用している。重み付け係数μｔｉの取得方法は後述する。
【００６１】
式１のｖｔｉは、時刻ｔにおける３次元モデルＭＳの各頂点である。ｐｔｉは、被写体の表面ＳＯＢの各点のうち、最も頂点ｖｔｉに近い点である。ｖｉｓ（ｖｔｉ，ｐｔｉ）は、条件式を含む関数であり、頂点ｖｔｉが検出範囲内であれば頂点ｖｔｉと点ｐｔｉとの距離を返し、頂点ｖｔｉが検出範囲外であれば所定値λＳを返す。所定値λＳを返すのは、頂点ｖｔｉが検出範囲外の場合は、頂点ｖｔｉに対応する点ｐｔｉが存在せず距離を取得できないからである。なお、所定値λＳは、任意の値であってよいが、０にすると３次元モデルが縮小することがあるので、０．１程度であってよい。式１に示すように、体型決定部３７は、頂点ｖｔｉごとに、点ｐｔｉとの距離又は所定値λＳを取得し、重み付け係数μｔｉを乗じた総和を評価値ＥｔＳ（Ｘｔ）として取得する。
【００６２】
本実施形態では、体型決定部３７は、評価値ＥＳに基づいて体型パラメータ｛βｋ｝を最適化させる。例えば、体型決定部３７は、体型パラメータ｛βｋ｝の候補を複数選出して、その中から、評価値ＥＳを最小又は閾値未満にさせる候補の値を、体型パラメータ｛βｋ｝として決定する。最適化自体は、種々の最適化アルゴリズムを利用してよいが、ここでは、粒子群最適化手法を利用する場合を一例として説明する。
【００６３】
体型決定部３７は、粒子群最適化アルゴリズムに基づいて、体型パラメータ｛βｋ｝の候補を複数選出する。ここでは、体型決定部３７は、後述する式２の評価値Ｅ０に基づいて体型パラメータ｛βｋ｝を初期化し、当該初期化した｛βｋ｝に基づいて複数の候補を選出する。例えば、初期化した｛βｋ｝との差が所定範囲に収まるものが候補となる。候補の数は、任意であってよく、例えば、３０個程度であってよい。体型決定部３７は、候補ごとに評価値ＥＳを計算して、複数の候補の中の１つを選択する。例えば、体型決定部３７は、評価値ＥＳを最も小さくさせる候補の値を、新たな体型パラメータ｛βｋ｝として選択する。体型決定部３７は、最適化後の体型パラメータ｛βｋ｝を体型変形部３９に渡して３次元モデルＭＳを更新させる。
【００６４】
上記のように、本実施形態では評価値ＥＳを計算するときに重み付け係数μｔｉを使用することによって、体型決定部３７は、体型パラメータ｛βｋ｝を決定する場合に、身体部分に対応する差の重み付け（即ち、重み付け係数μｔｉ）を、他の部分の差の重み付けよりも高くするようにしている。また、本実施形態では、条件関数ｖｉｓ（ｖｔｉ，ｐｔｉ）を使用することによって、体型決定部３７は、検出範囲における前記３次元モデルの表面形状と、被写体の表面形状と、の差に基づいて、体型パラメータを決定するようにしている。
【００６５】
なお、深度情報Ｉは所定のフレームレートのもと繰り返し取得されるので、体型決定部３７は、上記のような最適化処理を繰り返し実行することになる。体型決定部３７は、ある１つのフレームで１回だけ最適化を実行してもよいし、次のフレームが訪れるまで最適化処理を繰り返し、可能な限り評価値ＥＳを小さくしてもよい。更に、体型決定部３７は、評価値ＥＳが閾値未満になった場合の体型パラメータ｛βｋ｝を保持して、次のフレームの深度情報Ｉを得るまでは、それ以上の最適化をしないようにしてもよい。
【００６６】
また、被写体は動体なので、骨格パラメータ｛θｊ｝が急に変化することはあるが、被写体の体型が急に変化することはないので、体型パラメータ｛βｋ｝が急に変化することはない。しかし、例えば、あるフレームの深度情報Ｉがたまたま多くのノイズを含んだ場合などは、計算上、体型パラメータ｛βｋ｝が前回のフレームから急に変化することがある。この場合、３次元モデルＭＳが急激に膨らんだりしぼんだりしてしまう。このような状況を発生させないために、体型決定部３７は、あるフレームにおける体型パラメータ｛βｋ｝の初期値を、過去の値から求めて体型パラメータ｛βｋ｝の変動を抑えてもよい。この初期値は、過去の体型パラメータ｛βｋ｝を所定の数式に代入することで得られるようにすればよいが、本実施形態では、評価値Ｅ０をもとに体型パラメータ｛βｋ｝の初期値が決める場合を説明する。評価値Ｅ０は、例えば、下記の式２のように、体型パラメータ｛βｋ｝を変数とする関数で示すことができる。
【００６７】
【数２】
2017141344.tif 000004
【００６８】
式２のｄは、主成分分析空間（いわゆるＰＣＡ空間。ここでは、体型パラメータ｛βｋ｝が示されるｋ次元空間である。）における距離である。ｒは任意の時間である。式２の右辺は、体型パラメータ｛βｋ｝の候補値と、各時刻ｔにおける体型パラメータ｛βｔｋ｝と、の距離の総計である。このため、式２の左辺は、ある体型パラメータ｛βｋ｝の候補値が、過去の体型パラメータ｛βｋ｝と全体的にどれだけずれているかを示す。本実施形態では、体型決定部３７は、評価値Ｅ０（｛βｋ｝）を最小又は閾値未満にする｛βｋ｝に基づいて、初期化を行う。
【００６９】
式２では、過去の体型パラメータ｛βｋ｝の平均値のときに評価値Ｅ０（｛βｋ｝）が最小になるので、体型決定部３７は、過去の体型パラメータ｛βｋ｝の平均値に基づいて初期化をすることになる。このようにすれば、ある時刻ｔだけ急激に体型パラメータ｛βｋ｝が変化することを防止することができる。なお、この平均値は、過去の全期間の平均としてもよいし、直近の所定期間の平均としてもよい。更に、式２では、特に係数を設けなかったが、時刻ｔに応じて係数を設けてもよい。この場合、現時点に近いほど重み付けを大きくした加重平均としてもよい。このように、本実施形態では、体型決定部３７は、体型パラメータ｛βｋ｝と、履歴記録部３８により記録された履歴と、に基づいて、体型パラメータ｛βｋ｝を決定することになる。
【００７０】
［３−９．履歴記録部］
履歴記録部３８は、制御部２１を主として実現される。履歴記録部３８は、体型パラメータ｛βｋ｝の履歴をデータ記憶部３０に記録する。履歴記録部３８は、体型パラメータ｛βｋ｝を時系列的に体型履歴データに格納したり、体型パラメータ｛βｋ｝を最適化した時間と関連付けて体型履歴データに格納したりする。
【００７１】
［３−１０．体型変形部］
体型変形部３９は、制御部２１を主として実現される。体型変形部３９は、体型パラメータ決定部により決定された体型パラメータに基づいて、３次元モデルＭＴを変形させる。体型変形部３９は、３次元モデルＭＴの頂点の位置を変えることで変形させる。頂点は、個々のポリゴンを定義する点なので、頂点の位置が変わると、３次元モデルＭＴの各パーツの位置及び形状の少なくとも一方が変わる。即ち、体型変形部３９は、３次元モデルＭＴを構成するポリゴンを移動又は変形させることになる。なお、ここでは、三角形のポリゴンを利用する場合を説明するが、四角形や五角形以上のポリゴンを利用してもよい。
【００７２】
図１３は、最適化が行われた場合に３次元モデルＭＳが変化する様子を示す図である。図１３に示すように、最適化前の３次元モデルＭＳ（実線）は、被写体の表面ＳＯＢ（破線）よりも身長が短いので、体型決定部３７は、身長を示すβ１を大きくして３次元モデルＭＳの身長が高くなるように最適化を行うことになる。体型変形部３９が当該最適化された体型パラメータ｛βｋ｝に基づいて３次元モデルＭＳを更新すると、３次元モデルＭＳが被写体の実際の身長に近づく。
【００７３】
［３−１１．骨格決定部］
骨格決定部４０は、制御部２１を主として実現される。骨格決定部４０は、３次元モデルＭＳの表面形状と、被写体の表面形状と、の差に基づいて、骨格パラメータ｛θｊ｝を決定する。ここでは、骨格取得部３２が検出姿勢情報Ｊをもとに取得した骨格パラメータ｛θｊ｝だけでは、３次元モデルＭＳの姿勢を被写体の姿勢に一致させることが難しいので、骨格決定部４０は、評価値ＥＳに基づいて骨格パラメータ｛θｊ｝を決定して、骨格パラメータ｛θｊ｝を最適化させるようにしている。
【００７４】
例えば、骨格決定部４０は、骨格パラメータ｛θｊ｝の候補を複数選出して、その中から、評価値ＥＳを最小又は閾値未満にさせる候補の値を、骨格パラメータ｛θｊ｝として決定する。最適化自体は、種々の最適化アルゴリズムを利用してよいが、ここでは、最小二乗法による最適化手法を利用して決定する。
【００７５】
骨格決定部４０は、最小二乗法に基づいて、骨格パラメータ｛θｊ｝の候補を複数選出する。例えば、候補は、現在の骨格パラメータ｛θｊ｝との差が所定範囲に収まるものである。候補の数は、任意であってよい。体型決定部３７は、候補ごとに評価値ＥＳを計算して、複数の候補の中の１つを選択する。例えば、体型決定部３７は、評価値ＥＳを最も小さくさせる候補の値を、新たな骨格パラメータ｛θｊ｝として選択する。姿勢変化部３４は、骨格決定部４０により決定された骨格パラメータ｛θｊ｝に基づいて、３次元モデルＭＳの姿勢を更新する。
【００７６】
［３−１２．部分変形部］
部分変形部４１は、制御部２１を主として実現される。部分変形部４１は、体型変形部３９により変形した３次元モデルＭＳの表面形状の一部と、当該部分に対応する被写体の表面形状と、の差に基づいて、当該部分を変形させる。例えば、部分変形部４１は、３次元モデルＭＳと、被写体の表面形状と、の部分的なずれ具合に基づいて、３次元モデルＭＳの各頂点があるべき位置に関する頂点移動量を取得する。頂点移動量は、被写体の部分的な詳細を再現するために、３次元モデルＭＳの頂点ｖｉをどこに移動させればよいかを示すものである。
【００７７】
図１４は、頂点移動量の説明図である。図１４は、３次元モデルＭＳ及び被写体の表面ＳＯＢの胴体付近を拡大したものである。なお、図１２と同様、３次元モデルＭＳを実線で示し、被写体の表面ＳＯＢを破線で示している。頂点移動量は、移動先の頂点ｖｉを識別可能な情報であればよいが、図１４に示すように、本実施形態では、頂点移動量が、頂点ｖｉの法線ｎｉに対する方向への移動量ηｉである場合を説明する。
【００７８】
なお、頂点移動量は、移動量ηｉに限られず、移動先の頂点ｖｉの３次元座標そのものを示してもよいし、移動方向及び移動量を示すベクトル情報であってもよい。部分変形部４１は、頂点ｖｉの３次元座標と、被写体の表面形状のうち頂点ｖｉに最も近い点ｐｉの３次元座標と、を所定の数式に代入することによって、頂点移動量ηｉを取得する。この数式は、頂点ｖｉの３次元座標と点ｐｉの３次元座標とのずれが大きいほど頂点移動量ηｉが大きくなり、このずれが小さいほど頂点移動量ηｉが小さくなるように定められている。
【００７９】
本実施形態では、評価値ＥＤを利用して頂点移動量ηｉを取得する場合を説明する。評価値ＥＤは、３次元モデルＭＳを頂点移動量ηｉに基づいて変形させた場合に、被写体の表面ＳＯＢとどれだけずれているかを評価する評価値である。なお、ここでは、頂点移動量ηｉに基づいて３次元モデルＭＳを変形させたものは「ＭＤ」の符号で記載しているので、評価値ＥＤは、３次元モデルＭＤの精度の高さを示すものといえる。以降では、ある時刻ｔにおける評価値ＥＤを指すときは、ＥｔＤと記載する。なお、評価値ＥｔＤは、頂点移動量ηｉに応じて変化するので、頂点移動量ηｉを変数とした関数ＥｔＤ（ηｉ）と記載することができる。本実施形態では、部分変形部４１は、下記の式３を用いて、評価値ＥｔＤ（ηｉ）を取得する。
【００８０】
【数３】
2017141344.tif 000005
【００８１】
式３の右辺第１項のＳｔは、３次元モデルＭＳの表面である。式３の右辺第１項は、ある時刻ｔにおける被写体の点ｐｔｉと、頂点ｖｔｉを法線ｎｉ方向に頂点移動量ηｉにだけ移動した点ｖｉ’と、の距離を個々の頂点ｖｔｉごとに算出して総和を取ったものである。式３の右辺第２項のＮ（ｉ）は、ある頂点ｖｉに隣接する他の頂点であり、λＤは、ハイパーパラメータである。式３の右辺第２項は、ある頂点ｖｔｉの頂点移動量ηｉと、隣接する頂点の頂点移動量ηｊと、の差の総和を意味する。この値が大きいと、ある頂点ｖｔｉだけ周囲の頂点よりも出っ張り、現実には起こりえないような局所的に出っ張った形状になる可能性があるので、これを防止して自然な表面にするために、本実施形態では、式３の右辺第２項を定義している。なお、右辺第２項は省略してもよい。
【００８２】
部分変形部４１は、評価値ＥＤに基づいて、各頂点ｖｉの頂点移動量ηｉを取得する。評価値ＥＤが小さいほど、３次元モデルＭＤと被写体の表面形状との差が小さくなり精度が高くなるので、部分変形部４１は、評価値ＥＤを最小又は閾値未満にさせる頂点移動量ηｉを取得する。以降、ある時刻ｔにおける頂点移動量ηｉを指すときは、ηｔｉと記載する。本実施形態では、部分変形部４１は、下記の式４を利用して、いったん頂点移動量ηｔｉを仮計算し、その後に、式３の評価値ＥｔＤ（ηｉ）が最小になるような頂点移動量ηｔｉに修正する。
【００８３】
【数４】
2017141344.tif 000006
【００８４】
式４は、現在の時刻ｔにおける頂点ｖｔｉと点ｐｔｉとのずれと、過去の頂点移動量（式４では直近フレームのもの）と、の加重平均をとるための式である。式４のωｔ−１及びω´ｔは、加重平均の係数である。式４のように頂点移動量ηｔｉを仮計算するのは、ある時刻ｔの深度情報Ｉはノイズが混じることがあるので、ノイズが混じってしまったときだけ急激に頂点移動量ηｉが変化して、３次元モデルＭＤが突然出っ張ったりへこんだりすることを防止するために、過去との平均を取り、ある時点の頂点移動量ηｉだけ大きく又は小さくなり過ぎないようにするためである。
【００８５】
部分変形部４１は、式４を利用して頂点ごとに頂点移動量ηｉを仮計算する。そして、部分変形部４１は、仮計算した頂点移動量ηｉに基づいて複数の候補を取得する。この候補は、仮計算の頂点移動量ηｉとのずれが所定範囲内になるものであればよい。この候補の数は、任意であってよい。部分変形部４１は、頂点ｖｉごとに取得した候補に基づいて評価値ＥｔＤ（ηｉ）を計算して、最小になる候補を頂点移動量ηｉとして決定する。
【００８６】
上記のように、本実施形態では、式３の右辺第２項に示すように、部分変形部４１は、各頂点の頂点移動量ηｉを、周囲の頂点の頂点移動量ηｉに基づいて決定する。このため、部分変形部４１は、３次元モデルＭＳの各部分を、周囲の変形具合に基づいて変形させる。例えば、部分変形部４１は、３次元モデルＭＳの各部分の変形具合と、周囲の部分の変形具合と、の差が所定未満になるようにすることができる。
【００８７】
また、式４に示すように、頂点移動量ηｉは、過去の頂点移動量との加重平均により得られるので、部分変形部４１は、過去に取得された頂点移動量ηｉに基づいて、頂点移動量ηｉを取得する。このため、部分変形部４１は、３次元モデルの各部分を、当該部分の過去の形状に基づいて変形する。例えば、部分変形部４１は、３次元モデルの各部分の変形具合と、当該部分の過去の変形具合と、の差が所定未満になるようにすることができる。
【００８８】
部分変形部４１は、上記のようにして頂点ごとに取得された頂点移動量ηｉに基づいて、当該頂点の位置を変更する。部分変形部４１は、頂点移動量ηｉに基づいて定まる位置に移動するように、各頂点を移動させる。ここでは、頂点移動量ηｉが法線方向の移動量を示すので、部分変形部４１は、頂点ｖｉが法線ｎｉの方向に頂点移動量ηｉだけ離れた位置ｖｉ’になるように、頂点ｖｉの３次元座標を変更する。即ち、部分変形部４１は、頂点移動量ηｉに基づいて３次元モデルＭＳを変形させることによって、３次元モデルＭＤを生成することになる。
【００８９】
図１５は、３次元モデルＭＤを示す図である。図１５に示すように、３次元モデルＭＤは、洋服のしわや鞄などの詳細な形状が再現されている。なお、部分変形部４１は、深度検出装置１０が撮影したＲＧＢ画像を、テクスチャとして３次元モデルＭＤの表面にマッピングするようにしてもよい。このようにすれば、被写体の表面の模様や色彩なども３次元モデルＭＤで表現することができる。
【００９０】
なお、深度検出装置１０の検出範囲外の部分は、深度が計測されないので、部分変形部４１は、３次元モデルＭＳのうち、検出範囲特定部３５により特定された部分の形状を変更するようにしてもよい。また、頂点移動量ηｉは繰り返し取得されるので、部分変形部４１は、頂点移動量が取得されるたびに、３次元モデルＭＳの各頂点の位置を変更することになる。
【００９１】
［３−１３．身体部分特定部］
身体部分特定部４２は、制御部２１を主として実現される。身体部分特定部４２は、３次元モデルＭＳ，ＭＤ又は被写体の表面形状に基づいて、３次元モデルＭＳ，ＭＤのうち、被写体の身体に対応する身体部分を特定する。身体部分は、式１の重み付け係数μｔｉを決定するために特定される。身体部分は、形状の変化が小さい部分であり、比較的固い物体を示す部分である。それ以外の部分は、形状の変化が大きい部分であり、比較的柔らかい物体を示す部分である。例えば、身体部分は、地肌が露出している部分であり、それ以外の部分は、洋服や鞄などのしわが寄る部分（身体の動きに合わせて動く部分）である。
【００９２】
洋服のしわや鞄などは形状が変わりやすいが、身体が突然膨らんだりしぼんだりしないので、ここでは、身体部分を特定するために、３次元モデルＭＤのうち位置的な変化の大きい部分を特定する場合を例に挙げる。本実施形態では、身体部分特定部４２は、３次元モデルＭＤの頂点の位置関係や時間変化に基づいて身体部分を特定する。例えば、身体部分特定部４２は、ある時刻ｔにおける頂点とその周囲の頂点との位置のずれ具合に基づいて特定してもよいし、頂点の密度や分散具合に基づいて特定してもよい。他にも例えば、身体部分特定部４２は、ある頂点の時間経過に伴う位置変化に基づいて特定してもよい。
【００９３】
本実施形態では、３次元モデルＭＤの表面の曲率を利用する場合を説明する。身体部分特定部４２は、３次元モデルの頂点ごとに、下記の式５のように、曲率に関する評価値κを取得する。評価値κは、局所的な曲率を示す。評価値κは、−１以上１以下の値となる。身体部分特定部４２は、ある時刻ｔにおけるある頂点ｖｉのκの標準偏差κｔが閾値未満であれば、変化が小さいことを示すので身体に対応する領域とし、それ以上であれば、変化が大きいことを示すので身体以外の領域とする。
【００９４】
【数５】
2017141344.tif 000007
【００９５】
なお、式５のＫは、ガウス曲率であり、Ｈは、平均曲率（Mean curvature）である。ＫとＨは、頂点ごとに、当該頂点と周囲の頂点との位置関係に基づいて計算され、例えば、頂点の密集具合に基づいて計算される。これらの計算方法自体は一般的であるので、詳細は、「M.Meyer, M.Desbrun, P.Schroder, and A.H.Barr. Discrete differential-geometry operators for triangulated 2-manifolds.Mathematics and Visualization, pages 35−57, 2003」などを参照されたい。
【００９６】
身体部分特定部４２は、標準偏差κｔが閾値以上であれば、重み付け係数μｔｉを１未満の所定値λｕ（例えば、λｕ≪１）とし、標準偏差κｔが閾値未満であれば、重み付け係数μｔｉを１とする。標準偏差κｔが大きいことは、曲率の変化が大きいことを示すので、この部分は、形状が変わりやすい柔らかい物体と推定される。一方、標準偏差κｔが小さいことは、曲率の変化が小さいことを示すので、この部分は、形状が変わりにくい固い物体と推定される。このため、標準偏差κｔが大きい場所の重み付け係数μｔｉを小さくし、標準偏差κｔが小さい場所の重み付け係数μｔｉを大きくしている。なお、上記では、評価値κを利用する場合を説明したが、下記の式６で求まる曲率の大きさを示す評価値ｃを利用して身体部分が特定されてもよい。
【００９７】
【数６】
2017141344.tif 000008
【００９８】
［４．本実施形態において実行される処理］
図１６は、３次元モデル生成システムにおいて実行される処理の一例を示すフロー図である。図１６に示す処理は、制御部１１，２１が、それぞれ記憶部１２，２２に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図６に示す機能ブロックにより実行される処理の一例である。
【００９９】
まず、深度検出装置１０の動作を説明する。図１６に示すように、制御部１１は、深度検出部１４の検出信号に基づいて、深度情報Ｉと検出姿勢情報Ｊとを生成する（Ｓ１０）。制御部１１は、Ｓ１０で生成した深度情報Ｉと検出姿勢情報Ｊとを３次元モデル生成装置２０に送信する（Ｓ１１）。
【０１００】
制御部１１は、次の処理タイミング（フレーム）が訪れたかを判定する（Ｓ１２）。フレームレートは、予め記憶部１２に記憶されているものとする。制御部１１は、リアルタイムクロックを利用して計時処理を実行することにより、現在時刻が各フレームの開始時点になったかを判定する。
【０１０１】
次の処理タイミングが訪れたと判定されない場合（Ｓ１２；Ｎ）、制御部１１は、本処理を終了するかを判定する（Ｓ１３）。Ｓ１３においては、制御部１１は、予め定められた終了条件（例えば、３次元モデル生成装置２０から処理を終了するための信号を受信したかなど）が満たされるかを判定すればよい。本処理を終了すると判定されない場合（Ｓ１３；Ｎ）、Ｓ１２の処理に戻る。一方、本処理を終了すると判定された場合（Ｓ１３；Ｙ）、本処理は終了する。
【０１０２】
一方、Ｓ１２において、次の処理タイミングが到来したと判定された場合（Ｓ１２；Ｙ）、Ｓ１０の処理に戻る。以降、深度検出装置１０は、本処理が終了するまで、定期的に深度情報Ｉと検出姿勢情報Ｊを生成して３次元モデル生成装置２０に送信することになる。
【０１０３】
次に、３次元モデル生成装置２０の動作を説明する。図１６に示すように、制御部２１は、まず、制御部２１は、記憶部２２に記憶されたテンプレートデータに基づいて、仮想３次元空間内に３次元モデルＭＴを配置する（Ｓ２０）。Ｓ２０においては、制御部２１は、３次元モデルＭＴに対応する体型パラメータ｛βｋ｝（即ち、初期値）を体型履歴データに格納する。この初期値は、予め記憶部２２に記憶させておけばよい。
【０１０４】
制御部２１は、記憶部２２に記憶された基本姿勢データに基づいて、Ｓ２０で配置した３次元モデルＭＴの内部にスケルトンＪＴを設定する（Ｓ２１）。Ｓ２１の時点では、３次元モデル生成装置２０は、深度検出装置１０から深度情報Ｉと検出姿勢情報Ｊをまだ受信していないので、３次元空間では、基本形状の３次元モデルＭＴが基本姿勢を取っている。即ち、３次元モデルＭＴの体型や姿勢は、実際の被写体の形状とは似ていない。
【０１０５】
制御部２１は、深度検出装置１０から深度情報Ｉと検出姿勢情報Ｊとを受信する（Ｓ２２）。Ｓ２２では、制御部２１は、受信した深度情報Ｉと検出姿勢情報Ｊを、それぞれ深度履歴データと骨格履歴データに格納する。制御部２１は、被写体の身体の形状を推定するための形状推定処理を実行する（Ｓ２３）。
【０１０６】
図１７は、形状推定処理の詳細を示す図である。図１７に示すように、制御部２１は、Ｓ２２で受信した検出姿勢情報Ｊに基づいて、各関節の骨格パラメータ｛θｊ｝を取得する（Ｓ３０）。制御部２１は、Ｓ３０で取得した骨格パラメータ｛θｊ｝に基づいて、３次元モデルＭＴを変形させる（Ｓ３１）。Ｓ３１においては、制御部２１は、Ｓ３１で取得した骨格パラメータ｛θｊ｝に基づいて、３次元モデルＭＴ内のスケルトンＪＴを変形させる。
【０１０７】
制御部２１は、Ｓ３１で変形させた３次元モデルＭＴに対してスキニング処理を実行する（Ｓ３２）。Ｓ３２の処理により、３次元モデルの表面が滑らかになる。これにより３次元モデルＭＳが生成される。時刻ｔにおける３次元モデルＭＳを識別する情報（頂点やスケルトンＪＴの位置）は、身体履歴データに格納される。
【０１０８】
制御部２１は、評価値Ｅ０に基づいて体型パラメータ｛βｋ｝を初期化する（Ｓ３３）。Ｓ３３においては、制御部２１は、記憶部２２に記憶された体型履歴データに格納された履歴を式２に代入し、評価値Ｅ０を最小にする値（即ち、平均値）を最新の体型パラメータ｛βｋ｝とする。なお、時刻ｔ＝０であれば、体型履歴データには、初期値しか格納されていないので、初期値がそのまま使用される。
【０１０９】
制御部２１は、評価値ＥＳに基づいて、体型パラメータ｛βｋ｝を最適化する（Ｓ３４）。Ｓ３４においては、制御部２１は、Ｓ２２で受信した深度情報に基づいて被写体の３次元座標を取得する。そして、制御部２１は、Ｓ３３で取得した体型パラメータ｛βｋ｝と粒子群最適化アルゴリズムに基づいて、体型パラメータ｛βｋ｝の候補を複数取得する。制御部２１は、各候補に対応する３次元モデルＭＳと式１に基づいて、各候補の評価値ＥＳを取得する。制御部２１は、評価値ＥＳが最小になる候補の値を体型パラメータ｛βｋ｝とすることで最適化を実行する。最適化された体型パラメータ｛βｋ｝は、体型履歴データに格納される。制御部２１は、Ｓ３４で最適化した体型パラメータ｛βｋ｝に基づいて、３次元モデルＭＳを更新する（Ｓ３５）。
【０１１０】
制御部２１は、評価値ＥＳに基づいて、骨格パラメータ｛θｊ｝を最適化する（Ｓ３６）。Ｓ３６においては、制御部２１は、最新の骨格パラメータ｛θｊ｝と最小二乗法に基づいて、骨格パラメータ｛θｊ｝の候補を複数取得する。制御部２１は、各候補に対応する３次元モデルＭＳと式１に基づいて、各候補の評価値ＥＳを取得する。制御部２１は、評価値ＥＳが最小になる候補の値になるように骨格パラメータ｛θｊ｝を更新することで最適化を実行する。最適化された骨格パラメータ｛θｊ｝は、骨格履歴データに格納される。制御部２１は、Ｓ３６で最適化した骨格パラメータ｛θｊ｝に基づいて、３次元モデルを更新する（Ｓ３７）。
【０１１１】
以降、制御部２１は、評価値ＥＳが十分に小さくなるまでＳ３３〜Ｓ３７の処理を繰り返す。なお、Ｓ２２において深度情報Ｉと検出姿勢情報Ｊが受信された場合（即ち、次のフレームになった場合）は、最新の深度情報Ｉ及び検出姿勢情報Ｊに体型や姿勢を合わせる必要があるので、再びＳ３０の処理から実行されることになる。
【０１１２】
図１６に戻り、制御部２１は、被写体の部分的な詳細を表現するための幾何学的再構成処理を実行する（Ｓ２４）。なお、幾何学的再構成処理は、フレーム内で繰り返し実行されるようにしてもよいし、１回だけ実行されるようにしてもよい。
【０１１３】
図１８は、幾何学的再構成処理の詳細を示す図である。図１８に示すように、制御部２１は、Ｓ２２で取得した深度情報Ｉに基づいて、３次元モデルＭＳのうち検出範囲を特定する（Ｓ４０）。Ｓ４０においては、制御部２１は、深度情報Ｉに基づいて深度検出装置１０の視線方向Ｖを取得して、３次元モデルＭＳの各頂点ｖｉの法線ｎｉとの関係に基づいて検出範囲を特定する。
【０１１４】
制御部２１は、評価値ＥＤに基づいて、検出範囲内の頂点ごとに頂点移動量｛ηｉ｝を取得する（Ｓ４１）。Ｓ４１においては、制御部２１は、検出範囲内の頂点の３次元座標と、被写体の３次元座標と、式３と、に基づいて評価値ＥＤを取得する。そして、制御部２１は、式４に基づいて仮の頂点移動量｛ηｉ｝を取得し、評価値ＥＤを最小にする頂点移動量｛ηｉ｝に修正する。時刻ｔにおける頂点移動量｛ηｉ｝は、移動量履歴データに格納される。
【０１１５】
制御部２１は、Ｓ４１で取得した頂点移動量｛ηｉ｝に基づいて、検出範囲内の頂点を再配置する（Ｓ４２）。これにより、３次元モデルＭＤが生成される。時刻ｔにおける３次元モデルＭＤを識別する情報（頂点やスケルトンＪＴの位置）は、再構成履歴データに格納される。
【０１１６】
制御部２１は、Ｓ４１で取得した頂点移動量｛ηｉ｝に基づいて、検出範囲内の頂点の重み付け係数μｉを取得する（Ｓ４３）。Ｓ４３においては、制御部２１は、式５に基づいて３次元モデルＭＳ，ＭＤにおける身体部分とそれ以外の部分とを区別し、当該区別した結果に基づいて、頂点ごとに重み付け係数μｉを取得することになる。Ｓ４３で取得された重み付け係数μｉは、Ｓ２３の形状推定処理で評価値ＥＤを計算するときに利用される。
【０１１７】
図１６に戻り、制御部２１は、本処理を終了するか否かを判定する（Ｓ２５）。終了すると判定されない場合（Ｓ２５；Ｎ）、Ｓ２２の処理に戻り、次のフレームの深度情報Ｉと検出姿勢情報Ｊが受信された場合に、最新の深度情報Ｉと検出姿勢情報Ｊに基づく形状推定処理及び幾何学的再構成処理が実行される。一方、終了すると判定された場合（Ｓ２５；Ｙ）、本処理は終了する。
【０１１８】
以上説明した３次元モデル生成システム１によれば、３次元モデルＭＴの姿勢を被写体の姿勢に近づけたうえで、体型パラメータ｛βｋ｝を決定して３次元モデルＭＳを生成するので、精度の高い３次元モデルＭＳを迅速に生成することができる。即ち、多数の深度検出装置１０の画像解析をする必要がないので、複雑な処理を実行する必要がなくなり、迅速に３次元モデルＭＳを生成することができる。更に、被写体の実際のボディラインに近づくように体型パラメータ｛βｋ｝が最適化されるので、３次元モデルＭＳの精度を高めることができる。例えば、３次元モデルＭＳの精度を高めることができれば、３次元モデルＭＳに洋服などのオブジェクトを重畳させることにより、オンラインショッピングモールなどにおいて、商品を疑似的に試着させることができる。他にも例えば、オーダーメイドの洋服を作成するなどの種々の用途に、３次元モデルＭＳを使用することができる。
【０１１９】
また、被写体の実際の骨格とのずれが小さくなるように骨格パラメータ｛θｊ｝が最適化されるので、３次元モデルＭＳの姿勢を被写体の姿勢に近づけることができ、３次元モデルＭＳの精度を更に高めることができる。例えば、先述したように検出姿勢情報ＪとスケルトンＪＴとを完全に一致させることは難しいので、骨格パラメータ｛θｊ｝を最適化することで、体型と姿勢の両方を実際の被写体に近づけることができる。更に、体型パラメータ｛βｋ｝を最適化した後に骨格パラメータ｛θｊ｝を最適化し、その後再びこれらの最適化を繰り返すことによって、３次元モデルＭＳと被写体とのずれを徐々に小さくすることができる。
【０１２０】
また、頂点移動量ηｉに基づいて３次元モデルＭＳを部分的に変形させることによって、３次元モデルＭＤの各部分の形状を被写体の部分的な形状に近づけることができるので、３次元モデルＭＤの精度を高めることができる。例えば、実施形態のように単一の深度検出装置１０を用いた場合であっても、深度検出装置１０が検出した面については、洋服のしわなどの詳細を３次元モデルＭＤで再現することができ、その他の面については、ボディラインを再現することができる。
【０１２１】
また、幾何学的再構成処理の対象を検出範囲内の領域とすることにより、変形させる必要のない部分にまで処理を実行することがなくなるので、３次元モデル生成装置２０の処理負荷を軽減するとともに、より迅速に３次元モデルＭＤを生成することができる。
【０１２２】
また、各頂点の頂点移動量ηｉは周囲の頂点の頂点移動量に基づいて定まるため、３次元モデルＭＳの各部分の形状を周囲の形状に基づいて変形させることができる。その結果、ある部分だけ不自然に飛び出たりへこんだりするような状態を防止することができ、３次元モデルＭＤの精度を高めることができる。
【０１２３】
また、各頂点の頂点移動量ηｉは、その頂点の過去の頂点移動量に基づいて定まるので、３次元モデルＭＳの各部分を当該部分の過去の形状に基づいて変形させることができる。その結果、ある時点だけ特定の部分が急に変形してしまうことを防止することができる。
【０１２４】
また、重み付け係数μｉを利用することにより、身体以外の部分が評価値ＥＤに与える影響を抑えることができるので、被写体のボディラインを推定するうえで重要ではない部分が評価値ＥＤに与える影響を抑えることができる。その結果、信頼性の高い部分で被写体のボディラインを推定して３次元モデルＭＳとすることができるので、３次元モデルＭＳの精度をより高めることができる。
【０１２５】
また、深度検出装置１０の検出範囲内のずれ具合に基づいて３次元モデルＭＳを変形させることで、検出できない範囲の位置が３次元モデルＭＳの体型に影響を与えてしまうことを防止することができるので、３次元モデルＭＳの精度をより高めることができる。
【０１２６】
また、体型パラメータ｛βｋ｝の履歴に基づいて体型パラメータが決まるので、体型パラメータ｛βｋ｝が突然大きくなるようなことを防止することができる。その結果、ある特定の時だけ３次元モデルＭＳの体型が急激に変化してしまうような不自然な状況を防止することができる。
【０１２７】
［５．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１２８】
例えば、体型パラメータ｛βｋ｝を最適化した後に骨格パラメータ｛θｊ｝を最適化する場合を説明したが、これらの順序は逆であってもよい。また例えば、体型パラメータ｛βｋ｝と骨格パラメータ｛θｊ｝の両方が最適化される場合を説明したが、何れか一方のみが最適化されてもよい。
【０１２９】
また例えば、頂点移動量ηｉを計算する場合に、周囲の頂点の変形具合や時間経過に伴う変化を考慮する場合を説明したが、処理速度を優先するのであればこれらは特に考慮しなくてもよい。同様に、過去の体型パラメータ｛βｊ｝から大きくずれないように評価値Ｅ０を利用する場合を説明したが、処理速度を優先するのであれば過去の体型パラメータ｛βｊ｝は特に考慮しなくてもよい。また、３次元モデルＭＳのうち検出範囲内の領域を特定して評価値ＥＳを取得したり幾何学的再構成の処理対象にしたりする場合を説明したが、特に検出範囲を考慮せず、３次元モデルＭＳの全面を処理対象にしてもよい。
【０１３０】
また例えば、形状推定処理と幾何学的再構成処理の両方が実行される場合を説明したが、ボディラインの推定だけを目的として３次元モデル生成システム１を利用する場合は、幾何学的再構成処理は省略してもよい。更に、評価値ＥＳ，ＥＤ，Ｅ０の計算式は一例にすぎず、他の計算式を用いてもよい。また例えば、身体部分は、３次元モデルＭＳを利用して特定されてもよいし、深度情報Ｉを利用して特定されてもよい。３次元モデルＭＳを利用する場合は、実施形態で説明した方法と同様に、頂点の位置関係や時間変化により特定されるようにすればよい。一方、深度情報Ｉを利用する場合は、被写体の表面ＳＯＢの各点から最も近い頂点のみを身体部分とし、それ以外を身体部分以外としてよい。
【０１３１】
また例えば、検出姿勢情報Ｊは、３次元モデル生成装置２０により生成されるようにしてもよい。この場合、３次元モデル生成装置２０は、深度情報Ｉに基づいて検出姿勢情報Ｊを生成することになる。また例えば、骨格パラメータ｛θｊ｝は、深度検出装置１０が生成して３次元モデル生成装置２０に送信してもよい。また例えば、特にフレームレートを定めておかず、深度検出装置１０は、深度情報Ｉと検出姿勢情報Ｊを不定期的に生成してもよい。また例えば、被写体は、人以外の動物（例えば、犬や猫など）であってもよい。
【０１３２】
また例えば、３次元モデル生成装置２０で各機能が実現される場合を説明したが、深度検出装置１０や他のコンピュータで各機能が実現されるようにしてもよい。また例えば、３次元モデル生成システム１の複数のコンピュータで各機能が分担されるようにしてもよい。更に、上記説明した各機能のうち、骨格取得部３２、姿勢変化部３４、表面形状取得部３６、体型決定部３７、及び体型変形部３９以外の機能は省略してもよい。
【図１】
2017141344.tif 000009
【図２】
2017141344.tif 000010
【図３】
2017141344.tif 000011
【図４】
2017141344.tif 000012
【図５】
2017141344.tif 000013
【図６】
2017141344.tif 000014
【図７】
2017141344.tif 000015
【図８】
2017141344.tif 000016
【図９】
2017141344.tif 000017
【図１０】
2017141344.tif 000018
【図１１】
2017141344.tif 000019
【図１２】
2017141344.tif 000020
【図１３】
2017141344.tif 000021
【図１４】
2017141344.tif 000022
【図１５】
2017141344.tif 000023
【図１６】
2017141344.tif 000024
【図１７】
2017141344.tif 000025
【図１８】
2017141344.tif 000026
【国際調査報告】
2017141344.tif 000027
2017141344.tif 000028
2017141344.tif 000029
2017141344.tif 000030