ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

Kinect for Windows SDK の C# 向け入門書籍を書きました

Kinect for Windows SDKC# 向け入門を書きました。3月末発売予定です。
SDKの機能はほぼ網羅しているので、ぜひ一度ご覧ください。
ちなみに「C#編」とある通り言語はC#です。C++編」鋭意執筆中でありますので、お楽しみに(要望などいただけるとうれしいです)。

KINECT for Windows SDKプログラミングC#編

KINECT for Windows SDKプログラミングC#編


C++編もできました!!

謝辞

まえがきにも書いていますが、大切なことなので。
執筆開始から助言やレビューをしていただいた、 @ さん、@ さん。
急なお願いにも関わらず、レビューをしていただいた @ さん。
みなさんのおかげで、より自信をもってこの本を送り出すことができます。

また共著者でゲッシュの @ さん、@ さん。お二人のおかげで、より深みのある本になりました。@ さんの部分(タッチスクリーン、マウス)は、僕が特にオススメしたいところで、彼のおかげで満足するでき上がりになりました。

今回のレビュアーは、前著「KINECTセンサープログラミング」をきっかけにつながった人たちです。この縁のきっかけになった秀和システムのKさんには感謝してもしつくせません。


@ さんのレビュー記事です。

内容

この本の特長をまとめました


紹介スライドを作ってみたので、こちらをご覧ください:-)
出版社のサイトで目次が公開されています。

KINECTセンサープログラミング」のKPTから考えた、今回のコンセプト

Amazonの書評や、いろんな感想blogから「KINECTセンサープログラミング」のKPTをしてみました。
書評は結構刺さりますが、フィードバックとしては非常にありがたいので、今回の糧になっています。

  • K
    • リファレンスっぽい
  • P
    • 水増し感がある
  • T
    • 解説を手厚くする
基本編のコンセプト:Step by step で学ぶことができる

ことを一つのコンセプトにしています。
KINECTセンサープログラミング」の出版をきっかけに日経BP社などでセミナーをすることができたのですが、セミナーにはテキストが必要でした。書いた本でもいいのですが、せっかくなので最新情報も入れた新しい資料にしようと、一からおこしなおしました。


今回の本は、この資料をベースにしていますので、流れや解説の点において前回よりも改善されていると自負しています。というか、今回はセミナーテキストとして使用する目的も合わせています。
ですので、ぜひ読んでみた(書いてみた)感想をフィードバックしていただけるとありがたいです(フィードバックは、○○は××なので、△△したほうがもっとよくなるよ。という感じだと、あまり傷心せずにすみますw)。もちろん、良かった点のフィードバックも歓迎してます!

応用編のコンセプト:いろいろな使い方を載せる

この一年でさまざまな人と会うことができ、様々なKinectアプリケーションと出会うことができました。
応用編ではその中で得たさまざまなアプリケーションを紹介しています。使ってる機能も、Depth、プレイヤー、スケルトン、音声、音声方向と、網羅した形にしています。

中でも一番のオススメは「タッチスクリーン」です。
これはMicrosoft Researchのアウトプットに感銘を受け、実装したアプリケーションです。

僕の中でKinectのカメラを使ったアプリケーションは大きく2種類に分かれています。

  • 1つは、KInectで入力したデータをコンピューターの中で表現する方法
  • もう一つは、KInectで入力したデータをコンピューターで処理し、プロジェクターなどで、現実世界にアウトプットする方法

技術者であれば、コンピューターの中で表現するのはすぐに思いつくのですが、現実世界に戻して表現する方法はなかなか思いつきません。
しかもタッチスクリーンのすごいところは、アウトプットされたものがインプットデバイスとして機能するため、そこからインプット、処理、アウトプットというフィードバックサイクルが生まれることです。
先日のデベロッパーズ・サミットでもこのデモを行っていたのですが、多くの方が興味を持ってくれたので、このアプリケーションはぜひ載せたいと思っていました。

「コンピューターの中で表現する方法」についても、Kinectで得られる入力は3次元(X,Y,Z)であるので、出力も3次元(3D液晶など)だと、よりKInectの性能を引き出せると思っています。最近になって3D出力装置も裸眼で見られる物が数多く登場しています。3Dの出力装置とKinectが有機的に組み合わせられたときに、新たな世界が生まれるのではないでしょうか。

リファレンス

巻末にリファレンスとして、SDKの全クラス、メソッド、プロパティ、構造体、列挙体の概要を日本語で載せてあります。
今回載らなかったAPIでも面白い物がいくつかあるので、ぜひ試してみてください。

C#版とC++版について

これが今回一番悩みました。
最初は、前回と同じようにC#/C++両方載せようと思ったのですが、そうすると量が半分になってしまいます。
逆に分けると両方必要な人は倍のコストがかかります。
いろいろ考えたのですが、両方の言語で実装する人より、片方を選択する人の方が多いと思うので量を優先し、分けることにしました。
これについても、改善点をフィードバックいただけるとうれしいです。

最後に

今回は、印税が入らないので、いろいろぽちってもらえると嬉しいです:p

KINECT for Windows SDKプログラミングC#編

KINECT for Windows SDKプログラミングC#編

Xbox 360 Kinect センサー

Xbox 360 Kinect センサー

マイクロソフト 【商業用】Kinect for Windows センサー L6M-00005

マイクロソフト 【商業用】Kinect for Windows センサー L6M-00005