読者です 読者をやめる 読者になる 読者になる

KinectとMicrosof Cognitive ServiceのFaceAPIで遊びたかった。

 旬が過ぎたものと旬が過ぎたものをあわせると、旬にもならないがやってみたかったことなので挑戦(本記事の内容は仕事に関係するところもあり、Rubyの勉強ができない現状)。

 Microsoft Cognitive ServiceとやらがFaceAPIを筆頭に認識関連のAPIサービスを提供し始めたので、それをKinectと合わせれば面白いのではないのかというのが発端。

azure.microsoft.com

 

 というのも、Microsoft Cognitive ServiceはWindows Azureに提供されるサービスの一種のため、無料版と有料版が存在する。そして、無償版は「1分に20コール、または3万コール」の制約がついている(有償版(Standardライセンス)は1秒に10コール)。

 顔認証システムをちょろっと作ってみようとする場合、どうしても顔認識は必要となってくるが、常時コールするとすぐ無償版の制約に引っかかってしまう。

 それならば顔認識部分は別で実装しようとの考えに至り、同じMicrosoftなら何故か手元にあるKinectを使えば面白いんじゃないかという結論に至った。 

 

 最終目標は、KinectのFaceTrackingを使用して顔認識し、認識したらFaceAPIに顔画像を投げて適合率を判定、本人確認を行うようなもの。

 

 Kinect部分はWindows8.1 + VisualStudioCommunity2013で開発したものがあったのだが、WindowsAzureを使用するならばと、Windows10 + VusualStudioCommunity2017に買えてしまった結果、なぜかFaceTrackingだけ働かないというとんでも状況に陥ってしまった。

 どうしようかと思い、とりあえずKinect for Windows SDK 2.0をインストールした際に一緒に入ったSDK Browser v2.0に、Kinectを使用する環境を確認してくれるKinect Configuration Verifierと言うものがったので使ってみた。

 結果、USB3.0だけきな臭い事が判明した。USB3.0ポートはマザーボード標準のを使っていたため、きっとチップセットがだめだったのだろう(推奨されているのはIntel or Renesas製チップ)。

 仕方がないので、新しいUSB3.0拡張ボードをおとなしくAmazonでぽちり、届くまでしばらくはWindowsAzureで遊ぼうかと思う。

  FaceAPIを触るだけなら、Kinect関連はいらないのでそこだけは。

 

 以下、備忘録。

 

用意するもの

XBox One Kinectセンサー + XboxKinect アダプター

 Kinect for Windows v2は今やなくなり、XBox OneKinectに専用アダプターを使い、Windows環境で使用することとなった。

www.xbox.com

www.xbox.com

 

Windows10環境 + Visual Studio Community 2017 + Kinect for Windows SDK 2.0

 言わずもがなである。

 ただで手に入る開発環境は素晴らしい。

 www.visualstudio.com

Kinect for Windows SDK 2.0

Download Kinect for Windows SDK 2.0 from Official Microsoft Download Center

 

WindowsAzure + Cognitive Service  + FaceAPI Key

 WindowsAzureに登録して、Cognitive ServiceよりFaceAPIのAPIキーを取得するまで行う。

 以下のページが詳細に説明してあったので参考になりました。

blog.nextscape.net

 

※Cognitive Serviceサンプルコード

 サンプルコードが必要な場合、以下のページが詳しい。

 解説通り、Git fow Windowsを使用してGitHubから落としてこないと、ZIPダウンロードだけではビルドに必要なものがすべて落とせないので注意。変なところでハマった。

level69.net