AI Confronto faccia utilizzando FaceNet, confrontare due foto e vedere se sono la stessa persona.
Installazione
pip install face-compare
Utilizzo
Utilizzare compare_faces.py
per confrontare due immagini di persone per vedere se sono la stessa persona.
compare_faces.py --input-one /path/to/image_one.png --input-two /path/to/image_two.png
Emetti opzionalmente l’output dell’immagine ritagliata in una directory (utile per ispezionare l’input nel modello AI)
compare_faces.py --input-one /path/to/image_one.png --input-two /path/to/image_two.png -s /path/to/outputs/
Passaggi coinvolti
- Un classificatore a cascata viene utilizzato per rilevare la faccia all’interno delle immagini di input.
- Il riquadro di delimitazione di questa segmentazione viene quindi utilizzato per ritagliare le immagini e inserito nel modello AI.
- Il modello FaceNet calcola quindi gli incorporamenti delle immagini per le due immagini ritagliate.
- Infine il secondo embedding viene sottratto dal primo e viene calcolata la norma euclidea di quel vettore.
- Viene utilizzata una soglia di 0,7 per determinare se sono la stessa persona o meno.
Problemi Noti
CPU Solo runtime problema
Se si sta tentando di eseguire il modulo, senza una adeguata GPU, è possibile eseguire il seguente messaggio di errore:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Default MaxPoolingOp only supports NHWC on device type CPU
Per risolvere questo problema con CPU Intel architettura, è possibile installare il TensorFlow Intel pacchetto di Ottimizzazione tramite
pip install intel-tensorflow