Tutorial realityscan modello camere gcp

Un rilievo con drone RTK può stare dentro 2 cm in piano e 3 cm in quota, ma solo se ogni passaggio dell’allineamento è controllato: ecco come lo facciamo in RealityScan, con i numeri reali di un tratto del Grande Raccordo Anulare e le indicazioni della guida ufficiale del software.

Il caso

Un tratto di circa 1,26 km del Grande Raccordo Anulare, 1448 foto da un DJI Mavic 3 Enterprise RTK a 27 m di quota dal suolo, in tre missioni separate, con un dettaglio a terra medio di 0,75 cm per pixel. L’incarico e il volo sono del collega geometra titolare del rilievo; nostre la pianificazione del volo e l’elaborazione. A terra, 8 punti battuti con GNSS in rete NRTK: 6 per correggere il modello e 2 per controllarlo. La tolleranza richiesta era di 2 cm in planimetria e 3 cm in quota.

Con le prese fotografiche in RTK fix il drone sa già dov’è, con qualche centimetro di incertezza. Sembra sufficiente. In pratica, i centimetri che mancano sono proprio quelli della tolleranza, e si recuperano solo con i punti a terra e con un controllo che non si fida di nessuno dei due.

Prima di allineare: in che sistema sono i numeri?

Gli errori più grossi non nascono nell’allineamento, ma prima, quando si importano le coordinate.

  1. Il sistema del progetto si imposta per primo. La guida di RealityScan chiede di impostare il sistema del progetto nelle impostazioni dell’applicazione (Coordinate systems) prima di importare i punti, e di dichiarare nella finestra di importazione il sistema in cui è scritto il file. Nel nostro progetto i punti erano in ETRS89 / UTM 32N con il fuso davanti alla X (EPSG:5652), gli export di modello e nuvola in RDN2008 / UTM 33N (EPSG:6708).
  2. Il datum. Una rete NRTK come Italpos fornisce coordinate RDN2008: punti etichettati “ETRS89” ma presi in rete sono di fatto RDN2008. La differenza tra i due può essere di qualche centimetro, cioè proprio la tolleranza.
  3. Le quote. Ortometriche o ellissoidiche? A Roma la differenza è di circa 47–48 m: se si sbaglia si vede subito. Se cambia solo il modello di geoide, la differenza è di pochi centimetri e non si vede. Il controllo più rapido: le quote delle camere e quelle dei punti a terra devono essere coerenti (qui camere a 116–131 m, terreno a 80–95 m).
  4. Il file si apre, prima di importarlo. Un file chiamato “6707” conteneva in realtà longitudine e latitudine in gradi. Il nome non basta: bisogna guardare i numeri.

Quanto fidarsi del drone

RealityScan pesa le posizioni RTK delle foto contro i punti a terra in base alla precisione che dichiariamo per ciascuno (Prior pose, Pose accuracy per le foto; Position accuracy per i punti).

ElementoValore usatoPerché
Foto, piano e quota0,05 mlo scarto reale tra posizione RTK e posizione calcolata era di 4,5 cm in media (massimo 9 cm)
Punti a terra, piano0,02 mprecisione reale del GNSS in rete NRTK in RTK fix
Punti a terra, quota0,03 m

Con 2–3 cm sulle foto, RealityScan segnalava 815 foto su 1443 fuori tolleranza: la precisione dichiarata era più ottimistica di quella reale.

L’errore opposto è più subdolo, e ci è successo: scrivere 0,005 al posto di 0,05. Con le foto a mezzo centimetro e i punti a terra a 2–3 cm, il modello si appoggia quasi solo al drone e i punti a terra smettono di correggerlo. Il risultato sembra in ordine. Non lo è.

Punti a terra: chi corregge e chi controlla

RealityScan distingue tre tipi di punto: Tie point (solo per collegare le foto), Ground Control (corregge il modello) e Ground Test (non entra nel calcolo e misura quanto il modello è preciso).

  1. Importare le coordinate da WORKFLOW → Ground Controls, dichiarando sistema e precisione del file.
  2. Separare i ruoli. I 6 punti che correggono il modello si impostano come Ground Control; i 2 di controllo come Ground Test, così restano fuori dal calcolo. La guida consiglia i punti di controllo distribuiti in modo uniforme: sono quelli che rivelano un modello “a banana”, piegato tra un punto e l’altro.
  3. Collimare su più foto. La guida chiede almeno 2 foto per punto e ne consiglia 2–5; noi ne usiamo 6–8, da passate e angolazioni diverse, e lasciamo il peso dei punti al valore predefinito, come raccomandato.
  4. Distribuirli lungo tutto il tratto. Due punti a pochi metri l’uno dall’altro vincolano una zona sola. Sul GRA restava un tratto di circa 500 m senza punti di controllo: va dichiarato, non nascosto.
  5. Aggiornare. Dopo aver aggiunto o corretto punti, il comando Update della scheda ALIGNMENT ricalcola la georeferenziazione senza rifare l’allineamento delle foto.
Check point a terra con la scacchiera, collimato in una foto del drone
Un check point visto da una foto del drone: il segno verde al centro della scacchiera è la collimazione.

Le impostazioni, a confronto con la guida

