Ένας σύντομος οδηγός για την αναγνώριση προσώπου βίντεο BBC R & D

Συχνά είναι οι εργασίες που οι άνθρωποι κάνουν χωρίς να σκέφτονται ότι απαιτούν μερικές από τις πιο σύνθετες επεξεργασίες πίσω από τις σκηνές. Δοκιμάζοντας φαγητό, συζητώντας με φίλους, ακούγοντας μουσική και, πράγματι, αναγνωρίζοντας τους ανθρώπους. Όταν παρακολουθείτε ένα επεισόδιο των Eastenders, βλέπετε τους διαφορετικούς ηθοποιούς σε διαφορετικά περιβάλλοντα, από διαφορετικές γωνίες και σε διαφορετικό φωτισμό, αλλά αμέσως το μυαλό σας χειρίζεται αυτές τις παραλλαγές για να γνωρίζει ότι είναι ο Dot Cotton και ο Phil Mitchell στη σκηνή. Επειδή δεν σκεφτόμαστε τη σχετική επεξεργασία, εκπλήσσομε να διαπιστώσουμε ότι αυτά τα καθήκοντα είναι πολύ πιο πολύπλοκα από ό, τι αρχικά σκέφτηκα όταν προσπαθούμε να τα εφαρμόσουμε στη μηχανική μάθηση.

Πάρτε τις παρακάτω εικόνες από τον πρίγκιπα Χάρι και Megan Markle έξω στο δρόμο. Μπορούμε να δούμε τον Χάρι και τον Megan από διαφορετικές οπτικές γωνίες εδώ - μπροστά, πλάγια και πίσω - αλλά τα αναγνωρίζουμε εύκολα από τα χαρακτηριστικά τους: χρώμα δέρματος, χρώμα μαλλιών κ.ο.κ. Λαμβάνουμε επίσης υπόψη ορισμένα κοινωνικά στοιχεία. Το πλήθος τους κοιτάζει, είναι καλά ντυμένοι, είναι στο κέντρο κάθε πυροβολισμού και υπάρχει μια προφανής συνέχεια των πυροβολισμών από την ίδια σκηνή. Υπάρχουν πολλά στρώματα ανθρώπινης διαίσθησης που εδώ τείνουμε να μην σκεφτόμαστε, καθώς εντοπίζουμε πολιτιστικούς και φυσικούς δείκτες.

Αναγνωρίζουμε φυσικά τον Χάρι και τον Μέγκαν, παρά τις διαφορετικές οπτικές γωνίες σε αυτά τα πλάνα

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

Εργαζόμαστε ήδη για να οικοδομήσουμε αυτή την τεχνολογία στο BBC. Το σύστημά μας, που ονομάζεται FaceRec, αναπτύσσεται από την ομάδα δεδομένων Research and Future Services Data στο BBC Research and Development (θα αποθηκεύσουμε κάποιες πληκτρολογήσεις και απλά θα τις καλέσουμε από την ομάδα δεδομένων από εδώ). Είναι χτισμένο χρησιμοποιώντας έναν συνδυασμό εσωτερικού κώδικα και εξωτερικού λογισμικού ανοιχτού κώδικα - ιδιαίτερα, το Seetaface, μια μηχανή αναγνώρισης προσώπου C ++.

Το FaceRec λειτουργεί με την επεξεργασία βίντεο μέσω μιας σειράς αλγοριθμικών βημάτων, όπου κάθε μία επιλύει ένα συγκεκριμένο τμήμα του συνολικού προβλήματος. Θα σας δώσουμε μια επισκόπηση του πώς όλα λειτουργούν.

1. Εντοπισμός πυροβολισμών

Για κάθε πρόσωπο που πρόκειται να ανιχνευθεί σε ένα βίντεο, πρέπει πρώτα να σπάσουμε το βίντεο στα συστατικά του πλάνα (ένας πυροβολισμός ορίζεται ως μια σειρά πλαισίων που τρέχουν για αδιάσπαστη χρονική περίοδο). Για να γίνει αυτό, το FaceRec χρησιμοποιεί τη βιβλιοθήκη επεξεργασίας πολυμέσων FFmpeg, η οποία χρησιμοποιεί μια λειτουργία για να επιστρέψει όλες τις στιγμές έναρξης και λήξης όλων των λήψεων μέσα σε ένα δεδομένο βίντεο.

2. Εντοπισμός προσώπων

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

Ξεκινώντας από κάθε πυροβολισμό, το FaceRec παίρνει καρέ από το πλάνο και τις τροφοδοτεί με το SeetaFace, το οποίο στη συνέχεια επιστρέφει τα κουτιά των ορίων όπου σκέφτεται τα πρόσωπα. Ο μηχανισμός ανίχνευσης προσώπων του SeetaFace διακρίνει αν ένα πρόσωπο «μετράει» αρκετά ώστε να συμπεριληφθεί στην έξοδο του. Σημειώστε ότι το SeetaFace δεν λέει ποιος πιστεύει ότι είναι οι ανιχνευμένοι άνθρωποι, απλώς πιστεύει ότι έχει εντοπίσει ένα πρόσωπο σε μια δεδομένη θέση εντός του πλαισίου.

