書籍転載:Intel RealSense SDKセンサープログラミング
書籍『Intel RealSense SDKセンサープログラミング』から全8本の記事を転載。【完結】
書籍転載について
本コーナーは、翔泳社発行の書籍『Intel RealSense SDKセンサープログラミング』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。
『Intel RealSense SDKセンサープログラミング』の詳細や購入は翔泳社のサイトをご覧ください。プログラムのダウンロードも、翔泳社のサイトから行えます。
声やジェスチャーでPCを制御するセンサーデバイスの大本命! Microsoft Kinectの登場以来、マウスやキーボードに代わる新しいPCの操作方法として、センサーデバイスによる「NUI(ナチュラル・ユーザー・インタフェース)」が注目されています。ジェスチャーや音声コマンドなど、人間の五感や自然な行動による直感的な操作を可能とするため、PCを使い慣れていない若年層や高齢者にも好評です。本書がテーマとしている「Intel RealSense(リアルセンス)テクノロジー」は、CPUのトップメーカーIntelが開発したセンサー入力技術です。専用の3Dカメラでユーザーを捉えることで、NUIを実現します。この3Dカメラは、今後発売されるPCに順次搭載されることが予定されており、世界各国の主要なPCメーカーが賛同しています。これらの対応PCを購入すれば、追加購入することなく3Dカメラを利用できるため、最も普及するセンサーデバイスとしてアプリ開発者たちの注目を集めています(既存の未対応PCでも開発者用カメラを追加することで利用できるようになります)。対応アプリの開発は、無償公開されている「Intel RealSense SDK」を用いてC#やC++などで行います。昨今、ユーザーが爆発的に増えている「Unity」にも対応しており、ゲーム開発者からも注目されています。本書では、「Intel RealSense SDK」の基本APIはもとより、応用としてのアプリ開発例やTipsを紹介します。Visual Studio、Unity 5、openFrameworksなど人気の開発環境を使った手順も解説しています。
はじめに
本書について
Part 1 開発の準備
Chapter 1 インテル RealSenseテクノロジーの概要 (執筆: 中村 薫)
1-1 インテル RealSenseテクノロジーの変遷【2015年7月29日公開】
1-1-1 これまでの経緯
1-1-2 Windows 10ではOSレベルでサポート
1-2 RealSenseの構成要素
1-2-1 構成要素
1-2-2 インテル RealSense SDK
1-2-3 インテル RealSense 3D カメラ
1-3 RealSenseの動作環境
1-3-1 ハードウェア要求
1-3-2 インテル RealSense 3Dカメラの仕様
1-3-3 ソフトウェア開発環境
1-4 インテル RealSense SDKの機能概要【2015年8月4日公開】
1-4-1 基本ストリーム
1-4-2 手の検出
1-4-3 顔の検出
1-4-4 音声
1-4-5 環境
1-4-6 ブラウザアプリケーション
1-6 インテル RealSense SDKのインストール
1-6-1 インストールの手順
1-6-2 インテル RealSense SDKをダウンロードする
1-6-3 インテル RealSense 3Dカメラを接続する
1-6-4 インテル Depth Camera Managerをインストールする
1-6-5 インテル RealSense SDKをインストールする
1-7 インテル RealSense SDKの構成
1-7-1 フォルダ構成
1-7-2 各リソースへのアクセス
1-7-2 サンプル紹介
Chapter 2 Visual Studioによる開発の準備 (執筆: 中村 薫)
2-1 Visual Studioのインストール
2-1-1 Visual Studioのエディション
2-1-2 Visual Studio Community 2013のインストール手順
2-2 C++での開発環境の構築
2-2-1 プロジェクトの作成
2-2-2 インテル RealSense SDKの設定
2-2-3 OpenCVの設定
2-2-4 詳細なプロジェクト設定
2-2-5 C++のコードテンプレート
2-3 C#での開発環境の構築
2-3-1 プロジェクトの作成
2-3-2 インテル RealSense SDKの設定
2-3-3 C#のコードテンプレート
Chapter 3 Unityによる開発の準備 (執筆: 前本 知志)
3-1 Unityのインストール
3-1-1 Unityをダウンロードする
3-1-2 Unityのセットアップ
3-2 Visual Studio 2013 Tools for Unityのインストール
3-2-1 Visual Studio 2013 Tools for Unityをダウンロードする
3-3 Unityの初期設定
3-3-1 Unityのライセンス登録
3-4 Unityでの開発環境の構築
3-4-1 プロジェクトの作成
3-4-2 インテル RealSense SDKの設定
Part 2 インテル RealSense SDKの利用
Chapter 4 画像の表示 (執筆: 中村 薫)
4-1 カラー画像
4-1-1 取得されるカラー画像
4-1-2 カラー画像を表示する
4-2 Depth画像
4-2-1 取得されるDepth画像
4-2-2 Depth画像を表示する
4-2-3 Depthの距離データを使う
4-3 IR画像
4-3-1 取得されるIR画像
4-3-2 IR画像を表示する
4-4 デバイスがサポートするフォーマット
4-4-1 デバイスがサポートするフォーマットを取得する
4-4-2 複数の機能を同時に利用する場合の注意点
Chapter 5 手指の検出 (執筆: 中村 薫)
5-1 手指の検出機能
5-1-1 インテル RealSense SDKが備える手指の検出機能
5-1-2 手を検出する
5-1-3 手の画像を1つにまとめる
5-1-4 手の検出データを表示する
5-1-5 指のデータを表示する
5-1-6 手指の位置をDepth画像に合わせる
5-1-7 手指の位置をカラー画像に合わせる
5-2 ジェスチャー認識と検出モードの変更
5-2-1 ジェスチャーを認識する
5-2-2 マスクモードを動作させる
5-2-3 輪郭モードを動作させる
Chapter 6 顔と表情の検出 (執筆: 斎藤 裕佑)
6-1 顔の検出機能
6-1-1 インテル RealSense SDKが備える顔の検出機能
6-1-2 顔を検出する
6-1-3 顔の姿勢を取得する
6-1-4 顔の78点の部位の位置を取得する
6-1-5 顔の表出情報を取得する
6-1-6 顔を識別する
6-1-7 心拍数を計測する
6-2 表情の検出機能
6-2-1 インテル RealSense SDKが備える表情の検出機能
Chapter 7 表示と検出の応用例 (執筆: 中村 薫)
7-1 セグメンテーション(背景除去)
7-1-1 セグメンテーションを使って背景を除去する
7-2 オブジェクト・トラッキング(物体追跡)
7-2-1 インテル RealSense SDKのオブジェクト・トラッキング
7-2-2 2Dオブジェクト・トラッキング
7-2-3 3Dオブジェクト・トラッキング
7-2-4 3Dインスタント・オブジェクト・トラッキング
7-3 音声認識(音声のテキスト化)
7-3-1 インテル RealSense SDKの音声機能
7-3-2 ディクテーションモードで音声認識する
7-3-3 コマンドモードで音声認識する
7-4 音声合成(テキストの音声化)
7-4-1 音声合成する
7-5 3Dスキャン
7-5-1 3Dスキャンする
Part 3 アプリケーション開発実践
Chapter 8 Unityで作る「ゲーム/ノンゲーム」アプリケーション(執筆: 前本 知志、谷口 直嗣)
8-1 SDK Unity Toolkit (執筆: 前本 知志)【2015年8月11日公開】
8-1-1 SDK Unity Toolkitについて
8-1-2 SDK Unity Toolkitのプレファブ
8-1-3 SDK Unity ToolkitのAction
8-1-4 SDK Unity ToolkitのTrigerとRule
8-2 ゲームアプリ「Smile Shooter」 (執筆: 谷口 直嗣)
8-2-1 サンプルプロジェクトをインポートする
8-2-2 インテル RealSense 3Dカメラの映像を画面に表示する
8-2-3 顔で自機を動かす
8-2-4 笑顔で弾を発射する
8-2-5 難易度を調整する
8-3 ノンゲームアプリ「スマイルトレーニング」 (執筆: 前本 知志)【2015年8月18日公開】
8-3-1 センサーアプリケーションとヘルスケア
8-3-2 アプリケーションの概要
8-3-3 アプリケーションの構築
Chapter 9 Visual Studioで作る「WPFデスクトップ」アプリケーション (執筆: 初音 玲)
9-1 表情と気分とコーヒーと【2015年8月25日公開】
9-1-1 Sensor & Coffee
9-2 画面デザイン
9-2-1 全体の動き
9-2-2 画面デザイン
9-3 開発プロジェクトの用意
9-3-1 新規プロジェクトの作成
9-3-2 インテル RealSense SDKの設定
9-3-3 プロジェクト構造の作成
9-3-4 データバインディングとM-V-VM
9-4 画面の作成
9-4-1 画面全体構成の作成
9-4-2 CameraPageの作成
9-4-3 App.xaml.csの更新
9-4-4 MainViewModelクラスの追加
9-5 センシングロジック【2015年9月1日公開】
9-5-1 センシングロジック用クラスの作成
9-5-2 RSModelの外部仕様
9-5-3 センシング機能を有効にする
9-5-4 センシングデータ取得処理
9-5-5 画像データの保存
9-5-6 表情データの保存
9-5-7 まとめ
Chapter 10 openFrameworksで作る「メディアアート」アプリケーション (執筆: 谷口 直嗣)
10-1 本章で作成するデモについて【2015年9月8日公開】
10-2 openFrameworksの環境設定
10-2-1 openFrameworksのダウンロード
10-2-2 ライブラリのダウンロード
10-2-3 openFrameworksのプロジェクトを作ってみる
10-2-4 ofGPUParticlesのダウンロード
10-3 大量のパーティクルを操るアプリを作る
10-3-1 ofGPUParticlesを使ったopenFrameworksアプリのプロジェクトの作成
10-3-2 ofGPUParticlesのサンプルを実行してみる
10-3-3 ofGPUParticlesのサンプルアプリからのコード移植の設定
10-3-4 インテル RealSense SDKを使うための設定【2015年9月15日公開】
10-3-5 インテル RealSense SDKのコードを追加する
10-3-6 トラッキングしている手の情報の表示
10-3-7 手でパーティクルを動かそう!
付録 PXC(M)FaceData.LandmarkType構造体
索引
【執筆者紹介】Tokyo MotionControl Network
KinectやOculus Riftなど安価に入手可能なセンサー&デバイスに関するオープンなエンジニアリングコミュニティ。デジタルなものづくり・ことづくりに関心のある開発者やデザイナーをネットワークして、共に創る、共創の場を生み出す。
- [Facebook]Tokyo MotionControl Network
中村 薫(なかむら かおる)
―― Microsoft MVP for Kinect for Windows / TMCNテクニカルエバンジェリスト
フリーランスでKinectやRealSenseなどを使ったアプリケーションの開発、講演、執筆などを中心に活動している。センサー大好きで自宅にセンサーが山のように……。
著書に『KINECT for Windows SDKプログラミングC#編』『KINECT for Windows SDKプログラミング C++編』(秀和システム)、『LeapMotionプログラミングガイド[改訂版] (I・O BOOKS)』(工学社)など。
- [blog]Natural Software
- [Twitter]@kaorun55
- [Facebook]中村 薫
前本 知志(まえもと さとし)
―― Tokyo MotionControl Network Co-founder. / 株式会社システムフレンド センサー&デバイス部長
KINECTなどのセンサーを使ったアプリ(イベント用コンテンツ、医療ヘルスケア系)やスマホARアプリの開発をなりわいとする。初期のキネクト作品「エアー書道」では何度かTV出演も
- [Webサイト]KINECT Sensor & Device IoT | ソフトウェア開発の株式会社システムフレンド
- [Facebook]前本 知志
斎藤 裕佑(さいとう ゆうすけ)
―― 東京理科大学理工学研究科経営工学専攻、博士課程在籍。西山研究室所属
研究分野は機械学習、ヒューマンインターフェース、人工知能。現在は行動認識を主なテーマとしており、研究過程にてさまざまなデバイスに興味を持つ。
アプリ作成もしており、RealSenseの前身であるPerceptual Computingデバイスではジェンガアプリなどの作成も行った。
- [Twitter]@Sai10kundayooo
- [Facebook]斎藤 裕佑
谷口 直嗣(たにぐち なおじ)
―― フリーランス
CGスタジオのR&D部門を経てフリーランスに。コンシューマーゲーム、Webアプリ、スマホアプリ、インタラクティブ展示の企画、開発を手掛ける。最近の趣味はVRとロボット。
- [LinkedIn]Naoji Taniguchi
初音 玲(はつね あきら)
―― Microsoft MVP for Windows Platform Development / TMCNテクニカルエバンジェリスト / 国内大手システム開発会社勤務
技術系WebサイトにてWindows系システム開発の技術情報を執筆。主な著作として『はじめてのVisual Basic 2012―デスクトップ/Windowsストアアプリ対応版 (TECHNICAL MASTER)』『はじめてのVisual C# 2012―デスクトップ/Windowsストアアプリ対応版 (TECHNICAL MASTER)』(秀和システム)、Kinectに関する洋書の翻訳監修がある。
最近の取り組みとしては、全国のAED位置を同一APIで取得できるAEDオープンデータプラットフォームの開発および運用を行っている。
- [blog]はつねの日記