Pular para o conteúdo
AI Segmentation
QGIS
Tutorial

Detectar footprints de edificações no QGIS: 3 métodos

Publicado em Atualizado em

Para detectar footprints de edificações no QGIS há três caminhos: baixar um dataset aberto, executar um plugin de detecção por IA sobre suas próprias imagens ou digitalizar manualmente. O mais rápido é o segundo. Instale o plugin pelo gerenciador de plugins, carregue suas imagens, desenhe uma zona, digite buildings, clique em Detect, e um layer poligonal aparece no CRS do seu projeto. Depois filtre esse resultado bruto por confiança e área, porque uma grande parte do que retorna não é uma edificação: executei uma rodada sobre o centro de Paris, obtive 635 polígonos, e decidir quais 82 manter levou mais tempo do que a detecção.

0:00 / 0:00
Uma zona, uma palavra, 848 edificações. Execução real, acelerada 3x, nada foi cortado.
Sua entradaMétodoTempo
Uma área que OpenStreetMap, Microsoft ou Google já cobremMétodo 1: baixar footprints de fontes abertasMinutos
Centenas a milhares de edificações, nas imagens exatas que você recebeuMétodo 2: detecção automática (a nossa, na nuvem)848 edificações em 57 segundos, depois a filtragem
Menos de cinquenta edificações, ou um centro histórico onde você precisa de um polígono por endereçoMétodo 3: digitalizar manualmenteO tempo que for necessário

Comece pelos dados abertos, sempre. Só avance quando a cobertura tiver lacunas, a época estiver errada ou os footprints precisarem corresponder à ortofoto específica que um cliente lhe entregou.

Método 1: Baixar footprints de fontes abertas

Você precisa do QGIS 3.22 ou mais recente, de um layer de imagens em que confie e de uma conexão com a internet para o método 2. Nenhum dos três exige uma placa gráfica dedicada.

Em muitos trabalhos, você não precisa detectar nada. Três datasets abertos cobrem grande parte do planeta entre si, e em um único bairro eles podem discordar por milhares de edificações.

Escolha o dataset para sua área

OpenStreetMap é excelente onde os mapeadores são ativos, e as edificações carregam atributos. Microsoft Global ML Building Footprints reúne mais de um bilhão de edificações extraídas por máquina e é mais forte na América do Norte. Google Open Buildings cobre o Sul Global, onde o OSM é mais escasso.

Carregue um deles sobre suas imagens

Adicione o OSM com o QuickOSM.

Aproxime o zoom e observe as bordas

Essa única observação decide se você para aqui ou continua lendo.

Três painéis do mesmo bairro denso de Luanda sobre imagens do Google Satellite, com footprints de edificações em verde. OpenStreetMap não mostra nenhuma, Microsoft cobre a maior parte, Google Open Buildings cobre quase todas.
O mesmo 1 km² de Luanda, sobre imagens do Google Satellite. OpenStreetMap não mapeia nenhuma edificação aqui, a Microsoft encontra 3.140, e o Google Open Buildings 4.468. Em um bairro africano denso, o dataset que você escolhe determina se obterá tudo ou nada.

Use quando: a área já está bem mapeada e você pode conviver com a época e a licença do dataset.

Ignore quando: a cobertura tem lacunas, a época está errada ou os footprints precisam se alinhar a uma ortofoto específica.

Método 2: Detectá-las automaticamente (a nossa, na nuvem)

Uma footprint de edificação é o contorno de uma edificação onde ela encontra o solo, como um polígono plano. Não é o telhado, não é a parcela, não é o ponto do endereço. Isso importa aqui porque as imagens verticais mostram o telhado: em um quarteirão Haussmann de cinco andares fotografado perto do nadir, o deslocamento é pequeno, mas em uma torre não é. Vale saber disso antes de prometer a alguém um layer de footprints, e há uma versão mais longa em o que é uma building footprint.

O plugin apresentado aqui é o AI Segmentation, que meu cofundador e eu desenvolvemos na TerraLab, então leia esta seção sabendo de quem é a ferramenta. Ele é instalado pelo gerenciador de plugins como qualquer outro: nenhum download manual, nenhum ambiente Python, nenhuma placa gráfica dedicada, porque o modelo roda em nossos servidores. Windows, macOS e Linux.

Quarteirões densos de Paris antes e depois da detecção automática de edificações (after)
Quarteirões densos de Paris antes e depois da detecção automática de edificações (before)
ImagensDetectado
Arraste para comparar
Uma única execução automática sobre o centro de Paris, com imagens do Google Satellite. Cada polígono recebe sua própria cor para que os vizinhos permaneçam separados. Arraste o controle para comparar.

Instale-o e escolha seu layer de imagens

Gerenciador de plugins, instale, abra o painel, escolha o raster que você quer ler.

O painel AI Segmentation no QGIS com o seletor Semi-Auto e Automatic
Modo Automatic: escolha o layer de imagens, desenhe uma zona, nomeie o objeto.

Desenhe uma zona e nomeie o objeto

Desenhe uma zona, digite buildings, clique em Detect. Esse é todo o prompt, no seu próprio idioma se preferir. Os resultados retornam tile a tile como um layer poligonal no CRS do projeto.

Defina a precisão quando os objetos forem pequenos

A única configuração que vale a pena aprender é a precisão, que corresponde ao tamanho do tile. Tiles pequenos dão ao modelo uma visão próxima, necessária para objetos pequenos. Tiles grandes dão contexto, necessário para uma parcela agrícola.

Filtre o que retornou

O painel orienta você por três etapas antes de qualquer coisa virar um layer: filtre o que deve Keep, Correct o que o modelo não detectou e escolha os Shapes de saída. A primeira é onde o trabalho é ganho, e ela tem uma seção própria abaixo.

Limpe a geometria

Simplify, Orthogonalize e Delete holes, nessa ordem, e somente quando cada uma merecer seu lugar. As três ferramentas e o motivo da ordem estão abaixo.

Uma execução contabiliza o terreno que cobre. Cada conta recebe uma franquia gratuita todos os meses, sem cartão, e Pro aumenta esse limite. A detecção roda em servidores europeus, nós não treinamos com suas imagens, e há um pequeno modelo local caso nada possa sair da sua máquina. O guia completo explica Keep, Correct e Shapes em detalhes, e a página do produto é AI Segmentation.

Filtrar é o trabalho todo

O resultado bruto da detecção é um conjunto de polígonos candidatos com pontuações de confiança. Em imagens densas, a maioria é pequena e incerta. Exportei essa execução em Paris com os dois filtros totalmente abertos, então todos os candidatos foram parar no layer: 635 polígonos em 1,18 km².

1 m²101001 00010 000 m²50 m²
Cada uma das 635 detecções, agrupadas por área em escala logarítmica. Dois picos: ruído abaixo de 5 m², edificações reais acima de 160 m². A linha de 50 m² cai no vale entre eles, por isso não é um número arbitrário. Mediana de 3,2 m², maior área de 13.528 m², confiança mediana de 0,26.

Metade do que retornou é menor que uma vaga de estacionamento: saídas de ventilação, claraboias, casas de escada, galpões de pátio. São elementos reais nas imagens, corretamente delineados, mas não são o que ninguém quer dizer quando fala em footprint de edificação.

Então filtre. Mova os dois controles deslizantes no painel ou faça o mesmo trabalho na tabela de atributos com Select by Expression:

"area_m2" >= 50 AND "score" >= 0.5

Isso deixa 82 polígonos de 635, cobrindo 222.338 m² dos 263.658 m² totais. Em vez de aceitar minha palavra sobre os limites, mova-os você mesmo. O verde sobrevive ao filtro, o branco não.

Imagens aéreas de quarteirões densos de Paris com polígonos de edificações detectados desenhados sobre elas

82 / 635polígonos mantidos (13%)

84%da área construída (222,338 m²)

As mesmas 635 detecções que a tabela de atributos contém. Reduza a confiança a zero e os galpões de pátio e as claraboias voltarão.

Observe o segundo número enquanto arrasta o primeiro. Descartar 87% dos polígonos custa 16% da área, e o restante é ruído que você teria apagado manualmente de qualquer forma, um por um, enquanto se perguntava se a ferramenta era realmente boa.

Ajuste os dois ao trabalho. Um levantamento de galpões industriais pode elevar o limite de área para 200 m². Ao mapear assentamentos informais, 50 m² descarta casas reais, então reduza para 15 e confie mais na pontuação de confiança.

Como é um resultado limpo

Paris é um caso difícil. A mesma ferramenta em casas isoladas cerca de 10 km a oeste:

Casas isoladas e geminadas em um subúrbio de Paris, cada casa preenchida com sua própria cor
Casas isoladas, com o filtro de revisão ativado. Um polígono por casa, quase nada para descartar.

85m²

área mediana do polígono

Execução em Paris: 3,2 m²

0.79

confiança mediana

Execução em Paris: 0,26

251polígonos

mantidos, de 251 retornados

Execução em Paris: 82 de 635

A mesma ferramenta, a mesma cidade, quase nada para descartar. O que mudou foi a estrutura construída, não o modelo.

Onde falha: blocos densos e contínuos

Vista aproximada de quarteirões Haussmann, cada quarteirão como um polígono colorido seguindo a borda da rua, com os pátios recortados
O contorno segue precisamente a borda da rua e recorta os pátios. O que ele não faz é dividir o quarteirão em edificações individuais com endereço.

Cada polígono traça o envelope construído de um quarteirão inteiro, acompanhando a linha da rua e recortando corretamente os pátios. É bom para área construída ou superfície impermeável, mas errado se você precisa de um polígono por endereço. Nenhum modelo que leia uma imagem vertical consegue encontrar a parede compartilhada entre duas edificações geminadas, porque, vistas de cima, não há nada ali para ver.

Limpeza da geometria

Três ferramentas nativas do QGIS organizam um layer de footprints, e a ordem importa porque Simplify move os vértices que você acabou de ajustar.

  1. Simplify, tolerância de 0,5 m sobre imagens aéreas. Reduz bastante a contagem de vértices sem mover a fronteira de forma perceptível.
  2. Orthogonalize. Ajusta ângulos próximos a 90 graus. Use-a em dados abertos ou trabalhos traçados manualmente, onde nada ainda foi ajustado.
  3. Delete holes, somente se você quiser footprints sólidos. Não no resultado de Paris: aqueles buracos são pátios e estão corretos.

Em um layer detectado, a etapa 2 é quase uma operação nula. Medi isso em vez de presumir, executando Orthogonalize sobre 190 edificações detectadas e comparando todos os 1.845 cantos antes e depois.

87.9%

cantos já dentro de 1° de um ângulo reto

antes de executar qualquer coisa

87.9%

após Orthogonalize

os mesmos 1.845 cantos

1.7cm

deslocamento mediano do vértice

9,1 cm no pior caso

Vista aproximada de contornos de edificações detectadas sobre imagens aéreas, com cantos formando ângulos retos
As mesmas detecções, em uma vista aproximada. Os cantos já chegam ajustados, então a etapa de limpeza não tem mais nada para ajustar.

Os 12% que não são retos são os terraços geminados. Observe a borda escalonada descendo pelo meio do quarteirão. Nenhuma ferramenta de ajuste de cantos corrige isso, porque esses degraus seguem uma linha real do telhado, não um erro de modelagem.

