Strumento per sfocare automaticamente le persone nelle foto [chiuso]


11

Sto cercando un modo per rendere facilmente irriconoscibili le persone nelle foto. Ogni volta che inserisco delle foto (di solito di città e paesaggi) nel mio album online, per prima cosa rendo irriconoscibili tutte le persone riconoscibili, poiché ritengo sia una questione di cortesia educare non pubblicare foto di estranei.

Quindi, sostanzialmente voglio fare più o meno quello che Google fa alle immagini di StreetView. Attualmente, lo sto facendo manualmente per ogni foto, disegnando selezioni di ellissi attorno a tutte le facce in Gimp e quindi usando un filtro di sfocatura sulla selezione.

Esiste uno strumento che mi consente di eseguire questa sfocatura più o meno con un solo clic? Idealmente, mostrandomi tutti i volti riconosciuti nel primo passaggio, quindi lasciandomi deselezionare quelli che non voglio essere sfocato?

(Sfocare altri dettagli personali, come le targhe delle auto, sarebbe anche bello, ma il mio obiettivo principale è trovare uno strumento per sfocare i volti, poiché le persone compaiono spesso sulle foto, mentre il numero totale di targhe leggibili è minimo Inoltre, sto cercando strumenti che offuscano i volti. La pixelation può essere un fallback, ma non si integra con il resto dell'immagine altrettanto bene come la sfocatura.)

Ho cercato tali strumenti già da un po ', ma tutto ciò che trovo sembra appartenere a una delle tre categorie:

  • È pensato per funzionare su smartphone anziché su computer desktop, come questa app .
  • È pensato per i video, come indicato da domande simili come questa o questa o questo articolo .
  • È basato sul Web, quindi tutte le foto devono essere caricate sul server di qualcuno per l'elaborazione e durante la modifica delle foto è necessaria una connessione a Internet, ad esempio con questo servizio o questo editor .

Sto cercando esclusivamente software che gira su Windows e / o Ubuntu senza la necessità di una connessione a Internet (cioè senza strumenti cloud che mi richiedono di caricare tutte le foto per l'elaborazione). Uno strumento gratuito sarebbe bello, ma uno strumento a pagamento è ancora meglio di nessuno strumento.

Risposte:


2

Ho trovato per The GIMP il plug-in Face Detection del 2010 (nessuna garanzia che funzioni ancora):

Immagine

Altrimenti, potresti dover distribuire il tuo software. In questo caso, consultare i seguenti collegamenti:

software di rilevamento del volto
Microsoft Research Face SDK Beta
Intel Perceptual Computing SDK

Di particolare menzione è OpenCV . Vedi Rileva volto quindi ritaglia automaticamente le immagini per un esempio usando Python.


1
Sfortunatamente, non sono riuscito a compilare il plugin. Ho installato una serie di pacchetti richiesti oltre a quelli indicati nell'articolo e ho aggiornato la chiamata in modo cvHaarDetectObjectsche corrisponda all'API corrente (non compatibile con le versioni precedenti?) Con un parametro aggiuntivo, ma gcc ora fallisce con un riferimento indefinito a lrint.
OR Mapper,

lrint fa "arrotondare al numero intero più vicino" ed è definito come "long int lrint (double x)". Dovrebbe essere facile da codificare.
harrymc,

Accetterò questa risposta per ora, poiché è la più utile e sembra promettente. Sfortunatamente, il sistema di ricompensa di SU non mi dà il tempo necessario per provare sufficientemente i vari suggerimenti per determinare la loro eventuale utilità prima che scada la ricompensa ... e avere un lavoro ;-) In altre parole, grazie mille, anche se potrei aggiungere un po ' ulteriori osservazioni in seguito.
OR Mapper

Hmm. Quando aggiungo una definizione per lrint, il compilatore si lamenta delle definizioni in conflitto per lrint, quando non ne aggiungo una, si lamenta di lrintessere un riferimento indefinito.
OR Mapper,

Trova la definizione in questione e basa l'intestazione della funzione su di essa.
harrymc,

5

Se stai bene con le soluzioni "alcuni assemblaggi richiesti", prova a utilizzare "facedetect" (che utilizza semplicemente OpenCV) e ImageMagick. C'è un esempio alla pagina seguente:

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

Un paio di note sull'esempio:

  • Utilizza pixel, ma puoi facilmente sostituire gli operatori "-scale" con un semplice "-blur 0x100".
  • Ogni faccia viene elaborata in modo indipendente nell'esempio, che è esattamente ciò di cui hai bisogno: puoi usare "display -crop GEOMETRY" per mostrare la faccia prima del processo di sfocatura. Con "zenity" o alcuni script di shell è relativamente semplice chiedere se procedere con la sfocatura o meno.

Tuttavia, nessun software di rilevamento del volto è preciso al 100%. Otterrai sia falsi positivi che mancati. In particolare, il profilo OpenCV predefinito non è sicuramente il migliore sul mercato senza formazione aggiuntiva. I falsi positivi vengono facilmente risolti con il metodo che descrivi, ma i fallimenti sono una storia diversa. Dover rivedere tutte le foto manualmente potrebbe non farti risparmiare molto tempo. Immagino che dipenda dalle tue esigenze di precisione.

Per mostrare il rilevamento superimposto usa il flag "-o" su un campione delle tue immagini e vedi se il tasso di rilevamento è adeguato alle tue esigenze.


2

La migliore risposta attuale sembra essere:

https://github.com/openalpr/openalpr

Sfortunatamente, questa è solo una libreria software e solo per il rilevamento . Dovresti integrarlo nel software che ha offuscato.

Ho un bisogno simile, quindi potrei provarlo, ma le mie capacità di programmazione sono un po '... arrugginite.

Google ha avuto lo stesso problema. Hanno pubblicato le loro ricerche qui, ma non il loro codice: http://static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf


Hm, C ++ non è uno dei miei linguaggi principali e al momento non ho tempo per sperimentare, ma un po 'più tardi (settimane? Mesi?), Potrei pensare di provare questo per fare pratica. Tuttavia, dal file readme, sembra che questo sia solo per le targhe, non per i volti?
OR Mapper,

0

Se sei più interessato allo sviluppo di app, puoi provare a utilizzare l'API di Cloudinary. Ecco maggiori informazioni a riguardo: http://cloudinary.com/blog/automatic_face_blurring_in_images_made_easy

Non sono riuscito a trovare nessuna app software che lo fa automaticamente. Potrebbero esserci alcuni plugin per Photoshop o Gimp.


Mi dispiace, avevo già collegato a me stesso quell'articolo nella mia domanda come esempio di ciò che non sto cercando. Non voglio caricare le mie foto su alcuni servizi web perché il trasferimento richiede anni e perché chissà cosa accadrà alle foto una volta sui server di quell'azienda. Se non c'è nulla di autonomo, continuerò a cercare alcuni plugin Gimp.
OR Mapper

@ORMapper: scusa, devo averlo ignorato. facci sapere se trovi qualche app.
Alex,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.