Računalništvo, telefonija
Programska in razvojna orodja
Poslovne rešitve
09.06.2023 16:00

Deli z drugimi:

Share

Rekonstruiranje 3D modela iz fotografij

Pretvarjanje objektov iz resničnega sveta v 3D modele je danes pogosto uporabljeno, od digitalizacije arheoloških najdb do 3D zemljevidov obstoječih zgradb.

Ta tehnologija potrebuje  specializirana orodja, ki lahko beležijo natančno geometrijo realnega sveta. Primer takega orodja je LIDAR, ki s pomočjo laserskih žarkov meri razdalje od merilne naprave do določene točke. S širjenjem področja fotogrametrije pa so nastale metode rekonstruiranja geometrije realnega sveta samo iz skupine fotografij, zajetih z različnih zornih kotov.

Fotogrametrija je tehnika pridobivanja meritev iz fotografij. Omogoča izločanje višinskih informacij iz fotografije in se uporablja za pridobivanje natančnih meritev brez specializiranega orodja. Procesi rekonstruiranja 3D modela iz fotografij uporabljajo te meritve, da naredijo model, ki je približek realnega sveta (Mahami in sod., 2019).

Za izvajanje rekonstrukcij 3D modelov iz fotografij obstaja na spletu veliko orodij, ki imajo enako glavno idejo, razlikujejo pa se v izvedbi procesov (Qureshi in sod., 2023). Za primerjavo smo izbrali dve: Meshroom in COLMAP. Obe orodji sta odprtokodni in v celoti objavljeni na spletni strani GitHub in imata proces rekonstrukcije vsaj delno dokumentiran.

Meshroom – 11 korakov do končne 3D rekonstrukcije

Meshroom je program za 3D rekonstrukcijo, ki ga razvija asociacija ALICEVISION.

Za izvedbo 3D rekonstrukcij uporablja AliceVision Photogammetric Computer Vision Framework, za nadzor rekonstrukcije pa uporablja sistem vozlišč, ki jih uporabnik lahko ureja. Proces rekonstrukcije poteka zaporedno po vozliščih in se v primeru napake lahko ponovno začne na zadnjem uspešno opravljenem vozlišču.

Proces rekonstrukcije v programu Meshroom poteka po 11 korakih. CameraInit iz fotografij izloči metapodatke. FeatureExtraction iz vsake fotografije s pomočjo algoritma SIFT (angl. scale-invariant feature transform) izloči značilne skupine pikslov. ImageMatching poskuša najti fotografije, ki vsebujejo enake dele scene, da jih bo v naslednjem koraku primerjal med sabo. FeatureMatching primerja značilnosti fotografij po parih in določa, ali predstavljata značilnosti isti del scene. StructureFromMotion postavlja vse značilnosti, ki so bile najdene in določene, v 3D prostor s pravilno pozicijo in orientacijo.

PrepareDenseScene za vsako značilnost vzame vse fotografije, ki jo vsebujejo, in iz njih izloči del, v katerem se nahaja značilnost. Te dele nato združi in odstrani popačenost zaradi zornega kota kamere v originalnih fotografijah. DepthMap poskuša za vsako fotografijo, ki je bila v vozlišču StructureFromMotion uspešno postavljena v 3D prostor, ugotoviti globino vseh točk na njej. DepthMapFilter vzame rezultate vozlišča DepthMap in izloči točke, pri katerih določene fotografije poročajo o globini točk, ki jih prekriva DepthMap druge fotografije.

S tem izloči tiste točke s fotografij, ki na njih sploh niso vidne. Meshing iz vozlišča DepthMap dobi skupino točk v 3D prostoru in jih poveže v geometrijsko površino. MeshFiltering površino ponovno preveri in odstrani »neželene elemente«, kot so preveliki deli, nemogoča geometrija, preseki med deli površine in lokalne nepopolnosti. Texturing vzame rezultate vozlišča PrepareDenseScene, jih postavi na površino, jih obreže in naredi končni 3D model.

COLMAP – s 4 koraki do popolne rekonstrukcije

COLMAP je program, ki ga je za svoj doktorat spisal Johannes L. Schönberger. Za rekonstrukcijo uporablja podoben proces kot Meshroom, a je razdeljen le na 4 korake. Feature Detection and Extraction v fotografijah najde značilnosti in jih izloči s pomočjo algoritma SIFT. Feature Matching and Geometric Verification išče povezave med značilnostmi na različnih fotografijah. Sparse Reconstruction iz značilnosti izloči skupino točk, ki jih postavi v 3D prostor. V prostor najprej postavi 2 fotografiji, nato pa dodaja druge fotografije po vrsti in s pomočjo triangulacije določa postavitve točk v prostoru. Dense Reconstruction iz skupine točk v prostoru določi geometrijo določene scene. To doseže s povezovanjem točk v površine, ki jih shrani kot 3D model.

