Loading…

スポンサーサイト

Posted by Tsukasa SUGIURA on --.-- スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2014/04/23以降のOpenNIのダウンロードについて

Posted by Tsukasa SUGIURA on 16.2014 Kinect   1 comments   0 trackback
2014/04/23にOpenNI.orgがClosedします。
それに伴い、OpenNIおよび関連ソフトウェアのダウンロードができなくなります。

私のブログにてOpenNIのインストーラーを再頒布します。
2014/04/23以降にOpenNIが必要な方はこちらよりダウンロードできます。


Summary?Blog - OpenNI Archive
http://unanancyowen.com/?p=542


スポンサーサイト

A New Generation Revealed

Posted by Tsukasa SUGIURA on 22.2013 Kinect   0 comments   0 trackback
 

Microsoftの次世代Xboxの発表会が5/22 AM2:00~(日本時間)にありました.
A New Generation Revealed
http://www.xbox.com/ja-JP/hub

次世代XboxことXbox One,次世代KinectことKinect 2.0(名称不明)が発表されました.
Kinect 2.0について情報をまとめてみたいと思います.

This Photo by @chipsandnews

Kinect 2.0
Colorカメラは解像度が1080P HD(30 FPS)になりました.
手首や肩の僅かな動きを検出することができます.
重心のある足を検出することができます.
視野角が60%広くなりました.
DepthセンサーはTime of Flight (TOF)方式になりました.


PrimeSense社のLight Codingでは赤外線プロジェクタから赤外光パターンを照射,映されたパターンを赤外線カメラで撮影,既知のパターンとの幾何学的な歪みからDepthを算出していました.
Time of Flight (TOF)では照射した赤外光が反射して再び赤外線カメラに返ってくるまでの時間からDepthを算出します.
おそらくTOF方式のDepthセンサーは2010年11月にMicrosoftが買収したCanesta社のものだと思われます.

Engadget : Hands-on with prototypes of the Xbox One and new Kinect sensor
この記事によれば
・Jointの回転
・顔の表情
・各個の指
・目の開閉

が認識できるようになったそうです.

Engadget : Microsoft's new Kinect is official: larger field of view, HD camera, wake with voice
この記事によれば
・Skeletonは6人まで検出
・心拍の動きの検出
ができるようになったそうです.

The Verge : Microsoft's new Kinect will be coming to Windows
この記事によれば
Kinect 2.0 for Windowsはfor Xbox One発売数カ月後に発売されるようです.

Kinect 2.0はXbox Oneに同梱されており,年内に世界中で発売開始するそうです.
詳しい情報はE3 2013などで順次発表されていくでしょう.



月刊I/O 2013年6月号 「Kinect for Windows SDK v1.7」

Posted by Tsukasa SUGIURA on 19.2013 Kinect   0 comments   0 trackback

月刊I/O 2013年6月号(2013年5月18日発売)に「Kinect for Windows SDK v1.7」の紹介記事を書かせて頂きました.
巻頭カラーで掲載して頂き大変恐縮です.


記事では主に2013年3月にリリースされた最新版であるSDK v1.7の中から「Kinect Fusion」「Kinect Interaction」を紹介しています.
是非サンプルプログラムを動かして新機能を試してみてください.

 
Kinect Fusion                            Kinect Interaction

月刊I/O 2013年6月号(2013年5月18日発売)は全国の書店やネットショップで購入できます.
是非お手に取って読んで頂ければ幸いです.
月刊I/O 2013年6月号
http://www.kohgakusha.co.jp/io/

Kinect 5 -OpenNI2導入-

Posted by Tsukasa SUGIURA on 30.2012 Kinect   3 comments   0 trackback
 
