Saltar al contenido
AI Segmentation
QGIS
Tutorial

Detectar edificios en QGIS: 3 métodos

Publicado el Actualizado el

Para detectar huellas de edificios en QGIS tienes tres vías: descargar un conjunto de datos abierto, ejecutar un plugin de detección con IA sobre tus propias imágenes o digitalizar a mano. La rápida es la segunda. Instala el plugin desde el plugin manager, carga tus imágenes, dibuja una zona, escribe buildings, pulsa Detect y un layer de polígonos aparece en el CRS de tu proyecto.

El filtrado es la segunda mitad del trabajo. Gran parte de lo que vuelve no es un edificio, así que recorta el resultado bruto por confianza y área. Pasé una vez sobre el centro de París, obtuve 635 polígonos, y decidir cuáles 82 conservar tomó más tiempo que la propia detección.

0:00 / 0:00
One zone, one word, 848 buildings. Real run, sped up 3x, nothing cut.
Tu entradaMétodoTiempo
Una zona que OpenStreetMap, Microsoft o Google ya cubrenMétodo 1: descargar huellas abiertasMinutos
Cientos a miles de edificios, sobre las imágenes exactas que te entregaronMétodo 2: detección automática (la nuestra, en la nube)848 edificios en 57 segundos, luego el filtrado
Menos de cincuenta edificios, o un centro histórico donde necesitas un polígono por direcciónMétodo 3: digitalizar a manoLo que tardes tú

Datos abiertos primero, siempre. Solo pasas a otra cosa cuando la cobertura tiene huecos, la fecha es incorrecta o las huellas tienen que coincidir con la ortofoto concreta que te entregó un cliente.

Método 1: descargar huellas abiertas

Necesitas QGIS 3.22 o posterior, un layer de imágenes de confianza y conexión a internet para el método 2. Sin tarjeta gráfica dedicada, en ninguno de los tres.

Para muchos trabajos no necesitas detectar nada. Tres conjuntos de datos abiertos cubren entre ellos la mayor parte del planeta, y sobre un mismo barrio pueden discrepar en miles de edificios.

Pick the dataset for your area

OpenStreetMap es excelente donde hay mapeadores activos, y los edificios llevan atributos. Microsoft Global ML Building Footprints contiene más de mil millones de edificios extraídos por máquina y es más fuerte en Norteamérica. Google Open Buildings cubre el Sur Global, donde OSM es más débil.

Load one against your imagery

Carga OSM con QuickOSM.

Zoom in and look at the edges

Esa sola mirada decide si te quedas aquí o sigues leyendo.

Three panels of the same dense Luanda neighbourhood on Google Satellite imagery, with building footprints in green. OpenStreetMap shows none, Microsoft covers most, Google Open Buildings covers nearly all.
The same 1 km² of Luanda, on Google Satellite imagery. OpenStreetMap maps no buildings here, Microsoft finds 3,140, Google Open Buildings 4,468. Over a dense African neighbourhood the dataset you reach for decides whether you get everything or nothing.

Úsalo cuando: la zona ya está bien mapeada y puedes vivir con la fecha y la licencia del conjunto de datos.

Sáltalo cuando: la cobertura tiene huecos, la fecha es incorrecta o las huellas tienen que alinearse con una ortofoto concreta.

Método 2: detección automática

Una huella de edificio es el contorno de un edificio donde toca el suelo, como un polígono plano. No el tejado, no la parcela, no el punto de dirección. Importa aquí, porque las imágenes verticales te dan el tejado: en un bloque haussmanniano de cinco plantas captado casi en nadir el desplazamiento es pequeño, en una torre no. Conviene saberlo antes de prometer a nadie un layer de huellas, y tienes una versión más larga en qué es una huella de edificio.

Un modelo de detección automática lee tus imágenes y devuelve contornos de edificios como polígonos, cada uno con una puntuación de confianza. Construimos uno de ellos, AI Segmentation. Esta sección trata de nuestra propia herramienta.

Se instala desde el plugin manager como cualquier otro: sin descarga manual, sin entorno Python, sin tarjeta gráfica dedicada, porque el modelo corre en nuestros servidores. Windows, macOS y Linux.

Dense Parisian city blocks before and after automatic building detection (after)
Dense Parisian city blocks before and after automatic building detection (before)
ImageryDetected
Arrastra para comparar
One automatic pass over central Paris, on Google Satellite imagery. Every polygon gets its own colour so neighbours stay separate. Drag the handle to compare.

Install it and pick your imagery layer

Plugin manager, instala, abre el panel, elige el raster que quieres leer.

The AI Segmentation panel in QGIS with the Semi-Auto and Automatic switch
Automatic mode: pick the imagery layer, draw a zone, name the object.

Draw a zone and name the object

