3D姿勢を用いたジェスチャー認識の仕組み。

アプリケーションを見ただけでは、「3D姿勢からどのような処理を経てジェスチャーが認識されるか」の仕組みがいまいちわからない方もいると思いますので、以下の図を用いて、3Dジェスチャー認識の原理を大まかに説明してみたいと思います。また、その際に2次元的な画像が入力の(Kinectなどは使わない)ジェスチャー認識と比較した場合、どのような点で違ってくるのかの比較も行います。

この図の上半分が、まずはRGB-Dセンサで推定した人物姿勢を入力とした3Dジェスチャー認識の説明をしています。例えば、この例では「右腕の手首、肘、肩の3つの関節座標」を入力とした時に、その3点の動きのうち「右腕を真横に振る」というジェスチャーに相当するもののみを条件判定で抽出することにより、右腕を真横に振るジェスチャーのみを認識することができます。

図中にも書きましたが、「入力の関節情報が3D位置であること」が、旧来の画像ベースでの2Dのジェスチャーと比べて重要で、かつ発展的である点です。3D処理であることにより、「右腕を縦に振る」や「右腕を左斜めに振り下ろす」や「右腕をグルグルまわす」といった3次元的な腕の動きをそれぞれ区別して認識するプログラムを開発することができます。前述のファッション小売店向けのアプリケーションの動画でもあったように、デプスセンサで人物姿勢が毎フレーム計算できれば、その情報を用いて「右腕を真横に振る」というジェスチャーを認識するプログラムは、比較的容易に実現することができます。

一方、動画撮影できる安価なデプスセンサーが市場には存在していなかった時代から存在した、「画像による2Dジェスチャー処理について考えてみます(先程の図の下半分についてです)。ジェスチャーを行う人物を動画で撮影した場合、Kinectのようなリアルタイムの人物姿勢推定手法が(画像が入力の場合は)存在しないので、そもそもKinectのレベルの詳細でしかも3Dである関節位置を取得する事ができません。従って画像ベースで比較的容易にIT系開発者が実現できることとしては、例えば「手の領域の検出器」のようなアルゴリズムを別途用意しておき、これを用いて画像中から検出した手領域の座標の2次元変化をもとに、「手が横に動いた」というジェスチャーの認識する、くらいまでだと思います。

しかし、(キャリブレーションを行っていない)画像上では、対象物体のスケール(実世界の長さ)が取得できていないので、あくまで対象の長さや位置情報は画像平面上での2Dの値でしか取得することができません。このように、3D空間での認識処理は、画像ベースだとなかなか実現が難しく、基本的には画像上の座標で2次元的なジェスチャー認識処理を行うしかありません。図の下半分で示したように、たとえば手の検出器や追跡によって手全体の位置を計算し、この情報を用いて「手が(画像上で)上方向に動いた」ですとか「手が(画像上で)斜めに動いた」といった、2次元的でかつ画像処理で捉えやすいパーツ情報のみを用いたジェスチャーの認識までしか(高度な研究開発者でも無い限り)実現ができません。

誰でも実現できるようになったことで、逆にデメリットも??

こうして、Kinect登場以降はナチュラルユーザーインタフェースの敷居が下がりました。これにより、例えばコンピュータとインタラクションするアプリケーションを作ることが容易になり、それ自体は喜ばしいことです。ただ、裏を返すとジェスチャー認識処理自体は誰でもできる実現しやすい処理になったわけであります。つまりはデプスセンサで少しジェスチャー認識をできるだけでは技術的な価値がほとんど出せなくなったことに注意が必要です。多くのエンジニアがインタラクションアプリケーションを提案できる時代に突入しており、正直言うと、似たようなアイデアの乱立状態も見られていると思います。この話に限りませんが、IT技術全般で「技術が民主化されたことにより、簡単な技術やアイデアなら誰でも実現できて、似た者同士になってしまう」という問題が噴出するという構造は、本連載をお読みのエンジニアの皆様は、よく理解しておくべきことではあると思います。

3D編に突入して以降、これまで続いて来た「人物姿勢推定とナチュラルユーザーインタフェース編」はもうすぐ終わるのですが、そのあと開始する「3D点群処理編」や、私が運営のお手伝いをしている組織「ポイントクラウドコンソーシアム(3D点群のビジネス活用を目指すコンソーシアム)」が、安価なデプスセンサのメリットを最大限に活用し、他人とは一味違うアイデアを実現するための大きなヒントと今後なって行くかもしれません。

林 昌希(はやし まさき)

慶應義塾大学大学院 理工学研究科、博士課程。
動画からのチームスポーツ映像解析プロジェクトにおいて、選手の姿勢の推定、およびその姿勢情報を用いた選手の行動認識の研究に取り組み中。人の振る舞いや属性を理解する「ヒューマンセンシング技術」全般が専門。

有料メルマガ「DERiVE メルマガ 別館」では、コンピュータビジョンの初~中級者のエンジニア向けへの情報を発信中。Point Cloud Libraryについてのセミナーも行うなど、コンピュータビジョン技術の普及やコミュニティ拡大に取り組んでいる。

翻訳書に「コンピュータビジョン アルゴリズムと応用 (3章前半担当)」。