Výpočet sice trval skoro hodinu, výsledkem je ale precizní 3D model tváře sochy Matka Země v submilimetrovém rozlišení Zdroj: Živě.cz

Výpočet sice trval skoro hodinu, výsledkem je ale precizní 3D model tváře sochy Matka Země v submilimetrovém rozlišení | Zdroj: Živě.cz

Skenujeme Matku Zemi s kapesním zařízením Živě.cz, Jakub Čížek

Skenujeme Matku Zemi s kapesním zařízením | Živě.cz, Jakub Čížek

Hotový 3D model celé sochy s namapovanou texturou v SD kvalitě a HD detail tváře, do které se otiskly i drobné vrypy dláta sochaře do pískovcového kamene Živě.cz, Jakub Čížek

Hotový 3D model celé sochy s namapovanou texturou v SD kvalitě a HD detail tváře, do které se otiskly i drobné vrypy dláta sochaře do pískovcového kamene | Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény | Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény | Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény | Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény Živě.cz, Jakub Čížek

Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény | Živě.cz, Jakub Čížek

Sada 104 fotografií s detaily tváře Matky Země Živě.cz, Jakub Čížek

Sada 104 fotografií s detaily tváře Matky Země | Živě.cz, Jakub Čížek

Přetažení obrázků do projektu a pohled na osu/graf postupného zpracovávání úkolu Živě.cz, Jakub Čížek

Přetažení obrázků do projektu a pohled na osu/graf postupného zpracovávání úkolu | Živě.cz, Jakub Čížek

Přetažení obrázků do projektu a pohled na osu/graf postupného zpracovávání úkolu Živě.cz, Jakub Čížek

Přetažení obrázků do projektu a pohled na osu/graf postupného zpracovávání úkolu | Živě.cz, Jakub Čížek

Blok StructureFromMotion je hotový, a tak se mohu v 3D náhledu podívat na hrubá bodový mrak scény a trajektorii kamer – tedy pozic, odkud jsem tuto část scény fotografoval Živě.cz, Jakub Čížek

Blok StructureFromMotion je hotový, a tak se mohu v 3D náhledu podívat na hrubá bodový mrak scény a trajektorii kamer – tedy pozic, odkud jsem tuto část scény fotografoval | Živě.cz, Jakub Čížek

Alternativní pohled na graf jako seznam úkolů, které se postupně mění z modré na zelenou (splněno). Oranžová barva označuje blok, který se právě zpracovává, červená ten, kde výpočet selhal Živě.cz, Jakub Čížek

Alternativní pohled na graf jako seznam úkolů, které se postupně mění z modré na zelenou (splněno). Oranžová barva označuje blok, který se právě zpracovává, červená ten, kde výpočet selhal | Živě.cz, Jakub Čížek

Máme hotovo a může si otevřít adresář s pracovnými soubory včetně 3D modelu v OBJ Živě.cz, Jakub Čížek

Máme hotovo a může si otevřít adresář s pracovnými soubory včetně 3D modelu v OBJ | Živě.cz, Jakub Čížek

Výpočet meshového modelu a po namapování textury Živě.cz, Jakub Čížek

Výpočet meshového modelu a po namapování textury | Živě.cz, Jakub Čížek

Drátěný pohled na meshový model s patrnou proměnlivou hustotou trojúhelníků. Detaily tváře jsem fotil hned několikrát a rekonstrukce zde má už pod pohledu submilimetrové rozlišení Živě.cz, Jakub Čížek

Drátěný pohled na meshový model s patrnou proměnlivou hustotou trojúhelníků. Detaily tváře jsem fotil hned několikrát a rekonstrukce zde má už pod pohledu submilimetrové rozlišení | Živě.cz, Jakub Čížek

Drátěný pohled na meshový model s patrnou proměnlivou hustotou trojúhelníků. Detaily tváře jsem fotil hned několikrát a rekonstrukce zde má už pod pohledu submilimetrové rozlišení Živě.cz, Jakub Čížek

Drátěný pohled na meshový model s patrnou proměnlivou hustotou trojúhelníků. Detaily tváře jsem fotil hned několikrát a rekonstrukce zde má už pod pohledu submilimetrové rozlišení | Živě.cz, Jakub Čížek

