2017-06-20 8 views
1

"Face Recognition" libを使用して新しい顔を認識したいです。私は100kユーザーのデータセットを持っており、それぞれに3〜5枚の画像があります。私はこのライブラリの使い方を正確に理解していません。「顔認識」(lib)を使用して、100kの既存の顔の間の新しい顔を認識しますか?

この方法があります:

import face_recognition 
known_image = face_recognition.load_image_file("obama.jpg") 
unknown_image = face_recognition.load_image_file("unknown.jpg") 

obama_encoding = face_recognition.face_encodings(known_image)[0] 
unknown_encoding = face_recognition.face_encodings(unknown_image)[0] 

results = face_recognition.compare_faces([obama_encoding], unknown_encoding) 
if results[0] == True: 
    print("It's a picture of Obama!") 
else: 
    print("It's not a picture of Obama!") 

私は、未知の画像中の人物を「特定」するために、全ての画像(100Kユーザー* 5images)を反復する必要がありますか?または、各画像のすべてface_encodings()をデータベースに保存してから、新しい画像のface_encodingを使用してデータベースで検索しますか?これがそうであれば、私のデータセットには同じ人物の5つの異なるイメージがあるという事実から、このメソッドは恩恵を受けませんか?

このライブラリは@ageitgeyです。このarticleにOpenFaceとdlibの別の方法が記載されています.CNNは、結合された人物の5つの画像から128の測定値を計算します。 (スクロールしてStep2) - どの方法が良いですか?私はこの機能を "face recognition" libで見つけることができませんでした。

+0

例によると、これは非常に減少したか、ひどく設計されたライブラリであるようです。このパイプラインに欠落しているステップを追加することが可能かどうかは不明です(すべてのペアをチェックしない、たとえばSVM分類の使用など)。おそらくOpenfaceはこれよりもはるかにオープンであり、SVMベースの分類の例もあるはずです(そして、メトリクス空間におけるface - > pointの一般的なアプローチにはいくつかの利点があります)。 – sascha

答えて

0

私はあなたと同様のプロジェクトに取り組んでいました。ライブラリを使用して画像データセットを訓練する必要があります。トレーニングする画像のセットを選択し、フォルダに配置する必要があります。その人の名前の後にイメージにラベルを付けることを確認してください。次に、トレーニング画像の一部ではないテスト画像(未知の画像)を選択し、フォルダに保存します。

その後、あなたは、単に知らない人には知られて人々のフォルダとフォルダ(または単一の画像)を渡し、コマンドface_recognitionを実行し、各画像には誰かを示します:

$ face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/ 

/unknown_pictures/unknown.jpg,Barack Obama 
/face_recognition_test/unknown_pictures/unknown.jpg,unknown_person 

1行があります各面の出力に表示されます。データはカンマ区切りで、ファイル名と見つかった人物の名前で区切られます。

+0

コードをスキミングすると、まだペアワイズチェックが行われているようです。これを確認できますか(うまく調整できません)? – sascha

+0

@saschaはい、これは、大量のファイルを実行するときにいくつかの作業が必要になります。しかし、彼は100のファイルを持っているので。それはよく訓練を受け、 – karthik006

+0

を働かせなければならないので、私は同じ人の複数のイメージを使用できませんか?または私はまた、各ユーザーのためのフォルダを作成し、その人の後に呼ばれるフォルダにユーザーのすべてのイメージを置くことができますか? =>リンクした記事をスクロールダウンすると、OpenFaceを使って人のあらゆるイメージから恩恵を受けることができます。ここであなたはしない? – Suisse