Novità: AITracer non è più sperimentale
Aggiornamento di ottobre 2026 — versione 0.3.0. Questo articolo, pubblicato in aprile 2026 per presentare il plugin, è stato aggiornato per raccontarne l’evoluzione. In cima trovate le novità; il resto del testo descrive il funzionamento del plugin nella sua versione attuale.
Dalla prima presentazione, AITracer ha fatto molta strada:
- Non è più un plugin sperimentale. Dalla versione 0.2.0 il flag sperimentale è stato rimosso e il plugin è una versione stabile. È disponibile nel repository ufficiale dei plugin di QGIS: basta cercarlo in Plugin → Gestisci e installa plugin, senza dover più abilitare i plugin sperimentali. Anche l’interesse della comunità è cresciuto: al momento in cui scriviamo il plugin ha superato i 1.500 download dal repository ufficiale, contro i 6 della prima presentazione.
- Collaudato sul campo. AITracer è stato usato intensamente durante la campagna di scavo 2026 della Missione Archeologica della Sapienza a Çuka e Ajtoit e, al rientro, in laboratorio per la documentazione. L’uso quotidiano, su dati reali e con tempi stretti, ha orientato direttamente le modifiche elencate qui sotto. Il tempo risparmiato non è quantificabile in termini assoluti, ma l’effetto è stato netto: AITracer ci ha fatto cambiare la scala della documentazione raccolta, rendendo praticabile digitalizzare in dettaglio ciò che prima si sarebbe documentato in modo molto più sommario.
- Scelta del modello. Dal pannello si può scegliere fra SAM2.1 Tiny (predefinito, il più veloce), Base+ (contorni più puliti con poco costo in più) e Large (il più accurato, per i casi difficili). I modelli più grandi vengono scaricati, dopo conferma, solo alla prima selezione; il download avviene in streaming su disco, con avanzamento reale e pulsante Annulla. La scelta è memorizzata fra una sessione e l’altra.
- Semplificazione in pixel dello schermo. Il cursore Douglas-Peucker ora lavora in pixel (da 0 a 6, predefinito 2,8), con passi più fini e il conteggio dei vertici in tempo reale. Il suo effetto è lo stesso a qualsiasi zoom e in qualsiasi sistema di riferimento, e il valore viene ricordato.
- Modifica dell’ultimo poligono. Un clic sul pulsante ✎ Modifica ultimo poligono (o il tasto E) seleziona il poligono appena accettato e passa allo strumento Vertici di QGIS per correggerlo.
- Pausa e ripresa. Se si seleziona un altro strumento di QGIS (Vertici, Identifica, Sposta…), AITracer va in pausa invece di restare fuori sincrono; ▶ Riprendi riparte con lo stesso modello, lo stesso layer di destinazione e gli stessi valori dei campi.
- Valori dei campi predefiniti. Scegliendo un layer di destinazione esistente, un pannello permette di preimpostare gli attributi (con i widget configurati nel layer) che verranno applicati a tutti i poligoni accettati: comodo per digitalizzare serie di elementi con gli stessi attributi, per esempio la stessa unità stratigrafica o lo stesso materiale.
- Maschere più stabili. Il raffinamento riutilizza la maschera precedente come punto di partenza, per cui i clic successivi modificano il risultato in modo molto più contenuto.
- Pesi dei modelli al sicuro. I file dei modelli sono conservati in
~/.aitracer/weights/e sopravvivono alla reinstallazione del plugin. - Compatibilità e qualità del codice. Corretti i problemi con Qt6 e con l’installazione su Windows e superati i controlli di qualità del repository ufficiale di QGIS.
Il pannello aggiornato: il menu Modello con Tiny, Base+ e Large, il cursore di semplificazione in pixel e il pannello dei valori dei campi.
Dopo il tasto E il poligono appena accettato è selezionato (in giallo) e lo strumento Vertici di QGIS è attivo; AITracer è in pausa e ▶ Riprendi riporta al tracciamento.
Il pannello Valori dei campi con i widget configurati nel layer (qui una lista di valori per il campo «material»): il valore scelto viene applicato a tutti i poligoni accettati.
L’elenco completo delle modifiche, versione per versione, è nel changelog del plugin e nelle release su GitHub.
Presentazione
Il resto dell’articolo è il testo di presentazione originale, aggiornato dove necessario.
Siamo lieti di presentare AITracer by LAD, un plugin per QGIS 4 che porta l’intelligenza artificiale direttamente nel flusso di lavoro della digitalizzazione raster in archeologia. Sviluppato dal Laboratorio di Archeologia Digitale (LAD) della Sapienza, AITracer consente di vettorializzare qualsiasi feature visibile su un layer raster georiferito — fotografie aeree, ortofoto da drone, planimetrie scansionate, rilievi fotogrammetrici — con un semplice clic del mouse.
Il plugin è rilasciato con licenza GNU GPL 3, è disponibile nel repository ufficiale dei plugin di QGIS e su GitHub:
🔗 https://github.com/lad-sapienza/ai-tracer
Il problema: la digitalizzazione manuale è lenta
Chi lavora quotidianamente con dati raster in ambito archeologico conosce bene il tempo che richiede la vettorializzazione manuale: tracciare a mano i contorni di strutture murarie, buche di palo, tagli stratigrafici o aree di frammenti ceramici su un’ortofoto ad alta risoluzione è un’operazione precisa ma estremamente laboriosa. I risultati dipendono molto dall’esperienza e dalla concentrazione dell’operatore, e i tempi si moltiplicano rapidamente quando le geometrie da digitalizzare sono decine o centinaia.
AITracer non elimina il giudizio dell’archeologo — che rimane sempre l’interprete — ma accelera radicalmente la fase meccanica del tracciamento, lasciando all’operatore il controllo pieno sul risultato.
Come funziona: SAM2 al servizio dell’archeologia
AITracer si basa su SAM2 (Segment Anything Model 2), il modello di segmentazione di immagini sviluppato da Meta FAIR e rilasciato open source. SAM2 è in grado di identificare e delimitare oggetti all’interno di un’immagine a partire da semplici indicazioni puntuali — i cosiddetti prompt — senza essere stato addestrato specificamente su immagini archeologiche.
Il flusso di lavoro è il seguente:
- Si carica un layer raster georiferito in QGIS e si imposta lo zoom sull’area di interesse.
- Si attiva il plugin tramite il pannello AITracer by LAD e si clicca sull’oggetto da digitalizzare.
- SAM2 analizza la porzione di canvas visibile e restituisce in pochi istanti il contorno della feature, visualizzato come poligono di anteprima verde direttamente sulla mappa.
- Si accetta il poligono (tasto Invio) oppure si affina il risultato con clic aggiuntivi prima di accettarlo.
Il modello viene eseguito localmente, sul proprio computer, senza inviare alcun dato a servizi esterni.
Il pannello di controllo
Una volta installato, il plugin aggiunge un pannello laterale alla finestra di QGIS.
Il pannello AITracer by LAD con il pulsante di attivazione, il cursore di semplificazione, i pulsanti Accetta e Annulla e i collegamenti a GitHub e alla documentazione.
Prompt positivi e negativi
Il cuore del sistema è l’interazione iterativa con il modello tramite prompt:
- Clic sinistro — prompt positivo: indica al modello un punto che deve essere incluso nel poligono.
- Clic destro — prompt negativo: indica un punto da escludere, utile per affinare il contorno quando il modello include aree non desiderate.
Ogni clic aggiuntivo raffina la segmentazione senza ricalcolare l’intera analisi dell’immagine, grazie a una cache della codifica dell’immagine che il backend mantiene per tutta la durata della sessione.
Dopo il primo clic sinistro sull’ortofoto, SAM2 restituisce quasi immediatamente un’anteprima del poligono (in verde) sovrapposta al layer raster.
Aggiunta di prompt negativi (clic destro) per escludere aree adiacenti erroneamente incluse nella segmentazione iniziale. Il poligono di anteprima si aggiorna in tempo reale.
Semplificazione geometrica in tempo reale
Le maschere prodotte da SAM2 possono contenere un numero molto elevato di vertici. AITracer integra un cursore di semplificazione Douglas-Peucker che permette di controllare la densità dei vertici del poligono finale prima di accettarlo, espresso in pixel dello schermo, con un range da 0 (nessuna semplificazione) a 6 px e un valore predefinito di 2,8 px. Il conteggio dei vertici si aggiorna in tempo reale. Essendo in pixel, l’effetto è lo stesso a qualsiasi zoom e in qualsiasi sistema di riferimento.
Semplificazione a 0 px: 716 vertici, contorno aderente ma frastagliato.
Semplificazione a 6 px: 25 vertici, contorno più netto e forma ancora fedele. Il conteggio dei vertici accanto al cursore si aggiorna in tempo reale.
Annulla l’ultimo punto
Se un clic è stato piazzato nel punto sbagliato, non è necessario annullare l’intera sessione. Il tasto Ctrl+Z rimuove l’ultimo punto inserito — positivo o negativo — e ricalcola immediatamente la segmentazione con i punti rimanenti. È possibile tornare indietro quanto si vuole, fino ad azzerare tutti i prompt.
Accettare e salvare
Una volta soddisfatti del contorno, si preme Invio (o il pulsante Accetta nel pannello). Il poligono viene automaticamente aggiunto a un layer temporaneo in memoria chiamato AITracer, creato dal plugin con stile arancione semitrasparente. Il layer è completamente integrabile con il progetto QGIS e può essere esportato in qualsiasi formato vettoriale.
La feature accettata appare nel layer AITracer (in arancione semitrasparente) sovrapposto al layer raster di partenza. È possibile continuare a digitalizzare nuove feature senza interruzioni.
Scegliere il layer di destinazione
Di default, i poligoni accettati vengono inseriti in un layer temporaneo in memoria chiamato AITracer. Dal pannello è però possibile scegliere qualsiasi layer vettoriale poligonale già presente nel progetto come destinazione, tramite un menù a tendina che si aggiorna automaticamente. Alla prima accettazione, il menù viene impostato sul layer AITracer appena creato, così i clic successivi vi confluiscono senza dover selezionare nulla.
Ogni feature accettata registra automaticamente tre attributi:
| Campo | Contenuto |
|---|---|
fid | Identificativo progressivo automatico |
timestamp | Data e ora di accettazione (ISO 8601) |
raster | Nome del layer raster sorgente |
La tabella degli attributi del layer AITracer con i campi fid, timestamp e raster compilati automaticamente per ciascuna feature accettata.
Prima installazione: tutto automatico
Il plugin gestisce autonomamente la propria infrastruttura computazionale. Al primo avvio:
- crea un ambiente virtuale Python in
~/.aitracer/venv; - installa le dipendenze necessarie (FastAPI, PyTorch, SAM2, OpenCV);
- scarica i pesi del modello SAM2-tiny (~40 MB).
Un dialogo di avanzamento informa l’utente in ogni fase. Le attivazioni successive richiedono pochi secondi.
Installazione del plugin
AITracer è disponibile sul repository ufficiale dei plugin di QGIS: plugins.qgis.org/plugins/aitracer. Questo rende l’installazione e l’aggiornamento del plugin estremamente semplici, con due modalità a disposizione.
Metodo 1 (consigliato): direttamente da QGIS
- In QGIS, aprire Plugin → Gestisci e installa plugin.
- Nella scheda Tutti, cercare AITracer e cliccare Installa plugin. (Dalla versione 0.2.0 il plugin non è più sperimentale: non serve più abilitare i plugin sperimentali nelle Impostazioni.)
Con questo metodo, QGIS notificherà automaticamente la disponibilità di nuove versioni.
Metodo 2: download manuale dal repository
In alternativa, è possibile scaricare il pacchetto ZIP direttamente da plugins.qgis.org/plugins/aitracer tramite browser web e installarlo in QGIS con Plugin → Gestisci e installa plugin → Installa da ZIP.
Metodo 3: dalle release su GitHub
Per chi vuole testare versioni specifiche o pre-release, i pacchetti aitracer-vX.Y.Z.zip sono sempre disponibili anche dalla pagina delle Release su GitHub.
È richiesto QGIS 4.0. Il runtime Python necessario viene scaricato e installato automaticamente dal plugin al primo avvio tramite python-build-standalone: non è richiesta alcuna installazione manuale di Python.
La pagina di AITracer sul repository ufficiale dei plugin di QGIS.
Il gestore dei plugin di QGIS con AITracer installato: la scheda mostra oltre 1.500 download dal repository ufficiale.
Note importanti sull’uso: AITracer non legge i file raster, ma cattura lo schermo
AITracer usa lo schermo, non il file raster: ecco perché è importante saperlo
AITracer cattura uno screenshot della canvas di QGIS nel momento in cui si fa clic. Non legge i dati raster originali. Si tratta di una scelta progettuale precisa: mantiene il consumo di memoria basso e la segmentazione rapida anche su hardware modesto. IN questo modo nessun file da diversi gigabyte deve essere decodificato o caricato in RAM.
Questa scelta ha tre conseguenze pratiche che è importante conoscere prima di iniziare a digitalizzare:
- La risoluzione dipende dal livello di zoom. Se si è molto distanziati, ogni pixel dello schermo rappresenta un’area geografica ampia e i bordi del poligono risulteranno approssimativi. Ingrandire fino a far riempire il feature alla maggior parte della canvas permette di ottenere il risultato più preciso.
- Il feature deve essere completamente visibile. Qualsiasi parte di un oggetto che si estende oltre il bordo del canvas è semplicemente assente dallo screenshot. Se un muro, un confine di parcella o qualsiasi altra forma esce dallo schermo, solo la porzione visibile verrà inclusa nel poligono. Prima di fare clic, spostare e ingrandire la vista in modo che l’intero feature sia visibile.
- La canvas si blocca durante la sessione: questo è una scelta voluta. Dopo il primo clic, l’estensione del canvas viene congelata fino all’accettazione o all’annullamento. Spostare o ingrandire la vista durante la sessione invaliderebbe la corrispondenza tra coordinate pixel e coordinate geografiche, producendo geometrie errate. Il blocco viene rimosso nel momento in cui si preme Invio o Esc.
Suggerimento pratico: prima di attivare lo strumento, ingrandire la vista sul feature da digitalizzare lasciando un piccolo margine intorno, e assicurarsi che il raster di interesse sia l’unico layer visibile. Quindi attivare, fare clic, raffinare e accettare.
Una nota sul metodo: pair programming con l’IA
Questo plugin nasce anche come esperimento metodologico. L’intero processo di progettazione e sviluppo — dall’architettura del sistema alle singole funzioni Python, dalla gestione del backend alla UI del pannello — è stato condotto in stretta collaborazione con Claude di Anthropic, un assistente basato su modelli linguistici di grandi dimensioni.
Il risultato è un codice funzionante e collaudato sul campo, nello scavo di Çuka e Ajtoit e nel lavoro di laboratorio successivo, ma soprattutto una riflessione concreta su come l’IA generativa possa affiancare — non sostituire — il ricercatore nella produzione di strumenti digitali per la ricerca umanistica. Il controllo progettuale, le scelte interpretative e la verifica dei risultati sono rimasti sempre in capo al ricercatore umano.
Provalo e contribuisci
AITracer è in sviluppo attivo. Ogni test sul campo, ogni segnalazione di problemi e ogni suggerimento è prezioso per migliorarlo. Aspettiamo suggerimenti, segnalazioni di malfunzionamenti, idee di sviluppo e casi di studio, e potete inviarli come preferite: aprendo una issue sul repository GitHub, scrivendo una email o contattando Julian Bogdani su Bluesky o su X.
- 📦 Codice sorgente e release: github.com/lad-sapienza/ai-tracer
- 🐛 Segnala un problema: github.com/lad-sapienza/ai-tracer/issues
- 📖 Approfondisci: lad.saras.uniroma1.it/blog/ai-tracer
- ✉️ Contatti: julian.bogdani@uniroma1.it
- 🦋 Bluesky: @jbogdani.bsky.social
- 𝕏 X: @JulianBogdani


