私は、Twitterユーザーのプロフィール写真を使用した小さなプロジェクトに取り組んでいます。
私が遭遇した問題は、鮮明なポートレート写真である画像を除くすべてを除外した後、Twitterユーザーのごく少数のかなりの割合がジャスティンビーバーの写真をプロフィール画像として使用することです。
それらを除外するために、写真がジャスティンビーバーのものかどうかをプログラムでどのように判断できますか?
[justin-bieber]
タグは必要ないと断言できると思います。
私は、Twitterユーザーのプロフィール写真を使用した小さなプロジェクトに取り組んでいます。
私が遭遇した問題は、鮮明なポートレート写真である画像を除くすべてを除外した後、Twitterユーザーのごく少数のかなりの割合がジャスティンビーバーの写真をプロフィール画像として使用することです。
それらを除外するために、写真がジャスティンビーバーのものかどうかをプログラムでどのように判断できますか?
[justin-bieber]
タグは必要ないと断言できると思います。
回答:
より良いアイデアは、複数のユーザーのフィードに表示されるすべての画像を破棄することです。認識は不要です。
ここでは、http://www.tineye.com/commercial_apiが解決策であると感じています。Twitterのプロフィール画像をTineyeに投げるだけで、* *の小さな袋に関連している(または)として明確に識別できる(または単純な単語カウントロジックを使用して自動的に採点できる)画像(および関連するURL)を返すかどうかを確認します。
シンプル!
鮮明なポートレート写真のみをフィルタリングできるため、生の画像を機械学習に役立つ機能に変換する機能生成の方法があると想定しています。それが本当なら、アルゴリズムに既知のビーバーの写真の束と既知の非ビーバーの束を与えることで、分類アルゴリズムのトレーニングを試みることができます(ニューラルネットワークなど)。モデルをトレーニングすると、新しい画像がビーバーかどうかを予測するために使用できます。
この種の教師あり学習テクニックでは、正しい答え(ビーバーかどうか)を知っているデータが必要ですが、それらはおそらくGoogle画像検索で見つけることができます。また、適切な種類の機能を備えている必要があり、画像処理やアルゴリズムについては、それが大きな欠点かどうかを知るのに十分な知識がありません。
eigenfaces、http://en.wikipedia.org/wiki/Eigenfaceなどのメソッドを使用できます。以下は、さまざまな実装へのリンクだけでなく、手順を順を追って説明しています。
http://www.pages.drexel.edu/~sis26/Eigenface%20Tutorial.htm
ここから、これを分類アプローチで使用し、モデルをトレーニングしてからケースを予測するのが一般的です。これを行うには、既知の有名人を対象にトレーニングを行い、Twitterの顔をトレーニング済みの有名人のモデルの1つと予測する場合は削除します。これと同様http://blog.cordiner.net/2010/12/02/eigenfaces-face-recognition-matlab/
これには絶え間ない修正が必要です。すぐに、トレーニングされたモデルには含まれない新しいジャスティンビーバーが登場するため、予測できません。ホイットニーヒューストンのようなケースもあります。彼女を前に追加することを考えたことはないかもしれませんが、彼女は数週間尊敬と賞賛から一般的なイメージかもしれません。ただし、上記のような赤ちゃんの写真の欠点はありません。これらの問題を克服するには、より多くの階層的クラスタリング手法を使用できます。特定のサポートレベルに達した場合に非常に近い最初の数セットのクラスターを削除すると、最初のクラスターには2番目のクラスターが構築される前に15個のアイテムがあります。これで、トレーニングモデルのだれについて心配する必要はありませんが、赤ちゃんの写真の問題に陥ります。
http://face.com/には無料の顔認識APIがあります
自分でそれをしたい場合は、Intelの無料でオープンソースのOpenCV(コンピュータービジョンのCV)プロジェクトを使用することをお勧めします。
その画像が参照している人物を検出するアルゴリズムを適用する必要があります。有名な人格のさまざまな肖像写真に基づいてモデルを構築し、分類器を使用して、この写真がデータベース画像の1つを参照していることを確認できます。モデルの精度を上げるには、目の距離や他のパラメーターなど、顔に好まれるさまざまなパラメーターに基づいて特定の分類器を使用する必要があります。肌の分析もあります。最も重要なのは、適切な分類子を作成することです。この方法は脆弱な場合があります。
しかし、顔認識に取り組んでいる非常に良いプロジェクトもありますhttp://opencv-code.com/Opencv_Face_Detection