3. Izrada 3D modela iz niza fotografija
U sljedećem poglavlju bit će primijenjena znanja i vještine iz prethodna dva poglavlja. Za izradu digitalnog 3D modela potrebno je snimiti niz od maksimalno 50 fotografija nekog objekta kako bi iz niza fotografija nastao digitalni 3D model tog objekta, odnosno 3D sken.
3.1. Provjera kvalitete fotografija i odvajanje tehnički ispravnih od neispravnih fotografija
Kada su fotografije jednom snimljene, potrebno je provjeriti njihovu kvalitetu i izdvojiti fotografije koje ne zadovoljavaju minimalne tehničke uvjete. Potrebno je pregledati oštrinu i pravilnu ekspoziciju fotografija te izdvojiti one koje ne zadovoljavaju kriterije. Kod fotografiranja s fotoaparatom koji ima objektiv s promjenjivom žarišnom duljinom, poznatijim kao zoom objektiv, često je problem da prilikom fotografiranja dođe do promjene žarišne duljine, odnosno da se pomakne prsten za zoomiranje.
Primjeri neuspješnih fotografija:
S lijeva na desno, 1. red: podeksponirana fotogafija i preeksponirana fotografija; 2. red: pogrešan fokus i pogrešno kadriranje.
Kod podeksponirane fotografije, dijelovi modela previše su tamni te ne sadrže detalje koje bi program za rekonstrukciju geometrije mogao prepoznati i iskoristiti za izradu digitalnog 3D modela.
Kod preeksponirane fotografije javlja se suprotan efekt u odnosu na podeksponiranu fotografiju i svijetli dijelovi modela gube detalje, a to onemogućava rekonstrukciju geometrije.
Ponekad se zna dogoditi da kamera zabilježi pogrešan dio kadra kao cilj fokusa pa glavni motiv ostane mutan, dok je fokus na prednjem planu ili pozadini, kao što je slučaj na priloženoj fotografiji.
Greška koja se često javlja u početcima snimanja modela za 3D rekonstrukciju je pogrešno kadriranje. U ovom slučaju, prikazan je objekt čija se geometrija prenosi na računalo u formatu digitalnog 3D modela koji zauzima premaleni dio kadra. Ponekad je poželjno snimiti i dio pozadine kako bismo unijeli u snimak dodatne referentne točke na različitim pozicijama u prostoru. No, važno je imati na umu da glavni motiv mora biti dovoljno zastupljen na fotografiji kako bi se uhvatilo što više detalja koji će postati sastavni dio digitalnog 3D modela.
Niz fotografija GPS uređaja snimljen za trodimenzionalnu rekonstrukciju geometrije
Pregled fotografija
Početni pregled fotografija moguće je obaviti letimičnim pregledom fotografija u pregledniku unutar operativnog sustava. Fotografije, jako preeksponirane ili podeksponirane, najčešće ćemo lako uočiti i pri malim dimenzijama fotografija.
Provjeru žarišne duljine najlakše je napraviti provjerom detalja unutar samih fotografija, odnosno u EXIF zapisu koji svaki digitalni fotoaparat integrira u fotografiju. EXIF je akronim za Exchangeable Image File Format, odnosno podatkovni standard po kojemu se zapisuju informacije o fotoaparatu i postavkama s kojima je fotografija snimljena, unutar same fotografije. Iako postoje specijalizirani programi za analizu EXIF podataka, dovoljno je u pregledniku odabrati sve fotografije te desnim pritiskom tipke miša odabrati Svojstva (engl. Properties), potom Detalji (engl. Details).
Provjera žarišne duljine
Proces provjere žarišne duljine
Pod Žarišna duljina (engl. Focal length) treba biti prikazana vrijednost pri kojoj su fotografije snimljene. Ako vrijednost nije prikazana, znači da nisu sve fotografije snimljene pri istoj žarišnoj udaljenosti te ih treba pročistiti. Ponekad program naizgled uspješno spoji i niz fotografija koje imaju različitu vrijednost žarišne duljine, no to svakako nije prihvatljivo za krajnji rezultat jer se na taj način unosi greška u rekonstrukciju geometrije.
3.2. Procesiranje
Procesiranje, odnosno rekonstrukcija geometrije, obavlja se u nekom od programa za fotogrametriju. U ovom slučaju bit će korišten 3DF Zephyr Free koji ima ograničenje na maksimalnih 50 fotografija.
Grafičko sučelje programa 3DF Zephyr
Grafičko sučelje podijeljeno je na nekoliko zona. Na vrhu je alatna traka s istaknutim ikonama naredbi koje se najčešće koriste te padajućim izbornicima sa svim naredbama programa. Na lijevoj strani nalazi se preglednik u kojemu je organiziran projekt na kojemu se radi. Na vrhu preglednika je panel Cameras unutar kojega su smještene sve fotografije iz projekta. Ispod je panel Sparse Point Cloud u kojemu će se nalaziti rijetki oblak točaka koji nastaje u prvom koraku, pod pozicioniranjem fotografija u prostoru. Sljedeći panel je Dense Point Clouds unutar kojega će biti smješteni gusti oblaci točaka. Meshes panel sadrži mrežne modele nastale na temelju gustog oblaka točaka, a Tesxtured Meshes sadrži mrežne modele kojima su generirane teksture te imaju fotorealističan prikaz.
3.2.1. Uvoz i preklapanje fotografija, rekonstrukcija pozicija kamera u prostoru i izrada rijetkog oblaka točaka
Odabirom naredbe New Project, koja se nalazi u padajućem izborniku Workflow, započinje proces uvoza fotografija u program za fotogrametriju te početna registracija fotografija.
Pokretanje novog projekta - New Project
Nakon pokretanja novog projekta, pokreće se čarobnjak za odabir osnovnih postavki te uvoz fotografija.
Čarobnjak za konfiguriranje novog projekta - New Project Wizard
Unutar aplikacije 3DF Zephir moguće je odabrati pojedinačne korake za kreiranje 3D modela ili sve korake odjednom. Ako se radi o jednostavnom projektu u kojemu je cilj na brzinu dobiti geometriju i za koji postoji velika sigurnost da će biti uspješan bez korisničke intervencije, moguće je odabrati sva tri koraka odjednom: Sparse, Model i Texture. U tom slučaju, program će automatski odraditi sve korake i ako pri stvaranju rijetkog oblaka točaka Sparse point cloud dođe do greške ili sve fotografije ne budu uspješno registrirane, ta greška provući će se kroz cijeli projekt. Iz tog razloga, preporučljivo je odraditi rekonstrukciju geometrije korak po korak i pri tome kontrolirati rezultate svakog koraka.
Pritiskom tipke miša na ikonu Next, čarobnjak prelazi na sljedeći korak, odnosno na dijaloški prozor za uvoz fotografija.
Uvoz fotografija - Photos selection
Pritiskom tipke miša na ikonu „+“, otvara se preglednik pomoću kojega se obavlja navigacija do mape s fotografijama te odabiranje svih fotografija koje je potrebno uvesti u projekt.
U sljedećem koraku, program provjerava podatke iz fotografije te na temelju modela senzora i objektiva dohvaća kalibracijske podatke iz baze podataka.
Camera Calibration
Zatim, potrebno je odabrati profile s unaprijed određenim postavkama. Te postavke bit će korištene za registraciju fotografija, odnosno za rekonstrukciju njihovih položaja u prostoru prilikom fotografiranja. Računalni program na svakoj fotografiji traži karakteristične detalje te ih uspoređuje s ostalim fotografijama. Kada jednom pronađe zajedničke detalje, proračunava položaj fotoaparata u trenutku snimanja te pozicionira fotografije u prostoru.
Odabir kategorije - Camera orientation - Category
Postavke detalja - Camera orientation - Presets
Pod podajućim izbornikom Presets moguće je odabrati tri profila. Fast nudi najkraće vrijeme procesiranja, no prilikom obrade, razlučivost fotografija smanjuje se na minimum čime se gubi dio detalja. Postavka Default također smanjuje razlučivost fotografije, no ipak zadržava veliku količinu detalja te uglavnom daje najbolji omjer detalja i brzine. Opcija Deep uzima fotografije u izvornom formatu te obrađuje maksimalnu količinu podataka. Reduciranje detalja s fotografije koristi se samo za bržu registraciju položaja fotografija u prostoru. Više detalja omogućuje preciznije određivanje položaja fotografije, no, ne daje uvijek bolji rezultat. Dobar rezultat ovisi o količini detalja na samom objektu i kvaliteti fotografija. Važno je što više eksperimentirati kako bi se s iskustvom razvio osjećaj za pravilan odabir optimalnih postavki. U praksi Default najčešće daje zadovoljavajući rezultat. Kada su jednom odabrane postavke, pritiskom tipke miša na ikonu Next prelazi se na idući korak. Nakon provjere postavki, potrebno je pritisnuti tipkom miša na ikonu Run čime započinje proces registracije fotografija.
Početak registracije fotografija - Start ReconstructionNakon analize fotografija i proračuna njihovih pozicija, program daje izvještaj o uspješnosti. Prvi korak je gotov ako sve fotografije imaju zeleni status. Ako program nije registrirao sve fotografije, preporučuje se ponoviti proces s prilagođenim postavkama.
Izvještaj o registraciji fotografija
Rezultat je rijedak oblak točaka koji daje vizualno grubu informaciju o objektu koji se skenira.
Rijedak oblak točaka
U pregledniku s lijeve strane, pod Sparse Point Cloud, nalazi se dobiveni rijedak oblak točaka. Preporučljivo je desnim pritiskom tipke miša na Sparse Point Cloud odabrati opciju Rename te dati ime novonastalom oblaku točaka zbog lakšeg snalaženja u projektu.
Animacija rijetkog oblaka točaka
3.2.2. Izrada gustog oblaka točaka
Kada je jednom generiran rijedak oblak točaka te su određene pozicije fotografija, potrebno je započeti generiranje gustog oblaka točaka. U ovom procesu, računalo analizira fotografije, pronalazi vidljive točke na tri ili više fotografija te računa njihov položaj u prostoru, odnosno koordinate X, Y i Z za svaku točku. Svakoj točki dodjeljuje se informacija o boji pa kao što fotografije sadrže piksele, odnosno raspoređene točkice u boji u stupce i redove unutar ravnine, tako oblak točaka sadrži točkice u boji koje su raspoređene u prostoru i opisuju trodimenzionalne objekte.
Naredba za izradu gustog oblaka točaka - Dense Point Cloud Generation
Pokretanjem izrade gustog oblaka točaka pokreće se dijaloški prozor u kojemu je potrebno odabrati sve kamere, odnosno fotografije koje će biti korištene za izradu gustog oblaka točaka.
Čarobnjak za izradu gustog oblaka točaka - Dense point cloud generation wizardU sljedećem koraku, potrebno je odabrati postavke za izradu gustog oblaka točaka.
Odabir postavki za izradu gustog oblaka točaka - Dense Point Cloud creation
Kao i kod izrade rijetkog oblaka točaka, odnosno registracije fotografija, pod Category moguće je odabrati neki unaprijed određeni profil koji najbolje odgovara objektu koji se obrađuje.
Odabir razlučivosti gustog oblaka točaka - Dense Point Cloud creation
Pod Presets, moguće je odabrati tri unaprijed određene postavke. Preview generira gusti oblak točaka niže razlučivosti, odnosno količine točaka, dok High details generira najgušći oblak točaka s maksimalnom količinom detalja.
Pokretanje procesa izrade gustog oblaka točaka - Start Densification
Pritiskom tipke miša na ikonu Run, pokreće se proces izrade gustog oblaka točaka. Rezultat je gusti oblak točaka u boji koji puno bolje prikazuje skenirani objekt od rijetkog oblaka točaka.
Gusti oblak točaka
Animacija gustog oblaka točaka
3.2.3. Transformacija 3D modela
Kako snimljeni objekt nema referentnih točaka pomoću kojih bi računalni program odredio orijentaciju objekta u prostoru, 3D model potrebno je ručno orijentirati.
Naredba za transformaciju 3D modela - Scale/Rotate/Translate Objects
Naredbi za transformaciju modela pristupa se iz padajućeg izbornika Tools – Workspace – Scale/Rotate/Translate Objects ili pritiskom tipke miša na ikonu označenu crvenim pravokutnikom, u gornjem desnom kutu.
Transformacija 3D modela - Transform Objects
Pravilnu orijentaciju modela možemo postaviti na način da odaberemo dvije točke koje će predstavljati početnu i krajnju točku osi Z. Na primjeru skeniranog GPS uređaja, navigacijska tipka, s označenim strelicama, može poslužiti kao orijentir pomoću kojega je moguće jednostavno odrediti os na temelju koje će 3D model biti orijentiran. Odabirom naredbe Line, pritiskom tipke miša na lijevu ikonicu unutar crvenog pravokutnika, pokreće se naredba za odabir referentne osi. Kako je pod Axis, desno od crvenog pravokutnika, odabrana opcija da odabrane točke određuju Z-os, potrebno je pritisnuti tipkom miša na vrh donje, a potom gornje strelice na navigacijskoj tipki skeniranog GPS uređaja i program će automatski orijentirati 3D model u prostoru.
Ako na 3D modelu postoji vodoravna ravnina, orijentaciju je moguće postaviti na način da se, koristeći naredbu Triangle, odrede tri točke koje leže na istoj ravnini. Nakon toga, program će postaviti 3D model na način da je ravnina, čije su odabrane tri točke, paralelna s ravninom XY.
Navigacijska tipka kao orijentir
U slijedećem videu, prikazan je postupak pravilne orijentacije 3D modela koristeći naredbu Line pod Alignment Tools.
Orijentacija 3D modela - Line
U slijedećem videu, prikazan je postupak pravilne orijentacije 3D modela koristeći naredbu Triangle pod Alignment Tools.
Orijentacija 3D modela - Triangle
Pravilno orijentiran 3D model u prostoru
2.4. Izrada mrežnog 3D modela s teksturama na temelju gustog oblaka točaka
Kada je jednom stvoren gusti oblak točaka, sve je spremno za izradu mrežnog 3D modela.
Naredbi za izradu mrežnog 3D modela pristupa se iz izbornikaWorkflow – Advanced – Mesh Extraction.
Naredba za izradu mrežnog 3D modela - Mesh Extraction
Kao i u prethodnim koracima, za izradu mrežnog 3D modela, odnosno Mesh Extraction, potrebno je proći kroz dijaloške prozore te u njima odabrati postavke kvalitete za izradu 3D mrežnog modela.
Čarobnjak za izradu mrežnog modela - Mesh generation wizard
U projektu je moguće imati nekoliko gustih oblaka točaka pa je važno odabrati onaj pravi. Kako je već spomenuto, preporučuje se promjena imena svakom novonastalom objektu unutar projekta kako bi se lako identificirao pri kasnijem korištenju. U ovom slučaju, imamo samo jedan gusti oblak točaka pa je dovoljno potvrditi GPS_Dense, kao oblak točaka, na temelju kojega će biti stvoren mrežni 3D model.
Odabir postavki za kreiranje mrežnog modela - Surface reconstruction
Kao i kod prethodnih dijaloških prozora za odabir postavki, kod stvaranja rijetkog (Sparse) i gustog (Dense) oblaka točaka te kod stvaranja mrežnog 3D modela, potrebno je odabrati opcije pod Category i pod Presets. Nakon odabira postavki, potrebno je pokrenuti proces stvaranja mrežnog 3D modela pritiskom tipke miša na ikonu Run.
Pokretanje procesa izrade mrežnog 3D modela
Mrežni model
Animacija mrežnog modela bez tekstura
Iako je u boji, stvoreni mrežni 3D model još uvijek nije fotorealističan. Za potpuno fotorealističan dojam potrebno je generirati teksture. Naredbi za generiranje tekstura pristupa se iz padajućeg izbornikaWorkflow – Textured Mesh Generation.
Naredba za generiranje tekstura - Textured Mesh Generation
Odabir mrežnog modela za koji će biti izrađene teksture - Textured Mesh generation wizard
Odabir postavki za generiranje teksture - Texturing
U padajućem izborniku Presets nalaze se profili za određivanje kvalitete teksture. Za manje modele, nastale iz niza do 50 fotografija, nema posebnih ograničenja na kvalitetu. Ako se radi o velikim modelima, nastalima iz niza od nekoliko stotina fotografija, računalni resursi postaju presudni pa je moguće da na najvišim postavkama kvalitete računalo neće biti u mogućnosti stvoriti zadovoljavajuću teksturu ili će taj proces trajati jako dugo. Preporučljivo je eksperimentirati sa skromnijim postavkama radi optimizacije uloženog vremena i računalnih resursa te kvalitete ishoda.
Pokretanje procesa izrade tekstura - Textured Mesh generation wizard
Teksturirani mrežni 3D model
Animacija mrežnog modela s teksturama
S lijeve strane vidi se izgled mrežnog 3D modela bez tekstura, dok je s desne strane prikazan model sa stvorenim teksturama iz fotografija.
Animacija cijelog procesa izrade digitalnog 3D modela
Primjer 3D skeniranog modela s komercijalnim programom bez ograničenja na broj fotografija:3D model pumpe za vodu3.3. Izvoz 3D modela
Kada je jednom gotov teksturirani mrežni 3D model, moguće ga je izvesti iz programa 3DF Zephyr Free u nekom od standardnih formata na daljnju obradu. Standardni format za izvoz za 3D ispis je STL, a za daljnju obradu OBJ. Razlika između ta dva formata primarno je u činjenici da OBJ format ima teksture pa je izvezeni digitalni 3D model ujedno i fotorealističan, dok STL format sadrži samo geometriju, bez boja i tekstura. 3DF Zephyr verzija Free, za razliku od komercijalnih verzija, nema mogućnost izvoza STL formata pa je preporučeni format za izvoz OBJ koji je kasnije moguće obrađivati u drugim aplikacijama.
3.3.1. Izvoz mrežnog 3D modela u standardnom formatu OBJ
Naredbi za izvoz teksturiranog mrežnog modela pristupa se iz padajućeg izbornika Export – Export Textured Mesh.
Pristup naredbi za izvoz teksturiranog mrežnog 3D modela - Export Textured Mesh
Odabir formata za izvoz - Textured Mesh Export
U padajućem izborniku potrebno je odabrati format u kojemu će model biti izvezen. Osim formata koji se u obliku datoteke lokalno izvoze na računalo, moguće je poslati model na neki od popularnih servisa za prikaz 3D modela na internetu, Sketchfab ili Nira.
Postavke za izvoz OBJ formata - Textured Mesh Export
Prilikom izvoza mrežnog 3D modela, u OBJ formatu, ponekad je važno uključiti opciju Local Rendering Reference System kako bi druge aplikacije uspješno učitale model.
Na slikama se vidi razlika između modela koji je izvezen s uključenom opcijom Local Rendering Reference System i bez Local Rendering Reference System. Oba modela učitana su u aplikaciji Meshmixer.
3.4. Primjer iz prakse
Dobar primjer uspješne primjene 3D skeniranja iz prakse je izrada ručke za podvodnu pušku. Radi se o jednom malom hrvatskom proizvođaču podvodnih pušaka, najviše kvalitete i performansi. Jedna od odlika je izvrsna ergonomija ručke. Prilikom proizvodnje, ručke se oblikuju ručno i često se prilagođavaju samom korisniku. Kada se postigne savršena ergonomija za određenu veličinu ruke, taj oblik potrebno je digitalizirati i integrirati u ostatak tijela puške kako bi puška bila izrađena u jednom komadu, pomoću CNC stroja.
Ručka podvodne puškeU ovom primjeru izrađen je grubi oblik ručke pomoću CNC stroja. Detaljno je obrađena ručnim brušenjem i dodavanjem kit-mase sve dok nije postignut savršeni oblik. Kada je postignut oblik ručke koji zadovoljava zadane kriterije, ručka je fotografirana te je na temelju niza fotografija izrađen digitalni 3D model. U računalnom programu za 3D modeliranje popravljene su greške i obavljene završne modifikacije te je završni prototip poslan na 3D ispis. Nakon provjere rezultata, jednim klikom stvorena je zrcalna slika ručke te su dobivena dva modela. Jedan za ljevake i drugi za dešnjake. Ručke su daljnjom digitalnom obradom integrirane u ostatak tijela puške koja je spremna za proizvodnju na CNC stroju.
Ovim primjerom prikazana je primjena računalnih 3D tehnologija za povećanje učinkovitosti i brzu izradu prototipa te uspješna sinergija tradicionalnog ručnog rada i digitalnih tehnologija.
Aktivnosti za samostalno učenje
Pokušaj riješiti sljedeće zadatke primjenom naučenog.
Zadatak 1.
Odabrati objekt za 3D skeniranje. Objekt bi trebao biti veličine šake, do veličine kućišta stolnog računala. Poželjno je izbjegavati objekte s površinom visokog sjaja i s prozirnim dijelovima.
Snimiti niz do 50 fotografija te stvoriti digitalni 3D model. Ponoviti izradu 3D modela koristeći različite postavke.
Analizirati dobivene rezultate.
Zadatak 2.
Inačica 1:
Odabrati objekt za 3D skeniranje koji ima površine visokog sjaja ili prozirne dijelove. Eksperimentirati s različitim nedestruktivnim metodama prekrivanja reflektivnih i prozirnih površina koristeći samoljepljive trake. Ako postoji mogućnost, testirati specijalizirani sprej za 3D skeniranje. Ako sprej nije dostupan sprej, moguće je koristit talk u prahu ili sličan prah koji je kasnije moguće ukloniti s objekta, bez oštećenja samog objekta.
Stvoriti 3D model i analizirati dobivene rezultate.
Inačica 2:
Odabrati objekt koji se može uništiti prilikom eksperimentiranja. Zatim testirati različite destruktivne tehnike tretiranja površine korištenjem brusnog papira i sličnih alata za pripremu hrapave površine te korištenjem boje u spreju za dodavanje teksture.
Stvoriti 3D model i analizirati dobivene rezultate.
Zadatak 3.
Testirati različite konstrukcije za fiksiranje objekta za 3D skeniranje.Inačica 1:Izraditi jednostavno čvrsto postolje od priručnog alata i materijala kao što su razni tronošci, stezaljke, žičani ili drveni elementi.Inačica 2:Izraditi rješenje pri kojemu će objekt biti ovješen u zraku pomoću tankog konopca ili ribičkog najlona. Objekt fiksirati na način da se ne može njihati ni rotirati u prostoru, već da bude fiksiran.Dodatne informacije:Cilj je smjestiti objekt na način da bude dostupna što veća površina za fotografiranje.Paziti da konstrukcija ne ometa pristup fotoaparatu kako se ne bi izgubio smisao izrade konstrukcije.Izraditi 3D model objekta te analizirati utjecaj konstrukcije na konačan rezultat skeniranja.