Inside the Tech – Avatari näoilmete lahendamine – Robloxi ajaveeb

Inside the Tech – Avatari näoilmete lahendamine – Robloxi ajaveeb

Allikasõlm: 3039939

Inside the Tech on ajaveebisari, mis saadab meie Tehnikavestluste taskuhääling. Podcasti 20. osas Avatarid ja eneseväljendus rääkis Robloxi tegevjuht David Baszucki inseneriosakonna vanemdirektori Kiran Bhatiga, tooteosakonna vanemdirektori Mahesh Ramasubramaniani ja peatootejuhi Effie Goenawaniga avataride kaudu toimuva ümbritseva suhtluse tulevikust. tehnilisi väljakutseid, mida selle võimaldamiseks lahendame. Selles Inside the Techi väljaandes vestlesime insenerijuhi Ian Sachsiga, et saada lisateavet ühest neist tehnilistest väljakutsetest – meie avataride näoilmete võimaldamisest – ja sellest, kuidas Avatari loomise (mootorirühma all) meeskonna töö aitab kasutajatel end väljendada. Robloxi kohta.

Millised on teie meeskonna suurimad tehnilised väljakutsed?

Kui mõtleme sellele, kuidas avatar Robloxis kedagi esindab, võtame tavaliselt arvesse kahte asja: kuidas see käitub ja kuidas see välja näeb. Seega on minu meeskonna üks peamisi eesmärke võimaldada avataritel inimese ilmeid peegeldada. Näiteks kui keegi naeratab, naeratab tema avatar temaga sünkroonis. 

Näoilmete jälgimise üks raskemaid asju on meie mudeli tõhususe häälestamine, et saaksime neid ilmeid reaalajas otse inimese seadmesse jäädvustada. Oleme pühendunud sellele, et see funktsioon oleks võimalikult paljudele Robloxi kasutajatele juurdepääsetav ja me peame toetama suurt hulka seadmeid. Arvutusvõimsus, millega kellegi seade hakkama saab, on selle juures ülioluline. Soovime, et kõik saaksid end väljendada, mitte ainult võimsate seadmetega inimesed. Seetõttu võtame selle võimalikuks muutmiseks kasutusele ühe oma esimestest süvaõppe mudelitest. 

Teine oluline tehniline väljakutse, millega tegeleme, on protsesside lihtsustamine, mida loojad kasutavad dünaamiliste avatarite väljatöötamiseks, mida inimesed saavad isikupärastada. Selliste avataride loomine on üsna keeruline, sest pead modelleerima ja kui tahad, et see animeeriks, pead tegema mudeli monteerimiseks väga spetsiifilisi asju, näiteks asetama liitekohad ja raskused lineaarseks nülgimiseks. Tahame selle protsessi sisuloojate jaoks lihtsamaks muuta, mistõttu töötame selle lihtsustamiseks välja tehnoloogiat. Nad peaksid keskenduma ainult staatilise mudeli loomisele. Kui nad seda teevad, saame selle automaatselt monteerida ja puuri panna. Siis peaksid näo jälgimine ja kihiline riietus kohe toimima. 

Milliseid uuenduslikke lähenemisviise ja lahendusi kasutame nende tehniliste väljakutsete lahendamiseks?

Oleme teinud paar olulist asja, et tagada näoilmete jaoks õige teabe saamine. See algab tööstusstandardi FACS-i (näoanimatsiooni juhtimissüsteemi) kasutamisega. Need on kõige võti, sest neid me kasutame avatari näoilmete juhtimiseks – kui lai on suu, millised silmad avanevad ja kui palju jne. Soovitud näoilme kirjeldamiseks saame kasutada umbes 50 erinevat FACS-i juhtelementi. 

Kui koostate masinõppe algoritmi, et hinnata näoilmeid piltide või videote põhjal, treenite mudelit, näidates talle tuntud tõepõhiste väljenditega näidispilte (kirjeldatud FACS-iga). Näidates modellile palju erinevaid, erineva ilmega pilte, õpib modell hindama seninägematute nägude näoilmeid.

Kui töötate näo jälgimisega, märgistavad need näoilmed tavaliselt inimeste poolt ja lihtsaim viis on kasutada maamärke – näiteks asetada pildile täpid, et märkida näojoonte (nt silmanurkade) pikslite asukohti. 

