Connect with us

Umělá inteligence

DeepFace pro pokročilé rozpoznávání obličeje

mm

Rozpoznávání obličeje je trendovým odvětvím v oblasti AI a ML již několik let a jeho široké kulturní a sociální dopady jsou značné. Existuje však propast mezi lidským vizuálním systémem a stroji, která目前 omezuje aplikace rozpoznávání obličeje.

Aby se překonala bariéra vytvořená touto propastí a dosáhlo se lidské úrovně přesnosti, Meta představila DeepFace, rámec pro rozpoznávání obličeje. Model DeepFace je trénován na velké datové sadě, která se výrazně liší od datových sad používaných pro konstrukci evaluačních benchmarků, a má potenciál překonat stávající rámce s minimálními adaptacemi. Kromě toho rámec DeepFace produkuje kompaktní reprezentace obličeje ve srovnání s ostatními systémy, které produkují tisíce rysů obličeje.

Navrhovaný rámec DeepFace používá Deep Learning k trénování na velké datové sadě, která zahrnuje různé formy dat, včetně obrázků, videí a grafiky. Architektura sítě DeepFace předpokládá, že jednou provedena alignace, je poloha každé oblasti obličeje pevně stanovena na úrovni pixelů. Proto je možné použít syrové hodnoty pixelů RGB bez použití více konvolučních vrstev, jako je tomu u ostatních rámců.

Konvenční pipeline moderních rámců pro rozpoznávání obličeje se skládá ze čtyř fází: detekce, alignace, reprezentace a klasifikace. Rámec DeepFace používá explicitní 3D modelování obličeje k aplikaci piecewise transformace a používá devítivrstvou hlubokou neuronovou síť k odvození reprezentace obličeje. Rámec DeepFace se snaží přispět následujícími body

  1. Vyvinout efektivní architekturu DNN nebo hluboké neuronové sítě, která může využít velkou datovou sadu k vytvoření reprezentace obličeje, která může být zobecněna na jiné datové sady.
  2. Použít explicitní 3D modelování k vývoji efektivní alignace obličeje.

Pochopení fungování modelu DeepFace

Alignace obličeje

Alignace obličeje je technika, která rotuje obraz osoby podle úhlu očí. Alignace obličeje je oblíbenou praxí, která se používá k předzpracování dat pro rozpoznávání obličeje, a alignované datové sady pomáhají zlepšit přesnost algoritmů rozpoznávání poskytováním normalizovaného vstupu. Alignace obličeje v neomezeném způsobem však může být náročným úkolem kvůli mnoha faktorům, jako jsou neřídké výrazy, postoje těla a další.

Ačkoli alignace je nejoblíbenější metodou pro řešení neomezeného ověření a rozpoznávání obličeje, v současné době neexistuje dokonalé řešení. 3D modely se také používají, ale jejich popularita výrazně poklesla v posledních letech, zejména při práci v neomezeném prostředí. Nicméně, protože lidské obličeje jsou 3D objekty, může být použití 3D modelů správným přístupem, pokud se použijí správně. Model DeepFace používá systém, který používá fiduciální body k vytvoření analytického 3D modelu obličeje. Tento 3D model se poté používá k deformaci obličeje do 3D frontálního režimu.

Kromě toho, stejně jako většina alignačních praktik, alignace DeepFace také používá fiduciální body k řízení alignace. Ačkoli model DeepFace používá jednoduchý detektor bodů, aplikuje ho v několika iteracích, aby upravil výstup. Regresor podpůrných vektorů (SVR) trénovaný k předpojování konfigurací bodů extrahuje fiduciální body z obrazového deskriptoru v každé iteraci. Obrazový deskriptor DeepFace je založen na histogramu LBP, ale také zvažuje další rysy.

2D Alignace

Model DeepFace zahajuje alignační proces detekcí šesti fiduciálních bodů uvnitř detekční oblasti, umístěné uprostřed očí, úst a špičky nosu. Tyto body se používají k rotaci, měřítku a translaci obrazu do šesti kotvičních poloh a iterují na deformovaném obraze, dokud není viditelná žádná změna. Agregovaná transformace poté generuje 2D alignovanou oblast. Alignační metoda je khá podobná té, která se používá v LFW-a, a byla použita v průběhu let v pokusu o zvýšení přesnosti modelu.

