Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

Valós idejű arcanimáció avataroknak

Az arckifejezés kritikus lépés a Roblox azon menetében, hogy a metaverzum az emberek mindennapi életének részévé váljon természetes és hihető avatar interakciókon keresztül. A virtuális 3D-s karakterarcok valós idejű animálása azonban óriási technikai kihívás. A számos kutatási áttörés ellenére korlátozott számú kereskedelmi példa létezik a valós idejű arcanimációs alkalmazásokra. Ez különösen nagy kihívást jelent a Robloxnál, ahol a felhasználói eszközök szédületes skáláját, a valós körülményeket és a fejlesztőink vadul kreatív használati eseteit támogatjuk.

Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

Ebben a bejegyzésben egy mély tanulási keretet írunk le az arcanimáció vezérlőinek visszafejtéséhez a videóból, amely egyszerre kezeli ezeket a kihívásokat, és számos jövőbeli lehetőség előtt nyit meg bennünket. Az ebben a blogbejegyzésben leírt keretet a beszél at SIGGRAPH 2021.

Arc animáció

Különféle lehetőségek állnak rendelkezésre a 3D-s arc-berendezés vezérlésére és animálására. Az általunk használt Facial Action Coding System néven ill FACS, amely egy sor vezérlőt határoz meg (az arcizmok elhelyezése alapján) a 3D archáló deformálásához. Annak ellenére, hogy több mint 40 éves, a FACS még mindig a de facto szabvány, mivel a FACS vezérlők intuitívak és könnyen átvihetők a fúrótornyok között. Az alábbiakban látható egy példa egy FACS berendezésre.

Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

Módszer

Az ötlet az, hogy a mély tanuláson alapuló módszerünk egy videót vesz be bemenetként és egy FACS-készletet ad ki minden egyes képkockához. Ennek eléréséhez kétlépcsős architektúrát használunk: arcfelismerést és FACS regressziót.

Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

Arcfelismerés

A legjobb teljesítmény elérése érdekében a viszonylag jól ismert MTCNN arcfelismerő algoritmus egy gyors változatát valósítjuk meg. Az eredeti MTCNN algoritmus meglehetősen pontos és gyors, de nem elég gyors ahhoz, hogy támogassa a valós idejű arcfelismerést a felhasználóink ​​által használt számos eszközön. Így ennek megoldására módosítottuk az algoritmust a sajátos használati esetünkhöz, ahol az arc észlelése után az MTCNN implementációnk csak az utolsó O-Net szakaszt futtatja az egymást követő keretekben, ami átlagosan 10-szeres gyorsulást eredményez. Az MTCNN által megjósolt arctereptárgyakat (a szemek, az orr és a szájzugok elhelyezkedése) is használjuk az arc határoló dobozának a következő regressziós szakasz előtti igazításához. Ez az igazítás lehetővé teszi a bemeneti képek szűk kivágását, csökkentve a FACS regressziós hálózat számítását.

Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

FACS regresszió 

A FACS regressziós architektúránk egy többfeladatos beállítást használ, amely a tereptárgyakat és a FACS-súlyokat egy megosztott gerinchálózat (más néven kódoló) segítségével funkciókivonóként tanítja.

Ez a beállítás lehetővé teszi, hogy a szintetikus animációs sorozatokból tanult FACS-súlyokat valódi képekkel bővítsük, amelyek megragadják az arckifejezés finomságait. A FACS regressziós alhálózat, amely a tereptárgyak regresszor használatával párhuzamosan képzésre kerül oksági konvolúciók; ezek a konvolúciók időbeli jellemzőkre működnek, szemben azokkal a konvolúciókkal, amelyek csak a térbeli jellemzőkre vonatkoznak, ahogyan az a kódolóban található. Ez lehetővé teszi a modell számára, hogy megtanulja az arcanimációk időbeli aspektusait, és kevésbé érzékeny az olyan következetlenségekre, mint például a jitter.

Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

Képzések

Kezdetben a modellt csak mérföldkőnek számító regresszióra tanítjuk valós és szintetikus képek felhasználásával. Bizonyos számú lépés után elkezdjük szintetikus sorozatok hozzáadását, hogy megtanuljuk az időbeli FACS regressziós alhálózat súlyozását. A szintetikus animációs képsorokat interdiszciplináris művészekből és mérnökökből álló csapatunk készítette. Az összes különböző identitáshoz (archálóhoz) használt normalizált rig-et állított fel művészünk, amelyet FACS súlyokat tartalmazó animációs fájlok segítségével gyakorolt ​​és készített automatikusan. Ezeket az animációs fájlokat klasszikus számítógépes látási algoritmusok segítségével hozták létre, amelyek az arc-torna videó szekvenciákon futnak, és kézzel animált szekvenciákkal egészítették ki az extrém arckifejezéseket, amelyek hiányoztak a kalisténikus videókból. 

