Αναγνώριση προσώπου στο Pictoblox

Αναγνώριση προσώπου στο Pictoblox

Το Pictoblox μας προσφέρει πολλά πρόσθετα τα οποία δίνουν δυνατότητες τεχνητής νοημοσύνης στα έργα μας. Ένα από αυτά είναι το Face Detection το οποίο βασίζεται σε εκπαιδευμένα μοντέλα αναγνώρισης του προσώπου και των χαρακτηριστικών του. Σε αυτό το εργαστήριο θα δούμε πως μπορούμε να το αξιοποιήσουμε για να φτιάξουμε εντυπωσιακά έργα με πινελιές τεχνητής νοημοσύνης!

Τα βασικά

Αρχικά πάμε να δούμε πως μπορούμε να προσθέσουμε το πρόσθετο Face detection ώστε να χρησιμοποιήσουμε τις εντολές που μας προσφέρει.

Πατάμε στο πλήκτρο που εμφανίζει τα πρόσθετα
Διαλέγουμε την κατηγορία AI και ML και εκεί θα βρούμε το Face Detection. Πατάμε πάνω του.
Περιμένουμε λίγη ώρα μέχρι να φορτώσει το μοντέλο AI
Τώρα όλες οι εντολές είναι διαθέσιμες

Αριθμός προσώπων

Πάμε αρχικά να δούμε αν το Pictoblox μπορεί να αναγνωρίσει πόσα πρόσωπα βλέπει στην κάμερα. Αρχικά θα πρέπει να χρησιμοποιήσουμε τρεις εντολές οι οποίες ρυθμίζουν την συμπεριφορά του προσθέτου. Οι εντολές αυτές θα εκτελεστούν μόνο μία φορά και δεν χρειάζεται να είναι μέσα σε κάποια επανάληψη όπως το “Για πάντα”.

Η πρώτη εντολή ενεργοποιεί την κάμερα και ορίζει το ποσοστό διαφάνειας. Αυτό έχει νόημα όταν έχουμε και κάποια σκηνή στο Pictoblox με φόντο και θέλουμε να φαίνεται και αυτή. Όταν το ποσοστό είναι στο 0% φαίνεται μόνο η κάμερα, ενώ όσο προχωράμε προς το 100% η εικόνα της κάμερας σβήνει και φαίνεται κυρίως το φόντο της σκηνής. Στην δική μας περίπτωση αφήνω το ποσοστό σε 0%.

Η δεύτερη εντολή ενεργοποιεί ή απενεργοποιεί την εμφάνιση ενός πράσινου πλαισίου γύρω από τα πρόσωπα που αναγνωρίζει η κάμερα. Όταν έχουμε την κατάσταση show το πλαίσιο φαίνεται ενώ στο hide όχι. Συνήθως ορίζουμε αρχικά το πλαίσιο να φαίνεται ώστε και όταν πλέον έχουμε ολοκληρώσει το έργο μας και είμαστε σίγουροι για τα αποτελέσματα μπορούμε και να το κρύψουμε. Τέλος η τρίτη εντολή ορίζει το κατώφλι της αναγνώρισης.

Ανοίγουμε την κάμερα και ορίζουμε το ποσοστό διαφάνειας, δηλαδή πόσο διαφανής θα είναι η εικόνα από την κάμερα και άρα πόσο θα φαίνεται και το φόντο της σκηνής. Εμφανίζουμε ή κρύβουμε το πράσινο πλαίσιο αναγνώρισης και ορίζουμε το όριο αναγνώρισης στην μέση.

Τώρα θα χρειαστώ να έχω μια επανάληψη στην οποία θα βάλω μόνο δύο εντολές. Θα χρειαστώ οπωσδήποτε κάθε φορά να ζητάω την ανάλυση της εικόνας από την κάμερα και μετά θα ζητάω από τον Tobi να μου πει πόσα πρόσωπα βλέπει. Θα χρησιμοποιήσω το get # faces μαζί με μερικές εντολές που ενώνουν κείμενα ώστε να φτιάξω ένα πιο όμορφο αποτέλεσμα.

Ο Tobi τώρα θα πρέπει να μου λέει πόσα πρόσωπα αναγνωρίζει
Μόλις πατήσω την πράσινη σημαία βλέπω το αποτέλεσμα!

Μπορείτε να κάνετε αλλαγές στο παραπάνω πρόγραμμα έτσι ώστε αν ο Tobi αναγνωρίζει μόνο ένα πρόσωπο να μας λέει την λέξη πρόσωπο και όχι πρόσωπα;

Αναγνώριση εκφράσεων προσώπου

Το πρόσθετο Face detection μας προσφέρει επίσης την δυνατότητα να αναγνωρίσουμε τις εκφράσεις των προσώπων. Είναι εκπαιδευμένο έτσι ώστε να αναγνωρίζει αν είμαστε θυμωμένοι, αηδιασμένοι, φοβισμένοι, χαρούμενοι, ουδέτεροι, λυπημένοι ή έκπληκτοι.

Οι καταστάσεις που αναγνωρίζει

Οι αναγνώριση των εκφράσεων γίνεται με αγγλικές λέξεις και για αυτό θα χρησιμοποιήσουμε την μετάφραση για να βάλουμε τον Tobi να μας τα λέει στα ελληνικά.

