Clasificar líneas de transmisión eléctrica en nubes de puntos mediante aprendizaje profundo

Disponer de información 3D precisa sobre las líneas de transmisión eléctrica es crucial para detectar peligros potenciales, como la invasión de vegetación, así como para evaluar la estabilidad estructural de las líneas eléctricas. Las técnicas LIDAR permiten la adquisición rápida, precisa y rentable de líneas eléctricas como nubes de puntos 3D, lo que la convierte en una tecnología clave para obtener esta información.

Sin embargo, extraer puntos de líneas eléctricas de las nubes de puntos LIDAR sigue suponiendo un reto, especialmente cuando hay árboles u otros objetos muy cerca. Los enfoques tradicionales suelen basarse en algoritmos basados ​​en reglas y en la edición manual, lo que puede consumir mucho tiempo y ser propenso a errores en entornos complejos. El aprendizaje profundo ofrece una alternativa poderosa al entrenar modelos para aprender y reconocer patrones a partir de los datos, lo que permite una clasificación más precisa y automatizada.

ArcGIS Pro proporciona herramientas de aprendizaje profundo de nubes de puntos para respaldar el entrenamiento de modelos de clasificación de líneas eléctricas y su aplicación para clasificar líneas eléctricas dentro de nubes de puntos LIDAR.

Requisitos de software y hardware:

Requisitos de datos:

  • Nubes de puntos LIDAR aerotransportadas capturadas desde aeronaves, helicópteros o drones
  • Espaciado de punto promedio de menos de 1 pie para garantizar la obtención de detalles suficientes para clasificar las líneas eléctricas

Recomendaciones

Es importante seguir las pautas generales para entrenar un modelo de clasificación de aprendizaje profundo, evaluar los resultados del entrenamiento y clasificar una nube de puntos utilizando el modelo entrenado. Las siguientes recomendaciones son específicas para la clasificación de líneas eléctricas:

Seleccionar muestras de entrenamiento representativas

Las líneas de transmisión eléctrica abarcan diversos tipos de terreno con condiciones ambientales variables. La inclusión de nubes de puntos de diferentes tipos de terreno captura esta variabilidad y mejora la solidez del modelo. Las líneas eléctricas también difieren en altura y materiales, por lo que incorporar muestras que reflejen estas variaciones ayuda al modelo a aprender sobre diferentes tipos de líneas eléctricas. La vegetación que hay alrededor de las líneas eléctricas también varía en tipo y densidad, y el uso de diversas muestras de vegetación permite al modelo distinguir mejor las líneas eléctricas del follaje cercano.

Entrenamiento centrado en las zonas de proximidad de las líneas eléctricas

Las líneas de transmisión eléctrica suelen instalarse dentro de corredores designados y a alturas específicas para mantener una distancia segura. Con el tiempo, la vegetación de estas áreas puede invadir las líneas eléctricas, lo que dificulta distinguirlas del follaje cercano.

Para mejorar la precisión del modelo, excluya los puntos LIDAR ubicados más allá de una cierta distancia de las líneas eléctricas durante el entrenamiento. Hacer esto enfoca el modelo en las proximidades de las líneas eléctricas, lo que lo ayuda a aprender a hacer distinciones más relevantes y a reducir el volumen del dataset, así como a mejorar la eficiencia del entrenamiento.

Uso de atributos para distinguir las líneas eléctricas de otras entidades

Las líneas eléctricas son entidades lineales, normalmente ubicadas dentro de un rango de altura definido sobre el suelo. El atributo Altura relativa resulta especialmente útil para identificarlas, especialmente cuando se excluyen los puntos de suelo de los datos de entrenamiento; además, la altura relativa proporciona un contexto más significativo que la elevación absoluta.

En el caso de las líneas eléctricas de bajo voltaje, otro atributo útil es la Intensidad, ya que suelen devolver valores de intensidad más bajos en comparación con otras entidades. Por el contrario, las líneas eléctricas de alto voltaje tienden a reflejar pulsos láser con valores de intensidad más altos, similares a otros objetos, lo que hace que la intensidad sea un valor menos fiable para identificarlas.

