最近NBNNも学んだことだし、顔という似通っているものを分類するというのはチャレンジングな内容なので、挑戦してみようと思ったと。
とりあえずサクッと実験したかったので、OpenCVを使いつつNBNNを実装して、特徴点検出には高速な Star Detector を、デスクリプタはSIFTと色ヒストグラムを用いました。
クラスを形成するデスクリプタの生成に用いた画像は約15000件で176クラスあります。
下の画像がデスクリプタを登録した画像の一例です。顔の向きは定まっておらず、背景も単色とは限りません。
ちなみに、画像はある方が学習用に用意されていたものを拝借させていただいきました。感謝。
システムの構成は下のようになっています。
クライアントは、今回Chrome Extensionsで作成しましたが、WebAPIがあるのでなんでもいいです。
2000枚程度の画像で実験した結果、分類率は67%程度でした。まずまずの結果でしょうか。
現在、Androidアプリ版クライアントも作成してます。が、完成はいつになることやら・・・。
理想としては、萌えキャラ限定のエデンシステムを作りたいですね(なんの役に立つかはおいといて)。WebAPIも公開したいなと思っています。が、これもいつになることやら・・・。
実際に動作している動画を載せておきます。興味のあるかたはご覧ください。
2012/11/17追記:
とりあえず分類部分だけ公開しました。
http://face.moekyun.net/welcome/index