3D Alignace

Aby se alignovaly obličeje s rotacemi mimo rovinu, rámec DeepFace používá generický 3D tvarový model a registruje 3D kameru, která může být použita k deformování 2D alignované oblasti do 3D tvaru ve své obrazové rovině. Výsledkem je, že model generuje 3D alignovanou verzi oblasti, a je dosaženo lokalizací dalších 67 fiduciálních bodů v 2D alignované oblasti pomocí druhého SVR nebo Regresoru podpůrných vektorů.

Model poté ručně umístí 67 kotvičních bodů na 3D tvar a tím dosáhne plné korespondence mezi 3D referencemi a jejich příslušnými fiduciálními body. V dalším kroku se přidá 3D-2D afinní kamera pomocí obecného řešení lineárních systémů se známou kovarianční maticí, které minimalizuje určité ztráty.

Frontalizace

Pоскольку neřídké deformace a plné perspektivní projekce nejsou modelovány, 3D-2D kamera slouží pouze jako aproximace. V pokusu o snížení korupce důležitých identifikačních faktorů do finální deformace model DeepFace přidá příslušné zbytky k x-y složkám každého referenčního fiduciálního bodu. Taková relaxace pro účel deformace 2D obrazu s menšími deformacemi identifikačních faktorů je přijatelná, a bez ní by obličeje byly deformovány do stejné podoby v 3D, a ztratily důležité diskriminační faktory v procesu.

Nakonec model dosáhne frontalizace pomocí piecewise afinní transformace směrované Delaunayovou triangulací odvozenou z 67 fiduciálních bodů.

  1. Detekované obličeje s 6 fiduciálními body.
  2. Indukovaná 2D alignovaná oblast.
  3. 67 fiduciálních bodů na 2D alignované oblasti.
  4. Referenční 3D tvar transformovaný do 2D alignované oblasti obrazu.
  5. Trojúhelníková viditelnost ve vztahu k 3D-2D kameře.
  6. 67 fiduciálních bodů indukovaných 3D modelem.
  7. 3D alignovaná verze finální oblasti.
  8. Nový pohled generovaný 3D modelem.

Reprezentace

S rostoucím množstvím trénovacích dat se naučené metody ukázaly jako účinnější a přesnější ve srovnání s inženýrskými rysy, především protože naučené metody mohou objevit a optimalizovat rysy pro konkrétní úkoly.

Architektura DNN a trénování

DNN DeepFace je trénován na multi-třídním úkolu rozpoznávání obličeje, který klasifikuje identitu obrazu obličeje.

Výše uvedená figura reprezentuje celkovou architekturu modelu DeepFace. Model má konvoluční vrstvu (C1) se 32 filtry velikosti 11x11x3, které jsou krmeny 3D alignovaným 3-kanálovým RGB obrazem velikosti 152×152 pixelů, a výsledkem jsou 32 feature map. Tyto feature mapy jsou poté krmeny do Max Pooling vrstvy nebo M2, která bere maximum přes 3×3 prostorová sousedství, a má krok 2, samostatně pro každý kanál. Následuje další konvoluční vrstva (C3), která se skládá z 16 filtrů velikosti 9x9x16. Hlavním účelem těchto vrstev je extrahovat nízkoúrovňové rysy, jako je textura a jednoduché hrany.

Mnohé úrovně pooling skutečně činí síť více robustní vůči jistým situacím, ale také způsobuje, že síť ztrácí informace o přesné poloze mikrotextur a detailních struktur obličeje. Aby se tomu zabránilo, model DeepFace používá Max Pooling vrstvu pouze s první konvoluční vrstvou. Tyto vrstvy jsou poté interpretovány modelem jako front-end adaptivní předzpracování. Ačkoli provedou většinu výpočtu, mají omezené parametry samy o sobě, a pouze rozšiřují vstup do sady místních rysů.