Mitigar los efectos del desequilibrio de datos

El desequilibrio de datos se produce cuando algunas clases tienen bastantes más ejemplos que otras, lo que provoca que el modelo se incline hacia las clases mayoritarias. Este problema es especialmente importante en la clasificación de líneas eléctricas, ya que los puntos de las líneas eléctricas representan una pequeña minoría en comparación con clases dominantes, como el suelo y la vegetación.

Para mitigarlo, reduzca las muestras de clase mayoritaria (por ejemplo, excluya los puntos de suelo) durante el entrenamiento para minimizar el sesgo. Además, la aplicación de Pérdida focal asigna más peso a los ejemplos de clases minoritarias, lo que ayuda al modelo a aprender de manera más efectiva a partir de datos de líneas eléctricas limitados.

Vista general del flujo de trabajo

El siguiente flujo de trabajo empieza a partir de nubes de puntos LIDAR no clasificadas. Si sus datos ya están clasificados, puede omitir los pasos pertinentes.

  1. Utilice la herramienta de geoprocesamiento Crear pirámide de dataset LAS para crear pirámides LAS en su dataset LAS y optimizar la representación.
  2. Utilice la herramienta de geoprocesamiento Clasificar el terreno LAS para clasificar puntos de suelo.
  3. Utilice la herramienta De dataset LAS a ráster para crear un ráster DEM y DSM.
  4. Utilice la herramienta de geoprocesamiento Resta para crear un DSM normalizado (DSM - DEM) para resaltar las líneas eléctricas. Cree límites de procesamiento que abarquen todas las líneas eléctricas con una distancia de zona de influencia adecuada (por ejemplo, 10 metros).

    Límite de línea eléctrica

    Líneas eléctricas en el ráster DSM normalizado, con líneas de color canela que muestran los límites de procesamiento.

  5. Etiquete las líneas eléctricas utilizando la herramienta de geoprocesamiento Clasificar nube de puntos mediante un modelo entrenado si hay un modelo adecuado disponible. De lo contrario, puede etiquetar manualmente los puntos de línea eléctrica a través de la edición de perfiles o utilizar la herramienta de geoprocesamiento Clasificar LAS por altura y corregir cualquier punto mal clasificado, como torres y vegetación, dentro del rango de altura de línea eléctrica especificado utilizando las herramientas de edición interactivas.
  6. Clasificación manual de líneas eléctricas en el visor de perfiles

    Clasificación manual de líneas eléctricas en el visor de perfiles.

    Nota:

    También puede utilizar la herramienta de geoprocesamiento Clasificar LAS por altura para clasificar puntos que estén por encima o por debajo del rango de altura de las líneas eléctricas. Estos puntos, junto con los puntos de suelo, se pueden excluir del entrenamiento para reducir el tamaño del dataset y centrar el entrenamiento del modelo en las proximidades de las líneas eléctricas.

  7. Divida los datos en subconjuntos de entrenamiento y validación, por ejemplo, en una proporción de 80:20.
  8. Prepare los datos de entrenamiento utilizando la herramienta de geoprocesamiento Preparar datos de entrenamiento de nube de puntos para exportar bloques de entrenamiento y validación. Encontrará más detalles en la sección siguiente.
  9. Entrene el modelo utilizando la herramienta de geoprocesamiento Entrenar modelo de clasificación de nube de puntos. Encontrará más detalles en la sección siguiente.
  10. Clasifique las líneas eléctricas utilizando la herramienta de geoprocesamiento Clasificar nube de puntos mediante un modelo entrenado. Encontrará más detalles en la sección siguiente.

Uso de la herramienta de geoprocesamiento Preparar datos de entrenamiento de nube de puntos

Los datasets LAS deben convertirse en bloques de entrenamiento más pequeños antes de poder usarse en el entrenamiento de modelos. La herramienta de geoprocesamiento Preparar datos de entrenamiento de nube de puntos exporta los datos LAS a estos bloques. A continuación encontrará un resumen de los parámetros clave y una guía de uso para la clasificación de líneas eléctricas.