Use quando: houver centenas a milhares de edificações, em imagens que você precisa fazer corresponder, ou quando várias pessoas precisarem produzir o mesmo layer da mesma forma.

Ignore quando: você precisar de um polígono por endereço em um centro histórico. Eu não usaria a detecção automática nesse caso, e dados cadastrais com correção manual são melhores.

Experimente gratuitamente no QGIS, sem cartão

Método 3: Digitalizar manualmente

Menos de cinquenta edificações? Desenhe-as. É gratuito, exato, e eu ainda faria isso manualmente nessa escala.

Ative o snapping

Project -> Snapping Options, vértice e segmento, edição topológica ativada. Pule isso e você passará a tarde apagando slivers.

Trace e observe quando começar a desviar

Por volta da 60ª edificação, você começa a cortar cantos que nunca teria cortado na 6ª, e não percebe. Ela já está no layer.

Use quando: houver cerca de cinquenta edificações ou menos, ou quando você precisar de um polígono por endereço em um centro histórico denso.

Ignore quando: a contagem chegar às centenas ou várias pessoas precisarem produzir o mesmo layer da mesma forma.

Qual método usar

Datasets abertosDetecção automáticaDigitalização manual
CustoGratuitoPlano gratuito, depois pagoGratuito
ConfiguraçãoMinutosMinutosNenhuma
Bom paraÁreas já bem cobertasCentenas a milharesMenos de ~50 edificações
Corresponde às suas imagensNãoSimSim
Consistente entre uma equipeSimSimNão
Blocos densos e contínuosVariaApenas envelopes de quarteirõesSim
Proveniência que você pode declararDataset e épocaSuas imagens, com uma pontuação de confiançaVocê

Duas linhas resolvem a maioria dos trabalhos. Se os footprints precisam se alinhar à ortofoto de um cliente, os datasets abertos estão descartados, qualquer que seja a cobertura, e depois de cerca de cinquenta edificações a digitalização manual começa a variar sem avisar. A última linha importa quando o layer precisa se sustentar depois: um dataset aberto oferece um nome e uma época, um layer detectado oferece suas próprias imagens mais uma pontuação em cada polígono, e sua própria mão oferece você mesmo.

Perguntas frequentes

Funciona com imagens de drone?

Melhor do que com imagens de satélite. A resolução no solo importa mais do que a fonte: uma ortofoto de 5 cm oferece limites mais limpos e maior confiança do que uma cena de satélite de 30 cm.

Preciso de uma GPU?

Não. Ambos os modos rodam em nossos servidores por padrão, e o pequeno modelo local roda na sua própria CPU, mais lentamente e com menor precisão. Se quiser que tudo permaneça na sua máquina, Geo-SAM e samgeo são gratuitos e bons, e precisam de uma placa NVIDIA.

Quanto custa uma execução?

Automatic contabiliza o terreno coberto pela sua zona, e Cloud AI contabiliza um objeto por salvamento. Semi-Auto na sua própria máquina é gratuito. Cada conta recebe uma franquia gratuita todos os meses.

Posso obter um polígono por endereço?

Não a partir de uma imagem vertical, em um centro urbano onde as edificações se tocam. O modelo retorna o envelope construído de todo o quarteirão, com os pátios recortados, o que é correto para área construída e errado para endereços. Em vez disso, faça a junção com dados cadastrais.

Com qual dataset aberto devo começar?

OpenStreetMap, se sua área tiver mapeadores ativos. Onde não tiver, a diferença é evidente: naquele 1 km² de Luanda, o OSM não mapeia nenhuma edificação, enquanto a Microsoft encontra 3.140 e o Google Open Buildings 4.468.

Para entender completamente a diferença entre telhado e solo, leia o que é uma building footprint. Para o caso de raster classificado, em que polygonize supera qualquer modelo, leia raster para vetor no QGIS. O hub de IA do QGIS lista o restante do que desenvolvemos.

Experimente gratuitamente no QGIS, sem cartão