KINECT for Windows SDKプログラミング Kinect for Windows v2センサー対応版

概 要

本書は、カラー画像やDepthデータ、Bodyデータの使い方、音声データ・方向の取得方法、顔の位置・表情の検出、詳細な顔モデルの解析、3DスキャンのKinectFusion、ジェスチャーの認識方法や音声認識等について解説します。また、センサーの性能を分析し、独自処理を実装することで、Kinectを高性能化します。v2に搭載されるとアナウンスされつつ、最終的にサポート外となった心拍の取得を独自アルゴリズムで実装します。

著者 中村薫、杉浦司、高田智広、上田智章
価格 本体3400円(税別)
ISBN 978-4-7980-4395-1
発売日 2015/5/21
判型 B5変
ページ数 480
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter1 Kinect for Windows v2の概要

1.1 Kinect for Windows v2の基礎知識

1.2 Kinect for Windows v2のハードウェア仕様

1.2.1 要求事項

1.2.2 動作仕様(Kinect for Windows v1との比較)

1.3 Kinect for Windows v2の構成

1.3.1 Kinect for Xbox v2センサーとの違い

1.4 Kinect for Windows SDK v2の基礎知識

1.4.1 SDK v2で提供される機能の一覧

1.4.2 カラー画像の取得

1.4.3 Depthデータの取得

1.4.4 IR(赤外線)画像の取得

1.4.5 BodyIndexの取得(人の検出)

1.4.6 Body(人の関節)の取得

1.4.7 音声入力の取得/音声方向の取得

1.4.8 NUI(非接触UI)

1.4.9 3Dスキャン

1.4.10 音声認識

1.4.11 顔の位置や表情の取得

1.4.12 Visual Gesture Builder

1.4.13 Kinect Studio

1.4.14 Kinect v2 Configuration Verifier

1.5 事例

1.5.1 仮想試着

1.5.2 プロジェクションマッピング

1.5.3 ロボットを操作する

Chapter2 インストールと環境構築

2.1 Kinect for Windows SDK v2のインストール

2.1.1 Kinect for Windows SDK v2をダウンロードする

2.1.2 Kinect for Windows SDK v2をインストールする

2.1.3 サンプルプログラムを動作させる

2.2 C++の開発環境を構築する

2.2.1 Visual Studioのプロジェクトを作成する

2.2.2 最初のコード

2.2.3 OpenCVの設定を行う

2.2.4 C++コードテンプレート

2.3 C#(WPF)の開発環境を構築する

2.3.1 Visual Studioのプロジェクトを作成する

2.3.2 最初のコード

2.4 C#(Windowsストアアプリ)の開発環境を構築する

2.4.1 Visual Studioのプロジェクトを作成する

2.4.2 最初のコード

Chapter3 基本ストリーム

3.1 カラー画像を使う

3.1.1 実行結果

3.1.2 [解説]カラー画像の取得

3.1.3 [解説]変数宣言と画面の作成

3.1.4 [解説]初期化

3.1.5 [解説]データの取得と表示

3.1.6 [解説]終了処理

3.2 Depthデータを使う

3.2.1 実行結果

3.2.2 [解説]Depthデータの取得

3.2.3 [解説]変数宣言と画面の作成

3.2.4 [解説]初期化

3.2.5 [解説]データの取得と表示

3.2.6 [解説]終了処理

3.3 赤外線画像を使う

3.3.1 実行結果

3.3.2 [解説]赤外線画像の取得

3.3.3 [解説]変数宣言と画面の作成

3.3.4 [解説]初期化

3.3.5 [解説]データの取得と表示

3.3.6 [解説]終了処理

3.4 人の検出を行う

3.4.1 実行結果

3.4.2 [解説]人の検出の流れ

3.4.3 [解説]変数宣言と画面の作成

3.4.4 [解説]初期化

3.4.5 [解説]データの取得と表示

3.4.6 [解説]終了処理

3.5 体(骨格)の検出を行う

3.5.1 実行結果

3.5.2 [解説]Bodyデータ取得の流れ

3.5.3 [解説]変数宣言と画面の作成

3.5.4 [解説]初期化

3.5.5 [解説]データの取得

3.5.6 [解説]Bodyフレーム、データを取得する

3.5.7 [解説]Bodyデータを表示する

3.5.8 [解説]関節の位置を描画する

3.5.9 [解説]終了処理

3.6 手の状態の検出を行う

3.6.1 実行結果

3.6.2 解説

3.7 座標の変換を行う

3.7.1 実行結果

3.7.2 [解説]座標変換の動機

3.7.3 [解説]変数宣言

3.7.4 [解説]初期化

3.7.5 [解説]データの取得

3.7.6 [解説]カラー解像度で表示する

3.7.7 [解説]Depth解像度で表示する

3.8 音声データを使う

3.8.1 実行結果

3.8.2 [解説]音声データ取得の流れ

3.8.3 [解説]変数宣言

3.8.4 [解説]初期化

3.8.5 [解説]データの取得

3.8.6 [解説]終了処理

3.9 音声方向を使う

3.9.1 実行結果

3.9.2 [解説]変数宣言

3.9.3 [解説]初期化処理

3.9.4 [解説]音声方向の取得

3.9.5 [解説]表示処理

3.9.6 [解説]終了処理

3.10 音声方向と体の関連付けを使う

3.10.1 実行結果

