ブロックチェーン・AI・システム開発の株式会社INDETAIL

デプスカメラでジェスチャー認識をしてみよう! 環境構築編

2017.02.16
toshi

はじめまして、新卒社員のtoshiです。
気づけば私たち2016年卒が入社してから早10か月、時間が過ぎるのは早いものです。
私の初投稿となる本記事では「デプスカメラ」をテーマとした開発をご紹介します。

デプスカメラとは

デプスカメラとは、奥行きの情報を取得する深度センサーを内蔵したカメラのことを言います。
通常のカメラが取得する2Dの平面的な画像に加えて奥行きを取得することによって、3Dの立体的な情報を取得することができます。

代表的なデプスカメラには、MicrosoftのKinect for Xbox 360があり、物理的なコントローラーを用いずに、ジェスチャーや音声認識によって直感的にゲームをプレイすることを可能としています。

本連載の目標

本連載では、デプスカメラを使用して人のジェスチャーを認識することを最終的な目標とし、
初回となる本記事では、開発のための環境構築とサンプルを使用した骨格検知を行います。

使用機器

  • Mac Book Pro
  • デプスカメラ(Xtion Pro Live)

環境構築

今回の環境構築では、「Mac OS XにHomebrewを使ってOpenNIをインストール」を参考にしました。
環境構築の流れは下記のようになっています。

  1. Homebrewのインストール
  2. Formulaのダウンロード
  3. OpenNIのインストール
  4. Sensor/SensorKinectのインストール
  5. NiTEのインストール
  6. Processingのインストール
  7. SimpleOpenNIの導入

Homebrewのインストール

本記事の環境構築では、MacOS用のパッケージマネージャーのHomebrewを使用しています。

Homebrewをインストールするには、下記スクリプトをターミナルに貼り付けて実行します。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Formulaのダウンロード

Formulaとは、HomebrewでインストールするパッケージのURLやビルドの手順が書かれたスクリプトのことを言います。

下記のコマンドをターミナルで実行し、OpenNI等のライブラリをインストールできるようにします。
$ brew tap homebrew/science
$ brew tap totakke/openni

OpenNI

OpenNI (Open Natural Interaction)は、Kinectのセンサー部を開発したPrimeSence社が中心となって開発したオープンソースのライブラリです。

OpenNIをインストールするには下記のコマンドをターミナルで実行します。
$ brew install openni

Sensor/SensorKinect

Sensor/SensorKinectは、Xtion Pro LiveとKinectのドライバとなります。
Xtion Pro LiveとKinectで使用するドライバが異なります。

Xtion Pro Liveを使用する場合は以下のコマンドを実行します。
$ brew install sensor

Kinectはこちら
$ brew install sensor-kinect

NiTE

NiTEは骨格検知などを行うためのOpenNIのミドルウェアです。

NiTEをインストールするには下記のコマンドをターミナルで実行します。
$ brew install nite

Processing

Processingとは電子アートとビジュアルデザインのためのプログラミング言語とその統合開発環境のことを指します。

下記のURLからProcessing 2.2.1をダウンロードします。
https://processing.org/download/
ダウンロードしたファイルを解凍し、アプリケーションフォルダに入れます。
インストールしたら一度Processingを起動します。

SimpleOpenNIの導入

SimpleOpenNIは、ProcessingでOpenNI利用するためのアドオンです。
SimpleOpenNIをProcessingに導入することでProcessingでOpenNIが利用できるようになります。

下記のURLからSimpleOpenNIをダウンロードします。
https://code.google.com/archive/p/simple-openni/
ダウンロードしたファイルを解凍し、
/Users/ユーザ名/Documents/Processing/librariesの直下に置きます。

サンプルの実行

これで環境構築ができました。サンプルプログラムを実行し、問題がないか確認してみます。
サンプルプログラムの実行は、ProcessingのメニューのFile>Examplesを選択することでサンプルの一覧が表示されます。

サンプルの一覧が表示されたらSimpleOpenNIのサンプルからUserを選択します。

選択するとサンプルコードが表示されますので実行してみましょう。

まとめ

今回は、環境構築とサンプルを使用した骨格検知を行いました。

OpenNIが開発終了したため、OpenNIについて調べても古い情報が多く、
環境構築に少々ハードルが高い面がありますが、できることが多く楽しい分野だと思います。

また、今回はMac + Xtion Pro Liveの組み合わせで環境構築を行ったため、OpenNIを使用しましたが、
Windows + Kinectの場合はMicrosoftよりKinect for Windows SDKが提供されておりますのでそちらの方が環境構築は簡単かと思います。

次回は、今回追加したライブラリを使用してポーズ、ジェスチャー認識を行う予定です。

参考文献

Kinect wiki

toshi

職種 : エンジニア 2016年新卒社員。ネット小説漁りが最近のマイブーム。

「いいね」ボタンを押すと、最新情報をすぐに確認できます。