「Qinect」を作ってみて気がついたこと

告知とは違うので、ちょっと別トピックにしてみました。純粋に技術的な話なので、興味のない方は読み飛ばし推奨です(^^;; 動画の中で紹介している「Milo and Kate」ですが、Qinectよろしくあのデモを実現するには、シンプルかつ大きな問題として

  • 人が近いと認識できないんじゃないか?


ということです。Qinectでは、センサーを上向きに設置して特定用途専用にしてしまいましたが、Kinectは横向き設置のため、どうしてもある一定以上(最低1m〜?)の距離を置く必要があります。これはKinectの視野角の限界によるもので、確かPrimeSense社のリファレンス仕様から読んだ限りでは57°だったと記憶しています。


二つカメラを使うようなステレオ計測の場合、基本的には広視野角のカメラを使えば、歪みによる精度劣化はあるものの、ある程度広い視野を見ることもできます。が、Kinectの赤外線投影方式の場合、対象上に投影されたパターンを撮影する必要があるため、角度が付けば付くほど暗い光しか返ってこないことになります(撮影対象は理想的なRambert反射では「ない」ため)。つまり、現状のKinectのような方式そのままの場合、撮影範囲をより広く取るのは容易ではありません。ただし、もし自分が理解しているKinectの深度センサーの原理が正しければ、Kinectを多重使用して解決することはできそうです(同じ箇所に二つ以上赤外線を当てても計測できる・・・はず)。

Kinectは、コスト―パフォーマンスから見て最良の妥協点を探って作られたもの(実際に三次元計測の確実性は半端無く高い)とは思いますが、以前の日記で指摘したように、日本の平均的住居では狭すぎる、という問題が出てきそうですね。どういう構成なら制限を改良できるか?というのを考えるのも面白そうです。