Kinect を用いた人体の関節位置情報取得システム

Kinect を用いた人体の関節位置情報取得システム
信州大学 工学部 情報工学科 井澤研究室
08T5044B 佐別当 義剛
1. まえがき
用の信号処理プロセッサ,ユーザ追尾用の自動チルト
近年,モーションキャプチャ技術はテレビや映画,
機構が内蔵されている.
ゲーム等の映像制作分野に留まらず,スポーツ科学や
2-2 奥行き方向距離画像の取得
医療等の領域にも幅広く利用されつつある.しかし,
図 2 に,奥行き方向の距離画像を抽出する原理を示
従来のモーション・キャプチャシステムは一般に高価
す.本体前部に設置された赤外線照射機からレーザ光
であり,計測のための特殊なマーカーを必要とするな
を照射すると,対象物表面の凹凸による乱反射により,
ど,撮影環境等に様々な制約がある.一方,ゲーム用
スペックルパターンと呼ばれるドット状の斑点(一種
の入力デバイスとして開発された Microsoft 社の
の干渉縞)が発生する.このパターンを赤外線カメラ
『Kinect』は,ユーザの体に特殊なマーカーを装着す
を用いて読み取り,内蔵した信号処理用プロセッサを
ることなく,人体の各部位を識別して姿勢を推定する
用いて,事前に取得したパターンのデータベースと比
ことにより,骨格の動き(スケルトン・トラッキング)
較・照合することにより,画面内の人物等の距離画像
をリアルタイムに計測することができる.最近は,一
を取得している.
般的な PC (Windows)に接続して利用する基本ソフト
(ミドルウェア・ライブラリ)が公開されている[1][2].
今回,簡易型のモーション・キャプチャシステムを目
指し,『Kinect』が取得した人体の関節を含む各部位
の 3 次元情報をリアルタイムに抽出するソフトウェ
アを開発し,奥行き方向の精度等について評価した.
2.『Kinect』とは
2-1 概要
Kinect は,2010 年に Microsoft 社によって開発さ
図2
距離画像の抽出原理
れた非接触式のゲーム用コントローラであり,人物の
動作をリアルタイムに計測することができる.
2-3 人体の各部位の識別と計測
Kinect では,人体の肘,肩,膝の関節や頭,手,
足等の各部位を識別し,それらの 3 次元座標を計測し
ている.その詳細は明らかにされていないが,事前に
人体の各部位の形状やサイズ,姿勢に関する膨大な量
の人物画像サンプルを機械学習させることにより,認
識基準データを作成する.このデータと取得した距離
画像を比較することにより,人体の各部位の認識,識
図1
Kinect の外観
図 1 に示すように,本体には RGB カメラ,赤外線
照射機,赤外線カメラの 3 つの光学系素子が組み込ま
れており,その他音響センサや3軸加速度センサ,専
別を行っているものと考えられる.
3.関節位置情報取得システムの開発
今回のプログラム開発には,OpenNI,Primesense,
OpenCV,Visual Studio2008 を使用した.
プログラムを起動すると,画面内の距離画像から人
物の形状を探索して,その ID を登録し追跡する.次
に人体の各部位を認識し,その関節を含む骨格(スケ
ルトン)とその 3 次元座標から,人物のジェスチャを
検出する.人物が規定のポーズをとると,関節等の位
置情報をファイルに出力しながら,対応する距離画像
上 ( DrawDepthMap ) に そ の 骨 格 を 描 画 す る
(DrawLimb).検出可能な部位は頭,胸,両肩,両
肘,両手,両臀部,両膝,両足の 15 箇所であり,取
得した 3 次元データを OpenGL を用いて 3 次元表示
するソフトウェアも別途作成した.
図 3 に,スケルトントラッキングの動作例を示す.
30 フレーム/秒の処理速度が得られている.計測に
図4
奥行き方向の計測精度
使用した PC の仕様は以下の通りである.
・OS
Windows7 Home Premiun
・CPU
Intel(R) Core(TM) 2 Duo E8200
・メモリ
2GB
5.
まとめおよび今後の課題
『Kinect』が取得した人体の関節を含む各部位の 3
次元情報を取り出すプログラムを開発し,奥行き方向
の精度等について評価した.今後の課題としては,
① 検出可能な関節部位の追加
② フレームレートの更なる向上
③ 複数人物の同時認識
が挙げられる.
このシステムに更なる改良を加えることにより,ス
ポーツ科学,例えば当研究室で行っているマラソンの
走行フォームの評価等にも導入できるものと考えら
れる.
参考文献
図3
スケルトン・トラッキングの動作例
[1] 中村薫「Kinect センサープログラミング」
(ゲッシュ)
4.
計測精度の評価
Kinect の奥行き方向の計測精度を評価するため,
距離 1~4m の立ち位置における計測値をプロットし
た.その結果を図 4 に示す.±3cm 程度の誤差がある
が,その原因としては,体の中心軸の判定のぶれが考
えられる.
[2] Interface, pp85-101, Jan. 2012 (CQ 出版社)
[3] http://d061333.web.fc2.com/index.html