¿Qué es LiDAR?
3 cosas que es necesario saber
Los sensores de LiDAR (acrónimo en inglés de “detección y distancia por luz”) son sensores de medición de distancia, como el radar y el sonar. Estos sensores emiten pulsos de láser que se reflejan en los objetos, y de este modo, pueden percibir la estructura del entorno. Además, registran la energía de la luz reflejada para determinar la distancia hasta objetos y crear una representación en 2D o 3D del entorno. Los sensores LiDAR se utilizan principalmente para desarrollar sistemas de percepción en múltiples sectores. Permiten flujos de trabajo de percepción en 3D tales como detección de objetos, segmentación semántica, y flujos de trabajo de navegación tales como mapeo, localización y mapeo simultáneos (SLAM) y planificación de rutas.
Los sistemas autónomos incluyen diversos sensores, tales como cámaras, IMU y radares, dentro de su gama de sensores para la percepción del entorno. LiDAR puede superar algunos de los inconvenientes de otros sensores, ya que proporciona información sumamente precisa, estructural y en 3D del entorno. Esta ventaja ha contribuido a la incorporación de sensores de LiDAR en el mercado de la percepción convencional.
La adopción de LiDAR en el mercado se debe a tres motivos principales:
- LiDAR de bajo coste
La introducción de LiDAR de bajo coste, con mejoras en características tales como distancia, tamaño y solidez, han aumentado la disponibilidad de la tecnología para aplicaciones industriales con una rentabilidad comparativamente baja.
- Datos en 3D precisos
Los LiDAR pueden recopilar información en 3D de alta densidad del entorno en forma de nubes de puntos con una mayor precisión que otros sensores de distancia, tales como el radar y el sonar. Esto, a su vez, mejora la precisión de la reconstrucción en 3D.
- Algoritmos de procesamiento de datos de LiDAR
Los recientes avances en flujos de trabajo de procesamiento de datos de LiDAR tales como segmentación semántica, detección y seguimiento de objetos, fusión de datos de cámaras de LiDAR y SLAM de LiDAR han facilitado la incorporación de LiDAR en flujos de trabajo de desarrollo típicos de la industria. Puede utilizar herramientas como MATLAB para desarrollar y aplicar algoritmos de procesamiento de datos de LiDAR.
Los LiDAR se utilizan en una amplia variedad de sectores, desde la conducción autónoma hasta las geociencias. En términos generales, podemos clasificar estas aplicaciones en tres grupos, en función de la plataforma en la que estén montadas.
- LiDAR aéreos
- LiDAR terrestres
- LiDAR de interiores
LiDAR aéreos
Los sensores de LiDAR aéreos están montados en aeronaves o vehículos aéreos no tripulados (VANT). Capturan datos de nubes de puntos 3D de un espacio extenso que se pueden utilizar para mapeo, extracción de características, identificación de terrenos y otros casos prácticos.
Algunos ejemplos de aplicación de LiDAR aéreo son:
- Agricultura: La tecnología de LiDAR se utiliza ampliamente en agricultura para mapear el área de vegetación, e identificar el terreno exacto de una granja y la zona de captación de agua.
- Planificación urbana: Los LiDAR permiten crear modelos digitales de superficie (MDS) o incluso modelos digitales urbanos (MDC) de un área, que pueden ayudar a diseñar una ciudad o construir nuevas infraestructuras en una ciudad existente.
- Cartografía geológica: Los LiDAR permiten crear mapas en 3D de la superficie terrestre, que se pueden utilizar en aplicaciones tales como minería, silvicultura de precisión, y prospección de petróleo y gas.
- Navegación aérea y planificación de rutas: En la actualidad, los LiDAR se utilizan en VANT para recopilar datos 3D en vivo a fin de navegar de forma autónoma a través del entorno.
Vea ejemplos del uso de MATLAB® para procesamiento de LiDAR aéreo:
LiDAR terrestres
Existen dos tipos de LiDAR terrestres: móviles y estacionarios.
- Los LiDAR estacionarios están montados sobre una plataforma estacionaria. Se suelen utilizar para estudios topográficos, levantamiento vial, topografía, modelos digitales de elevación (MDE), agricultura y otras aplicaciones. Son más adecuados para aplicaciones en las que se necesita capturar datos detallados y más próximos.
- Los LiDAR móviles son de tipo terrestre, colocados en una plataforma móvil, como un automóvil o un camión. La aplicación más importante del LiDAR móvil es la conducción autónoma. Los LiDAR montados en vehículos capturan datos de nubes de puntos en 3D del entorno, y se utilizan en flujos de trabajo de percepción y navegación. Estos flujos de trabajo se describen en detalle en la siguiente sección.
Ejemplos del uso de MATLAB para procesamiento de LiDAR terrestre:
- Seguimiento de vehículos con LiDAR: De la nube de puntos a la lista de seguimiento
- Creación de un mapa con odometría y mapeo de LiDAR (LOAM) utilizando simulación de Unreal Engine
LiDAR de interiores
Generalmente, LiDAR se utiliza en aplicaciones de robótica de interiores, montados en robots móviles. Aparte de los LiDAR en 3D, también se utilizan LiDAR en 2D o escáneres láser en aplicaciones robóticas de interiores, como escaneado y mapeo con LiDAR. Capturan información de profundidad del entorno que luego se procesa en función de los casos prácticos.
Algunos usos frecuentes del LiDAR de interiores son:
- Mapeo y SLAM de LiDAR: Puede utilizar LiDAR en 2D o 3D para crear SLAM y mapeo en 2D o 3D, respectivamente.
- Detección, advertencia de colisión y evasión de obstáculos: Los LiDAR en 2D se utilizan generalmente para detectar obstáculos. Estos datos se pueden utilizar posteriormente para crear advertencias de colisión o para evadir obstáculos.
Ejemplos del uso de MATLAB para procesamiento de LiDAR terrestre:
MATLAB y Lidar Toolbox™ simplifican las tareas de procesamiento de datos de LiDAR. Con herramientas y funciones específicas, MATLAB ayuda a superar los desafíos frecuentes del procesamiento de datos de LiDAR, tales como los tipos de datos 3D, la escasez de datos, los puntos no válidos en los datos y el alto nivel de ruido.
Puede importar datos de LiDAR en vivo y registrados en MATLAB, implementar flujos de trabajo de procesamiento de datos de LiDAR y crear código C/C++ y CUDA® para desplegarlo en producción.
En las siguientes secciones se describen algunas de las importantes prestaciones de MATLAB para el procesamiento de nubes de puntos de LiDAR.
Streaming, lectura y escritura de datos de LiDAR
El primer paso para procesar cualquier dato de sensor en MATLAB consiste en introducir los datos en el área de trabajo de MATLAB. Puede hacer lo siguiente:
- Transmitir datos en vivo desde sensores de Velodyne con Velodyne Lidar Hardware Support Package y desde sensores de Ouster con Ouster Lidar Hardware Support Package.
- Leer nubes de puntos almacenadas en diferentes formatos de archivo, tales como PCD, PLY, PCAP (Velodyne, Ouster y Hesai Pandar), Ibeo Data Container, LAS y LAZ.
- Escribir nubes de puntos en diferentes formatos de archivo, tales como PCD, PLY, LAS y LAZ.
- Simular datos de LiDAR para probar algoritmos y flujos de trabajo antes de desplegarlos en un sistema del mundo real. En MATLAB, puede sintetizar datos de LiDAR en 3D o 2D en entornos de simulación definiendo parámetros de sensores para probar algoritmos de procesamiento. Lidar Toolbox, UAV Toolbox y Automated Driving Toolbox proporcionan modelos de sensores de LiDAR para simular nubes de puntos de LiDAR.
Procesamiento de datos de LiDAR
Puede preprocesar datos de LiDAR para mejorar la calidad de los datos y extraer información básica de ellos. Lidar Toolbox™ proporciona funcionalidad para reducir la tasa de muestreo, filtrar la mediana, y alinear, transformar y extraer características de nubes de puntos.
Calibración de cámaras de LiDAR
MATLAB permite la calibración de cámaras de LiDAR para estimar las transformaciones de LiDAR a cámaras, y fusionar los datos de ambos. También puede fusionar información de color en nubes de puntos de LiDAR y estimar cuadros delimitadores en 3D en LiDAR utilizando cuadros delimitadores en 2D de una cámara ubicada en el mismo sitio.
Deep Learning para LiDAR
Con MATLAB, puede aplicar algoritmos de Deep Learning para detección de objetos y segmentación semántica en datos de LiDAR.
- Con unas pocas líneas de código en MATLAB, puede importar modelos de segmentación semántica previamente entrenados, tales como PointSeg y SqueezeSegV2, con datos de LiDAR. También puede entrenar, evaluar y desplegar sus propios modelos de Deep Learning.
- MATLAB permite diseñar, entrenar y evaluar detectores robustos, tales como redes PointPillars y ComplexYolo-V4. Puede detectar y ajustar cuadros delimitadores orientados alrededor de objetos en nubes de puntos de LiDAR.
- La app Lidar Labeler de Lidar Toolbox simplifica las tareas de etiquetado de nubes de puntos. Puede etiquetar manualmente nubes de puntos para detectar objetos y realizar segmentación semántica, aplicar algoritmos integrados o personalizados para automatizar el etiquetado de nubes de puntos de LiDAR, y evaluar el rendimiento de algoritmos de automatización.
Seguimiento de objetos en nubes de puntos
MATLAB puede unificar varios dominios que alimenten un flujo de trabajo de seguimiento de objetos de extremo a extremo. Esto permite leer datos de LiDAR, preprocesarlos, aplicar Deep Learning para detectar objetos, realizar un seguimiento de estos objetos con un seguidor predefinido, y desplegar en hardware objetivo.
Registro de nubes de puntos y SLAM
MATLAB proporciona funciones para registrar nubes de puntos de LiDAR y crear mapas en 3D a partir de datos de LiDAR terrestres y aéreos con algoritmos de SLAM. Esto incluye:
Para obtener más información sobre el procesamiento de datos de LiDAR, consulte Lidar Toolbox y Computer Vision Toolbox™.