Editace 3D polygonálních modelů
Modely vytvořené segmentací
objemových dat, povrchovými skenery nebo fotogrammetrickými aplikacemi, jsou
často v podobě, která nevyhovuje jejich plánovanému použití. Modely mohou
obsahovat nedostatky, které navyšují objem dat, omezují použití některých
analytických nástrojů nebo působí rušivě při zobrazení a prezentaci modelu. Po
vytvoření modelu tak zpravidla následuje fáze jeho editace.
Editační nástroje můžeme rozdělit do několika skupin podle toho, které prvky modelu upravují. První skupinou jsou nástroje pro základní čištění modelu od nadbytečných dat a defektů polygonální sítě. Tyto nástroje by neměly ovlivňovat podobu zbylých částí modelu a jejich polohu, tvar (uspořádání) a velikost. Cílem čištění modelu je zbavit se vážných chyb polygonální sítě, které by mohly ztěžovat nebo znemožňovat jeho další editaci a analýzy, odstranit nežádoucí části modelu a zmenšit rozlišení modelu, pokud je pro další práci s modelem nebo jeho archivaci příliš velké. Obě funkce pak kombinují nástroje pro remeshing, které nahradí stávající polygonální síť nově vygenerovanou sítí, vytvořenou bez chyb a podle nastavených parametrů.
Druhá skupina nástrojů slouží k lokální i celkové úpravě tvaru modelu. Mezi nejčastější úpravy celkové podoby modelu patří vyhlazování, jehož cílem je povrch modelu zbavit drobných nerovností, vzniklých například jako artefakty skenování (typická je například jemná hrbolatost modelů ze skenerů Vectra, která není omezena je části modelu a je proto možné ji řešit celkovým vyhlazení). Tyto nerovnosti mohou zkreslovat analýzy modelu, ale především mohou zbytečně kazit jeho prezentaci formou náhledů nebo 3D tisku. To samé platí i lokální artefakty skenování, které mohou být vyhlazeny a odstraněny nástroji pro 3D sculpting. Jde o velmi časté drobné vklesliny nebo naopak výstupky na povrchu modelu. Opět jsou typické pro optické skenery, které tyto artefakty vytvářejí například v místech odlesků kůže, na horním a dolním víčku, kde jsou způsobeny špatně skenovatelnými řasami, nebo tam, kde jde přes povrch obličeje vlas. Použitím těchto nástrojů může dojít k podstatným změnám tvaru modelu, a tedy informace nesené modelem.
Třetí skupina nástrojů neovlivňuje podobu modelu, ale upravuje jeho velikost a polohu v systému souřadnic. Tyto nástroje jsou využívány k ustavení modelu do některé z definovaných poloh nebo pro vzájemné uspořádání více navzájem souvisejících modelů. Příkladem prvně jmenovaného využití je ustavení modelu lebky do polohy odpovídající frankfurtské horizontále, které usnadňuje například záznam kraniometrických bodů a prezentaci modelu. Stejné nástroje jsou využívány pro virtuální restauraci, tedy obnovení původní polohy naskenovaných kostí nebo jejich fragmentů.
Volba editačních nástrojů a pořadí jejich použití záleží na stavu původního modelu a požadované výsledné formě. Očištění modelu je vhodné provádět hned na počátku editace, pořadí ostatních kroků však musíme přizpůsobit konkrétním okolnostem. Tvar polygonální sítě je například vhodné editovat v co možná nejvyšším, původním rozlišení a až nakonec rozlišení modelu redukovat podle požadavků na výsledný model. Příliš velké rozlišení však zvyšuje výpočetní náročnost práce s modelem, a proto je často nutné přistoupit k jeho počáteční redukci. Dalším příkladem je odstranění izolovaných fragmentů, které může být provedeno jako jeden z prvních kroků, ale také může nechtěně odstranit fragmenty, které mohou být využity při vyplňování děr v síti (viz dále).
Používané 3D editační programy – MeshLab, Blender a GOM Inspect
Nástroje pro editaci polygonálních
modelů jsou často součástí samotných ovládacích rozhraní skenerů, aplikací pro
segmentaci objemových dat a fotogrammetrických aplikací. Specializované
programy pro úpravu 3D modelů však nabízejí výkonnější nástroje a širší možnosti
nastavení editačních kroků. V této kapitole budou prakticky představeny volně
dostupné aplikace pro editaci 3D modelů, a to MeshLab, Blender a GOM Inspect.
Meshlab je jednoduchý, základní
program pro zobrazování a editaci polygonálních modelů. jeho výhodou je právě
uživatelská nenáročnost a schopnost pracovat s širokou paletou formátů.
Program Blender je naopak velmi komplexní a velmi výkonný nástroj, který
umožňuje téměř všechny operace s modely, od globální a lokální editace až
po animování. Program GOM Inspect má
nejvíce specifické využití, a sice velmi dobře fungující nástroje pro
zaplňování děr v polygonálních modelech a další úzce využitelné nástroje.
Ze tří programů je však nejméně univerzální a například nedovede pracovat
s modely, které obsahují barevnou informaci.
Aplikace pro editaci 3D modelů
pracují zpravidla se svými, nativními formáty souborů, tzv. projekty, odlišných
od obecných 3D formátů. Pro editaci musejí být modely do editačních aplikací
nejprve importovány. U některých programů (GOM Inspect) se model stává importem
součástí projektu, u jiných programů (MeshLab) obsahuje projekt pouze cestu
k souboru modelu, v programu Blender je možné mezi těmito dvěmi
možnostmi volit. Ani jedna možnost není jednoznačně lepší než druhá. Pokud
program pracuje pouze s cestami k 3D datům, může být jeho projektový
soubor datově malý, protože neobsahuje 3D prostorová data, ale pouze se
k nim odkazuje. Nevýhodou je, že uživatel musí myslet na to, že data jsou
externí a nelze bez nich projekt otevřít a používat. Tento problém u souborů,
které obsahují i 3D data odpadá, jsou však datově objemnější. Stejně jako u
jiných nativních formátů platí, že projekty mohou být otevřeny pouze ve svém
programu, proto modely po skončení editace opět exportujeme do některého
z obecných formátů.
V následujícím textu budeme
zmiňovat pouze specifika práce s modely ve formátu .obj a .stl, které jsou pro
práci v Laboratoři používány nejčastěji
Model zobrazuje víc, než potřebuji.
- ořez – odstranění nežádoucích částí sítě
Model má chyby, které vadí při jeho zobrazování, editaci, analýzách a 3D tisku.
- odstranění defektních polygonů
- odstranění izolovaných fragmentů
- oprava zdvojení polygonální sítě
- vyplňování nežádoucích děr
- snížení nebo navýšení prvků tvořících model
- remeshing (vytvoření nové sítě)
Je potřeba opravit nebo upravit podobu modelu.
- lokální i celkový 3D sculpting
- zvětšení a zmenšení modelu
- polohování modelu v 3D prostoru
- nastavení modelu do definované polohy
- zarovnání překrývajících se dílčích modelů
Model se načítá ve špatné poloze. Je potřeba uspořádat vůči sobě více
modelů (virtuální restaurace)
- zvětšení a zmenšení modelu
- polohování modelu v 3D prostoru
- nastavení modelu do definované polohy
- zarovnání překrývajících se dílčích modelů
- úpravu textury anebo barevné informace přiřazené prvkům modelu
- generování náhledu
- generování videí
Změna velikosti a polohy digitálních modelů, virtuální restaurace
Digitální modely jsou tvořeny vrcholy, jejichž poloha v
prostoru je definována hodnotou tří souřadnic. Každý model má tedy určitou
polohu a orientaci v kartézské soustavě souřadnic. Poloha modelu, získaného
skenováním, fotogrammetricky nebo z objemového záznamu, je často dána polohou
objektu při snímání nebo kalibrací záznamového zařízení. Poloha modelu v soustavě souřadnic nebývá totožná s
polohou, ve které se na model díváme v náhledovém okně aplikací. Otáčením
modelu v náhledovém okně ve skutečnosti měníme úhel pohledu, nikoliv
orientaci modelu.
Také velikost modelů je dána hodnotou souřadnic jednotlivých
prvků. Za reálně veliké budeme dále považovat pouze ty modely, u nichž
vzdálenost mezi body v jednotkách jejich souřadnic odpovídá vzdálenosti
v nějakých reálných jednotkách. U objektů o velikosti jednotlivých kostí
pracujeme zpravidla s milimetry – to znamená, že body, které jsou od sebe
vzdáleny o deset jednotek (například dva body definované souřadnicemi [0, 0, 0] a [10, 0, 0] jsou
ve skutečnosti od sebe vzdáleny o 10 milimetrů). U modelů těla a nálezových
celků je pak pohodlnější pracovat s centimetry, respektive metry.
Editační programy umožňují změnu polohy, orientace modelu a velikosti modelu v jeho soustavě souřadnic – tj. přepočítání polohy všech vrcholů modelu a jeho dalších součástí. Tyto nástroje můžeme využít k ustavení modelu do některé ze standardních poloh (např. anatomické polohy nebo frankfurtské horizontály), do polohy vhodné k prezentaci (například do takové polohy, že se při otevření v editačním programu model zobrazí v anatomické poloze) nebo při virtuální restauraci.
Stejně
jako v případě editace má práce s velikostí a umístěním modelů svá
specifika. Programy se od sebe liší v tom, jestli změny
přenášejí přímo na modely nebo jestli používají nějakou zobrazenou nebo skrytou „translační matici“. Častý je
právě druhý způsob, kdy při změně velikosti, polohy nebo orientace modelu
nedochází rovnou ke změně samotného modelu, přepočítání polohy vrcholů
v prostoru, ale pouze k uložení změn, „přes“ které je model
zobrazován. Tento způsob je výhodný v tom, že je možné se snadno vrátit k původní
poloze modelu a lépe kontrolovat změnu jeho velikosti a polohy. Je ale potřeba
myslet na to, že někdy je potřeba změny na model nejprve přenést, tedy nechat
jeho prvky přepočítat, a až pak model uložit.
Nástroje pro polohování digitálních modelů jsou často
využívány k sestavování modelů do vyšších celků. V kontextu kosterní
antropologie se nejčastěji jedná o sestavení kosti ze samostatných modelů
jejích zlomků anebo ustavení modelů kostí do původní, fyziologické polohy.
Protože jde o postup, který je analogický ke klasickým restauračním metodám,
ale probíhá plně ve virtuálním prostředí, hovoříme o tzv. virtuální
restauraci. Pojem restaurace je třeba odlišovat od pojmu rekonstrukce, který
označuje domodelování chybějících částí kostí a objektů.
Digitální modely,
získané některou z metod povrchového skenování, jsou orientovány nezávisle
na sobě, v různých souřadnicových soustavách, tj. při současném načtení do
některého z editačních programů nejsou vzájemně správně orientovány.