前回までは、「Kinectによる人物姿勢推定」が、機械学習アルゴリズムによりどのようにして実現されているかの紹介を行いました。今回からは、そのリアルタイムで計測できる全身の人物姿勢情報を活用したアプリケーション例を紹介していきます。また、全身の姿勢以外にも、「顔の特徴点の追跡」や「手指の姿勢推定」といった情報も、最近の安価なコンシューマ向けデプスセンサでは取得できるのですが、それらを用いたアプリケーションも紹介していきます(これら2つの原理については取り扱いません)。すでにKinect編の導入で紹介した、Kinectの本来の使い方である「ゲームのコントローラー」の話は割愛し、安価なデプスセンサのゲーム以外でのナチュラルユーザーインタフェースの応用例を紹介していきます。
まずは、最初に誰もが思いつくような応用例として、「腕の動きからのジェスチャー認識」の例を紹介します。ジェスチャー認識では、(主に腕や手の)動作解析を行うことで機械やディスプレーとの人の動作の間で「やり取り(インタラクション)」を行います。たとえば画像や動画から「腕振りの動作」や、「手の平の動き」などをデプスセンサとコンピュータプログラムが認識し、その認識結果がユーザーのコマンド選択となったり、もしくはその手や腕の動きの軌道がそのままコンピュータに伝えられて絵を描いたりできることにより、人間の動作そのままがソフトウェアでの操作として伝わるというものです。
例えば、以下のデモンストレーション動画の「仮想試着アプリケーション」のようなインタラクティブなアプリケーションが、ナチュラルユーザーインタフェースの典型例としてあげられます(この動画は、Kinect for Windowsのプロモーション動画です)。
このアプリケーションですが、ファッションアイテム一覧がユーザーの女性の前に表示されている時に、手を左右に動かすのに従ってアイテム群から(仮想)試着するアイテムを選択でき(手の動きに従ってアイテム一覧も回転しています)、コーディネートの選択がすべて終わったらその試着結果の自分の画像を保存しています。この動画での「手の動かし方」とそれに対する「ディスプレーの変化」の関係を見ることよって、「ナチュラルなジェスチャー操作」とはどういったものかがおわかり頂けると思います。
ナチュラルユーザーインタフェースは、人の自然な動き情報を「非接触」で「そのまま」コンピュータに伝えられるのがメリットです。Kinect登場以前は、タッチパネルや物理的なボタンやレバー、ゲームコントローラーなどによって「物理的な接触や刺激」を介してコンピュータに情報を伝えるインタフェースが主流でしたが、現在は安価なデプスセンサとそこで提供されている開発ツールにより人物姿勢情報が誰でも取得できるので、その情報を用いたソフトウェアを構築することにより、このようなナチュラルユーザーインタフェースを用いたアプリケーションを多くの開発者が実現することが可能となりました。Kinectのようなデプスセンサだけはなくて、旧来のカメラなどでも、画像で人の動きを捉えることは可能ですので、非接触のジェスチャー認識も実現できます。
林 昌希(はやし まさき)
慶應義塾大学大学院 理工学研究科、博士課程。
動画からのチームスポーツ映像解析プロジェクトにおいて、選手の姿勢の推定、およびその姿勢情報を用いた選手の行動認識の研究に取り組み中。人の振る舞いや属性を理解する「ヒューマンセンシング技術」全般が専門。
有料メルマガ「DERiVE メルマガ 別館」では、コンピュータビジョンの初~中級者のエンジニア向けへの情報を発信中。Point Cloud Libraryについてのセミナーも行うなど、コンピュータビジョン技術の普及やコミュニティ拡大に取り組んでいる。
翻訳書に「コンピュータビジョン アルゴリズムと応用 (3章前半担当)」。