坂本研のゼミ室

【Kinect】Kinectプログラミングのメモ

Kinectを用いたプログラミングのメモとして...

 

コントローラーを使わずにジェスチャーなどで操作を可能にする周辺機器。

主な機能として、画像・深度の取得、関節・音の検知がある。

Kinectは以前生産終了となったが、Azure Kinect DK として復活した。

 

  • 主な画像情報
  1. 深度画像

    f:id:TakaShinoda:20190417130724p:plain

    画素ごとに奥行き方向の距離情報を持つ画像データ。

    物体までの距離や物体の形状を知ることが可能。

  2. 人物の形状データ

    f:id:TakaShinoda:20190417130841p:plain

    深度画像から人物領域のみを抽出して作成した画像データ。

    このデータを使う事でカメラ画像から 人物領域のみを切り出すことも可能。

  3. 骨格情報

    f:id:TakaShinoda:20190417130927p:plain

    人物領域の情報をもとに計算された関節の位置情報。

    頭・手・肩・胴・脚などの関節について、画像上の座標値(x,y)と、空間中の座標値(X,Y,Z)の両方を得ることが可能。

  • ドライバと開発環境

Kinect for Windows SDK

マイクロソフト公式のSDK

https://www.microsoft.com/en-gb/download/details.aspx?id=44561

言語は、C++, C# 

 

OpenNI

PrimeSense社などが開発していたAPI群。

Appleに買収されオフィシャルサイトに行ってもappleのサイトにリダイレクト、GitHubには残っていた。

github.com

通常はユーザ、骨格、ジェスチャなどを検出するミドルウェアNiTEと併用する。

言語はC++, C#

画像処理ライブラリのOpenCVと連携が可能なため自分の研究ではOpenNIを使用している。

 

libfreenect

OpenKinectというプロジェクトで開発されているドライバ

github.com

言語はC, C++

ケルトントラッキングなどの解析機能は持たないが、各センサの生データをシンプルかつ高速に取得できるといった特徴があるっぽい。

 

 

 

 

 

 <参考文献>