Rekonstruiranje 3D modela iz fotografij
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. Sustainability, 15(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. Buildings, 9(3), 70. https://doi.org/10.3390/buildings9030070
- Naslovna slika: Image by DCStudio on Freepik
Prijavi napako v članku