[PYTHON] J'ai essayé d'utiliser face_recognition

J'ai trouvé un article sur la reconnaissance faciale et l'ai essayé, mais cela ne s'est pas bien passé, alors je vais l'écrire.

L'authentification faciale peut être effectuée à l'aide de Python. De plus, la bibliothèque est ouverte au public. De plus, cela semble facile. Premier article que j'ai vu: https://www.cresco.co.jp/blog/entry/9468/

Je me demandais simplement si la reconnaissance faciale pouvait être utilisée pour des choses qui posent problème dans les affaires. Je l'ai vu pour la première fois avec une sensation légère comme "il suffit de l'installer avec pip".

>pip3 install face_recognition

J'ai eu une erreur lors de l'installation et je n'ai pas pu continuer du tout ... J'ai cherché sur Google en regardant l'anglais illisible

J'étais en colère parce que je n'avais pas de roue. Qu'est-ce que c'est? Cela semble être un zip pour la distribution python.

>pip install -U wheel

Encore plus d'erreurs dlib

En premier lieu, face_recognition semble être pour utiliser une bibliothèque de reconnaissance faciale appelée dlib. Est-ce un wrapper pour python? Référence: https://qiita.com/nonbiri15/items/f95b5fb01ae38980c9ce

Il semble que dlib doive être installé.

>pip3 install dlib

Après que toutes les erreurs se soient déroulées

Il semble que dlib soit fait en C Il semble que CMAKE soit nécessaire. cmake-3.18.0-rc2-win64-x64.msi ↑ DL et installer

Encore plus ~ Il semble se construire avec VC ++ (c'est vrai) Référence: https://qiita.com/strv13570/items/a0542600532deee61391 J'avais Visualstudio 2017, mais je ne voulais pas toucher VC ++, donc je ne l'ai pas fait. Puisqu'il n'y a aucune aide pour cela, changez-le pour utiliser VC ++ et installez-le

Comme mentionné ci-dessus, définissez le chemin, etc. selon le cas (confirmation)

>pip3 install dlib
 ・
 ・
 ・
Successfully installed dlib-19.20.0

Enfin, j'ai passé dlib.

pip3 install face_recognition
 ・
 ・
 ・
 Successfully installed Pillow-7.1.2 face-recognition-1.3.0 numpy-1.19.0

C'était un long chemin pour enfin l'installer ... J'ai pensé à Gugu, pourquoi tout le monde a-t-il mis Anakonda? ?? Est-ce des affaires?

Pour le moment, créez deux dossiers en référence au site, mettez-y des photos et essayez-le. Comment l'utiliser comme créer un dossier de visage connu et un dossier de visage inconnu, les mettre dans chacun et prendre un diff. J'ai essayé chacun ci-dessous. face.png

face2.png

Comme mentionné ci-dessus, l'intention de la revue d'utilisation est devenue un mémo d'installation ...

J'ai l'intention d'essayer diverses autres choses Référence: https://www.kkaneko.jp/dblab/dlib/facerec.html

Post-scriptum: ↑ J'ai regardé le site et l'ai essayé

import face_recognition

src_img = face_recognition.load_image_file("./face/obama.png ")
src_img_encoding = face_recognition.face_encodings(src_img)[0]
 print(src_img_encoding)

img1="./face2/tosi.png "
img2="./face2/tosi2.png "
img3="./face2/tosi3.png "

dest_img1 = face_recognition.load_image_file(img1)
dest_img_encoding1 = face_recognition.face_encodings(dest_img1)[0]

dest_img_encoding2 = face_recognition.face_encodings(face_recognition.load_image_file(img2))[0]
dest_img_encoding3 = face_recognition.face_encodings(face_recognition.load_image_file(img3))[0]

results = face_recognition.compare_faces([src_img_encoding], dest_img_encoding1)
print(img1 , results)
results = face_recognition.compare_faces([src_img_encoding], dest_img_encoding2)
print(img2 , results)
results = face_recognition.compare_faces([src_img_encoding], dest_img_encoding3)
print(img3 , results)
>test_face.py
./face2/tosi.png [False]
./face2/tosi2.png [False]
./face2/tosi3.png [True]

Process finished with exit code 0

Vous pouvez quantifier et comparer les traits du visage C’est vraiment facile! !!

Recommended Posts

J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser Summpy
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser Jupyter
J'ai essayé d'utiliser doctest
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps
[J'ai essayé d'utiliser Pythonista 3] Introduction
J'ai essayé d'utiliser easydict (mémo).
J'ai essayé la reconnaissance faciale avec Face ++
J'ai essayé d'utiliser RandomForest
J'ai essayé d'utiliser BigQuery ML
J'ai essayé d'utiliser Amazon Glacier
J'ai essayé d'utiliser git inspector
J'ai essayé d'utiliser magenta / TensorFlow
J'ai essayé d'utiliser AWS Chalice
J'ai essayé d'utiliser l'émojinateur Slack
J'ai essayé d'utiliser Rotrics Dex Arm # 2
J'ai essayé d'utiliser Rotrics Dex Arm
J'ai essayé d'utiliser GrabCut d'OpenCV
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé de communiquer avec le client serveur en utilisant tmux
J'ai essayé l'apprentissage par renforcement avec PyBrain
J'ai essayé l'apprentissage en profondeur avec Theano
J'ai essayé d'utiliser le notebook jupyter d'une manière ou d'une autre
[Kaggle] J'ai essayé le sous-échantillonnage en utilisant un apprentissage déséquilibré
J'ai essayé de photographier une vague de tortue en utilisant OpenPose
J'ai essayé d'utiliser l'API checkio
J'ai essayé le traitement asynchrone en utilisant asyncio
J'ai essayé de gratter
J'ai essayé PyQ
J'ai essayé AutoKeras
J'ai essayé le moulin à papier
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
J'ai essayé d'utiliser Amazon SQS avec django-celery
J'ai essayé d'utiliser Azure Speech to Text.