Entidades de límite de entrenamiento y Entidades de límite de validación: utilice polígonos de límite para exportar solo los puntos cercanos a las líneas eléctricas y centrar el entrenamiento en áreas relevantes.

Superficie de referencia: proporcione un ráster DEM para calcular valores de altura relativa. Este atributo es fundamental para distinguir las líneas eléctricas de otras entidades.

Códigos de clase excluidos: excluya las clases que estén fuera del rango de altura de la línea eléctrica (por ejemplo: suelo, altura baja/media, ruido) de los datos de entrenamiento. Los puntos de suelo, en particular, suelen constituir una gran parte del dataset, por lo que eliminarlos reduce significativamente el volumen de datos y acelera el entrenamiento.

Tamaño de bloque y Límite de puntos de bloque: estos parámetros controlan la cantidad de puntos incluidos en cada bloque. Establézcalos equilibrando la densidad de puntos, el tamaño de objetos, la memoria de la GPU y el tamaño de lote. Es posible que deba realizar varias pruebas para determinar la configuración óptima para su dataset y hardware.

Nota:
  • Una buena regla general es establecer un tamaño de bloque lo suficientemente grande como para capturar objetos de interés con un submuestreo mínimo, para garantizar la preservación de entidades críticas y que haya suficientes detalles en los datos de entrenamiento.
  • El tamaño de bloque y la cantidad de puntos que contenga dependen en gran medida de la memoria de su GPU. Los bloques más grandes y las nubes de puntos más densas aumentan el uso de memoria. El límite de puntos de bloque controla la cantidad máxima de puntos por bloque. Si se supera, el bloque se divide en varios bloques. Por ejemplo, si un bloque contiene 10.000 puntos y tiene un límite de puntos de 3000, este se dividirá en cuatro bloques, cada uno con 3000 puntos muestreados aleatoriamente (tenga en cuenta que algunos puntos pueden estar duplicados en dos bloques).
  • El tamaño de lote controla la cantidad de bloques que se procesan ​​simultáneamente en la GPU. Un tamaño de lote grande utilizará más memoria de GPU, mientras que un tamaño de lote más pequeño requerirá menos.
  • Ajuste estos parámetros en función de la memoria de su GPU. Si dispone de una GPU con mucha memoria, puede elegir un tamaño de bloque más grande (para capturar más contexto), un límite de puntos de bloque más alto (para reducir el submuestreo) y un tamaño de lote más grande para lograr un entrenamiento más rápido y más estable.

Cuando la herramienta haya terminado, revise los histogramas en Mensajes para evaluar si el tamaño de bloque y el límite de puntos de bloque son adecuados. Los datos de entrenamiento de salida se guardan en una carpeta con la extensión .pctd, que contiene dos subcarpetas: “train” y “val”, que incluyen, respectivamente, los datos de entrenamiento y de validación exportados. Los datos de puntos se almacenan en archivos .h5 y se organizan en bloques.

Histograma de resultados

El histograma muestra la distribución del recuento de puntos por bloque. Con el límite de puntos de bloque predeterminado de 8192, todos los bloques que excedan este número serán submuestreados. Aumentar el límite a 30.000 puede ayudar a evitar el submuestreo, siempre que su GPU tenga suficiente memoria para manejarlo.

Uso de la herramienta de geoprocesamiento Entrenar modelo de clasificación de nube de puntos

Utilice los datos de entrenamiento exportados por la herramienta Preparar datos de entrenamiento de nube de puntos para entrenar un modelo de clasificación. Si hay disponible algún modelo de clasificación de líneas eléctricas previamente entrenado, puede ajustarlo con sus datos; de lo contrario, entrene un nuevo modelo desde cero. A continuación se muestra la lista de parámetros de la herramienta, con orientación sobre cómo configurarlos para la clasificación de líneas eléctricas.

