組込み系ソフトウェアで活用する KINECT センサー 日本マイクロソフト株式会社デベロッパー & プラットフォーム統括本部テクニカルエバンジェリスト太田寛 Twitter: Blog: @embedded_george http://blogs.msdn.com/hirosho 内容 KINECT for Windows 事例 KINECT for Windows SDK 組込み制御での Kinect センサー利用 参考情報 1
Kinect for Windows センサー 2012 年 2 月 2 日 ( 木 ) 出荷開始 KINECT for Windows Sensor 概要 ロイヤリティ SDK の入手 ランタイムは無償で提供 動作環境 Microsoft Windows の動作環境を満たす機器のみ 入手先 MS ストア 販売代理店等 2
KINECT ハードウェア Windows 専用 SKU ロゴ 接続ケーブル 接続方法 ファームウェア 機能 KINECT 1.5m USB 2.0 KINECT for Windows 専用 Xbox 360 向け とは異なる 利用にあたっての注意 KINECT センサーが使えるのは以下の組合せだけです!! Windows 7/8 または それをベースとする Windows Embedded Standard OS KINECT for Windows SDK Linux や Mac OS Open NUI 等での利用は不可 3
KINECT for Windows で出来ること 画像データ カラー画像ストリーム 赤外線画像ストリーム 人体の部位の三次元位置情報 センサーからの物体距離 ( 深度 ) 測定 Kinect Fusion モノの三次元サーフェスモデル作成 Face SDK 顔の切り出し 顔の部位情報取得 KINECT for Windows で出来ること 音 音の取得 音の発生源位置特定 音声認識 ハードウェア センサー角度指定 センサーの加速度測定 4
垂直視野角 水平視野角 距離 Near モード 40cm~ 80cm Far モード 80cm~ 4m 5
推奨ハードウェア Windows 7/8, Windows Embedded Standard 7/8, Windows Embedded POSReady 7, Windows Embedded Industory 32bit(x86) または 64bit(x64) プロセッサー デュアルコア 2.66 GHz 以上 USB 2.0 以上対応 2GB RAM 以上 KINECT の応用範囲は無限 エンターテイメント 医療現場 リハビリテーション 向上 デジタルサイネージ 教育現場 メカトロニクス 6
事例 Smart Mobility Life~KINECT (TOYOTA) Wingletと言うトヨタが開発した次世代二輪車のシミュレーション試乗 http://www.microsoft.com/japan/presspass/detail.aspx?newsid=4086 Dance Evolution Arcade (konami) http://p.eagate.573.jp/game/danceevolution/ac/p/index.html? REDIRECT=1 MIRAI SENSHI http://www.takarush.jp/mirai/ AR Fitting by A-net http://chibahidetoshi.blogspot.com/2012/04/blog-post_20.html 人流管理システム ( リゾーム ) http://www.rhizome-e.com/products/others/kinect.pdf MATLAB Simulink KINECT 向けライブラリー http://www.mathworks.co.jp/academia/kinect/simulink-kinect.html Lego Mindstorms NXT + KINECT 教育コース ( アフレル ) http://www.afrel.co.jp/press/20121011/afrel_news121015-kinect.pdf.pdf その他 多数 KINECT for Windows SDK KINECT for Windows Sensor アプリ開発向けミドルウェア ドライバー ランタイム ライブラリ WPF 向け UI 部品 豊富なサンプルとドキュメント 開発支援ツール 最新バージョン 1.7 http://kinectforwindows.org から公開 7
プログラミング 開発言語 C# Visual Basic Visual C++ (Managed) (Native) Managed 向け Native 向け それぞれにライブラリを提供 開発環境 Visual Studio 2010 以上 無償版の Express Edition でも使用可能 特に Native 系のコード解析機能が強化された VS2012 がお勧め!! アプリの開発にあたり Developer Toolkit Browser リリースノート 技術ドキュメント Human Interface ガイドライン 各種サンプル 取っ掛りはここ!! 8
C#, Visual Basic で開発 参照追加 Microsoft.Kinect Visual C++ (Native) で開発 プロジェクトプロパティで参照を追加 構成プロパティ /VC++ ディレクトリの各項目に設定 9
Visual C++ (Native) で開発 ~ 前頁からの続き 構成プロパティ / リンカー / 入力の 追加の依存ファイルに設定 組込み制御での KINECT センサー利用 組込み制御 専用機器 HUI としての活用 ジェスチャー 音声 物体認識 深度 モデル作成 物理世界のデータ取込み 10
組込み制御 専用機器 専用用途目的の場合 以下の Windows をご利用ください Windows Embedded 8 Standard Windows Embedded 8 Industry Windows Embedded 8 Pro 一般の PC で開発 専用機器で稼働 HUI として活用 ジェスチャー 手が汚れている 近づけない 対象が汚い 危険で触れない 留意点 操作性 測定誤差 揺らぎ 顔認識や音声指示等との組合せ 一定の広さが必要 センサー視野角の制限 11
HUI として活用 音声 何らかの理由で手を触れられない 危険等の理由で近づけない 留意点 Speech Technology による音声認識の活用 命令はシンプルであること 騒々しい場所では無理 物体認識 ~ 深度 観測対象物の位置移動計測 定位置からの物体位置観測 レーダー モノの流れ 移動特性 障害物などの検知 移動体の目として 物理障害物までの距離を 3 次元で認識 12
物体認識 ~ モデル作成 KINECT Fusion センサーで認識した物体を 3D モデル化 3D プリンター入力向け物体モデル作成 機器周辺の物理障壁検知 3 rd Party Middleware との連携 OpenCV との連携 OpenCV を使う準備 http://msdn.microsoft.com/en-us/library/dn188695.aspx サンプル http://msdn.microsoft.com/en-us/library/dn188694.aspx MATLAB との連携 MATLAB を使う準備 http://msdn.microsoft.com/en-us/library/dn188698.aspx サンプル http://msdn.microsoft.com/en-us/library/dn188693.aspx 13
テストやデバッグで役立つツール KINECT Studio 計測データの記録 再生 Viewer 開発時に念頭におくこと 何に使用するのか? 目的とシチュエーションを明確に 誰が使用するのか? 男 / 女 / 大人 / 子供 / 服 / 職種 / 業種 / 場所 何を認識させるのか? 人 / モノ / 外壁 どこに設置するのか? 屋内 / 屋外 / 専用スペース KINECT を使うことで価値が付与されるか? アミューズメント系専用機器以外では これが重要 14
参考 URL KINECT SDK サイト http://kinectforwindows.org KINECT for Windows SDK 技術情報 http://msdn.microsoft.com/en-us/library/hh855347.aspx 筆者のブログ http://blogs.msdn.com/hirosho 15