PHPでも顔認識してみようぜ!!    株式会社ソフトレット     山崎誠 (@letkun)                     1
• 株式会社ソフトレットの紹介   WEBアプリケーション(主にPHP)の開発   スマホアプリの開発 (Android、iPhone、iPad)          softolet.com          (株)ソフトレット 山崎誠 @le...
今日はPHPから画像の顔認識を試してやってみたいと思います!   (株)ソフトレット 山崎誠 @letkun   3
まず「OpenCV」とは  米 Intel 社で開発された画像処理・画像認識用の            C言語ライブラリです。         (株)ソフトレット 山崎誠 @letkun   4
まず準備するもの(株)ソフトレット 山崎誠 @letkun   5
PHPを動かすサーバー (株)ソフトレット 山崎誠 @letkun   6
• 今回サーバーはAmazonWebService の  EC2-microインスタンスを利用しました。• 1時間あたり 0.027$• 1か月間起動していても、たったの1,566円          (78円換算)今回のような「お試し」環境を...
それ以外に、今回準備したもの• Apache+ PHP 5.3• OpenCVをビルドする為のライブラリ    zlib、libjpeg、libpng、jasper、及び    それぞれのdevel• OpenCV 本体 (今回は 1.0,0)...
php.ini に以下を追加して、Apacheを再起動すれば  使えるようになります。 ; Directory in which the loadable extensions (modules) reside. ; http://www.ph...
ちなみに結構ネット上に やり方転がってます。 (株)ソフトレット 山崎誠 @letkun   10
さっそく使ってみましょう  (株)ソフトレット 山崎誠 @letkun   11
以下のような画面を2つ作成しました。  画像アップロード用                      顔認識して、結果を                                 顔認識して、結果を  画像アップロード用         ...
phpでのポイントは以下のface_detect()を  CALLする部分のみです。 (簡単) // POSTされた画像の取出し if (is_uploaded_file($_FILES["image1"]["tmp_name"])) {   ...
それでは、実際に画像をPOSTしてみます      (株)ソフトレット 山崎誠 @letkun   14
①手島優さん。いつもお世話になってます。m(__)m   (株)ソフトレット 山崎誠 @letkun   15
②2名の場合、麻里子様(AKB) やっぱり、かわいい・・・  (株)ソフトレット 山崎誠 @letkun   16
③2名でいけるなら・・・AKB大勢(12名)     もう!最高ですね☆     (株)ソフトレット 山崎誠 @letkun   17
④アニメはどうなのか? 世紀末救世主伝説(株)ソフトレット 山崎誠 @letkun   18
感想と考察(株)ソフトレット 山崎誠 @letkun   19
• OpenCVは1.0.0 を使用したが、本来2.0以降を使用し  たかった。  ビルド上の問題で断念。• 検出器(XML)の調整も必要だが、検出が今一甘い。• サーバー側で検出するので、スマートフォンや  携帯からでも組み合わせのシステムを...
ご清聴ありがとうございました。   (株)ソフトレット 山崎誠 @letkun   21
Upcoming SlideShare
Loading in …5
×

2011-11-24 PHP勉強会 LT用資料

795 views

Published on

  • Be the first to comment

  • Be the first to like this

