２９人の運動解析のための３次元表示に関する研究
田房

友典*・安藤美紀**

Three-Dimensional Display Systemfor Analzying Human Motion
Tomonori Tabusa* and Miki Ando**
Abstract
We proposed three-Dimensional recovery based on extended measurement matrix. This matrix
decomposes into camera position and 3-D coordinate by factorization. This way does not need camera
calibration, so if is very useful for analyzing human motion and some medical applications. This paper
proposes novel 3-D display system of position data obtained by 3-D recovery employing factorization.
We use wire frame model and resold cube model to connect of position data.
１．はじめにコンピュータ技術の進展により，ビジョンセンサや画像処理システムが非常に安価に利用可能になってきた。
それにともない，物体の形状や動きを３次元復元する技術も進歩し，スポーツ分野では運動解析，医学や福祉の分野ではリハビリにおける訓練効果の確認等，様々な分野での応用が期待されるようになっている。
一般的環境における３次元復元は，測定対象につけられた特徴点の画像上の座標値を，ステレオ法やタンら［１］の拡大計測行列に基づく復元法を用いて３次元座標に変換する。３次元形状に交換された特徴点の座標値の羅列だけでは，正確に復元されているのか判断することや運動を解析することは困難である。通常，３次元データの再現には，テクスチャを貼り付け，よりリアルに再現する手法が用いられている。テクスチャの貼り付け手法に，市販のソフトウェアを用いる。市販のソフトウェアを用いて人のリアルな再現を行う場合，関節の個数以上の特徴点が必要となる。本研究では，光学式復元法であるステレオ法や拡大計測行列に基づく復元法で，３次元復元する手法において，復元された任意の数の特徴点座標をモデル化し，ディスプレイ上に再現するソフトウェアの開発を行う。
光学的復元法の中でもカメラキャリブレーションを必要とせず，多視点画像だけを用いて変形体を３次元座標に変換する手法は，一般的環境下では汎用性が高い［２］。このため，拡大計測行列に基づく復元法によって得られた復元結果を再現するソフトウェアの開発にターゲットを絞る。
＊情報工学科＊＊JR 西日本

拡大計測行列に基づく復元法によって３次元復元された特徴点座標は，１フレーム毎の特徴点が時間軸方向に列挙されたデータ形式である。このデータをワイヤーフレームモデルとソリッドモデルを用いて３Ｄグラフィックス描画を行う。開発ソフトウェアの特徴は，３次元復元された特徴点数と形状に制約を受けず，ユーザが任意の形状にモデル化可能な点である。ソフトウェアの実現には，OpenGL ライブラリを用いて，復元データである３次元特徴点座標ファイルに加え，ユーザが作成する接続情報を記述した接続情報ファイルを入力することでモデル化の形状を決定する。
実験として，人の運動に対して拡大計測行列に基づく変形体の３次元復元法［２］を適用し，復元された特徴点の３次元座標を開発ソフトウェアによってモデル化し，評価，考察を行う。
２．拡大計測行列に基づく運動の３次元復元法

台のビデオカメラを設置し，計測対象となる人を撮影する。そのとき 番目のビデオカメラの映像  によって，特徴点が観測される。この特徴点の映像上での位置を  とする。時刻 における  上の 座標を順に，対応を取りながら計測行列に記入する。

平成１４年９月３０日受理３０弓削商船高等専門学校 紀要 第２５号（平成１５年）

…

…

…

…

…

…

…

…

述する。対象が変形体のように時間軸方向にもデータが     …  
存在する場合，全ての特徴点において対応がとれていな     …  ければならない。ここで言う対応とは，各フレームにおいて特徴点の記述された順番が同じであることである。
     …  
また，ファイルには，全フレームにおける特徴点が欠如（１）     …  することなく記述されなければならない。１フレームの     …  
特徴点数が ，全フレーム数が  とすると，３次元特
徴点座標ファイル上には，  個の３次元座標が記述さ     …  
れている。特徴点の ，，座標の表記は整数値，区切計測行列
 をまとめれば，式（１） りはスペースもしくはタブである。に示す拡大計測行列Ｗが得られる。

   