Από τα πρόσθετα λοιπόν επιλέγουμε και την μετάφραση.

Τώρα θα διορθώσουμε το σενάριο του Tobi ώστε να μαντεύει τι νιώθουμε. Θα χρειαστούμε την εντολή get expression of face 1 την οποία θα την μεταφράσουμε στα ελληνικά και θα την ενώσουμε με άλλο κείμενο.

Το διορθωμένο σενάριο του Tobi
Και το τελικό αποτέλεσμα

Φίλτρα προσώπου

Το Face detection επίσης μπορεί να αναγνωρίσει την θέση του προσώπου μας στην κάμερα (άλλωστε φαίνεται και από το πράσινο περίγραμμα) καθώς και την θέση των ματιών μας, της μύτης μας, του στόματος μας. Αυτό είναι ιδιαίτερα χρήσιμο στην περίπτωση που θέλουμε να βάλουμε φίλτρα τα οποία ακολουθούν το πρόσωπο μας στην οθόνη.

Προσθέτω άλλον έναν χαρακτήρα στην σκηνή και διαλέγω αυτόν με το όνομα Face filters

Αυτός ο χαρακτήρας έχει πολλές ενδυμασίες όπως γυαλιά, στέμμα, μουστάκι κλπ. Εγώ θα επιλέξω το στέμμα και θα προσπαθήσω να το εμφανίζω πάντα πάνω στο κεφάλι μου.

Αλλάζω την ενδυμασία στο στέμμα.

Τώρα θα χρειαστεί να γράψω ένα σενάριο για τον χαρακτήρα Face filters. Δεν χρειάζεται να βάλω πάλι τις τρεις εντολές που έβαλα στον Tobi και αρχικοποιούν το Face detection και την κάμερα, ούτε χρειάζεται να καλώ ξανά την ανάλυση της εικόνας μέσα στο Για πάντα. Εδώ θα χρησιμοποιήσω απευθείας τις εντολές που ορίζουν την θέση x και y του στέμματος και θα επιλέγω να είναι η θέση x και y του προσώπου.

Όπου πάει το πρόσωπο θα πηγαίνει και το στέμμα
Το τελικό αποτέλεσμα: Το στέμμα ακολουθεί το πρόσωπο μου.

Στην περίπτωση που το φίλτρο που επιλέγω δεν πηγαίνει ακριβώς στην θέση που θέλω μπορώ να πειράξω λίγο τις θέσεις x και y προσθέτοντας ή αφαιρώντας κάποιες αποστάσεις. Στην δική μου περίπτωση όλα πήγαν καλά όσον αφορά την θέση αλλά παρατήρησα ότι το στέμμα δεν αλλάζει μέγεθος όταν εγώ μετακινώ το πρόσωπο μου κοντά ή μακριά από την κάμερα. Μένει πάντα στο ίδιο μέγεθος και αυτό δεν δείχνει πολύ ωραία. Για αυτό το λόγο προσθέτω άλλη μία εντολή. Θα ορίζω το μέγεθος του στέμματος ως εξής:

  • Θα βρίσκω την διαφορά στην απόσταση μεταξύ των δυο ματιών (η οποία θα μου δίνει το πόσο κοντά είμαι στην κάμερα)
  • και θα πολλαπλασιάζω το αποτέλεσμα με έναν αριθμό. Στην δική μου περίπτωση είδα ότι το 2.5 δίνει το καλύτερο αποτέλεσμα
Το σενάριο διορθωμένο για να αναπροσαρμόζει το μέγεθος του στέμματος
Το τελικό αποτέλεσμα: Το στέμμα μεγαλώνει και μικραίνει ανάλογα με το πόσο κοντά έρχομαι στην κάμερα

Μπορείτε να δοκιμάσετε να προσθέσετε και ένα ζευγάρι γυαλιά στο πρόσωπο; Θα χρειαστείτε ακόμα έναν χαρακτήρα Face filters με τα δικά του σενάρια.

Αναγνώριση ατόμων

Το Face detection μας δίνει επίσης τη δυνατότητα να κάνουμε και την δική μας εκπαίδευση στο μοντέλο. Μπορούμε να το εκπαιδεύσουμε ώστε να αναγνωρίζει ποιος ή ποιοι φαίνονται κάθε φορά στην κάμερα.

Αρχικά θα προσθέσω έναν χαρακτήρα πλήκτρου στον οποίο θα βάλω ένα απλό σενάριο. Κάθε φορά που πατάω το πλήκτρο θα εκπαιδεύει την AI ότι αυτός είναι ο Γιάννης
Τώρα προσθέτω έναν ακόμα χαρακτήρα ο οποίος θα κάνει την αναγνώριση του προσώπου από την εκπαίδευση που έχω κάνει.
Το τελικό αποτέλεσμα

Μπορείτε να διορθώσετε το πρόγραμμα ώστε να εκπαιδεύουμε την AI για περισσότερα άτομα; Θα χρειαστείτε ένα πλήκτρο για κάθε άτομο.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γιατί δεν ξεκινάτε τη συζήτηση;

Αφήστε μια απάντηση