Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Fotoškola  |  Seriály
Fotoaparáty  |  Objektivy
Fotomobily  |   Software
Příslušenství  |  Ostatní
Svět hardware  |  TV Freak
Svět mobilně

Detekce a rozpoznání tváří: vím, kdo jsi!

19.3.2014, Milan Šurkala, článek
Detekce tváří se ve větším začala ve fotoaparátech používat zhruba před 7 lety. Dnes už vás fotoaparát i pozná. Problematika je ale širší, rozpoznávání tváří je velkém záležitostí i bezpečnosti a boji proti terorismu. Podívejme se na rozmach "Velkého Bratra".
Největším cílem veškerého rozpoznávání biometrických dat je větší bezpečnost a automatizace. U rozpoznání tváří jde rovněž o to, že zatímco snímání duhovky nebo otisku prstů vyžaduje znatelnou interakci z pohledu snímaného (u mnoha z nich jde navíc o velmi drahé přístroje, které toho jsou schopny), rozpoznání tváře uživatele nijak neobtěžuje a ani si toho v mnoha případech nemusí všimnout. Navíc běžná kamera není ani příliš drahé zařízení. V této kapitole se podíváme, jak si algoritmy a softwary pro rozpoznání obličejů vedou v praxi.

První problémem je fáze vývoje a fáze použití. Zatímco vývojáři většinou pořizují snímky za dobrého a kvalitního osvětlení a rovněž posuzují snímky takto pořízené, praxe je podstatně nemilosrdnější. V roce 2002 tak např. proběhl test FRVT 2002, který obsahoval přes 121 tisíc snímků více než 37 tisíc osob, každá měla v databázi minimálně tři snímky. Jednalo se o snímky ze žádostí o vízum, tedy snímky s dobrým nasvícením a jednoduchým pozadím. Testu se zúčastnily programy společností Cognitec, Eyematic a Identix.





Pokud byl předhozen snímek "úředního" typu s jednoduchým pozadím a dobrým osvícením, nejlepší program měl jen 73% úspěšnost detekce. Pokud se vzalo 10 nejpravděpodobnějších tváří, které program našel (tzv. rank 10), pak hledaná osoba byla v těchto 10 nejlepších v 82 % případů. Rank 50 pak dosáhl až na 87 %. To znamená, že celých 13 % testovaných snímků bylo tak špatně rozpoznáno, že se nedostaly dokonce ani do 50 nejpravděpodobnějších! Při testu venkovních snímků dosáhl nejlepší program úspěšnost pouze 50 % v testu rank 1 (tedy vyhození nejpravděpodobnějšího výsledku).

Tento test ukázal také to, že každý rok stáří fotografie snižuje úspěšnost detekce o významných 5 %. Do výsledků se samozřejmě hodně promítá také velikost databáze, tedy počet lidí, mezi kterými identifikujeme. Při 37 tisících záznamech v databázi tedy byla úspěšnost jen 73 %, ale při 1600 záznamech už vyskočila na 83 % a při 800 záznamech byla 85 %. O čtyři roky později byla provedena studie FRVT 2006, která už vykazovala mnohem vyšší procenta, ale zde to bylo z velké části dáno změnou metodiky a dat, a tak čísla není možné mezi sebou porovnat. Podobných testů bylo provedeno mnohem více, nás ale budou více zajímat reálné výsledky při skutečném reálném nasazení.

Jako první můžeme zmínit nasazení těchto programů u policie v USA, jmenovitě v Tampa Police Department. V provozu zaznamenaly spoustu falešných detekcí, nicméně ani jednu skutečně správnou. Není divu, že systém nakonec zrušili. Použit byl nicméně při Super Bowlu v roce 2002, kde detekoval 19 podezřelých. Šlo nicméně o testovací provoz, a tak žádný z 19 detekovaných lidí nebyl jakkoli legitimován a nevíme, zda detekce byly skutečně správné. Dalším subjektem, který tyto programy vyzkoušel, bylo letiště v Palm Beach (Palm Beach International Airport). Zde naplnili databázi 250 snímky 15 dobrovolníků a zaznamenali 47 % správných detekcí a rozpoznání.

V Newhamu ve Velké Británii nasadili software Identix FaceIt. Běžel jim tam dva roky, ale ani jednou nenašel osobu, která byla v databázi (šlo tedy o typ "seznam hledaných"). Protože není jisté, zda se v monitorovaných místech hledané nekalé živly skutečně nacházely, vyzkoušel redaktor Guardianu ve spolupráci s provozovateli systému zanést své fotografie do systému a pak se promenádoval ve dvou z monitorovaných oblastí. Hádáte správně, systém jej nenašel. Pro zajímavost, Identix Facelt běžel ve fotoaparátech Nikon Coolpix 7900, 7600 a 5900 z roku 2005 pro detekci tváří a zaostření na ně.


