人間同士のやりとりにおいて,言葉だけでなく,身振り・ジェスチャは重要な要素です.我々は,人間とロボットや情報機械とのやりとりにおいても同様の自然なインタフェース実現を目指し,画像処理によって人間の動作を認識する研究を行っています.
画像による人間の姿勢推定や動作追跡に関する研究は数多く存在しますが,我々は次のような制約を持つ状況にチャレンジしています.
第1点〜第3点により,何ら事前準備を行う必要がなく,不特定多数の人間と即座にやりとりを行うことができるようになります.第4点により,環境の整ったスタジオでの固定カメラではなく,ロボット頭部や別の人間の頭部に搭載したカメラを使ってやりとりを行うことができるようになります.
上記目標をすべて満たすには,いくつかの課題が存在します.第1点はもちろんマーカーを使わないということですから,比較的性能を確保しやすいマーカーベースの手法は使えません.マーカーを使わない手法の中でも,第2点に関しては多くの研究が何らかの形で「前提」を必要としており,体格(骨格サイズ)情報,着衣などのテクスチャパターンなどのうち,どれかが必要となる場合があります.第3点に関しては,対象者に決まった初期姿勢をとらせるとスムーズなインタラクション開始の阻害となるため,普通の姿勢から即座にインタラクションが開始できることが望まれます.第4点については,人物像を背景から抽出するためにしばしば用いられる,背景差分などの方法が使えません.さらに,カメラシステムをロボット頭部や別のユーザー頭部に搭載可能とするため,人間の眼間距離と等しいベースラインを持つステレオカメラのみを使うという制約を課すことにしました.
我々のとったアプローチは,下記のような手法です.
1. は,出発点として,既存手法を利用した顔認識を行います.インタラクションを行いたい人は,自分の方を向いているであろうという仮定を設けています.
2. については,背景差分を用いず人物像を抽出するため,エッジ情報を用います.その際,単一画像によるエッジ抽出では人体のエッジと背景のエッジの区別が困難になるため,ステレオマッチングを用いて,エッジの両側で距離が不連続になるものを見つけます.またその際,3. にあるように,人体の大まかな構造に基づいてエッジの探索エリアを限定し,効率良くエッジを探索していきます.
4. は,親ボーンの推定誤差により子ボーンの始点(親ボーンとの関節位置)に誤差が存在する状況で,その始点を前提として小ボーンの姿勢推定を行うとさらに大きな誤差が発生し,これが手先・足先まで伝搬して許容できない誤差が生じることを防ぐ措置です.
姿勢推定結果は,基本的に単一フレームごとに出力します.これにより,短時間での姿勢出力が可能になります.
提案手法に基づいてシステムを実装し,下記のような性能を実現しました.
単独フレーム処理 | 5フレーム統合処理 | |
---|---|---|
胴体 | 90.4% | 100.0% |
右上腕 | 68.7% | 96.4% |
左上腕 | 76.1% | 98.7% |
右前腕 | 46.5% | 76.6% |
左前腕 | 52.6% | 84.4% |
上半身全体 | 11.6% | 61.4% |
単独フレームで上半身の各パーツ先端の推定結果がすべて5cm以内のずれに収まる確率は,約12%と高くありません.そこで,過去5フレーム分の姿勢推定結果を比較し,各パーツで2フレーム以上類似の姿勢推定結果が得られた場合に,その値を信頼できる結果として出力するようにしたところ,0.35秒で約60%の確率で上半身の姿勢推定が成功するという結果が得られました.
本手法は高速に人間の姿勢推定を行うことが可能ですが,これをそのままモーショントラッカーとして利用する場合,精度が良いとは言えません.そこで,より精度の高い(しかし,初期姿勢の入力を必要とする)モーショントラッキング手法に対して,本手法の出力結果を初期姿勢として入力し,より精度の高いトラッキングを実現するとともに,何らかの原因でトラッキングが失敗した場合の復帰処理高速化に役立てることを予定しています.