3次元モデル解析の考え方と手順のあらまし

黒月樹人(KULOTSUKI Kinohito)@ 9621 ANALYSIS

「スポーツ解析」ブランチページへもどる

 (1)3次元モデル解析の考え方

 2次元(2D)モデル解析と3次元(3D)モデル解析の違いを説明しよう。

  私たちは3次元の世界で活動している(時間を加えた4次元だという解釈もある)。縦と横と奥いきの3つの方向がある世界である。ところが、映画のスクリー ンが2次元の平面であるということは容易に分かるかもしれないが、そこに映された画像も2次元だということに気づくのは難しいかもしれない。これと同じこ とで、ビデオや写真に撮影された画像は2次元なのである。

  ランニングフォームを調べるためにビデオで撮影して眺めてみる。このとき、すでに画像は2次元になっている。実際に走っているランナーを肉眼で見ると、そ れは3次元の物体である。ここのところの違いを、どのようにして解決しているかというと、専門家は同時に撮影できる2台のビデオカメラを使って、異なる方 向からランナーをとらえ、そのような2枚の画像から、立体的な空間に存在していたランナーの身体各部の座標を決める。難しくなるから詳細は略すことにしよ う。このとき重要になるのは、異なる方向から撮影した2枚の画像の、時間にズレがないということである。そのためには、2台のビデオカメラの、撮影瞬間の 時間を精密にあわせて(シンクロナイズさせて)おかなければならない。このためには特殊な装置(かシステム)が必要である。そのようなものは専門的な技術 者しか制作することができないはずである。

  このような問題があるので、この特殊な装置を使うことができない私は、1台のビデオカメラによる画像で調べることのできる、2Dモデル解析というものを組 み上げ、ランニングフォームや走幅跳の踏切などを調べていた。ランナーなどの進行方向に対して、真横から撮影した画像だけを解析することになる。これな ら、進行方向への速度に対する寄与の全てが(ほぼ)分析できる。このような考えでうまくいくケースもあるにはあるのだが、うまくいかないケースもある。た とえば脚は前後に動かしていることが多いものの、腕のほうは、胸の前にもってきたり、肩を中心にして振りまわしたりすることがある。2Dモデル解析ではお 手上げだった。あるいは、ハードリング中の抜脚は、進行方向に対して垂直な方向に突き出される。こちらも取り扱えない。こうして、さて、どうすればよいの か、という疑問が生ずることになる。

  3Dモデル解析は、これらの問題を一気に解決してしまう。さらに、すばらしいのは、撮影のためのビデオカメラが1台しかいらないということである。当然の ことだが、2台のビデオカメラの撮影画像を正確に同期(シンクロナイズ)させておく必要がない。完全な真横から撮影する必要もないし、グラウンドに降り て、同じ高さから撮影する必要もない。つまり、スタンドから見下ろすようにして撮影した画像でも解析できる。だから、どのような位置から撮影したのか分か らない、テレビ画像から収録したものでもよいわけになる。こうして、研究のための資料が飛躍的に増える。

  3Dモデル解析の要点は、モノマネである。2次元の画像になってしまった、選手のフォームと同じ姿勢を、立体的な座標をもっているモデルに、いろいろと真 似させて、2次元の画像を撮影し、これらの二つの2次元画像がほぼ一致するまで、立体モデルの姿勢の調整を続ける。このモデルのほうを、実際の人間がやる のは、とてもたいへんである。だが、コンピュータの中に存在する線画ロボットなら、うまく真似てくれる。

 

 (2)3次元モデル解析の手順

 「3Dモデル解析」の「3D」とは「3次元(D=DIMENTION)」のことである。「3Dモデル解析」を詳しく述べると「3次元の空間座標を持っている身体モデルによる解析」となる。

 図1_a,図1_b,図1_c(以後 図1と呼ぶ)に、3Dモデル解析の操作手順を示めす画像を集めた。

@    撮影したランナー(もしくはジャンパー)の画像をコンピュータソフトの「ペイント」で表示し、肘やくるぶしなどの、身体各部の代表点の座標を読み取り、ファイル書き込み専用ソフト「DANCE_PUT_PRG(黒月樹人作)」を用いて、座標点のリストをファイルに書き込む。この図は、書き込みデータを確認するためのものである。

A    ファイルに書き込んだデータを、解析ソフト「DANCE_08(黒 月樹人作)」で読み出して描写したもの。この図は一見立体的な身体のようにも見えるが、ビデオで撮影した画像からの座標に基づいているので、映画のスク リーンに描かれているのと同じものであり、このような図を、平面のスクリーンに射影された画像という意味で、「2D射影画像」と呼ぶことにする。

