Comment construire un anonymiseur d'images pour des tâches conformes au RGPD avec TF2
Notre mission est d'aider les autres à construire de meilleurs modèles de vision par ordinateur, nous avons donc créé un anonymiseur pour vous aider à construire des datasets conformes au RGPD impliquant des personnes.
Picsellia Team
·5 min read

Pret a construire de la vision par ordinateur ?
Des images brutes aux modeles en production. Essai gratuit, sans carte bancaire, resiliable a tout moment.
Beaucoup de tâches en vision par ordinateur nécessitent des images prises dans la nature (c'est-à-dire en rue, lors d'événements, etc.), mais construire un dataset pour des tâches liées au comportement humain peut être délicat. Comme vous devez le savoir, le RGPD n'autorise pas le stockage de photos prises sans consentement.
Ce serait dommage de limiter les applications d'IA à cause du RGPD, n'est-ce pas ? Chez Picsellia, nous sommes dédiés à aider les gens à construire de meilleurs modèles de vision par ordinateur, il était donc logique pour nous de construire un anonymiseur pour vous aider à créer des datasets conformes au RGPD impliquant des personnes.
À quoi ressemble une image conforme au RGPD ?
dataset to anonymize.jpeg
Eh bien, faisons connaissance avec Tom (ne vous inquiétez pas, j'ai trouvé Tom sur Pexels, donc il ne sera pas dérangé).
Comme vous pouvez le voir, 100 % de son visage est visible, ce qui n'est pas tout à fait conforme au RGPD.
En fait, pour être conforme, +50 % de son visage ne devrait pas être visible, de préférence les 50 % supérieurs de son visage pour cacher ses yeux.
dataset hide eyes.jpeg
Comme ça !
Comment construire un détecteur de visages robuste ?
À ce stade, vous devriez avoir une idée de la façon dont nous avons développé notre anonymiseur :
- Construire un détecteur de visages
- Identifier les 60 % supérieurs du visage
- Les flouter
- Ré-écrire l'image
Pourquoi construire votre propre détecteur de visages ?
Je suis sûr que vous avez vu un tas de tutoriels sur comment entraîner un détecteur de visages avec openCV ou autre chose. Ces algorithmes fonctionnent bien pour les photos en gros plan, mais les avez-vous essayés dans la nature ? Eh bien... ce n'est pas vraiment bon. Et surtout, maintenant que le monde vit avec le Covid-19, les algorithmes de détection de visages doivent s'adapter à la nouvelle réalité de tout le monde portant des masques.
En parlant de masques, pour construire notre dataset, nous avons utilisé un dataset de masques faciaux annoté par humans in the loop au début de la pandémie. Il est composé de 6000+ images de personnes portant des masques ou non ; vous pouvez le trouver dans notre Dataset Hub.
datalake faces.png
Avec Picsellia, vous pouvez rapidement accéder à ce dataset et voir la répartition des étiquettes, ici nous avons un total de 10 000+ visages annotés dans la nature.
dataset repartition faces.png
Mais nous ne voulons pas construire un autre détecteur de masques faciaux.
Nous devrons modifier ce dataset un peu afin de créer un dataset adapté à la détection de visages, pour ce faire nous pouvons simplement créer une nouvelle version de ce dataset et fusionner toutes les étiquettes en une seule -> FACE
merge datasets.png
Nous laissons la plateforme travailler un peu, et voilà, nous avons un dataset de 10 000+ visages annotés
datasets details.png
Les images sont vraiment diversifiées mais voici un exemple :
dataset face example.png
Maintenant, entraînons notre modèle
Avant l'entraînement, nous devons réfléchir à ce que nous voulons accomplir. Nous voulions un modèle pour effectuer l'anonymisation à grande vitesse, mais aussi avec un score de confiance élevé, car nous ne pouvons pas nous permettre de jouer manuellement avec le seuil de confiance en permanence.
Nous viserons également un score de précision élevé, puisqu'il ne serait pas logique d'anonymiser seulement une personne sur l'image.
Jetons un coup d'oeil au Hub de modèles de Picsellia, où vous pouvez trouver des architectures de vision par ordinateur basées sur Tensorflow prêtes à entraîner :
picsellia model hub.png
Pour comprendre comment lancer plusieurs entraînements avec différentes architectures avec Picsellia, je vous invite à lire notre dernier article.
Pour cet anonymiseur, nous avons choisi d'utiliser un EfficientDet-d2 pour sa vitesse de convergence et sa précision.
Voici les résultats journalisés dans Picsellia.
training graphs for our EfficientDet.png
training metrics for our EfficientDet.png
Notre entraînement est un peu bruité mais nous avons réussi à obtenir un maP assez bon donc nous utiliserons cela comme base pour notre anonymiseur.
Téléchargeons notre modèle sauvegardé afin de construire notre anonymiseur.
Maintenant que notre modèle est entraîné et exporté, nous pouvons le télécharger pour l'utiliser localement, pour ce faire, il suffit d'aller dans les artefacts de votre expérience et de télécharger le fichier saved_model.zip.
experiments artifacts.png
OK, maintenant que nous avons un détecteur de visages robuste, nous serons en mesure de construire un anonymiseur très rapidement.
anonymizer (part 1).png
D'abord, importons quelques packages et désactivons tous les avertissements de Tensorflow — qui veut vraiment voir des avertissements ?
Vous devriez placer votre répertoire saved_model à la racine de votre projet (ne vous inquiétez pas, le code sera fourni ci-dessous).
Chargeons le saved_model et déclarons une fonction pre_process.
Maintenant vous n'êtes qu'à quelques lignes de code d'avoir un anonymiseur, nous devons seulement extraire les bbox avec un score de confiance élevé, disons 0.5 et plus, et flouter les 70 % supérieurs des visages détectés.
anonymizer (part 2).png
dataset anonymized.jpeg
Et voilà !
Vous pouvez trouver le code ici.
Si vous souhaitez essayer Picsellia vous-même, réservez un appel rapide et demandez un essai ici !
Suggestions Picsellia
Livrez de l'IA visuelle 10x plus vite
Picsellia est la plateforme MLOps de bout en bout pour la vision par ordinateur — de la gestion des donnees au deploiement en production.
Voir la plateformeCentralisez vos donnees visuelles
Stockez, recherchez et organisez des millions d'images en un seul endroit avec des tags, des metadonnees et la recherche par similarite visuelle.
Explorer le DatalakeRestez informe
Recevez les derniers articles sur la vision par ordinateur, le MLOps et l'IA directement dans votre boite mail.
Articles associes

Picsellia au Big Data & AI Paris 2024
Découvrez l'expérience de Picsellia au Big Data & AI Paris, 2024.

SAM et les modeles de fondation en vision par ordinateur
Nous avons explore comment SAM a ete cree pour devenir un outil si puissant. Un modele revolutionnaire non seulement pour Meta, mais pour l'ensemble du paysage de la vision par ordinateur !

L'AutoML remplace-t-il les data scientists ?
Le machine learning a révolutionné la vision par ordinateur et le traitement du langage et transforme désormais la biologie et l'ingénierie.