Ce projet permet de floutez les visages des personnes présentes dans une liste d'images prédéfinies.
Fork ageitgey
Il a été codé sous Linux mais peut fonctionner sous Windows.
sudo apt-get install python3 git
sudo apt-get install python3-pip
pip3 install face_recognition Pillow scikit_learn
git clone https://github.com/av1m/blur_face_recognition.git
pip install face_recognition Pillow scikit_learn
git clone https://github.com/av1m/blur_face_recognition.git
Après le clonage du projet avec la commande:
git clone https://github.com/av1m/blur_face_recognition.git
Le projet contient:
dossier img/
: Toutes les images (formation pour reconnaître les personnes, les images avant et les images après le flou)
dossier img/train
: Vous permet d'apprendre le visage d'une personne.
Chaque personne doit être placée dans un sous-dossier.
Par exemple: img/train/avi/ avec toutes les images du visage d'Avi
img/train/edward/ avec toutes les images du visage d'Edward
Structure :
<train>/
├── <person1>/
│ ├── <somename1>.jpeg
│ ├── <somename2>.png
│ ├── ...
├── <person2>/
│ ├── <somename1>.jpg
│ └── <somename2>.jpeg
└── ...
recognition.py
: Toutes les fonctions permettant de reconnaître les visages, de vérifier si un visage existe et d’appliquer enfin un flou sur le visage qui correspond à un visage se trouvant dans le dossiers train/
main.py
: Appel Recognition.py et exécute
trained_modal.clf
: Contient les images d'entraînement (reconnaissance faciale) du fichier img/train. Ce fichier est créé automatiquement
Une fois que vous avez rempli le dossier img/train/ avec les différents visages des personnes, remplissez le dossier img/test/.
Enfin, lancez python3 (or python) main.py
Si c'est la première fois que vous exécutez le script, le programme devra s'exercer à reconnaître les visages (vérifiez si le fichier 'trained_modal.clf' existe)
Un img/output/
dossier est créé à la fin et contient toutes les images du dossier de test mais avec les visages flous
Pour cet exemple, je vais utiliser le visage de l'acteur Jason Statham.
J'essaie de brouiller l'image d'une seule personne, mon fichier img/train/ ne contient donc qu'un sous-dossier (ici img/train/statham/)
Je mets une multitude de photos ou je veux que la tête de 'statham' soit floue dans le dossier img/test/
Ce dossier contient des photos de 'statham alone', 'statham with other people' et enfin des photos ou 'statham n'apparaît pas'.
J'exécute main.py et j'ai une sortie de répertoire qui est créée.
Structure de cet exemple:
<img>/
├── <train>/
│ ├── <statham>/
│ │ ├── <statham1>.jpeg
│ │ ├── <jason>.png
│ │ ├── <statham273>.png
│ │ ├── ...
│ └──
├── <test>/
│ ├── <IMG01>.jpg
│ ├── <IMG02>.jpg
│ ├── ..
│ └──
├── <output>/
│ ├── <IMG01_blur>.jpg
│ ├── <IMG02_blur>.jpg
│ ├── ..
│ └──
└──