3.10.2 [解説]ビーム方向のTrackingIdをBodyIndexにマップする

3.10.3 [解説]変数宣言

3.10.4 [解説]初期化処理

3.10.5 [解説]ビーム方向のTrackingIdを取得する

3.10.6 [解説]ビーム方向のTrackingIdからBodyIndexを取得する

3.10.7 [解説]BodyIndexのプレイヤーに色着けする

3.10.8 [解説]終了処理

Chapter4 応用機能

4.1 顔情報(Face Tracking)を使う

4.1.1 実行結果

4.1.2 プロジェクトの追加設定

4.1.3 解説

4.2 詳細な顔情報(HDFace)を使う

4.2.1 実行結果

4.2.2 プロジェクトの設定

4.2.3 解説

4.3 Kinect WPF Controlsを使う

4.3.1 ハンドポインターとジェスチャー

4.3.2 実行結果

4.3.3 プロジェクトの設定

4.3.4 解説

4.4 ジェスチャー認識を使う

4.4.1 実行結果

4.4.2 プロジェクトの設定

4.4.3 解説

4.5 Kinect Fusionを使う

4.5.1 実行結果

4.5.2 プロジェクトの設定

4.5.3 解説

4.6 音声認識を使う

4.6.1 実行結果

4.6.2 プロジェクトの設定

4.6.3 解説

Chapter5 ツールの利用方法

5.1 Kinect Studio

5.1.1 記録

5.1.2 再生

5.1.3 付属ツール

5.2 Visual Gesture Builder

5.2.1 Visual Gesture Builderの流れ

5.2.2 訓練データの収集

5.2.3 機械学習による識別器の学習

5.2.4 生成された識別器の評価

5.2.5 Tips

5.3 Kinect Configuration Verifier

5.3.1 入手方法

5.3.2 利用方法

Chapter6 Kinect for Windows SDK v2をUnityで使う

6.1 Unityの基礎知識

6.1.1 Unity 5のインストール

6.1.2 Unityのプロジェクトを作成する

6.2 Visual Studio Tools for Unity

6.3 UnityでKinectを使う

6.3.1 カラー画像を表示する

6.3.2 赤外線画像を表示する

6.3.3 Depthデータを表示する

6.3.4 Bodyを表示する

6.3.5 Kinectの座標とUnityの座標を合わせる

Chapter7 SDK v2を使ったアプリケーション例

7.1 PCL(Point Cloud Library)

7.1.1 PCLのインストール

7.1.2 PCLのプロジェクト設定を行う

7.1.3 モデルデータを扱う

7.1.4 フィルターを使う

7.1.5 位置合わせを行う

7.1.6 メッシュ化する

7.1.7 Kinectからのデータを直接扱う

7.2 落ちモノアプリケーションとプレイヤーの選択

7.2.1 Rxライブラリを追加する

7.2.2 XAMLで画面を設計する

7.2.3 初期化処理

7.2.4 アイテムの落下を定義する

7.2.5 あたり判定を組み込む

7.2.6 プレイヤーの選択

7.3 ユニティちゃんを動かす

7.3.1 ユニティちゃんアセットについて

7.3.2 アセットをインポートする

7.3.3 プロジェクトを設定する

7.3.4 ユニティちゃんを動かす

Chapter8 Kinectで学ぶ数学

8.1 平面上のベクトル

8.1.1 2次元ベクトル

8.1.2 2次元ベクトルの幾何学的意味

8.1.3 平面上の線型写像

8.2 空間内のベクトル

8.2.1 3次元ベクトル

8.2.2 3次元ベクトルの幾何的意味

8.2.3 空間内の線型写像

8.3 ベクトルの回転

8.3.1 2次元ベクトルの回転

8.3.2 3次元ベクトルの回転

8.3.3 線型写像による座標変換

8.4 ロール・ピッチ・ヨー

8.5 クォータニオン

8.5.1 複素数と複素平面

8.5.2 クォータニオンの定義

8.5.3 クォータニオンと3次元空間

8.5.4 クォータニオンによる回転

8.5.5 座標変換とクォータニオン

8.5.6 Kinect v2のクォータニオン

Chapter9 Kinect for Windows v2の限界を突破する

9.1 Kinectの基本性能を超える工夫

9.1.1 デプス画像の距離測定分解能について

9.1.2 Kinect v2のToF方式デプスカメラの動作原理

9.1.3 なぜ値がばらつくのか?

9.1.4 赤外線画像やデプス画像を鮮明にする長時間露光

9.1.5 実際のコードの要点

9.1.6 FIFOを用いた移動平均法

9.1.7 見やすくするためのカラーマップ

9.1.8 処理結果

9.1.9 注意しなければならないマルチパスノイズ

9.2 デプス・フュージョン

9.2.1 Kinect Fusion

9.2.2 デプス画像をこんな風な表示に変換できないか?

9.2.3 鍵になるのは3Dグラフィックスの光源計算

9.2.4 光源計算に必須の情報は?

9.2.5 ソースコード

9.2.6 3Dレリーフ表示はまだまだ改善できる余地が残されています

9.2.7 3Dスキャンで使われるSTLフォーマットについて

9.3 非接触バイタルセンシング(加速度、呼吸、心拍)

9.3.1 骨格トラッキングで取得できる関節の3次元座標を利用する

9.3.2 2次関数近似の恩恵

9.3.3 ソースコード

9.3.4 非接触バイタルセンシング

PR

秀和システム