Flouter des visages à l'aide de la reconnaissance faciale

Jason Statham Blurring Faces Example 1

Description

Ce projet permet de floutez les visages des personnes présentes dans une liste d'images prédéfinies.

Fork ageitgey

Requirements :


  • Python 3
  • face_recognition
  • Pillow
  • scikit_learn

  • Installation

    Il a été codé sous Linux mais peut fonctionner sous Windows.

    Installation sur Linux

    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

    Installation sous Windows

    1. Installez python à travers ce link et mettre python dans le PATH + installez pip
    2. exécuter la commande:
      pip install face_recognition Pillow scikit_learn  
      git clone https://github.com/av1m/blur_face_recognition.git

    Documentation & Mise en route (getting started)

    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

    Exécuter le projet

    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

    Exemples

    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  
        │   ├── ..  
        │   └──
        └──

    Example :
    Jason Statham Blurring Faces Example 2

    License

    License MIT

    Autres projets