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