【OpenNI2/NITE2】
OpenNI/NITEの新しいバージョンOpenNI2/NITE2がリリースされました.(Beta版)
APIが一新されており,以前よりすっきりしたプログラムになると思います.
また,OpenNI2ではKinectの対応が公式のKinect for Windows SDKベースになっています.
これにより,導入が簡易化,ライセンスは正常化(Kinect for Windows SDKのライセンスにおいて商用可能(要調査)されています.
詳しくはOpenNI2のリリースノート(Change Log)を御覧ください.

OPENNI SDK RELEASE NOTES

http://www.openni.org/openni-sdk/openni-sdk-release-notes/

 


【動作確認環境】
OpenNI2/NITE2の開発環境(x64アプリケーション)を構築します.
テストした環境は以下のとおりです.
異なる環境の場合は適宜読み替えてください.
また、古いOpenNI/NITEやKinectのドライバがインストールされている場合はアンインストールしておいてください.

・Microsoft Windows 7 x64
・Microsoft Visual Studio 2010 (C++)
Microsoft Kinect for Windows
・Microsoft Kinect for Windows SDK v1.6.0
・OpenNI 2.0.0 Beta (Win64)
・NITE 2.0.0 (Win64)

・OpenCV 2.4.3




【導入方法】
①Kinect for Windows SDKのインストール
 以下のページからKinect for Windos SDKをダウンロードします.

 

 Kinect for Windows
 http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx

 ダウンロードした実行ファイル(KinectSDK-v1.6-Setup.exe)からインストールします.
 OpenNIには必要ありませんが,Kinect for Windows Developer Toolkitもインストールしておくと動作確認に役立ちます.

 Kinect SDKがインストールされたら、Kinect for WindowsをPCに接続します.
 ドライバのインストールが始まるので、すべてインストールされるまで待ちます.

 

 Developer Toolkitをインストールした場合は,ここで一旦動作確認をしておきましょう.
 スタートメニューからDeveloper Toolkit Browser v1.6.0を起動,ToolsにあるKinect Explorerを実行してKinectの映像が映ることを確認してください.

 

②OpenNI2/NITE2のインストール
 以下のページからOpenNI2をダウンロードします.

 

 OpenNI2
 http://www.openni.org/openni-sdk/

 ダウンロードした圧縮ファイルを解凍するとインストーラーファイルが得られるます.
 インストーラーファイル(OpenNI-Windows-x64-2.0.0.msi)からインストールします.

 

 

 

 

 同様にNITE2もダウンロードします.
 NITE2のダウンロードにはユーザー登録が必要になります.
 氏名やメールアドレスなどの必要事項だけ埋めてください.

 

 NITE2
 http://www.openni.org/files/nite/

 ダウンロードした圧縮ファイルを解凍するとインストーラーファイルが得られるます.
 インストーラーファイル(NiTE-Windows-x64-2.0.0.msi)からインストールします.

 

 

 

 

 ここで一旦動作確認をしておきましょう.
 スタートメニューからOpenNI2のNiViewerを実行してKinectの映像が映ることを確認してください.
 NiViewerの扱い方はこちらのページを参考にしてください.

 名古屋工業大学 福嶋慶繁先生のHP - OpenNI Tips
 http://nma.web.nitech.ac.jp/fukushima/openni/openni.html

 

③OpenCVのインストール
 以上でOpenNI2/NITE2のインストールは完了していますが,以降のサンプルプログラムで使うOpenCVの環境も作っておきます.(必要無い場合は飛ばしてください)

 以下のページからOpenCVをダウンロードします.

 

 OpenCV
 http://opencv.org/

 ダウンロードした自己解凍形式ファイル(OpenCV-2.4.3.exe)を実行,解凍したファイルをProgram Filesディレクトリに置きます.
 以下のようなディレクトリ構成になると思います.

 

④環境変数
 [コントロールパネル]>[システム]>[システムの詳細設定]から「システムのプロパティ」ウィンドウを開きます.
 「システムのプロパティ」ウィンドウの[詳細設定]タブにある[環境変数]ボタンを押し,「環境変数」ウィンドウを開きます.
 [システムの環境変数]から以下の変数を編集または新規作成してください.

 

 新規作成
   変数名 OPENCV_DIR
   変数値 C:\Program Files\opencv\build\

 編集(既存の値の最後尾に追加記述)
   変数名 Path
   変数値 ;%OPENNI2_REDIST64%;%NITE2_REDIST64%;%OPENCV_DIR%x64\vc10\bin


⑤プロジェクトの設定
 Visual Studioでプロジェクトを作成し,OpenNI2/NITE2のパスを通します.
 x64アプリケーションの場合の設定は以下のとおりです.(Kinect SDKのパスは通す必要はありません)

 追加のインクルードディレクトリ
   $(OPENNI2_INCLUDE64)
   $(NITE2_INCLUDE64)
   $(OPENCV_DIR)include

 追加のライブラリディレクトリ
   $(OPENNI2_LIB64)
   $(NITE2_LIB64)
   $(OPENCV_DIR)x64\vc10\lib

 追加の依存ファイル(Release)
   OpenNI2.lib
   NiTE2.lib
   opencv_core243.lib
   opencv_highgui243.lib
   opencv_imgproc243.lib

 追加の依存ファイル(Debug)
   OpenNI2.lib
   NiTE2.lib
   opencv_core243d.lib
   opencv_highgui243d.lib
   opencv_imgproc243d.lib


 これらの設定は面倒臭いのでサンプルプログラムにプロパティシート(OpenNI2.props)を同梱しました.
 プロパティシートから読み取ると簡単に設定できます.

 プロジェクトの作業ディレクトリに以下のフォルダをコピーしてください.
 プロジェクトの作業ディレクトリはVisual Studioの標準では$(ProjectDir)になっています.
 $(ProjectDir)はプロジェクトファイル(*.vcxproj)のあるディレクトリです.

 コピーするフォルダ
   C:\Program Files\OpenNI2\Redistにある「OpenNI2」フォルダ
    C:\Program Files\OpenNI2\Redistにある「NiTE2」フォルダ

 

 ※ この仕様では扱いにくいことがフィードバックされているため,正式版で修正されるかもしれません.

以上でOpenNI2/NITE2を使ってプログラミングする環境が整いました.


【サンプルプログラム】
OpenNI2/NITE2を使ってKinectのColor/DepthとUser/Skeletonを表示するサンプルプログラム(Sample.zip)を用意しました.
以下のページからダウンロードできます.

 サンプルプログラム
 

ここではソースコード中のコメント以上の解説はしないので,詳しくは以下のページを参照してください.

 Natural Software - OpenNI2入門
 http://www.naturalsoftware.jp/blog/category/introduction/openni2-introduction

実行するとこのようにKinectのColor/DepthとUserが検出された場合は別ウィンドウにUserとSkeletonが表示されます.



※ 現状のOpenNI2ではKinectのColor/Depthの位置合わせが実装されていません.
   そこで@tomoto335さんが位置合わせに対応したKinect.dllを作成してくれました.
     OpenNI2/Drivers/Kinect.dllを差し替えるとサンプルプログラムをKinectで使っても位置合わせされます.


     KinectMod32.dll / KinectMod64.dll
     
https://github.com/tomoto/OpenNI2/tree/develop-kinect-driver-image-registration-binary/Vault


【おわりに】
OpenNI2は以前より格段にプログラミングし易くなっています.
また,Kinect対応が公式Kinect SDKベースになったことで導入における不安定さがなくなりました.
NITE2によるジェスチャー認識の恩恵も受けられるので,Kinectプログラマーにとって魅力的な開発環境だと思います.

 


書籍「Kinect for Windows SDK プログラミングガイド」

Posted by Tsukasa SUGIURA on 13.2012 Kinect   2 comments   0 trackback
 

※ 最新のSDK・Libraryで開発環境を構築できるように,本書に記載されている設定をどう読み替えたらいいのかについて解説したPDFをサポートサイトに掲載しました.最新のSDK・Libraryを使いたい方はこちらを参考にしてください.

Kinect for Windows プログラミングガイド - サポート情報
http://www.kohgakusha.co.jp/support/kinect/index.html

【書籍紹介】
書籍「Kinect for Windows SDK プログラミングガイド」を執筆しました.

コンセプトとしてはKinectおよびKinect SDKにはじめて触れる方向けの書籍です.

書籍で取り上げているKinect SDKはv1.6(2012年11月現在最新バージョン),言語はC++です.
Kinect SDK + C++では先行して発売されている書籍「Kinect for Windows SDK プログラミング C++編」は読者層として中級~上級者を意識しているため,本書はKinect SDK + C++の初心者をカバーする形になっています.

また,気軽に手にとって頂けるようにできる限り価格を抑えたつもりです.
(予定していたページ数をかなりオーバーしてしまいましたが…)


Kinect SDKの基本的なColor,Depth,Player,Skeleton,Audioの機能を使えるように解説しています.
書籍内で利用したKinect SDKのAPIも1つ1つ日本語で解説しているので,サンプルプログラムを弄って動作を確認しながら学ぶこともできます.

無題

また,応用として最初のステップを踏めるように簡単な画像処理や3D-CGを含めた例なども含まれています.
顔の検出・追跡などができるFace Tracking SDKや簡単にですがv1.6の新機能なども紹介しているため,すでにKinectハックを楽しまれている方にも最新の情報をお届けできると思います.

図10

この書籍が少しでも皆様のお役に立てたのなら幸いです.


【謝辞】
この書籍を執筆・出版するにあたり関わったすべての皆様に感謝します.

この書籍をレビューをして頂いた中村 薫(@kaorun55)さんには頼もしい先輩として素晴らしいアドバイスを幾つも頂きました.そのアドバイスのお陰でなんとか世に出せる形にできました.
厚く感謝致します.(思いかえせば少し前までは逆の立場でしたねw)

担当して頂いた編集者さん,執筆のオファーを頂きありがとうございます.
頂いたチャンスを上手く活かせたのかわかりませんが,無事に世に出すことができました.
たくさんご迷惑をお掛けして申し訳ございませんでした.

共著者で私の後輩である岩崎くん(@shobomaru)には,半ば無理やり頼んでしまいすみませんでした.
心強い仲間が居なければとても私だけでは執筆できなかったと思います.
素晴らしい原稿を仕上げて頂き感謝しています.


【購入】
全国の書店,またはAmazon.co.jpなどのオンラインショップで購入できます.
ぜひお手にとってご一読頂きたいと思います.

書籍名:Kinect for Windows SDK プログラミングガイド
著者:杉浦 司,岩崎 秀介
出版社:工学社
ISBN:978-4-7775-1726-8
価格:定価2,415円(本体2,300円+税)
発売日:2012年11月21日
http://www.kohgakusha.co.jp/books/detail/978-4-7775-1726-8

 

また,この書籍でKinectの基礎を掴んで頂いたあと,次のステップアップのためのガイドや書籍内で使っているコンピュータービジョン向けのライブラリOpenCVのガイドとして以下の書籍をおすすめします.

追記最新のKinect解説書籍「Kinect for Windows SDK 実践プログラミング」を執筆しました。

   


【サポートページ】
この書籍のサンプルは以下のサポートページからダウンロードできます.
その他のサポート情報もこちらに掲載される予定です.
はじめての書籍執筆で至らない部分も多々あると思います.
ご質問などありましたらお気軽にお寄せください.

工学社 > 「Kinect for Windows SDK プログラミングガイド」サポートページ
http://www.kohgakusha.co.jp/support/kinect/index.html

月刊I/O 2012年8月号 「Kinect for Windows SDK v1.5」

Posted by Tsukasa SUGIURA on 18.2012 Kinect   0 comments   0 trackback


月刊I/O 2012年8月号(2012年7月18日発売)に「Kinect for Windows SDK v1.5」の紹介記事を書かせて頂きました.
(…と言っても4ページのこっそり載ってる程度の記事ですが^^;)


記事では2012年5月にリリースされた最新版であるSDK v1.5の新機能をいくつかピックアップして紹介しました.
特にSDK v1.0は使っているけどまだSDK v1.5をチェックしていない方などは是非読んで頂ければと思います.

Kinect StudioSeated Mode  Face Tracking SDK

また,Kinectがどんなものなのかわからない初心者でもわかるように,Kinectの概要とSDK v1.0で出来る事もおさらいしています.
これから始めたいと思っているKinect初心者の方から既に使いこんでいるKinect中上級者の方にも読んで頂けるような内容となっていると思います.(…なってたらいいな(´・ω・`))

月刊I/O 2012年8月号(2012年7月18日発売)は全国の書店やネットショップで購入できます.
是非お手に取って読んで頂ければ幸いです.

月刊I/O 2012年8月号
http://www.kohgakusha.co.jp/io/


記事にはスペースの関係上Face Tracking SDKの基本的な使い方を示す簡略化したソースコードを掲載しました.
実際に動作するコード(FaceTrackingSDK.cpp)は以下のリンクからダウンロードできます.
このサンプルコードはKinect for Windows SDKの他にOpenCVを利用しています.



記事を執筆するにあたりお世話になった担当編集者さん,原稿のレビューをして頂いた@kaorun55さん,@dkmaruくんに感謝します.

書籍「KINECT for Windows SDKプログラミング C++編」レビュー

Posted by Tsukasa SUGIURA on 16.2012 Kinect   0 comments   0 trackback
 
【はじめに】
3月28日に発売した「Kinect for Windows SDK プログラミング C#編」に続き,6月19日に待望の「Kinect for Windows SDK プログラミング C++編」が発売になります.
C#編に続き,C++編も微力ながらお手伝いさせて頂きました.
このたび献本を頂いたので,書籍を紹介させて頂きます.
C#編のレビューは以下の記事を参照してください.

書籍「KINECT for Windows SDKプログラミング C#編」レビュー 
http://kgxpx834.blog58.fc2.com/blog-entry-29.html


「KINECT for Windows SDKプログラミング C++編」 http://amzn.to/LDE7jJ 

【内容紹介(例によって思ったことそのまま)】
第1章
C#編と同様にKinectの概要からKinect for Windows SDKの開発環境を丁寧に説明しています.
また,Kinect for Windows SDKと共にOpenCV  2.3.1の開発環境の設定方法も解説しており,OpenCVの設定で躓いてる人にとっても参考になると思います.
私がとても良いと感じたのは,プロパティシートを使ったパスの設定方法を紹介していることです.
プロジェクトのパスの設定を少しでもミスをするとプログラミングを始められませんが,あらかじめ用意された動作を確認されたプロパティシートを使うことでミスなくほぼ確実に設定できます.
複数のプロジェクトの設定をするときもプロパティシートを使うと非常に容易になります.

1つ誤植を見つけてしまいました.

 p.20 表1.1 環境変数で指定するパス 64ビットアプリケーション

 誤 $(KINECTSDK10_DIR)\lib\amd64
   C:\OpenCV2.3.1\build\x64\vc10\lib

 正 C:\OpenCV2.3.1\build\x64\vc10\bin
   C:\OpenCV2.3.1\build\common\tbb\intel64\vc10

第2章
基本編ではKinectを使う上で基本となるColor,Depth,Player,Skeleton,Audioの扱い方を説明しています.
それに加えて,Kinectの挿抜検出も紹介されています.
実際にアプリケーションとしてリリースするときにKinectの挿抜に対応しておくことでユーザーの使い勝手は格段に向上するので是非組み込んでおきたい機能です.

第3章
応用編ではサンプルアプリケーションとそのソースコードを使って説明しています.
第3章はこの書籍で一番注目して欲しい部分でもあります.
SDKの機能を使ったちょっとした応用サンプルからkinect-ultraのような本格的なアプリケーションの解説,画像処理による手指の検出,Kinectの定番アプリケーションであるバーチャル着せ替え,3次元点群処理ライブラリのPCLとの連携方法まで解説されています.

kinect-ultraは、@tomoto335さんが作ったウルトラマンセブンになれるKinectアプリケーションです.
MicrosoftのChannel 9 | Coding4funというKinect関連の情報が集まるサイトでも紹介されたKinect界隈では超有名なKinectハックです.

 Channel 9 | Coding4fun Kinect, Ultra! Transform into Ultra Seven
 http://channel9.msdn.com/coding4fun/kinect/Kinect-Ultra-Transform-into-Ultra-Seven


詳しくは動画をご覧下さい.
これが作れるようになります.
 

手指の検出は非常に有用な機能ですが,Kinect for Windows SDKでは手指の検出は実装されていません.(v1.5現在)
書籍では画像処理による手指の検出を解説しています.
手指の検出ができるようになると腕レベルの動作より遥かに小さな自然な動作として使うこともできます.

Kinectを使う上で無視することができないライブラリがPCL(PointCloudLibrary)です.
PCLには様々な3次元点群処理が入っています.
PCLにはもともとOpenNIを使ってKinectからのデータを入力できる機能が用意されていますが,書籍ではKienct for Windows SDKでKinectから取得したデータをPCLに流しこむ方法が解説されています.
まだまだ日本語情報が少ないPCLですがPCLに言及した日本語書籍は本書籍が初めてじゃないでしょうか?

 PCL(PointCloudLibrary)
 http://pointclouds.org/

第4章・第5章・第6章
第4章では日本語でのAPIリファレンス,第5章ではKinectアプリケーションを作るヒントが紹介されています.
第6章ではユーザビリティについてアプリケーションのデザインやインターフェースについて説明されています.

【まとめ】
応用編の内容からもわかるようにC++編は高度な内容が詰まっており,上級者はもちろんのことC#編を読まれた方にも一読の価値があるでしょう.
一方,導入編や基本編ではしっかり基礎を固めているので初心者の方にも価値ある一冊となっています.
初心者の方も上級者の方も是非,書籍をお手に取って目を通して頂き,Kinectハックを楽しんでみてください.
また,本書籍はKinect for Windows SDK v1.0を対象にしています.
最新のSDK v1.5についてはこちらの紹介記事を御覧下さい.

Kinect 4 -Kinect for Windows SDK v1.5-
http://kgxpx834.blog58.fc2.com/blog-entry-31.html

【購入】
書籍やKinectは以下のページから購入することができます.
   

【参考】
1.) かおるんダイアリー - Kinect for Windows SDK の C++ 向け入門書籍を書きました
http://d.hatena.ne.jp/kaorun55/20120614/1339664608

2.) 秀和システム | 書籍情報 | KINECT for Windows SDK プログラミング C++編
http://www.shuwasystem.co.jp/products/7980html/3370.html

3.) Microsoft Kinect for Windows SDK
http://www.microsoft.com/en-us/kinectforwindows/


書籍「KINECT for Windows SDKプログラミング C#編」レビュー

Posted by Tsukasa SUGIURA on 26.2012 Kinect   0 comments   0 trackback
 

【はじめに】
2012/2にKinect Sensor for Windows / Kinect for Windows SDK v1.0正式版が発売 / リリースされました.
特徴を簡単におさらいしておくと,

     ・ 商用利用可能
         ライセンスはKinect Sensor for Windowsデバイスに付与.
         特に気になる制限は無く商用に使える.
     ・ Near Mode搭載
         Depthの計測可能範囲がDefault Modeで800mm~4000mm,
         Near Modeで400mm~3000mmの計測が可能になった.

といったことが挙げられます.
詳しくはこちらの記事(http://kgxpx834.blog58.fc2.com/blog-entry-28.html)をご覧下さい.

さて,まだKinect for Windows SDK v1.0正式版がリリースされて約2ヶ月足らずですが,こちらに対応した書籍「KINECT for Windows SDKプログラミング C#編」が2012/3/28に発売になります.
著者の中村薫さん(@kaorun55)にお声を掛けて頂き,私も本書籍の執筆段階から微力ながら関わらせて頂きました.
このたび献本を頂いたので,書籍を紹介させて頂きます.
「KINECT for Windows SDKプログラミング C#編」 http://amzn.to/GMrIsA

【経緯】

一応経緯を説明しておくと,中村薫さん(@kaorun55)のこのツイートから…
このときは企画段階で内密だったのです.
そこに何も知らない(Kinect SDK本と聞いてハイテンションの)私が…
という空気を読まない若干ネタバレ的なツイートをしてしまいました.

この後お誘いを頂き書籍に関わらせて頂きました.

【内容紹介(思ったことをそのまま書いています)】
第1章
Kinect for Windows SDKはC++及びC#を想定して作られているライブラリです.
書籍はKinect for Windows SDKをC#から扱う方法を紹介しています.
個人的に使ってみて,Kinect for Windows SDKはC++よりもC#から扱いやすい設計になっていると感じました.

また,C#(.NET)という言語の特性上GUIをとても楽に作ることができます.
書籍では,主に.NET Framework 3.0以降から搭載されているWPF(Windows Presentation Foundation)を使っています.
書籍ではWPFのXAMLをそのまま記述/掲載していますが,簡単なものなので直ぐに理解できます.
また,Microsoft Expression Blend(http://amzn.to/H0k8Ff)を使うとWPFで直感的にGUIをデザインすることができます.
もちろん以前からのWindows Formsを使う方法も書籍で紹介されています.

ただし書籍には,C#・WPF自体の説明はあまりありません.
しかし,本書籍で使われているC#・WPFプログラムは決して難しいものではありません.
少しプログラムを噛った経験があれば直ぐに理解できると思います.
私もC#・WPFは全く触ったことがありませんが,特に苦もなく(なんとなく)理解しながら読むことができます.
C#,WPFを詳しく知りたい人は他のWebや書籍で勉強して頂くことになりますが,C#は他言語に比べ初心者が入門し易い言語ではないかと思います.
特にIDE Visual C#による強力なプログラミングサポート,GUIアプリケーションの作り易さは素晴らしいと思います.
Microsoftが一番力を入れている言語なのではないでしょうか?

書籍1章では,Visual C#を使ってプログラムを作るまでの準備を丁寧に説明しています.
画像が豊富に使われているので,初心者の方でも迷わずにセットアップできると思います.

第2章
書籍2章では,基本編としてKinect for Windows SDKの機能を簡単なサンプルプログラムと共に説明しています.
サンプルプログラムに使われている主要なAPIも丁寧に説明されており,API仕様・使い方を把握できると思います.
2章を通して読んで頂ければ,KinectのRGB,Depth,Player,Skeleton,Audio,and more...を一通り扱えるようになります.

第3章
書籍3章では,応用編としてKinectを用いた様々なサンプルアプリケーションをソースコードと共に解説しています.
サンプルはKinectを使う人が欲しいと思えるようなものを取り揃えていると思います.

OpenCVとの連携の仕方と顔検出にSkeleton位置情報の補助を用いて簡単に高精度化,高速化するサンプルを紹介しています.(書籍では「認識」と書かれていますが,正確には「検出」ですね^^; 見落としていましたw)

また,Depthを用いたタッチスクリーンやSletonを用いたマウス,音声認識などNUI(Natural User Interface)を実現する基礎技術になる部分も具体的アプリケーションで実現方法を紹介しています.
また,簡単なジェスチャーとしてポーズを認識する方法も紹介しています.
ここでは,自然動作(普段の連続的な動作)に現れ難いものとして,腕をクロスさせるポースを認識するサンプルを紹介しています.
Kinect for Windows SDKにはOpenNIのNITEにあたるジェスチャー認識モジュールは無いので自分で実装する必要があります.
ここからド素人意見ですが,ジェスチャー認識の難しいところに,

・自然な動作(非ジェスチャー)か任意の動作(ジェスチャー)かを区別し難い
・連続した動作の中でジェスチャーの開始・終了を検出し難い
・ある程度違う動きを許容しなければならない

などがあると思います.
書籍で紹介されているサンプルでは,これらをクリアできるポーズに限定することで解決しています.
しかし,実際に使うことを考えると,腕をクロスさせるポーズはあまりに不自然です.
実用を考えるともっと自然なジェスチャーを取り入れたいですね.
自然なジェスチャーを取り入れるために有効だと思うキーワードとして,

・UIデザイン,ジェスチャーデザイン
・自己相関(共起確率?)
・機械学習

などがあるのではないでしょうか?
これからジェスチャーを使いたいと考えている人は実装のヒントとして調べてみてはどうでしょうか?
是非,UIなどの専門の方にKinect for Windows SDK向けのジェスチャー認識モジュールを作って欲しいですね.

この他にも,ロボットを操作したり,身長を測ったり,音声を使ったりなど面白いサンプルが沢山含まれています.
応用例が多く紹介されているのもこの書籍の特徴ですね.

第4章・第5章
書籍4章5章では,便利な外部ライブラリの導入・使い方とKinect for Windows SDKのAPIを紹介しています.
現在,Kinectに関する多くの情報は英語です.
この書籍では当然日本語で書かれているので,英語のマニュアルと睨めっこするのが苦手な人には,辞書が代わりに使えると思います.
一部ですが,良い日本語での言い回しが思いつけなかった部分があるのが心残りです.
ニュアンスは伝わると思いますが,気になるようなら英語版のマニュアルにも目を通してみて下さい.

第6章
最後の6章では,ユーザビリティについて書かれています.
Kinectは,今までに一般ユーザーが触ることがなかったタイプのデバイスです.
Kinectを使ったアプリケーションのUIデザインも今までにない新しい考え方をしなければならないでしょう.
ユーザビリティを考えて上手くUIをデザインすることでアプリケーションは飛躍的に使いやすく,誰でも直感的に操作できるようになります.
個人的にはKinectを上手く活用できるUIを持つアプリケーションはまだ1つも登場していないように感じています.
思っている以上に大切な要素なので,一度ユーザビリティを勉強してKinectを上手く活用できるUIを目指してみてはどうでしょうか?

【まとめ】
書籍全体を通してKinect for Windows SDK初心者が欲しいと思う情報を上手くピックアップしていると思います.
是非,書籍をお手に取って目を通して頂き,Kinectハックを始めてみては如何でしょうか?
また,C#編は初心者を強く意識した内容ですが,執筆中のC++編は高度な使い方を意識した内容となるようです.
サンプルプログラムも(たぶん...)ガラリと内容が変わることでしょう.
どちらか1冊でも満足頂ける,2冊とも買っても損しない内容になると思います.
長々と書きましたが以上でレビューを終わります.

【他の書籍】
Kinect for Windows SDKの書籍として以下の書籍も発売されています.

・「Beginning Kinect Programming With the Microsoft Kinect SDK」(2012/2/29発売)
・「Kinectソフトウェア開発講座」(2012/8/31発売)
Kinect for Windows SDKの英語の解説書籍です.
「KINECT for Windows SDKプログラミング C#編」と同様にC#+WPFで解説しています.
各機能の基本を抑える他,ジェスチャーやNUIの解説・スワイプやプッシュといった基本的なジェスチャーの実装方法,Kinectプログラミングに必要な数学などが紹介されています.
特に第6章のジェスチャーは必読だと思います.
「KINECT for Windows SDKプログラミング C#編・C++編」を読んでKinect for Windows SDKプログラミングの基本を抑え,応用として「Beginning Kinect Programming With the Microsoft Kinect SDK」を読んでジェスチャーの知識や実装を抑えるのがオススメです.
「Beginning Kinect Programming With the Microsoft Kinect SDK」の翻訳本「Kinectソフトウェア開発講座」が発売されました.
原書はSDK v1.0をベースに書かれていますが翻訳本はSDK v1.5をベースに書き直されています.
 

【購入】
書籍やKinectは以下のページから購入することができます.
    

【参考】
1.) かおるんダイアリー - Kinect for Windows SDK の C# 向け入門書籍を書きました
http://d.hatena.ne.jp/kaorun55/20120324/1332588117

2.) 秀和システム | 書籍情報 | KINECT for Windows SDK プログラミング C#編
http://www.shuwasystem.co.jp/products/7980html/3326.html

3.) Microsoft Kinect for Windows SDK
http://www.microsoft.com/en-us/kinectforwindows/

Kinect 3 -Kinect for Windows SDK-

Posted by Tsukasa SUGIURA on 01.2012 Kinect   0 comments   0 trackback
 

【Kinect for Windowsとは…】
Kinect for Windowsは,XBOX360向けに発売されたKinect SensorをWindows向けに使うプロジェクトです.(略称K4W)
Kinect Sensorがどういったものかの詳細は各記事を参照して下さい.
Kinect SensorにはRGBカメラとDepthカメラ,Microphone Arrayが搭載されています.
XBOX360向けに発売されたKinect Sensor for XBOX360とWindows向けに発売されたKinect Sensor for Windowsの違いは,Depthカメラの計測範囲です.
Depthカメラの計測範囲をデスクトップ向けに調整できるようにしたものがKinect Sensor for Windowsになります.
また,デバイスの発売と同時にソフトウェア開発キットが正式版としてリリースされました.
Kinect for Windows SDK 1.0 正式版では,Kinect Sensor for Windowsを使った商用アプリケーションの開発が可能になっています.
同時にβ版から多くのAPIが改良,追加されています.
これを機会に個人,企業,業界を問わず多くのKinectアプリケーションが開発されることを願っています.


 

※ Kinect Sensor for Windowsが日本でも発売されました.(2012/2/2)
  http://amzn.to/wKTGUX

※ 英語の解説書籍「Beginning Kinect Programming With the Microsoft Kinect SDK」が発売されました.(2012/2/29)
  http://amzn.to/I2qNPj

※ 日本語の解説書籍「KINECT for Windows SDK プログラミング C#編」が発売されました.(2012/3/28)
  http://amzn.to/GMrIsA

※ 英語のKinectなどのDepth Sensorの解説書籍「Time-of-flight Cameras and Microsoft Kinect」が発売されました.(2012/4/30)
  http://amzn.to/ILhbeW

※ 日本語の解説書籍「KINECT for Windows SDK プログラミング C++編」が発売されました.(2012/6/19)
  http://amzn.to/OKCdOl

※ 日本語(翻訳)の解説書籍「Kinectソフトウェア開発講座」が発売されました.(2012/8/31)
  http://amzn.to/MwcJar
 
    

【Kinect for Windows SDKとSensorの関係】
Kinect for Windows SDKでは,開発者はKinect Sensor for Windowsは勿論のことKinect Sensor for XBOX360を使ってもアプリケーションを開発することができます.
ただし,開発されたアプリケーションを使うエンドユーザーはKinect Sensor for Windowsのみ利用できます.
また,Kinect Sensor for XBOX360でも開発はできますが,Depthカメラの計測範囲が従来のDefault Mode(800[mm]~4000[mm])でしか使えません.
Near Mode(400[mm]~3000[mm])はKinect Sensor for Windowsのみ利用できます.
この関係を以下の表に纏めました.
※ エンドユーザーランタイムは以下のURLからダウンロードできます.
  http://download.microsoft.com/download/E/E/2/EE2D29A1-2D5C-463C-B7F1-40E4170F5E2C/KinectRuntime-v1.0-Setup.exe

【Kinect for Windowsライセンス】
ライセンスは,Kinect Sensor for WindowsとKinect for Windows SDKの組み合わせのみ商用可能です.
ただし,先述のように開発に限りKinect Sensor for XBOX 360を使うことができます.
ライセンス関係を以下の表に纏めました.
※ これはMicrosoftの公式見解ではありません.詳しくはMicrosoftまでお問い合わせ下さい.
※ Microsoft Kinect for Windows Software Development Kit (SDK) License
  http://www.microsoft.com/en-us/kinectforwindows/develop/sdk-eula_ja-jp.aspx

【Kinect for Windows SDK】
動作環境は,以下のとおりです.

・Microsoft Windows 7,Windows Embedded Standard 7,Windows 8 Developer Preview
・Microsoft Visual Studio 2010
・Dual-core 2.66GHz 以上のCPU 
・USB 2.0
・2GB以上のRAM

Kinect for Windows SDKは以下のページからダウンロードできます.

  

        Kinect for Windows
        http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx

ダウンロードしたインストーラー(KinectSDK-v1.0-Setup.exe)からSDKをインストールします.
途中にMicrosoft Visual C++ 2010 再頒布可能パッケージのインストール画面が開くので,インストールして下さい.

  

SDKインストール後,Kinect Sensorを接続するとドライバがインストールされます.


サンプルプログラムやドキュメントは,[スタートメニュー] > [すべてのプログラム] > [Microsoft Kinect SDK v1.0]のKinect SDK Sample Browserから起動/閲覧することができます.


Visual Studioのプロジェクト(C++)には以下のプロパティシートをダウンロードして設定して下さい.
※ プロパティシートは間違っている可能性もあります.
※ $(KINECTSDK10_DIR)が認識されない場合は,C:\Program Files\Microsoft SDKs\Kinect\v1.0\に変更して下さい.


・インクルードディレクトリ/追加のインクルードディレクトリ
    $(KINECTSDK10_DIR)inc
・ライブラリディレクトリ/追加のライブラリディレクトリ
    $(KINECTSDK10_DIR)lib\x86 …x86
    $(KINECTSDK10_DIR)lib\amd64 …x64
・追加の依存ファイル
    Kinect10.lib

以下のヘッダファイルをインクルードします.

    #include <Windows.h>
    #include <NuiApi.h>

【名古屋CV・PRML勉強会】
第14回 名古屋CV・PRML勉強会(2012/2/18 http://bit.ly/yQMNCb)でKinect for Windowsの紹介をしました.


(SkyDrive)
https://skydrive.live.com/redir.aspx?cid=f7e757e0702c7903&resid=F7E757E0702C7903!277&parid=F7E757E0702C7903!273
(SlideShare)
http://www.slideshare.net/SugiuraTsukasa/14cvprml-kinect-for-windows-11635401

【サンプルプログラム】
後日公開予定.
Kinect for Windows SDK + OpenCV,C++のサンプルプログラムを公開しました.
内容は以下の通りです.

・Sample_01.cpp
  Kinectから取得したRGB画像と位置合わせをしたDepth画像を表示する.
  Player,Skeletonを使わない一番単純なサンプルです.

・Sample_02.cpp
  Kinectから取得したRGB画像と位置合わせをしたDepth画像,Player画像,Skeleton画像を表示する.

サンプルプログラムは以下のリンクからダウンロードして下さい.


【書籍】
・「KINECT for Windows SDKプログラミング C#編」(2012/3/28発売)
・「KINECT for Windows SDKプログラミング C++編」(2012/6/19発売)
Kinect for Windows SDKの正式版v1.0がリリースされ,初のKinect for Windows SDK解説本になります.
著者の中村薫さん(@kaorun55)にお声を掛けて頂き,私も微力ながら関わらせて頂きました.
詳しいレビューはこちらの記事を参照して下さい.
http://kgxpx834.blog58.fc2.com/blog-entry-29.html
C#編に続けてC++編も発売されました.
C#編よりも少し高度な内容となっており内容も異なります.
レビューはこちらの記事を参照してください.
http://kgxpx834.blog58.fc2.com/blog-entry-32.html
 

・「Beginning Kinect Programming With the Microsoft Kinect SDK」(2012/2/29発売)
・「Kinectソフトウェア開発講座」(2012/8/31発売)
Kinect for Windows SDKの英語の解説書籍です.
「KINECT for Windows SDKプログラミング C#編」と同様にC#+WPFで解説しています.
各機能の基本を抑える他,ジェスチャーやNUIの解説・スワイプやプッシュといった基本的なジェスチャーの実装方法,Kinectプログラミングに必要な数学などが紹介されています.
特に第6章のジェスチャーは必読だと思います.
「KINECT for Windows SDKプログラミング C#編・C++編」を読んでKinect for Windows SDKプログラミングの基本を抑え,応用として「Beginning Kinect Programming With the Microsoft Kinect SDK」を読んでジェスチャーの知識や実装を抑えるのがオススメです.
「Beginning Kinect Programming With the Microsoft Kinect SDK」の翻訳本「Kinectソフトウェア開発講座」が発売されました.
原書ではSDK v1.0をベースにしていましたが翻訳本ではSDK v1.5をベースに書き直されています.
少し高度な内容になるので基礎を一通り終えてこれからKinectソフトウェアを作るぞという人におすすめです.
 

・「Time-of-flight Cameras and Microsoft Kinect」(2012/4/30発売)
ToF方式やLight Coding方式(Kinect)のDepthカメラの英語の技術書籍です.
Kinectを使う上で知っておきたいDepthカメラの仕組みからRGB-Depthのキャリブレーション(位置合わせ),Depthの超解像,セグメンテーションなどのDepthカメラを使った応用事例を数式を交えて説明しています.
Kinectを使った研究やアプリケーション開発を考えている人には必須の知識なので一度目を通しておくといいかもしれません.

【おわりに】
Kinect for Windows SDKやサンプルプログラムなどの質問,リクエスト等あればコメント欄に記述下さい.

【参考文献】
  
    

OpenNI Advent Calendar 2011/12/21 - KinectFusion -

Posted by Tsukasa SUGIURA on 21.2011 Kinect   5 comments   1 trackback


※ 本記事はOpenNI Advent Calendar(2011/12/21 http://atnd.org/events/22725)への参加記事です.
※ 曖昧な記述が多いので参考程度にご覧下さい.

【KinectFusionとは…】
Kinect FusionはMicorosoft ResearchがIEEE ISMAR2011(2011/10),ACM SIGGRAPH2011(talk)(2011/10)といったトップカンファレンスで発表しました.
高度なインタラクションのためにKinectを用いて高精度に3次元形状を再構成することを目的としている手法です.
例えば,ARでCGを重畳表示するような場面では,今まで平面としてしか認識できなかったところ,KinectFusionを使うことで凹凸などが認識でき,その認識した形状により重畳するCGに影響を与えるなど,より高度な重畳表示をすることができます.
この論文はISMAR2011のBEST S&T PAPER AWARDを受賞しています.
詳しくは論文が公開されているので御覧ください.
難しいことはあとにして,まずは動画を見るとその凄さがわかると思います.



Microsoft Research - KinectFusion Project Page
http://research.microsoft.com/en-us/projects/surfacerecon/
 
このKinect FusionのクローンプロジェクトとしてPCL(Point Cloud Library)ではKinfuというモジュールを開発しています.
先日,このKinfuの開発版が使えるようになったと発表されました.
KinfuはOpenNIから使えるので,今回はこのKinfuを紹介します.

PCL - Point Cloud Library
http://pointclouds.org/

※ あくまでも開発版です.

PCLに関してはこちらで丁寧に紹介されています.

DERiVE - シリーズ「PCLを触ってみよう!」
http://derivecv.tumblr.com/tagged/PCL/chrono

第13回名古屋CV・PRML勉強会 - PCL
http://bit.ly/tY2u2B

【動作確認環境】
OS:Microsoft Windows7 Ultimate SP1 64-bit
IDE:Micorosoft Visual Studio Professional SP1 (C++)

CPU:Intel Core i7 2600K
GPU:NVIDIA GeForce GTX580
(※ おそらくcompute capability 2.0以上のGPUが必要です.)

PCL:PCL SVN/trunk revision 3580
Eigen:Eigen 3.0.3
FLANN:FLANN 1.6.11 64-bit
Boost:Boost 1.47.0 64-bit
VTK:VTK 5.8.0(static) 64-bit
CUDA:NVIDIA CUDA Toolkit 4.0 64-bit
Graphics Driver:NVIDIA GeForce Driver 275.33
OpenNI:OpenNI 1.3.2(PCLMod) 64-bit
SensorKinect:Sensor 5.0.3.3(PCLMod) 64-bit
KinectDriver:avin2-SensorKinect-2d13967

CMake:CMake 2.8.6
SVN:TortoiseSVN 1.6.16

【環境設定】
1. CUDA関連をインストールする.
※ cuda.lib,cudart.libが必要なみたいです.
    ※ CUDA Toolkit 4.0 Build Customization BUG FIX Updateを適用しておくこと.

2. PCL/3rdPartyをダウンロード/インストールする.
以下の3rdPartyはPCLのダウンロードページから対応バージョンをすることができる.
  今回は,All-in-one installerを使ってインストールした.
・FLANN
・Boost
・VTK
・Eigen
・OpenNI/SensorKinect
 (※ OpenNI/SensorKinectはPCLModになります.OpenNI.orgが配布するものではありません.)
※ All-in-one installerを使うと一度にインストールすることができます.
        All-in-one installerでは以下のようにインストールされます.
C:\Program Files
├─PCL 1.3.0
        │  ├─3rdParty
                │  │  ├─Boost
                │  │  ├─Eigen
                │  │  ├─flann 
                │  │  ├─qhull 
                │  │  └─VTK 5.8.0
                │  ├─bin
                │  ├─cmake
                │  ├─include
                │  ├─lib 
                │  └─share
                ├─OpenNI
                └─PrimeSense
                    └─SensorKinect

avin2/SensorKinectのDriverを別途インストールしておくこと.

3. PCL/SVN/trunkからチェックアウトする.
    TorroiseSVNを使い,PCL/SVN/trunkの最新リビジョンをチェックアウトする.
    今回は,C:\Program Files\pclにチェックアウトした.

    リポジトリのURL
    http://svn.pointclouds.org/pcl/trunk

    ※ TortoiseSVNの使い方は以前の記事を参照してください.
http://kgxpx834.blog58.fc2.com/blog-entry-25.html
http://kgxpx834.blog58.fc2.com/blog-entry-23.html

    3rdPartyは2でインストールしたもの(C:\Program Files\PCL 1.3.0\3rdParty\~)を使うが,今回はチェックアウトしたディレクトリ(C:\Program Files\pcl\3rdParty\~)にコピーした.
   以下のようなディレクトリ構成になる.

    C:\Program Files
     ├─pcl
             │  ├─.svn
             │  ├─_3rdParty (※ チェックアウトした3rdParty.これは使いません.)
     │  │  ├─.svn
             │  │  ├─eigen
             │  │  ├─flann
             │  │  ├─openni  
             │  │  ├─qhull 
             │  │  └─vtk
     │  ├─3rdParty (※ PCL 1.3.0/3rdPartyからコピーした3rdParty.)
             │  │  ├─Boost
             │  │  ├─Eigen
             │  │  ├─flann
             │  │  ├─OpenNI  
             │  │  ├─qhull 
             │  │  └─VTK 5.8.0
             │  ├─android
             │  ├─apps
             │  ├─cmake
             │  ├─common 
             │  ├─cuda
             │  ├─doc
             │  ├─feature
             │  ├─filters
             │  ├─io 
             │  ├─kdtree
             │  ├─keypoints
             │  ├─octtree
             │  ├─pcl
             │  ├─people
             │  ├─proctor
             │  ├─range_image
             │  ├─registration
             │  ├─sample_consensus
             │  ├─search
             │  ├─segmentation
             │  ├─surface
             │  ├─test
             │  ├─tools
             │  ├─tracking
             │  ├─visualization
             │  ├─AUTHORS.txt
             │  ├─CMakeLists.txt
             │  ├─LICENSE.txt
             │  ├─pcl_config.h.in
             │  ├─PCLConfig.cmake.in
             │  └─PCLConfigVersion.cmake.in
             ├─OpenNI
             └─PrimeSense
                  └─SensorKinect
    環境変数は適宜設定しておく.
  ※ BOOST_INCLUDEDIRを設定する必要がある.
BOOST_INCLUDEDIR C:\Program Files\pcl\3rd3rdParty\Boost\include

4. CMakeで環境を設定し,ソリューションを作成する.
各項目を埋めていく.
OpenCVは干渉するらしいのでPathを消しておく.
ステータスでkinfuがビルドされるように設定する.

    Where is the source code:
    C:/Program Files/pcl

    Where to build the binaries: 
    C:/Program Files/pcl/build

    EIGEN_INCLUDE_DIR 
    C:/Program Files/pcl/3rdParty/Eigen/include
  
    FLANN_INCLUDE_DIR 
    C:/Program Files/pcl/3rdParty/Flann/include

    FLANN_LIBRARY 
    C:/Program Files/pcl/3rdParty/Flann/lib/flann.lib

    FLANN_LIBRARY_DEBUG 
    C:/Program Files/pcl/3rdParty/Flann/lib/flann-gd.lib

    VTK_DIR 
    C:/Program Files/pcl/3rdParty/VTK 5.8.0/lib/vtk-5.8

    CUDA_SDK_ROOT_DIR 
    C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C

    CUDA_TOOLKIT_ROOT_DIR 
    C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v4.0

    BUILD_CUDA 
    チェック

    BUILD_gpu_segmentation 
    チェック

    CUDA_ARCH_BIN 
    20

    CUDA_ARCH_PTX 
    空白

    BUILD_visualization 
    チェック

  他はデフォルトだと思います.

  ※ CUDA_ARCH_BINはcompute capabilityを表しています.
    GF100なら20,GF104なら21です.
    お使いのGPUに合わせて設定してください.
    http://developer.nvidia.com/cuda-gpus

5. ビルドする.
生成されたPCL.slnを開き,バッチビルドでALL_BUILD,INSTALLを選択してビルドする.
※ 上手くビルド出来なかったりしたら,バッチビルドでkinfu-appプロジェクトのみを選択してビルドする.
   依存するプロジェクトが一緒にビルドされます.
   
kinfu-app.exeが生成されていれば成功です.

【ダウンロード】
ビルドしたもの(kinfu.zip)を置いておきます.
CUDA対応GPU,最新のNVIDIA Driver及びAvin2 SensorKinect DriverがインストールされたWindows環境で動作します.
(動かなかったらすみません…)

【kinfu】
生成されたkinfu-app.exeを実行する.

3rdPartyのdllが必要になるが,環境変数Pathにパスを通すか実行ファイルと同じディレクトリにコピーすることで動作します.

キー入力でポイントクラウド表示やpcdファイル,plyファイルへの保存などができます.
保存したpcdファイルはビューワー(pcd_viewer.exe)で表示できます.

以下,私の机の周りで試してみた動画です.



http://youtu.be/CSZ1iznlTkE

【おわり】
発表されたばかりの最新の研究を手元で試すことができて嬉しいですね.
発表されたKinectFusionの動画と比べると若干荒い感じもします.
kinfuはまだPCLの開発版に搭載されたばかりなので,これから改良されていくでしょう.
このkinfu以外にもPCLでは3次元点群に必要な様々な処理が実装されています.
(各種フィルタリング,特徴抽出,表面構成,位置合わせ,フィッティング,領域分割,ビジュアライゼーション…など)
簡単にOpenNIからの取得したデータを扱うこともできるので,KinectやXtionから取得した3次元点群を処理できます.
是非,PCLで3次元点群処理を楽しんでみてください.
また,似たようなライブラリとしてThe Mobile Robot Programming Toolkitというライブラリがあります.

The Mobile Robot Programming Toolkit http://www.mrpt.org/

こちらはロボットプログラミングに特化したライブラリでKinectをサポートしています.
後々紹介できたらいいなと思います.

【追記】
kinfuを使ったVision-based ARの実装(CGの重畳表示)をした動画がアップロードされています.
凹凸を考慮してCGを重畳表示したり,オクルージョンを考慮してCGを重畳表示している様子がわかります.


【参考文献】
1.) PointCloudLibrary http://pointclouds.org/
2.) DERiVE http://derivecv.tumblr.com/
  

プロフィール

Tsukasa SUGIURA

Author:Tsukasa SUGIURA
Twitter:@UnaNancyOwen
Mail:t.sugiura0204(あっと)gmail.com
Address:Aichi,JAPAN
Other:Computer Vision, Image Processing, and more...

お問い合わせはコメント欄以外にもメールなどでも受け付けます。お気軽にお問い合わせください。

ほしい物リスト

買ってくれたら私が喜びます。 Amazon.co.jp ほしい物リスト

最新記事

Access Counter

QRコード

QRコード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。