Dibuja una zona, escribe buildings, pulsa Detect. Ese es todo el prompt, en tu propio idioma si prefieres. Los resultados llegan mosaico a mosaico como un layer de polígonos en el CRS del proyecto.

Set the precision when the objects are small

El único ajuste que vale la pena aprender es precision, que es el tamaño de mosaico. Los mosaicos pequeños dan al modelo una vista cercana, que los objetos pequeños necesitan. Los grandes le dan contexto, que una parcela agrícola necesita.

Filter what came back

El panel te guía en tres pasos antes de que nada se convierta en layer: filtra lo que vas a Keep, Correct lo que el modelo pasó por alto y elige las Shapes de salida. El primero es donde se gana el trabajo, y tiene su propia sección más abajo.

Clean the geometry

Simplify, orthogonalize and delete holes, en ese orden, y solo donde cada uno se lo gane. Las tres herramientas y la razón del orden están más abajo.

Una ejecución cuenta el terreno que cubre. Cada cuenta recibe una asignación gratuita cada mes, sin tarjeta, y Pro la aumenta. La detección corre en servidores europeos, no entrenamos con tus imágenes, y hay un pequeño modelo local si nada puede salir de tu máquina. La guía completa cubre Keep, Correct y Shapes en detalle.

Filtrar es todo el trabajo

La salida bruta de detección es un conjunto de polígonos candidatos con puntuaciones de confianza. Sobre imágenes densas la mayoría son pequeños e inciertos. Exporté esta pasada de París con ambos filtros bien abiertos, así que cada candidato terminó en el layer: 635 polígonos sobre 1,18 km².

1 m²101001 00010 000 m²50 m²
Every one of the 635 detections, binned by area on a log scale. Two humps: noise under 5 m², real buildings above 160 m². The 50 m² line falls in the valley between them, which is why it is not an arbitrary number. Median 3.2 m², largest 13,528 m², median confidence 0.26.

La mitad de lo que volvió es más pequeña que una plaza de aparcamiento: respiraderos, claraboyas, casetones de escalera, cobertizos de patio. Cosas reales en las imágenes, bien delineadas, y no lo que nadie entiende por huella de edificio.

Así que filtra. Mueve los dos deslizadores en el panel, o haz el mismo trabajo desde la tabla de atributos con Select by Expression:

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

Quedan 82 polígonos de 635, que cubren 222.338 m² de los 263.658 m² totales. En lugar de creerme los umbrales, muévelos tú mismo. El verde sobrevive a tu filtro, el blanco no.

Aerial imagery of dense Parisian blocks with detected building polygons drawn over it

82 / 635polygons kept (13%)

84%of the built area (222,338 m²)

The same 635 detections the attribute table holds. Drop the confidence to zero and the courtyard sheds and skylights come back.

Mira el segundo número mientras arrastras el primero. Desechar el 87 % de los polígonos cuesta el 16 % del área, y el resto es ruido que habrías borrado a mano de todos modos, uno por uno, mientras dudabas de si la herramienta servía.

Ajusta ambos al trabajo. Un inventario de naves industriales puede subir el suelo de área a 200 m². Al mapear asentamientos informales, 50 m² desecha casas reales, así que baja a 15 y apóyate en la puntuación de confianza.

Cómo se ve un resultado limpio

París es un caso difícil. La misma herramienta sobre vivienda unifamiliar a unos 10 km al oeste:

Detached and semi-detached houses in a Paris suburb, each house filled with its own colour
Detached housing, review filter on. One polygon per house, almost nothing to throw away.

85m²

median polygon area

Paris run: 3.2 m²

0.79

median confidence

Paris run: 0.26

251polygons

kept, out of 251 returned

Paris run: 82 out of 635

Misma herramienta, misma ciudad, nada que desechar. Lo que cambió es el tejido construido, no el modelo.

Dónde falla: manzanas densas continuas

Close view of Haussmann blocks, each block one coloured polygon following the street edge with courtyards cut out
The outline follows the street edge precisely and cuts out the courtyards. What it does not do is split the block into individual addressed buildings.

Cada polígono traza la envolvente construida de toda una manzana, pegado a la línea de calle y recortando bien los patios. Bueno para superficie construida o superficie impermeable, malo si necesitas un polígono por dirección. Ningún modelo que lea una imagen vertical puede encontrar el muro medianero entre dos edificios adosados, porque desde arriba no hay nada que ver.

Limpieza de la geometría

Tres herramientas nativas de QGIS ordenan un layer de huellas, y el orden importa porque simplify mueve los vértices que acabas de escuadrar.

  1. Simplify, tolerancia de 0,5 m sobre imágenes aéreas. Recorta fuerte el número de vértices sin mover el límite donde lo notes.
  2. Orthogonalize. Encaja los ángulos casi rectos. Úsalo en datos abiertos o trabajo trazado a mano, donde nada los ha escuadrado aún.
  3. Delete holes, solo si quieres huellas sólidas. No en el resultado de París: esos huecos son patios y son correctos.