ImpostazioneValore usatoCosa dice la guida ufficiale
Image downscale factor2per la massima precisione, 1 (immagine intera)
Max features per image40 000più punti rallentano ma riducono i componenti separati
Preselector features10 000da 1/4 a 1/2 dei punti rilevati: qui 1/4
Max feature reprojection error2 pxal massimo 3 px
Detector sensitivityUltratrova più punti anche su superfici povere di dettaglio, con più rumore
Final model optimizationSìottimizzazione finale di tutte le foto

Il fattore 2 ci ha permesso di allineare 1448 foto in circa 5 minuti, restando dentro la tolleranza. Quando la tolleranza è più stretta, si torna al fattore 1, come indica la guida.

Il report: il numero da dichiarare

Il report di RealityScan contiene tutto quello che serve per dire se il rilievo è dentro la tolleranza.

ControlloValore sul GRACome leggerlo
Foto registrate1443 su 1448controllare dove sono le 5 mancanti: buchi di copertura?
Errore di riproiezione medio1,08 pxintorno a 1 px è buono
RMSE sui punti di correzione1,4 cmquanto il modello si adatta ai punti che gli abbiamo dato
RMSE sui punti di controllo1,1 cm in piano, 2,3 cm in quotaquanto è preciso dove non lo abbiamo aiutato

Il numero da dichiarare al cliente è l’ultimo. Il primo dice solo che il modello ha obbedito.

E per una distanza misurata tra due punti del modello? Questi RMSE valgono per un singolo punto. Una distanza o un dislivello tra due punti somma gli errori di entrambi: l’incertezza è circa √2 volte l’RMSE, cioè circa 1,6 cm in piano e 3,3 cm in dislivello.

Errori che si correggono dopo, ed errori che no

Sullo stesso tratto un secondo ricevitore GNSS ha battuto undici punti. Tre coincidevano con punti già esistenti: in piano le due antenne concordavano entro 1–2 cm, in quota c’erano 2,000 m costanti di differenza. L’altezza della palina non era stata impostata nel ricevitore.

Non serviva rifare nulla: un errore costante si corregge dopo, togliendo i 2 m e verificando il risultato sui punti in comune. Lo stesso vale per altri errori sistematici, se si conoscono: un datum diverso, un modello di geoide diverso, uno spostamento uguale su tutto il rilievo.

Quando la richiesta non è al centimetro, ad esempio per un inquadramento, un computo di massima o un monitoraggio che guarda le differenze nel tempo, si può anche volare in RTK senza punti di correzione e allineare il risultato dopo, con pochi punti noti e una traslazione verificata. È più rapido, purché si dichiari come è stato fatto.

Altri casi invece non si correggono: si escludono.

  • un punto battuto su un particolare diverso da quello che si vede dall’alto, come la base di un muro, il bordo del new jersey o un termine: non è un errore della misura, ma non può controllare il modello e resta fuori dall’accuratezza;
  • una misura in float invece che in RTK fix, che può sbagliare di decine di centimetri in modo diverso ogni volta;
  • una precisione a priori sbagliata, come lo 0,005 al posto di 0,05: si corregge il valore e si ricalcola, non si sistema il risultato.

La differenza è semplice: un errore uguale ovunque si misura e si toglie; un errore diverso da punto a punto si spiega, e il punto si esclude.

Verso il cloud

  1. Ritaglio. Dalla vista dall’alto si seleziona il corridoio utile (carreggiata, barriere e 2–3 m di margine) e si filtra il resto: qui da 272,8 a 199 milioni di triangoli, con l’originale che resta intatto.
  2. Texture. Dimensione adattiva (texel ottimale 0,75 cm), 48 texture da 8192 px.
  3. Export a tile (Cesium 3D Tiles). Il texel decide la qualità massima delle texture: per la consultazione online usiamo 0,015 m, abbastanza per vedere la segnaletica senza appesantire il browser. Il numero massimo di triangoli per nodo decide quanto è fine la suddivisione: 50 000. Le quote restano quelle dei punti a terra.
  4. Nuvola di punti leggera, circa 15 milioni di punti con i colori, esportata senza le posizioni delle foto: altrimenti finiscono nella nuvola come punti sopra la strada.

Il risultato si consulta online sul nostro cloud privato personalizzato: modello 3D, nuvola di punti e punti a terra sovrapposti, con le misure che si agganciano alla superficie del modello.

Il metodo in sei regole

  1. Il sistema del progetto si decide prima, e ogni file si importa dichiarando il suo.
  2. Le precisioni a priori sono quelle reali, non quelle sperate.
  3. I punti di controllo non correggono: misurano, e sono distribuiti su tutto il rilievo.
  4. L’accuratezza si dichiara sui punti di controllo, non su quelli usati per correggere.
  5. Un errore costante si toglie dopo, un errore che cambia da punto a punto si esclude.
  6. Le impostazioni si scelgono sulla tolleranza: la guida dice dove sta la precisione massima, il progetto dice quanta ne serve.

Un allineamento ben fatto non è quello senza errori: è quello in cui ogni errore ha un nome e un numero.

Il metodo è stato applicato nel caso studio Rilievo di precisione sul GRA; come abbiamo verificato la coerenza tra due antenne GNSS è nell’articolo Due antenne, un rilievo.