2011-11-24 PHP勉強会 LT用資料

  1. 1. PHPでも顔認識してみようぜ!! 株式会社ソフトレット 山崎誠 (@letkun) 1
  2. 2. • 株式会社ソフトレットの紹介 WEBアプリケーション(主にPHP)の開発 スマホアプリの開発 (Android、iPhone、iPad) softolet.com (株)ソフトレット 山崎誠 @letkun 2
  3. 3. 今日はPHPから画像の顔認識を試してやってみたいと思います! (株)ソフトレット 山崎誠 @letkun 3
  4. 4. まず「OpenCV」とは 米 Intel 社で開発された画像処理・画像認識用の C言語ライブラリです。 (株)ソフトレット 山崎誠 @letkun 4
  5. 5. まず準備するもの(株)ソフトレット 山崎誠 @letkun 5
  6. 6. PHPを動かすサーバー (株)ソフトレット 山崎誠 @letkun 6
  7. 7. • 今回サーバーはAmazonWebService の EC2-microインスタンスを利用しました。• 1時間あたり 0.027$• 1か月間起動していても、たったの1,566円 (78円換算)今回のような「お試し」環境を作成する場合等に便利です。 (株)ソフトレット 山崎誠 @letkun 7
  8. 8. それ以外に、今回準備したもの• Apache+ PHP 5.3• OpenCVをビルドする為のライブラリ zlib、libjpeg、libpng、jasper、及び それぞれのdevel• OpenCV 本体 (今回は 1.0,0)• Facedetect (PHP用のExtension) (株)ソフトレット 山崎誠 @letkun 8
  9. 9. php.ini に以下を追加して、Apacheを再起動すれば 使えるようになります。 ; Directory in which the loadable extensions (modules) reside. ; http://www.php.net/manual/en/ini.core.php#ini.extension-dir ; extension_dir = "./" extension_dir = "/usr/lib/php/modules/" extension = face_detect.so ; Whether or not to enable the dl() function. The dl() function does NOT work ; properly in multithreaded servers, such as IIS or Zeus, and is automatically ; disabled on them. ; http://www.php.net/manual/en/info.configuration.php#ini.enable-dl enable_dl = Off (株)ソフトレット 山崎誠 @letkun 9
  10. 10. ちなみに結構ネット上に やり方転がってます。 (株)ソフトレット 山崎誠 @letkun 10
  11. 11. さっそく使ってみましょう (株)ソフトレット 山崎誠 @letkun 11
  12. 12. 以下のような画面を2つ作成しました。 画像アップロード用 顔認識して、結果を 顔認識して、結果を 画像アップロード用 出力するPHP HTML HTML 出力するPHP 画像をPOSTする (株)ソフトレット 山崎誠 @letkun 12
  13. 13. phpでのポイントは以下のface_detect()を CALLする部分のみです。 (簡単) // POSTされた画像の取出し if (is_uploaded_file($_FILES["image1"]["tmp_name"])) { $upfile = "./upfile/".$_FILES["image1"]["name"]; move_uploaded_file($_FILES[image1][tmp_name], $upfile); } else exit(); $file_path = $upfile; // upload画像を入力する $cascade = ‘./haarcascade_frontalface_alt.xml’; // 正面顔検出器 $faces = face_detect( $file_path, $cascade ); // 以降で $facesの内容を処理する // $faces は、連像配列で、検出した顔の数分 $f[‘x’]、 $f[‘y’]、 // $f[‘width’]、 $f[‘height’] を返します。 (株)ソフトレット 山崎誠 @letkun 13
  14. 14. それでは、実際に画像をPOSTしてみます (株)ソフトレット 山崎誠 @letkun 14
  15. 15. ①手島優さん。いつもお世話になってます。m(__)m (株)ソフトレット 山崎誠 @letkun 15
  16. 16. ②2名の場合、麻里子様(AKB) やっぱり、かわいい・・・ (株)ソフトレット 山崎誠 @letkun 16
  17. 17. ③2名でいけるなら・・・AKB大勢(12名) もう!最高ですね☆ (株)ソフトレット 山崎誠 @letkun 17
  18. 18. ④アニメはどうなのか? 世紀末救世主伝説(株)ソフトレット 山崎誠 @letkun 18
  19. 19. 感想と考察(株)ソフトレット 山崎誠 @letkun 19
  20. 20. • OpenCVは1.0.0 を使用したが、本来2.0以降を使用し たかった。 ビルド上の問題で断念。• 検出器(XML)の調整も必要だが、検出が今一甘い。• サーバー側で検出するので、スマートフォンや 携帯からでも組み合わせのシステムを作れるかも? (株)ソフトレット 山崎誠 @letkun 20
  21. 21. ご清聴ありがとうございました。 (株)ソフトレット 山崎誠 @letkun 21

×