Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Range Image

  • Detto anche: range view, spherical range image
  • Categoria: Sensing › Perception outputs
  • Tag: lidar, 3d-perception, semantic-segmentation, point-cloud, data-representation

Un'immagine 2D di una scansione 3D di distanze in cui ogni pixel memorizza la distanza misurata lungo una direzione del fascio, dando alla scansione una griglia d'immagine per un'elaborazione rapida.

Definizione

Immagine di distanza (range image) memorizza una scansione 3D come un array 2D in cui ogni pixel corrisponde a una direzione di osservazione e contiene la distanza misurata lungo di essa. Per un LiDAR rotante a più fasci, le righe corrispondono di solito ai fasci laser, o angoli di elevazione, e le colonne agli angoli di azimut lungo la rotazione, così ogni punto viene collocato tramite una proiezione sferica della sua direzione. Canali aggiuntivi contengono spesso le coordinate x, y e z, l'intensità del ritorno e una maschera di validità.

La disposizione a immagine rende economiche le relazioni di vicinato. I punti vicini nell'immagine sono di solito vicini nello spazio, quindi normali, bordi, segmentazione del suolo e clustering si possono calcolare con semplici operazioni sulle immagini invece che con ricerche dei vicini più prossimi in 3D. Permette inoltre alle comuni reti convoluzionali 2D di elaborare dati LiDAR: reti come SqueezeSeg e RangeNet++ etichettano ogni pixel, e le etichette vengono poi riproiettate sui punti 3D. SuMa e SuMa++ usano le immagini di distanza per un motivo diverso: rendono la mappa di surfel nella stessa disposizione a immagine, così che le nuove scansioni possano essere associate alla mappa in base alla posizione del pixel.

La proiezione ha dei costi. Quando più punti cadono nello stesso pixel, se ne conserva solo uno, di solito il più vicino, quindi alcuni punti vanno etichettati in seguito a partire dai loro vicini. I pixel senza ritorno, dovuti al cielo, al vetro o a superfici assorbenti, vanno mascherati. Ai bordi degli oggetti, i vicini di un pixel possono trovarsi su superfici molto distanti in profondità, il che fa sbordare le etichette tra primo piano e sfondo; RangeNet++ aggiunge una pulizia con i k vicini più prossimi in 3D per ridurre il problema. Un'immagine di distanza differisce da un'immagine di profondità di una telecamera per proiezione e valore: una telecamera di profondità usa una proiezione pinhole e di solito memorizza la distanza lungo l'asse ottico, mentre un'immagine di distanza LiDAR usa coordinate angolari e memorizza la distanza lungo ciascun fascio.

Perché è importante

Le immagini di distanza trasformano nuvole di punti LiDAR sparse e non ordinate in una griglia densa che algoritmi d'immagine veloci e reti convoluzionali possono elaborare. Molte pipeline di segmentazione, odometria e compressione LiDAR in tempo reale si basano su di esse.

Applicazioni principali

  • Segmentazione semantica di scansioni LiDAR con reti 2D
  • Associazione dei dati proiettiva nello SLAM LiDAR
  • Rimozione del suolo e clustering degli ostacoli
  • Stima di normali e bordi per le feature dell'odometria LiDAR
  • Compressione e archiviazione di dati LiDAR

In pratica

Un team di guida autonoma deve etichettare in tempo reale ogni punto LiDAR come strada, auto, pedone o vegetazione. Proietta ogni scansione in un'immagine di distanza con una riga per laser e un numero fisso di colonne, memorizzando distanza, x, y, z e intensità in cinque canali. Una rete di segmentazione 2D predice una classe per pixel, le etichette vengono riproiettate sui punti, e un voto tra i vicini più prossimi in 3D corregge i punti scartati dalla proiezione o etichettati male ai bordi degli oggetti. La stessa immagine di distanza viene riutilizzata a valle per la rimozione del suolo e per il clustering degli ostacoli in regioni di pixel connesse.

Idee sbagliate comuni

  • Un'immagine di distanza è la stessa cosa di un'immagine di profondità di una telecamera — la proiezione è angolare anziché pinhole, e i pixel memorizzano la distanza lungo il fascio anziché lungo l'asse ottico
  • La proiezione conserva ogni punto — i punti che condividono un pixel vengono scartati, quindi le etichette vanno propagate di nuovo a essi
  • Pixel vicini corrispondono sempre a superfici vicine — nelle discontinuità di profondità pixel adiacenti possono trovarsi molto distanti, il che fa sbordare le etichette
  • Le immagini di distanza vanno bene solo per i LiDAR rotanti — qualsiasi sensore con una griglia regolare di direzioni dei fasci, compresi alcuni LiDAR a stato solido, può essere memorizzato in questo modo

Chi dovrebbe saperlo

  • Ingegneri di percezione LiDAR
  • Team di segmentazione per la guida autonoma
  • Sviluppatori di SLAM e odometria
  • Ingegneri di machine learning che lavorano con dati 3D

Tecnologie correlate

  • RangeNet++
  • SqueezeSeg
  • Proiezione sferica (Spherical Projection)
  • Proiezione a vista dall'alto (Bird's-Eye-View Projection)
  • Semantic KITTI

Termini correlati

  • LIDAR
  • Point Cloud
  • Depth Camera
  • Surfel
  • LiDAR Odometry
  • Semantic Map

Progetti correlati

  • Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • PCL: Industry-standard C++ library for point cloud processing in robotics perception
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.