PHPだけで顔認識する方法
なんとPHPだけで顔認識することができるようです。
こちらに記事が上がってましたので、さっそく自分でもやってみました。
PHPでOpenCVなしのピュアPHPで顔認識するクラスライブラリ「Face_Detector」
結果からみるとこんな感じです。
うまくとれますね。
PHPプログラムの作成方法は簡単でPHPで顔認識のオリジナルのページからソースをコピペして、顔データ集をダウンロードしてPHPファイルと同じフォルダに入れれば簡単に動きます。
ソースコード
<?php //以下のページからソースをコピペ //http://svay.com/blog/index/post/2009/06/19/Face-detection-in-pure-PHP-(without-OpenCV) //30秒処理がかかる場合があるのでリミッタ解除 set_time_limit ( 0 ); //クラス作成 $detector = new Face_Detector('detection.dat');//顔パターンの読み込 $detector->face_detect('3.jpg');//顔認識したい画像の読み込み //顔認識画像を出力 $detector->toJpeg(); exit; //配列で取得 var_dump( $detector->getFace() ); /* array(3) { ["x"]=> float(183.333333333) ["y"]=> float(100) ["w"]=> float(76.6666666667) } */ //Json形式で取得 var_dump( $detector->toJson() ); /* string(47) "{'x':183.333333333, 'y':100, 'w':76.6666666667}" */ exit; ?>
いいことづくめに思われるかも知れませんが、簡単に使用してみたところ、いくつか、むむーってなところがあったので、リスト化
問題点
- 認識率が甘い?
- 顔認識は一つまで(AKB48で試してみた)
- 処理が遅いっぽい(Core2Duo2.8GHzで3秒ほど)
とはいえ手軽に使えるので、すぐに使いたい場合にはとっても便利です(^−^)
こちらもどうぞ
- Face detection in javascript + canvas
- JavaScriptで顔認識@FireFoxなど。こちらは複数の顔認識に対応しててよさげ
- Marilena
- おなじみのFlash版