Modelo preentrenado: elija un modelo preentrenado adecuado, si hay alguno disponible. Asegúrese de que sus datos de entrenamiento coincidan con los atributos del modelo, los códigos de clase y los puntos máximos utilizados durante su entrenamiento original.

Arquitectura del modelo: para la clasificación de líneas eléctricas, se prefiere Point Transformer V3 por su mejor rendimiento y máxima precisión, especialmente en la identificación de clases menores. También se recomienda utilizar RandLA-Net: es eficiente en el uso de memoria y, al mismo tiempo, produce resultados precisos. Por el contrario, PointCNN requiere más memoria de GPU y suele ofrecer una menor precisión. Si bien la Red de Consulta Semántica puede entrenar modelos efectivos con datos muestreados limitados, en este caso es menos adecuada. Las líneas eléctricas se distribuyen de forma lineal y constituyen solo una pequeña parte del dataset, por lo que muestrearlas aleatoriamente puede provocar la pérdida de entidades locales clave y reducir la precisión del modelo.

Selección de atributos: seleccione Altura relativa y, para líneas eléctricas de bajo voltaje, seleccione también Intensidad. Estos atributos ayudan a distinguir las líneas eléctricas de otros objetos en la nube de puntos.

Imagen de intensidad de líneas eléctricas

Esta nube de puntos LIDAR está representada por valores de intensidad. Las líneas eléctricas exhiben valores de intensidad claramente más bajos en comparación con otras entidades, lo que hace que la intensidad sea un atributo valioso para distinguir las líneas eléctricas de los objetos circundantes.

Reasignación de clases: reasigna todas las clases de líneas no eléctricas a una clase de fondo. Esto ayuda al modelo a centrarse en distinguir las líneas eléctricas de una única clase de fondo, simplificando la clasificación, acelerando el entrenamiento y, a menudo, mejorando la precisión del modelo al reducir la complejidad.

Función de pérdida: elija la función de Pérdida focal para abordar el desequilibrio de clases asignando más peso a las líneas eléctricas de la clase minoritaria.

Criterios de selección del modelo: seleccione la opción Recuperación predeterminada, que calcula la media macro de recuperación en todos los códigos de clase.

Puntos mínimos por bloque: los bloques que tengan menos puntos que el valor especificado serán excluidos del entrenamiento. Omitir los bloques que solo contienen unos pocos puntos de línea eléctrica puede acelerar el entrenamiento y mejorar la eficiencia de aprendizaje del modelo.

Número máximo de épocas: utilice la configuración predeterminada de 25 épocas. Si el modelo sigue mejorando después de 25 épocas, puede seguir refinándolo como un modelo preentrenado.

Iteración por época (%): mantenga el valor predeterminado de 100 para pasar todos los datos de entrenamiento en cada época.

Estrategia de tasa de aprendizaje: mantenga la opción predeterminada Tasa de aprendizaje de un ciclo. Esta estrategia ajusta dinámicamente la tasa de aprendizaje a lo largo del entrenamiento, empezando con una tasa baja, aumentando hasta un pico y luego disminuyendo. Esto acelera la convergencia, evita el exceso de ajuste y ayuda al modelo a encontrar mejores mínimos locales, mejorando tanto la velocidad de entrenamiento como la precisión del modelo.

Tasa de aprendizaje: si no está seguro de cómo configurar este parámetro, déjelo en blanco para permitir que la herramienta calcule automáticamente la tasa de aprendizaje óptima.

Tamaño de lote: el tamaño de lote especifica cuántos bloques se procesan al mismo tiempo. Los datos de entrenamiento se dividen en lotes. Por ejemplo, con un tamaño de lote de 20, 1000 bloques se dividen en 50 lotes, todos los cuales se procesan en una época. Los tamaños de lote más pequeños ayudan a estabilizar el entrenamiento y son adecuados para GPU con memoria limitada, aunque pueden aumentar el tiempo de entrenamiento. Los tamaños de lote más grandes aceleran el entrenamiento, pero requieren mucha más memoria y pueden afectar a la generalización. Para encontrar el tamaño de lote óptimo es necesario equilibrar la memoria de la GPU, la velocidad de entrenamiento y la precisión del modelo, a menudo mediante experimentación.