Systém SmartGate


Jednou z úspěšných implementací funkce rozpoznání tváří je SmartGate na australských letištích. Technologie se objevila v roce 2002 na letištích v Brisbane, Cairns a Melbourne. Využita je technologie společnosti Cognitec. V roce 2009 se počet takto obsluhovaných letišť rozrostl o dalších pět. Jedná se o to, že majitelé elektronický pasů vybraných zemí (Austrálie, Nový Zéland, Velká Británie, Švýcarsko, USA a několika dalších) mohou využít naskenování svého elektronického pasu a systém pomocí tří kamer nasnímá váš obličej a vyhodnotí, zda jste to skutečně vy. Pokud uspějete, můžete jít dál, jinak jdete na kontrolu, kterou standardně provede úředník jako na běžném letišti.

Hovoří se o tom, že do října roku 2008 prošlo systémem téměř 100 tisíc lidí a zhruba 9 %, tzn. každý jedenáctý cestující byl nesprávně odmítnut. K dokonalosti to má daleko, ale na program zpracovávající obrazová data, to není až tak zlé (obzvlášť uvážíme-li to, že jde o reálné využití a ne umělé testy).

Dalším reálným projektem, který vykázal aspoň trochu větší než nulovou úspěšnost, byl čtvrtletní pokus v Mohuči v Německu na vlakové stanici, kde byly snímány schody a eskalátory, a to jak ve dne, tak v noci. Testu se zúčastnilo 200 dobrovolníků. Ti byli vyhledáváni v nasnímaném obrazu (opět šlo tedy o typ "seznam hledaných"). Denně bylo průměrně zkoumáno téměř 23 tisíc tváří. Během dne systém dosahoval 60% úspěšnosti detekce, bohužel v noci za umělého světla úspěšnost klesla na pouhých 10-20 %. Přitom nešlo o snímky z videokamer umístěných na stropě, ale o kamery, které byly namířeny přímo rovně na schodiště a eskalátor. Detekce na schodišti, kde je pohyb osob výraznější a méně pravidelný, byla detekce ještě o 5-15 % slabší než na eskalátoru.


Záběr kamery na nádraží v Mohuči

modře je vyznačená plocha snímaná kamerami na nádraží v Mohuči



Proč to všechno funguje v reálném životě tak mizerně? Prvním problémem může být samotná databáze. Čím vyšší rozlišení snímků v databázi, tím lépe. Čím novější je snímek, taktéž. Naopak čím menší databáze, tím je lépe, protože se vzrůstajícím počtem záznamů v databázi se snáze najdou tzv. biometrická dvojčata, lidé, kteří mají velmi podobné biometrické parametry. Pokud tyto body nejsou splněny, úspěšnost klesá.

Dalším problémem je kvalita snímků pro porovnávání. Běžné CCTV kamery v tomto nejsou zrovna zázračné. Jednak jsou často montovány nahoře, takže snímají z vysokého úhlu, jednak rozlišení nemusí být dostatečné. Problémem těchto snímků mohou být i světelné změny, stíny a podobně věci, které kazí úspěšnost detekce opravdu velmi výrazně. Nepříliš otočená tvář (běžně do cca 30-35°) je ještě detekovatelná, větší úhly už způsobují většině algoritmů nepřekonatelné potíže.

Úspěšnost algoritmů také ovlivňuje jejich nastavení, zejména to, jakou jsme ochotni akceptovat úroveň nesprávných odmítnutí a nesprávných přijetí. Pokud jde např. o vysokou bezpečnost při verifikaci, budeme patrně vyžadovat minimální úroveň nesprávných přijetí. Přece nebudeme chtít, aby se nám do systému dostal někdo nepovolaný. Na druhou stranu to ale znamená, že budou častěji odmítáni i uživatelé, kteří by měli mít přístup.

Naopak systémy, kde jde o uživatelskou přívětivost a nejde o systém, kde by šlo o vysokou bezpečnost, budou mít nastavení opačné a půjde zejména o to, aby nedocházelo k nesprávným odmítnutím.
Autor: Milan Šurkala
Vystudoval doktorský program v oboru informatiky a programování se zaměřením na počítačovou grafiku. Nepřehlédněte jeho seriál Fotíme s Koalou o základech fotografování.