連載
» 2014年02月24日 15時00分 公開

モーションセンサーで組み込み機器はどう変わる?(4):「どのデバイスが最適か?」――モーションセンサー3機種を徹底比較!! (2/4)

[茂出木裕也(東京エレクトロン デバイス),MONOist]

ソフトウェア開発環境面での比較

 さて、ここまではハードウェア面からモーションセンサーデバイスを比較してきました。距離センサー方式や認識精度の違いからも分かる通り、Kinectは全身の動きの認識は得意ですが、近距離での細かな動きの認識は苦手です。これに対して、Senz3DやLEAPは近距離での手指の動きの認識が得意だという特徴があります。

 ただし、ここまでのハードウェアの違いだけでは、まだデバイス選択の決め手にはなりません。デバイス選択時に最も重要なのは、これから説明するソフトウェア開発環境面の違いです。SDKでサポートされているAPIがどれだけ充実しているかは、目的のアプリケーション(ソフトウェア)を開発する際の工数にも大きく影響しますし、アイデアを具体的にどのように実現できるかが見えてきます。

 ここからは、各モーションセンサーを利用できるOSの種類や、アプリケーション開発環境、SDKがサポートする機能の違いに注目して説明します。

対応OSやソフトウェア開発環境の比較 表2 対応OSやソフトウェア開発環境の比較 ※画像クリックで拡大表示

 KinectとSenz3Dは、WindowsベースのOS向けにドライバが提供されています。これに対し、LEAPは、Windows OS以外のMac OSやLinux OSにも対応しています。開発言語に大きな違いはありませんが、C#やC++言語が共通してよく使われています。Senz3D/PerCやLEAPの公式サイトでは、その他の開発言語用のサンプルコードやライブラリも提供されていますので、得意な開発言語に合わせてアプリケーションを開発することができるでしょう。

SDKがサポートする機能の比較 表3 SDKがサポートする機能の比較 ※画像クリックで拡大表示
参考リンク:各SDKの開発者向け資料
MSDN Kinect for Windows SDK
Intel Perceptual Computing SDK Documentation
LEAP Motion Documentation

Kinect for Windows SDK

 「Kinect for Windows SDK(以下、Kinect SDK)」の最大の特徴は、人を認識し、全身20点の骨格位置を追跡できることです。骨格追跡(スケルトントラッキング)による、人の位置や動きのデータを使用したアプリケーションの開発に最適です。手指の細かな動きを認識することはできませんが、最新バージョンのSDKでは手の開閉程度であれば認識できるようになり、画面内のコンテンツをジェスチャーで操作するような機能を簡単に実装できるようになっています。

 また、骨格追跡の他にも、顔の特徴点(100点)や、顔の向き、傾きを認識するフェイストラッキングの機能、音源方向を特定する機能なども用意されており、さまざまなアイデアの実現に役立てることができます。

Kinect for WindowsのスケルトントラッキングKinect for Windowsのフェイストラッキング 図7(左) Kinect for Windowsのスケルトントラッキング(出典:Kinect for Windows SDK開発者向け資料)/図8(右) Kinect for Windowsのフェイストラッキング ※画像クリックで拡大表示

 その他、距離センサーを活用した3Dスキャンの機能なども用意されています。例えば、物体を3Dスキャンして、生成した3Dモデルデータを3Dプリンタに入力するなど、既にKinectを3Dスキャナーとして活用した商用サービスが始まっている事例も出てきています。

Kinect for Windowsの3Dスキャン 図9 Kinect for Windowsの3Dスキャン、カラーカメラの映像から色情報を同時にキャプチャーすることも可能(右) ※画像クリックで拡大表示

Copyright © ITmedia, Inc. All Rights Reserved.