JP7120532B1 - スキンモデルから肉付きに基づく体形を統計的に分析するプログラム、装置及び方法 - Google Patents

スキンモデルから肉付きに基づく体形を統計的に分析するプログラム、装置及び方法 Download PDF

Info

Publication number
JP7120532B1
JP7120532B1 JP2021205593A JP2021205593A JP7120532B1 JP 7120532 B1 JP7120532 B1 JP 7120532B1 JP 2021205593 A JP2021205593 A JP 2021205593A JP 2021205593 A JP2021205593 A JP 2021205593A JP 7120532 B1 JP7120532 B1 JP 7120532B1
Authority
JP
Japan
Prior art keywords
vertex
joint
joint point
position vector
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021205593A
Other languages
English (en)
Other versions
JP2023090566A (ja
Inventor
裕樹 有光
孝明 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orbisbrain
Original Assignee
Orbisbrain
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orbisbrain filed Critical Orbisbrain
Priority to JP2021205593A priority Critical patent/JP7120532B1/ja
Application granted granted Critical
Publication of JP7120532B1 publication Critical patent/JP7120532B1/ja
Publication of JP2023090566A publication Critical patent/JP2023090566A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析するプログラム等を提供する。【解決手段】関節点毎に、関節座標系が設定されており、スキンモデル(人体モデル)における頂点毎に各関節点に対する頂点位置ベクトルを抽出する頂点位置ベクトル抽出手段と、訓練段階として、教師データ群となる複数体のスキンモデルにおける頂点毎の各関節点の頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンとして機能させる。関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成する。スケルトンは、人体の骨格であり、ボーンは、関節点間の骨であり、円筒中心点からの半径rは、骨格に対する肉付きとなる。【選択図】図2

Description

本発明は、スキンモデルを統計的に分析する技術に関する。特にスキンモデルとして、3次元の人体モデルに適する。
人体の形状データを取得するために、3次元ボディスキャナの技術がある(例えば非特許文献1参照)。この技術によれば、非接触の光学測量によって3次元の人体モデルを計測する。この人体モデルは、複数の頂点からなるポリゴンをメッシュ状に構成した「スキン」として表現される。頂点数は、例えば約150万点と超高密度で計測することもできる。
従来、採寸値のみから3次元モデルを簡易に生成すると共に、次元圧縮によってデータ容量を小さくする技術がある(例えば特許文献1参照)。この技術によれば、3次元モデル毎に、複数の採寸箇所に対応する次元数nの採寸値が対応付けられている教師データ群を用いて、1体の次元数nの採寸値から、3次元モデルを生成することができる。具体的には、教師データ群の複数体の3次元モデルから、次元圧縮された次元数mの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、次元数nの採寸値と、次元数mの成分変数との相関学習モデルを構築する相関学習エンジンとを有する。また、相関学習エンジンを用いて、対象データとしての1体の次元数nの採寸値から次元数mの成分変数を生成するエンコード部と、統計学習エンジンを用いて、当該次元数mの成分変数から3次元モデルを生成するデコード部とを有する。
特許6424309号公報
「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/>
特許文献1に記載の技術によれば、3次元モデルは、各頂点を、世界座標系(World coordinate system, Global coordinate system)の3次元(x,y,z)で表現する。例えば1体毎に頂点数がN=150万である場合、1体の3次元モデルは、3N(=450万)次元のベクトルで表現される。そして、例えば6000体ほどの3次元モデルを、統計学習エンジンに入力し、成分変数を得ることができる。統計学習エンジンは、具体的には、主成分分析(Principal Component Analysis)に基づくものである。
3次元の人体モデルを取得するためには、人物が実際に3次元ボディスキャナ内に入って撮影しなければならないが、このとき、人物毎に姿勢のばらつきが生じる。世界座標系である場合、同一人物であっても、その人物の姿勢の影響を受けて、異なる3次元モデルが取得されることとなる。
姿勢は、関節点の位置に応じて異なる。例えば全く同一の人物であっても、両足を開いた場合と、両足を閉じた場合とでは、特に足の部分で大きく異なる人体モデルとして取得されることとなる。また、3次元スキャナによって計測する場合、生身の人物である全員に、同一姿勢を強要することは非常に難しい。
即ち、3次元スキャナによって人体を計測した場合、人体の長さや周径に基づく「体形」と、人体の関節の位置に基づく「姿勢」とが混在したデータとなってしまう。
これに対し、本願の発明者らは、3次元スキャナによって計測された人体の3次元モデルから、「姿勢」を分離した「体形」のみを抽出することができないか、と考えた。これによって、同一人物が、異なる「姿勢」を取ったとしても、比較的同一の「体形」のみを得ることができるのではないか、と考えた。
例えば「体形」に基づく採寸値としては、身長や股下長のような「長さ」と、腹囲や太もも径のような「周径」とがある。ここで、長さは、人体の骨格長に基づくものであり、周径は、骨の周りの肉付きに基づくものである。本来、このような人体の「体形」に基づく長さや周径は、「姿勢」の影響を受けないものである。一方で、人の体形における「肥満」「痩身」などの判定は、本来、骨格に基づくものではなく、骨の周りの肉付きが基準となるものである。
これに対し、本願の発明者らは、複数体の3次元モデルについて、「姿勢」を分離した「肉付きに基づく体形」のみのデータから、次元圧縮した成分変数を得ることは、統計的な体形の分析に役立つと考えた。特に、人体の部位毎の肉付きの違いは外観的印象を分析するための要素となる、と考えた。
そこで、本発明によれば、スキンモデルから肉付きに基づく体形を分析可能な統計形状空間を生成するプログラム、装置及び方法を提供することを目的とする。
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置に搭載されたコンピュータを機能させるプログラムであって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
当該関節点から子関節点へ向かう方向のボーンの円筒中心点から頂点への半径rを、ボーンに対する肉付きとして表し、頂点毎における各関節点に対する頂点位置ベクトルとして少なくとも半径rを含め、
スキンモデルの頂毎における各関節点に対する頂点位置ベクトルを抽出する頂点位置ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルの頂毎における各関節点に対する頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
してコンピュータを機能させることを特徴とする。
本発明のプログラムにおける他の実施形態によれば、
頂点位置ベクトル抽出手段は、各関節点の回転行列Rと位置tとからなる同次座標変換行列Aを算出し、全ての頂点vの位置からなる頂点行列Vを、同次座標変換行列A-1によって関節座標系に変換した頂点行列V'を、各関節点に対する頂点位置ベクトルとして抽出する
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
1体のポリゴンメッシュから、関節点の位置を推定する関節点推定手段と
して更にコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
関節点推定手段は、関節点学習エンジンであり、
訓練段階として、教師データ群の複数体のポリゴンメッシュをそれぞれ入力し、関節点の位置を出力するように関節点学習モデルを構築し、
推定段階として、推定対象となるポリゴンメッシュを入力し、関節点の位置を出力する
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
エンコーダとしての推定段階として、
統計学習エンジンは、推定対象となる1体のポリゴンメッシュにおける毎における各関節点に対する頂点位置ベクトルを入力し、成分変数を出力する
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
デコーダとしての推定段階として、
統計学習エンジンは、推定対象となる成分変数を入力し、1体のスキンモデル頂点毎における各関節点に対する頂点位置ベクトルを出力し、
当該頂点毎における各関節点に対する頂点位置ベクトルから、1体のスキンモデルを再生するスキニング手段と
してコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
節点毎の関節座標系は、当該関節点を親として子関節点へ向かう方向をz軸とし、当該関節点の屈曲する方向をx軸とし、x軸及びz軸と直交する方向をy軸として設定される
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
頂点毎の各関節点に対する頂点位置ベクトルを、当該関節点から子関節点へ向かう方向の距離zと、円筒中心点からの半径rと、円筒中心点の径方向の角度θとした円筒座標で表現する
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
スキンモデルは、人体モデルであり、
スケルトンは、人体の骨格であり、
ボーンは、関節点間の骨であ
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
スキンモデルについて、頂点毎に、影響を及ぼす1つ以上の関節点が予め設定されており、
頂点位置ベクトル抽出手段は、頂点毎に、予め設定された各関節点に対する頂点位置ベクトルを抽出する
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
統計学習エンジンは、主成分分析(Principal Component Analysis)又はオートエンコーダ(AutoEncoder)に基づくものである
ようにコンピュータを機能させることも好ましい。
本発明のプログラムにおける他の実施形態によれば、
教師データ群として、スキンモデル毎に、複数の周径採寸箇所に対応する次元数nの周径採寸値が対応付けられており、
スキンモデル毎に、次元数nの周径採寸値と、統計学習エンジンによって出力された次元数mの成分変数とを対応付けて学習した相関学習モデルを構築する相関学習エンジンと
して機能させ、
相関学習エンジンを用いて、対象データとしての1体の次元数nの周径採寸値から、次元数mの成分変数へエンコードし、
相関学習エンジンを用いて、統計学習エンジンから出力された当該次元数mの成分変数から、1体の次元数nの周径採寸値へデコードする
ようにコンピュータを機能させることも好ましい。
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する分析装置であって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
当該関節点から子関節点へ向かう方向のボーンの円筒中心点から頂点への半径rを、ボーンに対する肉付きとして表し、頂点毎における各関節点に対する頂点位置ベクトルとして少なくとも半径rを含め、
スキンモデルの頂毎における各関節点に対する頂点位置ベクトルを抽出する頂点位置ベクトル抽出手段と、
訓練段階として、教師データ群となる複数体のスキンモデルの頂毎における各関節点の頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
を有することを特徴とする。
本発明によれば、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置の分析方法であって、
関節点毎に、関節座標系が設定されており、
関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
当該関節点から子関節点へ向かう方向のボーンの円筒中心点から頂点への半径rを、ボーンに対する肉付きとして表し、頂点毎における各関節点に対する頂点位置ベクトルとして少なくとも半径rを含め、
装置は、
スキンモデルの頂毎における各関節点に対する頂点位置ベクトルを抽出する第1のステップと、
訓練段階として、統計学習エンジンによって、教師データ群となる複数体のスキンモデルの頂毎における各関節点の頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する第2のステップと
を実行することを特徴とする。
本発明のプログラム、装置及び方法によれば、スキンモデルから肉付きに基づく体形を分析可能な統計形状空間を生成することができる。
関節点と頂点との関係を表す説明図である。 本発明における分析装置の基本的な機能構成図である。 本発明における関節点の関節座標系とポリゴンメッシュの頂点とを表す説明図である。 関節点と頂点との関係を円筒座標系で表す説明図である。 統計学習エンジンにおける3次元モデルのベクトル空間を表す説明図である。 統計学習エンジンにおける統計形状空間を表す説明図である。 統計学習エンジンにおける主成分分析を表す簡易なコードである。 関節点推定部及びスキニング部を更に有する分析装置の機能構成図である。 統計学習エンジンを用いた相関学習エンジンの訓練段階の構成図である。 計測値から導出した計測値空間を表す説明図である。 統計形状空間と計測値空間との線形変換を表す説明図である。 相関学習エンジンの第1の推定段階の構成図である。 相関学習エンジンの第2の推定段階の構成図である。
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、関節点と頂点との関係を表す説明図である。
本発明の実施形態によれば、用語を、以下のように定義する。
「スキン」 :複数の頂点からなるポリゴンメッシュ
(例えば人体を3次元スキャナで撮影した人体のポリゴンメッシュ)
「スキンモデル」 :スキンに複数の関節点を内在するモデル
「関節点」 :スキンを変形させるジョイント(例えば人体の関節)
「ボーン」 :関節点を結ぶ線分(例えば人体の骨)
「スケルトン」 :関節点同士を親子関係によってボーンで結んだ構成
(例えば人体の骨格)
「スキンウェイト」:関節点がスキンの各頂点に及ぼす影響度
図1によれば、人体は、例えば頂点数150万頂点のポリゴンメッシュで表現されている。また、関節点は、例えば以下の15箇所とする。
「頚椎」
「中央胸」
「左肩」「左肘」「左手首」
「右肩」「右肘」「右手首」
「中央腰」
「左腰」「左膝」「左足首」
「右腰」「右膝」「右足首」
図2は、本発明における分析装置の基本的な機能構成図である。
分析装置1は、複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する。スキンモデルを成分変数に次元圧縮し、「肉付きに基づく体形」を分析可能とする統計形状空間を生成する。
図2によれば、分析装置1は、頂点位置ベクトル抽出部11と、統計学習エンジン12とを有する。これら機能構成部は、分析装置に搭載されたコンピュータを機能させるプログラムを実行させることによって実現される。また、これら機能構成部の処理の流れは、分析方法としても理解できる。
分析装置1は、統計学習のための教師データとして、多数のスキンモデルを準備する。前述したように、スキンモデルは、スキンに複数の関節点を内在したものである。関節点は、ボーンによって親子関係で結ばれている。スキンモデルが人体である場合、人体のポリゴンメッシュに、関節点を結んだ骨格を内在したものである。即ち、不特定多数の人物から取得した人体のスキンモデルを準備する。
尚、本発明が想定する関節点や骨格とは、人体の解剖学的なものではなく、あくまで動き(モーション)の際の基軸となるものに過ぎない。
[頂点位置ベクトル抽出部11]
頂点位置ベクトル抽出部11は、スキンモデルにおける頂点毎に各関節点に対する「頂点位置ベクトル」を抽出する。
図3は、本発明における関節点の関節座標系とポリゴンメッシュの頂点とを表す説明図である。
<位置ベクトル>
ポリゴンメッシュの各頂点は、以下のように3次元の世界座標系を基準として表現される。世界座標系では基本的に、y軸正方向を鉛直上向き方向、x-z平面を水平面とした座標系とする。
そして、頂点の位置ベクトルと、関節点の位置ベクトルとを、以下のように表す。
Figure 0007120532000002
<関節座標系>
関節点毎に、関節座標系を、以下のように設定する。
z軸:当該関節点を親として子関節点へ向かう方向
x軸:当該関節点の屈曲する方向
y軸:x軸及びz軸と直交する方向
尚、人体の骨格は、関節点を結ぶツリー構造として表現される。
図3によれば、肩関節点の関節座標系と、ヒジ関節点の関節座標系とが表されている。肩関節点の関節座標系のz軸は、肩関節点の子関節点となるヒジ関節点へ向かう方向へ設定される。また、肩関節点の関節座標系のx軸は、肩関節点の屈曲する方向へ設定される。そして、肩関節点の関節座標系のy軸は、x軸及びz軸と直交する方向に設定される。
<頂点位置ベクトル(同次座標変換行列)>
頂点位置ベクトル抽出部11は、各関節点の回転行列Rと位置tとからなる同次座標変換行列Aを算出する。
同次座標系(homogeneous coordinate system)は、平行移動を含む全ての座標変換を行列演算とした記法である(例えば非特許文献3参照)。これは、3次元空間の位置や方向を表すベクトルを、同次座標の成分を加えた4次元ベクトルとして表現する。
各関節点の関節座標系の基底ベクトル: rx,ry,rz
(単位ベクトルで互いに直交(正規直交基底))
Figure 0007120532000003
尚、この表記は、行ベクトルで、行列が右から作用する場合の表現である。列ベクトルで、行列が左から作用する場合は、回転行列や同次変換行列を転置する。
そして、頂点位置ベクトル抽出部11は、全ての頂点vの位置からなる頂点行列Vを、同次座標変換行列A-1によって関節座標系に変換した頂点行列V'を、各関節点に対する「頂点位置ベクトル」として抽出する。
各関節点に対する頂点位置ベクトル :V'=VA-1
<頂点から見た関節点に対する重み>
次に、スキンモデルについて、頂点毎に、影響を及ぼす1つ以上の関節点が予め設定されている。
図3によれば、ポリゴンメッシュの頂点1は、肩関節点から重み1の影響を受けているとする。ポリゴンメッシュの頂点2は、肩関節点から重み0.5の影響を受け、ヒジ関節点から重み0.5の影響を受けているとする。ポリゴンメッシュの頂点3は、ヒジ関節点から重み1の影響を受けているとする。
そして、頂点位置ベクトル抽出部11は、頂点毎に、予め設定された各関節点に対する頂点位置ベクトルを抽出する。
<関節点と頂点との関係(円筒座標系)>
図4は、関節点と頂点との関係を円筒座標系で表す説明図である。
図4によれば、頂点毎の各関節点に対する頂点位置ベクトルを、以下のように円筒座標系で表現する。
当該関節点から子関節点へ向かう方向(ボーン)の距離z
円筒中心点からの半径r
円筒中心点の径方向の角度θ
このとき、円筒中心点からの半径rは、人体モデルにおける骨格に対する「肉付き」として表現できる。
円筒座標系と直交座標系との間の変換は、円筒座標系の基準面をxy直交座標平面(z=0の表す平面)とし、且つ、円筒軸をz直交座標軸とする。これによって、両座標系でz座標は共通になり、円筒座標(r,θ,z)と直交座標(x,y,z)との間の変換則は、2次元の極座標系の場合と同様に、以下のように対応付けられる。
(直交座標基準)
x=rcosθ
y=rsinθ
z=z
(円筒座標基準)
r=√(x2+y2)
x=0及びy=0 : θ=0
x≧0 : arcsin(y/r)
x>0 : arctan(y/x)
x<0 : -arcsin(y/r)+π
[統計学習エンジン12]
統計学習エンジン12は、訓練段階として、以下のように機能する。
<訓練段階>
統計学習エンジン12は、教師データ群となる複数体のスキンモデルにおける頂点毎の各関節点の頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する。
図5は、統計学習エンジンにおける3次元モデルのベクトル空間を表す説明図である。
図5によれば、教師データとしては、様々な体形を持つ例えば6000体の人体を想定している。3次元モデルは、人体(生体)の形状データであって、同一頂点数で表現される。
図5(a)によれば、人体の3次元モデルは、人体毎に頂点数がN=150万あり、各頂点は3次元(x,y,z)で表現される。また、人体の3次元モデルは、関節点数D=15を有する。1体の3次元モデルは、N=150万の各頂点について、D=15の各関節点に対する頂点位置ベクトルとなる3ND(例えば3×150万×15=6750万)次元のベクトルで表現される。
図5(b)によれば、3次元モデルの人体毎に、3ND次元空間における1点で表される。
尚、一般的な機械学習エンジンによれば、膨大な数の教師データを必要とするのに対し、本発明によれば、教師データ群の複数体数は、3次元モデルの頂点数よりも少なくてもよい。即ち、教師データの人体数6,000は、3次元モデルのベクトル次元数6750万よりも少ない。本発明によれば、教師データの複数体数は、3次元モデルのベクトル次元数以上に用意する必要がなく、そうであっても十分に精度を維持することができる。
図6は、統計学習エンジンにおける統計形状空間を表す説明図である。
図7は、統計学習エンジンにおける主成分分析を表す簡易なコードである。
統計学習エンジン12は、具体的には、主成分分析(Principal Component Analysis)に基づくものであってもよい。
「主成分分析」によって、相関のある3ND次元空間の6000点から、互いに無相関で全体のばらつきを最もよく表す少数(例えば30次元)の主成分(成分変数)を導出する。第1主成分の分散を最大化し、続く主成分はそれまでに決定した主成分と無相関という拘束条件の下で、分散を最大化するようにして選択される。主成分の分散を最大化することによって、観測値の変化に対する説明能力を可能な限り主成分に持たせる。主成分を与える主軸は3ND次空間における6000点の群の直交基底となっている。主軸の直交性は、主軸が共分散行列の固有ベクトルになっており、共分散行列が実対称行列であることから導かれる。
統計学習エンジン12は、3ND次元空間に対して、主成分分析に基づく成分変数を次元数とする統計形状空間(例えば30次元)に射影させる統計学習モデルを構築する。
本発明によれば、3ND(=5400万)次元空間における各3次元モデルを、例えば30次元(成分変数)空間に射影する。主成分を与える変換は、観測値の集合からなる行列の特異値分解で表され、3ND次元空間の6000点の群からなる矩形行列Xの特異値分解は、以下の式で表される。
X=U*Σ*VT
X:3ND次元空間の6000点からなる行列(6000行×3ND列)
U:n(6000)×n(6000)の正方行列(n次元単位ベクトルの直交行列)
Σ:n(6000)×p(3ND)の矩形対角行列(対角成分は、Xの特異値)
V:p(3ND)×p(3ND)の正方行列(p次元単位ベクトルの直交行列)
ここで、Vの最初の30列からなる行列をVと改める。そして、その行列Vによる線形変換はXの主成分を与える。
V:3ND次元空間->統計形状(30次元)空間への変換を表す行列
-1:統計形状(30次元)空間->3N次元空間への変換を表す行列
尚、行列の上付き添え字-1は逆行列を示す記号ではなく、行列が定めるベクトルの変換に対して、その逆変換を意味する抽象的な記号として用いている。ここでは、V-1は、Vの転置VTと等しい。
図7からも明らかなとおり、行列V又はV-1による線形変換によって、3ND次元空間と統計形状空間との間で、3次元モデルの人体毎に対応付けることができる。
s=x*V
x=s*V-1
s:統計形状空間のベクトル
x:3ND次元空間のベクトル
V:統計学習モデル
統計形状空間における原点は、教師データとして訓練した全ての人体モデルの肉付きに基づく体形の平均となる。即ち、平均となる原点から離れるほど、その点における肉付きに基づく体形は、特徴的であることを意味する。
また、統計学習エンジン12は、オートエンコーダ(AutoEncoder)に基づくものであってもよい。
オートエンコーダは、ニューラルネットワークの一種で、情報量を小さくした特徴表現を実現する。具体的には、入力データの次元数よりも、隠れ層の次元を圧縮したものである。入力データを、ニューラルネットワークを通して圧縮し、出力時には元のサイズに戻す。このとき、ニューラルネットワークは、入力データの抽象的概念(特徴量)を抽出する。
オートエンコーダも、主成分分析と同様に、相関のある3ND次元空間の6000点から、互いに無相関で全体のばらつきを最もよく表す30次元の成分変数を導出する。
前述した図2によれば、統計学習エンジン12は、2つの推定段階として、以下のように機能する。
<エンコーダとしての推定段階>
統計学習エンジン12は、推定対象となる1体のポリゴンメッシュにおける頂点毎の各関節点の頂点位置ベクトルを入力し、成分変数を出力する。
成分変数は、例えば30次元ベクトルであって、推定対象となるスキンモデル(ポリゴンメッシュ+スケルトン)の「肉付きに基づく体形」の主成分となる。
<デコーダとしての推定段階>
統計学習エンジン12は、推定対象となる成分変数を入力し、1体のスキンモデルにおける頂点毎の各関節点の頂点位置ベクトルを出力する。
例えば推定対象となる30次元ベクトルの成分変数を入力することによって、1体の頂点位置ベクトル群を出力することができる。
ここで、本発明の特徴を改めて詳述する。
従来技術によれば、スキニングでは一般に、3次元のポリゴンメッシュに合わせて骨格を作成し、その骨格を変位させることによって、ポリゴンメッシュを変形させる。即ち、3Dポリゴンメッシュ -> 骨格+重み -> 3Dポリゴンメッシュの変形、の手順をとる。また、一般的なアニメーションの用途によれば、骨格の作成と重みの設定は、作業者が手動で操作するものである。
これに対し、本発明は、関節点との関係から頂点位置ベクトルのみを抽出し、3Dポリゴンメッシュを変形させることなく、統計的に分析するものである。このような技術は、既存技術として存在しない。本発明によれば、スキニングに基づく肉付きの分解は、スキニングアルゴリズムを最後まで計算せずに、中間データとなる頂点位置ベクトルを抽出し、統計学習エンジンで訓練させたことにある。
また、従来技術によれば、スキニングの目的はポリゴンメッシュの変形であるために、ポリゴンメッシュを関節点毎の座標系に変換し、変換した座標をブレンドする、という手順を一度に実行する。
これに対し、本発明によれば、骨格の部分空間の変換を線形にブレンドして変形する際に、骨格の部分空間に座標変換した中間データとなる頂点位置ベクトル群を「肉付き」として抽出している。これを統計的に分析することができる。統計的に推定された頂点位置ベクトル群を線形にブレンドすることによって、普通のスキニングとすることができる。
<肉付き判定アプリケーション>
例えば衣服の場合、人のサイズ(骨格の長さ)や周径に基づいて設計されているが、その衣服が似合うような人の肉付きの体形までも考慮されたものではない。一方で、衣服を購入するユーザも、自らのサイズや周径は考慮するが、各部位の肉付きまでも考慮することは全くない。ユーザ自らの肉付きが、平均的な肉付き又は理想的な肉付きからどの程度離れたものであるか、も考慮することはない。
肉付き判定アプリケーションとして、様々な用途が想定されるが、異なる人体における肉付きに基づく体形の相違を数値的に取得することができる。肉付きに基づく体形の相違は、例えば主成分分析に基づく統計形状空間では、点間の距離として認識することができる。
図8は、関節点推定部及びスキニング部を更に有する分析装置の機能構成図である。
図8によれば、図2と比較して、関節点推定部13と、スキニング部14とを更に有する。これら機能構成部も、分析装置に搭載されたコンピュータを機能させるプログラムを実行させることによって実現される。また、これら機能構成部の処理の流れは、分析方法としても理解できる。
人体を光学スキャナによって撮影した場合、3次元の人体モデルは、スキン(ポリゴンメッシュ)となる。即ち、スキンは、スキンモデルのようにスケルトン(骨格)を含むものではない。そのために、図8によれば、頂点位置ベクトル抽出部11の前段で、スキンから関節点を抽出し、関節点同士を親子関係によってボーンで結んだスケルトンを推定する。
[関節点推定部13]
関節点推定部13は、1体のポリゴンメッシュから、関節点の位置を推定する。
関節点推定部13は、関節点学習エンジンであってもよく、以下のように機能する。
(訓練段階)教師データ群の複数体のポリゴンメッシュ(説明変数)をそれぞれ入力し、関節点の位置(目的変数)を出力するように関節点学習モデルを構築する。
(推定段階)推定対象となるポリゴンメッシュ(説明変数)を入力し、関節点の位置(目的変数)を出力する。
関節点学習エンジンとしては、関節点の推定に、ポリゴンメッシュの頂点位置から、モーションキャプチャの関節点を予測する回帰モデルを用いることもできる。回帰モデルの訓練としては、「人体形状は関節の周囲でほぼ凸形状」と仮定する。凸形状とは、任意の2点間を結ぶ線分が、その多角形の外に出ることがないものをいう(内角は180°以下)。
勿論、回帰モデルのような機械学習ではなく、モーションキャプチャに基づくフレーム画像に映るマーク点に対応するメッシュ頂点を指定して、メッシュから直接に関節位置を計算したものであってもよい。
また、関節位置を、モーションキャプチャデータから推定するものであってもよい。例えばVICON(登録商標)のように、モーションキャプチャの各フレームから、関節位置を推定するものであってもよい。例えば多数の人の歩行動作を撮影したモーションキャプチャの各フレームから、歩行動作に基づく関節位置の変位を推定することができる。
尚、本願発明の特徴として、スケルトンを含まないスキン(ポリゴンメッシュ)のみから、肉付きに基づく体形を分析することができる。これは、市販されている様々な3次元スキャナの機種や撮影環境を問わないこと可能にする。即ち、様々な3次元スキャナによって撮影されたポリゴンメッシュであっても、相同モデル化されている限り、関節位置を推定し、統計形状空間に対応付けることができる。このように、人体のスキンから、肉付きに基づく体形のみを分離することによって、3次元スキャナの異なる機種や撮影環境を統一的に扱うことが可能となる。
[スキニング部14]
スキニング部14は、当該頂点毎の各関節点の頂点位置ベクトルから、1体のスキンモデルを再生する。
統計学習エンジン12から出力された頂点位置ベクトルを用いて、ポリゴンメッシュを変形(頂点の移動)させる。このスキニングアルゴリズム(skeleton subspace deformation、又は、linear blend skinning)は、一般なものである。そもそも、スキニングアルゴリズムは、主にアニメーションの用途に基づくものである。
このように、スキニング部14によって、人体のスキンを視覚的に認識することができる。
図9は、統計学習エンジンを用いた相関学習エンジンの訓練段階の構成図である。
図9によれば、図8と比較して、相関学習エンジン15を更に有する。図9に基づく機能構成は、本願の出願人によって特許が取得された、人体の採寸値のみから3次元モデルを簡易に生成する技術に基づくものである(例えば特許文献1参照)。
ここで、分析装置1は、相関学習のための教師データとして、スキン(ポリゴンメッシュ)毎に、次元数nの採寸値とを対応付けたものを準備する。
採寸値としては、外観から計測可能な寸法を意味する。幾何的な採寸箇所は、複数箇所であることが好ましい。人体の場合、周径(特定部位の肉付き)として、例えばトップバスト(胸囲)、アンダーバスト、ウエスト(腹囲)、ヒップ(尻囲)などがある。本発明は、頂点位置ベクトルを「肉付き」として抽出するものであるので、スキンに周径が対応付けられたものであることが好ましい。
勿論、人体の場合、長さとして、採寸値には、例えば身長、座高、股下長なども含まれる。ここで、採寸値は、例えばマルチン式人体計測法に基づくものであってもよい。
尚、人体の場合、採寸値には、体組成値が含まるものであってもよい。体組成値としては、人体の場合、体組成計(又は血液検査)などの機器から計測可能な値を意味する。人体の体形は、その体組成値によっても大きく変化するであろう。複数のユーザで、例えば同じ身長、腹囲及び胸囲であっても、体組成値によってはその外観の体形が異なる場合もある、と考えられる。
体組成値としては、例えば生体情報のような、体重、体脂肪率、内臓脂肪レベル、皮下脂肪率、基礎代謝、骨格筋率、筋肉率、BMI、活動量、歩数、血圧値、心拍(脈拍)数、体温、呼吸数、血液に関する指標値(血糖値、中性脂肪量、コレステロール量など)、消費カロリ、食事量、水分摂取量、排泄量、発汗量、肺活量、睡眠量などであってもよい。
[相関学習エンジン15]
相関学習エンジン15は、各3次元モデルについて、次元数nの計測値(説明変数)と、次元数mの成分変数(目的変数)と関係を相互に学習するように、相関学習モデルを構築する。
図10は、計測値から導出した計測値空間を表す説明図である。
図10によれば、複数の計測値から、計測値空間を導出することができる。例えば12個の計測値が付与されている場合、計測値空間は12次元となる。
図11は、統計形状空間と計測値空間との線形変換を表す説明図である。
<最小二乗法>
相関学習エンジン15は、最小二乗法に基づくものであってもよい。
「最小二乗法(least squares method)」とは、複数の多次元ベクトル(データの組)から線形モデルで近似する際に、残差の二乗和が最小となる最も確からしい線形モデルを決定することをいう。
図11からも明らかなとおり、行列A又はA-1による線形変換によって、統計形状空間と計測値空間との間で、3次元モデルの人体毎に対応付けることができる。
s=d*A
d=s*A-1
A=(DT*D)-1*DT*S (||D*A-S||を最小化するAを導出する)
s:統計形状空間のベクトル
d:計測値空間のベクトル
S:統計形状空間のベクトルの組
D:計測値空間のベクトルの組
A:相関学習モデル
相関学習エンジン15は、多層パーセプトロンに基づくものであってもよい。これは、線形パーセプトロンにおける最小二乗法アルゴリズムの一般化である。
図12は、相関学習エンジンの第1の推定段階の構成図である。
第1の推定段階として、対象人体のポリゴンメッシュ(3次元モデル)から、対象人体の次元数nの計測値を推定することができる。
(S11)対象人体のポリゴンメッシュから、関節点推定部13によって関節点を推定し、スキンモデル(ポリゴンメッシュ+スケルトン(骨格))を生成する。
(S12)スキンモデルから、頂点位置ベクトル抽出部11によって頂点位置ベクトルを抽出する。
(S13)頂点位置ベクトルから、統計学習エンジン12によって次元数mの成分変数を推定する。
(S14)次元数mの成分変数から、相関学習エンジン15によって次元数nの計測値を推定する。
図13は、相関学習エンジンの第2の推定段階の構成図である。
第2の推定段階として、対象人体の次元数nの計測値から、対象人体のポリゴンメッシュ(3次元モデル)を推定することができる。
(S21)次元数nの計測値から、相関学習エンジン15によって次元数mの成分変数を推定する。
(S22)次元数mの成分変数から、統計学習エンジン12によって頂点位置ベクトルを推定する。
(S23)頂点位置ベクトルから、スキニング部14によって、所定のスケルトンに応じて変形させたスキンモデルを生成する。
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、スキンモデルから肉付きに基づく体形を分析可能な統計形状空間を生成することができる。
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
1 分析装置
11 頂点位置ベクトル抽出部
12 統計学習エンジン
13 関節点推定部
14 スキニング部
15 相関学習エンジン

Claims (14)

  1. 複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置に搭載されたコンピュータを機能させるプログラムであって、
    関節点毎に、関節座標系が設定されており、
    関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
    当該関節点から子関節点へ向かう方向のボーンの円筒中心点から頂点への半径rを、ボーンに対する肉付きとして表し、頂点毎における各関節点に対する頂点位置ベクトルとして少なくとも半径rを含め、
    スキンモデルの頂毎における各関節点に対する頂点位置ベクトルを抽出する頂点位置ベクトル抽出手段と、
    訓練段階として、教師データ群となる複数体のスキンモデルの頂毎における各関節点に対する頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
    してコンピュータを機能させることを特徴とするプログラム。
  2. 頂点位置ベクトル抽出手段は、各関節点の回転行列Rと位置tとからなる同次座標変換行列Aを算出し、全ての頂点vの位置からなる頂点行列Vを、同次座標変換行列A-1によって関節座標系に変換した頂点行列V'を、各関節点に対する頂点位置ベクトルとして抽出する
    ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
  3. 1体のポリゴンメッシュから、関節点の位置を推定する関節点推定手段と
    して更にコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
  4. 関節点推定手段は、関節点学習エンジンであり、
    訓練段階として、教師データ群の複数体のポリゴンメッシュをそれぞれ入力し、関節点の位置を出力するように関節点学習モデルを構築し、
    推定段階として、推定対象となるポリゴンメッシュを入力し、関節点の位置を出力する
    ようにコンピュータを機能させることを特徴とする請求項3に記載のプログラム。
  5. エンコーダとしての推定段階として、
    統計学習エンジンは、推定対象となる1体のポリゴンメッシュにおける毎における各関節点に対する頂点位置ベクトルを入力し、成分変数を出力する
    ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
  6. デコーダとしての推定段階として、
    統計学習エンジンは、推定対象となる成分変数を入力し、1体のスキンモデル頂点毎における各関節点に対する頂点位置ベクトルを出力し、
    当該頂点毎における各関節点に対する頂点位置ベクトルから、1体のスキンモデルを再生するスキニング手段と
    してコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
  7. 節点毎の関節座標系は、当該関節点を親として子関節点へ向かう方向をz軸とし、当該関節点の屈曲する方向をx軸とし、x軸及びz軸と直交する方向をy軸として設定される
    ようにコンピュータを機能させることを特徴とする請求項1から6のいずれか1項に記載のプログラム。
  8. 頂点毎における各関節点に対する頂点位置ベクトルを、当該関節点から子関節点へ向かう方向の距離zと、円筒中心点からの半径rと、円筒中心点の径方向の角度θとした円筒座標で表現する
    ようにコンピュータを機能させることを特徴とする請求項7に記載のプログラム。
  9. スキンモデルは、人体モデルであり、
    スケルトンは、人体の骨格であり、
    ボーンは、関節点間の骨であ
    ようにコンピュータを機能させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
  10. スキンモデルについて、頂点毎に、影響を及ぼす1つ以上の関節点が予め設定されており、
    頂点位置ベクトル抽出手段は、頂点毎に、予め設定された各関節点に対する頂点位置ベクトルを抽出する
    ようにコンピュータを機能させることを特徴とする請求項1から9のいずれか1項に記載のプログラム。
  11. 統計学習エンジンは、主成分分析(Principal Component Analysis)又はオートエンコーダ(AutoEncoder)に基づくものである
    ようにコンピュータを機能させることを特徴とする請求項1から10のいずれか1項に記載のプログラム。
  12. 教師データ群として、スキンモデル毎に、複数の周径採寸箇所に対応する次元数nの周径採寸値が対応付けられており、
    スキンモデル毎に、次元数nの周径採寸値と、統計学習エンジンによって出力された次元数mの成分変数とを対応付けて学習した相関学習モデルを構築する相関学習エンジンと
    して機能させ、
    相関学習エンジンを用いて、対象データとしての1体の次元数nの周径採寸値から、次元数mの成分変数へエンコードし、
    相関学習エンジンを用いて、統計学習エンジンから出力された当該次元数mの成分変数から、1体の次元数nの周径採寸値へデコードする
    ようにコンピュータを機能させることを特徴とする請求項1から11のいずれか1項に記載のプログラム。
  13. 複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置分析装置であって、
    関節点毎に、関節座標系が設定されており、
    関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
    当該関節点から子関節点へ向かう方向のボーンの円筒中心点から頂点への半径rを、ボーンに対する肉付きとして表し、頂点毎における各関節点に対する頂点位置ベクトルとして少なくとも半径rを含め、
    スキンモデルの頂毎における各関節点に対する頂点位置ベクトルを抽出する頂点位置ベクトル抽出手段と、
    訓練段階として、教師データ群となる複数体のスキンモデルの頂毎における各関節点の頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する統計学習エンジンと
    を有することを特徴とする分析装置。
  14. 複数の頂点からなるポリゴンメッシュに複数の関節点を内在するスキンモデルを統計的に分析する装置の分析方法であって、
    関節点毎に、関節座標系が設定されており、
    関節点同士を親子関係によってボーンで結ぶことによってスケルトンを構成し、
    当該関節点から子関節点へ向かう方向のボーンの円筒中心点から頂点への半径rを、ボーンに対する肉付きとして表し、頂点毎における各関節点に対する頂点位置ベクトルとして少なくとも半径rを含め、
    装置は、
    スキンモデルの頂毎における各関節点に対する頂点位置ベクトルを抽出する第1のステップと、
    訓練段階として、統計学習エンジンによって、教師データ群となる複数体のスキンモデルの頂毎における各関節点の頂点位置ベクトルを入力し、成分変数を出力するように統計学習モデルを構築する第2のステップと
    を実行することを特徴とする分析方法。
JP2021205593A 2021-12-17 2021-12-17 スキンモデルから肉付きに基づく体形を統計的に分析するプログラム、装置及び方法 Active JP7120532B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021205593A JP7120532B1 (ja) 2021-12-17 2021-12-17 スキンモデルから肉付きに基づく体形を統計的に分析するプログラム、装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021205593A JP7120532B1 (ja) 2021-12-17 2021-12-17 スキンモデルから肉付きに基づく体形を統計的に分析するプログラム、装置及び方法

Publications (2)

Publication Number Publication Date
JP7120532B1 true JP7120532B1 (ja) 2022-08-17
JP2023090566A JP2023090566A (ja) 2023-06-29

Family

ID=82850920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021205593A Active JP7120532B1 (ja) 2021-12-17 2021-12-17 スキンモデルから肉付きに基づく体形を統計的に分析するプログラム、装置及び方法

Country Status (1)

Country Link
JP (1) JP7120532B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117274449A (zh) * 2023-11-15 2023-12-22 唯物(杭州)科技有限公司 一种基于模型生成骨骼的方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180315230A1 (en) * 2015-06-24 2018-11-01 Max-Planck-Gesellschaft Zur Förderung Dur Wissenschaften E.V. Skinned multi-person linear model
JP2021184215A (ja) * 2020-05-22 2021-12-02 国立大学法人 東京大学 皮膚情報を用いた運動特徴量の取得方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180315230A1 (en) * 2015-06-24 2018-11-01 Max-Planck-Gesellschaft Zur Förderung Dur Wissenschaften E.V. Skinned multi-person linear model
JP2021184215A (ja) * 2020-05-22 2021-12-02 国立大学法人 東京大学 皮膚情報を用いた運動特徴量の取得方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117274449A (zh) * 2023-11-15 2023-12-22 唯物(杭州)科技有限公司 一种基于模型生成骨骼的方法和系统
CN117274449B (zh) * 2023-11-15 2024-02-09 唯物(杭州)科技有限公司 一种基于模型生成骨骼的方法和系统

Also Published As

Publication number Publication date
JP2023090566A (ja) 2023-06-29

Similar Documents

Publication Publication Date Title
Kadleček et al. Reconstructing personalized anatomical models for physics-based body animation
Dekker et al. Building symbolic information for 3D human body modeling from range data
Dibra et al. Human shape from silhouettes using generative hks descriptors and cross-modal neural networks
Barmpoutis Tensor body: Real-time reconstruction of the human body and avatar synthesis from RGB-D
CN112069933A (zh) 基于体态识别和人体生物力学的骨骼肌肉受力估计方法
Ballester et al. Data-driven three-dimensional reconstruction of human bodies using a mobile phone app
Werghi Segmentation and modeling of full human body shape from 3-D scan data: A survey
Huang et al. Parametric design for human body modeling by wireframe-assisted deep learning
CN109636910A (zh) 一种基于深度生成对抗网络的颅面复原方法
KR20230004837A (ko) 생성형 비선형 인간 형상 모형
Kaashki et al. Deep learning-based automated extraction of anthropometric measurements from a single 3-D scan
Zhu et al. Adaptable anatomical models for realistic bone motion reconstruction
JP7120532B1 (ja) スキンモデルから肉付きに基づく体形を統計的に分析するプログラム、装置及び方法
Danckaers et al. Posture normalisation of 3D body scans
Lifkooee et al. Real-time avatar pose transfer and motion generation using locally encoded laplacian offsets
JP7067709B1 (ja) スキンモデルから骨格に基づく体長を統計的に分析するプログラム、装置及び方法
JP7141610B1 (ja) スキンモデルから骨格に基づく姿勢を統計的に分析するプログラム、装置及び方法
Xu et al. Modeling 3D human body with a smart vest
Komaritzan et al. Inside humans: Creating a simple layered anatomical model from human surface scans
Azouz et al. Extracting main modes of human body shape variation from 3D anthropometric data
Zhou et al. Anthropometry model generation based on ANSUR II database
EP1406215A1 (en) Method for the modeling of skeletal kinematics
Tejeda et al. A neural anthropometer learning from body dimensions computed on human 3D meshes
CN114092634A (zh) 经穴定位方法、装置、电子设备及存储介质
Glascoe et al. Relationships between rigs and humanoid and coveroid landmarks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220228

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7120532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150