Veszteség

Mélytanulási hálózatunk képzése érdekében több különböző veszteségi feltételt lineárisan kombinálunk, hogy visszafejlesszük a tereptárgyakat és a FACS súlyokat: 

  • Pozíciós veszteségek. A tereptárgyak esetében a visszafejlődött pozíciók RMSE-je (Llmks ), a FACS súlyok esetében pedig az MSE (Larcok ). 
  • Időbeli veszteségek. A FACS súlyok esetében csökkentjük a jittert a szintetikus animációs szekvenciákhoz képesti időbeli veszteségek használatával. Sebességveszteség (Lv ) ihlette [Cudeiro et al. 2019] a cél és az előre jelzett sebesség közötti MSE. Bátorítja a dinamikus kifejezések általános simaságát. Ezenkívül a gyorsulás szabályzási kifejezése (Lacc ) adják hozzá, hogy csökkentsék a FACS súlyok ingadozását (a súlyát alacsonyan tartják a reakcióképesség megőrzése érdekében). 
  • Konzisztencia elvesztése. Valódi képeket használunk feljegyzések nélkül a konzisztencia felügyelet nélküli elvesztése érdekében (Lc ), hasonló [Honari et al. 2018]. Ez arra ösztönzi a tereptárgy-előrejelzéseket, hogy egyenértékűek legyenek a különböző képátalakítások során, javítva a tereptárgyak elhelyezkedésének konzisztenciáját a képkockák között anélkül, hogy a tereptárgyak címkéire lenne szükség a képzési képek egy részéhez.

teljesítmény

A kódoló teljesítményének javítása érdekében anélkül, hogy csökkentené a pontosságot vagy növelnénk a remegést, szelektíven párnázott konvolúciókkal csökkentettük a tereptérkép méretét. Ez nagyobb irányítást adott a tereptérképek mérete felett, mint a lépcsőzetes konvolúciók. A maradék megtartása érdekében feldaraboljuk a jellemzőtérképet, mielőtt hozzáadnánk egy párnázott konvolúció kimenetéhez. Ezenkívül a funkcióleképezések mélységét 8-szorosára állítottuk be a hatékony memóriahasználat érdekében az olyan vektoros utasításkészletekkel, mint az AVX és a Neon FP16, és 1.5-szeres teljesítménynövekedést eredményezve.

A végső modellünk 1.1 millió paraméterrel rendelkezik, és 28.1 millió szorzás-felhalmozást igényel a végrehajtáshoz. Referenciaként vanília Mobilnet V2 (amelyre az architektúránk épül) 300 millió szorzás-felhalmozás szükséges a végrehajtáshoz. Használjuk a NCNN Az eszközön belüli modellkövetkeztetés keretrendszere és az egyszálas végrehajtási idő (beleértve az arcfelismerést is) egy képkockához az alábbi táblázatban találhatók. Kérjük, vegye figyelembe, hogy a 16 ms-os végrehajtási idő 60 képkocka/másodperc (FPS) feldolgozást támogatna. 

Valós idejű arcanimáció Avatars PlatoBlockchain Data Intelligence számára. Függőleges keresés. Ai.

Mi a következő lépés

Szintetikus adatfolyamunk lehetővé tette számunkra, hogy iteratív módon javítsuk a betanított modell kifejezőképességét és robusztusságát. Szintetikus szekvenciákat adtunk hozzá, hogy javítsuk az elmulasztott arckifejezésekre való reagálást, és kiegyensúlyozzuk a képzést a különböző arcidentitásokon. Minimális számítási ráfordítással kiváló minőségű animációt érünk el az architektúra időbeli megfogalmazása és a veszteségek, a gondosan optimalizált gerinchálózat és a szintetikus adatokból származó hibamentes alapigazság miatt. A FACS súlyozási alhálózatában végrehajtott időbeli szűrés lehetővé teszi, hogy csökkentsük a gerinchálózatban lévő rétegek számát és méretét anélkül, hogy növelnénk a jittert. A felügyelet nélküli konzisztencia-vesztés lehetővé teszi, hogy valós adatok nagy halmazával edzzünk, javítva a modellünk általánosítását és robusztusságát. Továbbra is dolgozunk modelljeink további finomításán és fejlesztésén, hogy még kifejezőbb, rezgésmentes és robusztus eredményeket érjünk el. 

Ha érdekli, hogy hasonló kihívásokon dolgozzon a valós idejű arckövetés és gépi tanulás élvonalában, kérjük, tekintse meg néhány nyitott pozíciók csapatunkkal.

A poszt Valós idejű arcanimáció avataroknak jelent meg először Roblox blog.

Időbélyeg:

Még több roblox