2010-12-22

Kinectのトラッキング原理「部位認識に基づく3D姿勢推定」 Kinectのトラッキング原理「部位認識に基づく3D姿勢推定」 - Nao_uの日記 を含むブックマーク はてなブックマーク - Kinectのトラッキング原理「部位認識に基づく3D姿勢推定」 - Nao_uの日記 Kinectのトラッキング原理「部位認識に基づく3D姿勢推定」 - Nao_uの日記 のブックマークコメント

XBoxチームはひとまず動く程度のトラッキングシステムを構築したのだが、商用製品として必要とされているレベルでは全くなかった。そのシステ ムには、1分くらい立てばトラッキングが外れてしまうという問題があり、一度トラッキングが外れると自力では復活できなかった。

またそのシステムにはさらに深刻な欠点があった。当時のそのシステムは開発者と同じようなサイズや形の人間しかトラッキングできなかったのである。これでは商用で出せるものではなかった。


「我々はこのシステムを担当することになったのですが、いつ何時でも全ての異なる(サイズや形の)ユーザーに対して動作し、絶対にトラッキングも失わないものに、改良を施しました。」とDr.Shottonは言う。

その秘密は機械学習にあります。

「コンピュータに対してそれぞれ異なった形やサイズでそれぞれ異なった姿勢を持った大量の人間のサンプル画像をコンピュータに学習させることで、 コンピュータはユーザーの体の一部分を別の一部分と区別できるようになります。」と彼は言う。Kinectのカメラは深度情報を含んで計測するので、遠く にいる背の高いユーザーと近くにいる背の低いユーザーを区別することができる。

つまり、これまでになかった程の大量のパターンを大量に機械学習させておくことで、どんな人のものでも識別できるような人体部位(Body Parts)ベースの識別器を用意し、これを用いてリアルタイムに、「ここは手。ここは頭。ここは足」と3D空間上で各パーツの3D位置を認識できるシステムを作ったというわけです。あとでも触れますが、相当な数のパターンを大量に学習したようで、力業的解決をしている要素があります。

大量のパターンをもとに学習させて、パターンマッチング的に体の動きを認識しているらしい。どの程度までの処理をKinect側で行っていて、どこからがCPU側の仕事なんだろう?距離画像を作るあたりまではKinect側の仕事だったりするのかな。

HandyAR: 手をインターフェースとした拡張現実感システム HandyAR の開発 HandyAR: 手をインターフェースとした拡張現実感システム HandyAR の開発 - Nao_uの日記 を含むブックマーク はてなブックマーク - HandyAR: 手をインターフェースとした拡張現実感システム HandyAR の開発 - Nao_uの日記 HandyAR: 手をインターフェースとした拡張現実感システム HandyAR の開発 - Nao_uの日記 のブックマークコメント

基本的にはこのHandyARと同じようなやり方を奥行き情報にも対応して、もっと大規模にして全身の多様な姿勢に適用してる、みたいなイメージなんだろうか。

HandyARのような手の姿勢検出に特化したもののKinect対応版にも期待したいところ。