Následující vrstvy L4, L5 a L6 jsou lokálně propojeny, a stejně jako konvoluční vrstva, aplikují filtr bank, kde každá pozice v feature mapě učí jedinečnou sadu filtrů. Jako různé oblasti v alignovaném obraze mají různé místní statistiky, nelze uplatnit prostorovou stacionaritu. Například oblast mezi obočím a očima má vyšší diskriminační schopnost ve srovnání s oblastí mezi ústy a nosem. Použití lokálních vrstev ovlivňuje počet parametrů, které jsou předmětem trénování, ale neovlivňuje výpočetní zátěž během extrakce rysů.

Model DeepFace používá tři vrstvy na začátku pouze proto, že má velkou množství dobře označených trénovacích dat. Použití lokálních vrstev lze dále odůvodnit tím, že každá výstupní jednotka lokální vrstvy může být ovlivněna velkou částí vstupních dat.

Nakonec jsou horní vrstvy plně propojeny, přičemž každá výstupní jednotka je propojena se všemi vstupy. Tyto dvě vrstvy mohou zachytit korelace mezi rysy zachycenými v různých částech obrazů obličeje, jako je poloha a tvar úst a poloha a tvar očí. Výstup první plně propojené vrstvy (F7) bude použit sítí jako surový vektor reprezentace obličeje. Model poté krmit výstup poslední plně propojené vrstvy (F8) do K-way softmax, který produkuje distribuci nad třídami.

Datové sady

Model DeepFace používá kombinaci datových sad, přičemž primární datová sada je Social Face Classification nebo SFC. Kromě toho model DeepFace také používá datovou sadu LFW a datovou sadu YTF.

SFC Datová sada

Datová sada SFC je naučena z kolekce obrázků z Facebooku, a skládá se z 4,4 milionu označených obrazů 4 030 lidí, přičemž každý z nich má 800 až 1200 obličeji. Posledních 5 % obrazů obličeje z každé identity v datové sadě SFC je ponecháno pro testovací účely.

LFW Datová sada

Datová sada LFW se skládá z 13 323 fotografií více než 5 000 celebrit, které jsou poté rozděleny do 6 000 párů obličeje napříč 10 rozděleniami.

YTF Datová sada

Datová sada YTF se skládá z 3 425 videí 1 595 subjektů, a je podmnožinou celebrit v datové sadě LFW.

Výsledky

Bez frontalizace a pouze s 2D alignací model dosáhne přesnosti pouze asi 94,3 %. Když model používá středovou oblast detekce obličeje, nepoužívá žádnou alignaci, a v tomto případě model vrátí přesnost 87,9 %, protože některé části oblasti obličeje mohou vypadnout ze středové oblasti. Aby se vyhodnotila diskriminační schopnost reprezentace obličeje v izolaci, model následuje nastavení nesupervizovaného učení, aby porovnal vnitřní produkt normalizovaných rysů. To zvyšuje průměrnou přesnost modelu na 95,92 %

Výše uvedená figura porovnává výkon modelu DeepFace ve srovnání s ostatními špičkovými modely rozpoznávání obličeje.

Výše uvedený obrázek znázorňuje ROC křivky na datové sadě.

Závěr

Ideálně by klasifikátor obličeje měl rozpoznávat obličeje s přesností člověka a měl by být schopen vrátit vysokou přesnost bez ohledu na kvalitu obrazu, pozici, výraz nebo osvětlení. Kromě toho by ideální rámec rozpoznávání obličeje měl být schopen aplikovat na různé aplikace s minimálními nebo žádnými modifikacemi. Ačkoli DeepFace je jedním z nej pokročilejších a nejúčinnějších rámců rozpoznávání obličeje, není dokonalý a nemusí být schopen vrátit přesné výsledky ve všech situacích. Nicméně, rámec DeepFace je významným milníkem v oblasti rozpoznávání obličeje a uzavírá propast výkonu pomocí silné metriky učení a bude dále zefektivňován.

Inženýr z povolání, spisovatel ze srdce. Kunal je technický spisovatel s hlubokou láskou a porozuměním pro AI a ML, který se věnuje zjednodušování složitých konceptů v těchto oblastech prostřednictvím svých přitažlivých a informačních dokumentací.