IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ワコールの特許一覧 ▶ 株式会社OrbisBrainの特許一覧

特許7141610スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法
<>
  • 特許-スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法 図1
  • 特許-スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法 図2
  • 特許-スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法 図3
  • 特許-スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法 図4
  • 特許-スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法 図5
  • 特許-スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法 図6
  • 特許-スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-09-14
(45)【発行日】2022-09-26
(54)【発明の名称】スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法
(51)【国際特許分類】
   A61B 5/107 20060101AFI20220915BHJP
   G06T 7/00 20170101ALI20220915BHJP
【FI】
A61B5/107 300
G06T7/00 350C
【請求項の数】 11
(21)【出願番号】P 2022013607
(22)【出願日】2022-01-31
【審査請求日】2022-02-28
【早期審査対象出願】
(73)【特許権者】
【識別番号】306033379
【氏名又は名称】株式会社ワコール
(73)【特許権者】
【識別番号】320001411
【氏名又は名称】株式会社OrbisBrain
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】有光 裕樹
(72)【発明者】
【氏名】大黒 茂和
【審査官】▲瀬▼戸井 綾菜
(56)【参考文献】
【文献】特開2021-155893(JP,A)
【文献】特開2008-282110(JP,A)
【文献】国際公開第2017/065241(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 5/107
G06T 1/00-1/60
G06T 7/00-7/90
A41H 1/02
(57)【特許請求の範囲】
【請求項1】
複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置に搭載されたコンピュータを機能させるプログラムであって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
全ての関節点のボーンの軸角度ベクトルは、スケルトンに対する姿勢を表し、
スキンモデルにおける全ての関節点に対する軸角度ベクトルを抽出する軸角度ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおける各関節点の軸角度ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
軸角度ベクトル抽出手段は、各関節点の回転行列Rを軸角度ベクトルrへ変換する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
軸角度ベクトル抽出手段は、軸角度ベクトルrを、関節点を始点とした方向ベクトル回転軸eと、その軸周りの回転角度θとを組み合わせて表現する
ようにコンピュータを機能させることを特徴とする請求項2に記載のプログラム。
【請求項4】
1体のポリゴンメッシュから、関節点の位置を推定する関節点推定手段と
して更にコンピュータを機能させることを特徴とする請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
関節点推定手段は、関節点学習エンジンであり、
訓練段階として、教師データ群の複数体のポリゴンメッシュをそれぞれ入力し、関節点の位置を出力するように関節点学習モデルを構築し、
推定段階として、推定対象となるポリゴンメッシュを入力し、関節点の位置を出力する
ようにコンピュータを機能させることを特徴とする請求項4に記載のプログラム。
【請求項6】
第1の推定段階として、
統計学習エンジンは、推定対象となる1体のポリゴンメッシュにおける軸角度ベクトルを入力し、成分変数を出力する
ようにコンピュータを機能させることを特徴とする請求項1から5のいずれか1項に記載のプログラム。
【請求項7】
節点毎の関節座標系は、当該関節点を親として子関節点へ向かう方向をz軸とし、当該関節点の屈曲する方向をx軸とし、x軸及びz軸と直交する方向をy軸として設定される
ようにコンピュータを機能させることを特徴とする請求項1から6のいずれか1項に記載のプログラム。
【請求項8】
スキンモデルは、人体モデルであり、
スケルトンは、人体の骨格であり、
ボーンは、関節点間の骨であ
ようにコンピュータを機能させることを特徴とする請求項7に記載のプログラム。
【請求項9】
統計学習エンジンは、主成分分析(Principal Component Analysis)又はオートエンコーダ(AutoEncoder)に基づくものである
ようにコンピュータを機能させることを特徴とする請求項1から8のいずれか1項に記載のプログラム。
【請求項10】
複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する分析装置であって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
全ての関節点のボーンの軸角度ベクトルは、スケルトンに対する姿勢を表し、
スキンモデルにおける全ての関節点に対する軸角度ベクトルを抽出する軸角度ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおける各関節点の軸角度ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
を有することを特徴とする分析装置。
【請求項11】
複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置の分析方法であって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
全ての関節点のボーンの軸角度ベクトルは、スケルトンに対する姿勢を表し、
装置は、
スキンモデルにおける全ての関節点に対する軸角度ベクトルを抽出する第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】
【文献】特許6424309号公報
【非特許文献】
【0005】
【文献】「smart&try」、株式会社ワコール、[online]、[令和3年11月20日検索]、インターネット<URL:https://www.wacoal.jp/smart_try/>
【文献】「人間工学」、[online]、[令和3年11月20日検索]、インターネット<URL:https://www.cc.miyazaki-u.ac.jp/mitarai/room707/ergo002.html>
【文献】向井智彦、川地克明、三宅陽一郎、「キャラクタアニメーションの数理とシステム、-3次元ゲームにおける身体運動生成と人工知能-」、[online]、[令和3年11月20日検索]、インターネット<URL:https://www.coronasha.co.jp/np/isbn/9784339029093/>
【文献】「回転行列(方向余弦行列)とは?」、スカイ技術研究所ブログ、[online]、[令和3年11月20日検索]、インターネット<URL:https://www.sky-engin.jp/blog/rotation-matrix/>
【発明の概要】
【発明が解決しようとする課題】
【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次元スキャナによって計測する場合、生身の人物である全員に、同一姿勢を強要することは非常に難しい。
即ち、3次元スキャナによって人体を計測した場合、人体の長さや周径に基づく「体形」と、人体の関節の位置に基づく「姿勢」とが混在したデータとなってしまう。
【0008】
これに対し、本願の発明者らは、3次元スキャナによって計測された人体の3次元モデルから、「体形」を分離した「姿勢」のみを抽出することができないか、と考えた。これによって、その人物について、「体形」に依存しない、「姿勢」のみを得ることができるのではないか、と考えた。
【0009】
例えば「体形」に基づく採寸値としては、身長や股下長のような「長さ」と、腹囲や太もも径のような「周径」とがある。ここで、長さは、人体の骨格長に基づくものであり、周径は、骨の周りの肉付きに基づくものである。本来、このような人体の「体形」に基づく長さや周径は、「姿勢」の影響を受けないものである。
一方で、「姿勢」は、人物における骨格の関節点の位置によって変化する。同じ体形の人物同士であっても、例えば前傾、後傾、猫背、巻き肩などのような姿勢の変化によって、その外観的印象は大きく異なる。
【0010】
これに対し、本願の発明者らは、複数体の3次元モデルについて、「体形」を分離した「骨格に基づく姿勢」のみのデータから統計的に分析するはできないか、と考えた。特に、人の姿勢から醸し出される外観的印象となる「佇まい」を分析するための要素となる、と考えた。
【0011】
そこで、本発明によれば、スキンモデルから骨格(スケルトン)に基づく姿勢を分析可能な統計形状空間を生成するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置に搭載されたコンピュータを機能させるプログラムであって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
全ての関節点のボーンの軸角度ベクトルは、スケルトンに対する姿勢を表し、
スキンモデルにおける全ての関節点に対する軸角度ベクトルを抽出する軸角度ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおける各関節点の軸角度ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
してコンピュータを機能させることを特徴とする。
【0013】
本発明のプログラムにおける他の実施形態によれば、
軸角度ベクトル抽出手段は、全ての関節点の回転行列Rを軸角度ベクトルrへ変換する
ようにコンピュータを機能させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
軸角度ベクトル抽出手段は、軸角度ベクトルrを、関節点を始点とした方向ベクトル回転軸eと、その軸周りの回転角度θとを組み合わせて表現する
ようにコンピュータを機能させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
1体のポリゴンメッシュから、関節点の位置を推定する関節点推定手段と
して更にコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
関節点推定手段は、関節点学習エンジンであり、
訓練段階として、教師データ群の複数体のポリゴンメッシュをそれぞれ入力し、関節点の位置を出力するように関節点学習モデルを構築し、
推定段階として、推定対象となるポリゴンメッシュを入力し、関節点の位置を出力する
ようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
第1の推定段階として、
統計学習エンジンは、推定対象となる1体のポリゴンメッシュにおける軸角度ベクトルを入力し、成分変数を出力する
ようにコンピュータを機能させることも好ましい。
【0018】
本発明のプログラムにおける他の実施形態によれば、
節点毎の関節座標系は、当該関節点を親として子関節点へ向かう方向をz軸とし、当該関節点の屈曲する方向をx軸とし、x軸及びz軸と直交する方向をy軸として設定される
ようにコンピュータを機能させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
スキンモデルは、人体モデルであり、
スケルトンは、人体の骨格であり、
ボーンは、関節点間の骨であ
ようにコンピュータを機能させることも好ましい。
【0020】
本発明のプログラムにおける他の実施形態によれば、
統計学習エンジンは、主成分分析(Principal Component Analysis)又はオートエンコーダ(AutoEncoder)に基づくものである
ようにコンピュータを機能させることも好ましい。
【0021】
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する分析装置であって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
全ての関節点のボーンの軸角度ベクトルは、スケルトンに対する姿勢を表し、
スキンモデルにおける全ての関節点に対する軸角度ベクトルを抽出する軸角度ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルにおける各関節点の軸角度ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
を有することを特徴とする。
【0022】
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置の分析方法であって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
全ての関節点のボーンの軸角度ベクトルは、スケルトンに対する姿勢を表し、
装置は、
スキンモデルにおける全ての関節点に対する軸角度ベクトルを抽出する第1のステップと、
訓練段階として、統計学習エンジンによって、教師データ群となる複数体のスキンモデルにおける各関節点の軸角度ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する第2のステップと
を実行することを特徴とする。
【発明の効果】
【0023】
本発明のプログラム、装置及び方法によれば、スキンモデルから骨格に基づく姿勢を分析可能な統計形状空間を生成することができる。
【図面の簡単な説明】
【0024】
図1】関節点と頂点との関係を表す説明図である。
図2】本発明における分析装置の基本的な機能構成図である。
図3】本発明における関節点の関節座標系と回転角及び回転軸とを表す説明図である。
図4】統計学習エンジンにおける3次元モデルのベクトル空間を表す説明図である。
図5】統計学習エンジンにおける統計形状空間を表す説明図である。
図6】統計学習エンジンにおける主成分分析を表す簡易なコードである。
図7】関節点推定部及びスケルトン変形部を更に有する分析装置の機能構成図である。
【発明を実施するための形態】
【0025】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【0026】
図1は、関節点と頂点との関係を表す説明図である。
【0027】
本発明の実施形態によれば、用語を、以下のように定義する。
「スキン」 :複数の頂点からなるポリゴンメッシュ
(例えば人体を3次元スキャナで撮影した人体のポリゴンメッシュ)
「スキンモデル」 :スキンに複数の関節点を内在するモデル
「関節点」 :スキンを変形させるジョイント(例えば人体の関節)
「ボーン」 :関節点を結ぶ線分(例えば人体の骨)
「スケルトン」 :関節点同士を親子関係によってボーンで結んだ構成
(例えば人体の骨格)
「スキンウェイト」:関節点がスキンの各頂点に及ぼす影響度
【0028】
図1によれば、人体は、例えば頂点数150万頂点のポリゴンメッシュで表現されている。また、関節点は、例えば以下の15箇所とする。
「頚椎」
「中央胸」
「左肩」「左肘」「左手首」
「右肩」「右肘」「右手首」
「中央腰」
「左腰」「左膝」「左足首」
「右腰」「右膝」「右足首」
尚、姿勢による座標の変動は、関節点を中心とした回転動作の結果と考えられる。
【0029】
図2は、本発明における分析装置の基本的な機能構成図である。
【0030】
分析装置1は、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する。スキンモデルから「骨格に基づく姿勢」を分析可能とする統計形状空間を生成する。
図2によれば、分析装置1は、軸角度ベクトル抽出部11と、統計学習エンジン12とを有する。これら機能構成部は、分析装置に搭載されたコンピュータを機能させるプログラムを実行させることによって実現される。また、これら機能構成部の処理の流れは、分析方法としても理解できる。
【0031】
分析装置1は、統計学習のための教師データとして、多数のスキンモデルを準備する。前述したように、スキンモデルは、スキンに複数の関節点を内在したものである。関節点は、ボーンによって親子関係で結ばれている。スキンモデルが人体である場合、人体のポリゴンメッシュに、関節点を結んだ骨格を内在したものである。即ち、不特定多数の人物から取得した人体のスキンモデルを準備する。
尚、本発明が想定する関節点や骨格とは、人体の解剖学的なものではなく、あくまで動き(モーション)の際の基軸となるものに過ぎない。
【0032】
[軸角度ベクトル抽出部11]
軸角度ベクトル抽出部11は、スキンモデルにおける全ての関節点に対する「軸角度ベクトル」を抽出する。
【0033】
図3は、本発明における関節点の関節座標系と回転角及び回転軸とを表す説明図である。
【0034】
<関節点毎の位置ベクトル>
関節点は、3次元の世界座標系を基準として表現される。世界座標系では基本的に、y軸正方向を鉛直上向き方向、x-z平面を水平面とした座標系とする。その上で、関節点毎の位置ベクトルを、以下のように表す。
関節点の位置ベクトル :t=(tx ty tz)
【0035】
<関節点毎の関節座標系>
関節点毎に、関節座標系を、以下のように設定する。
z軸:当該関節点を親として子関節点へ向かう方向
x軸:当該関節点の屈曲する方向
y軸:x軸及びz軸と直交する方向
尚、人体の骨格は、関節点を結ぶツリー構造として表現される。
【0036】
図3によれば、肩関節点の関節座標系と、ヒジ関節点の関節座標系とが表されている。肩関節点の関節座標系のz軸は、肩関節点の子関節点となるヒジ関節点へ向かう方向へ設定される。また、肩関節点の関節座標系のx軸は、肩関節点の屈曲する方向へ設定される。そして、肩関節点の関節座標系のy軸は、x軸及びz軸と直交する方向に設定される。
【0037】
<関節点毎の軸角度ベクトル>
軸角度ベクトル抽出部11は、各関節点の回転行列Rと位置tとからなる同次座標変換行列Aを算出する。
同次座標系(homogeneous coordinate system)は、平行移動を含む全ての座標変換を行列演算とした記法である(例えば非特許文献3参照)。これは、3次元空間の位置や方向を表すベクトルを、同次座標の成分を加えた4次元ベクトルとして表現する。
各関節点の関節座標系の基底ベクトル: rx,ry,rz
(単位ベクトルで互いに直交(正規直交基底))
【数1】
尚、この表記は、行ベクトルで、行列が右から作用する場合の表現である。列ベクトルで、行列が左から作用する場合は、回転行列や同次変換行列を転置する。
【0038】
軸角度ベクトルrは、関節点を始点とした方向ベクトル回転軸eと、その軸周りの回転角度θとの組み合わせ{e,θ}によって表現される。これは、任意軸周りの回転表現(axis-angle表現)と称される。回転軸eは3次元ベクトルで表され、回転角度θは1値で表されるので、軸角度ベクトルは4パラメータで表される。このとき、回転軸eに回転角度θを大きさとして含め、回転軸及び回転角度をθe=(θex,θey,θez)とすることによって、3パラメータで表すことができる。但し、{e,θ}と{-e,-θ}とは同一回転となるので、正値回転のみを扱う非負制約を条件とする。
軸角度ベクトル :r=θe=(θex,θey,θez)
回転軸(単位ベクトル):e=(ex,ey,ez)=r/|r|
回転角 :θ=|r|

【0039】
その上で、軸角度ベクトル抽出部11は、全ての関節点の回転行列Rを軸角度ベクトルrへ変換する。
軸角度ベクトル :r=log(R)
各関節点の回転行列 :R=exp(r)
回転行列Rと軸角度ベクトルrとの変換は、ロドリゲスの回転公式に基づくものである(例えば非特許文献3及び4参照)。
【0040】
尚、骨格における関節点の回転は、一般的に、オイラー角で表現される。オイラー角は、3軸(x軸周りの回転、y周りの回転、z周りの回転)で表現される。しかしながら、オイラー角は、2つ以上の回転を補完する際に、ジンバルロックの状態を生じてしまい、表現できる姿勢が制限されるという問題を生じる(例えば非特許文献3参照)。そのために、本発明は、関節点の回転を、「軸角度ベクトル」として表現している。
【0041】
[統計学習エンジン12]
統計学習エンジン12は、訓練段階として、以下のように機能する。
<訓練段階>
統計学習エンジン12は、訓練段階として、教師データ群となる複数体のスキンモデルにおける各関節点の軸角度ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する。
【0042】
図4は、統計学習エンジンにおける3次元モデルのベクトル空間を表す説明図である。
【0043】
図4によれば、教師データとしては、様々な体形を持つ例えば6000体の人体を想定している。
図4(a)によれば、人体の3次元モデル毎に、関節点数D=15であり、各関節点は3パラメータ(θe)で表現されるとする。1体の3次元モデルは、D=15の各関節点に対する軸角度ベクトルとなる3D(例えば3×15=45)次元のベクトルで表現される。
図4(b)によれば、3次元モデルの人体毎に、3D次元空間における1点で表される。
【0044】
図5は、統計学習エンジンにおける統計形状空間を表す説明図である。
図6は、統計学習エンジンにおける主成分分析を表す簡易なコードである。
【0045】
統計学習エンジン12は、具体的には、主成分分析(Principal Component Analysis)に基づくものであってもよい。
「主成分分析」によって、相関のある3D次元空間の6000点から、互いに無相関で全体のばらつきをよく表す次元(例えば45次元)の主成分(成分変数)を導出する。第1主成分の分散を最大化し、続く主成分はそれまでに決定した主成分と無相関という拘束条件の下で、分散を最大化するようにして選択される。主成分の分散を最大化することによって、観測値の変化に対する説明能力を可能な限り主成分に持たせる。主成分を与える主軸は3D次空間における6000点の群の直交基底となっている。主軸の直交性は、主軸が共分散行列の固有ベクトルになっており、共分散行列が実対称行列であることから導かれる。
【0046】
統計学習エンジン12は、3D次元空間に対して、主成分分析に基づく成分変数を次元数とする統計形状空間(例えば45次元)に射影させる統計学習モデルを構築する。
本発明によれば、3D(=45)次元空間における各3次元モデルを、例えば45次元(成分変数)空間に射影する。主成分を与える変換は、観測値の集合からなる行列の特異値分解で表され、3D次元空間の6000点の群からなる矩形行列Xの特異値分解は、以下の式で表される。
X=U*Σ*VT
X:3D次元空間の6000点からなる行列(6000行×3D列)
U:n(6000)×n(6000)の正方行列(n次元単位ベクトルの直交行列)
Σ:n(6000)×p(3D)の矩形対角行列(対角成分は、Xの特異値)
V:p(3D)×p(3D)の正方行列(p次元単位ベクトルの直交行列)
ここで、行列Vによる線形変換はXの主成分を与える。
V:3D次元空間->統計形状(45次元)空間への変換を表す行列
-1:統計形状(45次元)空間->3D次元空間への変換を表す行列
尚、行列の上付き添え字-1は逆行列を示す記号ではなく、行列が定めるベクトルの変換に対して、その逆変換を意味する抽象的な記号として用いている。ここでは、V-1は、Vの転置VTと等しい。
【0047】
図6からも明らかなとおり、行列V又はV-1による線形変換によって、3D次元空間と統計形状空間との間で、3次元モデルの人体毎に対応付けることができる。
s=x*V
x=s*V-1
s:統計形状空間のベクトル
x:3D次元空間のベクトル
V:統計学習モデル
統計形状空間における原点は、教師データとして訓練した全ての人体モデルの姿勢(関節点の回転)の平均となる。即ち、平均となる原点から離れるほど、その点における姿勢は、特徴的であることを意味する。
【0048】
また、統計学習エンジン12は、オートエンコーダ(AutoEncoder)に基づくものであってもよい。
オートエンコーダは、ニューラルネットワークの一種で、入力データの情報量から抽象的概念(特徴量)を出力する。具体的には、入力データを、隠れ層で次元圧縮し、出力時に元のサイズに戻す。
オートエンコーダも、主成分分析と同様に、相関のある3D次元空間の6000点から、互いに無相関で全体のばらつきを最もよく表す45次元の成分変数を導出する。
【0049】
前述した図2によれば、統計学習エンジン12は、2つの推定段階として、以下のように機能する。
<エンコーダとしての推定段階>
統計学習エンジン12は、推定対象となる1体のポリゴンメッシュにおける全ての関節点の軸角度ベクトルを入力し、成分変数を出力する。
成分変数は、例えば45次元ベクトルであって、推定対象となるスキンモデル(ポリゴンメッシュ+スケルトン)の「姿勢(全ての関節点の回転)」の主成分となる。
<デコーダとしての推定段階>
統計学習エンジン12は、推定対象となる成分変数を入力し、1体のスキンモデルにおける「全ての関節点の軸角度ベクトル」を出力する。
例えば推定対象となる45次元ベクトルの成分変数を入力することによって、1体の全ての関節点の軸角度ベクトルを出力することができる。全ての関節点の軸角度ベクトルは、その人体の姿勢を表す。
【0050】
ここで、本発明の特徴を改めて詳述する。
従来技術によれば、スキニングでは一般に、関節点を中心とした人体部位の回転として姿勢や動きを表現する。スキニング処理は、「Skeleton Subspace Deformation」とも称され、骨格における関節点毎の座標系によって変形を記述するものである。その骨格を変位させることによって、ポリゴンメッシュを変形させる。また、一般的なアニメーションの用途によれば、骨格の作成の設定は、作業者が手動で操作するものである。
これに対し、本発明は、骨格における関節点毎の軸角度ベクトルのみを抽出し、3Dポリゴンメッシュの変形とは別に、統計的に分析するものである。このような技術は、既存技術として存在しない。本発明によれば、関節点の軸角度ベクトルの分解は、スキニングアルゴリズムを最後まで計算せずに、中間データとなる軸角度ベクトルを抽出し、統計学習エンジンで訓練させたことにある。
【0051】
<姿勢判定アプリケーション>
例えば衣服の場合、人のサイズ(骨格の長さ)や周径に基づいて設計されているが、その衣服が似合うような人の姿勢(関節点の回転)までも考慮されたものではない。一方で、衣服を購入するユーザも、自らのサイズや体形は考慮するが、姿勢までも考慮することは全くない。ユーザ自らの姿勢が、平均的な姿勢又は理想的な姿勢からどの程度離れたものであるか、も考慮することはない。
姿勢判定アプリケーションとして、様々な用途が想定されるが、異なる人体における姿勢の相違を数値的に取得することができる。姿勢の相違は、例えば主成分分析に基づく統計形状空間では、点間の距離として認識することができる。
【0052】
図7は、関節点推定部及びスケルトン変形部を更に有する分析装置の機能構成図である。
【0053】
図7によれば、図2と比較して、関節点推定部13と、スケルトン変形部14とを更に有する。これら機能構成部も、分析装置に搭載されたコンピュータを機能させるプログラムを実行させることによって実現される。また、これら機能構成部の処理の流れは、分析方法としても理解できる。
【0054】
人体を光学スキャナによって撮影した場合、3次元の人体モデルは、スキン(ポリゴンメッシュ)となる。即ち、スキンは、スキンモデルのようにスケルトン(骨格)を含むものではない。そのために、図7によれば、軸角度ベクトル抽出部11の前段で、スキンから関節点を抽出し、関節点同士を親子関係によってボーンで結んだスケルトンを推定する。
【0055】
[関節点推定部13]
関節点推定部13は、1体のポリゴンメッシュから、関節点の位置を推定する。
関節点推定部13は、関節点学習エンジンであってもよく、以下のように機能させる。
(訓練段階)教師データ群の複数体のポリゴンメッシュ(説明変数)をそれぞれ入力し、関節点の位置(目的変数)を出力するように関節点学習モデルを構築する。
(推定段階)推定対象となるポリゴンメッシュ(説明変数)を入力し、関節点の位置(目的変数)を出力する。
【0056】
関節点学習エンジンとしては、関節点の推定に、ポリゴンメッシュの頂点位置から、モーションキャプチャの関節点を予測する回帰モデルを用いることもできる。回帰モデルの訓練としては、「人体形状は関節の周囲でほぼ凸形状」と仮定する。凸形状とは、任意の2点間を結ぶ線分が、その多角形の外に出ることがないものをいう(内角は180°以下)。
勿論、回帰モデルのような機械学習ではなく、モーションキャプチャに基づくフレーム画像に映るマーク点に対応するメッシュ頂点を指定して、メッシュから直接に関節位置を計算したものであってもよい。
【0057】
また、関節位置を、モーションキャプチャデータから推定するものであってもよい。例えばVICON(登録商標)のように、モーションキャプチャの各フレームから、関節位置を推定するものであってもよい。例えば多数の人の歩行動作を撮影したモーションキャプチャの各フレームから、歩行動作に基づく関節位置の変位を推定することができる。
【0058】
尚、本願発明の特徴として、スケルトンを含まないスキン(ポリゴンメッシュ)のみから、姿勢を分析することができる。これは、市販されている様々な3次元スキャナの機種や撮影環境を問わないこと可能にする。即ち、様々な3次元スキャナによって撮影されたポリゴンメッシュであっても、相同モデル化されている限り、関節位置を推定し、統計形状空間に対応付けることができる。このように、人体のスキンから姿勢のみを分離することによって、3次元スキャナの異なる機種や撮影環境を統一的に扱うことが可能となる。
【0059】
[スケルトン変形部14]
スケルトン変形部14は、1体の全ての関節点の軸角度ベクトルから、1体のスケルトンを再生する。
統計学習エンジン12から出力されるものは、軸角度ベクトルのみであるので、スケルトンのテンプレートを予め用意しておく。そのテンプレートを、統計学習エンジン12から出力された軸角度ベクトル(回転軸、回転角)に対応させて、テンプレートのスケルトンモデルを変形(関節点の回転)させる。
このように、スケルトン変形部14によって、スケルトンに基づく姿勢を視覚的に認識することができる。
【0060】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、スキンモデルから骨格に基づく姿勢を分析可能な統計形状空間を生成することができる。
【0061】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0062】
1 分析装置
11 軸角度ベクトル抽出部
12 統計学習エンジン
13 関節点推定部
14 スケルトン変形部
【要約】
【課題】複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析するプログラム等を提供する。
【解決手段】プログラムは、関節点毎に、関節座標系が設定されており、スキンモデル(人体モデル)における全ての関節点に対する軸角度ベクトルを抽出する軸角度ベクトル抽出手段と、訓練段階として、教師データ群となる複数体のスキンモデルにおける各関節点の軸角度ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンとして機能させる。軸角度ベクトル抽出手段は、各関節点の回転行列Rを軸角度ベクトルrへ変換する。軸角度ベクトルrは、関節点を始点とした方向ベクトルを回転軸eと、その軸周りの回転角度θとを組み合わせ{e,θ}て表現される。
【選択図】図2

図1
図2
図3
図4
図5
図6
図7