JP7475618B1 - 骨格モデルの姿勢決定方法及びプログラム - Google Patents
骨格モデルの姿勢決定方法及びプログラム Download PDFInfo
- Publication number
- JP7475618B1 JP7475618B1 JP2023204925A JP2023204925A JP7475618B1 JP 7475618 B1 JP7475618 B1 JP 7475618B1 JP 2023204925 A JP2023204925 A JP 2023204925A JP 2023204925 A JP2023204925 A JP 2023204925A JP 7475618 B1 JP7475618 B1 JP 7475618B1
- Authority
- JP
- Japan
- Prior art keywords
- parameters
- limit
- determination
- posture
- shape
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 59
- 230000008859 change Effects 0.000 claims description 10
- 230000007423 decrease Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 239000007787 solid Substances 0.000 description 56
- 238000010586 diagram Methods 0.000 description 30
- 230000007704 transition Effects 0.000 description 17
- 238000012937 correction Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 238000005452 bending Methods 0.000 description 11
- 210000003109 clavicle Anatomy 0.000 description 11
- 210000000323 shoulder joint Anatomy 0.000 description 8
- 210000000707 wrist Anatomy 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 210000001503 joint Anatomy 0.000 description 5
- 239000000470 constituent Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 210000000784 arm bone Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 210000001694 thigh bone Anatomy 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
しかしながら、従来の技術では、例えば人間などのキャラクタを含め、多くの種類のキャラクタの骨の曲げ又は捻りの姿勢を決定することは容易ではなかった。
前記複数のパラメータのうちの少なくとも一つのパラメータについて判定を行うことと、
前記判定に基づいて前記複数のパラメータを修正することと、
修正された前記複数のパラメータを用いて、前記子骨の姿勢を決定することと、
を有し、
姿勢決定方法を提供することができる。
また、前記複数のパラメータは、三つのパラメータであり、
また、前記立体形状は錐体であってもよい。
また、前記立体形状は錐体の一部であってもよい。
また、前記第1の制限は、前記断面積が単調減少する立体形状を組み合わせた形状を含んでもよい。
また、前記骨格モデルの変形に、インバースキネマティクスが適用されているか否かの検知を実行すること、を前記判定を行うことの前にさらに有し、
また、上記姿勢決定方法をコンピュータに実行させるプログラムであってもよい。或いは、このプログラムは、非一時的な記憶媒体に格納されてもよい。
例示として、図1Aの骨格モデルを用いた場合を想定する。この骨格モデルは、人間の骨格をモデル化したものである。キャラクタ102には、鎖骨122、肩関節123、上腕骨124を含む骨格モデルが存在する。そして、例えば、肩関節の腕の可動範囲には、一定の制限がある。この制限を超えた角度(曲げ、捻り)に腕を曲げるポーズを取らせることは、現実の人間に対するモデルからかけ離れたものになる。人間として自然なポーズを取る骨格モデルを形成するためには、たとえば肩関節の骨の可動範囲に対して、一定の制限を課すことが必要となる。
上述のように、骨格モデル(図1A)の骨の向きを表すために、各骨に対して図1Bのように座標系を定める。
・モノポーラ球面座標を使って関節の角度制限を行なう手法
一般に2次元の座標系に目盛りをつけるとグリッド(格子)となる。以下の説明では、便宜上「グリッド」という用語を用いる場合があるが、その表すものは、単なる格子ではなく座標系の意味を含むものとする。
図4Aのように、同様に、極P*を通りz軸に平行な直線をlzとし、lzを含む等角度間隔の平面群を用意する。図4Bのように、この平面群と単位球面とを重ね合わせる。図4Cに示すように、この平面群と単位球面との交線をグリッドの横線とする。
∠OP*P+∠OPP*=∠QOP
∴∠QOP=2φ=μ
したがって、ν=0の場合には、μは子骨のy軸回りの回転角となる。同様に、図6Bのように、点Pがxy平面上にある(即ちμ=0である)場合には、νは子骨のz軸回りの回転角となる。
[矩形領域による角度制限]
μ、νの値に上限、下限を設定することで、図7のように可動領域を設定できる。
上記の手法は、子骨の向きをモノポーラ座標系(μ、ν)で定義した。更に、子骨の捻り角、すなわち子骨の長手方向(x軸)周りの回転角をλとする。なお、関節の曲げと捻りとを総称して、関節の回転と呼ぶことにする。
図8Dは、肩関節につながる上腕800dを矢印890dの方向に、オペレータの指示により、捻りが加えられた状態を示している。
しかし、図8Cの姿勢は人間が取り得る姿勢なので、単に関節角度を制限するだけでは、図8Cの姿勢になることを避けるのは難しい。そこで本発明では、例えば上腕を振り上げる(すなわち上下方向の回転角度が変化する)のに連動して、上腕の捻りの回転と前後方向の回転の可動範囲を敢えて狭くすることによって、図8Cの姿勢ではなく図8Dの姿勢になるように、姿勢を変化させる。
したがって、上腕124の姿勢は、3つのパラメータ(λ,μ,ν)で定義することができる。
s=λ
t=μ
u=ν
図11A及び図11Bは、本発明の手法を用いて、パラメータs,t,uを互いに直交する座標軸とする三次元空間で、パラメータの範囲を制限する例を示す図である。
可動領域立体(solid of motion range)1102は、パラメータの可動範囲(許容される範囲)を示す立体であり、可動領域立体1102の表面および内部の領域が可動範囲である。
なお、図8Aの腕を下げた姿勢を初期ポーズとすると、パラメータuが大きくなる方向は、腕を上に挙げるというポーズの変化であり、初期ポーズから離れる方向のポーズの変化と言える。
図12A及び図12Bは、パラメータが、制限範囲外である場合におけるパラメータの修正の例を示す図である。
点1251から点1255へ至る遷移曲線は、点1253で可動領域立体1104の表面と交差している。点1251から点1253までの遷移を表す曲線1252は、可動領域立体1104の内部に位置する。点1253から点1255までの遷移を表す曲線1254は、可動領域立体1104の外部に位置する。
修正の前後のいずれにおいても、パラメータuはu2からu3まで遷移する。修正前の遷移(曲線1254)では、パラメータsはs1に留まり、パラメータtはt2からt3aまで遷移する。修正後の遷移(曲線1264)では、パラメータsはs1からs2まで遷移し、パラメータtはt2からt3bまで遷移する。このように、修正によって、パラメータsとtの遷移が変化する。パラメータsが、s1からs2まで遷移するため、上腕124に捻りが発生し、掌が正面を向くこととなる。
このようにして、本発明の手法を用いて、骨格モデルの姿勢を変化させる場合に、骨格モデルがより自然な姿勢に変化することとなる。
図14Aに示す可動領域立体は円錐である。可動領域立体の上端は点で、底面は円である。等高線は全て円である。
図14Cに示す可動領域立体は、上端が点で、底面が小判型である。上端以外の等高線は、小判型である。
図14Dに示す可動領域立体は、上端が線分で、底面が小判型である。上端以外の等高線は、小判型である。
図14Fに示す可動領域立体は、上端が線分で、底面が円である。上端と底面以外の等高線は、楕円(ellipse)である。
図14Gに示す可動領域立体は、上端が点で、底面が楕円である。上端以外の等高線は、楕円である。
図14Hに示す可動領域立体は、上端が線分で、底面が楕円である。上端以外の等高線は、楕円である。
また、例えば図14A~14Hに示すような形状の、ある高さより上の部分を取り除いた形状を、可動領域立体の形状としてもよい。例えば図14Aに示す形状から、ある高さより上の部分を取り除いた形状は、円錐台となる。円錐台を可動領域立体の形状としてもよい。
図15Aないし図15Cは、stu空間内の可動領域立体を底面に平行な方向から見た図である。図15Bに示すように、可動領域立体の外側の空間を、領域A,B,Cの3つの領域に分ける。領域Aと領域Cとの境界は、底面を含む平面である。領域Aと領域Bとの境界は、上端を含み底面に平行な平面である。関節角度を表すパラメータ(s,t,u)は、stu空間内の点の座標に相当する。関節角度に相当する点の位置が、可動領域立体の外側であれば、その点の位置を
図16A及び図16Bは、に小判型の断面輪郭形状を示す図である。輪郭の外側の領域を、領域D乃至Gの4つの領域に分ける。領域の境界は、小判型の直線部分の端点から立てた垂線である。小判型の外側に位置する点を、輪郭上の最近点に移動させる例を、図16Bに示す。
修正前の点が、点Q3aのように領域Fに位置する場合は、領域Dに位置する場合の手法と同様の手法を用いて、点Q3bを修正後の位置とする。
修正前の点が、点Q4aのように領域Gに位置する場合は、領域Eに位置する場合の手法と同様の手法を用いて、点Q4bを修正後の位置とする。
[断面の輪郭形状が楕円の場合]
また、本発明の手法は、上腕以外の他の骨の曲げ及び捻りにも適用できることは言うまでもない。
また、上記の関節角度制限方法の適用を、インバースキネマティクスを使用する場合に限定してもよい。インバースキネマティクスを使用しない場合、すなわち関節の回転角度をマニピュレータで操作するなどの場合、には、上記の関節角度制限方法とは異なる角度制限を適用してもよい。
また、上記の関節角度制限方法による制限を第1の制限とし、第1の制限を包含するような第2の制限をあらかじめ用意しておき、インバースキネマティクスを使用する場合には第1の制限を適用し、インバースキネマティクスを使用しない場合には第2の制限を適用するようにしてもよい。
図13A及び図13Bは、パラメータs,t,uを互いに直交する座標軸とする三次元空間において、パラメータの範囲を制限する可動領域立体の、変形例を示す図である。
例えばロボットのキャラクタのように、複数のオブジェクトを関節で繋いだ構造のキャラクタの場合は、オブジェクト自体が本発明の骨であるとして、本発明の手法を適用してもよい。
関節の回転を表現するパラメータとして,四元数(クォータニオン)を用いてもよい。四元数の実数部をqrとし,虚数部をqx,qy,qzとする。回転を表現する四元数は,次の性質を有する。
1) qr2 + qx2 + qy2 + qz2 = 1
2) (qr,qx,qy,qz)と(-qr,-qx,-qy,-qz)とは,同じ姿勢を表す。
上記2)の2つの表現のうち,実数部が非負となる表現を常に使うようにすれば,
qr=(qx2+qy2+qz2)1/2
の計算でqx,qy,qzからqrを求めることができる。そのためqx,qy,qzの3つのパラメータで回転を表現できる。回転を表現するパラメータとしてqx,qy,qzを用いて,本発明の手法を適用してもよい。
[S1802]複数のパラメータのうちのいずれかが、第1の制限(少なくとも一つのパラメータが他の二つ以上のパラメータに係る制限に影響を与える制限)を超えるかが検査される。検査が肯定的(Yes)である場合には、ステップS1804に進む。検査が否定的(No)である場合には、ステップS1806に進む。
[S1806]複数のパラメータを用いて、子骨の姿勢を決定する。
以上のようにすることによって、より自然な骨格モデルの姿勢が得られる。
図19は、インバースキネマティクスが適用された場合と、インバースキネマティクスが適用されない場合の、姿勢の制御の方法を示すフローチャートである。
[S1906]複数のパラメータが第2の制限の範囲内となるように、第2の制限を用いて複数のパラメータを修正する。
[S1910]複数のパラメータが第1の制限の範囲内となるように、第1の制限を用いて複数のパラメータを修正する。
[S1912]複数のパラメータを用いて、子骨の姿勢を決定する。
プログラムは記憶媒体2018、ROM2002、又はRAM2003に記憶されてもよい。
各実施形態は、プログラムをインストールしたハードウエアの装置としてインプリメントされ得る。
2002 ROM
2003 RAM
2004 バス
2005 ネットワークインタフェース
2006 入力インタフェース
2007 表示インタフェース
2008 外部メモリインタフェース
2015 ネットワーク
2016 入力部
2017 表示部
2018 記憶媒体
Claims (11)
- 親骨と子骨とが関節によって連結された骨格モデルにおいて、前記親骨に対する前記子骨の回転を定義する複数のパラメータによって前記子骨の姿勢を決定する姿勢決定方法であって、
前記複数のパラメータのうちの少なくとも一つのパラメータについて判定を行うことと、
前記判定に基づいて前記複数のパラメータを修正することと、
修正された前記複数のパラメータを用いて、前記子骨の姿勢を決定することと、
を有し、
前記判定を行うことは、前記複数のパラメータのうちのいずれかが、第1の制限を超えるか否かの判定を行うことであって、前記第1の制限は、少なくとも一つのパラメータが他の二つ以上のパラメータに係る制限に影響を与える制限で表される、第1の判定を行うこと、を含み
前記複数のパラメータを修正することは、前記第1の判定が、前記第1の制限を超えるとの判定である場合、前記複数のパラメータが前記第1の制限の範囲内となるように、前記第1の制限を用いて前記複数のパラメータを修正すること、を含む、
姿勢決定方法。 - 前記第1の制限は、少なくとも一つのパラメータの増加又は減少に対して、他の二つ以上のパラメータの範囲がいずれも単調減少する制限を含む制限である、
請求項1に記載の姿勢決定方法。 - 前記複数のパラメータは、三つのパラメータであり、
前記三つのパラメータの各パラメータを互いに直交する座標軸とする三次元空間で、前記第1の制限は、一つの方向に沿って、断面積が単調減少する立体形状を含む形状による制限である、
請求項1に記載の姿勢決定方法。 - 前記立体形状は錐体である、
請求項3に記載の姿勢決定方法。 - 前記立体形状は錐体の一部である、
請求項3に記載の姿勢決定方法。 - 前記立体形状は、底面の形状が面積を持ち、前記底面から前記一つの方向に所定の距離だけ離れた位置に存在する線分又は曲線を上端の形状とする立体形状である、
請求項3に記載の姿勢決定方法。 - 前記立体形状は、底面の形状が面積を持ち、前記底面から前記一つの方向に所定の距離だけ離れた位置に存在する線分又は曲線を上端の形状とする立体形状の一部である、
請求項3に記載の姿勢決定方法。 - 前記一つの方向にパラメータが変化することによる前記骨格モデルのポーズの変化は、予め設定された前記骨格モデルの初期ポーズから離れる方向のポーズの変化である、
請求項3に記載の姿勢決定方法。 - 前記第1の制限は、前記断面積が単調減少する立体形状を組み合わせた形状を含む、
請求項3に記載の姿勢決定方法。 - 前記骨格モデルの変形に、インバースキネマティクスが適用されているか否かの検知を実行すること、を前記判定を行うことの前にさらに有し、
前記判定を行うことは、前記検知が、インバースキネマティクスが適用されていないことを示す場合に、前記複数のパラメータのうちのいずれかが、第2の制限を超えるか否かの判定を行うことであって、前記第2の制限は前記第1の制限の範囲を包含する、第2の判定を行うこと、をさらに含み、
前記複数のパラメータを修正することは、前記検知が、インバースキネマティクスが適用されていないことを示す場合に、前記第2の判定が、前記第2の制限を超えるとの判定である場合、前記複数のパラメータが前記第2の制限の範囲内となるように、前記第2の制限を用いて前記複数のパラメータを修正すること、をさらに含む、
請求項1に記載の姿勢決定方法。 - 請求項1ないし10のうち、いずれか1項に記載の姿勢決定方法をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023204925A JP7475618B1 (ja) | 2023-12-04 | 2023-12-04 | 骨格モデルの姿勢決定方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023204925A JP7475618B1 (ja) | 2023-12-04 | 2023-12-04 | 骨格モデルの姿勢決定方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP7475618B1 true JP7475618B1 (ja) | 2024-04-30 |
Family
ID=90827069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023204925A Active JP7475618B1 (ja) | 2023-12-04 | 2023-12-04 | 骨格モデルの姿勢決定方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7475618B1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009070340A (ja) | 2007-09-18 | 2009-04-02 | Namco Bandai Games Inc | 骨格動作制御システム、プログラムおよび情報記憶媒体 |
JP2010170279A (ja) | 2009-01-21 | 2010-08-05 | Namco Bandai Games Inc | 骨格動作制御システム、プログラムおよび情報記憶媒体 |
WO2012111622A1 (ja) | 2011-02-16 | 2012-08-23 | 株式会社スクウェア・エニックス | 動作モデリング装置及び方法、並びにプログラム |
JP2012164162A (ja) | 2011-02-07 | 2012-08-30 | Celsys:Kk | 骨格の角度制御方法,装置,及びプログラム |
-
2023
- 2023-12-04 JP JP2023204925A patent/JP7475618B1/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009070340A (ja) | 2007-09-18 | 2009-04-02 | Namco Bandai Games Inc | 骨格動作制御システム、プログラムおよび情報記憶媒体 |
JP2010170279A (ja) | 2009-01-21 | 2010-08-05 | Namco Bandai Games Inc | 骨格動作制御システム、プログラムおよび情報記憶媒体 |
JP2012164162A (ja) | 2011-02-07 | 2012-08-30 | Celsys:Kk | 骨格の角度制御方法,装置,及びプログラム |
WO2012111622A1 (ja) | 2011-02-16 | 2012-08-23 | 株式会社スクウェア・エニックス | 動作モデリング装置及び方法、並びにプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762495B (zh) | 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实*** | |
US9208613B2 (en) | Action modeling device, method, and program | |
US6798415B2 (en) | Rendering collisions of three-dimensional models | |
JP6563596B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN111223171A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
JP5498437B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造 | |
JP4267508B2 (ja) | 仮想ダミーの人間工学的動きの最適化 | |
JP4283752B2 (ja) | 多関節物体の連接要素間の内部衝突を回避しながらの仮想環境における仮想多関節物体の動き | |
CN113119104B (zh) | 机械臂控制方法、机械臂控制装置、计算设备及*** | |
CN111080755B (zh) | 一种运动解算方法、装置、存储介质及电子设备 | |
JP7475618B1 (ja) | 骨格モデルの姿勢決定方法及びプログラム | |
JP6874149B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN110570357A (zh) | 基于ue4引擎的镜像实现方法、装置、设备及存储介质 | |
CN111113428B (zh) | 机器人控制方法、机器人控制装置及终端设备 | |
US9111391B2 (en) | Image generating device, image generating method, and non-transitory information storage medium | |
CN108829248A (zh) | 一种基于用户表现模型矫正的移动目标选择方法及*** | |
Komori et al. | Operating method of three-dimensional positioning device using moving characteristics of human arm | |
JP3973992B2 (ja) | 3次元モデル変形システム | |
JP2017041042A (ja) | 画像生成システム、方法、及びプログラム | |
CN109977536A (zh) | 机器人在危险工作环境中的态势评估方法 | |
CN116185205B (zh) | 非接触手势交互方法和装置 | |
WO2023197485A1 (zh) | 一种用于虚拟手力觉交互的接触处理方法及*** | |
JP4875669B2 (ja) | 長方形近似システム及び方法並びにプログラム | |
Sato et al. | 3D freeform design: interactive shape deformations by the use of CyberGlove | |
Perret | Haptic device integration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231204 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20231204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240323 |
|
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: 20240409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240409 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7475618 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |