NDVI e multispettrale con WebODM per l'agricoltura

Avanzato Entrambe le linee 14 min di lettura

Ultimo aggiornamento:

Testato con: WebODM 3.2.8, motore ODX / ODM 3.6.0

In questa pagina

Le mappe di vigore sono uno degli usi più richiesti del drone in agricoltura, e WebODM le produce con software libero. Ma il tema è pieno di equivoci, primo fra tutti l'idea che si possa ottenere un NDVI da una camera normale. Questa guida spiega cosa serve davvero, come impostare l'elaborazione e come leggere i risultati con onestà. Termini nel glossario.

1. Cosa vede una camera multispettrale#

Una camera RGB registra tre bande nel visibile: rosso, verde e blu. Una camera multispettrale aggiunge bande che l'occhio non vede, tipicamente il red edge (il bordo tra rosso e infrarosso) e il NIR (vicino infrarosso). La vegetazione sana assorbe molto rosso per la fotosintesi e riflette molto NIR: è questo contrasto che gli indici di vegetazione misurano.

Sul mercato ci sono due famiglie di prodotti, che citiamo come categorie e non come consigli d'acquisto:

  • droni con camera multispettrale integrata (per esempio la serie DJI Mavic 3M), che scattano una foto RGB e alcune bande strette a ogni punto di presa;
  • camere multispettrali dedicate da montare su drone (per esempio i sensori MicaSense), con più sensori separati e spesso un sensore di luce incidente sul dorso del drone.

In entrambi i casi il dataset contiene, per ogni posizione, più immagini: una per banda. WebODM le riconosce e le tratta come un unico "scatto multispettrale".

2. Perché la radiometria conta#

Un'ortofoto RGB deve "sembrare giusta". Una mappa di vegetazione deve invece contenere valori fisicamente confrontabili: la riflettanza di una foglia deve dare lo stesso numero alle 10 e alle 14, con il sole coperto o pieno. Senza correzione, il "vigore" che vedi è in parte la nuvola che passava.

Per questo il motore (ODX in WebODM, ODM nella distribuzione OpenDroneMap) offre l'opzione --radiometric-calibration, con tre valori:

Valore Cosa fa Quando usarlo
none (predefinito) Nessuna correzione: valori digitali grezzi Ortofoto RGB; anteprime
camera Corregge usando i parametri della camera scritti nei metadati (vignettatura, esposizione, guadagno, tempo di scatto) e produce valori di radianza normalizzati Il minimo per confrontare indici tra date diverse
camera+sun Aggiunge la correzione con il sensore di luce incidente (downwelling light sensor), se la camera lo ha e ne scrive i dati nei metadati Voli con luce variabile, confronti multi-temporali rigorosi

Se la camera non ha un sensore di luce, camera+sun non ha dati da usare: scegli camera. Se hai fotografato un pannello di calibrazione (target di riflettanza nota) a inizio e fine volo, il flusso per usarlo dipende dal produttore; la documentazione ufficiale sul multispettrale (link in fondo) spiega cosa il motore legge dai metadati e cosa no.

3. Le opzioni del dataset multispettrale#

Oltre alla calibrazione, due opzioni governano l'elaborazione:

--primary-band indica quale banda il motore usa per la ricostruzione geometrica (feature, matching, nuvola). Il predefinito auto sceglie da solo; puoi forzare una banda con buon contrasto (spesso il NIR o il rosso) se la ricostruzione fallisce o è debole. Le altre bande vengono poi allineate e proiettate sulla stessa geometria.

--skip-band-alignment disattiva l'allineamento fine tra le bande. Le lenti di una camera multispettrale sono fisicamente separate di qualche centimetro, quindi le immagini delle bande non coincidono al pixel: l'allineamento corregge questo scostamento. Saltarlo velocizza l'elaborazione ma produce "aloni" colorati sui bordi degli oggetti e indici sbagliati proprio lì. Usalo solo se le tue immagini sono già allineate dal software del produttore.

Il preset "Multispectral" di WebODM imposta un insieme coerente di opzioni per questi dataset (preset e opzioni base); parti da lì e cambia solo la calibrazione.

Il risultato è un'ortofoto GeoTIFF multi-banda: un solo file con tante bande quante ne ha la camera, ciascuna con i valori corretti. Da questo file nascono gli indici.

Ortofoto multispettrale in WebODM con il selettore di banda e la mappa NDVI colorata

4. Gli indici di vegetazione#

Un indice è una combinazione aritmetica di bande che riduce l'effetto della luce e mette in evidenza una proprietà. I quattro più usati:

Indice Formula Bande richieste Cosa evidenzia
NDVI (NIR − R) / (NIR + R) NIR, rosso Vigore e copertura fogliare; satura su colture molto dense
NDRE (NIR − RE) / (NIR + RE) NIR, red edge Contenuto di clorofilla e azoto in colture mature, dove l'NDVI satura
GNDVI (NIR − G) / (NIR + G) NIR, verde Simile all'NDVI, più sensibile alla clorofilla
VARI (G − R) / (G + R − B) Solo visibile (RGB) Verdezza percepita; approssima la copertura vegetale