さらにＷを，次式を用いて行列   （２）に変換する。
（３）

ここで，は，行列Ｗに記入された全特徴点の数，は成分がすべて１の × 行列である。行列は，階数がたかだか３であり，各ビデオカメラの方向を与える姿勢行列と，全特徴点の３次元座標を与える形状行列 とに分解することができる。
（４）を特異値分解し，カこの分解を実際に行うには，メラレンズ座標系の正規直交性を利用して唯一解を求める。

３．２ 接続情報ファイル
対象物の特徴点を接続する情報を接続情報ファイルに記述する。特徴点は，表３．１に示すように，直線，三角形，四角形と円で接続することが可能である。線分は，始点と終点の特徴点番号を指定し，順不同である。円は，中心となる特徴点番号，半径と色を指定する。三角形，四角形は，それぞれを構成する特徴点番号および色を指定する。円，三角形，四角形で指定する色は，塗りつぶし色であり，引数と色の関係は，表３．２に示す。
特徴点が 個で対象物が構成されていると，接続情報ファイルに記入可能な特徴点番号は，１〜 である。接続情報ファイルは，図３．２に示すように，１行目に対象物に付けられた特徴点数（ ）を記入する。２行目以降
は，各行に対象物を構成する形状を１個ずつ記入する。
各特徴点番号や色の区切りにはスペースを用い，各行に座標 座標 座標

３．３次元グラフィックス表示

４１−３６５７４１−４１８０４２−３３５５４０−４１８１４１−３０５７３９−４１…
… … …

３．１ ３次元特徴点座標ファイル
３次元復元された特徴点座標を図３．１に示す書式で記状

線分
円１フレーム



２フレーム



３フレーム



フレーム

図３．１ ３次元特徴点座標ファイル

表３．１ 描画可能な形状と書式形

⁝⁝⁝

８０…

特異値分解によって分解された３次元座標を与える形
状行列 は，物体に付けられた特徴点の３次元座標をフレーム毎に列挙したデータ配列である。（３．１章参照）。
データ配列だけでは，フレームの区切りや物体形状を把握することは困難である。
形状行列 は，特徴点が記述されている順序が各フレームで同じである。形状行列 を示す３次元特徴点座標ファイルと，フレーム毎の特徴点数や特徴点間の接続情報を記述した接続情報ファイルを用いて，任意の対象物に対して３次元グラフィックス表示を行う。

書式

特徴点番号１ 特徴点番号２
特徴点番号 半径 色

三 角 形

特徴点番号１ 特徴点番号２ 特徴点番号３ 色

四 角 形

特徴点番号１ 特徴点番号２ 特徴点番号３ 特徴点番号４ 色

３１

人の運動解析のための３次元表示に関する研究（田房・安藤）

表３．２ 引数と塗りつぶし色
引数色

引数色

０黒

８灰色

１暗い青

９青２茶

１０

赤

３暗い赤茶

１１赤紫

４暗い緑

１２緑

５暗い青緑

１３青緑

６暗い黄色

１４黄

７暗い灰色

１５白

８

特徴点数

１ ２線分の描画

２ ３
１ ２０ ６円の描画

１ ２ ３ ４三角形の描画

３ ４ ５ ６ ０四角形の描画

７ ８
図３．２ 接続情報ファイル

ダブルバッファの設定

裏バッファのクリア
スタックを用いた裏バッファへの図形の描画（スタックの pop と push）

