最近openframeworksをはじめまして、その習作としてofxFaceTrackerを利用したプログラムの作成を行ってみました。実行環境はOS X 10.9 Marvericks , MacBook Pro early 2011 13inchです。
この記事では
- ofxFaceTrackerのサンプルプログラムのレビュー
- Webカメラから取得した画像の一部に切り取り、貼り付けを行い、笑顔いっぱいデモの実装
- 複数の画像パーツとその並進、回転を利用した笑い男デモの実装
の3点の内容をお送りいたします。
1. ofxFaceTrackerのサンプルプログラムのレビュー
レビューといってもそれぞれがどんな動きをするプログラムなのか確認した程度になりますが…ofxFaceTrackerのサンプルプログラムは以下のようなものがあります。
- example-advanced
- example-align-eyes
- example-calibration
- example-blink
- example-cutout
- example-expression
- example-extraction
- example-non-realtime
- example-threaded
全てに共通することなのですが、それぞれのbinディレクトリにdataディレクトリを作成し、modelディレクトリをコピーする必要があります。元のmodelディレクトリのパスはofxFaceTracker->libs->FaceTracker->modelみたいな感じです。あとはそれぞれのサンプルごとに必要なディレクトリやファイルが変わってくるので注意が必要です。
example-non-realtimeはdataディレクトリ内のvideo.movを読み込んでフェイストラッキングを施すというサンプルに成っています。video.movは自分で用意する必要があります。Webカメラ等を使用してリアルタイムに取り込みを行う必要がないので、超高画質な動画ファイルや特殊なカメラで撮影した動画ファイルに対してフェイストラッキングを行いたいようなときには役立ちそうです。
example-align-eyesは静止画像を読み込んで、顔を認識し、両目を繋ぐ直線と画像の縦軸が直交するように画像を回転させるプログラムになっています。静止画像に対する処理を行いたいときに参考になりそうです。dataフォルダの中にrawフォルダを作成し、その中に画像ファイルを入れることでプログラムで画像を読み込ませます。
example-expressionは表情認識を行うプログラムです。例えば笑った状態のフェイストラッキングの結果をプログラムに学習させておいて、後からプログラムに「この顔は笑顔である、この顔は笑顔でない」などの評価させることができます。
example-expressionは表情認識を行うプログラムです。例えば笑った状態のフェイストラッキングの結果をプログラムに学習させておいて、後からプログラムに「この顔は笑顔である、この顔は笑顔でない」などの評価させることができます。
example-calibration, example-cutoutはi386 Architecture(32bitアーキテクチャ?)では実行できませんでした。自分の環境で実行できないものはしょうがないのでパスします。
僕が引っかかった点を紹介します。
画像にあるようにBuild Settingには簡易表示であるBasicと全設定項目を表示するAllがあるのですが、BasicになっているとHeader Search Pathsが表示されず、設定することができないので、気を付けましょう。ここに引っかかるのは僕だけかもしれませんが。
以下は実行している時に撮影した動画です。example-advancedと同じように顔を見つけるまでは処理に時間がかかりますが、見つけた後は比較的滑らかです。瞬きに合わせて左上のグラフ表示の四角の中が白くフラッシュするのがわかるかと思います。まばたき上表をOSCを介して他のプログラムに伝えることができるようです。
example-extractionは何をするプログラムなのかよくわかりませんでした…。勉強不足ですみません。実際の顔の画像を3Dテクスチャ上に貼り付けているような感じを受けますが…よくわかりませんでした。一応実行中に撮影した動画があります。
以上でofxFaceTrackerの簡単なレビューを終わります。
2. Webカメラから取得した画像の一部に切り取り、貼り付けを行い、笑顔いっぱいデモの実装3.複数の画像パーツとその並進、回転を利用した笑い男デモの実装
についてはレビューの記述だけでこの記事がいっぱいになってしまったので次回以降に回します。
0 件のコメント:
コメントを投稿