2010/08/31

顔認識WEBAPIを利用したプリクラ風顔写真製造機

以前友達とプリクラを撮ったのですが、その写真の加工の仕方にかなり驚くと同時に興味をもちました。 
どうやらプリクラ機体では顔を認識し、目をデカくしてパッチリさせたり、多少露骨な美白処理を行っているようです。 
そういう処理をWEBでやってみたいと思っていたところ、折よくWEBで顔認識APIを公開しているところがあったので、夏休みの工作がてらつくってみたというわけです。 

2013/3/31 追記:飽きたので停止しました使い方 
syame@mail.etsukata.com 
1.上記のメールアドレスに、顔の写った写真を添付して送る 
2.うまく顔認識できた場合上記のアドレスから、加工した写真が添付されてくる。顔認識できなかった場合はエラーメッセージが返信される。 

※パソコンでも携帯でも大丈夫です。 
※サポートしている写真の形式はjpg, jpeg, png, gifです。 
※写真は一度に何枚添付してもらっても構いません。 
※左目と右目を結んだ線が水平になるように撮ったほうが良いと思います。 
※正面を向いたほうが、顔認識されやすいです。 
exclamation ×2僕に見られるとまずい写真は送信しないほうがいいとおもいます。 

使用したWEBAPI : http://face.com 


技術的な事:


使用している言語はPHPです。理由はface.comにPHP用のライブラリがあったからです。
opencvを利用すればわざわざWEBAPIを利用せずに済むのですが、目や鼻の座標まで特定するのは難しいようです。
他にも顔認識WEBAPIは存在しますが、自分がためした限りでは今現在のところ一番精度が高く、優秀なのはface.comのものであるように思いました。
他の顔認識WEBAPI
http://detectface.com/
http://kaolabo.com/webapi

美白フィルターについてですが、画像全体に対して彩度を下げ明度を上げるという処理をしています。それに加え、顔の中心の座標の色相を抽出し、似た色相のピクセルに対して、より彩度を下げ、明度を上げる処理を加えています。
デカ目フィルターは今のところ適当に目を切り抜いて貼りつけているだけです。
いまのところbeta版のため、美白フィルターがいまいちであったり、目をデカくするのがうまくいかなかったりします。ある友人の顔で試したところ、眉毛を目と認識してしまい、眉毛がデカくなった写真が返ってきてしましました。 

要望や、バグレポート等大歓迎です。 
自分を実験台にした写真を添えておきます。