ァ機能を用いてスムーズな描画を実現する。ダブルバッ
ファは，２画面分のフレームバッファを用意しておき，一方の画面を表示している間，裏に回っているフレームバッファに次の絵を描画し，描画が完了した時点で２つのバッファを切り替える方法である。
また，複数の図形の描画や処理の高速演算を実現するために，行列スタックを用いる。OpenGL にはローカル座標の状態（モデルビュー行列）を記憶する行列スタッ
クが容易されており，スタックに現在のモデルビュー行列を記憶させたり，取り出しを行ったりすることにより，さまざまな視点から複数の図形を描画することができる。
スタックは，最低でも３２段のモデルビュー行列スタックが利用することができる［３］。
３次元グラフィックスを実現するプログラムの流れを
図３．３に示す。ただし，破線で囲まれた領域は，ユーザからの繰返し判定が，「真」の間，描画を行う。
４．システム４．１ インストール
開発ソフトウェアは，３．
５インチフロッピディスクに格納され（１．
２９Mbyte），「３dv.exe」という自己解凍形式
ファイルをクリックするだけで各クライアント PC にインストールすることが可能である。
「３dv.exe」を解凍すると，表４．１に示すようなファイルが展開される。ここで，「３dv.exe」は，プログラム
本体，「bsk.txt」はサンプルデータの３次元座標ファイ
ル，「info_bsk.txt」は，サンプルデータの接続情報ファイルであり，その他のファイルは，開発ソフトウェアの実行に必要な環境ファイルである。また，本開発ソフト
は，Windows９５／９８／９８SE／ME／２０００で動作を確認済みである。

バッファの切替
表４．１ 開発ソフトの構成ファイル
表バッファのディスプレイ表示

ファイル名
３dv．exe

連続表示：ON

終了
図３．３ OpenGL を用いた３次元グラフィックスの描画

bsk．txt
bsk．info．txt

役
プログラム本体

サンプルファイル３次元座
標データファイル
サンプルファイル接続情報ファイル

borlndmm．dll
cp３２４５mt．dll
glut３２．dll

記入する形状の順位は任意である。

bcbsmp４０．bpl

３．３ OpenGl を用いた３次元グラフィックスの実現
３次元グラフィックスの実現には，OpenGL を用いる。
変形体の形状復元では，アニメーションのように頻繁に画面を書き換える必要がある。このため，ダブルバッフ

vclx４０．bpl

vcl４０．bpl

割

環境ファイル

３２

弓削商船高等専門学校 紀要 第２５号（平成１５年）（a）メインウィンド（b）表示ウィンド
図４．１ 構成ウィンド

４．２ 構成開発ソフトウェアは，図４．１に示すようにメインウィンドウと表示ウィンドウによって構成される。表示ウィンドウは，表示ウィンドウの中央を原点（０，０）とし，各３次元座標軸ともに−２５５〜２５５までの座標値まで表示可能である。同図（ａ）において を表示視点角度調整領域と呼び，トラックバーとエディットボックスに数値を設定可能である。 は接続表示チェックボックス領域，は表示間隔設定領域と呼ぶ。

接続情報ファイルの読込み
３次元座標ファイルの読込み
初期パラメータの設定START
図４．２ 操作手順

４．３ 機能４．３．１ 表示視点角度調整， ， 軸を０〜３５９°まで，回転可能である。回転角度の変更は，トラックバーとエディットボックスに数値を入力することで行う。表示ウィンドウの表示前に視点角度を調整すれば，表示後の物体の視点角度に反映される。また，連続表示チェックボックスのオン／オフにかかわらず，調整可能である。

４．３．２ 連続表示
連続表示のオン／オフ設定を行う。チェックボックスにチェックが付いている状態が連続表示オンである。表示対象が０〜Ｐ枚のフレームで構成されているとき，Ｐ枚目のフレーム表示後，０枚目のフレームへと表示を繰り返す。
４．３．３ 表示間隔調整
連続表示がオンであるとき，表示間隔を１〜９，９９９，９９９msec まで設定する。設定は，連続表示チェックボックスのオン／オフにかかわらず可能である。
４．４ 使用方法
開発ソフトウェアの使用手順を図４．２に示す。初期パラメータの設定では，各軸（ ， ， ）の表示視点角度，連続表示チェックボックス，表示間隔の設定を行う。各

表４．２ 各種パラメータの設定値
パラメータ

値

表示視点角度（ ， ， ）（０，０，０）

連続表示チェックボックス

OFF

表示間隔

１００ms

