littlewing

人間とコンピューターとメディアの接点をデザインするために考えたこと

WEBカメラで利用できる顔認識技術まとめ(2015年4月)-その3

この記事は上記の続きです。

ここからはDepth(深度)センサーを搭載した3Dカメラ(RGBDカメラ)製品の紹介です。 WEBカメラからずれてきてますが、気にせず続けます。

4.Microsoft Kinect (Kinect)

http://smeenk.com/wp-content/uploads/2014/03/kinectsheader.png

4.1 Kinect(キネクト)とは?

Microsoft社のゲーム専用機Xboxのオプションとして2010年に登場したKinect(キネクト)はジェスチャー・音声認識によって操作ができるデバイスで「NUI」(ナチュラルユーザーインターフェイス)の一つとなります。

RGBカメラ、深度センサー、マルチアレイマイクロフォン、および専用ソフトウェアを動作させるプロセッサを内蔵したセンサーがあり、プレイヤーの位置、動き、声、顔を認識することができ、プレイヤーは自分自身の体を使って、直観的にビデオゲームをプレイすることができます。

単純なWEBカメラとは異なり、プロセッサーを内蔵しているので、認識処理の基本的な部分はハードウェア側で制御してくれます。

その後、2014年頃に、Xbox 360の後継機種である Xbox Oneが発売され、KinectもV2にバージョンアップしました。 当初はゲーム機用のデバイスとして登場しましたが、Windows用のSDKも正式に公開されており、独自アプリケーションの開発が可能です。

Kinectの顔認識機能

Kinectには顔認識のためのFace Tracking SDKが搭載されていて、

  • 画像情報からの顔の検出
  • 顔の追跡
  • 顔の部位各点の座標の取得
  • 顔の向きの取得
  • 表情(口を開いている、眉の上げ下げなど)の取得
  • 顔の3Dモデルの取得

などが利用可能です。

V1/V2の違い

  • 気になるV1とV2の違いですが、ひとまず画像を引用すると

http://image.slidesharecdn.com/kinectforwindowsv2-140928003017-phpapp01/95/kinect-for-windows-v2-40-638.jpg?cb=1411882259

こんな感じです。

またV2では詳細な分析に対応したHighDefinitionFaceFrameReaderクラスや、顔のモデル作成を行うFaceModelBuilderクラスなどが用意され、通常のFrameReaderと同様に、独立してデータを扱えるようになっています。

書き出すと長いので、わかりやすいサイトを紹介します。

追記4/23 V2はWin版とXboxOne版が統合するようです。

http://www.naturalsoftware.jp/blog/9105

Kinectを利用した顔認識の開発方法・SDKの利用について

これも、他サイトを紹介します。

  • Kinect V1の開発

  • Kinect V2の開発

  • 5/15追記 Kinect V2に対応した本が来週発売されます。要チェック

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

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

MacでのKinect開発

KinectはMicrosoft製ということもあり、Windowsでの開発が基本ですがMac環境でもOpenNIを利用することで動作させることが可能です。

Xbox360用Kinectのハードウェアを開発したイスラエルのPrimeSense社が中心になって、Kinectを利用したアプリケーションのオープン開発のための組織OpenNIが設立され、同名のライブラリOpenNIがリリースされたのですが、2013年11月 PrimeSense社がAppleに買収されたことにより、翌2014年4月を以てライブラリの公開は停止され、OpenNIは閉鎖されています。

しかし、ソースコードはGithubなどからダウンロード可能なので現在でも利用可能です。

とりあえず動かして見るには、openframeworksのofxOpenNIやofxKinectなどを試してみると良いと思います。

Kinect V2はMacOSでは現時点では動かせません。

上記の経緯などもあり、現時点ではMac OS上ではKinect V2を使った開発はできないようです。 ただし、仮想化ソフトウェアを介してMac 上で、Windowsを動かせば、使えなくは無いようです。

  • BootCampを使ってMac上でWindows8.1 + Kinect V2の例 2015/9/24追記

Kinect v2 の購入

  • Amazonで売ってて意外と安い

Xbox One Kinect センサー (DANCE CENTRAL SPOTLIGHT (ご利用コード) 同梱)

Xbox One Kinect センサー (DANCE CENTRAL SPOTLIGHT (ご利用コード) 同梱)

  • 開発時にはPC用アダプターも用意しましょう

マイクロソフト Xbox One Kinect センサー用 Windows PC アダプター 9J7-00001

マイクロソフト Xbox One Kinect センサー用 Windows PC アダプター 9J7-00001

5.Intel Realsense(インテル リアルセンス)

http://d152j5tfobgaot.cloudfront.net/wp-content/uploads/2014/08/real-sense-2.png

5.1 Intel Realsenseとは?

インテル® RealSense™ テクノロジーは、半導体メーカーインテルの推し進める「動作の認識に対応したプラットフォームと感覚的な入力を理解することで、パーセプチュアル・コンピューティングをワンランク上のレベルに高める」テクノロジー。

Wintel(Windows OS + Intelプロセッサ)で黄金時代を築いたインテルですが、 スマートフォン・タブレットの普及と、PC販売台数の落ち込みが続く中、独自性のあるNUIに適したプロセッサーを作ることで、独自の市場を維持しようと新しいコンセプトを提唱しています。

このあたりは、技術的な話ではないのですが、なかなか面白いので、以下のインタビュー記事なども時間があれば是非見て見てください。 このコンテキストを把握しておくと、今後のテクノロジーの発展の方向性などの予測にも役立つと思います。

パソコンが復活? インテルが考える「新機能」 | スマホ・ガジェット | 東洋経済オンライン | 経済ニュースの新基準

半導体の王者インテルが冴えない。主力のPC用マイクロプロセッサが苦戦を強いられているうえ、モバイル用半導体も思うようにシェアを伸ばせていない。 現状打破に向けてインテルが力を入れるのが、次世代技術の「RealSense(リアルセンス)」だ。リアルセンスではジェスチャーや音声認識、顔認識などを実現する新しいユーザーインターフェースを実現しており、PCの操作性を大きく変えることが期待される。年末には同技術を搭載したノートPCの出荷開始が控えている。 同事業の狙いについて、ムーリー・エデン上級副社長に話を聞いた。

  • インテル® RealSense™ テクノロジーのWEBサイトはこちら

インテル® RealSense™ テクノロジー

5.2 Intel Realsense対応製品

Intel Realsenseは3Dカメラや3Dカメラ搭載タブレットが発売されています。

今後も対応製品は増えていきそうです。

3Dカメラはエアコンや車の自動ブレーキにも搭載されており、気付かないところでこの数年で急激に身近な分野になってきています。

個人的にはスマートフォンにも3Dカメラの搭載が標準(当たり前)になってくると考えています。 手軽に3Dスキャンをしたり、より人間の感覚に沿ったAR表現やインタラクションが期待できそうです。 ナビゲーションの分野でも面白そうですね。

 (4/9追記)と、書いていたらちょうど本日発表ありました www.windowscentral.com

5.3 Intel Realsense開発方法

相変わらず引用ばかりですがこちらをご覧ください。

Intel RealSense SDKセンサープログラミング

Intel RealSense SDKセンサープログラミング

前に書いた、チームラボの事例も参考にしてください。

2016年3月追記 RealSenseに関しては、最新の記事を書きました。

littlewing.hatenablog.com

続きます。