(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-05-06
(45)【発行日】2022-05-16
(54)【発明の名称】スキンモデルから骨格に基づく体長を統計的に分析するプログラム、装置及び方法
(51)【国際特許分類】
A61B 5/107 20060101AFI20220509BHJP
A41H 1/02 20060101ALI20220509BHJP
【FI】
A61B5/107 100
A41H1/02
(21)【出願番号】P 2022029948
(22)【出願日】2022-02-28
【審査請求日】2022-03-18
【早期審査対象出願】
(73)【特許権者】
【識別番号】306033379
【氏名又は名称】株式会社ワコール
(73)【特許権者】
【識別番号】320001411
【氏名又は名称】株式会社OrbisBrain
(74)【代理人】
【識別番号】100135068
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】有光 裕樹
(72)【発明者】
【氏名】大黒 茂和
【審査官】遠藤 直恵
(56)【参考文献】
【文献】特開2020-27526(JP,A)
【文献】特開2008-282110(JP,A)
【文献】特開2011-180790(JP,A)
【文献】国際公開第2016/021152(WO,A1)
【文献】米国特許出願公開第2013/0250050(US,A1)
【文献】中国特許出願公開第112419419(CN,A)
【文献】国際公開第2017/029488(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 5/06-5/22
A41H 1/00-43/04
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置に搭載されたコンピュータを機能させるプログラムであって、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出するボーン長ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
ボーン長ベクトル抽出手段は、子関節点の位置と親関節点の位置との絶対差|b|をボーン長とし、全てのボーンからなるボーン長ベクトルとして抽出する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
1体のポリゴンメッシュから、関節点の位置を推定する関節点推定手段と
して更にコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
関節点推定手段は、関節点学習エンジンであり、
訓練段階として、教師データ群の複数体のポリゴンメッシュをそれぞれ入力し、関節点の位置を出力するように関節点学習モデルを構築し、
推定段階として、推定対象となるポリゴンメッシュを入力し、関節点の位置を出力する
ようにコンピュータを機能させることを特徴とする請求項3に記載のプログラム。
【請求項5】
第1の推定段階として、
統計学習エンジンは、推定対象となる1体のポリゴンメッシュにおけるボーン長ベクトルを入力し、成分変数を出力する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
第2の推定段階として、
統計学習エンジンは、推定対象となる成分変数を入力し、1体のスキンモデルにおける関節点同士毎のボーン長ベクトルを出力する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項7】
スキンモデルは、人体モデルであり、
スケルトンは、人体の骨格であり、
ボーンは、関節点間の骨である
ようにコンピュータを機能させることを特徴とする請求項1から6のいずれか1項に記載のプログラム。
【請求項8】
統計学習エンジンは、主成分分析(Principal Component Analysis)又はオートエンコーダ(AutoEncoder)に基づくものである
ようにコンピュータを機能させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項9】
複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する分析装置であって、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出するボーン長ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
を有することを特徴とする分析装置。
【請求項10】
複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置の分析方法であって、
装置は、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出する第1のステップと、
訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する第2のステップと
を実行することを特徴とする分析方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スキンモデルを統計的に分析する技術に関する。特にスキンモデルとして、3次元の人体モデルに適する。
【背景技術】
【0002】
人体の形状データを取得するために、3次元ボディスキャナの技術がある(例えば非特許文献1参照)。この技術によれば、非接触の光学測量によって3次元の人体モデルを計測する。この人体モデルは、複数の頂点からなるポリゴンをメッシュ状に構成した「スキン」として表現される。頂点数は、例えば約150万点と超高密度で計測することもできる。
【0003】
従来、採寸値のみから3次元モデルを簡易に生成すると共に、次元圧縮によってデータ容量を小さくする技術がある(例えば特許文献1参照)。この技術によれば、3次元モデル毎に、複数の採寸箇所に対応する次元数nの採寸値が対応付けられている教師データ群を用いて、1体の次元数nの採寸値から、3次元モデルを生成することができる。具体的には、教師データ群の複数体の3次元モデルから、次元圧縮された次元数mの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、次元数nの採寸値と、次元数mの成分変数との相関学習モデルを構築する相関学習エンジンとを有する。また、相関学習エンジンを用いて、対象データとしての1体の次元数nの採寸値から次元数mの成分変数を生成するエンコード部と、統計学習エンジンを用いて、当該次元数mの成分変数から3次元モデルを生成するデコード部とを有する。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】「smart&try」、株式会社ワコール、[online]、[令和3年11月20日検索]、インターネット<URL:https://www.wacoal.jp/smart_try/>
【文献】向井智彦、川地克明、三宅陽一郎、「キャラクタアニメーションの数理とシステム、-3次元ゲームにおける身体運動生成と人工知能-」、[online]、[令和3年11月20日検索]、インターネット<URL:https://www.coronasha.co.jp/np/isbn/9784339029093/>
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術によれば、3次元モデルは、各頂点を、世界座標系(World coordinate system, Global coordinate system)の3次元(x,y,z)で表現する。例えば1体毎に頂点数がN=150万である場合、1体の3次元モデルは、3N(=450万)次元のベクトルで表現される。そして、例えば6000体ほどの3次元モデルを、統計学習エンジンに入力し、成分変数を得ることができる。統計学習エンジンは、具体的には、主成分分析(Principal Component Analysis)に基づくものである。
【0007】
3次元の人体モデルを取得するためには、人物が実際に3次元ボディスキャナ内に入って撮影しなければならないが、このとき、人物毎に姿勢のばらつきが生じる。世界座標系である場合、同一人物であっても、その人物の姿勢の影響を受けて、異なる3次元モデルが取得されることとなる。
姿勢は、関節点の位置に応じて異なる。例えば全く同一の人物であっても、両足を開いた場合と、両足を閉じた場合とでは、特に足の部分で大きく異なる人体モデルとして取得されることとなる。また、3次元スキャナによって計測する場合、生身の人物である全員に、同一姿勢を強要することは非常に難しい。
【0008】
これに対し、本願の発明者らは、3次元スキャナによって人体を計測した場合、人体の肉付きに基づく「体形」と、人体の長さに基づく「体長」と、人体の関節の位置に基づく「姿勢」とが混在したデータとなっている、ことに注目した。ここで、3次元スキャナによって計測された人体の3次元モデルから、「肉付き」及び「姿勢」を分離した「体長」のみを抽出することができないか、と考えた。
【0009】
ここで、「体長」とは、人体の骨格長に基づくものであるとする。本来、このような人体の骨格長は、「姿勢」や「肉付き」の影響を受けないものである。
一方で、「姿勢」は、人物における骨格の関節点の位置によって変化する。同じ体形の人物同士であっても、例えば前傾、後傾、猫背、巻き肩などのような姿勢の変化によって、その外観的印象は大きく異なる。また、「肉付き」も、同一人物であっても日々変化するものでもある。
【0010】
これに対し、本願の発明者らは、複数体の3次元モデルについて、「肉付き」「姿勢」を分離した「骨格に基づく体長」のみのデータから統計的に分析するはできないか、と考えた。特に、人の本質的な外観的特徴を分析するための要素となる、と考えた。
【0011】
そこで、本発明によれば、スキンモデルから骨格に基づく体長を分析可能な統計形状空間を生成するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置に搭載されたコンピュータを機能させるプログラムであって、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出するボーン長ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
してコンピュータを機能させることを特徴とする。
【0013】
本発明のプログラムにおける他の実施形態によれば、
ボーン長ベクトル抽出手段は、子関節点の位置と親関節点の位置との絶対差|b|をボーン長とし、全てのボーンからなるボーン長ベクトルとして抽出する
ようにコンピュータを機能させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
1体のポリゴンメッシュから、関節点の位置を推定する関節点推定手段と
して更にコンピュータを機能させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
関節点推定手段は、関節点学習エンジンであり、
訓練段階として、教師データ群の複数体のポリゴンメッシュをそれぞれ入力し、関節点の位置を出力するように関節点学習モデルを構築し、
推定段階として、推定対象となるポリゴンメッシュを入力し、関節点の位置を出力する
ようにコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
第1の推定段階として、
統計学習エンジンは、推定対象となる1体のポリゴンメッシュにおけるボーン長ベクトルを入力し、成分変数を出力する
ようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
第2の推定段階として、
統計学習エンジンは、推定対象となる成分変数を入力し、1体のスキンモデルにおける関節点同士毎のボーン長ベクトルを出力する
ようにコンピュータを機能させることも好ましい。
【0018】
本発明のプログラムにおける他の実施形態によれば、
スキンモデルは、人体モデルであり、
スケルトンは、人体の骨格であり、
ボーンは、関節点間の骨である
ようにコンピュータを機能させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
統計学習エンジンは、主成分分析(Principal Component Analysis)又はオートエンコーダ(AutoEncoder)に基づくものである
ようにコンピュータを機能させることも好ましい。
【0020】
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する分析装置であって、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出するボーン長ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
を有することを特徴とする。
【0021】
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置の分析方法であって、
装置は、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出する第1のステップと、
訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する第2のステップと
を実行することを特徴とする。
【発明の効果】
【0022】
本発明のプログラム、装置及び方法によれば、スキンモデルから骨格に基づく体長を分析可能な統計形状空間を生成することができる。
【図面の簡単な説明】
【0023】
【
図2】本発明における分析装置の基本的な機能構成図である。
【
図3】本発明における関節点同士を結ぶボーンを表す説明図である。
【
図4】統計学習エンジンにおける3次元モデルのベクトル空間を表す説明図である。
【
図5】統計学習エンジンにおける統計形状空間を表す説明図である。
【
図6】統計学習エンジンにおける主成分分析を表す簡易なコードである。
【
図7】関節点推定部及びスケルトン変形部を更に有する分析装置の機能構成図である。
【発明を実施するための形態】
【0024】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【0025】
【0026】
本発明の実施形態によれば、用語を、以下のように定義する。
「スキン」 :複数の頂点からなるポリゴンメッシュ
(例えば人体を3次元スキャナで撮影した人体のポリゴンメッシュ)
「スキンモデル」 :スキンに複数の関節点を内在するモデル
「関節点」 :スキンを変形させるジョイント(例えば人体の関節)
「ボーン」 :関節点を結ぶ線分(例えば人体の骨)
「スケルトン」 :関節点同士を親子関係によってボーンで結んだ構成
(例えば人体の骨格)
「スキンウェイト」:関節点がスキンの各頂点に及ぼす影響度
【0027】
図1によれば、人体は、例えば頂点数150万頂点のポリゴンメッシュで表現されている。また、関節点は、例えば以下の15箇所とする。
「頚椎」
「中央胸」
「左肩」「左肘」「左手首」
「右肩」「右肘」「右手首」
「中央腰」
「左腰」「左膝」「左足首」
「右腰」「右膝」「右足首」
【0028】
図2は、本発明における分析装置の基本的な機能構成図である。
【0029】
分析装置1は、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する。スキンモデルから「骨格に基づく体長」を分析可能とする統計形状空間を生成する。
図2によれば、分析装置1は、ボーン長ベクトル抽出部11と、統計学習エンジン12とを有する。これら機能構成部は、分析装置に搭載されたコンピュータを機能させるプログラムを実行させることによって実現される。また、これら機能構成部の処理の流れは、分析方法としても理解できる。
【0030】
分析装置1は、統計学習のための教師データとして、多数のスキンモデルを準備する。前述したように、スキンモデルは、スキンに複数の関節点を内在したものである。関節点は、ボーンによって親子関係で結ばれている。スキンモデルが人体である場合、人体のポリゴンメッシュに、関節点を結んだ骨格を内在したものである。即ち、不特定多数の人物から取得した人体のスキンモデルを準備する。
尚、本発明が想定する関節点や骨格とは、人体の解剖学的なものではなく、あくまで動き(モーション)の際の基軸となるものに過ぎない。
【0031】
[ボーン長ベクトル抽出部11]
ボーン長ベクトル抽出部11は、関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出する。
【0032】
図3は、本発明における関節点同士を結ぶボーンを表す説明図である。
【0033】
<関節点毎の位置ベクトル>
関節点は、3次元の世界座標系を基準として表現される。世界座標系では基本的に、y軸正方向を鉛直上向き方向、x-z平面を水平面とした座標系とする。その上で、関節点毎の位置ベクトルを、以下のように表す。
関節点の位置ベクトル :t=(tx ty tz)
【0034】
<関節点毎のボーン長ベクトル>
人体の骨格は、関節点を結ぶツリー構造として表現される。
ボーン長ベクトル抽出部11は、子関節点の位置と親関節点の位置との絶対差|b|をボーン長とし、全てのボーンからなるボーン長ベクトルrとして抽出する。
ボーン長ベクトルrは、例えば前述した
図1によれば、以下の14次元のベクトルで表現される。
{
「頚椎-中央胸」のボーン長
「中央胸-左肩」のボーン長
「左肩-左肘」のボーン長
「左肘-左手首」のボーン長
「中央胸-右肩」のボーン長
「右肩-右肘」のボーン長
「右肘-右手首」のボーン長
「中央胸-中央腰」のボーン長
「中央腰-左腰」のボーン長
「左腰-左膝」のボーン長
「左膝-左足首」のボーン長
「中央腰-右腰」のボーン長
「右腰-右膝」のボーン長
「右膝-右足首」のボーン長
}
【0035】
ボーン長ベクトルrは、その人を特定する本質的な外観的特徴であって、不変的な要素である。即ち、人の「肉付き」「姿勢」が変化しても、「骨格に基づく体長」は変化しない。
【0036】
[統計学習エンジン12]
統計学習エンジン12は、訓練段階として、以下のように機能する。
<訓練段階>
統計学習エンジン12は、訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する。
【0037】
図4は、統計学習エンジンにおける3次元モデルのベクトル空間を表す説明図である。
【0038】
図4によれば、教師データとしては、様々な体形を持つ例えば6000体の人体を想定している。
図4(a)によれば、1体の3次元モデルは、ボーン長ベクトルとなるD(=14)次元のベクトルで表現される。
図4(b)によれば、3次元モデルの人体毎に、D次元空間における1点で表される。
【0039】
図5は、統計学習エンジンにおける統計形状空間を表す説明図である。
図6は、統計学習エンジンにおける主成分分析を表す簡易なコードである。
【0040】
統計学習エンジン12は、具体的には、主成分分析(Principal Component Analysis)に基づくものであってもよい。
「主成分分析」によって、相関のあるD次元空間の6000点から、互いに無相関で全体のばらつきをよく表す次元(例えば14次元)の主成分(成分変数)を導出する。第1主成分の分散を最大化し、続く主成分はそれまでに決定した主成分と無相関という拘束条件の下で、分散を最大化するようにして選択される。主成分の分散を最大化することによって、観測値の変化に対する説明能力を可能な限り主成分に持たせる。主成分を与える主軸はD次空間における6000点の群の直交基底となっている。主軸の直交性は、主軸が共分散行列の固有ベクトルになっており、共分散行列が実対称行列であることから導かれる。
【0041】
統計学習エンジン12は、D次元空間に対して、主成分分析に基づく成分変数を次元数とする統計形状空間(例えば14次元)に射影させる統計学習モデルを構築する。
本発明によれば、D(=14)次元空間における各3次元モデルを、例えば14次元(成分変数)空間に射影する。主成分を与える変換は、観測値の集合からなる行列の特異値分解で表され、D次元空間の6000点の群からなる矩形行列Xの特異値分解は、以下の式で表される。
X=U*Σ*VT
X:D次元空間の6000点からなる行列(6000行×D列)
U:n(6000)×n(6000)の正方行列(n次元単位ベクトルの直交行列)
Σ:n(6000)×p(D)の矩形対角行列(対角成分は、Xの特異値)
V:p(D)×p(D)の正方行列(p次元単位ベクトルの直交行列)
ここで、行列Vによる線形変換はXの主成分を与える。
V:D次元空間->統計形状(14次元)空間への変換を表す行列
V-1:統計形状(14次元)空間->D次元空間への変換を表す行列
尚、行列の上付き添え字-1は逆行列を示す記号ではなく、行列が定めるベクトルの変換に対して、その逆変換を意味する抽象的な記号として用いている。ここでは、V-1は、Vの転置VTと等しい。
【0042】
図6からも明らかなとおり、行列V又はV
-1による線形変換によって、D次元空間と統計形状空間との間で、3次元モデルの人体毎に対応付けることができる。
s=x*V
x=s*V
-1
s:統計形状空間のベクトル
x:D次元空間のベクトル
V:統計学習モデル
統計形状空間における原点は、教師データとして訓練した全ての人体モデルのボーン長の平均となる。即ち、平均となる原点から離れるほど、その点におけるボーン長は、特徴的であることを意味する。
【0043】
また、統計学習エンジン12は、オートエンコーダ(AutoEncoder)に基づくものであってもよい。
オートエンコーダは、ニューラルネットワークの一種で、入力データの情報量から抽象的概念(特徴量)を出力する。具体的には、入力データを、隠れ層で次元圧縮し、出力時に元のサイズに戻す。
オートエンコーダも、主成分分析と同様に、相関のあるD次元空間の6000点から、互いに無相関で全体のばらつきを最もよく表す14次元の成分変数を導出する。
【0044】
前述した
図2によれば、統計学習エンジン12は、2つの推定段階として、以下のように機能する。
<エンコーダとしての推定段階>
統計学習エンジン12は、推定対象となる1体のポリゴンメッシュにおける全ての関節点のボーン長ベクトルを入力し、成分変数を出力する。
成分変数は、例えば14次元ベクトルであって、推定対象となるスキンモデル(ポリゴンメッシュ+スケルトン)の「姿勢(全ての関節点の回転)」の主成分となる。
<デコーダとしての推定段階>
統計学習エンジン12は、推定対象となる成分変数を入力し、1体のスキンモデルにおける「全てのボーン長(=ボーン長ベクトル)」を出力する。
例えば推定対象となる14次元ベクトルの成分変数を入力することによって、1体の全てのボーン長ベクトルを出力することができる。全てのボーン長ベクトルは、その人体の不変的な外観的特徴を表す。
【0045】
ここで、本発明の特徴を改めて詳述する。
従来技術によれば、スキニングでは一般に、関節点を中心とした人体部位の回転として姿勢や動きを表現する。スキニング処理は、「Skeleton Subspace Deformation」とも称され、骨格における関節点毎の座標系によって変形を記述するものである。その骨格を変位させることによって、ポリゴンメッシュを変形させる。また、一般的なアニメーションの用途によれば、骨格の作成の設定は、作業者が手動で操作するものである。
これに対し、本発明は、骨格における関節点毎のボーン長ベクトルのみを抽出し、3Dポリゴンメッシュの変形とは別に、統計的に分析するものである。このような技術は、既存技術として存在しない。本発明によれば、関節点のボーン長ベクトルの分解は、スキニングアルゴリズムを最後まで計算せずに、中間データとなるボーン長ベクトルを抽出し、統計学習エンジンで訓練させたことにある。
【0046】
<姿勢判定アプリケーション>
例えば衣服の場合、人のサイズ(骨格の長さ)や周径に基づいて設計されているが、その衣服が似合うような人の姿勢(関節点の回転)までも考慮されたものではない。一方で、衣服を購入するユーザも、自らのサイズや体形は考慮するが、姿勢までも考慮することは全くない。ユーザ自らの姿勢が、平均的な姿勢又は理想的な姿勢からどの程度離れたものであるか、も考慮することはない。
姿勢判定アプリケーションとして、様々な用途が想定されるが、異なる人体における姿勢の相違を数値的に取得することができる。姿勢の相違は、例えば主成分分析に基づく統計形状空間では、点間の距離として認識することができる。
【0047】
図7は、関節点推定部及びスケルトン変形部を更に有する分析装置の機能構成図である。
【0048】
図7によれば、
図2と比較して、関節点推定部13と、スケルトン変形部14とを更に有する。これら機能構成部も、分析装置に搭載されたコンピュータを機能させるプログラムを実行させることによって実現される。また、これら機能構成部の処理の流れは、分析方法としても理解できる。
【0049】
人体を光学スキャナによって撮影した場合、3次元の人体モデルは、スキン(ポリゴンメッシュ)となる。即ち、スキンは、スキンモデルのようにスケルトン(骨格)を含むものではない。そのために、
図7によれば、ボーン長ベクトル抽出部11の前段で、スキンから関節点を抽出し、関節点同士を親子関係によってボーンで結んだスケルトンを推定する。
【0050】
[関節点推定部13]
関節点推定部13は、1体のポリゴンメッシュから、関節点の位置を推定する。
関節点推定部13は、関節点学習エンジンであってもよく、以下のように機能させる。
(訓練段階)教師データ群の複数体のポリゴンメッシュ(説明変数)をそれぞれ入力し、関節点の位置(目的変数)を出力するように関節点学習モデルを構築する。
(推定段階)推定対象となるポリゴンメッシュ(説明変数)を入力し、関節点の位置(目的変数)を出力する。
【0051】
関節点学習エンジンとしては、関節点の推定に、ポリゴンメッシュの頂点位置から、モーションキャプチャの関節点を予測する回帰モデルを用いることもできる。回帰モデルの訓練としては、「人体形状は関節の周囲でほぼ凸形状」と仮定する。凸形状とは、任意の2点間を結ぶ線分が、その多角形の外に出ることがないものをいう(内角は180°以下)。
勿論、回帰モデルのような機械学習ではなく、モーションキャプチャに基づくフレーム画像に映るマーク点に対応するメッシュ頂点を指定して、メッシュから直接に関節位置を計算したものであってもよい。
【0052】
また、関節位置を、モーションキャプチャデータから推定するものであってもよい。例えばVICON(登録商標)のように、モーションキャプチャの各フレームから、関節位置を推定するものであってもよい。例えば多数の人の歩行動作を撮影したモーションキャプチャの各フレームから、歩行動作に基づく関節位置の変位を推定することができる。
【0053】
尚、本願発明の特徴として、スケルトンを含まないスキン(ポリゴンメッシュ)のみから、姿勢を分析することができる。これは、市販されている様々な3次元スキャナの機種や撮影環境を問わないこと可能にする。即ち、様々な3次元スキャナによって撮影されたポリゴンメッシュであっても、相同モデル化されている限り、関節位置を推定し、統計形状空間に対応付けることができる。このように、人体のスキンから姿勢のみを分離することによって、3次元スキャナの異なる機種や撮影環境を統一的に扱うことが可能となる。
【0054】
[スケルトン変形部14]
スケルトン変形部14は、1体の全ての関節点のボーン長ベクトルから、1体のスケルトンを再生する。
統計学習エンジン12から出力されるものは、ボーン長ベクトルのみであるので、スケルトンのテンプレートを予め用意しておく。そのテンプレートを、統計学習エンジン12から出力されたボーン長ベクトル(回転軸、回転角)に対応させて、テンプレートのスケルトンモデルを変形(関節点の回転)させる。
このように、スケルトン変形部14によって、スケルトンに基づく姿勢を視覚的に認識することができる。
【0055】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、スキンモデルから骨格に基づく体長を分析可能な統計形状空間を生成することができる。
【0056】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0057】
1 分析装置
11 ボーン長ベクトル抽出部
12 統計学習エンジン
13 関節点推定部
14 スケルトン変形部
【要約】
【課題】複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析するプログラム等を提供する。
【解決手段】プログラムは、関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、全てのボーン長をボーン長ベクトルとして抽出するボーン長ベクトル抽出手段と、訓練段階として、教師データ群となる複数体のスキンモデルにおけるボーン長ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンとしてコンピュータを機能させる。ボーン長ベクトル抽出手段は、子関節点の位置と親関節点の位置との絶対差|b|をボーン長とし、全てのボーンからなるボーン長ベクトルとして抽出する。
【選択図】
図2