初期パラメータの設定値を表４．２に示す。
５．実験結果人の運動を３台のビデオカメラで測定し，表５．１に示す３次元形状 を開発ソフトウェアによって再現した。
各対象をモデル化するために用いた接続情報ファイルを
図５．１，測定１〜測定３の復元結果を開発ソフトウェアによって再現した結果を図５．２〜図５．４に示す。同図
表５．１ 各種パラメータの設定値
測定



運動概要

特徴点数

測定１

歩行する人

１５測定２

バスケットボールをする人

１８測定３

ローラーブレードをする人

１９

３３

人の運動解析のための３次元表示に関する研究（田房・安藤）

１５１８１９１ １８ ９１ ２１ ２

１ ２２ ３２ ３

２ ３ １０ ９ ６３ ４３ ４３ ４４ ５４ ５４ ５２ ６２ ６２ ６ １３ ９ ６６ ７６ ７６ ７７ ８７ ８７ ８２ ９２ ９１０１１１０ ９１０ ９１１１２１０１１１０１１１３１４１１１２１１１２１４１５１２１３１２１３１４ ３９ １４９ １５１４１５１５１６１５１６１６１７１６１７１７１８１９ ３

１８２２ ２

１ １８ ８

１ １８ ８（a）測定１（b）測定２（c）測定３

図５．１ 接続情報ファイル（a）測定１（b）測定２（c）測定３

図５．２ グラフィック表示

は，表 示 移 転 角 度（ ， ， ）を（０，７７，７７）に 設 定した結果である。
６．おわりに複数台のビデオカメラで撮影した被写体（変形体）の特徴点座標は，タンらの方法によってカメラパラメータと３次元形状 に分解することができる。被写体の３次元形状を表す をディスプレイ上にモデリングするソフトウェアの開発を行った。
本ソフトウェアは，復元された運動を一時停止／スロ

ー再生／回転および，必要なフレームを瞬時に表示することが可能であるため，運動の解析・分析を行うときに補助的に利用することができる。また，被写体の３次元形状を表す３次元特徴点座標ファイルに加え，被写体の接続情報を表す接続情報ファイルを入力することにより，いかなる形状の被写体であっても柔軟にワイヤーフレームによって接続し，形状をモデル化することができる。
ワイヤーフレームだけを用いた形状のモデル化だけでなく，球，三角形，四角形の図形を用いて形状を構成することも可能である。着目したい関節や部位においては，色を変えることによって解析の補助や，ユーザに対して

３４弓削商船高等専門学校 紀要 第２５号（平成１５年）

運動の特徴を強調することができる。
本ソフトウェアは，３次元形状 の結果を表示し，奥行き等の復元状態を確認するためには，操作も容易であり十分な役割を果たす。今後の課題として，解析や分析などに利用する場合に，関節や特定部位の動きを解析する軌跡表示機能，移動距離を測定するためのグリッド表
示機能，復元対象の座標値のスケールが表示ウィンドウに合わない場合に，拡大／縮小機能が必要である。
参考文献［１］タン，石川，加藤：因数分解を利用したモーションキャプチャ法，計測自動制御学会論文集，３６−１１，９８０／９８４（２０００）．
［２］T. Tabusa, J. K. Tan, S. Ishikawa : Recovering
Human Motions by Mobile Cameras and Factorization, The ５th Asian Conference on ComputerVision，５５１−５５５，２００２．
［３］酒井：OpenGl３D プログラミング−３DCG の基礎から制御系アニメーションへの応用まで，CQ 出版（２０００）．
［４］ク レ イ ト ン：Win３２OpenGL プ ロ グ ラ ミ ン グ
Windows NT／９５ ３次元グラフィックスプログラ
ミング入門，ピアソンエデュケーション（１９９９）．
［５］田中，手塚：C++Builder４コンポーネント活用ガ
イド＆実践プログラミング〈Vol.１〉プログラミン
グ・テクニック，カットシステム，（１９９９）．
［６］桐山：C++Builder による Windows プログラミン
グ，森北出版（１９９９）．