Piante_a_quadretti / README.md
wlatt's picture
Update README.md
105ce96 verified
|
Raw
History Blame Contribute Delete
8.6 kB
---
title: Computer vision e piante - VECCHIO
emoji: 🌱
colorFrom: green
colorTo: gray
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
python_version: "3.10"
license: apache-2.0
short_description: Percorsi didattici su immagini, piante e computer vision.
---
# Computer vision e piante - percorsi 6-14 anni
Lo Space mantiene un unico indirizzo e organizza tre percorsi distinti:
- **6-9 anni:** preparazione di schede PDF con fotografie a quadretti;
- **9-11 anni:** esplorazione di matrici di pixel, trasformazioni additive del colore e stima automatica del verde;
- **11-14 anni:** confronto progressivo fra segmentazione HSV, indice ExG e FastSAM guidato da un click, eseguito su CPU Basic.
La fascia 14-16 non è inclusa in questa versione. Le relative attività verranno sviluppate separatamente a partire dal precedente Space sperimentale.
![Panoramica dei moduli](assets/screenshots/01_panoramica_annotata.png)
## Avvio rapido
1. Aprire la scheda della fascia interessata.
2. Caricare una fotografia. Nei moduli 6-9 e 11-14 è anche possibile usare il dataset sperimentale incluso.
3. Seguire i pulsanti nell'ordine indicato.
4. Controllare sempre la maschera o l'anteprima prima di interpretare un risultato numerico.
5. Aprire il PDF della fascia quando servono istruzioni didattiche più dettagliate.
## Dataset sperimentale
La cartella `dataset/` contiene **48 fotografie**:
- `NS` = assenza di stress idrico;
- `S` = stress idrico;
- `A`, `B`, `C` = repliche;
- `06`, `09`, `11`, `14`, `16`, `19`, `23`, `26` = giorni dal trapianto.
Il dataset completo non viene sostituito da una selezione ridotta. Può essere utilizzato quando la classe non produce fotografie proprie o quando serve confrontare immagini acquisite con un protocollo comune.
![Organizzazione del dataset](assets/screenshots/06_dataset_annotata.png)
---
## 6-9 - Piante a quadretti
![Modulo 6-9](assets/screenshots/02_6-9_annotata.png)
### Procedura
1. Caricare una fotografia oppure selezionare condizione, replica e giorno dal dataset.
2. Inserire il titolo dell'attività.
3. Scegliere il numero di righe e colonne, da 4 a 36.
4. Regolare lo schiarimento. Il valore iniziale è `0,50`.
5. Lasciare disattivata l'opzione colore per produrre una fotografia in bianco e nero; attivarla solo quando serve conservare i colori.
6. Premere **Genera la scheda PDF**.
7. Controllare l'anteprima e scaricare il PDF.
Il PDF contiene:
- titolo dell'attività;
- fotografia schiarita con griglia;
- indicazione della dimensione della griglia;
- spazio finale per annotare a mano il numero di quadratini verdi identificati o colorati.
Il programma non riconosce la pianta, non disegna contorni automatici e non introduce il conteggio dei quadratini parziali.
Guida didattica: `assets/6-9/Guida_piante_a_quadretti.pdf`.
---
## 9-11 - Pixel e colore
![Modulo 9-11](assets/screenshots/03_9-11_annotata.png)
### A scuola - Esplora una matrice di pixel
1. Caricare una fotografia.
2. Scegliere un selettore di `3 × 3` oppure `5 × 5` pixel.
3. Scegliere lo spazio di colore `RGB` o `HSV`.
4. Scegliere un singolo canale:
- `R`, `G`, `B` per RGB;
- `H`, `S`, `V` per HSV.
5. Fare click sull'immagine.
Lo Space mostra:
- la fotografia originale con il selettore quadrato;
- l'area scelta ingrandita senza sfumare i pixel;
- una matrice della stessa dimensione con un valore per ogni pixel.
Nella rappresentazione didattica:
- RGB usa valori da 0 a 255;
- H usa gradi da 0° a 359°;
- S e V usano percentuali da 0% a 100%.
### A scuola - Laboratorio del colore
1. Caricare una fotografia nel campo sorgente.
2. Premere **Carica nel pennello**.
3. Dipingere la zona da modificare.
4. Scegliere spazio di colore, canale e variazione additiva.
5. Premere **Applica la modifica alla zona dipinta**.
Per RGB i valori vengono limitati fra 0 e 255. Per S e V vengono limitati fra 0% e 100%. Il canale H è circolare: aumentando ripetutamente la tonalità si attraversa il cerchio cromatico e si ritorna al colore di partenza. Ogni pressione del pulsante applica un passaggio additivo alla zona dipinta.
### Con la famiglia - Quanto verde?
1. Caricare la fotografia orizzontale d'insieme.
2. Inserire le stime percentuali separate da virgole.
3. Premere **Calcola la stima automatica**.
4. Confrontare le stime con il risultato e osservare la maschera.
Il risultato è una stima prodotta da soglie HSV, non una misura assoluta della vegetazione. La maschera rende visibili i pixel inclusi o esclusi.
Guida didattica: `assets/9-11/Guida_pixel_e_verde.pdf`.
---
## 11-14 - Confronta i metodi
![Modulo 11-14](assets/screenshots/04_11-14_annotata.png)
La stessa fotografia viene utilizzata in quattro passaggi progressivi.
### 1. Metodo cromatico automatico
Premere **Applica il metodo cromatico**. Lo Space usa soglie HSV iniziali e applica automaticamente una pulizia morfologica della maschera. Il kernel viene scelto in base alle dimensioni dell'immagine:
- `3 × 3` per immagini più piccole;
- `5 × 5` per immagini più grandi.
### 2. Modifica delle soglie HSV
Aprire **Prova a modificare le soglie nello spazio HSV**. Gli slider consentono di cambiare:
- intervallo della tonalità H;
- saturazione minima e massima;
- luminosità minima e massima.
Questa sezione serve a osservare come una trasformazione dei limiti numerici modifica la maschera.
### 3. Indice ExG
Aprire **Prova l'indice ExG**. L'indice viene calcolato per ogni pixel:
`ExG = 2G - R - B`
Il programma conserva i pixel per i quali ExG supera la soglia scelta e applica la stessa pulizia automatica usata dal metodo HSV.
### 4. FastSAM guidato da un click
1. Caricare o selezionare la fotografia sorgente.
2. Aprire **Adesso prova FastSAM**.
3. Fare click direttamente sulla pianta nella **fotografia sorgente** mostrata all’inizio del modulo. Non serve caricare una seconda immagine. Il click avvia l'inferenza su CPU.
4. Attendere la comparsa della maschera e della sovrapposizione.
FastSAM usa il punto come prompt e restituisce una maschera della regione associata all'oggetto selezionato. **Maschera FastSAM** e **Sovrapposizione FastSAM** sono output e non richiedono caricamenti.
Il pulsante **Confronta l'ultimo metodo cromatico con FastSAM** affianca l'ultima sovrapposizione HSV o ExG alla sovrapposizione FastSAM.
Guide:
- `assets/11-14/Guida_confronto_segmentazioni.pdf`;
- `assets/11-14/Approfondimenti_tecnici_docenti.pdf`.
---
## Runtime CPU Basic e FastSAM
Questa revisione riprende il flusso già funzionante nello Space consolidato `wlatt/Plant_segmentation_edu`:
- inferenza su `device="cpu"`;
- modello `FastSAM-s.pt` caricato una sola volta e mantenuto in cache;
- esecuzione avviata direttamente dall'evento di click sull'immagine;
- nessuna funzione `@spaces.GPU` e nessuna dipendenza dal pacchetto `spaces`.
Per un account personale gratuito selezionare **CPU Basic** nelle impostazioni hardware. Il file `FastSAM-s.pt` viene scaricato automaticamente da Ultralytics al primo utilizzo se non è già presente nella cache. Il primo click può quindi richiedere più tempo.
### Test FastSAM dopo la pubblicazione
1. Selezionare **CPU Basic** in **Settings > Hardware**.
2. Eseguire un **Factory reboot**.
3. Aprire la scheda 11-14 e caricare un'immagine del dataset.
4. Aprire la sezione FastSAM.
5. Fare click al centro della pianta nella fotografia sorgente e attendere il risultato.
6. In caso di errore, leggere i log del container generati subito dopo il click. Gli avvisi del browser relativi a sensori, PixiJS, telemetria o `awswaf.com` non identificano l'errore Python del modello.
## Pubblicazione nello Space esistente
Per mantenere invariati i link già presenti nelle schede:
1. aprire lo Space esistente;
2. sostituire i file con il contenuto di questa cartella, senza creare un nuovo slug;
3. verificare che `dataset/` contenga 48 immagini;
4. eseguire un Factory reboot;
5. provare prima una funzione CPU;
6. provare FastSAM su un'immagine del dataset.
## Documenti allegati
- `assets/comuni/Tutorial_setup_sperimentale.pdf`;
- `assets/comuni/Scheda_esperimento.pdf`;
- `assets/6-9/Guida_piante_a_quadretti.pdf`;
- `assets/9-11/Guida_pixel_e_verde.pdf`;
- `assets/11-14/Guida_confronto_segmentazioni.pdf`;
- `assets/11-14/Approfondimenti_tecnici_docenti.pdf`.
## Fonti tecniche essenziali
- FastSAM: https://docs.ultralytics.com/models/fast-sam/
- Gradio Image: https://www.gradio.app/docs/gradio/image
- Gradio ImageEditor: https://www.gradio.app/docs/gradio/imageeditor
- Hugging Face Spaces e CPU Basic: https://huggingface.co/docs/hub/spaces-overview