B    これに対して、最初から3次元の座標データをもっている、コンピュータ内部でのみ動く3Dモデル(線画ロボット)を準備する。この図は解析ソフト「DANCE_03(黒月樹人作)」で描いたものであるが、DANCE_08にも、この線画ロボットは組み込んである。

C    2D射影画像の身体サイズを参考にして調整した線画ロボットを、2D射影画像に重ねて動かし、あらかじめプログラミングしてあるフォームの中から最も似ているフォームを選び出す。

D    3Dモデルである線画ロボットの身体各部の姿勢角度を調整して、2D射影画像を真似させる。

E    線 画ロボットのみを別のフレームに移して、Z軸の周囲を回転させ、立体的な姿勢が不自然ではないかを確認して、ランニングの進行方向に対して真横の位置から 見た図として描く。この後、線画ロボットの身体各部の姿勢角度リストをファイルに書き込む。このデータが、後に使われる詳細フォームを構成するための節点 データになる。節点データの時間間隔は、ビデオの撮影コマ間隔の時間と同じであるが、詳細フォームの時間間隔は(理論的には幾らでも小さくできるが)、それらの時間の1/10となる。

F    ここからは「DANCE_DETAIL_02(黒 月樹人作)」を用いる。幾つかの連続した画像から、前記の節点データを記録してあるファイルを、必要な数だけ連続して読み出し、これらの節点データの間を 補完する詳細フォームを構成する。このとき、身体各部の姿勢角についての時系列データを移動平均処理しておき、なめらかに変化する、自然なフォームとす る。このようにして構成した詳細フォームに基づいて、身体各部の物理的な変化量を調べる。この図の腰あたりに描写してある赤い点は、身体重心であり、その 下にある赤い点は、身体重心を鉛直に地面近く(プログラムのアルゴリズムの都合で厳密な地面とはなっていない)へと映した影である。ランニングフォームに おいては、この重心直下点が大きな意味をもってくる。赤色で右腕と右脚を、紺色で左腕と左脚を描いてある。図の上にある行中の[40]は、この瞬間の詳細 フォームの番号である。上記の操作で構成した節点データを、0,10,20,30,40,・・・のところにおいて構成した詳細フォームの(0のフォームを 1番目として数えると)41番目ということになる。次に書いてあるVXLは、(このときのキック脚である)左脚(L)の拇指球を基準にして調べた身体重心の水平速度(VX)を意味する。この後の数字が、その値である。速度の単位は、ここには表示していないが、[m/s]である。さらに続いて書いてあるAXLは、この水平速度から求めた、水平加速度[m/ss]である。その下の行にあるLEG VXRは、スウィング脚の重心が、身体重心に対してもつ水平速度である。上から3行目には、左脚の拇指球を基準にして調べた身体重心の鉛直速度(VZL)と鉛直加速度(AZL)を表示してある。

G    キック脚の拇指球を固定して、詳細フォームの35から55までを、5間隔で描いたものである。このような描写は、キック脚が地面に接地しているときに効果をもつ。濃い黄色(GOLD)は右腕を、緑色(GREEN)は右脚を、紺色(BLUE)は左腕を、水色(WATER)は左脚を、それぞれ表している。赤い点は身体重心である。

H    DANCE_DETAIL_02で 解析した身体重心やスウィング脚重心の、速度や加速度を右側のグラフにプロットした。速度の目盛はグラフの(向かって,以下略)左に、加速度の目盛は右に 表示した。右側のグラフで、紺色の小円でプロットしてあるのが、(キック脚の拇指球を基準とした)身体重心の水平速度(VX)で、下にある、黒色の小円が(キック脚の拇指球を基準とした)身体重心の鉛直速度(VZ)で、桃色の小円が(身体重心を基準にした)スウィング脚重心の水平速度(LEG VX)である。また、紺色の実線で描いてあるのが(キック脚の拇指球を基準とした)身体重心の水平加速度(AX)で、黒色の破線で描いてあるのが(キック脚の拇指球を基準とした)身体重心の鉛直加速度(AZ)である。グラフの下側にある単位の[data]は、節点データの番号であり、[form]は詳細フォームの番号である。このときのグラフを見て、踏切の有効な局面は、詳細フォームの35から45までであることが分かる。35から45までについての詳細フォームを左側に描いた。左側の図の下にある「0)GO AWAY   ?」はプログラム操作の入力行である。ここではSEQUENCE画像が描いてある。SINGLE画像の例はFである。

「スポーツ解析」ブランチページへもどる