3. Δημιουργήστε κομμάτια προσώπου

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

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

Τα τετράγωνα κουτιά στρέφουν τα πρόσωπα μέσα από μια βολή

Κάτω από την κουκούλα, το πρόβλημα αυτό επιλύεται χρησιμοποιώντας τη μέθοδο Dlib και τη μέθοδο Lucas-Kanade. Αυτό δημιουργεί προσόψεις που καθορίζονται από χρονικά σημεία, μια λίστα πλαισίων και τα πλαίσια οριοθέτησης των προσώπων.

4. Δημιουργήστε διανύσματα προσώπου για κομμάτια

Οι αλγόριθμοι μηχανικής μάθησης συχνά λειτουργούν μετατρέποντας το υλικό εισόδου σε μαθηματικούς φορείς. Στη συνέχεια μαθαίνουν ποια τμήματα αυτού του "διανυσματικού χώρου" ανήκουν σε συγκεκριμένες κατηγορίες ή τύπους εισροών. Όσον αφορά τα πρόσωπα, θα μάθουν ότι οι φορείς που αντιπροσωπεύουν το πρόσωπο του πρίγκιπα Χάρι τείνουν να βρίσκονται σε μια συγκεκριμένη περιοχή, ενώ οι φορείς Megan τείνουν να τελειώνουν σε διαφορετικό τμήμα. Θα περίμενε κανείς επίσης ότι οι διανύσματα του προσώπου του Πρίγκιπα Γουίλιαμ θα είναι πιο κοντά στον Χάρι απ 'ό, τι στον Megan, καθώς είναι συγγενείς και μοιράζονται παρόμοια χαρακτηριστικά.

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

5. Αναγνωρίστε τα πρόσωπα των ανθρώπων σε διανύσματα προσώπου

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

Το πρώτο ερώτημα εδώ είναι: μόνο ποιος αναγνωρίζουμε; Σίγουρα δεν μπορούμε να οικοδομήσουμε ένα μοντέλο για να αναγνωρίσουμε όλους όσους έζησαν ποτέ - ούτε θα θέλαμε. Ποιος λοιπόν θεωρούμε αρκετά σημαντικό για αυτό το σύστημα αναγνώρισης προσώπου;

Ρεαλιστικά, αυτό πρέπει να καθοδηγείται από τους δημοσιογράφους στο BBC News και τους ανθρώπους στους οποίους αναφέρουν πιο συχνά. Πρέπει επίσης να γνωρίζουμε ότι οι άγνωστοι άνθρωποι κάνουν τα νέα κάθε μέρα και, όταν το κάνουν, ίσως να μην έχουμε προηγούμενες φωτογραφίες τους. Με δεδομένους αυτούς τους περιορισμούς, η Ομάδα Δεδομένων επικεντρώθηκε κυρίως σε διασημότητες, διεθνείς ηγέτες, πολιτικούς της Βρετανίας στο Κοινοβούλιο και στο Σώμα των Λόρδων κατά την εκπαίδευση του FaceRec.

Για να αναγνωρίσουν αυτούς τους ανθρώπους, έπρεπε να συγκεντρώσουν στοιχεία κατάρτισης για κάθε άτομο - δηλαδή, πολλές αφιερωμένες φωτογραφίες αυτού του ατόμου που περιείχαν μόνο αυτό το άτομο. Η Ομάδα Δεδομένων συνέλεξε χιλιάδες φωτογραφίες και στη συνέχεια δημιούργησε το δικό τους σύστημα front-end για εύκολη προβολή και ετικέτα μεμονωμένων φωτογραφιών. Η μη-ασημένια αλήθεια της μηχανικής μάθησης είναι ότι η συλλογή της ποιότητας, τα δεδομένα με την ετικέτα είναι συχνά το πιο ακριβό, επίπονο και όμως σημαντικό μέρος της οικοδόμησης ενός καλά λειτουργικού συστήματος AI.

Έχοντας συλλέξει τις φωτογραφίες, η Ομάδα δεδομένων στη συνέχεια τους τροφοδοτεί σε έναν μηχανισμό ταξινόμησης μηχανών που ονομάζεται μηχανή φορέα υποστήριξης για τη δημιουργία εκπαιδευμένων μοντέλων. Όταν τροφοδοτούν ένα φορέα προσώπου από το SeetaFace, αυτά τα μοντέλα προβλέπουν το όνομα του προσώπου στην αρχική εικόνα προσώπου ή λένε αν δεν αναγνώρισαν το πρόσωπο καθόλου.

