Semantic Mapping
O mapeamento semântico cria um mapa que regista o que existe e onde, como estradas, paredes, portas ou pessoas, através da fusão de segmentação, profundidade e pose ao longo do tempo.
O mapeamento semântico consiste em construir um mapa espacial de um ambiente em que cada localização tem um significado, ou seja, um rótulo de classe como estrada, passeio, parede, porta, cadeira ou pessoa, além da sua geometria. Um mapa geométrico indica a um robô onde estão as superfícies; um mapa semântico também lhe diz o que são, para que possa seguir um pedido como «vai até à mesa da cozinha», evitar o relvado ou prever a presença de peões perto de uma passadeira. Os mapas semânticos combinam segmentação semântica ou deteção de objetos com deteção de profundidade e localização. São uma parte essencial da perceção em robótica, veículos autónomos e computação espacial.
Como funciona o mapeamento semântico#
Cada novo fotograma da câmara passa por três etapas. Um modelo de segmentação atribui uma classe a cada píxel. A profundidade obtida por LiDAR, por uma câmara estéreo ou RGB-D, ou por estimativa monocular de profundidade, projeta os píxeis rotulados em pontos 3D. A pose do robô, estimada por SLAM visual ou odometria, posiciona esses pontos nas células de um mapa partilhado. Por fim, a fusão de sensores ao longo do tempo combina os novos rótulos com tudo o que cada célula acumulou até então, e os objetos em movimento são tratados à parte para que uma pessoa a passar não se torne numa parede permanente.
Os modelos de segmentação semântica Ultralytics YOLO26, pré-treinados no Cityscapes, atribuem a cada píxel uma de 19 classes urbanas, incluindo estrada, passeio, edifício, vegetação, pessoa e automóvel: os dados de entrada por fotograma que um mapa semântico ao nível da rua combina.
A fusão transforma as previsões ruidosas de cada fotograma num mapa fiável. O SemanticFusion, criado em 2017 por John McCormac e colegas do Imperial College London, mantinha uma distribuição de probabilidades sobre as classes para cada elemento da superfície e multiplicava-a por cada nova previsão da rede, numa atualização bayesiana recursiva. Esta simulação aplica a mesma atualização a um mapa de 1 000 células observadas por um modelo de segmentação que acerta 70% das vezes:
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")O mapa está correto em 69,6% após um fotograma, 80,6% após três e 98,2% após dez. O ganho depende de os erros mudarem entre observações, pelo que a fusão é mais útil quando o robô vê cada local de vários ângulos, enquanto um erro que o modelo repete de todos os ângulos permanece no mapa. O SemanticFusion observou o mesmo padrão, com uma melhoria maior em relação aos rótulos de um único fotograma num conjunto de dados com maior variação de pontos de vista.
Representações de mapas e conceitos relacionados#
Os mapas semânticos vão desde grelhas 2D, em que cada célula de um mapa de ocupação também armazena uma classe, até nuvens de pontos 3D rotuladas, voxels e malhas. O Kimera do MIT constrói em tempo real uma malha 3D métrico-semântica, e os grafos de cenas 3D organizam as mesmas informações em objetos, divisões e edifícios ligados por relações. Os mapas de vocabulário aberto armazenam incorporações CLIP em vez de classes fixas, permitindo que um robô procure no mapa qualquer texto, como «extintor».
O mapeamento semântico baseia-se em várias tarefas relacionadas. O SLAM visual fornece as poses da câmara e o mapa geométrico. O mapeamento de ocupação regista apenas se o espaço está livre, ocupado ou desconhecido. A segmentação de instâncias e a segmentação panóptica separam objetos individuais, o que os mapas ao nível do objeto precisam para contar cadeiras ou acompanhar automóveis estacionados. A pesquisa semântica é uma técnica de recuperação não relacionada que partilha apenas o termo.
Aplicações no mundo real#
- Condução autónoma: Os mapas de alta definição registam faixas de rodagem, passadeiras, semáforos e lancis com precisão ao centímetro, e o mapeamento semântico online constrói, a partir dos sensores do próprio automóvel, um mapa com vista aérea dos mesmos elementos.
- Robôs móveis: A pilha de navegação ROS 2, Nav2, disponibiliza uma camada de mapa de custos com segmentação semântica que atribui um custo de circulação a cada classe, para que um robô planeie trajetos por superfícies preferenciais.
- Agricultura: Robôs de campo e drones mapeiam culturas e ervas daninhas, linha a linha, para pulverização direcionada e estimativas de rendimento.
- Realidade aumentada: O ARKit da Apple classifica cada face da malha reconstruída de uma divisão como parede, chão, teto, mesa, assento, janela, porta ou nenhuma.










