さて、ここまではハードウェア面からモーションセンサーデバイスを比較してきました。距離センサー方式や認識精度の違いからも分かる通り、Kinectは全身の動きの認識は得意ですが、近距離での細かな動きの認識は苦手です。これに対して、Senz3DやLEAPは近距離での手指の動きの認識が得意だという特徴があります。
ただし、ここまでのハードウェアの違いだけでは、まだデバイス選択の決め手にはなりません。デバイス選択時に最も重要なのは、これから説明するソフトウェア開発環境面の違いです。SDKでサポートされているAPIがどれだけ充実しているかは、目的のアプリケーション(ソフトウェア)を開発する際の工数にも大きく影響しますし、アイデアを具体的にどのように実現できるかが見えてきます。
ここからは、各モーションセンサーを利用できるOSの種類や、アプリケーション開発環境、SDKがサポートする機能の違いに注目して説明します。
KinectとSenz3Dは、WindowsベースのOS向けにドライバが提供されています。これに対し、LEAPは、Windows OS以外のMac OSやLinux OSにも対応しています。開発言語に大きな違いはありませんが、C#やC++言語が共通してよく使われています。Senz3D/PerCやLEAPの公式サイトでは、その他の開発言語用のサンプルコードやライブラリも提供されていますので、得意な開発言語に合わせてアプリケーションを開発することができるでしょう。
参考リンク:各SDKの開発者向け資料 | |
---|---|
⇒ | MSDN Kinect for Windows SDK |
⇒ | Intel Perceptual Computing SDK Documentation |
⇒ | LEAP Motion Documentation |
「Kinect for Windows SDK(以下、Kinect SDK)」の最大の特徴は、人を認識し、全身20点の骨格位置を追跡できることです。骨格追跡(スケルトントラッキング)による、人の位置や動きのデータを使用したアプリケーションの開発に最適です。手指の細かな動きを認識することはできませんが、最新バージョンのSDKでは手の開閉程度であれば認識できるようになり、画面内のコンテンツをジェスチャーで操作するような機能を簡単に実装できるようになっています。
また、骨格追跡の他にも、顔の特徴点(100点)や、顔の向き、傾きを認識するフェイストラッキングの機能、音源方向を特定する機能なども用意されており、さまざまなアイデアの実現に役立てることができます。
その他、距離センサーを活用した3Dスキャンの機能なども用意されています。例えば、物体を3Dスキャンして、生成した3Dモデルデータを3Dプリンタに入力するなど、既にKinectを3Dスキャナーとして活用した商用サービスが始まっている事例も出てきています。
Copyright © ITmedia, Inc. All Rights Reserved.