リソース|Pythonベースのオープンソース顔認識ライブラリ:オフライン認識率99.38%


使用のみ Python コマンドラインと顔認識のライブラリオープンソースを実現できます.ライブラリの使用 dlib トップレベルの深さ学習顔認識技術構築、屋外顔検出データベース基準(Labeled) Faces in the Wild benchmark)の精度は 99.38%.
このプロジェクトは、無料、オープンソース、リアルタイム、オフラインのネットワークを構築します. appは、組織者が顔認識技術またはQRコードを使用してすべての招待者を識別することをサポートする.
世界で最も簡単な顔認識ライブラリがあり、 Python あるいはコマンドラインで、顔を認識して制御することができます.
ライブラリの使用 dlib トップレベルの深さ学習顔認識技術構築、屋外顔検出データベース基準(Labeled) Faces in the Wild benchmark)の精度は 99.38%.
これも簡単な face_recognition コマンドラインツールでは、コマンドラインの任意の画像フォルダを開き、顔認識を行うことができます.
プロジェクトのアドレス:https://github.com/ageitgey/face_recognition#face-recognition
とくせい
画像の中の人の顔を探し出す
次の画像のすべての顔を見つけます.
import face_recognition image = face_recognition.load_image_file("your_file.jpg") face_locations = face_recognition.face_locations(image)
画像の顔の特徴を見つけて制御する
一人一人の目、鼻、口、あごを見つけて描きます.
import face_recognition image = face_recognition.load_image_file("your_file.jpg") face_landmarks_list = face_recognition.face_landmarks(image)
顔の特徴を見つけることは多くの重要なことに役立ちます.デジタルメイク(美図):
画像の中の顔を識別する
各画像の人物を識別します.
import face_recognition known_image = face_recognition.load_image_file("biden.jpg") unknown_image = face_recognition.load_image_file("unknown.jpg") biden_encoding = face_recognition.face_encodings(known_image)[0] unknown_encoding = face_recognition.face_encodings(unknown_image)[0] results = face_recognition.compare_faces([biden_encoding], unknown_encoding)
ライブラリや他の Python ライブラリはリアルタイムの顔認識を実行します.
コードの例を表示します.https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py
インストール
要件:
  • Python 3+ または Python 2.7
  • macOS または Linux (Windows 未テスト)
  • はベリーパイでも 2+で実行します(具体的な指示に従って実行をインストールします:https://gist.github.com/ageitgey/1ac8dbe8572f3f533df6269dab35df65)
  • 事前構成 VM 画像も使用できます.

  • pin 3を使用してpypiからこのモジュールをインストールします.
    pip3 install face_recognition
    重要ヒント:pip コンパイルを試みる dlib 依存するといくつかの問題に直面する可能性が高い.問題が発生した場合は、そのアドレス(https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf)ソースから pip)にインストール dlibは、エラーを修正します.
    手動インストール dlib 後、再運転 pip3 install face_recognition、インストールを完了します.
    インストールに問題がある場合は、事前構成を試してみることもできます. VM(https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b)
    用途
    コマンドラインインタフェース
    インストール face_recognition という名前の face_recognition 写真や写真がいっぱい入ったフォルダの顔を識別するために使用できる簡単なコマンドラインプログラム.
    まず、画像を含むフォルダを提供し、各画像の誰もが知っている必要があります.誰もが画像ファイルを持っています.ファイル名は画像の中の人物の名前です.
    次に、認識したい画像ファイルを含むフォルダを再構築する必要があります.
    その後、既知の人物フォルダと未知の人物フォルダ(または単一の画像)でのみ実行する必要があります. 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行のみで、ファイル名と見つかった人物名で構成され、中間はカンマで区切られています.
     unknown_person は、既知の人物フォルダ内の任意の写真と一致しない顔です.
    各写真の人物の名前だけを知りたい場合は、ファイル名を気にしないで、以下の方法を採用することができます.
    $ face_recognition ./pictures_of_people_i_know/./unknown_pictures/| cut -d ',' -f2 Barack Obama unknown_person
    もしあなたのパソコンにマルチコアがあれば CPUでは、複数の顔認識タスクを同時に実行できます.例えば、システムに 4 個 CPU 核、あなたは同時にこれを使うことができます 4 個 CPU コアは、同じ時間に処理される画像の数が元の4倍になります.
    もしあなたが Python 3.4 または更新されたバージョン、転送--cpus パラメータ:
    $ face_recognition -cpus 4 ./pictures_of_people_i_know/./unknown_pictures/
    また、cpusに転送することもできます. -1、システム内のすべての CPU 核.
    Python モジュール
    使用 face_recognition モジュール、数行のコードは簡単に人の顔を制御して、so easy!
    API ファイルアドレス:https://face-recognition.readthedocs.io 
    自動位置決め画像における人物の顔の特徴
    import face_recognition image = face_recognition.load_image_file("my_picture.jpg") face_locations = face_recognition.face_locations(image) # face_locations is now an array listing the co-ordinates of each face!
    画像の顔認識
    import face_recognition picture_of_me = face_recognition.load_image_file("me.jpg") my_face_encoding = face_recognition.face_encodings(picture_of_me)[0] # my_face_encoding now contains a universal 'encoding' of my facial features that can be compared to any other picture of a face! unknown_picture = face_recognition.load_image_file("unknown.jpg") unknown_face_encoding = face_recognition.face_encodings(unknown_picture)[0] # Now we can see the two face encodings are of the same person with `compare_faces`! results = face_recognition.compare_faces([my_face_encoding], unknown_face_encoding)if results[0] == True:    print("It's a picture of me!")else:    print("It's not a picture of me!")
    注意事項
    この顔認識モデルは成人写真訓練に基づいているため,児童写真の認識効果はよくない.このモデルのデフォルト比較しきい値は 0.6、子供の顔を混同しやすい.
    このモデルをクラウドホスト(Heroku,AWS)に構成する など)
    face_recognition 存在に頼る dlib はい C++言語で書かれているので、このモデルの app 設定先 Heroku または AWS などのクラウドホストプロバイダは複雑です.にある repo の中の一つ Dockerfile 例として、 Docker コンテナ内でのビルトインの実行 face_recognition モデル app(詳細はこのURLを参照:https://www.docker.com/).この例を参照すると、モデルをサポートに構成できます. Docker 画像のサービス.
    よくある質問
    質問:使用 face_recognition または、サンプルの実行時に表示されます. Illegal instruction (core dumped).
    ソリューション:dlib 必要な SSE4 または AVX コンパイルはサポートされていますが、あなたの CPU 古くてコンパイルをサポートできません.ここに従う必要があります(https://github.com/ageitgey/face_recognition/issues/11#issuecomment-287398611)に示すコードを修正し、 dilb を作成します.
    問題:カメラのサンプルを実行すると、 RuntimeError: Unsupported image type, must be 8bit gray or RGB image.
    解決策:あなたのカメラは OpenCV で行ないます.ここをクリック(https://github.com/ageitgey/face_recognition/issues/21#issuecomment-2877779524)詳細はこちら.
    質問:実行 pip2 install face_recognition に表示されます. MemoryError.
    ソリューション:face_recognition_models ファイルが大きすぎて、あなたが利用できるものには向いていません. pip メモリをキャッシュします.やってみる pip2 --no-cache-dir install face_recognition、この問題を解決します.
    質問:AttributeError: 'module' object has no attribute 'face_recognition_model_v1'
    ソリューション:あなたがインストールした dlib バージョンが古い、必要 19.4 または更新されたバージョン.アップグレードしてください dlib バージョン.
    質問:TypeError: imread() got an unexpected keyword argument 'mode'
    ソリューション:あなたがインストールした scipy バージョンが古い、必要 0.17 または更新されたバージョン.アップグレードしてください scipy バージョン.
    Githubから選択:https://github.com/ageitgey/face_recognition#face-recognition   
    マシンの心コンパイル、原文リンク:https://mp.weixin.qq.com/s/DYCXef_09yFFNR0uHL2Q0Q