(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023057498
(43)【公開日】2023-04-21
(54)【発明の名称】画像の重ね合わせ比較による運動姿勢評価システム
(51)【国際特許分類】
A63B 69/00 20060101AFI20230414BHJP
G06T 13/40 20110101ALI20230414BHJP
G06T 7/70 20170101ALI20230414BHJP
G06T 7/00 20170101ALI20230414BHJP
A61B 5/11 20060101ALI20230414BHJP
A61B 5/107 20060101ALI20230414BHJP
【FI】
A63B69/00 A
G06T13/40
G06T7/70 Z
G06T7/00 660B
A61B5/11 200
A61B5/107 300
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021167073
(22)【出願日】2021-10-11
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】721009690
【氏名又は名称】リアルビジョンスポーツ株式会社
(72)【発明者】
【氏名】阿部秀司
【テーマコード(参考)】
4C038
5B050
5L096
【Fターム(参考)】
4C038VA04
4C038VA06
4C038VB01
4C038VC05
5B050AA10
5B050BA08
5B050BA09
5B050BA12
5B050CA08
5B050DA01
5B050EA06
5B050EA18
5B050EA24
5B050EA26
5B050FA02
5L096CA02
5L096FA67
5L096FA69
5L096HA05
(57)【要約】
【課題】一般的なカメラを使って場所の制約もなく、誰でもが手軽に運動姿勢の評価を行えるようにする。
【解決手段】一般的なカメラで被験者の運動姿勢を撮影し、その画像3と、撮影カメラと同じ視野角を持つ仮想カメラ20と、被験者を模した3次元キャラクター10とを、3次元空間に配置し(S130)、キャラクターの座標とボーン角度を調整し(S151,S153)、仮想カメラ2から観た被験者像と、キャラクターの姿勢とが一致するときの各ボーン角度と位置座標を、複数のフレームにわたって取得する(S170)ことで、被験者の運動姿勢の動きを3次元キャプチャーする。次に、角度や位置の時間変化を近似する関数を作成し、関数で計算した角度や位置データを使い滑らかな動きのキャラクターの3次元アニメーションを描く。
【選択図】
図1
【特許請求の範囲】
【請求項1】
被験者の身体の運動姿勢の情報を取得する光学式モーションキャプチャシステムであって、
3次元コンピュータグラフィクスの仮想空間内に、
被験者を撮影した映像をスクリーンに投影した画像と
前記被験者を模した3次元キャラクターと
仮想カメラとを備え、
3次元キャラクターのボーンの角度を変化させる機能を備え、
仮想カメラから観たスクリーンに投影された被験者の姿勢と
キャラクターの姿勢が合致するときのボーンの角度を推定する手順と、
を含むことを特徴とする運動姿勢評価システム。
【請求項2】
少なくとも、前記仮想カメラの視野角が撮影カメラの視野角と一致するとき、
スクリーンに投影された画像の画角が、
仮想カメラの視野角が作る画角と一致する
ことを特徴とする請求項1に記載の運動姿勢評価システム。
【請求項3】
仮想カメラから観た画像において、
3次元キャラクターと映像上の被験者像との大きさが一致していること
を特徴とする請求項1又は請求項2に記載の運動姿勢評価システム。
【請求項4】
仮想空間内に、複数のカメラで異なる方向から撮影した複数の画像が
複数のスクリーンに投影され、
それぞれに対応する複数の仮想カメラと、
1つの3次元キャラクターとを備え、
それぞれの撮影画像に対応した仮想カメラと3次元キャラクターは、
請求項1又は請求項2又は請求項3に記載の機能を備えており、
各仮想カメラから観た各被験者の姿勢と3次元キャラクター像の姿勢が
同時に合致するボーンの角度を推定する手段を含むことを
特徴とする運動姿勢評価システム。
【請求項5】
複数フレームにわたって撮影した動画の各画像を、
請求項1、又は請求項2、又は請求項3、又は請求項4に記載のシステムにより
推定した各ボーンの角度の時間変化を近似し記憶保管された関数
を用いて取得した角度をキャラクターのボーンの角度に代入し、
キャラクターをアニメーションとして描画する機能を
含むことを特徴とした運動姿勢評価システム。
【請求項6】
周期性をもつ運動の場合において、
前記近似関数が周期性を持つことを
特徴とする請求項5に記載の運動姿勢評価システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光学式モーションキャプチャーによる運動姿勢評価システムに関する。
【背景技術】
【0002】
趣味や健康のためランニングをする人が増えている。それにともない、記録更新を目指し速く走りたいと色々な練習を取り入れたり、そのせいで膝や足に故障を抱えたり怪我をするランナーも増加している。そしてプロアマ問わず、記録更新や怪我のリスクを下げるには、よいランニングフォームが重要であり、自分に適したフォームを身につけたいと思うランナーは多い。
【0003】
そのニーズに応えるように、各種のランニングスクールが増え、ランニングに関する書籍やテレビ番組でもフォームに関して話題になる機会が増えている。又、インターネット上に動画コンテンツとしても多数存在し、手軽に学ぶ環境は存在している。しかし、活字、イラスト、画像、さらには動画であっても、ほとんどは2次元情報であるため、ランニング歴が少なく、ランニングフォームを学んでいない一般ランナーには理解することが難しい。
【0004】
また、教える側のコーチやトレーナーは、受講者のフォームをビデオ撮影し、本人にフォームの動きを解説することもたびたび行われている。この場合も、2次元動画を観つつ言葉による解説だけでは、受講者に理解してもらうのは難しいのが現状である。
【0005】
そもそもランニングフォームは3次元の動きなので、2次元の画像で観て、頭の中で3次元の動きに変換して捉える必要があるが、これは知識と経験が豊富にないと難しいと考えられる。そこで、ランナー本人のフォームを直接3次元で動くアニメーションとして観せることや、他のランナーのフォームも同じように観て比較ができれば、自分のフォームを客観的に理解することが容易になると考える。
【0006】
ところで、現在、3次元モーションキャプチャーの技術を用いたランニングフォーム解析や診断は、学術研究の領域ではある程度確立されている。たとえば、特許文献1に示される方法を利用した運動解析では、ランニングフォームの分析を3次元で非常に高精度に行うことができる。しかし、この方法では10台を超える専用の時間同期のカメラを必要とし、撮影現場の制約が大きいうえ、専門家による3次元データに変換する作業にも多大の時間がかかっている。
【0007】
そこで、非特許文献1ではカメラの台数を4台にまで少なくし、データ処理をAIで補助することにより精度劣化を防ぎ、よりコンパクトなモーションキャプチャーを提案している。しかし、前述のどちらの方法でも、あくまで特殊な研究用途までであり、人件費含め利用コストが高価であることとカメラを設置するための場所の制約があるため、一般のランナーが利用することは事実上できていない。
【0008】
そこで、特許文献2に基づく、より簡易な3次元モーションキャプチャーを用いて、一般ランナー向けにフォーム診断が行われている。被験者は体にマーキングしトレッドミル上を走り、数台の同期カメラで主要な関節位置の動作を数台のカメラでキャプチャーし、3次元の動作解析により専門的な視点からの評価指標でフォームの良し悪しを数字で提示している。
しかしながら、フォームの相対的な比較を個々に数字で提示されても、ランナー側としてはそもそもランニングフォームの全体像を動きとして知らないか又は理解していないため、その評価項目の優劣から自身のランニングフォームの改善に落とし込むのは依然として難しい。また、サービスを提供する側としても、この診断システムは店舗内に常設するために場所を占有し、装置の扱いとフォームの解説もできる担当者を常駐させなければならず、運用コストは高くなる。実際サービスを展開する店舗は非常に少なく、国内でも数えるほどしかない。
【0009】
一方、ゲームや仮想現実、3次元アニメーション映画などでは、人や動物、ロボットなどの立体の動きを3次元コンピュータグラッフィクスにより、3次元アニメーションで表現することがすでに一般的に行われている。それらは、3次元的な皮膚表面の形状をもつ人物・擬人化した動物や物体(いわゆるキャラクター)を、多数の三角形の面の集まりで表すアバターと、骨格を模したスケルトン構造からなりアニメーションを実現する技術が一般に利用されている。それにも変わらず、スポーツにおいて3Dアニメーションを一般の競技者向けに提供することは殆ど行われていない。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2014-211404号公報
【特許文献2】特許5314224号公報
【非特許文献】
【0011】
【非特許文献1】中村仁彦,外1名,“5/15ビデオモーションキャプチャシステムVMocapに関する記者会見”, [online],2018年5月16日,Dynamics Control System Labプレスリリース記事,[令和3年10月11日検索],インターネット <URL:https://shiropen.com/seamless/vmocap>
【発明の概要】
【発明が解決しようとする課題】
【0012】
従来の光学式モーションキャプチャーは、身体に装着したすべてのマーカーが影にならない様に多数のカメラで被験者を囲むよう設置する必要があった。また、運動姿勢で主に必要な情報は各関節の角度情報であるが、従来は各関節の3次元位置を三角測量の原理で求めたのち角度を計算している。そのため、カメラの設置位置や向きなどの僅かな誤差や測定ばらつきが、関節の角度としては誤差が大きく拡大される。その誤差を減らすため、すべてのカメラの位置と向きは事前に詳細に計画され、設計図にしたがい厳格に設置しなければならない。これには、専門知識と熟練した技術も必要である。加えて複数のカメラはそれぞれ時間同期撮影ができる特殊なカメラでなければならなかった。その結果、撮影は特殊なスタジオ内に限定されて、場所の制約の問題も大きかった。
【0013】
このように、運動姿勢の光学式モーションキャプチャーには、三角測量の原理であるがために、誰でもが手軽に運動姿勢の評価をすることが困難であった。その結果、利用者が限られるため、運動姿勢評価の結果出力も一般の人向けではなく、数字やグラフ中心であって、3次元のアニメーションで動く形での提供は少なく、3次元的な運動を3次元として理解することが非常に難しかった。
【0014】
本発明が解決しようとする課題は、一般のカメラを使用し、場所の制約も少ない環境で撮影した画像を使ったモーションキャプチャーにより、だれでも利用可能な運動姿勢評価システムを提供することにある。
【課題を解決するための手段】
【0015】
本発明は、前記課題を解決するためになされたもので、
3次元コンピュータグラフィクス(3DCG)の仮想空間内に、
被験者の運動姿勢を第1カメラで撮影した画像と、
被験者を模した3次元キャラクターと、
仮想カメラとを配置し、
仮想カメラから観察した3次元キャラクターの像と、
映像上の被験者像の姿勢とが合致するときの関節角度を推定することを特徴とする運動姿勢評価システムである。
【0016】
前記の運動姿勢を撮影した画像は、仮想カメラから任意の距離に設置して構わないが、仮想カメラの光軸が撮影画像の中心を垂直に貫く位置で、仮想カメラの視野角を撮影カメラと同じ視野角とした際に、撮影画像の縦横の大きさが視野角の画角の大きさと一致する距離に設置されていることを特徴とする運動姿勢評価システムである。
【0017】
また前記3次元キャラクターの、例えば身長などの大きさは任意でいいが、仮想カメラの視野角に入る位置に配置し、仮想カメラから観察した映像上で、3次元キャラクターの身体的な大きさが画像上の被験者の映像と等しくなるように、仮想カメラからの距離に配置されていることを特徴とする運動姿勢評価システムである。
【0018】
一般に制約の少ない撮影では、カメラは傾いたりあおりを持ったりするが、本発明では、仮想空間上に配置するキャラクターの向きや撮影画像を回転させることなどにより、撮影カメラの状況を容易に再現し、先に示した方法に従い姿勢推定をすることが可能である。
【0019】
第1のカメラに追加して、同一の被験者を第2のカメラで別の角度から撮影した画像を、第2の仮想カメラとともに、第1のカメラの場合と共通の3次元空間に配置し、第1仮想カメラと第2の仮想カメラからの像と、共用する1つのキャラクターの姿勢像が同時に合致する角度を推定することで、異なる方角のカメラからの関節角度が自動的に合成されることを特徴とする運動姿勢評価システムである。
【0020】
一つのフレームの画像についての重ね合わせによる姿勢推定の手段により、キャラクターの位置、各関節の角度、そして各骨格の比率を取得でき、フレーム毎にそれらデータを取得し、平滑化処置をすれば、キャラクターの運動姿勢を滑らかな動きのアニメーションとして描くことができる。
【発明の効果】
【0021】
開示された内容によれば、1台のカメラで主たる姿勢情報である関節の角度、骨格の長さ、被写体の位置を直接推定できるため、従来のように複数台の特殊カメラは不要かつ、カメラの設置も厳密である必要はなく、場所の制約もないため、誰でも自分の持っているスマホなどのカメラを用いて、自由に運動姿勢の撮影が可能となる。
【0022】
より精度を求めて2台のカメラで撮影する場合でも、2台のカメラは時間同期をとる必要もなく、解像度や視野角などのカメラの光学的仕様も同じである必要がないため、デジカメやスマホ、タブレットなど、世代も異なるカメラから適宜選べるため、複数台用意することが容易である。
【図面の簡単な説明】
【0023】
【
図1】本発明の一実施形態に係るモーションキャプチャーの処理フロー図。
【
図2】上記一実施形態におけるランニングフォームを横から撮影している図
【
図3】上記一実施形態において採用しているスケルトン構造をもつアバターとボーンからなる3次元キャラクターの図。
【
図4】上記一実施形態において採用しているスケルトン構造におけるボーンの親子関係を示す図。
【
図5】上記一実施形態における3次元空間に仮想カメラと撮影映像が投影されている状況の俯瞰図。
【
図6】上記一実施形態における3次元空間に仮想カメラと撮影映像とキャラクターが配置されている状況を示す俯瞰図。
【
図7】上記一実施形態における仮想カメラから観察したランナーの撮影画像とキャラクター像の画像。
【
図8】上記一実施形態における走行方向とカメラ向きが直交してない場合の3次元空間の上からの俯瞰図。
【
図9】上記一実施形態において2台の異なる方向から撮影した場合2方向からのボーンの表示。
【
図10】上記一実施形態における上脚のZ軸回転角度の時間変化の推定値とその周期近似曲線のグラフ。
【
図11】上記一実施形態における周期近似曲線が3つの周期関数の合成を説明するグラフ。
【
図12】上記一実施形態におけるインターネットを介した3次元アニメーション描画するシステムのブロックダイヤグラム。
【発明を実施するための形態】
【0024】
以下、本発明の一実施形態である、被験者のランナーが走行する際の運動姿勢、いわゆるランニングフォームをモーションキャプチャーするシステムについて、以下図面に基づいて説明する。
図1に示すフローチャートは、本発明による第1の実施例であり、ランナーのランニングフォームを1台のカメラで撮影し、撮像画像とランナーを模した3次元キャラクターの姿勢を一致させることで、運動の姿勢を決定しアニメーションに使うデータとして保管するところまでの全体のフローの実施例を表している。
【0025】
初めに、ステップS100でランナーのランニングの様子を動画撮影し、得られた画像3と、コンピュータグラフィクスで作成した人体を模した3次元キャラクター10及び、撮影カメラと等価な撮影条件を持つ仮想カメラ20を、ステップS130で3次元の仮想空間に配置する。
【0026】
次にステップS140で仮想カメラ20から観た画像を表示するが、最初はキャラクター10とランナー像は、位置も合わず、大きさも重ならない(S1450)。そのため、頭部の3次元空間の座標の調整(S151)と、各骨格の長さの調整(S152)と、関節の角度の調整(S153)を、該当する角度や座標の変数を外部から代入して、再びステップS140で仮想カメラからの画像を更新表示させて、キャラクターとランナー像の重なりを評価する(S150)。この一連のステップを像が重なるまで行う。
【0027】
像が一致したら、ステップS160とS161で、他のフレーム画像についても前記と同じように変数を可変していき、画像が重なるまでS151,S152,S153、S140を繰り返す。
【0028】
最終的にランニング1周期分にわたって、全関節(ボーン角)角度と頭の位置座標のデータおよび、ボーン長が得られたら(S160)、データ170として保管する。
【0029】
このデータを用いて、ランニングフォームをアニメーションとして動かすことも可能であるが、得られたデータは時間的に飛び飛びの値であることや、ばらつきなどのノイズを減らすため、ステップS180で、すべての角度と位置座標の時間変化を周期関数で近似する。それらのデータ200を保存する。以上のステップにより、ランニングフォームの1周期分の動作を3次元の動きとして滑らかに再現するためのデータ推定を完了する。
以下、個別に詳細に内容を説明していく。
【0030】
[真横からランニングフォームを撮影する]
ランニングフォームは横から観察することで、身体の矢状面上での脚、胴体、腕振りなどの主要な動きを観察することができ、各関節の前額軸の回転角を捉えることが出来る最も重要な指標取得になる。そこで、ステップS100で、ランニングフォームを真横から撮影する例を
図2に示す。ここでランナー1が右から左に向かって走っている姿を、位置の変化を分かり易くするため3フレーム分重ねて描いている。実際は、1つのフレーム画像にランナー像は1つである。
【0031】
ここで、カメラ2は走行方向に対して左側の真横(紙面の手前)に設置し、紙面の奥方向を向いている。なお、ここでは便宜上、カメラ2は走行方向に垂直で、地面に対しても画面の傾きは無いように設置されている場合を描いているが、カメラの傾きやあおりがあっても問題はないことを後に説明する。
【0032】
また、3はこのカメラによって撮影される画像範囲を示しており、実際の撮像画像を示す。撮影においては、最低でもランニング動作の基本の繰り返しを含む動作が左右の視野の範囲に入るように撮影する。つまり片方の足が1回着地しもう一方の足が2回着地するフォームを最低限含むフレーム数が撮影できればよく、通常は余裕を持って左右の足の着地が合わせて5回前後の着地シーンが入るような撮影が望ましい。
【0033】
[アバターとボーンからなるスケルトン構造]
ここで、本発明で使用するコンピュータグラフィクスについて事前に簡単に説明する。ゲーム分野のUnityなどで使われる3次元の人体などのキャラクターは、
図3に示すように人物の全身の皮膚や服に該当するアバター10と、骨格の骨にあたるボーン(
図3の実線で50から65)と、関節にあたる図の白抜きの円(50aから65a)から構成されている。
【0034】
各ボーンはその長さと位置座標とその片端の関節部に3次元の角度成分(X軸回りの回転、Y軸回りの回転、Z軸回りの回転)を個々に持っている(吹き出しの図の腕のボーン63と64の参照)。そして、例えば下腕に当たるボーン64は、肘関節64aの例えばZ軸方向に回転させることで、肘の曲がる動きが表現できる。そのとき、下腕と肘部分の皮膚にあたるアバター10は細分化された多数三角形平面のから構成されており、各頂点の座標がボーン64の角度や位置に連動する形で変形する。この機能を持つ構造を一般にスケルトンと呼んでいる。
【0035】
[スケルトン構造におけるボーンの親子関係]
さらに、スケルトン構造を持つ各ボーンは、親子関係が設定できる。本発明で用いるスケルトンの構成例について
図4で説明する。ここで数字はボーンを表している。頭部に当たるボーン50が全体の親であり、矢印の先にあるボーン51が子となり、またそこから、52と60及び63がそれぞれ51の子となっている。以下順に手や脚も同様の定義で構成される。
【0036】
親子関係においては、子のボーンの位置や角度は、親を基準とした値で定義される。よって、子は直前の親でも数世代前の親でも角度や位置が変化すれば子への変更が一斉に反映される。つまり、頭ボーン50の座標を変えると、キャラクター全体が姿勢を変えることなく移動する。角度に関しても、50の角度を変更すれば、そのままの姿勢が保存されたまま、全体のキャラクターは50aを中心に回転する。なお、ここで説明したスケルトンの構成例は一般的なものであり、詳細な動きを再現するためには、ボーンの数を増やしたりすればよい。
【0037】
本発明によるモーションキャプチャーは、このスケルトン構造において、全部の各ボーンの角度の時間変化、頭部ボーン50の座標の時間変化、および身体的特徴を示す各ボーンの長さを推定することである。
【0038】
従来の光学式モーションキャプチャーでは、カメラ撮影からすべての関節の3次元の座標を求めたのち、角度に変換したが、本発明は頭頂部などの基準となる一つの座標しか必要とせず、他はボーン角度を直接推定するということが特徴である。本発明のこの特徴により、カメラ撮影の自由度が上がり、撮影場所にも制約が無いというシステムを提供できる。
以降、本発明によるそれらの値の推定の方法の例を順に詳細に説明する。
【0039】
[仮想カメラ]
本発明では、
図1のフローチャートで説明したように、仮想カメラ20と撮影画像3とキャラクター10を3次元空間への配置するステップS130に第一の特徴があるので手順を追って説明する。
【0040】
3次元作成したキャラクターを人が観察できるようにするためには、現実のカメラで撮影するのと同じように、仮想カメラを3次元空間に配置して、仮想の光源から光を当て3次元キャラクターの立体を構成する微小な三角形平面で反射する光を、光線追跡して、仮想カメラに入射した光ときに光の強度と飛んできた方向を記憶し、映像としてモニターに再生することにより、実際の3次元の物体像として観ることができる。
【0041】
また、仮想カメラには、正投影(Orthographic)と透視投影(Perspectivegraphics)の2種類が用意されているが、本発明では、現実の撮影カメラと等価な見え方をする透視投影カメラを採用している。単なるビュアーとして観察する場合は正投影法に切り替えてもよいが、モーションキャプチャーする場合は透視投影法に設定する。
【0042】
[撮影画像を仮想空間内に配置し仮想カメラで像として観察する]
図5は、3次元空間上に、仮想カメラ20と先に撮影されたランナー1が写っている画像3が、仮想カメラ20から距離25に配置した仮想スクリーン上に映写されている状態を3次元的に俯瞰したものである。
【0043】
ここで仮想カメラ20の縦方向の視野角23と横方向の視野角24は、撮影に使用したカメラ2のそれぞれの縦横の視野角と同じであり、仮想スクリーンに映写された画像3は、仮想カメラの光軸に垂直で任意の距離25に設置するが、距離に応じて比例拡大縮小して、画像3の縦横の画角が仮想カメラの視野角が作る画角(縦21Hと横21W)と一致するようにする。ここで画像3の中心は、仮想カメラの光軸と一致している。こうすることにより、仮想カメラから観た撮影画像は、視野角が同じならばスクリーンがどこにあっても常に同じ大きさとして観察される。
【0044】
[3次元キャラクターを仮想空間に適切な位置を推定し配置]
次に、
図6に示すように、コンピュータグラフィクスで発生させたキャラクター10を仮想空間内の仮想カメラ20と画像3の間で縦の視野角23と横の視野角24内に収まるように配置する。なお、キャラクター10は、アバターと、アバターに内包されるため描いていないボーンから構成されている。
【0045】
ここで、初期の基本となるキャラクター10のアバターやボーンの全体の大きさ33はランナー1の実寸などに合わせる必要はなく任意の大きさでもよいが、33とランナー1の大きさ23との比率が、仮想カメラからキャラクター10までの距離32とランナー1までの距離22の比率と一致させておく。また、キャラクター内部の各ボーンの長さの比率が、ランナー1の各骨格の比率一致するようにこのステップで調整を行う(
図1のステップS152)とその後の骨格角度の重ね合わせが良くなる。これは、最初に一度すればよいが、後の繰り返しの合わせ込みでより正確な値に修正して精度を上げていくことが可能である。
【0046】
キャラクターの3次元空間上の位置は、ボーン全体の親となる前述のボーン50の頭部の50aのX、Y,Zの値であるが(
図1のステップS151)、仮想カメラ20から観察したときに、キャラクター10がランナー像1とその大きさ23が重なり、画像内の縦横方向の位置も合う点を求めばよい。具体的には、大きさを合わせるため、奥行きZ方向を調整したのち、画面上のX、Y方向を調整することを数回繰り返すことで十分な精度の位置座標を求めることができる。
【0047】
従来のモーションキャプチャーでは、このような3次元位置を高精度に求める必要があったがために、多数の特殊カメラを使用せざるを得なかったが、本発明では、キャラクターとランナー像を重ねるためにキャラクター全体の空間位置が必要なだけなので、キャラクターに1個の三次元座標を求め、かつその値の厳密さは従来に比べ遥かに寛容である。
【0048】
[各関節のボーン角度の推定]
ここまでで、大きさと位置が大体決まったので、次にボーンの角度の推定を行う(ステップS153)。
図7は、仮想カメラ20から観た、ランナー1が写っている画像3とキャラクター10の映像であり、関節のボーン角度を合わせるステップS153の例を示す。
【0049】
この図では、すでにキャラクター10は、親である頭部ボーン50の3次元空間の位置と、骨格比率の合わせこみが終わり、ボーン角度の合わせこみを頭部から親から子へと順に行ってきて、左上脚54と左下脚55を残すのみとなった状態を示している。上脚のボーン54の関節54aをZ軸の周りに角度A度回転し、ランナー1の上脚54bに重ねる。次に、同じように下脚55も膝関節55aを回転させて、55bに重なるように角度を調節する。この作業を頭部から行ってきている。
【0050】
以上のように、仮想カメラ20を視点とする画像を観ながらボーンの3次元の角度を変化させながら、姿勢が一致する角度を求めていく。以上、ボーン50の位置と全ボーンの角度、ボーン長の合わせこみ順番を問わず何度もやり直すことが出来、調整を重ねることで次第に運動姿勢を精度よく一致させていくことが可能である。なお、ここでキャラクターとランナーの像を重ね合わせるとき、スティック状のボーンで合わせても、アバターの輪郭で合わせてもどちらでもよい。
【0051】
また、カメラ撮影の反対側の肩や骨盤の大転子などは写っていないが、それでも上腕や上脚が観えれば、ボーンの角度として求めることができる。このように、ボーンの角度合わせによる手法は、片側撮影でも死角が圧倒的に少ないため、カメラの台数が少なくても、モーションキャプチャーができることが本発明の特徴でもある。
【0052】
[走行方向に対し撮影カメラが斜めの場合]
ここまでは、撮影時のカメラの向きが走行方向に直行する場合で説明したが、カメラが傾いていても、あおりがある場合でも、本発明では簡単な方法でモーションキャプチャーが可能なことを示す。
図8は、ランナー1の走行方向が撮影カメラ2の光軸に直行せず斜め方向1Bにずれている場合における、仮想空間上での画像3と仮想カメラ20とキャラクター10とを上部から俯瞰したものである。なお、ランナー1はここでは本来は存在しないが、分かり易くするために補助的に描いてある。
【0053】
このとき、ランナー1の姿が仮想カメラに直行した画像3には、斜めに走行する姿勢として写っている。この様子をキャラクターで再現するには、1Bと並行した角度10B方向を向いて走行するように、キャラクター10の頭部のボーン50のY軸の回転角を10Bにすることで、キャラクター全身の向く方向を変えることができる。
【0054】
この図の場合、フレーム番号が後ろ、つまり時間が経つと、画像3に映るランナー1の像はカメラに近づくので徐々に大きくなる。これは、キャラクター10の位置が、X方向に移動するに伴い、Z方向が手前(マイナス方向)に移動するし、仮想カメラに近づくため10の像が大きくなることを意味している。そこで、仮想カメラ20から観た画像上でキャラクターの位置と大きさが重なるように、キャラクター10のX、Y、Z座標を調整する。これは、走行方向がカメラと直行する場合で説明した方法と全く同じ方向で可能である。そして、そのうえで、各ボーンの角度を順に前述の手順で推定していくことも同様である。つまり、真横からの姿勢推定の場合と基本的に同じ手順であることを示している。
【0055】
なお、斜めに走行する場合の走行方向は、着地位置をたどって直線で結ぶことにより該当するフレーム毎に位置を簡単に求めることができる。また、姿勢の傾き(走行方向)は一旦仮で値を推定したのち、複数のフレーム間で映像の重なり誤差が小さくなるように、角度を再び微調整して合わせることで、手間を省いて求めることができる。
【0056】
また、撮影時にランナーの身体の垂直に対してカメラがあおりをもってしまった場合は、キャラクターのボーン50にX軸やZ軸の回転角度を入れてキャラクターの姿勢を倒してあげることで実現できる。
【0057】
また、撮影カメラが地面に対して水平でなく、つまり回転した場合は、画像3をZ軸回りに回転させてもいい。
【0058】
以上述べたように、撮影時のカメラが色んな角度成分を持ってしまった場合でも、キャラクターを傾けたり、あおりを持たせたり、スクリーンを回転させたりすることで、最終的に撮影カメラで撮った映像とキャラクターの姿勢を重ねることができるので、撮影カメラの設置の自由度が非常に高い方法である。
【0059】
[異なる撮影角度の2台のカメラによる角度の合成]
一般的にランニングフォームをビデオで撮ってフォーム診断する場合の多くは、側面から撮影したビデオ画像のみで行うことが多い。これはランニングの特徴的な指標が、着地の様子や手足の振り方など矢状面上の動きであると考えるためである。加えて、これまで説明したように側面からの1台のカメラによる映像からでも、死角になっている反対側の関節があっても、体の一部が観察できれば、そのボーン角度を推定できるので、1台のカメラでもモーションキャプチャーを完結して行うことが可能である。
【0060】
しかしながら、3次元で精度ある動作解析評価を行うためや、前額面上の胴体や手足の振り方のデータも併せて評価したいという場合、第1のカメラに追加して、第2のカメラで異なる方向から撮影した画像も用いた方がよい。その場合の角度推定の方法を説明する。
【0061】
図9(A)は側面から撮影した画像から推定したボーンを示し、同様に(B)は後方から撮影した画像から推定したボーンを示す。後方からの角度推定も、前述した横からの角度推定と同じ考え方で行うが、角度合成のための手段に特徴がある。
【0062】
仮想カメラ20と画像3をそれぞれ側面用と後方用の2組用意し、3次元仮想空間に設置する。それぞれの仮想カメラ20の視野角は側面と後方それぞれの対応した撮影カメラの視野角に設定し、それぞれの画像3は、それぞれのカメラの光軸方向に記述の同じ方法で設置する。
【0063】
次に、3次元キャラクターは両カメラに対し、基本1つだけとし、仮想カメラの映像を側面と後方で切り替えながら、もしくは2画面で同時に観ながら、それぞれの方向から見たキャラクターのボーン角度が同時に合致する条件を探し見つけることで角度推定を行う。
【0064】
例えば下腕の3次元の角度を求めるには、側面からの映像で下腕ボーン64にZ軸回転角度64Zを入れて一旦映像を合わせた後、後方からの仮想カメラ映像を観てX軸回転角64X(X軸回転)を入れて映像を合致させる。再び側面画像で観察しずれて居たら、Z軸回転角度を調整し、再び後方画像で重なりを確認する。これを繰り返すことで正確な角度に収束させることが可能である。
【0065】
実際は、真横、真後ろ(又は真ん前)から観たときのそれぞれのボーンの主要な角度は、交絡が少ない場合が多いので、X軸回転、Z軸回転はそれぞれ独立した値として一回で決定されることが多く、その場合手間はかからない。
また、カメラが3台以上になっても同様の方法で合成した角度の推定が可能である。
【0066】
[ボーンのY軸の回転角度]
ここまでであまり言及しなかったボーンのY軸回転は、主に肩51や胴体52、骨盤53において発生する。肩の回転を考えると、側面から観た映像において、キャラクターの右腕60と左腕63の映像の重なり具合から判別でき、ランナー1の肩が回転しているのに、キャラクターのボーン51が回転していないと、60と63の付け根である肩関節の位置が重ならない。
【0067】
そのため、ボーン51の関節51aにY軸回転角を入れながら、左右の腕の重なりがランナーの左右の腕と重なる時を求めれば、Y軸回転の角度が推定できる。なお、スケルトンの仕組み上、腕60と63のY軸回転は肩51のY軸回転成分が乗るので、打ち消すために逆方向のY軸回転を与える。
【0068】
その結果、腕60と63のZ回転角やX回転角がやや修正が必要になる場合もあるが、再度映像と合うように微調整を行う。骨盤53と両足54,57に関しても肩と同様の処理でY軸回転を求める。
【0069】
以上、一つのフレーム画像について、仮想カメラから観た映像上のランナーの姿勢と3次元キャラクターの姿勢が合致するように、画像を観ながら、頭部の3次元座標と各ボーンの角度、および骨格のボーンの長さ比率をもとめることで3次元のキャラクターの姿勢データを取得できることを示した。
【0070】
これを、ランニングという動作であれば1周期分にわたってフレーム毎に、繰り返し姿勢データを取得することで、ランニングフォームのアニメーションのためのデータを取得すればよい。
【0071】
[滑らかな動作を実現するための処理]
しかしながら、前述の方法のままでは、各フレームの単位でデータを取得しているため、データは飛び飛びであり、推定時のばらつきも発生している。そのため、フレーム単位の生データをそのまま採用しアニメーションとして描画すると、僅かな不連続性でも動きはがたがたとなり見苦しいものになる。
【0072】
そこで、本発明では最後にデータの平滑化(
図1ステップS180)を行い、それらの結果データ200を記憶保管しておき、アニメーションを実行する際に関数から読み出してボーンに代入して描画する手段をとる。
図10は、上脚のボーン54のZ軸回転のフレーム単位で得た値を黒点(例として610)で1周期分をプロットしている。それを滑らかな実線600で近似している。
【0073】
この近似関数は、
図11に示す3つの周期関数601,602,603の和で示され、具体的な関数はそれぞれ次の数式1、2、3で表される。ここで、1周期のフレーム数をcycleとし、フレーム番号をframeとしている。
【0074】
【0075】
【0076】
【0077】
また、着地時の足首の角度は時間変化が急激であり、適切な関数が選べない場合もある。このときには、直線を含む種々の関数の組み合わせとして表わし、全体としては1周期で繰り返すようにプログラミングすることで実質的に周期関数と同等の働きをする式も周期関数とみなしている。
【0078】
この連続的な周期関数で表現する利点は、データが滑らかであること。データの取得時にフレームを間引いても、全体の形が変化しないので、撮影の全フレームのうちの半分以上間引いてキャプチャーすることが可能となり、最も時間のかかる個々の推定作業の回数を削減でき、全体の時間の大幅な短縮が図れる。
【0079】
また、2方向のカメラからの角度データなどを合成する際は、時間同期していない場合、同じフレームレートで撮影した場合なら最大1フレームの半分の時間のズレはあるはずだが、関数で近似することにより、その時間差に当たる位相を変化させることで誤差を事実上キャンセルするため問題にならないという利点がある。
【0080】
また、アニメーションにおいてスローモーションで再生する場合は、1フレーム時間よりもずっと短い時間間隔、例えば10分の1の場合でも、関数式からその時間の角度を求めるため、滑らかなデータ変化が保証される。
【0081】
加えて、1周期の最後と最初のデータのつなぎが、周期関数であるため原理的に差分が発生しないので、切れ目の無い滑らかなアニメーションの再生が可能である。
なお、周期性の無い運動の場合は、周期関数である必要はない。
【0082】
[インターネットを介した3次元アニメーションの描画]
本発明によれば、姿勢推定作業において、すでに人物を模したキャラクターの3次元動作をアニメーション化して利用しているため、そのまま流用して結果をランニングフォームの3次元アニメーションとして提供するのは簡単である。
図12に本発明により得たデータ(
図1の200)を基に、キャラクターの3次元アニメーション描画を外部端末で行うシステムのブロックダイヤグラムを示す。
【0083】
Webサーバー700には、本発明による運動姿勢評価システムで取得した各ボーンの角度の時間変化を表す近似関数713と、頭頂部の座標の時間変化の近似関数714と、骨格を形成するボーン長712と、キャラクターのアバターのデータ711が710に記憶されている。そして、それら一連のデータと、htmlファイルとthree.jsライブラリーとアニメーションの計算手順を既述したjavascriptファイル、701が、インターネット900を介してスマートホン810のWebブラウザー800により読み出され、801,802,802で計算処理され、ランニングフォームの3次元アニメーション804をスマホ810に描画している。これは、ユーザー端末側で関数を元に計算して描画することにより、サーバーのcpuに負荷がかからないメリットがある。
【0084】
特に、ユーザー側にとっては、専用ソフトも必要とせず、いつでも自身のスマートホンやタブレット又はPCなどで閲覧できることで利便性が上がり、3次元アニメであるため、自由視点や再生法も自由なので、3次元の動きをじっくりと観察して、自身のフォームを考察し改善につなげることができる。また、コーチ・インストラクターなどの指導者にとっては、従来の言葉や2次元平面のビデオによる説明でなく、受講者と一緒に3次元アニメーションを観ながら、3次元の動きを解説も交えて説明することが出来るため、受講者の理解が増し、指導の質の大幅な向上につなげられる。
【0085】
以上、スポーツの中でも特にランニングのフォームを評価する例で示したが、本発明は、ゴルフ、野球、テニス、各種陸上競技など多くのスポーツの運動評価を初めとし、歩行やリハビリなどの運動機能の評価から、ゲームなどの手軽な光学3次元モーションキャプチャーとしても安価で手軽に適用することのできる運動姿勢評価システムである。
【産業上の利用可能性】
【0086】
従来の光学式モーションキャプチャーは特殊なカメラと環境の制約があったが、誰でもが持つ一般のカメラを利用できるため撮影の制約が無くなり、運動姿勢を評価したい各種のスポーツやリハビリ、その他多くの用途に適用できる。
【符号の説明】
【0087】
1 被験者
2 撮影カメラ
3 被験者の運動を撮影した動画像
10 被験者を模した仮想空間内の3次元キャラクター
20 仮想カメラ
21W 仮想カメラの横方向の視野角が作る横方向の画角の長さ
21H 仮想カメラの縦方向の視野角が作る縦方向の画角の長さ
22 仮想カメラの光軸と撮影画像の面が直角に交わるときの距離
23 仮想カメラの縦方向視野角
24 仮想カメラの横方向視野角