Drátěný pohled na meshový model s patrnou proměnlivou hustotou trojúhelníků. Detaily tváře jsem fotil hned několikrát a rekonstrukce zde má už pod pohledu submilimetrové rozlišení Živě.cz, Jakub Čížek

Drátěný pohled na meshový model s patrnou proměnlivou hustotou trojúhelníků. Detaily tváře jsem fotil hned několikrát a rekonstrukce zde má už pod pohledu submilimetrové rozlišení | Živě.cz, Jakub Čížek

Prostředí programu Blender Živě.cz, Jakub Čížek

Prostředí programu Blender | Živě.cz, Jakub Čížek

HD render už relativně očištěného a oříznutého modelu v základní barvě Živě.cz, Jakub Čížek

HD render už relativně očištěného a oříznutého modelu v základní barvě | Živě.cz, Jakub Čížek

HD render už relativně očištěného a oříznutého modelu s texturou Živě.cz, Jakub Čížek

HD render už relativně očištěného a oříznutého modelu s texturou | Živě.cz, Jakub Čížek

Právě se počítá blok FeatureExtraction (vyhledávání klíčovacích bodů). Aby to bylo rychlé, AliceVision si nahraje fotografie do RAM, a tak úkol spotřebuje 9 GB operační paměti Živě.cz, Jakub Čížek

Právě se počítá blok FeatureExtraction (vyhledávání klíčovacích bodů). Aby to bylo rychlé, AliceVision si nahraje fotografie do RAM, a tak úkol spotřebuje 9 GB operační paměti | Živě.cz, Jakub Čížek

O výpočty na jádrech CUDA se postarala grafika Nvidia GeForce RTX 4060 Ti a ve verzi s 16 GB – referenční stroj pro mé redakční hrátky s AI a podobnými lumpárnami jako v dnešní ukázce Živě.cz, Jakub Čížek

O výpočty na jádrech CUDA se postarala grafika Nvidia GeForce RTX 4060 Ti a ve verzi s 16 GB – referenční stroj pro mé redakční hrátky s AI a podobnými lumpárnami jako v dnešní ukázce | Živě.cz, Jakub Čížek

AliceVision je příkladem dobré praxe, jak má vypadat efektivní paralelní počítání – můj stařičký desktopový Xeon měl skoro hodinu zatížená všechna svá jádra Živě.cz, Jakub Čížek

AliceVision je příkladem dobré praxe, jak má vypadat efektivní paralelní počítání – můj stařičký desktopový Xeon měl skoro hodinu zatížená všechna svá jádra | Živě.cz, Jakub Čížek

Skenujeme Matku Zemi s kapesním zařízením Živě.cz, Jakub Čížek
Hotový 3D model celé sochy s namapovanou texturou v SD kvalitě a HD detail tváře, do které se otiskly i drobné vrypy dláta sochaře do pískovcového kamene Živě.cz, Jakub Čížek
Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény Živě.cz, Jakub Čížek
Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny spočítá 3D model scény Živě.cz, Jakub Čížek
23
Fotogalerie

Jak vyrobit precizní 3D model z desítek fotografií na jeden klik. Pomůže program Meshroom a výkonný počítač

  • V listopadu jsme si vyzkoušeli kapesní 3D skener Einstar Vega
  • Dnes ho nahradíme mobilem a špičkovým bezplatným softwarem
  • Bude to trvat mnohem déle, ale dosáhneme stejného výsledku

V listopadu nám do redakce na pár týdnů dorazil kapesní 3D skener střední třídy Einstar Vega a krabička jen o něco málo větší než běžný mobil za pár minut vyrobila jak precizní 3D model pískovcové sochy v parku, tak kopii malého panáčka, který se otáčel sem a tam na zbastlené motorové platformě.

Vega nás uhranula nejen svou jednoduchostí a kompletním výpočtem na výkonném procesoru skeneru, ale i kvalitou a rozlišením výstupu, do 3D modelu se totiž otiskly i drobné vrypy dláta a další detaily.

