07. 12. 2018 | by Mikolas Zuza
Je možné vytvořit 3D model jen tím, že si reálný objekt vyfotíte ze všech stran? Jasně! Fotogrammetrie je zpět a je jednodušší než kdy dřív, zcela zdarma a dosahuje ještě lepších výsledků.
Četli jste náš první článek o fotogrammetrii? Pojďme si ho krátce připomenout – objekt stačí vyfotit ze všech možných úhlů a fotografie nahrát do speciálního softwaru. Ten odhadne pozice kamer a vytvoří tzv. mračno bodů, tedy spoustu 3D bodů připomínajících původní objekt. Chcete-li získat tisknutelný soubor, musíte převést tyto body na trojúhelníkovou síť. Nakonec je dobré model opravit, utěsnit všechny otvory, naslicovat a jsme připraveni tisknout!
Zní to docela jednoduše, ve skutečnosti byl ale náš původní návod poměrně složitý. Naštěstí pro nás se věci změnily a nový software všechno výrazně zjednodušil. Seznamte se s Meshroomem!
Meshroom je zcela nový fotogrammetrický software. Je zdarma, open-source a má krásné uživatelské rozhraní. Pomocí uživatelského rozhraní se de facto ovládá framework AliceVision, který je výsledkem spolupráce mezi několika univerzitami, laboratořemi a francouzskou postprodukční společností.
Základní interakce je tak jednoduchá, jak jen to jde. Přetáhnete obrázky do okna aplikace, stisknete tlačítko START a počkáte na vytvoření rekonstruovaného modelu. S Meshroomem ale můžete také vylepšovat již rozpracované rekonstrukce. To znamená, že můžete přidat další fotky k již částečně hotovému modelu – například když si v náhledu všimnete, že některá část modelu by si zasloužila více detailů.
V Meshroomu můžete dokonce zkusit i tzv. živou rekonstrukci! V tomto režimu opakovaně pořizujete sady fotografií, nahrajete je do složky a program je automaticky zpracuje. Zobrazí se náhled a vy se můžete rozhodnout, která část modelu potřebuje více detailů. Pak můžete udělat ještě více fotek a celý proces zopakovat, dokud nejste spokojení s kvalitou modelu.
Ale než si začneme hrát s Meshroomem, pojďme si projít důležité kroky, které byste měli dodržovat při pořizování fotek na fotogrammetrii.
Vaše kamera v telefonu bude bohatě stačit, ale pokud máte zrcadlovku, budou výsledky mnohem lepší. Na zrcadlovce nastavte clonu na hodnotu alespoň 5-6, aby byl celý model, který se snažíte zachytit, ostrý.
Pokud to váš fotoaparát podporuje, zvažte pořizování fotografií do formátu RAW. Není to nutné, ale pokud se jas jednotlivých fotografií hodně liší, pomůže vyvolání z RAW s automatickým nastavením. Při vyvolávání či úpravě obrázků ale určitě nezapínejte korekci objektivu nebo podobné filtry. Ve většině případů by vám ale měl stačit i JPEG.
Doporučujeme udělat alespoň 30 fotografií. Během testování jsme často pořídili 50, 100 nebo i více snímků, abychom zachytili každý detail. Nezabere to zdaleka tak dlouho, jak byste čekali. Mějte na paměti, že některé snímky totiž může software vyřadit. To se nejčastěji stane, když je fotka rozmazaná nebo se v ní nepovede nalézt dostatečný počet společných prvků s ostatními fotografiemi.
Můžete použít zoom nebo dokonce kombinovat obrázky z úplně jiného fotoaparátu. Meshroom je v tomto ohledu opravdu skvělý. Nicméně to neznamená, že je dobrý nápad zoom měnit po každém snímku. Čím více fotek pořídíte se stejným nastavením, tím lépe. Meshroom si tak dokáže kameru lépe zkalibrovat.
Můžete místo fotek natočit video? Ano… ale není to dobrý nápad. I když lze, technicky vzato, použít video vykreslené do jednotlivých snímků jako zdroj, kvalita obrazu je mnohem nižší ve srovnání se standardní fotkou. Ve videu navíc chybí metadata a do Meshroomu budete vkládat stovky snímků. Standardní fotografie jsou zkrátka lepší.
A kdybyste pořídili fotky objektu před dokonale bílým pozadím a otáčeli modelem mezi snímky? To víceméně funguje, ale opět takový postup nedoporučujeme. Výsledky jsou v porovnání s obcházením statického modelu znatelně horší.
Ideální cíle pro fotogrammetrii mají texturovaný nebo hrubý povrch. Zachytávání lesklých ploch je složité, ale v některých případech je můžete alespoň zakrýt nějaký práškem (třeba moukou), abyste se zbavili odrazů, které jsou pro fotogrammetrii nežádoucí.
Standardní rekonstrukci nejpravděpodobněji použijete při processingu objektů, které jste nafotili venku na výletě nebo zkrátka někde daleko od počítače, tudíž pořízení dalších fotografií je komplikované. Předpokládáme, že jste již pořídili všechny potřebné fotky, přišli domů a nyní chcete rekonstruovat 3D model. Pracovní postup je velmi jednoduchý:
Jakmile se dokončí uzel Structure from motion, zobrazí se náhled rekonstrukce (případně můžete náhled vyvolat dvojklikem levého tlačítka myši). Všechny obrázky, které se úspěšně spárovaly, budou mít vedle sebe zelené “zaškrtávátko”.Vyřazené snímky jsou označeny červenou ikonou
Jestliže byla většina fotografií vyřazena a v náhledu je jen několik málo kamer, nemá moc smysl v rekonstrukci pokračovat. Budete muset rekonstrukci rozšířit o další fotografie nebo změnit některá z nastavení.
Po dokončení kompletní rekonstrukce můžete dvakrát kliknout na uzel Texturing pro zobrazení výsledného modelu. Případně lze kliknout pravým tlačítkem na některý z dokončených uzlů a vybrat Open folder.
Ve složkách Texturing a MeshFiltering naleznete model v často používaném formátu Wavefront .obj.
Socha Sfingy před vstupem do Rudolfina a výtisk rekonstruovanho modelu.
I když výstupní soubor lze importovat přímo do Slic3ru PE, pravděpodobně budete muset udělat alespoň nějaké velmi základní opravy modelu před tiskem.
Řekněme, že skenujete něco doma. Udělali jste asi 60 snímků a rekonstrukce běží zatím dobře. Tedy kromě jedné oblasti, kterou jste nezachytili dostatečně detailně. Některé obrázky byly vyřazeny a tato část modelu tím pádem postrádá detaily.
Když pracujete s Meshroomem, není problém pořídit dodatečné fotografie a přidat je k existující rekonstrukci.
Je nesmírně důležité, abyste během pořizování jednotlivých sérií obrázků objektem nepohnuli. Pokud se jeho poloha změní, rekonstrukce bude pravděpodobně velmi obtížná nebo přímo nereálná. Při fotografování špatně nasnímané oblasti doporučujeme vytvořit asi 5 až 10 fotek. A můžete se pokusit zachytit více oblastí najednou.
Nové fotografie se totiž porovnávají s kompletní sadu fotografií. To znamená, že přidání nových fotografií může dokonce způsobit spárování dříve vyřazených fotografií. Kdykoli přidáte sérii obrázků do stávající rekonstrukce, v editoru grafu se objeví nová větev. Opět stačí spočítat pouze vše do uzlu StructureFromMotion, což je obvykle relativně rychlé. Jakmile se změní označení uzlu na zelenou, klikněte na něj, abyste aktualizovali náhled.
Když si myslíte, že máte dostatek fotek pro plnou rekonstrukci, klepněte pravým tlačítkem na nejnižší uzel Texturing a zvolte Compute. Plná rekonstrukce může zabrat opravdu hodně času (hodiny), takže se vyplatí ji spustit až na finální větev grafu, která obsahuje všechny snímky.
Původní postavička a její vytištěná kopie
Živá rekonstrukce je snad nejzábavnější způsob jak dělat fotogrammetrii! Meshroom bude sledovat vámi zvolenou složku, a jakmile do ní vložíte nové snímky, přidají se do rekonstrukce.
První série obrázků by měla obsahovat nejméně 10-20 obrázků a měla by se zaměřit na obecný tvar objektu. Nezačínejte tím, že budete fotit detaily.
Ještě bude potřeba opravit jednu drobnost. V grafu je totiž nutné ručně propojit poslední uzel StructureFromMotion a uzel PrepareDenseScene.
Téměř všechny modely vytvořené 3D skenováním nebo fotogrammetrií mají ve spodní části otvor. Naštěstí pro nás stejně potřebujeme rovnou plochu kvůli umístění objektu na tiskovou podložku. Jednoduchý řez rovinou v Meshmixeru, Blenderu nebo 3D Builderu to rychle vyřeší.
Počítejte s tím, že velikost modelu bude náhodná. Nenechte se tedy překvapit, když bude model po importu velmi malý – jednoduše ho zvětšete.
Rádi bychom upozornili i na techniku, která se s fotogrammetrií skvěle doplňuje – jedná se o “Sculpting”, neboli digitální sochání. V budoucnu se mu budeme věnovat v rámci samostatného videa, ale mezitím se můžete podívat na již existující návody.
Doporučujeme také navštívit wikipedii Meshroomu. Najdete tam spoustu informací o tom, jak vyřešit různé chyby, nebo jaké parametry byste měli zkusit ladit a upravovat. A pokud byste náhodou chtěli přispět k dalšímu vývoji, nebude to problém! Pošlete Pull request na GitHubu nebo kontaktujte vývojáře e-mailem.
Díky Meshroomu je fotogrammetrie jednodušší než kdy dřív. Výstupní modely nejsou sice tisknutelné přímo po exportu, ale s velmi drobnými úpravami můžete dosáhnout opravdu neuvěřitelných výsledků. Výsledné modely budou vhodné nejen pro 3D tisk, ale třeba i pro animaci nebo vývoj her. A navíc je program open-source! Takže můžeme očekávat aktualizace přinášející celou řadu vylepšení. A to hlavně pokud program i vy podpoříte jakýmkoliv způsobem – nahlaste chybu, na kterou narazíte, nebo se podělte o vlastní nastavení.
Tak co, přesvědčili jsme vás, že je čas dát fotogrammetrii další šanci? My se už nemůžeme dočkat až uvidíme vaše výtisky, tak na nic nečekejte, popadněte foťák a běžte skenovat svět! 🙂
Podívejte se na originální Prusa i3 MK3 3D tiskárnu!
Nejlevnější je už od
10 990 Kč