Litterae.eu
Humanities & IT


Riconoscimento facciale con Ubuntu, aggiornamento aprile 2023

Qualche anno fa avevo parlato di riconoscimento facciale con Ubuntu finalizzato a organizzare e classificare un archivio fotografico personale. La parte impegnativa allora era la compilazione delle librerie e l'impiego di due software distinti da fare girare in tandem.
Oggi l'esperienza è più semplice, essendo stato tutto precompilato e riunificato in un sola pachetto installabile comodamente da terminale.
Prerequisito è avere installato Python 3, che però in genere è già presente sulle versioni più recenti di Ubuntu e derivate. Tra parentesi, penso che l'applicativo funzioni su ogni distribuzione Linux, ma invito chi è interessato a provare direttamente.

Dunque, aperto il terminale, basta installare prima le librerie precompilate con
pip install dlib opencv-python
e poi il pachetto unificato con
pip3 install face_recognition
Fatto.

Il pacchetto Face Recognition contiene due comandi:
- face_detection, che verifica se in una data foto o serie di foto ci sono dei volti;
- face_recognition, che, comparate due foto o due serie di foto, verifica se nella seconda vi siano volti presenti anche nella prima.
Facciamo un esempio pratico.

Ipotizziamo di avere in una cartella chiamata Amici alcune immagini con i volti di persone che già conosciamo: Marco.jpg, Nora.png, Gigia.tif, ecc.
In una seconda cartella chiamata Nuove abbiamo altre foto, per comodità tutte nominate Foto[qualche_numero].jpg, che non abbiamo ancora guardato con attenzione, ma in cui vogliamo verificare al volo se sia ritratta qualcuna delle persone della cartella Amici.
Apriamo il terminale nella posizione in cui si trovano le due cartelle di cui sopra e digitiamo:
face_recognition Amici/ Nuove/
La risposta sarà l'elenco delle foto in Nuove con l'indicazione di corrispondenza o meno con una o più di quelle contenute in Amici:
Nuove/Foto1.jpg,unknown_person
Nuove/Foto2.jpg,unknown_person
Nuove/Foto3.jpg,Nora
e così via.

Ipotizziamo ora invece di avere una cartella Vacanze in cui ci interessi solo individuare quali fotografie contengono persone, indipendentemente da chi esse siano.
face_detection Vacanze/
La risposta sarà l'elenco delle sole immagini contenenti volti con l'indicazione delle coordinate x e y dell'angolo in alto a sinistra e di quello in basso a destra tra cui essi sono racchiusi:
Vacanze/Immagine1.jpg,89,192,192,89
Vacanze/Immagine2.png,496,1095,1266,325

Chi volesse approfondire la documentazione può visitare la pagina del pacchetto o l'utile tutorial sul coseno di similitudine alla base dell'algoritmo.


Site designed by litterae.eu. © 2004-2024. All rights reserved.
Info GDPR EU 2016/679: no cookies used, no personal data collected.