レビューメディア「ジグソー」

顔認識 【完了】

【【【Kinect for Windows センサー L6M-00005】】】
【【【やってみよう!kinectアプリ開発連載1〜3回 受講票】】】
【【【やってみよう!kinectアプリ開発連載4〜7回 受講票】】】
【【【やってみよう!kinectアプリ開発連載8〜11回 受講票】】】
【【【やってみよう!kinectアプリ開発連載12.13回 受講票】】】



*----------*--------*-------*------*-----*----*---*--*-*
【【【[やってみよう!Kinectアプリ開発 - 第12回 FaceTracking(前編)】】】
*----------*--------*-------*------*-----*----*---*--*-*

【Face Tracking SDK】
『Kinect For Windows SDKには』
Microsoft Face Tracking Software Development Kit for Kinect for Windows
(以降 Face Tracking SDK と呼びます)が同梱されており、
アプリケーションから人の顔をリアルタイムに認識することができます。

Face Tracking SDKは、”for Kinect for Windows”という名前の通り、
Kinectセンサーと共に利用するよう設計されており、
深度情報や骨格情報も利用した高速・高精度の認識が可能ですが、
KinectセンサーおよびKinect for Windows SDKが必要になります。

『Face Tracking SDKでできること』
Face Tracking SDKが提供する顔認識の機能は、以下を始め多岐に渡ります。

・画像情報からの顔の検出
・顔の追跡
・顔の部位各点の座標の取得
・顔の向きの取得
・表情(口を開いている、眉の上げ下げなど)の取得
・顔の3Dモデルの取得
本連載では、これらのうちのいくつかをコードを交えて紹介します。
なお、機能の詳細に関してはSDKのドキュメント
http://msdn.microsoft.com/en-us/library/jj130970)もご覧ください。

って前提で進めるようです。



今回もソースは準備されています。※ソースの流用無し

第12回結果
第12回結果

顔部分に赤点がいっぱい
ちゃんと顔の向きに合わせて点が移動していますネ


自作アプリに顔認識を入れる余裕が無いのと、
用途がまだ見つけられないため、講座修練のみとしています。



*----------*--------*-------*------*-----*----*---*--*-*
【【【[やってみよう!Kinectアプリ開発 - 第13回 FaceTracking(後編)】】】
*----------*--------*-------*------*-----*----*---*--*-*
リンク先にしたがってソースコード MainWindow.xamlを入力します。
リンク先にしたがってソースコード MainWindow.xaml.csを入力します。
リンク先にしたがってソースコード FaceTracker.csを入力します。


今回は引き続き、Face Tracking SDKの他の機能として、画像情報からの顔の検出方法を紹介します。


【DetectFacesをC#から利用する】 とな。なんのこっちゃ???

まぁ、面くらいつつも読み続けます。


連載第12回で紹介した通り、Face Tracking SDKには画面内の人物の顔を検出するAPI
(以下DetectFaces APIと呼びます)があります。
ただし、これはC++から利用するAPIのため、C#からは利用できません。
C#からFace Tracking SDKを利用する場合は、
連載第12回で紹介した、Microsoft.Kinect.Toolkit.FaceTrackingという
コンポーネントを利用することになりますが、
残念ながらこのコンポーネントもDetectFaces APIに対応する
インタフェースを提供していないようです。

アプリケーションを開発する際にはこういった問題に遭遇することが多々あります。
ここでは解決方法の一例として、DetectFaces APIをC#から利用するための
調査・作業手順を紹介します。

※ ここで紹介する手順は、Kinect for Windows SDK v.1.5.0で行ったものです。
今後のバージョンでは異なる可能性もあります。
(あるいは何もせずにC#から使えるようになっているかもしれません)


ほむほむ、なるほど、
まだまだリリースされたばかりのSDK、今後の進展次第ってわけですね。



にゅ???
プロンプトが違う……コマンドも……
UNIX????

とりあえず、Winじゃないとこで調査をしている って前提で見ていきます。


くうぅぅぅぅぅ~、わからない。

解らないがまずはそういったモノだと言い聞かせ、読み続けます。


今回もソースは準備されています。がソースの流用&修正が入ります

理解せずに挑戦しているため、ソースの追加位置が解りません。
質問するためのサイトだったりするので、迷うより聞け。
ってことで、即座に質問を投げ込んできました。

『自己完結しました。』
FaceTracker.cs の追加部分は最後の}}を消して、
掲載されているソースを全部追加で問題なく動作しました。

私の確認時には}の消し方を間違えていたようでエラーが出まくりでしたが、再度元ソースをいじったら通りました。







前回の第12回のままっぽい画像です。
本来なら黒四角で顔がマスクされるはず。

まだまだおかしいところが残っているようです。
ってか、追加場所間違ってる???

いろいろと試しすぎて、何をいじったかすでに不明^^;;;

第13回結果
第13回結果



これが本来の動作っぽいw
※マスク領域の拡大だけは実施しました。




自作アプリに顔認識を入れる余裕が無いのと、
用途がまだ見つけられないため、講座修練のみとしています。



*----------*--------*-------*------*-----*----*---*--*-*
【【【現時点での感想】】】
*----------*--------*-------*------*-----*----*---*--*-*
C#、キネクト、統合開発環境、すべてにおいて慣れが必要ですが、
『理解より慣れろ』を優先して、とにかく喰らいついてきました。

他の開発者さんに追いつけているかは、全くの未知ですが、
ノルマでもあるアプリの公開にはなんとか漕ぎつけたいところです。

他言語で実装していることがC#で上手く実装できず、
いろいろなところでヤキモキしています。
じれったい位進まない開発ですが、試行錯誤の結果
動いてくれた時の感動を久々に味わっています。
(プログラムで食ってるんだから、動いて当たり前ってのが基本)

知らないことを知る・挑戦するってことが、楽しくてしょうがないです。


子供でも利用できるインターフェイスですので、
いろいろな部分に活用してみたいです。



【今後の予定】
第12.13回の講座を元に、正月用の【福笑い】を作成してみたくなりました。

スキャンモードで顔を取込み、パーツ分けして画面周囲にランダム配置。
あとは、ポーズ・ジェスチャーを組み合わせて
パーツを配置して完成。

出来た顔は保存した上で、印刷も可能。


夢(妄想)はどんどん広がります。


とりあえず、慣れたと思えるまでは、子供向けのアプリを複数作ってみようと思います。

コメント (2)

  • kazgbさん

    2012/08/28

    気がついたら・・・連載レビューもう終わってたんですね!
    早い~><。
    お疲れ様です!

    これは・・・しかし・・・まぁ・・・
    ホボ顔だし状態ですね(;´▽`A``
    自分はどうやってレビューしようかなぁ~・・・

    なにやら質問もされていたのを見てはいたのですが、
    自己完結で運営さんに動きもないようなので、
    自分も気をつけて開発していこうかと思います。

    後は自作アプリかぁ。。。

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ20MB)

    画像を選択してください

    ファイルサイズが20MBを超えています

    別の画像を追加

    ほかのユーザーのレビュー

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから