Το Inside the Tech είναι μια σειρά blog που συνοδεύει το δικό μας Tech Talks Podcast. Στο επεισόδιο 20 του podcast, Avatars & Self-Expression, ο Διευθύνων Σύμβουλος της Roblox, David Baszucki μίλησε με τον Senior Director of Engineering Kiran Bhat, τον Senior Director of Product Mahesh Ramasubramanian και την Principal Product Manager Effie Goenawan, σχετικά με το μέλλον της καθηλωτικής επικοινωνίας μέσω avatars και τεχνικές προκλήσεις που επιλύουμε για να το επιτρέψουμε. Σε αυτήν την έκδοση του Inside the Tech, μιλήσαμε με τον Διευθυντή Μηχανικών, Ian Sachs, για να μάθουμε περισσότερα για μία από αυτές τις τεχνικές προκλήσεις – την ενεργοποίηση εκφράσεων προσώπου για τα avatar μας – και πώς η εργασία της ομάδας Avatar Creation (κάτω από την ομάδα Engine) βοηθά τους χρήστες να εκφραστούν στο Roblox.
Ποιες είναι οι μεγαλύτερες τεχνικές προκλήσεις που αντιμετωπίζει η ομάδα σας;
Όταν σκεφτόμαστε πώς ένα avatar αντιπροσωπεύει κάποιον στο Roblox, συνήθως εξετάζουμε δύο πράγματα: Πώς συμπεριφέρεται και πώς φαίνεται. Έτσι, μια σημαντική εστίαση για την ομάδα μου είναι να επιτρέψω στα avatar να αντικατοπτρίζουν τις εκφράσεις ενός ατόμου. Για παράδειγμα, όταν κάποιος χαμογελάει, το avatar του χαμογελά συγχρονισμένο μαζί του.
Ένα από τα δύσκολα πράγματα σχετικά με την παρακολούθηση των εκφράσεων του προσώπου είναι να ρυθμίσουμε την αποτελεσματικότητα του μοντέλου μας, ώστε να μπορούμε να καταγράψουμε αυτές τις εκφράσεις απευθείας στη συσκευή του ατόμου σε πραγματικό χρόνο. Δεσμευόμαστε να κάνουμε αυτή τη δυνατότητα προσβάσιμη σε όσο το δυνατόν περισσότερα άτομα στο Roblox και πρέπει να υποστηρίξουμε μια τεράστια γκάμα συσκευών. Η ποσότητα της υπολογιστικής ισχύος που μπορεί να χειριστεί η συσκευή κάποιου είναι ένας ζωτικός παράγοντας σε αυτό. Θέλουμε όλοι να μπορούν να εκφραστούν, όχι μόνο άτομα με ισχυρές συσκευές. Έτσι, αναπτύσσουμε ένα από τα πρώτα μας μοντέλα βαθιάς εκμάθησης για να το κάνουμε αυτό δυνατό.
Η δεύτερη βασική τεχνική πρόκληση που αντιμετωπίζουμε είναι η απλοποίηση της διαδικασίας που χρησιμοποιούν οι δημιουργοί για την ανάπτυξη δυναμικών avatar που μπορούν να εξατομικεύσουν οι άνθρωποι. Η δημιουργία άβαταρ όπως αυτό είναι αρκετά περίπλοκη επειδή πρέπει να διαμορφώσετε το κεφάλι και εάν θέλετε να ζωντανέψει, πρέπει να κάνετε πολύ συγκεκριμένα πράγματα για να διαμορφώσετε το μοντέλο, όπως να τοποθετήσετε αρθρώσεις και βάρη για γραμμική ανάμειξη δέρματος. Θέλουμε να κάνουμε αυτή τη διαδικασία ευκολότερη για τους δημιουργούς, επομένως αναπτύσσουμε τεχνολογία για να την απλοποιήσουμε. Θα πρέπει μόνο να επικεντρωθούν στην κατασκευή του στατικού μοντέλου. Όταν το κάνουν, μπορούμε αυτόματα να το αρματώσουμε και να το εγκλωβίσουμε. Στη συνέχεια, η παρακολούθηση του προσώπου και τα ρούχα με στρώσεις θα πρέπει να λειτουργούν αμέσως.
Ποιες είναι μερικές από τις καινοτόμες προσεγγίσεις και λύσεις που χρησιμοποιούμε για να αντιμετωπίσουμε αυτές τις τεχνικές προκλήσεις;
Κάναμε μερικά σημαντικά πράγματα για να διασφαλίσουμε ότι λαμβάνουμε τις σωστές πληροφορίες για τις εκφράσεις του προσώπου. Αυτό ξεκινά με τη χρήση του βιομηχανικού προτύπου FACS (Facial Animation Control System). Αυτά είναι το κλειδί για τα πάντα, επειδή είναι αυτά που χρησιμοποιούμε για να καθοδηγήσουμε τις εκφράσεις του προσώπου ενός avatar – πόσο πλατύ είναι το στόμα, ποια μάτια ανοίγουν και πόσο κ.λπ. Μπορούμε να χρησιμοποιήσουμε περίπου 50 διαφορετικά χειριστήρια FACS για να περιγράψουμε μια επιθυμητή έκφραση προσώπου.
Όταν δημιουργείτε έναν αλγόριθμο μηχανικής μάθησης για την εκτίμηση των εκφράσεων του προσώπου από εικόνες ή βίντεο, εκπαιδεύετε ένα μοντέλο δείχνοντάς του παραδείγματα εικόνων με γνωστές εκφράσεις αληθείας βάσης (που περιγράφονται με FACS). Δείχνοντας στο μοντέλο πολλές διαφορετικές εικόνες με διαφορετικές εκφράσεις, το μοντέλο μαθαίνει να εκτιμά την έκφραση του προσώπου των προσώπων που δεν είχαν δει στο παρελθόν.
Κανονικά, όταν εργάζεστε για την παρακολούθηση προσώπου, αυτές οι εκφράσεις επισημαίνονται από τον άνθρωπο και η πιο εύκολη μέθοδος είναι η χρήση ορόσημων—για παράδειγμα, η τοποθέτηση κουκκίδων σε μια εικόνα για να επισημανθούν οι θέσεις των pixel των χαρακτηριστικών του προσώπου, όπως οι γωνίες των ματιών.
Αλλά τα βάρη FACS είναι διαφορετικά επειδή δεν μπορείτε να κοιτάξετε μια εικόνα και να πείτε, “Το στόμα είναι ανοιχτό 0,9 έναντι 0,5.” Για να το λύσουμε αυτό, χρησιμοποιούμε συνθετικά δεδομένα για να δημιουργήσουμε άμεσα βάρη FACS που αποτελούνται από τρισδιάστατα μοντέλα που αποδίδονται με πόζες FACS από διαφορετικές γωνίες και συνθήκες φωτισμού.
Δυστυχώς, επειδή το μοντέλο πρέπει να γενικευτεί σε πραγματικά πρόσωπα, δεν μπορούμε να εκπαιδευτούμε αποκλειστικά σε συνθετικά δεδομένα. Επομένως, εκπαιδεύουμε εκ των προτέρων το μοντέλο σε μια εργασία πρόβλεψης ορόσημο χρησιμοποιώντας έναν συνδυασμό πραγματικών και συνθετικών δεδομένων, επιτρέποντας στο μοντέλο να μάθει την εργασία πρόβλεψης FACS χρησιμοποιώντας αμιγώς συνθετικά δεδομένα.
Θέλουμε η παρακολούθηση προσώπου να λειτουργεί για όλους, αλλά ορισμένες συσκευές είναι πιο ισχυρές από άλλες. Αυτό σημαίνει ότι έπρεπε να δημιουργήσουμε ένα σύστημα ικανό να προσαρμόζεται δυναμικά στην επεξεργαστική ισχύ οποιασδήποτε συσκευής. Αυτό το καταφέραμε χωρίζοντας το μοντέλο μας σε μια γρήγορη και κατά προσέγγιση φάση πρόβλεψης FACS που ονομάζεται BaseNet και σε μια πιο ακριβή φάση βελτίωσης FACS που ονομάζεται HiFiNet. Κατά τη διάρκεια του χρόνου εκτέλεσης, το σύστημα μετρά την απόδοσή του και υπό βέλτιστες συνθήκες, εκτελούμε και τις δύο φάσεις του μοντέλου. Αλλά αν εντοπιστεί επιβράδυνση (για παράδειγμα, λόγω μιας συσκευής κατώτερης τεχνολογίας), το σύστημα εκτελεί μόνο την πρώτη φάση.
Ποια είναι μερικά από τα βασικά πράγματα που έχετε μάθει κάνοντας αυτή την τεχνική εργασία;
Το ένα είναι ότι το να λειτουργήσει ένα χαρακτηριστικό είναι ένα τόσο μικρό μέρος αυτού που πραγματικά χρειάζεται για να κυκλοφορήσει κάτι με επιτυχία. Ένας τόνος της εργασίας βρίσκεται στη διαδικασία δοκιμών μηχανικής και μονάδας. Πρέπει να βεβαιωθούμε ότι έχουμε καλούς τρόπους για να προσδιορίσουμε εάν διαθέτουμε μια καλή σειρά δεδομένων. Και πρέπει να αναρωτηθούμε: “Γεια, είναι πραγματικά αυτό το νέο μοντέλο καλύτερο από το παλιό;”
Πριν καν ξεκινήσουμε τη βασική μηχανική, όλοι οι αγωγοί που έχουμε θέσει σε εφαρμογή για πειράματα παρακολούθησης, διασφαλίζοντας ότι το σύνολο δεδομένων μας αντιπροσωπεύει την ποικιλομορφία των χρηστών μας, την αξιολόγηση των αποτελεσμάτων και την ανάπτυξη και τη λήψη σχολίων σχετικά με αυτά τα νέα αποτελέσματα, θα καταστήσουν το μοντέλο επαρκές. Αλλά αυτό είναι ένα μέρος της διαδικασίας που δεν συζητιέται τόσο πολύ, παρόλο που είναι τόσο κρίσιμο.
Με ποια τιμή Roblox ευθυγραμμίζεται περισσότερο η ομάδα σας;
Η κατανόηση της φάσης ενός έργου είναι το κλειδί, επομένως κατά τη διάρκεια της καινοτομίας, η μακροσκελής προβολή έχει μεγάλη σημασία, ειδικά στην έρευνα όταν προσπαθείτε να λύσετε σημαντικά προβλήματα. Αλλά ο σεβασμός της κοινότητας είναι επίσης σημαντικός όταν εντοπίζετε τα προβλήματα στα οποία αξίζει να καινοτομήσετε, επειδή θέλουμε να εργαστούμε για τα προβλήματα με τη μεγαλύτερη αξία για την ευρύτερη κοινότητά μας. Για παράδειγμα, επιλέξαμε συγκεκριμένα να εργαστούμε για την «παρακολούθηση προσώπου για όλους» και όχι απλώς για την «παρακολούθηση προσώπου». Καθώς φτάσετε στο 90 τοις εκατό της κατασκευής κάτι, η μετάβαση ενός πρωτοτύπου σε λειτουργικό χαρακτηριστικό εξαρτάται από την εκτέλεση και την προσαρμογή στο στάδιο του έργου.
Τι σας ενθουσιάζει περισσότερο για το πού κατευθύνεται η Roblox και η ομάδα σας;
Ανέκαθεν ήθελα να δουλεύω πάνω σε εργαλεία που βοηθούν τους ανθρώπους να είναι δημιουργικοί. Το να δημιουργείς κάτι είναι ξεχωριστό γιατί καταλήγεις σε κάτι που είναι μοναδικό δικό σου. Έχω εργαστεί σε οπτικά εφέ και σε διάφορα εργαλεία επεξεργασίας φωτογραφιών, χρησιμοποιώντας μαθηματικά, επιστήμη, έρευνα και γνώσεις μηχανικής για να ενδυναμώσω τους ανθρώπους να κάνουν πραγματικά ενδιαφέροντα πράγματα. Τώρα, στο Roblox, μπορώ να το πάω σε ένα εντελώς νέο επίπεδο. Το Roblox είναι μια πλατφόρμα δημιουργικότητας, όχι απλώς ένα εργαλείο. Και η κλίμακα στην οποία μπορούμε να δημιουργήσουμε εργαλεία που επιτρέπουν τη δημιουργικότητα είναι πολύ μεγαλύτερη από οτιδήποτε έχω δουλέψει στο παρελθόν, κάτι που είναι απίστευτα συναρπαστικό.