Semantic Mapping
La mappatura semantica crea una mappa che registra cosa si trova in ogni posizione, come strade, pareti, porte o persone, fondendo nel tempo segmentazione, profondità e posa.
La mappatura semantica consiste nel creare una mappa spaziale di un ambiente in cui ogni posizione, oltre alla geometria, è associata a un significato, cioè un’etichetta di classe come strada, marciapiede, muro, porta, sedia o persona. Una mappa geometrica indica a un robot dove si trovano le superfici; una mappa semantica gli dice anche cosa sono, così può seguire una richiesta come «vai al tavolo della cucina», evitare il prato o aspettarsi pedoni vicino a un attraversamento. Le mappe semantiche combinano la segmentazione semantica o il rilevamento di oggetti con la stima della profondità e la localizzazione, e sono una componente fondamentale della percezione per la robotica, i veicoli autonomi e l’informatica spaziale.
Come funziona la mappatura semantica#
Ogni nuovo fotogramma della telecamera attraversa tre fasi. Un modello di segmentazione assegna a ogni pixel una classe. La profondità ottenuta da LiDAR, da una telecamera stereo o RGB-D oppure dalla stima monoculare della profondità trasforma i pixel etichettati in punti 3D; la posa del robot, stimata con SLAM visivo o odometria, colloca poi quei punti nelle celle di una mappa condivisa. Infine, la fusione dei sensori nel tempo integra le nuove etichette con tutte quelle accumulate finora da ciascuna cella; gli oggetti in movimento vengono gestiti separatamente, così una persona di passaggio non diventa un muro permanente.
I modelli di segmentazione semantica Ultralytics YOLO26, preaddestrati su Cityscapes, assegnano a ogni pixel una delle 19 classi urbane, tra cui strada, marciapiede, edificio, vegetazione, persona e automobile: sono l’input di ogni fotogramma che una mappa semantica a livello stradale integra.
La fusione trasforma le previsioni rumorose dei singoli fotogrammi in una mappa affidabile. Nel 2017, SemanticFusion, sviluppato da John McCormac e colleghi dell’Imperial College London, manteneva una distribuzione di probabilità sulle classi per ogni elemento della superficie e integrava ogni nuova previsione della rete tramite un aggiornamento bayesiano ricorsivo. Questa simulazione applica lo stesso aggiornamento a una mappa di 1.000 celle osservata da un modello di segmentazione corretto nel 70% dei casi:
import numpy as np
rng = np.random.default_rng(0)
num_cells, num_classes = 1000, 4 # map cells; classes such as road, sidewalk, building, vegetation
truth = rng.integers(0, num_classes, num_cells)
# Sensor model: segmentation labels a cell correctly 70% of the time, otherwise picks another class
likelihood = np.full((num_classes, num_classes), 0.1)
np.fill_diagonal(likelihood, 0.7)
log_belief = np.zeros((num_cells, num_classes)) # uniform prior in every cell
for frame in range(1, 11):
# A new frame observes every cell from a new viewpoint, with independent errors
wrong = rng.random(num_cells) > 0.7
labels = np.where(wrong, (truth + rng.integers(1, num_classes, num_cells)) % num_classes, truth)
# Recursive Bayesian update: add the log-likelihood of this observation to each cell's belief
log_belief += np.log(likelihood[labels])
if frame in (1, 3, 10):
print(f"Frame {frame:>2}: {(log_belief.argmax(axis=1) == truth).mean():.1%} of cells correct")Dopo un fotogramma la mappa è corretta al 69,6%, dopo tre all’80,6% e dopo dieci al 98,2%. Il miglioramento dipende dal fatto che gli errori cambino tra un’osservazione e l’altra: la fusione è quindi più utile quando il robot vede ogni luogo da punti di vista diversi, mentre un errore ripetuto dal modello da ogni angolazione resta nella mappa. SemanticFusion ha riportato lo stesso andamento, con un miglioramento maggiore rispetto alle etichette di un singolo fotogramma in un dataset con più variazioni dei punti di vista.
Rappresentazioni delle mappe e concetti correlati#
Le mappe semantiche spaziano dalle griglie 2D, in cui ogni cella di una mappa di occupazione memorizza anche una classe, alle nuvole di punti 3D etichettate, ai voxel e alle mesh. Kimera del MIT crea in tempo reale una mesh 3D metrico-semantica, mentre i grafi di scena 3D organizzano le stesse informazioni in oggetti, stanze ed edifici collegati da relazioni. Le mappe a vocabolario aperto memorizzano gli embedding CLIP invece di classi fisse, così un robot può cercare nella mappa qualsiasi testo, per esempio «estintore».
La mappatura semantica si basa su diverse attività correlate. Lo SLAM visivo fornisce le pose della telecamera e la mappa geometrica. La mappatura dell’occupazione registra soltanto se lo spazio è libero, occupato o sconosciuto. La segmentazione delle istanze e la segmentazione panottica distinguono i singoli oggetti, necessari alle mappe a livello di oggetto per contare le sedie o tracciare le automobili parcheggiate. La ricerca semantica è una tecnica di recupero non correlata che condivide soltanto il termine.
Applicazioni nel mondo reale#
- Guida autonoma: le mappe ad alta definizione registrano corsie, attraversamenti pedonali, semafori e cordoli con precisione centimetrica; la mappatura semantica online crea una mappa degli stessi elementi vista dall’alto usando i sensori del veicolo.
- Robot mobili: lo stack di navigazione ROS 2, Nav2, offre un livello di costmap con segmentazione semantica che assegna un costo di attraversamento a ciascuna classe, permettendo al robot di pianificare percorsi sulle superfici preferite.
- Agricoltura: robot agricoli e droni mappano filari di colture ed erbacce per effettuare irrorazioni mirate e stimare i raccolti.
- Realtà aumentata: ARKit di Apple classifica ogni faccia della mesh ricostruita di una stanza come muro, pavimento, soffitto, tavolo, seduta, finestra, porta o nessuna di queste.