Το IRFS δημιούργησε δύο μοντέλα:

  1. Μοντέλο αρχείου: Διάσημα πρόσωπα από τον 20ο αιώνα και μετά επιλέγονται από ανθρώπους από το BBC Archive. Το μοντέλο αυτό περιείχε περίπου 1.000 άτομα.
  2. Το μοντέλο ειδήσεων: Βρίσκεται ακόμη σε εξέλιξη και θα επεκταθεί ώστε να συμπεριλάβει πάνω από 2.000 μέλη του βρετανικού Κοινοβουλίου και των περιφερειακών συνελεύσεων, της Βουλής των Λόρδων και των παγκόσμιων ηγετών. Οι εκπαιδευτικές εικόνες προέρχονταν από το BBC News, Factual και Drama.

Αυτά τα εκπαιδευμένα μοντέλα χρησιμοποιούνται στη συνέχεια για να προβλέψουν ποιοι άνθρωποι βρίσκονται στο προσκήνιο σε βίντεο.

6. Τραγούδια προσώπου συμπλέγματος

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

Για να το πετύχουμε, βάζουμε όλα τα εξαγόμενα πρόσωπα ενός βίντεο σε ένα διανυσματικό χώρο, τον οποίο θα ονομάσουμε χώρο προσώπου για διασκέδαση. Για την απεικόνιση του χώρου προσώπου μπορούμε να χρησιμοποιήσουμε ένα εργαλείο που ονομάζεται Tensorboard, μέρος της βιβλιοθήκης μηχανών μάθησης Tensorflow.

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

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

Προβολή όψεων με το TensorBoard

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

Αντί να πέσει κάτω από μια σκοτεινή τρύπα προσπαθώντας να λύσει τέλεια αυτό το πρόβλημα, η Ομάδα Δεδομένων αποφάσισε να τρέξει με λίγα heuristics. Το FaceRec χωρίζει το πρόβλημα σε δύο ξεχωριστές κατηγορίες: τα πρόσωπα των ανθρώπων που αναγνωρίζει και τα πρόσωπα των ανθρώπων που δεν το κάνει. Για αναγνωρισμένα πρόσωπα, συγκεντρώνει απλά όλα τα κομμάτια προσώπου που έχουν την ίδια προβλεπόμενη ετικέτα (όνομα). Για τα μη αναγνωρισμένα πρόσωπα χρησιμοποιεί μια τεχνική που ονομάζεται ιεραρχική ομαδοποίηση πάνω από τους διανύσματα προσώπου για να τις ομαδοποιήσει, αλλά να μην τους δώσει ετικέτες.

7. Εξάγετε τις πληροφορίες

Το τελευταίο βήμα για το FaceRec τροφοδοτεί όλες τις πληροφορίες που συλλέγονται στα διάφορα στάδια. Αυτό έρχεται με τη μορφή ενός αρχείου JSON το οποίο περιέχει:

Μια λίστα τραγουδιών στο βίντεο. Για κάθε κομμάτι έχει:

  • Προβλεπόμενο άτομο για το συγκεκριμένο κομμάτι
  • Η εμπιστοσύνη της πρόβλεψης
  • Παρακολούθηση UUID
  • Πρόσωπο-φορέα για το κομμάτι
  • Λίστα πλαισίων σε αυτό το κομμάτι

Στη λίστα πλαισίων, οι πληροφορίες για κάθε καρέ περιλαμβάνουν:

  • Πρόσωπο διάνυσμα για αυτό το πλαίσιο αν έχει ανιχνευθεί
  • Οι συντεταγμένες του πλαισίου για το πρόσωπο
  • Ο χρόνος στο βίντεο εμφανίζεται στο πλαίσιο

Τι μπορούμε να κάνουμε με αυτά τα δεδομένα; Μπορείτε να δείτε την επόμενη ανάρτηση ιστολογίου μας για να δείτε τις ιδέες μας.

Τύλιξε

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

Μετά την κατανόηση της εσωτερικής λειτουργίας του συστήματος FaceRec, το έργο των News Labs ήταν να δει πού θα μπορούσε η τεχνολογία αυτή να προσθέσει επιχειρηματική αξία στο BBC. Πώς παρουσιάζουμε τις ικανότητες του FaceRec με ένα διαισθητικό demo; Σε ποια συστήματα παραγωγής θα μπορούσαμε να δούμε την εφαρμογή FaceRec; Ποια προβλήματα ροής εργασίας θα μπορούσε να λύσει; Και σημαντικό είναι, πώς αισθάνονται οι άνθρωποι να χρησιμοποιούν αναγνώριση προσώπου; Μιλάμε για τις προκλήσεις της ανάπτυξης μιας νέας τεχνολογίας σε ένα μεγάλο οργανισμό και των ερωτημάτων που αντιμετωπίσαμε κατά την ανάπτυξη ενός πρωτοτύπου αναγνώρισης προσώπου στο "Face Recognition - What Use to Newsrooms?".