Kuid FACS-i kaalud on erinevad, kuna te ei saa pilti vaadates öelda: "Suu on lahti 0.9 vs. 0.5." Selle lahendamiseks kasutame sünteetilisi andmeid, et luua otse FACS-kaalud, mis koosnevad 3D-mudelitest, mis on renderdatud FACS-i poosidega erinevate nurkade ja valgustingimuste järgi.

Kuna mudel peab üldistama tegelikele nägudele, ei saa me kahjuks treenida ainult sünteetiliste andmete põhjal. Seega koolitame mudelit ette maamärgi ennustusülesande täitmiseks, kasutades reaalsete ja sünteetiliste andmete kombinatsiooni, võimaldades mudelil õppida FACS-i ennustusülesannet puhtalt sünteetiliste andmete abil.

Tahame, et näo jälgimine töötaks kõigi jaoks, kuid mõned seadmed on võimsamad kui teised. See tähendab, et meil oli vaja luua süsteem, mis suudab end dünaamiliselt kohandada mis tahes seadme töötlemisvõimsusega. Me saavutasime selle, jagades oma mudeli kiireks ligikaudseks FACS-i prognoosifaasiks, mida nimetatakse BaseNetiks, ja täpsemaks FACS-i täpsustamise faasiks nimega HiFiNet. Käitusajal mõõdab süsteem oma jõudlust ja optimaalsetes tingimustes käivitame mõlemad mudelifaasid. Kui aga tuvastatakse aeglustumine (näiteks madalama hinnaga seadme tõttu), käivitab süsteem ainult esimese faasi.

Millised on peamised asjad, mida olete selle tehnilise töö käigus õppinud?

Üks on see, et funktsiooni tööle panemine on nii väike osa sellest, mida on tegelikult vaja millegi edukaks väljalaskmiseks. Suur osa tööst on inseneri- ja üksuse testimise protsessis. Peame tagama, et meil on head viisid, kuidas teha kindlaks, kas meil on hea andmejuhe. Ja me peame endalt küsima: "Hei, kas see uus mudel on tegelikult parem kui vana?"

Enne kui alustame põhitehnoloogiat, muudavad mudeli piisavaks kõik torujuhtmed, mille oleme loonud katsete jälgimiseks, tagamaks, et meie andmekogum esindab meie kasutajate mitmekesisust, tulemuste hindamist ning nende uute tulemuste juurutamist ja tagasiside saamist. Kuid see on osa protsessist, millest ei räägita nii palju, kuigi see on nii kriitiline. 

Millise Robloxi väärtusega teie meeskond kõige rohkem ühtib?

Projekti faasi mõistmine on võtmetähtsusega, nii et innovatsiooni ajal on pika pilguga vaatamine väga oluline, eriti uurimistöös, kui proovite lahendada olulisi probleeme. Kuid kogukonna austamine on ülioluline ka siis, kui tuvastate probleeme, mille osas tasub uuendusi teha, sest me tahame tegeleda probleemidega, mis on meie laiemale kogukonnale kõige väärtuslikumad. Näiteks otsustasime konkreetselt töötada "näojälgimise kõigi jaoks", mitte lihtsalt "näojälgimisega". Kui jõuate millegi ehitamise 90 protsendi piirini, sõltub prototüübi funktsionaalseks funktsiooniks muutmine teostusest ja projekti etapiga kohanemisest.

Mis erutab teid kõige rohkem selles, kuhu Roblox ja teie meeskond teel on?

Olen alati püüdnud töötada tööriistadega, mis aitavad inimestel olla loomingulised. Millegi loomine on eriline, sest lõpuks saate millegi, mis on ainulaadselt teie oma. Olen töötanud visuaalsete efektide ja erinevate fototöötlustööriistade kallal, kasutades matemaatikat, teadust, uurimistööd ja inseneri teadmisi, et anda inimestele võimalus teha tõeliselt huvitavaid asju. Nüüd, Robloxis, saan selle viia täiesti uuele tasemele. Roblox on loovuse platvorm, mitte ainult tööriist. Ja ulatus, millega saame luua loovust võimaldavaid tööriistu, on palju suurem kui kõik, mille kallal olen varem töötanud, mis on uskumatult põnev.

Ajatempel:

Veel alates Roblox