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