Linee guida SfM

Da borgoaperto.
Fonte immagine:theia-sfm.org/sfm.html

La tecnologia Structure from Motion (SfM) è un metodo utilizzato per creare modelli 3D di oggetti o ambienti da una serie di immagini o video. Il suo obiettivo principale è determinare la posizione e l'orientamento delle telecamere che hanno catturato le immagini, e calcolare la posizione 3D dei punti di interesse all'interno della scena, sfruttando la geometria proiettiva e l'analisi dei movimenti apparenti degli oggetti. Il processo di SfM si articola in due fasi: structure estimation, in cui gli algoritmi identificano e collegano i punti chiave tra le diverse immagini, e motion estimation, dove viene calcolata la posizione e l'orientamento della fotocamera per ogni immagine. SfM ha una vasta gamma di applicazioni, tra cui la creazione di modelli 3D di edifici, monumenti e terreni utilizzando immagini ottenute da qualsiasi tipo di fotocamera, inclusi gli smartphone.

Hardware e software

Realizzare modelli Structure from Motion (SfM), avrai bisogno di una combinazione di hardware e software. In generale, le specifiche hardware e software dipenderanno dalla complessità del tuo progetto e dalle tue esigenze specifiche. Assicurati di controllare i requisiti di sistema specifici per il software di SfM che intendi utilizzare per ottenere i migliori risultati possibili.

Hardware:

  • Fotocamera: Puoi utilizzare fotocamera digitale o anche un dispositivo mobile con una buona qualità fotografica. Maggiore è la risoluzione e la qualità dell'immagine, migliori saranno i risultati ottenuti.
  • Focale fissa: Con una distanza focale fissa si semplifica il processo di calibrazione della fotocamera, in quanto non è necessario tener conto delle variazioni della lunghezza focale, migliorando le performance di elaborazione.
  • Hardware di elaborazione: Computer o smartphone/tablet. Per poter realizzare modelli SfM è necessario avere a disposizione un hardware abbastanza performante in grado di gestire il processo. Qualora non si avesse a disposizione un hardware adeguato è preferibile sfruttare le modalità di elaborazione in cloud permesse da alcuni software.

Software:

  • Software di SfM: Ci sono diversi software di SfM disponibili, sia open source che commerciali. Alcuni esempi di software di SfM popolari includono Agisoft Metashape, COLMAP e Pix4D. Questi software consentono di importare le immagini, eseguire l'elaborazione SfM e ottenere la ricostruzione tridimensionale.
  • Software di SfM per smartphone/tablet: Esistono app come Polycam e 3D Scanner App su dispositivi mobili, queste possono essere utili per catturare le immagini direttamente dal tuo cellulare e avviare l'elaborazione SfM incorporata nell'app stessa. Tuttavia, è importante notare che le app mobili possono avere limitazioni in termini di precisione e capacità rispetto ai software più completi disponibili sui computer, oltre ad avere difficoltà dal punto di vista dell'hardware.

Acquisizione

Progetto di Rilevamento

  • Identificare l'oggetto o l'ambiente da rilevare e lo scopo: Prima di iniziare l'acquisizione, è essenziale definire chiaramente l'obiettivo del progetto. Questo può essere, ad esempio, creare un modello per visualizzazione, generare un'ortofoto per mappare le murature, o ancora disegnare un prospetto architettonico. La chiarezza dell'obiettivo aiuta a determinare il miglior punto di vista per l'acquisizione delle immagini.
  • Calcolo del Ground Sampling Distance (GSD): Il GSD è la distanza tra due pixel consecutivi nell'immagine, rappresentata sul terreno. Un GSD più basso significa una maggiore risoluzione spaziale e quindi dettagli più nitidi. Per calcolare il GSD ottimale, prendi in considerazione la dimensione e i dettagli dell'oggetto o dell'ambiente che stai mappando.
  • Studiare l'illuminazione: La luce può influenzare notevolmente la qualità delle immagini. È consigliabile acquisire le immagini durante il giorno o in un ambiente ben illuminato, cercando di concentrare le acquisizioni in un orario con illuminazione omogenea. È bene, a seconda dello scopo, tenere conto anche delle ombre ricevute dalle superfici e pianificare in base a queste l'orario in cui eseguire le acquisizioni.

Modalità di Acquisizione

  • Pianificare la sequenza di scatto: Per garantire la copertura completa dell'oggetto o dell'ambiente, pianificare un percorso di scatto. Idealmente, le immagini dovrebbero sovrapporsi del 60-80%.
  • Stabilità della fotocamera: Anche con uno smartphone o un tablet, l'uso di un treppiede o di un supporto stabile può migliorare la nitidezza delle immagini.

Parametri di Acquisizione Ottimali

  • Risoluzione dell'immagine: Gli smartphone moderni e i tablet offrono una risoluzione sufficientemente alta per la maggior parte dei progetti SfM. Tuttavia, è essenziale assicurarsi che le immagini siano nitide e ben focalizzate.
  • Modalità di scatto: Utilizzare la modalità manuale, se disponibile, per controllare meglio l'esposizione e il focus.

Elaborazione

  • Importazione delle immagini: Il primo passo è l'importazione delle immagini nel software di SfM. Questo può solitamente essere fatto tramite un'interfaccia grafica utente o una riga di comando, a seconda del software utilizzato.
  • Rilevamento dei punti chiave (Feature Detection): Questa fase identifica i punti di interesse, o "punti chiave", in ogni immagine. Questi sono spesso punti che il software ritiene unici e riconoscibili nelle immagini successive, come i bordi di un edificio o i vertici di un oggetto.
  • Abbinamento dei punti chiave (Feature Matching): Dopo la rilevazione dei punti chiave, il software cerca di abbinare questi punti tra diverse immagini. Questo passo consente al software di capire la relazione spaziale tra diverse immagini dello stesso oggetto o ambiente.
  • Estimazione del movimento (Motion Estimation): In questa fase, il software utilizza le corrispondenze di punti chiave per determinare la posizione e l'orientamento di ciascuna immagine (o telecamera) nel momento in cui è stata acquisita. Questo crea quello che è noto come "nube di punti sparsi".
  • Ricostruzione densa: Dopo aver creato una nube di punti sparsi, il software cerca di riempire gli spazi vuoti per creare una "nube di punti densa". Questo è spesso fatto utilizzando tecniche di stereoscopia per stimare la profondità di ogni pixel nelle immagini.
  • Generazione del modello 3D: Infine, il software utilizza la nube di punti densa per creare un modello 3D dell'oggetto o dell'ambiente. Questo può includere la creazione di una mesh 3D (una rappresentazione tridimensionale fatta di poligoni), e l'applicazione di una texture, che è spesso una versione "proiettata" delle immagini originali su questa mesh 3D.