Windows 10 IoT Core Advent Calendar 2016 9日目って うーん1番目ですね・・・
すみません私事がいろいろありまして、遅くなって(もうすぐ12月10日)かつ内容が変わりました。
知っている人があまりいないようなのですが、WinRTにはFaceDetectorクラスとFaceTrackerクラスがあります。
これは以前ではOpenCVなどを使って、現在はMicrosoft Cognitive Servicesなどを利用することで実現できます。
しかし、OpenCVはC#では直接使うのは無理ですし、Microsoft Cognitive Servicesでは頻繁に利用すると課金の問題があります。
FaceDetector及びFaceTrackerはWinRTに既に組み込まれていますので、C#で利用することもでき、特に費用が発生することはありません。
今回はFaceTrackerを使ってビデオ画像内の人物をリアルタイムで追跡するサンプルを作ってみました。
参考にしたのはこちらです。
MS謹製サンプルは非常に参考になるのですが、一つのサンプルで複数の機能を説明するのでプログラムが見にくいと思っています。
今回のプログラムはFaceTrackerおよび必要な機能だけ(エラー処理サボっています)にしているので何をしているのかわかりやすくなっているかと思います。
サンプルプログラムはGitHubのここにアップしていますので是非ダウンロードして試してみてください。
プログラムはUWPですので、ソリューションプラットフォームを変更することでPC,Mobile,RPiで動作します。
もちろんWebカメラは必要です。あとRPiではビデオ性能が低いためどうしても映像が乱れてしまいます。
IoTCore向けの内容とはちょっと違う感じかもしれませんが、次はFaceTrackerを使って監視カメラを作ってみたいと思います。