La riga che conta è la colonna "bande richieste". NDVI, NDRE e GNDVI hanno bisogno del NIR: non si calcolano da una camera RGB. VARI e indici simili basati sul solo visibile (ad esempio quelli detti "ExG" o "TGI") sono gli unici che una camera normale permette, e misurano quanto è verde la scena, non la sua risposta fotosintetica.

I valori di NDVI vanno da −1 a +1: suolo nudo e acqua stanno vicino allo zero o sotto, vegetazione sana su valori alti. Non riportiamo soglie fisse: dipendono da coltura, stadio e sensore, e vanno tarate con osservazioni a terra.

5. Il plugin Plant Health#

WebODM calcola gli indici direttamente sulla mappa 2D con il plugin Plant Health. Dal pannello del plugin:

  1. Scegli l'algoritmo (NDVI, NDRE, GNDVI, VARI e altri; l'elenco disponibile dipende dalle bande presenti nel task).
  2. Scegli la rampa di colori e, se disponibile, il numero di classi e l'intervallo dei valori; per confrontare due date usa la stessa scala fissa, non quella automatica.
  3. Osserva la mappa; la legenda riporta i valori corrispondenti ai colori.
  4. Esporta il risultato come GeoTIFF (e negli altri formati che il pannello offre) per usarlo in QGIS.

I dettagli dell'interfaccia (nomi degli algoritmi, opzioni di esportazione, filtri) cambiano tra le versioni: verifica nel pannello del plugin e nella documentazione di WebODM.

Su un task RGB il plugin propone comunque gli indici calcolabili dal visibile, come VARI. Se ti offre "NDVI" su un dataset senza banda NIR, sta usando una banda del visibile al posto del NIR: il risultato è una mappa colorata che non è un NDVI. La sezione seguente spiega perché il punto è importante.

6. I limiti: l'NDVI "finto" e il caso RGB#

Sul mercato circolano mappe chiamate NDVI ottenute da camere RGB, spesso con filtri modificati o semplici ricolorazioni. Vanno considerate con cautela:

  • Camera RGB standard. Non ha il NIR. Qualsiasi "NDVI" che ne deriva è un altro indice con un nome sbagliato. Puoi legittimamente produrre mappe VARI, chiamandole con il loro nome, utili per individuare fallanze, zone infestate o differenze di copertura.
  • Camera RGB modificata (filtro NIR). Alcune camere vengono modificate per far passare l'infrarosso su un canale. Ottieni una banda "NIR-ish" contaminata dal visibile, senza calibrazione radiometrica: buona per confronti relativi dentro lo stesso volo, non per valori assoluti né per confronti tra date.
  • Camera multispettrale senza calibrazione. Anche con il NIR vero, senza --radiometric-calibration i valori dipendono dalla luce del momento. Dentro un singolo volo la mappa è leggibile; tra date diverse serve la calibrazione.

Per un cliente agricolo la distinzione conta: una mappa di vigore relativa (dove il campo è più o meno verde oggi) è un prodotto utile e onesto; una serie temporale di NDVI per decidere concimazioni richiede sensore, calibrazione e verifiche a terra.

Un cenno al termico#

Le camere termiche producono immagini a banda singola nell'infrarosso termico. WebODM può ricostruire un'ortofoto termica da dataset radiometrici, con le stesse logiche di banda primaria e allineamento; la bassa risoluzione e il basso contrasto dei sensori termici rendono però la ricostruzione più fragile e spesso serve abbinare le immagini RGB dello stesso volo. È un tema a sé, rimandato alla documentazione ufficiale sul multispettrale.

7. Dal plugin a QGIS#

Il GeoTIFF multi-banda si apre in QGIS come qualunque raster. Con il Calcolatore raster puoi calcolare tu stesso gli indici, controllando la formula, oppure caricare il GeoTIFF dell'indice esportato dal plugin e classificarlo con una rampa fissa. Da lì puoi tracciare le zone omogenee (poligoni di gestione), calcolare statistiche per parcella (Statistiche zonali) e stampare la mappa con legenda e scala: il flusso è nella guida esportare in QGIS. Ricorda che il raster è nell'EPSG del task: per sovrapporlo al catasto o alla CTR consulta la guida ai sistemi di riferimento italiani.

Come verificare

Il flusso multispettrale ha funzionato se:

  • l'ortofoto del task ha tutte le bande della camera (controlla il numero di bande nelle proprietà del layer in QGIS);
  • i bordi di strade e filari non mostrano aloni colorati (allineamento delle bande corretto);
  • il suolo nudo e l'acqua hanno NDVI vicino a zero o negativo, la vegetazione sana valori alti e coerenti tra zone simili;
  • su due voli calibrati della stessa area in condizioni stabili, gli stessi punti danno valori simili.

Problemi frequenti#

La ricostruzione fallisce o trova poche feature. Le bande strette hanno poco contrasto: prova a forzare --primary-band sulla banda più contrastata, o alza la qualità delle feature.

Aloni colorati sui bordi. Allineamento delle bande insufficiente: assicurati che --skip-band-alignment sia disattivato.

La mappa NDVI cambia tra due voli della stessa giornata. Manca la calibrazione radiometrica o la luce è cambiata: usa --radiometric-calibration camera (o camera+sun se il sensore c'è).

Il plugin mostra pochi algoritmi. Il task non ha le bande necessarie: da un dataset RGB otterrai solo indici del visibile.

Prossimi passi#

Fonti

Guide correlate