Outil pour brouiller automatiquement les personnes dans les photos [fermé]


11

Je cherche un moyen de rendre facilement les gens méconnaissables sur les photos. Chaque fois que je mets des photos (généralement des villes et des paysages) dans mon album en ligne, je commence par rendre toutes les personnes reconnaissables méconnaissables, car je pense que c'est une question fondamentale de politesse de ne pas publier de photos d'étrangers.

Donc, je veux essentiellement faire plus ou moins ce que Google fait aux images StreetView. Actuellement, je fais cela manuellement pour chaque photo, en dessinant des sélections d'ellipse autour de tous les visages dans Gimp, puis en utilisant un filtre de flou sur la sélection.

Existe-t-il un outil qui me permet de faire ce flou plus ou moins en un seul clic? Idéalement, en me montrant tous les visages reconnus dans un premier temps, puis en me laissant désélectionner ceux dont je ne veux pas être floutés?

(Brouiller d'autres détails personnels, tels que les plaques d'immatriculation des voitures, serait bien aussi, mais mon objectif principal est de trouver un tel outil pour brouiller les visages, car les gens apparaissent souvent sur les photos, tandis que le nombre total de plaques d'immatriculation lisibles est minime De plus, je recherche des outils qui brouillent les visages. La pixellisation peut être un repli, mais elle ne s'intègre pas aussi bien avec le reste de l'image que le flou.)

Je recherche de tels outils depuis un certain temps déjà, mais tout ce que je trouve semble appartenir à l'une des trois catégories suivantes:

  • Il est destiné à fonctionner sur les smartphones plutôt que sur les ordinateurs de bureau, tels que cette application .
  • Il est destiné aux vidéos, comme indiqué par des questions similaires comme ceci ou cela , ou cet article .
  • Il est basé sur le Web, donc toutes les photos doivent être téléchargées sur le serveur de quelqu'un pour le traitement, et une connexion Internet est requise lors de la modification des photos, comme avec ce service ou cet éditeur .

Je recherche exclusivement des logiciels fonctionnant sous Windows et / ou Ubuntu sans avoir besoin d'une connexion Internet (c'est-à-dire sans outils cloud qui me demandent de télécharger toutes les photos pour le traitement). Un outil gratuit serait bien, mais un outil payant vaut toujours mieux que pas d'outil du tout.

Réponses:


2

J'ai trouvé pour The GIMP le plugin de détection de visage de 2010 (aucune garantie qu'il fonctionne toujours):

image

Sinon, vous devrez peut-être déployer votre propre logiciel. Dans ce cas, consultez les liens suivants:

logiciel de détection des visages
Microsoft Research Face SDK Beta
Intel Perceptual Computing SDK

OpenCV est une mention spéciale . Voir Détecter le visage puis recadrer automatiquement les images pour un exemple utilisant python.


1
Malheureusement, je n'ai pas pu compiler le plugin. J'ai installé un tas de packages requis au-delà de ceux indiqués dans l'article et j'ai mis à jour l'appel pour cvHaarDetectObjectscorrespondre à l'API actuelle (non rétrocompatible?) Avec un paramètre supplémentaire, mais gcc échoue maintenant sur une référence non définie à lrint.
OR Mapper

lrint fait "arrondir à l'entier le plus proche" et est défini comme "long int lrint (double x)". Doit être facile à coder.
harrymc

J'accepte cette réponse pour l'instant, car elle est la plus utile et semble prometteuse. Malheureusement, le système de primes de SU ne me donne pas le temps nécessaire pour essayer suffisamment les différentes suggestions pour déterminer leur éventuelle utilité avant l'expiration de la prime ... et avoir un travail ;-) En d'autres termes, merci beaucoup, bien que je puisse ajouter quelques remarques supplémentaires plus tard.
OR Mapper

Hmm. Lorsque j'ajoute une définition pour lrint, le compilateur se plaint de définitions conflictuelles car lrint, lorsque je n'en ajoute pas, il se plaint d' lrintêtre une référence non définie.
OR Mapper

Trouvez la définition en question et basez-y votre en-tête de fonction.
harrymc

5

Si vous êtes d'accord avec les solutions "certains assemblages requis", essayez d'utiliser "facesetect" (qui utilise simplement OpenCV) et ImageMagick. Il y a un exemple à la page suivante:

http://www.thregr.org/~wavexx/hacks/facedetect/#blurred-faces-within-an-image

Quelques notes sur l'exemple:

  • Il utilise la pixellisation, mais vous pouvez facilement remplacer les opérateurs "-scale" par un simple "-blur 0x100".
  • Chaque visage est traité indépendamment dans l'exemple, ce qui est exactement ce dont vous avez besoin: vous pouvez utiliser "display -crop GEOMETRY" pour afficher le visage avant le processus de flou. Avec "zenity" ou certains scripts shell, il est relativement simple de demander s'il faut procéder au flou ou non.

Cependant, aucun logiciel de détection de visage n'est précis à 100%. Vous obtiendrez à la fois des faux positifs et des ratés. En particulier, le profil OpenCV par défaut n'est certainement pas le meilleur du marché sans formation supplémentaire. Les faux positifs sont faciles à contourner avec la méthode que vous décrivez, mais les échecs sont une autre histoire. La vérification manuelle de toutes les photos peut ne pas vous faire gagner beaucoup de temps. Je suppose que cela dépend de vos exigences de précision.

Pour afficher la détection superposée, utilisez l'indicateur "-o" sur un échantillon de vos images et voyez si le taux de détection est adapté à vos besoins.


2

La meilleure réponse actuelle semble être:

https://github.com/openalpr/openalpr

Malheureusement, ce n'est qu'une bibliothèque de logiciels et uniquement pour la détection . Vous auriez besoin d'intégrer cela dans un logiciel qui a fait le flou.

J'ai un besoin similaire, donc je pourrais essayer, mais mes compétences en programmation sont un peu ... rouillées.

Google a eu le même problème. Ils ont publié leurs recherches ici, mais pas leur code: http://static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf


Hm, C ++ n'est pas un de mes langages principaux, et je n'ai actuellement pas le temps d'expérimenter, mais un peu plus tard (semaines? Mois?), Je pourrais penser à essayer ceci pour la pratique. Cependant, à partir du fichier Lisez-moi, il semble que ce soit uniquement pour les plaques d'immatriculation, pas pour les visages?
OR Mapper

0

Si vous êtes plus dans le développement d'applications, vous pouvez essayer d'utiliser l'API de Cloudinary. Voici plus d'informations à ce sujet: http://cloudinary.com/blog/automatic_face_blurred_in_images_made_easy

Je n'ai trouvé aucune application logicielle qui le fasse automatiquement. Il peut y avoir des plugins pour Photoshop ou Gimp.


Je suis désolé, j'avais déjà lié cet article dans ma question comme exemple de ce que je ne cherche pas . Je ne veux pas télécharger mes photos sur un service Web parce que le transfert prend du temps et parce qui sait ce qu'il adviendra des photos une fois sur les serveurs de cette entreprise. S'il n'y a rien de autonome, je continuerai à chercher un plugin Gimp.
OR Mapper

@ORMapper: désolé, je dois ignorer cela. faites-nous savoir si vous trouvez une application.
Alex
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.