Za preizkus obeh programov smo za sceno vzeli skupino fotografij učilnic Vegove Gimnazije, ki smo jih zajeli s kamero Nikon D3100. V obeh programih smo pustili vse nastavitve rekonstrukcije na njihovih privzetih vrednostih, da smo med rekonstrukcijami obdržali enake pogoje. Končne 3D modele smo primerjali med seboj in iskali pogoje, pod katerimi je bila rekonstrukcija bolj ali manj uspešna. Najbolj opazna razlika se je pojavila pri rekonstrukciji enoličnih površin, kot so enobarvni zidovi in površine miz. Meshroom je take površine poskusil zapolniti, a je pri tem opazno popačil ravnine, COLMAP pa jih je le natančno obrisal.

Pogoji in omejitve, ki vplivajo na 3D rekonstrukcijo

Glavna omejitev vseh teh postopkov je, da morajo vse svoje podatke pridobiti iz fotografij. To pomeni, da je kakovost končnega izdelka vezana na kakovost originalnih fotografij. Ločljivost in ostrost fotografij sta nujni za sprejemljiv končni izdelek. Na rekonstrukcijo vplivajo tudi pogoji, pri katerih je bila fotografija zajeta, na primer različne vrste svetlobe.

Veliko težavo predstavljajo odsevi svetlobe, saj se lahko med različnimi fotografijami in kamerami razlikujejo, kar lahko povzroči probleme med primerjavami fotografij in izločanju značilnosti. Problematična so tudi temna območja scene, saj iz njih algoritmi ne morejo izločiti značilnosti, zato so ta območja posledično izgubljena v končni rekonstrukciji. Poleg tega imajo algoritmi težave pri izločanju značilnosti z velikimi enoličnimi površinami, kot so enobarvni zidovi, tla, mize in podobno. Ker so te površine tako enolične, jih algoritmi ne zaznajo kot relevantne značilnosti in so podatki o njih v rekonstrukciji izgubljeni.

Uporabnost teh procesov je za profesionalne namene precej omejena. Uporabni so samo v primeru, ko je scena dobro osvetljena in ima raznoliko površino. Prav tako za izdelavo uporabnega modela potrebujemo zmogljiv računalnik, ki lahko obdela fotografije z rekonstruktivnimi procesi. Modeli, pridobljeni z metodo fotogrametrije, imajo pogosto nepopolnosti, ki jih je treba po procesiranju ročno odstraniti. To doda še nekaj uporabniškega dela, preden je model zares uporaben.

Medtem ko je metoda sprejemljiva za 3D zemljevide zgradb ali podobno uporabo, je izvajanje kakršnih koli meritev ali analiz na končnem rezultatu, kot na primer pri arheologiji ali podobni panogi, nemogoče, saj mere modela niso dovolj natančne. V takih primerih je bolj primerna kakšna druga metoda, kot na primer LIDAR, ki lahko izvaja bolj natančne meritve.

Avtorja: David Grošelj, Aleksandar Lazarević

Viri:

  • Qureshi, A. H., Alaloul, W. S., Hussain, S. J., Murtiyoso, A., Saad, S., Alzubi, K. M., … & Baarimah, A. O. (2023). Evaluation of Photogrammetry Tools following Progress Detection of Rebar towards Sustainable Construction Processes. Sustainability15(1), 21. https://doi.org/10.3390/su15010021
  • Mahami, H., Nasirzadeh, F., Hosseininaveh Ahmadabadian, A., & Nahavandi, S. (2019). Automated progress controlling and monitoring using daily site images and building information modelling. Buildings9(3), 70. https://doi.org/10.3390/buildings9030070
  • Naslovna slika: Image by DCStudio on Freepik

Prijavi napako v članku
Članek je pripravljen v sodelovanju s podjetjem David Grošelj.
Vas zanima več iz te teme?
3D tehnologija


Kaj berejo drugi?

Partnerji Računalniških novic Prikaži vse

STUDIO DTS

Avčinova ulica 13, 1000 Ljubljana, Tel: 01 300 53 55
Veliko ljudi podcenjuje vlogo grafičnega oblikovanja pri rasti podjetja in prepoznavnosti blagovne znamke. Podjetje stežka preživi brez ustrezne komunikacije. Na tak ali drugačen ... Več

NEXT LINE d.o.o.

Ob železnici 16, 1000 Ljubljana, Tel: 041 776 822
Next line, specializirane storitve tiska pod eno streho V podjetju Next line iz Ljubljane so se osredotočili na specializirane storitve tiska s termičnimi, sublimacijskimi in ... Več

MA-KO d.o.o.

Tovarniška cesta 2b, 5270 Ajdovščina, Tel: 05 368 11 10
Se sprašujete, kako najti najboljšega ponudnika računalniških sistemov in storitev? Kriteriji dolgoletne izkušnje, kakovostne storitve in zadovoljstvo strank takoj obrodijo ... Več
Zlati partner

Endava PLC

Vilharjeva cesta 46, 1000 Ljubljana,
Endava spreminja odnos med ljudmi in tehnologijo. Pri izkoriščanju prednosti novih poslovnih modelov in priložnosti na trgu pomagamo nekaterim vodilnim svetovnim podjetjem iz ... Več