Detener el entrenamiento cuando el modelo ya no mejore: habilite esta opción para detener el entrenamiento si el modelo no muestra ninguna mejora después de 5 épocas, lo que ayuda a prevenir el exceso de ajuste.

Durante el entrenamiento, supervise el proceso de entrenamiento realizando un seguimiento de los cambios en la pérdida de entrenamiento, la pérdida de validación y la recuperación.

Nota:

A medida que avanza cada época, una disminución en la pérdida de entrenamiento y de validación junto con un aumento en la recuperación indica que el modelo está aprendiendo.

La salida consta de dos carpetas. Una es la carpeta del modelo, que contiene el modelo guardado con la mejor recuperación general. La otra es la carpeta de puntos de verificación, que contiene modelos guardados en cada punto de verificación de época.

Para la clasificación de líneas eléctricas, el modelo con la mejor recuperación general (recuperación media macro de la línea eléctrica y el fondo) puede no ser la mejor opción. El mejor modelo para la clasificación de líneas eléctricas es el modelo con la mayor recuperación de líneas eléctricas. Abra el archivo Epoch_Statistics.csv de la carpeta de puntos de verificación, localice la época con la mayor recuperación de líneas eléctricas y utilice el modelo correspondiente para clasificar las líneas eléctricas.

Uso de la herramienta de geoprocesamiento Clasificar nube de puntos mediante un modelo entrenado

Al clasificar nubes de puntos utilizando el modelo entrenado, asegúrese de que los datos LIDAR que se van a clasificar sean similares a los datos de entrenamiento. Si utilizó límites de procesamiento, una superficie DEM o excluyó ciertos códigos de clase durante la preparación de los datos de entrenamiento, aplique la misma configuración aquí. Las guías siguientes le ayudarán a configurar los parámetros de manera efectiva para la clasificación de líneas eléctricas.

Definición del modelo de entrada: seleccione el modelo de puntos de verificación con la mayor recuperación para líneas eléctricas.

Manejo de código de clase existente: elija Editar puntos seleccionados o Conservar puntos seleccionados para mejorar la precisión de la clasificación. Haga una clasificación previa de las nubes de puntos objetivo, como suelo (clase 2), vegetación baja (clase 3) y vegetación media (clase 4), y especifique qué códigos de clase editar o conservar durante la clasificación. Por ejemplo, si se conserva la vegetación media, su código de clase permanecerá sin cambios, incluso si el modelo clasifica erróneamente algunos puntos de vegetación media como líneas eléctricas.

Tamaño de lote: si no está seguro de cómo configurar este parámetro, déjelo en blanco para permitir que la herramienta calcule automáticamente un tamaño de lote óptimo en función de la memoria de GPU disponible.

Límite de procesamiento, Superficie de referencia y Códigos de clase excluidos: si el modelo de clasificación de líneas eléctricas se entrenó con alguna de estas entradas, asegúrese de aplicar las mismas configuraciones aquí.

Cuando la herramienta termine, examine los resultados en la vista de Escena. Utilice las herramientas de selección y edición interactivas para corregir cualquier punto de línea eléctrica mal clasificado. Además, utilice la herramienta de geoprocesamiento Extraer líneas eléctricas desde nube de puntos para generar líneas 3D que modelen las líneas eléctricas. Para lograr un análisis más detallado, utilice la herramienta de geoprocesamiento Generar superficie de separación para delinear la zona de separación alrededor de las líneas eléctricas. Las entidades presentes en la zona, a menudo árboles, están peligrosamente cerca de las líneas eléctricas, lo que plantea riesgos como cortes de luz o peligro de incendios, y deben abordarse rápidamente.

Resultados de líneas eléctricas

Las líneas eléctricas se clasifican utilizando el modelo entrenado.

Agradecimientos de la fuente de datos LIDAR:

Temas relacionados