KOSAKA LABORATORY->Tips

Kinect SDK 応用編 赤外線プロジェクタを見る

kinect.jpg
 Kinecには赤外線プロジェクタが搭載されています。一番左がソレに当たります。赤外線プロジェクタから赤外線のバーコードを映しだしています。プラネタリュウムの星みたいなものを物体に投射して、その跳ね返りを赤外線カメラで取得して奥行きを判定していると言われています。

 じゃ、どんなコードを吐き出しているの?っと疑問に思う方もいるはずなので、今回は、デジタルカメラで見てみることにしましょう。赤外線は人の目には見えません。赤の波長より外にあるから、赤外線です。詳しくは調べてね。

 デジタルカメラや携帯のカメラを通して見ることができます。が、おそらく点にしか見えないかと思います。デジカメなどに使われているCMOSセンサは赤外線を写すことができます。赤外線を写し過ぎるので、センサの前に赤外線カットフィルターなるもので赤外線をカットしています。今回は、その赤外線カットフィルターを取って、投射されたコードを見てみたいと思います。

 幸い、SIGGRAPH2011開催中に、MommyTummyの水槽の中にダイブしたデジカメ君がいましたので、それをバラしてみましょう。


必要なもの
 デジカメ(当たり前ですが、バラすとメーカー保障対象外になります。)
 工具

組立
 
こちらが羊水の海にダイブしたデジカメ君

 
バラしていきます。

 
外装を剥がしていきます。

 
液晶をめくります。

 
CMOS部分です。

 
外れました。右側がCMOS

 
ここに赤外線カットフィルムが入っています。

 
右側の緑のが赤外線カットフィルムです。

 
元に戻します。5分程度で完了です。


結果
では、実際にどのような映像が撮れたかというと・・・・。
本当に、プラネタリュウムのように打ち出していますね。
結構、強い出力ですね。人の目には全く移りませんが、目には大丈夫なんでしょうかね・・・


実行結果
 これでなにが出来るかという話です。Kinectはこの打ち出したコードを元に奥行情報を求めています。このコードを消し去ることができれば・・・・。
 つまり、赤外線LEDなどを投射して、このコードを消し去ることができれば、「余計な部分を消すことができる」はずです。たとえば、展示会などで、体験者の後ろにいる人を誤検知してしまうとか、不必要な部分を除去するなど、そういった使い方ができるはずです。赤外線LEDのライトを消したい対象物に当てるだけで、検出精度が上がるはずです。
 次回は赤外線LED投射機を使って実際に試してみます。