Download - Dalle fotografie alla mesh texturizzata, sperimentazioni

Transcript
  • 1. Dalle fotografie alla mesh texturizzata, sperimentazioni Sofia Menconero [email protected]
  • 2. Structure from motion e Image-based modeling di un'urna funeraria etrusca
  • 3. CAMERA Canon EOS 500D 15,3 megapixel + Canon EF-S 50 mm f/1.4 USM Risoluzione immagine jpg 4752 x 3168 pixel HARDWARE NOTEBOOK Sony Vaio Intel Core 2 Duo CPU T8100 @ 2.10 GHz 3,0 GB RAM ATI Mobility Radeon X2300 MS Windows Vista Home Premium 32-bit Linux 2.6.32 (ArcheOS 4)
  • 4. PYTHON PHOTOGRAMMETRY TOOLBOX v. 0.1 in ArcheOS 4 CLOUDCOMPARE v. 2.4 in Windows MESHLAB v. 1.3.2 in Windows SOFTWARE
  • 5. Urna di Thania Vipinei: caccia al cinghiale calidonio Alabastro (cassa) e travertino (coperchio) II sec. a.C. territorio di Chiusi Collezione del Museo Archeologico di Perugia (Inventario Bellucci 71) OGGETTO Analisi della forma: bassorilievo con figure antropomorfe degradate. Difficolt logistiche: manufatto collocato nel chiostro del museo, a ridosso di un muro, per cui non stato possibile fotografare la parte posteriore. Luce ambientale diffusa.
  • 6. Iscrizione: ania vipinei tutnasa = Thania Vipinei, moglie di Tutna OGGETTO Iconografia: Meleagro, figlio del re di Calidone, uccide con uno spiedo il feroce cinghiale che Artemide ha scatenato contro la citt. Alla caccia partecipa anche Atalanta, al centro, armata di scure. A lei, della quale segretamente innamorato, egli doner la preda, dando inizio alla catena di tragici eventi che lo port alla morte.
  • 7. Come realizzare un modello metrico in poco tempo e senza poter spostare loggetto PROBLEMATICHE Soluzione: posizionamento di un metro di legno pieghevole con i decimetri colorati in modo alternato (bianco e giallo). Tramite il metro con due angoli piegati a 90 stato possibile ricostruire un sistema di coordinate cartesiane, assegnate come si vede in figura.
  • 8. Sono stati eseguiti 3 gruppi di riprese fotografiche per un totale di 68 foto RIPRESE FOTOGRAFICHE GRUPPO 1 21 foto da lontano inquadramento completo delloggetto GRUPPO 3 22 foto molto ravvicinate inquadramento particolare del bassorilievo GRUPPO 2 25 foto ravvicinate inquadramento parziale delloggetto
  • 9. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX METODO - capire a che risoluzione massima possibile processare le fotografie - capire qual il migliore set di foto che produce la nuvola pi densa a parit di risoluzione - verificare se il software ha maggiori prestazioni in ambiente Linux o Windows - documentare i vari tentativi - produrre la nuvola di punti che verr successivamente trasformata in mesh
  • 10. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 1 BUNDLE in Linux FOTO: 25 (gruppo 2) Risoluzione impostata: 3500 Tempo di elaborazione: 2 ore Nuvola di punti ottenuta: 60.419 vertex OSSERVAZIONI: la risoluzione buona ma una delle foto non stata processata. Processing photo '46.JPG': Found 92546 features Processing photo '34.JPG': Found 116818 features Processing photo '37.JPG': Found 0 features Processing photo '44.JPG': Found 115191 features Processing photo '42.JPG': Found 114353 features Processing photo '26.JPG': Found 100298 features Processing photo '31.JPG': Found 112466 features Processing photo '32.JPG': Found 101113 features Processing photo '23.JPG': Found 93196 features Processing photo '43.JPG': Found 114073 features Processing photo '22.JPG': Found 104296 features Processing photo '39.JPG': Found 115197 features Processing photo '38.JPG': Found 112197 features Processing photo '30.JPG': Found 118267 features Processing photo '24.JPG': Found 80768 features Processing photo '27.JPG': Found 113350 features Processing photo '40.JPG': Found 113365 features Processing photo '28.JPG': Found 101924 features Processing photo '35.JPG': Found 114544 features Processing photo '29.JPG': Found 117573 features Processing photo '45.JPG': Found 116180 features Processing photo '36.JPG': Found 111208 features Processing photo '41.JPG': Found 119543 features Processing photo '33.JPG': Found 118735 features Processing photo '25.JPG': Found 107598 features
  • 11. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 2 BUNDLE in Linux FOTO: 25 (gruppo 2) Risoluzione impostata: 3000 Tempo di elaborazione: 1,4 ore Nuvola di punti ottenuta: 61.288 vertex OSSERVAZIONI: abbassando la risoluzione tutte le foto sono state processate, ma la nuvola incompleta in basso di lato. Processing photo '46.JPG': Found 73590 features Processing photo '34.JPG': Found 88733 features Processing photo '37.JPG': Found 89597 features Processing photo '44.JPG': Found 89289 features Processing photo '42.JPG': Found 89812 features Processing photo '26.JPG': Found 80217 features Processing photo '31.JPG': Found 89357 features Processing photo '32.JPG': Found 81632 features Processing photo '23.JPG': Found 75529 features Processing photo '43.JPG': Found 86996 features Processing photo '22.JPG': Found 81859 features Processing photo '39.JPG': Found 89991 features Processing photo '38.JPG': Found 86456 features Processing photo '30.JPG': Found 89930 features Processing photo '24.JPG': Found 64498 features Processing photo '27.JPG': Found 89308 features Processing photo '40.JPG': Found 86819 features Processing photo '28.JPG': Found 82237 features Processing photo '35.JPG': Found 88677 features Processing photo '29.JPG': Found 88870 features Processing photo '45.JPG': Found 89471 features Processing photo '36.JPG': Found 86968 features Processing photo '41.JPG': Found 90703 features Processing photo '33.JPG': Found 94254 features Processing photo '25.JPG': Found 84671 features
  • 12. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 3 BUNDLE in Linux FOTO: 25 (gruppo 2) Risoluzione impostata: 3400 Tempo di elaborazione: 2 ore Nuvola di punti ottenuta: 68.323 vertex OSSERVAZIONI: prendiamo 3400 come risoluzione massima utilizzabile affinch vengano processate tutte le foto. Processing photo '46.JPG': Found 87557 features Processing photo '34.JPG': Found 110039 features Processing photo '37.JPG': Found 112078 features Processing photo '44.JPG': Found 108664 features Processing photo '42.JPG': Found 108733 features Processing photo '26.JPG': Found 95485 features Processing photo '31.JPG': Found 106609 features Processing photo '32.JPG': Found 97348 features Processing photo '23.JPG': Found 88709 features Processing photo '43.JPG': Found 107693 features Processing photo '22.JPG': Found 98923 features Processing photo '39.JPG': Found 108943 features Processing photo '38.JPG': Found 105633 features Processing photo '30.JPG': Found 110807 features Processing photo '24.JPG': Found 76396 features Processing photo '27.JPG': Found 106923 features Processing photo '40.JPG': Found 106343 features Processing photo '28.JPG': Found 97244 features Processing photo '35.JPG': Found 108729 features Processing photo '29.JPG': Found 110467 features Processing photo '45.JPG': Found 110069 features Processing photo '36.JPG': Found 105530 features Processing photo '41.JPG': Found 113047 features Processing photo '33.JPG': Found 113099 features Processing photo '25.JPG': Found 102191 features
  • 13. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 4 BUNDLE in Linux FOTO: 21 (gruppo 1) Risoluzione impostata: 3400 Tempo di elaborazione: 1,45 ore Nuvola di punti ottenuta: 66.788 vertex OSSERVAZIONI: si ottiene una nuvola di punti meno definita rispetto a 25 foto ma la nuvola completa. Processing photo '10.JPG': Found 93752 features Processing photo '20.JPG': Found 67492 features Processing photo '05.JPG': Found 96558 features Processing photo '19.JPG': Found 74257 features Processing photo '04.JPG': Found 95807 features Processing photo '14.JPG': Found 92966 features Processing photo '12.JPG': Found 92677 features Processing photo '17.JPG': Found 103442 features Processing photo '08.JPG': Found 98695 features Processing photo '18.JPG': Found 100240 features Processing photo '16.JPG': Found 93518 features Processing photo '11.JPG': Found 92304 features Processing photo '03.JPG': Found 93430 features Processing photo '15.JPG': Found 91276 features Processing photo '07.JPG': Found 92826 features Processing photo '21.JPG': Found 68765 features Processing photo '01.JPG': Found 84036 features Processing photo '09.JPG': Found 96388 features Processing photo '02.JPG': Found 95013 features Processing photo '06.JPG': Found 94535 features Processing photo '13.JPG': Found 80297 features
  • 14. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 5 BUNDLE in Linux FOTO: 68 (gruppo 1+2+3) Risoluzione impostata: 3400 Tempo di elaborazione: tante ore Nuvola di punti ottenuta: 271.129 vertex OSSERVAZIONI: il software riesce a processare tutte le 68 foto insieme, producendo una nuvola di punti molto definita.
  • 15. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 6 BUNDLE in Windows FOTO: 68 (gruppo 1+2+3) Risoluzione impostata: 2690 Tempo di elaborazione: tante ore Nuvola di punti ottenuta: 235.363 vertex OSSERVAZIONI: in Windows si pu lavorare alla risoluzione massima di 2690 quindi la nuvola viene meno definita.
  • 16. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 7 PMVS in Linux Bundle: 68 foto in Linux (fase 6) Nuvola di bundle: 271.129 vertex Cluster: 10 Nuvola di PMVS: ... OSSERVAZIONI: dopo 4 giorni il computer non aveva ancora prodotto il primo cluster e si deciso di interrompere.
  • 17. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 8 BUNDLE in Linux FOTO: 24 (scelte da gruppo 1 e 2) Risoluzione impostata: 3400 Tempo di elaborazione: 2 ore Nuvola di punti ottenuta: 82.248 vertex OSSERVAZIONI: si cerca di ottenere il giusto equilibrio tra le foto da lontano e quelle da vicino con poche foto. Processing photo '46.JPG': Found 87557 features Processing photo '34.JPG': Found 110039 features Processing photo '10.JPG': Found 93752 features Processing photo '26.JPG': Found 95485 features Processing photo '31.JPG': Found 106609 features Processing photo '05.JPG': Found 96558 features Processing photo '04.JPG': Found 95807 features Processing photo '14.JPG': Found 92966 features Processing photo '12.JPG': Found 92677 features Processing photo '17.JPG': Found 103442 features Processing photo '08.JPG': Found 98695 features Processing photo '18.JPG': Found 100240 features Processing photo '30.JPG': Found 110807 features Processing photo '16.JPG': Found 93518 features Processing photo '11.JPG': Found 92304 features Processing photo '03.JPG': Found 93430 features Processing photo '35.JPG': Found 108729 features Processing photo '15.JPG': Found 91276 features Processing photo '07.JPG': Found 92826 features Processing photo '01.JPG': Found 84036 features Processing photo '09.JPG':. Found 96388 features Processing photo '02.JPG': Found 95013 features Processing photo '06.JPG': Found 94535 features Processing photo '13.JPG': Found 80297 features
  • 18. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 9 PMVS in Linux Bundle: 24 foto in Linux (fase 8) Nuvola di bundle: 82.248 vertex Cluster: 8 Nuvola di PMVS: 817.849 vertex OSSERVAZIONI: durante lelaborazione sono state rimosse 7 foto, ma il risultato comunque molto buono.
  • 19. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 10 BUNDLE in Linux FOTO: 46 (scelte da gruppo 1 e 2) Risoluzione impostata: 3400 Tempo di elaborazione: molte ore Nuvola di punti ottenuta: 150.537 vertex OSSERVAZIONI: ultimo tentativo, se la fase successiva di PMVS va a buon fine, ci si pu ritenere soddisfatti.
  • 20. Obiettivo: riuscire a produrre una nuvola di punti pi dettagliata possibile con lhardware a disposizione PYTHON PHOTOGRAMMETRY TOOLBOX FASE 11 PMVS in Linux Bundle: 46 foto in Linux (fase 10) Nuvola di bundle: 150.537 vertex Cluster: 8 Nuvola di PMVS: 3.091.588 vertex OSSERVAZIONI: durante lelaborazione sono state rimosse 13 foto, ma il risultato comunque molto buono.
  • 21. Obiettivo: riuscire a dimensionare metricamente la nuvola pulita per la successiva mesh CLOUDCOMPARE METODO - pulire manualmente la nuvola di punti da tutte le parti estranee allurna - dimensionare metricamente la nuvola in modo che sia misurabile - creare una superficie dalla nuvola di punti
  • 22. Obiettivo: riuscire a dimensionare metricamente la nuvola pulita per la successiva mesh FASE 1 - pulizia della nuvola di punti - dalla nuvola sono state eliminate tutte le parti di contesto estranee alloggetto tramite il comando Segment - la nuvola passata da 3.091.588 vertex a 2.721.744 vertex. CLOUDCOMPARE
  • 23. Obiettivo: riuscire a dimensionare metricamente la nuvola pulita per la successiva mesh FASE 2 - dimensionamento metrico - con il comando Align two clouds sono stati selezionati i punti del metro ligneo posizionato come asse cartesiano - ai punti selezionati sono state assegnate le coordinate calcolate grazie ai decimetri colorati del metro CLOUDCOMPARE
  • 24. Obiettivo: riuscire a dimensionare metricamente la nuvola pulita per la successiva mesh FASE 3 - mesh - con il pugin 3D Poisson Mesh Reconstruction settando il valore di octree a 10 si ottenuta una mesh con 1.903.212 facce - sono state eseguite le mesh sia della nuvola nella posizione originale sia di quella dimensionata per provare successivamente la texturizzazione sia automatica che manuale CLOUDCOMPARE
  • 25. Obiettivo: creare la mesh e la texture del modello MESHLAB METODO - creare la mesh - applicare il colore alla mesh - creare la texture del modello in modo manuale e automatico N.B. per eseguire questultima parte del lavoro si fatto ricorso ad un nuovo strumento hardware con prestazioni migliori rispetto a quello con cui si lavorato fino ad ora. Le caratteristiche del notebook utilizzato sono: Notebook Acer Intel Core i5-2450M @ 2.5 GHz with Turbo Boost up to 3.1 GHz 4 GB RAM NVIDIA GeForce GT 630M (1GB dedicated RAM) MS Windows 7 64-bit
  • 26. Obiettivo: creare la mesh e la texture del modello FASE 1 - mesh - la mesh stata prodotta con il comando Surface Reconstruction: Poisson con i valori di Octree Depth e Solver Divide pari a 10 (valori massimi accettabili dallhardware) - la mesh presenta 1.427.202 facce, inferiori a quelle della mesh eseguita con CloudCompare MESHLAB
  • 27. Obiettivo: creare la mesh e la texture del modello FASE 2 - colore MESHLAB Vertex attribute transfer Project active raster color to current mesh
  • 28. Obiettivo: creare la mesh e la texture del modello FASE 3 - texture MESHLAB - Utilizzo del comando Parameterization + texturing from registered raster con texture size pari a 1800 pixel
  • 29. RISULTATO