87489d98-d708-400e-a147-40c4c3d38744
Skenujeme Matku Zemi s kapesním zařízením

Něco takového by měla mít ve skříni každá katedra archeologie, každý terénní průzkumník památkového ústavu, architekt a také 3D tiskař s hromadou naplněných prasátek. Einstar Vega totiž přijde zájemce na dobré dva tisíce eur, respektive 63 tisíc korun u českých prodejců.

Pokročilé laserové skenery, které snesou srovnání s těmi nejpřesnějšími měřícími stroji v průmyslu, sice často stojí ještě o řád více, pro běžného domácího kutila a menšího podnikatele bude nicméně astronomických i těch šedesát tisíc.

752dae4a-f776-43a8-b7d5-29678e1d0210
Hotový 3D model celé sochy s namapovanou texturou v SD kvalitě a HD detail tváře, do které se otiskly i drobné vrypy dláta sochaře do pískovcového kamene

Tentokrát si proto zkusíme vyrobit model sochy úplně zadarmo fotogrammetrickou metodou.

Najdi klíčovací body, propoj je a sleduj změny

Zatímco Vega je vyzbrojená infračervenou 3D kamerou a běžnou kamerou pro záznam textury, takže hloubkovou mapu vytváří už při samotném pořizování, v klasické fotogrammetrii máme na začátku pouze sadu vcelku běžných 2D fotografií, které zaznamenávají nějakou scénu ze všech možných úhlů.

Potřebujeme tedy software, který postupně provede tyto kroky:

  1. Najde na fotografii klíčovací body
  2. Propojí stejné klíčovací body napříč fotografiemi
  3. Z postupné změny geometrie klíčovacích bodů rekonstruuje 3D model

A přesně toto – ve skutečnosti je těch dílčích kroků mnohem více – zvládne doslova na jedno kliknutí sada textových programů AliceVision z GitHubu. Připravte si ale výkonné CPU (čím více jader, tím lépe – zatíží úplně všechny) a GPU od Nvidie, AliceVision totiž některé výpočty zpracovává na jejích jádrech CUDA.

79e9f395-657d-4d72-9985-1da1389f64b828d76116-ce8a-457d-9f74-44f7aa27d69a16c5934d-86b5-4434-89d5-b6acccd7c6b283059c9f-e613-4c7d-b6ef-8d04d0feaa44
Poloha a vzájemná orientace klíčovacích bodů (modrý, zelený a žlutý puntík) se ve scéně při fotografování z různých úhlů postupně mění a fotogrammetrické algoritmy z míry této změny rekonstruují 3D model scény

Aby to celé zvládnul levou zadní i naprostý začátečník, framework AliceVision zcela překrývá grafická aplikace Meshroom pro Windows a Linux. Projekt vzešel z akademické sféry několika univerzit, svůj podíl mají i vědci z pražského ČVUT a je to od A do Z úplně zadarmo.

Matka Země tentokrát s mobilem v ruce

Po měsíci jsem tedy opět vyrazil k pískovcové soše Matka Země v parčíku našeho skromného panelového sídliště a pořídil sadu 104 fotografií detailů její tváře pomocí běžného mobilu a ze všech možných úhlů.

ae8776e9-ab75-460c-a375-3581157c31f3
Sada 104 fotografií s detaily tváře Matky Země

Objekty v terénu fotíme zpravidla krouživým a spirálovým pohybem, aby software dokázal co nejlépe propojit klíčovací body na jednotlivých snímcích se svými sousedy.

Klíčovací bod je unikátní struktura pixelů, která by měla být dostatečně odolná, aby ji algoritmus identifikoval i při změně úhlu a přiblížení. Jeden z nich se jmenuje SIFT (Scale-Invariant Feature Transform) a už jsme s ním pracovali v létě, když jsme si ukázali, jak si snadno složit velmi kvalitní panoramatické snímky v Pythonu a jeho knihovně pro počítačové vidění OpenCV.

Přihlaste se
a zdarma dočtěte
tento článek

 

Po přihlášení můžete také
diskutovat pod články

Určitě si přečtěte

Články odjinud