Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
書籍転載:Intel RealSense SDKセンサープログラミング

書籍転載: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-5 対応アプリケーション

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など安価に入手可能なセンサー&デバイスに関するオープンなエンジニアリングコミュニティ。デジタルなものづくり・ことづくりに関心のある開発者やデザイナーをネットワークして、共に創る、共創の場を生み出す。

中村 薫(なかむら かおる)

―― Microsoft MVP for Kinect for Windows / TMCNテクニカルエバンジェリスト

フリーランスでKinectやRealSenseなどを使ったアプリケーションの開発、講演、執筆などを中心に活動している。センサー大好きで自宅にセンサーが山のように……。

著書に『KINECT for Windows SDKプログラミングC#編』『KINECT for Windows SDKプログラミング C++編』(秀和システム)、『LeapMotionプログラミングガイド[改訂版] (I・O BOOKS)』(工学社)など。

前本 知志(まえもと さとし)

―― Tokyo MotionControl Network Co-founder. / 株式会社システムフレンド センサー&デバイス部長

KINECTなどのセンサーを使ったアプリ(イベント用コンテンツ、医療ヘルスケア系)やスマホARアプリの開発をなりわいとする。初期のキネクト作品「エアー書道」では何度かTV出演も

斎藤 裕佑(さいとう ゆうすけ)

―― 東京理科大学理工学研究科経営工学専攻、博士課程在籍。西山研究室所属

研究分野は機械学習、ヒューマンインターフェース、人工知能。現在は行動認識を主なテーマとしており、研究過程にてさまざまなデバイスに興味を持つ。

アプリ作成もしており、RealSenseの前身であるPerceptual Computingデバイスではジェンガアプリなどの作成も行った。

谷口 直嗣(たにぐち なおじ)

―― フリーランス

CGスタジオのR&D部門を経てフリーランスに。コンシューマーゲーム、Webアプリ、スマホアプリ、インタラクティブ展示の企画、開発を手掛ける。最近の趣味はVRとロボット。

初音 玲(はつね あきら)

―― 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オープンデータプラットフォームの開発および運用を行っている。

サイトからのお知らせ

Twitterでつぶやこう!