MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Vylepšení vizualizace porovnávání 3D modelů tváří v programu FIDENTIS BAKALÁŘSKÁ PRÁCE Karolína Kolouchová Brno, jaro 2019 MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Vylepšení vizualizace porovnávání 3D modelů tváří v programu FIDENTIS BAKALÁŘSKÁ PRÁCE Karolína Kolouchová Brno, jaro 2019 Na tomto místě se v tištěné práci nachází oficiální podepsané zadání práce a prohlášení autora školního díla. Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracovala samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používala nebo z nich čerpala, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Karolína Kolouchová Vedoucí práce: RNDr. Zuzana Ferková i Poděkování Děkuji vedoucí své bakalářské práce RNDr. Zuzaně Ferkove za ochotu mi pomoci, za užitečné rady a za její trpělivost. Také děkuji pracovníkům Laboratoře morfologie a forenzní antropologie za pomoc při testování vytvořených vizualizací. ii Shrnutí Tato práce se zabývá vylepšením vizualizací porovnávání 3D modelů tváří pomocí Prokrustovy analýzy. Výsledkem jsou nové funkcionality které byly implementovány do programu Fidentis. Tento program vznikl v rámci projektu Masarykovy univerzity v Brně. Je vyvíjen Laboratoří interakce člověka s počítačem ve spolupráci s Laboratoří morfologie a forenzní antropologie. iii Klíčová slova Vizualization, Procrustes analysis, face comparison, landmarks, facial points, Java, JOGL, Fidentis iv Obsah 1 Úvod 1 2 Nástroje pro analýzu landmarku 3 2.1 MorphoJ 3 2.2 PAST 4 2.3 Morphome3cs 5 2.4 Fidentis 6 2.4.1 Porovnávání dvou tváří 7 2.4.2 Srovnání s databází 8 2.4.3 Dávkové zpracování 9 3 Význačné body 11 3.1 Používané význačné body 11 3.2 Prokrustova analýza 12 4 Implementace 15 4.1 Požadovaná vylepšení 15 4.2 Změna barvy porovnávaných konfigurací 16 4.3 Vytváření spojnic mezi body 16 4.4 Označování bodů 17 4.5 Informace o konfiguraci 19 5 Testování 21 5.1 Zadání 21 5.2 Vyhodnocení 22 6 Závěr 23 Bibliografie 24 v 1 Úvod V současné době dochází k velkému rozvoji informačních technologií, který se dotýká celé řady nejrůznějších oborů. Jedním z těchto oborů je také antropologie (věda o člověku), která se nejčastěji dělí na dvě různé základní oblasti. Jednou je kulturní a sociální antropologie, která se zabývá člověkem jako společenskou a kulturní bytostí. Tou druhou je fyzická antropologie, která studuje lidské tělo. Předmětem jejího zkoumání je vývoj lidského druhu, vývoj lidských ras a rozdíly mezi nimi, odchylky tělesných znaků a další [10]. Relativně novým, rychle se vyvíjejícím, podoborem fyzické antropologie je antropologie virtuální. Ta studuje 3D modely částí lidského těla a využívá neinvazivní zobrazovací techniky a virtuální modelování pro řešení vědeckých problémů [18]. Jedním z používaných nástrojů virtuální antropologie je program Fidentis, který vznikl v rámci projektu Masarykovy univerzity v Brně. Jedná se o software pro forenzní identifikaci lidských tváří, který pracuje s 3D modely. Je vyvíjen Laboratoří interakce člověka s počítačem na Fakultě informatiky ve spolupráci s Laboratoří morfologie a forenzní antropologie (dále i LaMorFa) Přírodovědecké fakulty Masarykovy univerzity. V současné době je program Fidentis využívaný studenty antropologie a pracovníky Laboratoře morfologie a forenzní antropologie pro vědecké a studijní účely. Vzhledem k tomu, že 70 % smyslových receptoru člověka je soustředěno v očích a zrak tak smyslům dominuje [16], jsou důležitou součástí programu vizualizace, a to jak počáteční a průběžné, tak i výsledné. Uživatelé softwaru Fidentis však nejsou plně spokojeni s existujícími vizualizacemi výsledků porovnávání tváří, proto požadují vylepšení vizualizací ve všech třech programem nabízených modulech. Na základě vznesených požadavků je cílem mé práce vylepšit vizualizací výsledků porovnávání tváří pomocí Prokrustovy analýzy. Hlavními požadavky je zvýraznit vybraný antropometrický bod, možnost změnit barvu bodů a možnost vykreslit spojnice mezi body pro lepší orientaci v zobrazených datech. V rámci této práce tedy implementuji funkcionality vylepšující vizualizace výsledků porovnávání tváří v programu Fidentis, a také příslušné ovládací prvky v uživatel- 1 i . ÚVOD ském rozhraní programu. Tato zlepšení pomáhají zpřehlednit práci s programem. Celý program je vyvíjen v programovacím jazyce Java, proto je tento jazyk nutné použít i pro nové funkcionality a jejich implementaci. Pro vizualizaci je použita knihovna JOGL (Java OpenGL), která v jazyce Java umožňuje použít OpenGL. V této práci zkoumám používané nástroje pro analýzu landmarků a podrobněji představuji program Fidentis, zejména porovnávání význačných bodů obličeje pomocí význačných a vizualizaci jeho výsledků. Dále popisuji, co jsou to význačné body (neboli landmarky), uvádím, které význačné body používá program Fidentis a vysvětluji Prokrustovu analýzu. Poté se věnuji popisu navržených vylepšení a porovnávám v ní možné způsoby jejich implementace. To je následováno popisem a vyhodnocením testování vylepšených vizualizaci, kterého se účastnili studenti a pracovníci ústavu antropologie, různě zběhlí v používání programu Fidentis. V závěru znovu shrnuji vytvořená vylepšení a jejich testování. 2 2 Nástroje pro analýzu landmarků Předmětem této práce jsou výsledky porovnávání modelů tváří na základě antropometrických (význačných) bodů, též nazývaných landmarky. Ty jsou důležitým prvkem např. analýzy biologických tvarů popsané Fredem Booksteinem v knize Geometrie Tools for Morphometric Data: Geometry and Biology (Geometrické metody pro morfometrická data: geometrie a biologie) [1]. Význačné body jsou strukturně homologní body na souboru zkoumaných objektů, tj. body které můžeme najít na všech srovnávaných objektech [12]. Množina všech bodů, která reprezentuje jeden zkoumaný objekt, je označována jako konfigurace. Všechny zkoumané konfigurace by měly mít stejný počet landmarků, minimální počet význačných bodů v konfigurací je však tři [17]. Cílem mé práce je v programu Fidentis vylepšit vizualizaci porovnávání tváří pomocí význačných obličejových bodů (landmarků). Pro analýzu landmarků je v současné době využíváno několik nástrojů. Jde například o programy MorphoJ, PAST a Morphome3cs, které se mimo jiné používají právě pro analýzu význačných bodů. Níže tyto nástroje popisuji, a také uvádím způsob, jakým tyto programy dokážou landmarky vizualizovat. Součástí popisu je i hodnocení výhod a nevýhod uvedených nástrojů. Dále pak popisuji program Fidentis, kde věnuji zvýšenou pozornost dosavadním vizualizacím a jejich nedostatkům. 2.1 MorphoJ Jedním z nástrojů používaných pro analýzu landmarků je software MorphoJ [6], vyvíjený na University of Manchester. Je určený pro geometrickou morfometrickou analýzu zejména biologických dat. Program dokáže provádět nejrůznější druhy analýzy, např. Prokrustovu analýzu nebo Principal Component Analysis (analýzu hlavních komponent) a pracuje s 2D i 3D daty. Nevýhodou programu je, že pracuje pouze s již připravenými daty o landmarcích. Nedokáže tedy získat souřadnice landmarků z modelů či obrázků. K tomu je potřeba použít jiný software a do MorphoJ data importovat v textovém formátu, formátech NTS, TPS, nebo Morfologika [7]. 3 2. NÁSTROJE PRO ANALÝZU LANDMARKŮ Ve vizualizaci výsledků Prokrustovy analýzy jsou modře zobrazeny průměrné body pro každý landmark, které jsou vypočítané ze všech zadaných konfigurací. Kolem průměrných bodů jsou vykresleny landmarky všech konfigurací, jak lze vidět na Obrázku 2.1. Kromě průměrných bodů se zde nedá zjistit, ke které konfiguraci bod patří. Při analyzování 2D dat se zobrazí jedna vizualizace a pokud pracujeme s 3D daty, objeví se tři záložky a v každé je vykreslená projekce do směru jedné z hlavních os. Vizualizace je tedy vždy pouze dvourozměrná [7]. Obrázek 2.1: Vizualizace výsledků Prokrustovy analýzy v programu MorphoJ 2.2 PAST Dalším známým nástrojem je program PAST (PAleontological STatistics) [13], původně určený zejména pro analýzu paleontologických dat. Nyní je to rozsáhlý statistický nástroj využívaný v nejrůznějších odvětvích - přírodních vědách, strojírenství i ekonomii. PAST má uživatelské rozhraní podobné tabulkovým procesorům a stejně jako MorphoJ dokáže pracovat s 2D i 3D daty. Data, která je třeba analyzovat (může se jednat i o landmarky), se zadávají buď přímo do tabulky, nebo se mohou importovat ve formátech jako DOC, XLS, 4 2. NÁSTROJE PRO ANALÝZU LANDMARKŮ CSV, TPS, NTS atd. Tento program, obdobně jako MorphoJ, nedokáže z modelů či obrázků získat souřadnice landmarků, i zde je tedy nutné použití jiného softwaru [5]. Nástroj dokáže zobrazit landmarky po Prokrustově analýze pouze jako jednoduchý 2D nebo 3D graf. Pokud pracujeme s trojrozměrnými daty, grafem se dá pomocí posuvníků v postranním ovládacím panelu libovolně otáčet. Také je možné změnit velikost bodů a graf přibližovat a oddalovat. Jak lze vidět na Obrázku 2.2, nevýhodou je, že se zde nedá rozlišit k jaké konfiguraci jaký bod patří. Obrázek 2.2: Vizualizace landmarků po Prokrustově analýze v programu PAST 2.3 Morphome3cs Nástrojem velmi podobným programu Fidentis je Morphome3cs [2], který je vyvíjený ve spolupráci Skupiny pro počítačovou grafiku Maternatickofyzikální fakulty Univerzity Karlovy a Laboratoře 3D zobrazovacích a analytických metod Přírodovědecké fakulty Univerzity Karlovy. Morphome3cs dokáže pracovat přímo s 3D modely a poskytuje jak analýzu landmarků, tak i analýzu přímo povrchu modelu. Zajímavou vlastností programu je jeho modularita - systém lze rozšiřovat o další funkce pomocí skriptů v jazycích R a Python. Nevýhodou je, že 5 2. NÁSTROJE PRO ANALÝZU LANDMARKŮ software je volně dostupný jen se základními funkcemi a pro přístup k plné funkcionalitě je třeba kontaktovat autory. Základní verze je v podstatě nepoužitelná, protože se v ní nedá vytvořit nový projekt, pouze načíst již vytvořený. Vzhledem k tomu, že o tomto programu není k dispozici mnoho informací, nemohu zde uvést konkrétní popis analýz landmarků, ani způsob a náhled vizualizace dat. 2.4 Fidentis Forensic Facial Identification Software, zkráceně Fidentis [3], je program určený k morfologické analýze 3D modelů tváří. Vyvíjí ho Laboratoř interakce člověka s počítačem Fakulty informatiky ve spolupráci s Laboratoří morfologie a antropologie Přírodovědecké fakulty Masarykovy univerzity v Brně. Program je používán pracovníky LaMorFA a studenty antropologie k porovnávání tváří pro vědecké a studijní účely. Oproti nástrojům uvedeným výše nabízí Fidentis možnost manuálního umístění bodu na model, dále je možné spustit automatické vyhledávání landmarků a lze také načíst landmarky ze souboru vytvořeného přímo v tomto programu. Software Fidentis nabízí tři různé režimy, a to kvůli zohlednění různých potřeb analýzy tváří. Program tedy obsahuje moduly pro tři různé druhy porovnávání: vzájemné srovnání dvou tváří (modul 1:1), porovnání s databází (porovnání referenční konfigurace se skupinou N tváří - modul 1:N) a dávkové zpracování (samostatná analýza většího počtu tváří - modul N : N , batch processing). V každém modulu program poskytuje metodu porovnávání založenou na zarovnávání povrchu modelů, která využívá algoritmus Iterative Closest Point1 a Nearest neighbor distance2 , či výpočet Hausdorffovy vzdálenosti3 , a 1. Algoritmus pro minimalizaci rozdílu mezi dvěma množinami bodů, více na https: / /en.wikipedia.org/wiki/Iterative_closest_point 2. Více na http://resources.esri.eom/help/9.3/ArcGISDesktop/com/Gp_ToolRef/ spatial_statistics_tools/how_average_nearest_neighbor_distance_spatial_statistics_ works.htm 3. Vzdálenost dvou podmnožin metrického prostoru, více na https:/ /en.wikipedia.org/wiki/Hausdorff_distance 6 2. NÁSTROJE PRO ANALÝZU LANDMARKŮ také metodu porovnávající pouze antropometrické body, a to pomocí Prokrustovy analýzy [8]. Výsledky porovnávaní jsou k dispozici jako numerická data, a také jsou graficky znázorněny pomocí knihovny OpenGL. Každý z modulů má jiné využití a vizualizace výsledků se tomuto musí přizpůsobit. Dále popisuji jednotlivé moduly a zejména dosavadní vizualizace výsledků Prokrustovy analýzy. 2.4.1 Porovnávání dvou tváří V modulu porovnávání dvou tváří se spolu porovnávají dva modely označené jako primární a sekundární. Jedním z účelů tohoto porovnávání může být zjistit, jestli oba modely představují obličej stejné osoby. Dalším může být analýza rozdílů obou modelů např. kvůli pozorování změn před a po lékařském zákroku, nebo změn způsobených stárnutím. Obrázek 2.3: Vizualizace landmarků po Prokrustově analýze v modulu 1:1 programu Fidentis Pro vizualizaci výsledků jsou obě porovnávané konfigurace vykreslené přes sebe. Jednotlivé konfigurace jsou barevně odlišeny. Určité landmarky jsou defaultně propojeny úsečkami pro snadnější pochopení tvaru obličeje. Jedná se například o body představující koutky očí, kdy je propojený vnitřní a vnější koutek oka, nebo body ležící na 7 2. NÁSTROJE PRO ANALÝZU LANDMARKŮ mediánní rovině (rovina rozdělující tělo na levou a pravou polovinu), viz Obrázek 2.3. Pro zkoumání i malých lokálních rozdílů si uživatel může zvětšit vzdálenosti mezi odpovídajícími landmarky obou konfigurací. Dále je zde také možnost změny velikosti vykreslených bodů. Výhrady uživatelů v rámci tohoto modulu se týkaly nemožnosti určit, která sada landmarků patří k primárnímu modelu a která k modelu sekundárnímu. Dále, že nelze propojit úsečkami libovolné landmarky. Poslední požadovanou úpravou byla možnost změny barev z přednastavených (zelená a červená) na barvy podle požadavků uživatelů. 2.4.2 Srovnání s databází Modul srovnání s databází nabízí porovnání skupiny N modelů s jedním referenčním. Může být použit pro nalezení modelu z databáze nejpodobnějšího referenčnímu modelu - např. pro identifikaci podezřelého pomocí databáze zločinců, nebo nalezení rodiče dítěte. Obrázek 2.4: Vizualizace landmarků po Prokrustově analýze v modulu 1:N programu Fidentis Jako výsledek je zeleně zobrazena průměrná konfigurace spočítaná ze skupiny N modelů. Vektory, vedoucí z bodů průměrné konfigurace a směřující do odpovídajících bodů reference, ukazují odchylku referenční konfigurace od průměru a jsou zobrazeny červeně. Barevné 8 2. NÁSTROJE PRO ANALÝZU LANDMARKŮ odlišení vektorů od průměrné konfigurace je zde z důvodu přehlednosti. Stejně jako v modulu porovnání dvou tváří jsou mezi jistými body vykresleny spojnice, viz Obrázek 2.4. Modul opět nabízí možnost změny velikosti landmarků a pro případ malé odchylky od průměru si uživatel může prodloužit zobrazené vektory. V modulu srovnání s databází požadovali uživatelé přidat možnost změny barev a možnost propojení libovolných landmarků. 2.4.3 Dávkové zpracování Modul dávkového zpracování je určen ke zkoumání velkého množství modelů. Příkladem použití je zkoumání rozdílů obličejů v rámci určité populace - například určení, zda se od sebe v současné populaci liší obličeje mužů a žen. Výsledkem porovnávání je průměrná konfigurace spočítaná ze všech porovnávaných konfigurací. Na rozdíl od srovnání s databází jsou zde kromě průměrné konfigurace zobrazené také body všech zkoumaných konfigurací. Tyto jsou pro přehlednost opět od průměrné konfigurace barevně odlišeny, a navíc mají pouze poloviční průměr. Obrázek 2.5: Vizualizace landmarků po Prokrustově analýze v modulu batch programu Fidentis 9 2. NÁSTROJE PRO ANALÝZU LANDMARKŮ Podobně jako v ostatních dvou modelech jsou mezi body průměrné konfigurace vykresleny spojnice, nikoliv však mezi body porovnávaných konfigurací, viz Obrázek 2.5. Nechybí tu možnost změny velikosti landmarků, ani možnost zvětšit vzdálenost bodů průměrných landmarků a jim odpovídajících bodů porovnávaných modelů. Uživatelé v tomto modulu také požadují možnost změny barev a možnost změny propojení landmarků. Vzhledem k tomu, že v tomto modulu jde o porovnávání velkého množství konfigurací, je mnohdy obtížné rozeznat, zda konkrétní bod zobrazuje např. vnější koutek oka nebo spodní oční oblouk. Pro uživatele je také důležitá možnost označení všech bodů jednoho obličeje. Dále zde chybí informace o tom, ke které tváři patří vybraný bod. 10 3 Význačné body Význačné body, neboli landmarky, jsou body, které je možné nalézt na každém ze srovnávaných objektů, jde o body, které označují základní rysy objektu. Všechny význačné body, které jsou definovány na jednom objektu, by měly být definovány i na všech ostatních. Množinu všech bodů reprezentujících jeden zkoumaný objekt označujeme jako konfiguraci. V každé zkoumané konfiguraci by tedy měl být stejný počet landmarků, minimální počet, aby je bylo možné nazvat konfigurací, je však tři [12,17]. 3.1 Používané význačné body Program Fidentis nabízí zadání relativně velkého množství význačných bodů. Body popisují oblasti nesoucí důležité rysy, jako jsou oči, nos, ústa, případně také uši, a celkový tvar obličeje (jejich umístění lze vidět na Obrázku 3.1, seznam dle čísel v Tabulce 3.1). Pokud je třeba, může si uživatel přidat také vlastní landmarky. Obrázek 3.1: Umístění nejdůležitějších landmarků Oko může být popsáno až pěti různými body. Jsou to tzv. pravý a levý ektokanthion (bod ve vnějším koutku oka na spojnici obou víček), pravý a levý entokanthion (bod, kde se stýká horní a dolní víčko vnitřního koutku oka), palpebra superior (nejvyšší bod oblouku U 3- VÝZNAČNÉ BODY horního víčka) a palpebra inferior (nejnižší bod spodního víčka) a pupila (střed zornice). Pro popis nosu existuje také pět bodů - nasion (bod na mediánní rovině na kořenu nosu), pronasale (špička nosu), subnasale (bod na přechodu nosní přepážky v horní ret) a pravé a levé alare (nejlaterálnější body na nosním křídle). Mezi body používané pro analýzy ostatních částí obličeje patří např. glabela (bod mezi obočím), sublabiale (bod v prohlubni mezi dolním rtem a bradou) nebo gnathion (bod na dolním okraji bradové části čelisti). Dále Fidentis definuje celkem sedm bodů popisujících ústa - labrale superius (uprostřed okraje horního rtu) a labrale inferius (střed okraje dolního rtu), stomion (bod na průsečíku ústní štěrbiny a přímky procházející body labrale superius a inferius), pravý a levý cheilion (koutky úst) a pravá a levá crista philtri (nejvyšší body horního rtu) a také sedm význačných bodů na uchu. 3.2 Prokrustova analýza Program Fidentis umožňuje získání landmarků více způsoby, a to jak manuálně, tak automaticky, či načtením ze souboru. Tyto landmarky je třeba analyzovat a tím získat data, která je možné statisticky vyhodnotit. V programu Fidentis se používá konkrétně tzv Prokrustova analýza (také nazývaná prokrustovská analýza, nebo superpozice) [8]. Ta se zabývá zarovnáním dvou nebo více konfigurací tak, aby odpovídající si landmarky všech porovnávaných sad byly co nejblíže u sebe. Důraz je kladen na zarovnání tvaru konfigurací nezávisle na jejich poloze, zejména pomocí rotace a translace, případně také škálování [12, 9]. Prokrustova analýza získala svůj název podle mýtického obra Prokrusta, který chytal poutníky a pokládal je na svoji postel. Následně se snažil jejich rozměry posteli přizpůsobit - natahoval je, či přečnívající části usekával [12]. Sama Prokrustova analýza takové postupy nepovoluje. Všechny transformace musí zachovávat původní tvar konfigurace, tj. úhly a poměry vzdáleností mezi význačnými body. Povolené jsou tedy pouze rotace, translace a uniformní škálování. 12 3- VÝZNAČNÉ BODY Tabulka 3.1: Přehled nejdůležitějších landmarků v programu Fidentis Číslo bodu Název bodu 1,2 Pravý a levý ektokanthion 3,4 Pravý a levý entokanthion 5,6 Pravá a levá palpebra superior 7,8 Pravá a levá palpebra inferior 9 Glabela 10 Subnasale 11,12 Pravé a levé alare 13 Nasion 14 Pronasale 15 Labrale superius 16 Stomion 17 Labrale inferius 18,19 Pravý a levý cheilion 20, 21 Pravá a levá crista philtri 22 Sublabiale 23 Gnathion Při Prokrustově analýze se všechny konfigurace přeloží přes sebe (superponují) a poté se pomocí již uvedených transformací přizpůsobí tak, aby si srovnávané body všech konfigurací co nejlépe odpovídaly. Cílem je minimalizovat sumu druhých mocnin vzdáleností mezi odpovídajícími si body (též se nazývá metodou nejmenších čtverců) [12, 17,4]. Nejprve se tedy konfigurace přesunou tak, aby jejich geometrická těžiště (též centroidy) ležely ve stejném bodě (například v počátku souřadné soustavy) [4]. Mějme k třídimenzionálních bodů: (xi,yi,zi),(x2 ,y2, z2 ) v x k / V k / Z k , 13 3- VÝZNAČNÉ BODY Jejich geometrické těžiště leží v bodě (x, y, z), kde _ _ x\ + X2 H h xk _ _ y i + 1/2 H h yjc _ _ zi + Z2 H h zf c x ~ k , y ~ jfc , z ~ k Následně se všechny body posunou tak, aby jejich geometrické těžiště bylo v počátku, získáme tedy body {x\ — x, y\ — y, Z\ — z),... a poté přijde na řadu úprava velikosti tak, že ze vzdáleností bodů od těžiště spočítáme tzv. centroidovou velikost: CS = ^Ax\ + Ayf + Azf + • • • + Axjr + Ayjr + Azjr AXÍ = (XÍ - x), Ayi = (yi - y), Az{ = {z{ - z) Nové souřadnice bodů získáme vydělením starých souřadnic centroidovou velikostí, budeme tedy mít body (^^, ^7^/ ^r~)> • • • Posledním a nejtěžším krokem je vypočítání úhlu 9, o který když otočíme zarovnávanou konfiguraci, tak suma druhých mocnin vzdáleností mezi odpovídajícími si body bude co nejmenší. Odmocnina z těchto vzdáleností se nazývá Prokrustova vzdálenost [14]. Existují dva druhy Prokrustovy analýzy. První standardní, která se používá zejména na porovnání dvou konfigurací, kdy jedna z porovnávaných konfigurací je vybrána jako referenční, a ke které se pak druhá konfigurace zarovnává. Druhým typem je tzv. generalizovaná Prokrustova analýza (GPA), která se používá pro porovnání více konfigurací mezi sebou. Zde se postupně v iterativním procesu všechny konfigurace superponují vůči referenci, kterou je v první iteraci náhodně vybraná jedna z analyzovaných konfigurací. V dalších iteracích je referencí vždy průměrná konfigurace vypočtená ze všech porovnávaných konfigurací po superpozici. Postup je nutné opakovat tak dlouho, než si jsou reference a průměrná konfigurace rovny, tj. dokud se nepřestane měnit průměrná konfigurace [4,15]. 14 4 Implementace Cílem mé práce bylo vylepšit vizualizaci výsledků Prokrustovy analýzy při porovnávání modelů tváří v programu Fidentis na základě požadavků pracovníků Laboratoře morfologie a antropologie Přírodovědecké fakulty Masarykovy univerzity v Brně. V této kapitole popisuji jednotlivá vylepšení a způsob, jakým jsem postupovala při jejich implementaci. Současně také zmiňuji, jak pomáhají uživateli lépe analyzovat data. 4.1 Požadovaná vylepšení Zadavatelé měli ve vizualizacích, které byly v programu Fidentis, výhrady k tomu, že v modulu porovnávání dvou tváří nelze na první pohled určit, která ze zobrazených konfigurací patří k primárnímu a která k sekundárnímu modelu. Dále se jim nelíbilo, že defaultní barvy pro vykreslení konfigurací v modulech porovnání dvou tváří a srovnání s databází (červená a zelená) nemusí být vhodné pro uživatele s poruchou barevného vidění. Dalším nedostatkem bylo, že spojnice mezi body si nemohl uživatel nastavit podle svých potřeb. To také mohlo způsobovat problémy, pokud některý z landmarků, který měl být propojený s jiným, v konfiguraci chyběl. V modulu batch, kde se často porovnává velké množství konfigurací, bylo navíc obtížné rozeznat ke které konfiguraci či průměrnému bodu daný landmark patří. Do požadovaných vylepšení tedy patří ve všech modulech možnost nastavení barvy, kterou je vykreslena konfigurace a vytvoření vlastních spojnic mezi body. Dále také zvýraznění bodů stejného typu po kliknutí. V batch processing je navíc požadována možnost vybrat mezi zvýrazněním bodů stejného typu, nebo stejné konfigurace a informace o tom, ke kterému modelu daný bod patří. Součástí práce je také vytvoření odpovídajících ovládacích prvků do grafického uživatelského rozhraní. 15 4- IMPLEMENTACE 4.2 Změna barvy porovnávaných konfigurací Před implementací změny barvy konfigurací nebylo možné v modulu 1:1 zjistit, který z porovnávaných modelů je primární a který sekundární. Stejně tak v modulu 1:N nebylo zřejmé, co představuje zobrazená konfigurace. Toto vyřešily popisky barevných polí, které jsem přidala do ovládacího panelu. Pro vykreslení porovnávaných konfigurací jsou v modulech 1:1 i 1:N defaultně nastaveny červená a zelená. To by mohlo působit problém lidem s červeno/zelenou barvoslepostí, kteří mívají potíže tyto dvě barvy od sebe rozlišit. Těchto lidí není zanedbatelné množství uvádí se, že jí trpí kolem 8 % populace (zejména mužů) [11]. Do postranního ovládacího panelu (na obrázku) jsem přidala dvě barevná pole s popisky (Primary model a Secondary model v modulu 1:1, Average model a Arrows v 1:N a Average model, Other models v batch), která lze vidět na Obrázku 4.1. Díky tomu lze zjistit, jakou barvou je vykreslená daná konfigurace. Po kliknutí na barevné pole se otevře dialog, kde je možné pro konfiguraci nastavit jinou barvu. Comparison results Distance; U 0 20 40 Point size; 1 O Primaiy model; Secondary model; H Custom point connections Add point connections Clear all connections Obrázek 4.1: Postranní ovládací panel pro vizualizaci výsledků PA v programu Fidentis 4.3 Vytváření spojnic mezi body Pro snadnější pochopení tvaru modelu se určité body konfigurace propojují úsečkami. V předchozí verzi programu bylo pevně nastaveno, mezi kterými typy bodů se spojnice mají vykreslovat. Typy byly 16 4- IMPLEMENTACE vybrány tak, aby výsledný obraz co nejvíce připomínal tvar obličeje. Toto zadavatelům nestačilo a navíc mohl být problém, pokud některý z landmarků, které měly být spojeny, v konfiguraci chyběl. Z těchto důvodů bylo požadováno přidat také možnost vytvoření vlastních spojnic. Pro tento účel jsem v projektu vytvořila třídu PointConnection, která reprezentuje právě propojení mezi dvěma body. Třída určuje, které dva typy bodů mají být propojeny a pro použití v modulu batch také konfiguraci, ve které mají být body propojeny. Vytváření vlastních spojnic se nastavuje v postranním ovládacím panelu (viz Obrázek 4.1, kde je nejprve třeba zaškrtnout checkbox Custom point connections. Po zaškrtnutí zmizí původní defaultně nastavené spojnice a povolí se přepínací tlačítko Add point connections. Pokud je toto tlačítko zapnuté, pak se kliknutím na dva zobrazené body vytvoří nová spojnice mezi danými body. Pokud se checkbox Custom point connections odškrtne, znovu se začnou vykreslovat defaultně nastavené spojnice. Již vytvořené vlastní spojnice však zůstanou stále uložené, dají se vymazat pouze kliknutím na tlačítko Clear all connections. V modulu 1:1 se vždy vykreslují spojnice mezi stejnými body v obou porovnávaných konfiguracích a v modulu 1:N je zobrazena pouze jedna konfigurace. Nicméně v modulu batch je konfigurací větší množství a nejprve bylo možné propojovat pouze body průměrné konfigurace. Ve zpětné vazbě po prvním vyzkoušení programu však zadavatelé navrhli, že by ještě bylo vhodné přidat možnost vytvořit spojnice pro libovolnou konfiguraci bodů v analýze. Tuto možnost jsem následně doplnila. 4.4 Označování bodů Při kliknutí na bod v modulu 1:1 se o něm zobrazí informace, je tedy vhodné označený landmark nějak zvýraznit, aby bylo na první pohled patrné, ke kterému bodu se informace vztahují. V modulu batch se často porovnává velké množství konfigurací, takže může být obtížné rozeznat, ke které konfiguraci či průměrnému bodu daný landmark patří. Pro uživatele je tedy užitečné zvýraznit si všechny body jedné konfigurace, či stejného typu. 17 4- IMPLEMENTACE Označování bodů je také důležité pro další funkcionalitu, kterou jsem implementovala - vytváření vlastních spojnic mezi body Když uživatel vybírá body, které mají být propojeny, tak při kliknutí na bod musí mít nějakou zpětnou vazbu, že byl bod opravdu zvolen. Nejprve jsem zkusila označené body zvýraznit pouze tím, že jsem je vykreslila s větším poloměrem než ostatní body (viz Obrázek 4.2 vlevo). Toto řešení se neukázalo jako dostatečně výrazné a bylo nutné body odlišit také barevně. Dalším návrhem bylo zvýraznit body pomocí změny saturace, to buď nebylo dost výrazné, nebo byl označovaný bod spíše nevýraznější než ostatní. Nakonec jsem zvolila vykreslení částečně transparentní bílé sféry kolem označeného bodu, viz Obrázek 4.2. • • • • • • Obrázek 4.2: Porovnání označení bodu pomocí zvětšení a pomocí vykreslení bílé sféry Pro zjištění, na jaký bod bylo kliknuto, jsem využila již existující funkci, která pro nalezení používá ray casting. V modulu 1:1 ale fungovala jenom při kliknutí na body primárního modelu. Musela jsem tedy do funkce přidat i vyhledávání v bodech sekundárního modelu. V modulu batch jsem ji rozšířila o označování bodů všech konfigurací namísto pouze bodů průměrné konfigurace. Vzhledem k rozdílným datům, která se vizualizují v jednotlivých modulech, bylo třeba pro modul N : N zvolit jiný způsob označování bodů. V modulu 1:1 se při kliknutí na bod zvýrazní daný bod a bod stejného typu na druhé konfiguraci. V modulu 1:N jsou vizualizovány pouze body průměrné konfigurace a tedy se při kliknutí zvýrazní pouze daný bod. Naproti tomu v modulu batch se zobrazují body všech konfigurací, což může být při porovnávání většího množství modelů velmi nepřehledné. Přidala jsem tedy možnost zvolit si, zda se budou zvýrazňovat body stejného typu, nebo stejné konfigurace. 18 4- IMPLEMENTACE K tomuto účelu bylo vytvořeno kontextové menu (viz Obrázek 4.3, které se zobrazí při kliknutí pravým tlačítkem na bod. Zde se vybere, které body mají být zvýrazněny. Při kliknutí levým tlačítkem se označují body dle předchozí volby (případně defaultního nastavení, což jsou body stejného typu). Obrázek 4.3: Zvýraznění bodů stejného typu spolu s kontextovým menu 4.5 Informace o konfiguraci Informace o tom, ke které tváři bod patří je důležitá zejména v modulu batch, kde je zobrazeno velké množství konfigurací a všechny kromě průměrného modelu jsou vykresleny stejnou barvou. Je tedy potřeba, aby se dalo zjistit, ke které konfiguraci daný bod patří. Z tohoto důvodu jsem do modulu přidala tooltip, který se zobrazí při najetí myší na bod a obsahuje informaci o typu bodu a název modelu (viz Obrázek 4.4), ke kterému patří konfigurace obsahující daný 19 4- IMPLEMENTACE bod. Vzhledem k tomu, že tooltip by mohl v nějakých situacích překážet, jeho zobrazování je možné zapnout a vypnout pomocí checkboxu Show point info v ovládacím panelu. Obrázek 4.4: Tooltip s informacemi o vybraném landmarku v modulu batch 20 5 Testování Po provedené implementaci provedli antropologové první testování vytvořených úprav. Ve zpětné vazbě upozornili na některé chyby a navrhli další úpravy. Na základě feedbacku jsem chyby opravila a implementovala některé z navržených úprav. Mezi chyby patřilo zejména to, že po otočení vizualizace v modulu batch zmizelo označení bodů a že pro označení bodu v modulu 1:1 se muselo klikat pouze na body primárního modelu. Jednou z navržených úprav bylo přidání možnosti vytvoření spojnic pro libovolnou konfiguraci bodů v modulu batch (do té doby bylo možné propojit jen body průměrné konfigurace). Následně antropologové uskutečnili testování, jehož cílem bylo zjistit, jak vytvořená vylepšení pomohou uživatelům v interpretaci výsledků porovnávání. Testování se účastnili studenti antropologie a pracovníci LaMorFA, od začátečníků po experty v používání programu Fidentis. 5.1 Zadání Každý z účastníků dostal tři úkoly, jeden na otestování každého ze tří modulů (1:1, 1:N a batch). Výstupem testování byl vždy export numerických a vizuálních výsledků a jejich interpretace. Protože se jednalo o testování vizualizace a toho, jak daná vizualizace pomůže uživateli analyzovat data, všichni účastníci měli zadané stejné landmarky. Landmarky byly předem připravené a při testování se načítaly ze souboru. Pro otestování modulu 1:1 se porovnávaly modely získané z virtuálního záznamu obličeje člověka před a po operaci čelisti (viz Obrázek 5.1 vlevo). Cílem bylo zjistit v jaké oblasti se od sebe modely nejvíce liší. Při testování modulu 1:N se porovnával model obličeje dítěte s pěti modely obličejů dospělých jedinců. Jeden z modelů byl rodičem dítěte, úkolem bylo zjistit, který z nich to je. Posledním úkolem pro testování modulu batch bylo zjištění variability obličeje mužů a žen v současné populaci. Porovnávalo se pět modelů ženských a pět mužských obličejů (viz Obrázek 5.1 vpravo). Cílem bylo zjistit, zda se od sebe mužské a ženské obličeje liší. 21 5- TESTOVÁNÍ • • ľ . O fc • —í • •••••• * • • •• • • • 1 * Obrázek 5.1: Porovnávané konfigurace při testování modulů 1:1 (vlevo) a batch 5.2 Vyhodnocení Testování se účastnili tři začátečníci v práci s programem Fidentis. Dvěma z nich se podařilo splnit všechny zadané úkoly, jeden navrhoval, že by se mu líbila možnost zobrazit pod vizualizovanými landmarky také transparentní model. Třetí začátečnice splnila první a třetí úkol (pro otestování modulů 1:1 a batch) a k modulu 1:N uvedla pouze, že „bohužel nefunguje". K modulu batch poznamenala, že z vizuálních výsledků nelze hodnotit, který z obličejů je nejvíce/nejméně odlišný od průměru, protože „chybí možnost od sebe barevně odlišit skupiny". Tím pravděpodobně myslela barevné odlišení jednotlivých porovnávaných konfigurací - je tedy možné, že se jí nepodařilo najít možnost označit body stejné konfigurace. Mezi účastníky byli tři lidé z řad expertů, tj. lidí, kteří program Fidentis používají pravidelně. Těm se bez problémů podařilo splnit úkoly pro moduly 1:1a batch. V modulu 1:N nastala blíže nespecifikovaná chyba a analýza se jim nepovedla provést. K vizualizacím výsledků analýzy dvou tváří a porovnávání v modulu batch neměli žádné připomínky. 22 6 Závěr Cílem této práce bylo vylepšit vizualizace porovnávání 3D modelů tváří v programu Fidentis. Jednalo se konkrétně o vizualizaci výsledků porovnávání pomocí Prokrustovy analýzy ve všech třech modulech programu (tj. porovnání dvou tváří, srovnání s databází a dávkové zpracování). Ve všech modulech programu jsem implementovala možnost změny barev, kterými jsou vykresleny jednotlivé konfigurace. Dále jsem přidala funkcionalitu pro vytvoření vlastních spojnic mezi porovnávanými landmarky (dříve byly spojnice pouze mezi defaultně nastavenými body). Uživatel si může kdykoliv vybrat mezi původními a vlastními spojnicemi. Dalším přidaným vylepšením je zvýraznění bodů stejného typu po kliknutí na landmark. V modulu batch jsem přidala ještě kontextové menu pro výběr mezi zvýrazněním bodů stejného typu a bodů stejné konfigurace a také tooltip, který se zobrazí při najetí myší na jakýkoliv z porovnávaných bodů. Tooltip obsahuje název landmarku a název modelu, ke kterému daný landmark patří. Vylepšení byla testována pracovníky Laboratoře morfologie a forenzní antropologie Přírodovědecké fakulty Masarykovy univerzity a také studenty antropologie. Někteří testující měli problémy s modulem 1:N, které však nebyly blíže specifikovány. Zadavatelé neměli žádné konkrétní výhrady, pouze návrhy na další vylepšení. Upravené vizualizace byly přidány do nejnovější verze programu Fidentis. Dalším pokračováním práce by mohla být implementace některých z navržených vylepšení. Z těch bych vybrala například možnost uložení vytvořených spojnic pro použití v budoucích analýzách, nebo možnost vymazání pouze jedné z vytvořených spojnic. V modulu batch by pak byla zajímavá vizualizace variability bodů okolo průměru (např. jako elipsoid). 23 Bibliografie 1. BOOKSTEIN, F. L. Morphometric Tools Landmark Data: Geometry and Biology. Cambridge University Press, 1997. ISBN 0-521-58598- 8. 2. C G G M F F UK. Morphome3cs II [online]. Czech Republic, 2015 [cit. 2019-05-25]. Dostupné z: http: //www.morphome3cs . com. 3. Fidentis. Fidentis research group, 2015-2019. Dostupné také z: https://www.fidentis.cz/. 4. GOWER, J.C. Generalized procrustes analysis. Psychometrika [online]. 1975, roč. 40, č. 1, s. 33-51 [cit. 2019-05-25]. ISSN 1860-0980. Dostupné z: http: //dx. doi. org/10.1007/BF02291478. 5. H A M M E R , 0 . PAST Reference manual. 1999-2019. Dostupné také z: https://folk.uio.no/ohammer/past/past3manual.pdf. 6. KLINGENBERG, C. P. MorphoJ: an integrated software package for geometrie morphometries. Molecular Ecology Resources [online]. 2011, č. 11, s. 353-357 [cit. 2019-05-25]. ISSN 1755-0998. Dostupné z: http: //www. f lywings . org. uk/PDF°/„5C°/020f i l e s / MolEcolResour2011.pdf. 7. KLINGENBERG, C. P. MorphoJ User's Guide. 2008-2019. Dostupné také z: http://www.flywings.org.uk/MorphoJ_guide. 8. ĽÝOVÁ, Z. Porovnávání 3D modelů lidských tváří na základě antropometrických bodů [online]. 2014 [cit. 2019-05-25]. Dostupné také z:https://is.muni.cz/th/ihgb4/. 9. MACHOLÁN, M . Prokrustes, deformace a nová morfometrie: Tichá revoluce v biometrii? Vesmír [online]. 1999, roč. 78, č. 1/1999, s. 35-39 [cit. 2019-05-25]. ISSN 1214-4029. Dostupné z: http: // www.dlib.org/dlib/july05/lynch/071ynch.html. 10. MURPHY, Robert Francis. Úvod do kulturní a sociální antropologie. Vyd. 2. Sociologické nakladatelství (SLON), 2004. Studijní texty (Sociologické nakladatelství). ISBN 978-80-86429-25-0. 11. National Eye Institute [online]. 2019 [cit. 2019-05-25]. Dostupné z: https : //nei . nih . gov/health/color_blindness/f acts_ about. 24 BIBLIOGRAFIE 12. NEUSTUPA, J. Co je to geometrická morfometrika aneb morfologie znovu na scéně. Živa [online]. 2006, č. 2, s. 54-56 [cit. 2019-05-25]. ISSN 0044-4812. Dostupné z: http : //živa . avcr . cz/f iles/ziva/pdf /co-je-to-geometricka-morfometrika- aneb-morfologie.pdf. 13. PAST. Hammer, 0., Harper, D.A.T., Ryan, P.D., 2001-2019. Dostupné také z:https://folk.uio.no/ohammer/past/. 14. ROHLF, F. James; BOOKSTEIN, Fred L. Proceedings of the Michigan Morphometries Workshop. University of Michigan Museum of Zoology, 1990. Special publication (University of Michigan. Museum of Zoology). ISBN 09-628-4990-1. 15. ROSS, A. Procrustes analysis. Columbia, USA: Department of Computer Science and Engineering, University of South Carolina, 2004. 16. ŠIKL, Radovan. Zrakové vnímání. Grada, 2012. Psyche (Grada). ISBN 978-80-247-3029-5. 17. URBANOVÁ, P. Využití metod geometrické morfologie v biologii člověka a přidružených oborech [online]. 2010 [cit. 2019-05-25]. Dostupné také z: http : / / i s . muni . cz / do / rect / habilitace / 1431 / Urbanova/habilitacce/Habilitace_Urbanova.pdf. 18. VELEMÍNSKÁ, J.; DUPEJ J. Virtuální antropologie a její přínos v oblasti biomedicínských a forenzních věd. Živa [online]. 2016, č. 5, s. 54-56 [cit. 2019-05-25]. ISSN 0044-4812. Dostupné z: http: //živa.avcr.cz/files/ziva/pdf/virtualni-antropologiea-j ej i - p r i n o s - v - o b l a s t i - b i o. p d f . 25