En un layer detectado el paso 2 es casi un no-op. Lo medí en lugar de suponerlo, ejecutando Orthogonalize sobre 190 edificios detectados y comparando las 1.845 esquinas antes y después.

87.9%

corners already within 1° of square

before running anything

87.9%

after Orthogonalize

the same 1,845 corners

1.7cm

median vertex shift

9.1 cm at the worst

Close view of detected building outlines on aerial imagery, corners meeting at right angles
The same detections, close in. The corners arrive square, so the cleanup step has nothing left to snap.

El 12 % que no es cuadrado son las terrazas adosadas. Mira el borde escalonado que baja por el centro de la manzana. Ninguna herramienta de esquinas lo arregla, porque esos escalones siguen una línea real de tejado y no un error de modelado.

Úsalo cuando: cientos a miles de edificios, sobre imágenes que tienes que igualar, o cuando varias personas deben producir el mismo layer de la misma forma.

Sáltalo cuando: necesitas un polígono por dirección en un centro histórico. Yo no usaría la detección automática para eso, y los datos catastrales más corrección manual ganan ahí.

Try it free in QGIS, no card needed

Método 3: digitalizar a mano

Por debajo de cincuenta edificios, dibújalos. Gratis, exacto, y yo mismo lo haría a ese tamaño.

Turn on snapping

Project -> Snapping Options, vértice y segmento, edición topológica activada. Sáltalo y pasarás la tarde borrando astillas.

Trace, and watch yourself drift

Hacia el edificio 60 empiezas a recortar esquinas que nunca habrías recortado en el 6º, y no te das cuenta. Ya está en el layer.

Úsalo cuando: por debajo de unos cincuenta edificios, o cuando necesitas un polígono por dirección en un centro histórico denso.

Sáltalo cuando: el recuento llega a cientos, o varias personas tienen que producir el mismo layer de la misma forma.

Qué recordar

Conjuntos de datos abiertosDetección automáticaDigitalización manual
CosteGratisPlan gratuito, luego de pagoGratis
ConfiguraciónMinutosMinutosNinguna
Ideal paraZonas ya bien cubiertasCientos a milesMenos de ~50 edificios
Coincide con tus imágenesNoSíSí
Consistente en equipoSíSíNo
Manzanas densas continuasVaríaSolo envolventes de manzanaSí
Procedencia declarableConjunto de datos y fechaTus imágenes, con puntuación de confianzaTú

Revisa primero los conjuntos de datos abiertos. Sobre un mismo barrio discrepan en miles de edificios, así que una mirada a sus bordes contra tus imágenes decide si sigues.

Las huellas que tienen que alinearse con la ortofoto de un cliente descartan los conjuntos de datos abiertos, sea cual sea su cobertura.

Filtrar una detección es la mayor parte del trabajo: 82 polígonos de 635 sobre el centro de París, con el 84 % del área construida.

Una imagen vertical no puede darte un polígono por dirección donde los edificios se tocan, a ningún precio. Une mejor a datos catastrales.

Pasados unos cincuenta edificios, la digitalización manual deriva sin avisarte.

Preguntas frecuentes

¿Funciona con imágenes de dron?

Mejor que con satélite. La resolución de suelo importa más que la fuente: una ortofoto de 5 cm da límites más limpios y mayor confianza que una escena satelital de 30 cm.

¿Necesito una GPU?

No. Ambos modos corren en nuestros servidores por defecto, y el pequeño modelo local corre en tu propia CPU, más lento y menos preciso. Si quieres que todo quede en tu máquina, Geo-SAM y samgeo son gratuitos y buenos, y sí quieren una tarjeta NVIDIA.

¿Cuánto cuesta una ejecución?

Automatic cuenta el terreno que cubre tu zona, y Cloud AI cuenta un objeto por guardado. Semi-Auto en tu propia máquina es gratis. Cada cuenta recibe una asignación gratuita cada mes.

¿Puedo obtener un polígono por dirección?

No desde una imagen vertical, en un centro donde los edificios se tocan. El modelo devuelve la envolvente construida de toda la manzana, con patios recortados, que sirve para área construida y no para direcciones. Une mejor a datos catastrales.

¿Con qué conjunto de datos abiertos empiezo?

OpenStreetMap, si tu zona tiene mapeadores activos. Donde no, la brecha es total: sobre ese 1 km² de Luanda OSM no mapea ningún edificio, mientras Microsoft encuentra 3.140 y Google Open Buildings 4.468.

Para la brecha tejado-suelo completa, lee qué es una huella de edificio. Para el caso de raster clasificado, donde polygonize supera a cualquier modelo, lee raster a vector en QGIS. El hub de IA de QGIS lista el resto de lo que construimos.

Try it free in QGIS, no card needed