LISA integrato in SamGIS

RMAG news

LISA integrato in SamGIS

La segmentazione d’immagine è un compito cruciale nella visione artificiale, dove l’obiettivo di fare “instance segmentation” di un dato oggetto. Ho già lavorato ad un progetto, SamGIS, a riguardo. Un passo logico successivo sarebbe integrare la capacità di riconoscere gli oggetti attraverso prompt testuali. Quest’attività apparentemente semplice in effetti comporta però delle differenze rispetto a quanto fatto in SamGIS che utilizza Segment Anything (il backend di machine learning usato da SamGIS). Mentre infatti “SAM” non categorizza ciò che identifica, partire da un prompt scritto necessita della conoscenza di quali classi di oggetti esistano nell’immagine in analisi. Un modello di linguaggio visivo (o VLM) che funziona bene per questo compito è LISA. Gli autori di LISA hanno basato il loro lavoro su Segment Anything e Llava, un LLM con capacità multimodali (può elaborare sia istruzioni di testo che immagini). Sfruttando le capacità di “segmentazione ragionata” di LISA, SamGIS può eseguire analisi di tipo “zero-shot”, ovvero senza addestramento pregresso specifico e specialistico in ambito geologico, geomorfologico o fotogrammetrico.

Prompts testuali d’input e relativi geojson di output

Non riesco a mostrare qui su dev.to questa parte, quindi rimando alla pagina dedicata sul mio blog.

Durata dei task di segmentazione

Al momento, un prompt che richieda anche la spiegazione di quanto identificato nell’immagine rallenta notevolmente l’analisi. Lo stesso prompt d’analisi eseguito sulla stessa immagine però senza richieste di spiegazione viene elaborato molto più velocemente. I test contenenti richieste di spiegazioni vengono eseguiti in più di 60 secondi mentre senza la durata è intorno o inferiore a 4 secondi, utilizzando il profilo hardware HuggingFace “Nvidia T4 Small” con 4 vCPU, 15 GB RAM e 16 GB VRAM.

Architettura software

Dal punto di vista tecnico e architetturale, la demo consiste di un frontend simile a quello sulla demo di SamGIS. Niente barra degli strumenti per disegnare, sostituita dalla casella di testo per le richieste in linguaggio naturale. Il backend utilizza un’API basata su FastAPI e che invoca una funzione ad hoc basata su LISA.

Ho dovuto mettere in pausa la demo a causa del costo della GPU, ma sto richiedendo l’uso di una GPU gratuita da HuggingFace. Non esitate a contattarmi su LinkedIn per una dimostrazione dal vivo, chiedere maggiori informazioni o ulteriori chiarimenti.