市販カメラをちょっとした改造で「深度センサー」に
今回の研究成果のポイントは大きくわけて2点ある。「既存カメラを深度センサーの代用としたこと」「計算処理を高速化しており、汎用モバイルデバイスで100〜250fpsで認識可能」のふたつだ。デモストレーションでは一般に市販されているウェブカメラ(実際にデモで使っている製品はMicrosoftのLifeCam)にちょっとした改造を加えたものと、スマートフォンのカメラ部にアタッチメントのように取り付けたセンサーモジュールで、モーション認識を行なっている。
Microsoftの新型「深度センサー」は、従来のカメラ(2Dカメラ)センサーに物体から反射される赤外線(IR)情報を読み込ませ、その強度(濃淡)で距離を計測できるようにしている。通常の2Dカメラの場合、RGBの可視光情報をイメージセンサーで読み込んで映像情報を数値化しているが、今回のケースではRGB信号の代わりにIR信号をセンサーへと通し、信号強度の判別で深度情報としている。
ただし、通常のカメラではIRなど可視光の外にある情報はノイズとしてフィルタリングされてしまうため、改造によってカメラモジュールのIRフィルタを取り除き、代わりにIR信号を通すバンドパス・フィルターを取り付け、逆に赤外線(IR)センサーとしてしまう。
また、通常の可視光の場合、深度センサーの対象となるオブジェクト(人)が暗所にいるとその動きが読めないなど、周囲の明るさに大きな影響を受けてしまう。そこで読み取り精度を高めるため、カメラモジュール部分にIRを照射するLEDを取り付け、“近距離”を前提に暗所や逆に高輝度な場所であっても対象の深度情報を読み取れるような仕組みにしている(Near Infrared:NIRなどと呼ばれている)。照射したIRの反射で近距離のオブジェクトが浮き上がる形になるため、周囲の状況に左右されずに判別できるというわけだ。
YouTubeで公開されたデモでは、こうした3ステップのウェブカメラの改造をわずか10分程度で完了できるとしている。LED照射装置は3Dプリンターで作成されており、そして何より問題となるセンサーが通常のイメージセンサーと同一であり、コモディティ化が容易となっている。
これはスマートフォンの場合も同様で、背面カメラの部分にちょっとした改造を施し、赤外線(IR)を照射するLED部への給電を別途USB経由で行なう構造になっている。
以上の改造により基本となる深度の濃淡情報を取得することができたが、これをソフトウェア的に解析してより正確な形状とモーション情報として認識する必要がある。一般に、こうした数値判定はサンプリングを経た機械学習による決定木(Decision Forests)を構成するアルゴリズムが用いられるが、Microsoftによれば「Hybrid Classification-Regression Forests」という複数のクラス化と回帰を組み合わせた決定アルゴリズムを採用しているという。
具体的には、クラス化の決定木と回帰の決定木を多層化して判定アルゴリズムに用いることで、判定精度を向上しているようだ。これにより、より精度の高い多層化判定で100fps、精度の低い単一の決定木の利用で250fpsと、非常に素早い判定を実現している。ひとつの決定木を通過するのにハイエンドPCで2〜4ms程度ということで、3Dモーション・センシングを必要とするアプリケーションやデバイスの種類に応じて精度を調整することで、十分にリアルタイムでのモーション判定が可能となる。