Você está na página 1de 13

On the Segmentation of 3D LIDAR Point Clouds

Resumen

Este trabajo presenta un conjunto de métodos de segmentación para varios tipos de nubes de
puntos 3D. La segmentación de datos 3D densos (por ejemplo, escáneres Riegl) se optimiza a través
de una simple pero eficiente voxelización del espacio. Se demuestra empíricamente que la
extracción previa del suelo mejora significativamente el rendimiento de la segmentación. La
segmentación de datos escasos en 3D (por ejemplo, escáneres Velodyne) se trata utilizando
modelos de tierra de resolución no constante que proporcionan una superficie probabilística
continua o una malla de terreno construida a partir de la estructura de una imagen de rango. Todos
los algoritmos se prueban en varios conjuntos de datos etiquetados manualmente utilizando dos
nuevas métricas para la evaluación de la segmentación.

Introducción:

Este artículo presenta un conjunto de métodos de datos 3D LIDAR. La segmentación es un paso


crítico de pre procesamiento en una serie de tareas de percepción autónoma. Fue por ejemplo
recientemente demostrado por Malisiewicz y Efros [8] que la segmentación previa mejora la
clasificación en aplicaciones de visión por computadora. El objetivo de este estudio es proporcionar
un conjunto de técnicas de segmentación adaptadas a diferentes tipos de datos 3D (Fig. 1 y 3 (c))
que se pueden integrar a tuberías de procesamiento más grandes como la clasificación, el
seguimiento dinámico de objetos y la planificación de rutas. Anticipamos que la detección 3D sea
fundamental en el desarrollo de la percepción artificial. Recientes desarrollos de sensores 3D (por
ejemplo, Velodyne, Riegl, Ibeo) conducen a una mayor capacidad perceptiva, complementando los
datos de la visión al abordar la variación de la iluminación a partir de imágenes monoculares y la
escasa reconstrucción de la geometría desde la estereofonía. La alta velocidad de datos asociada
requiere acondicionamiento de calidad, que puede obtenerse a partir de técnicas de segmentación.

II. TRABAJO RELACIONADO

La segmentación se ha estudiado durante varias décadas y, en particular, en la visión por ordenador,


donde se formula a menudo como agrupamiento de gráficos. Ejemplos de tales enfoques son cortes
de gráficos, incluyendo cortes normalizados y cortes mínimos. La segmentación de los cortes de
gráficos se ha extendido a las nubes de puntos 3D por Golovinskiy y Funkhouser usando k-los vecinos
más cercanos (KNN) para construir un gráfico 3D y asignar pesos de los bordes de acuerdo a una
decadencia exponencial de longitud. El método requiere conocimiento previo sobre la ubicación de
los objetos a segmentar.

El reciente algoritmo de segmentación de Felzenszwalb y Huttenlocher (FH) para imágenes


naturales ha ganado popularidad para aplicaciones robóticas debido a su eficiencia. Zhu et al.
Construir un gráfico en 3D con KNN mientras se supone que el terreno para ser plana para la
eliminación durante el pre-procesamiento. El Particionamiento 3D se obtiene con el algoritmo FH.
La sub segmentación se corrige mediante la clasificación posterior incluyendo la clase "sub
segmentada". Triebel et al. Explorar la segmentación probabilística sin supervisión en la que el
algoritmo FH se modifica para las imágenes de rango y proporciona una sobre-segmentación
durante el pre-procesamiento. Segmentación se moldea en un proceso de inferencia probabilística
en dos gráficos modelados como campos aleatorios condicionales: se utiliza un gráfico para
segmentar en el espacio de rango y otro gráfico se utiliza para segmentar en el espacio de
características (construido a partir de características 3D como Spin Images). La evaluación no
involucra datos sobre la verdad del terreno. Schoenberg et al. Y Strom et al. Han aplicado el
algoritmo FH a datos 3D en color obtenido de un par de lentes de cámara co-registradas. Los
primeros datos de rango de muestra ascendente utilizando la técnica para obtener un valor de
profundidad para cada píxel de imagen. Los pesos del gráfico de imagen se calculan como una
combinación ponderada de distancias euclidianas, diferencias de intensidad de píxeles y ángulos
entre las normales de superficie estimadas en cada punto 3D. El algoritmo FH se ejecuta en el gráfico
de imagen para proporcionar el Particionamiento 3D final. La evaluación se realiza sólo en
segmentos de carretera, mientras que la evaluación propuesta aquí se realiza en escaneos
completamente rotulados a mano. Strom et al. Proponen un enfoque similar en el que el algoritmo
FH se modifica para integrar las diferencias de ángulos entre las normales de superficie, además de
las diferencias en los valores de color. Se aplica a un gráfico 3D construido a partir de un escaneo
láser en el que no se tienen en cuenta los bordes más largos. La evaluación de la segmentación se
realiza visualmente sin datos de verdad sobre el terreno.

Se propone un enfoque de árbol de expansión máximo para la segmentación de nubes de puntos


3D. Los nodos de gráfico representan elipsoides gaussianos que desempeñan el papel de primitivas
geométricos. La fusión de elipsoides durante el crecimiento del árbol se basa en una de las dos
métricas de distancia propuestas por los autores, cada una produciendo una segmentación
diferente "estilo". La segmentación resultante es similar a un tipo de partición súper voxel (por
analogía a superpíxeles en visión) con voxels de formas elipsoidales y de varios tamaños.

Varios métodos se centran en modelar explícitamente la noción de discontinuidad superficial.


Melkumyan define discontinuidades basadas en ángulos agudos y enlaces más largos en una malla
3D construida a partir de datos de rango. Moosman et al. Utilice la noción de convexidad en una
malla de terreno como separador entre objetos. Este último enfoque se compara con los algoritmos
propuestos en la Sec. V-B.

La contribución de este trabajo es múltiple: se propone un conjunto de algoritmos de segmentación


para varias densidades de datos, que no asumen que el terreno sea plano ni requieren un
conocimiento previo de la localización de los objetos a segmentar. El terreno se identifica
explícitamente utilizando varias técnicas que dependen del tipo de datos y se utilizan como
separador. Algunas de las técnicas propuestas están próximas al tiempo real y son capaces de
procesar cualquier fuente de datos en 3D (sección III-C.1) o se optimizan mediante la explotación
de la estructura del patrón de exploración (sección III-C.2). Todos los métodos se evalúan en datos
etiquetados manualmente usando dos métricas novedosas para la comparación de segmentación
(Sec. V).

III. ALGORITMOS DE SEGMENTACIÓN

A. Framework (Marco de referencia)


Este estudio considera los siguientes tres aspectos del problema de segmentación. Primero,
investiga varios tipos de datos 3D: desde densos (escaneos 3D de un sensor Riegl por
ejemplo) hasta escasos (escaneos Velodyne únicos). En segundo lugar, se utilizan diferentes
tipos de modelos para representar y segmentar el terreno. Se exploran tres tipos principales
de modelos de terreno: basados en la red (como en mapas de elevación estándar, Sec. III-
B), basados en el Proceso Gaussiano (Sec. III-C.1) y basados en malla (Sec. III-C.2). En tercer
lugar, se prueban varios tipos de técnicas de agrupación en 3D y, en particular, se evalúa la
segmentación basada en cuadrícula 3D con diversos criterios de conectividad de clúster. Los
algoritmos resultantes son composiciones de un modelo de terreno y un método de
agrupación 3D. Este estudio evalúa qué algoritmo proporciona un mejor rendimiento de
segmentación para cada tipo de datos. Aquí se definen las nociones de datos densos y
escasos
Basado en una discretización del mundo con una resolución constante. Un conjunto de
datos se considerará denso si la conectividad de la mayoría de las superficies escaneadas
puede ser capturada con la conectividad de células no vacías (células que reciben al menos
un punto de datos). Con datos más dispersos, aumenta el número de células vacías lo que
hace que los objetos Para ser sobre-segmentado. Los algoritmos propuestos para
segmentar datos densos implican modelos basados en grids de resolución constante,
mientras que los algoritmos propuestos para procesar datos escasos utilizan
representaciones de tierra que son de granularidad no constante e implementan varios
tipos de mecanismo de interpolación como una forma de puentear los agujeros en los datos.

B. Segmentation for Dense Data (Segmentación para datos densos)


El enfoque general utilizado para los datos densos es una segmentación basada en la red
del voxel. Una cuadrícula tridimensional de vóxeles cúbicos se rellena con puntos 3D y las
características se calculan en cada voxel. Las características incluyen medios 3D y
variaciones, así como la densidad. Este acercamiento de la rejilla del voxel se elige debido a
su simplicidad, facilidad de la representación visual y en estructuras de datos, y su capacidad
de ser escalado ajustando tamaño del voxel para asegurar densidad utilizable de datos en
los voxels. Para la segmentación de datos densos se utilizan cuatro variaciones diferentes
de este método, tres de los cuales tienen dos etapas y una que es de una sola etapa. La
etapa extra en los procesos de dos etapas es la determinación de la partición de tierra, la
etapa común es un proceso de agrupación 3D. Para todos los métodos, los voxels deben
cumplir con los requisitos de densidad mínima para ser considerados para la segmentación).
1. Ground Segmentation: Se encuentra la partición de tierra agrupando juntos voxels
adyacentes basados en medios y varianzas verticales. Si la diferencia entre las medias
es menor que un umbral dado, y la diferencia entre las varianzas es menor que un
umbral separado, los voxels se agrupan. La mayor partición encontrada por este
método se elige como la tierra).

2. Cluster-All Method: Se forma la segmentación de tierra y los puntos no-tierra restantes


son particionados sólo por adyacencia de voxel local. El tamaño del vecindario local es
el único parámetro. Por lo tanto, el suelo funciona como un separador entre las
particiones. El esquema general de este método se muestra en el Algoritmo 1.
3. Base-Of Method: Para probar el beneficio de usar el suelo como un separador entre
los objetos, también se define una técnica que no depende de la extracción de una
superficie del suelo. El algoritmo considera que los voxels son planos o no planos
dependiendo de la varianza vertical. Los voxels planos se agrupan, al igual que los voxels
no planos. Los voxels disimilares se agrupan sólo si el voxel no plano está por debajo
del voxel plano. Este último criterio se basa en la idea de que las secciones de un objeto
están generalmente apiladas una encima de otra debido a la influencia de la gravedad,
por lo tanto algunos voxels son la base de otros voxels desde el suelo. Un ejemplo típico
observado en los datos es el techo de un automóvil, que puede ser desconectado del
resto del cuerpo del automóvil sin la relación 'base-de'. En este caso, se conectan los
voxels planos que forman el techo del automóvil y también se conectan los voxels no
planos que forman el cuerpo del automóvil, dando lugar a dos particiones. Aplicando
la base de la relación, el cuerpo del coche se interpreta como la base de su techo y el
coche completo se conecta en un solo segmento.

4. Base-Of With Ground Method: Segmentación de tierra y se aplica el método Base-Of


a los restantes voxels no terrestres.

C. Segmentation for Sparse Data Two (Segmentación para datos dispersos Dos)
Se presentan dos métodos de segmentación complementarios para datos escasos; Proceso
Gaussiano de Consenso Incremental de Muestra (GP-INSAC) y Basado en Malla
Segmentación. Estos métodos proporcionan una versión escasa de ExtractGround, seguida
del uso del enfoque Cluster-All de la Sección III-B. El método GP-INSAC está diseñado para
operar en nubes de puntos 3D arbitrarias en un marco de referencia cartesiano común. Esto
proporciona la flexibilidad para procesar cualquier fuente de datos 3D, incluyendo múltiples
fuentes de datos 3D que se han fusionado en un marco común. Aprovechando el patrón de
exploración del sensor, el método basado en malla se optimiza para datos de nube de
puntos 3D en un solo marco de sensor. Esto proporciona una velocidad o precisión adicional
para determinados tipos de sensores.

1. Gaussian Process Incremental Sample Consensus (GP-INSAC) – (Proceso Gaussiano -


Consenso Incremental de Muestra)
El algoritmo de Consumo Incremental de Procesos (GP-INSAC) del Proceso Gaussiano es
un enfoque iterativo para la estimación probabilística y continua de la superficie del
suelo, para conjuntos de datos 3D escasos que están abarrotados por objetos no-tierra.
Estos métodos tienen tres propiedades que son útiles para la segmentación:
1. Operan sobre datos escasos.
2. Son probabilísticas, por lo que los límites de decisión para la segmentación Pueden
especificarse rigurosamente.
3. Son continuas, evitando algunas de las restricciones de la red en los métodos
densos.

Sin embargo, los métodos GP suelen suponer que la mayoría de los datos pertenecen a
la superficie del terreno y no a los objetos o el desorden; Suponen que hay pocos valores
atípicos. Aquí, el problema es reformulado como uno de los rechazos de los atípicos
basados en modelos, donde los inliers son puntos que pertenecen a la superficie del
suelo y los outliers pertenecen a objetos no superficiales desordenados, que en última
instancia serán segmentados. El algoritmo GP-INSAC mantiene las propiedades de las
técnicas de modelado de terreno GP y les otorga una capacidad de rechazo de valores
atípicos.

Un enfoque común para el rechazo de valores atípicos es el algoritmo de Consenso de


Muestras Aleatorias (RANSAC) [5], [12]. A medida que aumenta la complejidad del
modelo, el número de inventarios hipotéticos es necesario para especificarlo, haciendo
que el rendimiento computacional de RANSAC disminuya. Para modelos complejos
incluyendo GPs, se presenta un enfoque alterno, llamado Incremental Sample
Consensus. Aunque motivado por los casos en que RANSAC no es práctico, INSAC no es
una variante de RANSAC como en. Las iteraciones determinísticas se realizan para
ajustar progresivamente el modelo a partir de una sola semilla de alta probabilidad
inliers, en lugar de iterar soluciones sobre las semillas seleccionadas al azar.

El método INSAC se especifica mediante el Algoritmo 2. Comenzando con un conjunto


de datos y un subconjunto a priori de semillas de alta confianza, el algoritmo INSAC
ajusta un modelo a la semilla y luego evalúa esto para los puntos de datos restantes
(similar al primero Iteración de RANSAC). Todos los puntos no-inherentes se comparan
con este modelo (usando Eval del Algoritmo 2). INSAC utiliza modelos probabilísticos
que estiman la incertidumbre de sus predicciones, llevando a dos umbrales: tmodel
especifica cómo debe ser el modelo para que la determinación in / outlier continúe.
Posteriormente, Tdata especifica la proximidad normalizada de un datum (x) a la
predicción del modelo (μmodel), requerida para que el datum sea considerado un inlier.
Esto se hace usando una variante de la distancia de Mahalanobis para normalizar la
medida, dadas las estimaciones del ruido en los datos y en el modelo (σdata, σmodel,
respectivamente).

Si la primera desigualdad falla, un punto se clasifica como desconocido. Los puntos que
superan la primera desigualdad se clasifican como inliers si también pasan la segunda
desigualdad, de lo contrario son valores atípicos. A partir de la semilla, se acumulan
inliers por iteración. Esto permite que INSAC 'busque' los datos para encontrar inliers,
sin permitir que puntos desconocidos corrompan el modelo. Las iteraciones se realizan
hasta que no se encuentren más inliers. El proceso combina tanto la extrapolación como
la interpolación del modelo, pero sólo en regiones donde la certeza es suficientemente
alta. Esto se puede ver en la secuencia de iteraciones de GP-INSAC en la Figura 2. La
primera iteración extrapola pero pierde un punto porque la incertidumbre de los datos
es demasiado grande. Por la tercera iteración, ha capturado este punto mediante la
interpolación, una vez que el modelo / acuerdo de datos es más probable. Al igual que
RANSAC, este método puede ser usado con cualquier modelo básico, sin embargo la
justificación para hacerlo es más fuerte para modelos probabilísticos complejos como
GPs.
La personalización del algoritmo INSAC para la estimación del terreno utilizando GPs se
da en Algoritmo 3. El algoritmo comprende cuatro pasos clave; Compresión de datos,
cálculo de semillas, INSAC y descompresión de datos. La Figura 2 muestra tres
iteraciones del algoritmo básico para datos 2D simulados, para ilustrar el proceso, sin
incluir la compresión.

La capacidad de los modelos GP para manejar datos escasos permite un paso opcional
de comprimir los datos, para disminuir el tiempo de cálculo. La compresión se realiza
en dos etapas en las líneas 1 y 2 del Algoritmo 3. Los datos se asignan primero a una
estructura de cuadrícula fija en 3D con un tamaño de celda constante de r metros. En
cada celda, el contenido está representado por su media 3D. En la segunda etapa, los
datos se diezman manteniendo 1 en cada d de los medios de cuadrícula. La primera
etapa comprime los datos hacia una densidad uniforme, evitando errores de
cuantificación de cuadrícula calculando los medios. La segunda etapa permite una
mayor compresión, sin requerir tamaños de celdas mayores (menos precisos).

Una vez que se realiza la compresión opcional, se determina una semilla inicial de
puntos de tierra probables usando la función de semilla específica de aplicación. Para
este estudio, se eligen los puntos dentro de un radio fijo Rs del sensor que están
también por debajo de la altura de base Bs del sensor (| x | <Rs y xz <Bs), suponiendo
que esta región está localmente despejada por objetos no enterrados . El INSAC se
realiza entonces según el Algoritmo 2, en los medios de retícula diezmados. Esto
clasifica los datos medios de la rejilla diezmada en las tres clases; Inliers, outliers o
desconocidos y proporciona el modelo GP que representa la superficie continua del
suelo de acuerdo con los inliers.

Los datos se descomprimen en las líneas 5 y 6 del algoritmo 3. El modelo GP (a partir de


los medios diezmados) se utiliza para clasificar todos los medios no diezmados,
utilizando la misma función del método INSAC en la línea 7 del algoritmo 2 y Ecuación
III-C.1. Finalmente, la clase de los medios de rejilla se aplica a los datos de entrada
completos por correspondencia de celda, usando GridMeanDecompress. La salida es la
clasificación completa de los datos originales, como inliers (pertenecientes al suelo),
outliers (pertenecientes a un objeto) o desconocidos (no pudieron ser clasificados con
alta certeza).

Para la segmentación escasa, los datos de tierra producidos por GP-INSAC en Algoritmo
3 se consideran como una partición. Los datos no terrestres son procesados por
SegmentVoxelGrid con el método Cluster-All de la Sección III-B.2 para producir las
restantes particiones no-tierra. Los puntos desconocidos permanecen clasificados como
tales.

En la sección V, el rendimiento del algoritmo es

Con diferentes valores de parámetro y opciones óptimas de parámetros se dan por


comparación con los datos particionados a mano.
2. Mesh Based Segmentation (Segmentación basada en malla):

El algoritmo de segmentación basado en malla implica tres pasos principales:

1. Construcción de una malla de terreno a partir de una imagen de rango.


2. Extracción de los puntos de tierra basados en el cálculo de un campo de gradiente
en la malla del terreno.
3. Agrupación de los puntos no-tierra utilizando el método Cluster-All.

La generación de una malla de una imagen de rango sigue el enfoque de [10], que
explora la disposición de ráster para la definición de topología rápida (alrededor de 10
ms por exploración).

Un ejemplo de la malla resultante se muestra en la Fig. 3 (a). Con datos escasos, una
malla de este tipo crea una conectividad punto a punto que no podría ser capturada con
una cuadrícula de resolución constante. Como consecuencia, la partición de tierra
puede crecer a partir de una región de siembra (aquí, el origen del escaneado) a través
de la topología conectada.

Una vez construida la malla de terreno, el segmentador extrae el terreno (función


ExtractGround en el algoritmo 1) calculando un campo de gradiente en la malla. Para
cada nodo (es decir, retorno por láser), se evalúa primero el gradiente de cada borde
entrante. El valor del gradiente para el nodo se elige como el que tiene la norma
máxima. Los cuatro enlaces alrededor de un nodo dado se identifican como: {ARRIBA,
ABAJO, IZQUIERDA, DERECHA}, con ABAJO apuntando hacia el origen de la exploración.
Para calcular el gradiente en el borde DOWN, por ejemplo, el algoritmo atraviesa la
malla de un nodo a lo siguiente en la dirección DOWN hasta que se cubre una distancia
de mingraddist. El gradiente se obtiene entonces como la diferencia absoluta de la
altura del nodo inicial y final dividida por la distancia entre ellos. Si una longitud
mingraddist no se cubre en una dirección dada, el gradiente es desatendido. La
imposición de una longitud de soporte de gradiente mínimo permite que el ruido sea
promediado: como se puede ver en la Fig. (A), los nodos más cercanos al centro de la
exploración están más próximos entre sí, lo que genera estimaciones de gradiente
ruidosas si se utilizan nodos consecutivos para calcular los gradientes (ya que el ruido
en sus valores de altura es de la misma magnitud que la longitud De los enlaces que los
conectan).

Una vez que se calcula el campo de gradiente, la partición de tierra se obtiene creciendo
un grupo de nudos de tierra desde el más cercano a la línea de trama más lejana. En la
línea de trama más cercana (el anillo más interno en la Fig. 3 (a)), la etiqueta GROUND
se asigna a la secuencia más larga de nodos sg con gradientes por debajo de maxgrad.
Además, las secuencias de los nodos si del anillo interior con gradientes por debajo del
umbral maxgrad también están marcadas GROUND si, dado que ni y ng son los nodos
más cercanos en si y sg, respectivamente, su altura está dentro de maxdh. Para las otras
líneas de trama, un nodo está marcado como TIERRA si su valor de degradado está por
debajo de maxgrad, y tiene al menos uno de sus vecinos directos ya identificados como
TIERRA; Si este vecino está en la misma línea de trama o en la anterior. Este último
requisito codifica el crecimiento iterativo de la división de tierra y evita que las
particiones planas no de tierra (como el techo de un automóvil) sean confundidas como
parte del suelo. Este proceso de propagación supone que el suelo se puede observar
alrededor del sensor; Más específicamente, asume que al menos parte de la línea de
trama más próxima al sensor cae sobre el suelo, y el conjunto correspondiente de nodos
forma la secuencia plana más larga.

La propagación de la etiqueta GROUND se realiza en ambas direcciones en cada línea


de exploración (es decir, cada línea de exploración se atraviesa dos veces) puesto que
los objetos interceptores pueden detener la propagación. La extracción del terreno se
ilustra en la Fig. 3 (c). El último paso en la extracción del terreno es la identificación de
las transiciones entre el suelo y los objetos anteriores. La necesidad de transición
detección se desarrolla en [3] (Fig. 5]. Su efecto se ilustra en la Fig. 3 (b). Las transiciones
se detectan manteniendo un búfer de alturas consecutivas de nodo GROUND (hasta
diez valores se almacenan en nuestra implementación). Este buffer se desliza a lo largo
de cada línea de trama primero, y luego a lo largo de cada línea radial, mientras que las
alturas de nodo GROUND se agregan en una moda First In First Out. El buffer se vacía al
iniciar el procesamiento de la siguiente línea. Un nodo está marcado como TRANSICIÓN
si no pertenece a la tierra en base a su gradiente, pero su altura está dentro de maxdh
de la altura media del búfer. El búfer se desliza dos veces en cada exploración y línea
radial; Una vez en cada dirección a lo largo de la línea con el fin de identificar las
transiciones en todos los lados de un objeto. Como se ilustra en la Fig. 3 (b), la detección
de transición permite una segmentación más estricta de los objetos que es esencial en
áreas desordenadas. Una vez que se extrae el terreno, los puntos NON-GROUND se
alimentan a una rejilla de voxel y se aplica una segmentación Cluster-All. Tenga en
cuenta que los puntos identificados como TRANSITION no se pasan al segmentador 3D
ya que esto permite una segmentación más estricta de los objetos. Esto completa el
proceso de segmentación implementado por el segmentador basado en malla. Su salida
se ilustra en la Fig. 3 (c). En los experimentos (Sec. V-B), los tres parámetros mingraddist,
maxdh y maxgrad se optimizan basándose en segmentaciones etiquetadas a mano.

IV. METRIC FOR SEGMENTATION EVALUATION

Se propone una métrica para cuantificar el acuerdo entre dos segmentaciones del mismo conjunto
de datos. Esto se puede utilizar para cuantificar el rendimiento de diferentes algoritmos de
segmentación, en comparación con una escena segmentada a mano. El concepto general de la
métrica se ilustra en la Fig. 4. El árbol marcado B es la segmentación manual y el árbol marcado A
es un ejemplo de segmentación defectuosa. El segmento más grande de los voxels en A que
comprende el árbol se considera la coincidencia, en este caso el área roja de la parte superior del
árbol, y todas las demás particiones se consideran errores. Una vez que un segmento ha sido
considerado como una coincidencia, se considerará como un error en cualquier intento de
coincidencia posterior. El proceso de comparación específico es el siguiente. En primer lugar, las
particiones de los datos escogidos manualmente se clasifican de mayor a menor. Para cada partición
de referencia, cada punto de datos coincide con el mismo punto en la segmentación de prueba. Se
acumula una lista de tamaños de partición basada en los ID de partición de los puntos. La partición
más grande de los puntos de prueba que corresponden a la partición seleccionada a mano se
considera entonces una coincidencia. El ID de partición que se considera coincidente se marca
entonces como utilizado y, a continuación, cuando se encuentran otros puntos con ese ID se
consideran que están en error. Debido a que la comparación se realiza en orden desde la partición
más grande hasta la más pequeña, si un objeto pequeño se agrupa incorrectamente en un objeto
grande, el objeto más pequeño se considerará erróneamente particionado y no el objeto más
grande. A partir de los puntos marcados como coincidencias y aquellos marcados como errores, se
calcula un porcentaje de coincidencia. Métricas alternativas también se consideran. En particular,
puntuación en términos de voxels en lugar de puntos. Puesto que todos los puntos en un voxel
deben tener el mismo ID de partición, los voxels se pueden marcar como coincidentes o errores
cuando se determina el estado de cualquier punto dentro del voxel. También se calcula el porcentaje
de coincidencia de voxel. El porcentaje de concordancia de voxel tiende a ser más volátil que el
porcentaje de coincidencia de puntos. La calidad de la partición de objetos más pequeños, más
escasos y más difíciles de particionar suele estar mejor representada por la puntuación del voxel
debido a una menor dominación por puntos de tierra y de pared. Por ejemplo, en uno de los
conjuntos de datos utilizados aquí, el terreno comprende más de 700.000 puntos de los 1.6 millones
de puntos en el escaneo (44%), pero sólo 35.600 voxels de los 143.000 voxels en la segmentación
(24%).

V. EXPERIMENTS

Este análisis empírico sigue los principios establecidos por Hoover et al. En su trabajo de referencia
sobre las evaluaciones experimentales de los métodos de segmentación de imágenes de rango [7].
En particular, el espacio de parámetros de cada algoritmo es muestreado uniformemente para
encontrar la combinación de parámetros que proporcionan los mejores resultados de segmentación
con respecto a varios conjuntos de datos rotulados manualmente (el uso de optimizadores más
sofisticados se deja para trabajos futuros). Los porcentajes de coincidencia (relativos a los datos
segmentados a mano) y los tiempos de cálculo se registran y promedian sobre los conjuntos de
datos de prueba para cada combinación de parámetros probados. Los mejores resultados para datos
densos y escasos se proporcionan en las Tablas I y II, respectivamente. Los mejores resultados a
través de los métodos se indican en negrita. También se indica el tipo de implementación utilizada.

A. Dense Data Results

En este primer conjunto de experimentos se utilizan cuatro conjuntos de datos rotulados


(con etiquetas puntuales): dos se forman a partir de una sola exploración de Riegl, una
adquirida en la Universidad de Drexel, y una segunda en la Universidad de Sydney, Australia
( Figura 1); Otro conjunto se genera combinando exploraciones verticales de un láser SICK
con la solución de navegación de la plataforma móvil sobre la que se monta el sensor; Y se
obtiene un cuarto conjunto combinando exploraciones Velodyne y datos de navegación. Las
nubes de cuatro puntos se adquirieron en entornos estáticos.
1. Cluster-All Segmentación Método: Para este experimento, el papel de voxels tamaño
se probó. Las dos gráficas de la Fig. 5 son las puntuaciones de punto y voxel frente al
tamaño de voxel en centímetros y vecindario. El valor de vecindad es la magnitud
absoluta de la distancia que dos voxels pueden estar alejados entre sí, en términos de
espacios de rejilla de voxel. Por ejemplo, dos voxels que están tocando pero una rejilla
en x o y tendrían una magnitud de 1 y si los voxels sólo estuvieran tocando de esquina
a esquina, sería una magnitud de 3. Las pruebas de tamaño de voxel muestran un pico
de 0.2 m . En términos de tiempos de computación, a un voxel, los tamaños de 0.1m,
0.2m y 0.4m de procesamiento tomaron un promedio de 8.02s, 4.30s y 3.82s
respectivamente (estos tiempos no pueden ser directamente comparados con los otros
ensayos porque una estructura de datos diferente Se utilizó para permitir que se
representara un mayor número de voxels). El porcentaje de coincidencia de pico se
produce con un tamaño de voxel de 0,2 m. Dado que se incurre en una penalización de
tiempo significativa para los voxels más pequeños y se obtienen mínimos ahorros de
tiempo con los voxels más grandes, se puede concluir que 0,2 m es óptimo basándose
en estas pruebas. Las puntuaciones indicadas en la Tabla I corresponden a esta elección
de parámetro.
También se probó una variante de Cluster-All que implicaba un tamaño de vecindario
variable. Se ilustra en la Fig. 7 (a). La densidad de los objetos y la densidad de los puntos
de exploración son mayor a las alturas más bajas sobre el suelo debido a objetos que
descansan naturalmente sobre el suelo ya la correspondiente proximidad del sensor. El
empleo de barrios más grandes a una cierta distancia sobre el suelo puede evitar la
segmentación excesiva de objetos escasos mientras no se arriesga la sub-segmentación
de objetos cerca del suelo. Los resultados correspondientes se informan en la línea
«Cluster-All with Variable Neighborhood» de la tabla I. En estas pruebas, la vecindad se
restringió a 3 para los voxels a menos de 2 metros sobre el suelo y se extendió a 6 en
caso contrario.
2. Base-Of Segmentation Method: Para este método se variaron dos parámetros y se
ejecutaron todas las pruebas con y sin la operación ExtractGround (Algorithm 1). Higo.
La figura 6 muestra gráficos en 3D de los resultados medios para los cuatro conjuntos
de datos densos. Mientras que Base-Of sin extracción de tierra tiene la ventaja de ser
casi el doble de rápido que los métodos basados en tierra, está detrás de las otras
técnicas en términos de precisión. Este resultado confirma experimentalmente la
utilidad de la extracción de tierra explícita en la segmentación 3D.

B. Sparse Data Results

Para la evaluación de los métodos escasos se utilizan escáneres Velodyne (con etiquetas
puntuales) de cuatro manos. Los resultados se presentan en la Tabla II y se obtuvieron
promediando el rendimiento y los tiempos de cálculo en las cuatro exploraciones marcadas
(lo mismo que los resultados de los datos densos).

1. Clúster-Toda la Segmentación: Los siguientes tres parámetros Eters son variados para
obtener las mejores puntuaciones de punto y voxel: maxvstd, la desviación estándar
vertical máxima en un voxel por debajo del cual este voxel se identifica como
perteneciente al suelo en la función ExtractGround; Groundres, la resolución de la red
utilizada en ExtractGround; Objectres, la resolución de la cuadrícula utilizada en
SegmentVoxelGrid. Los resultados se muestran en la fig. 7 (b). En ambos casos, los
valores óptimos de los parámetros son 0.3m para maxvstd, 0.5m para groundres y 0.2m
para objectres, y corresponden a las mejores puntuaciones reportadas en la Tabla II.

2. GP-INSAC Segmentación: El completo GP-INSAC El método de segmentación escasa


tiene un total de siete parámetros, agrupados por las etapas en la tubería. INSAC
requiere tdata y tmodel, la región de semilla cilíndrica requiere Rs y Bs, la compresión
de datos utiliza ryd, y el paso de particionamiento final está parametrizado por la
resolución de la cuadrícula. El modelo GP emplea una covarianza exponencial cuadrada
con tres parámetros: escala de longitud, ruido de proceso y de datos (ls, σp, σd), que se
aprenden fuera de línea con un enfoque de máxima verosimilitud [18], proporcionando
manualmente segmentos de tierra datos. Una vez aprendidos, estos parámetros son
fijos para el algoritmo GP-INSAC.

El algoritmo se ejecutó en un rango de parámetros. El cilindro de siembra se midió y se


fijó a {Rs = 8m, Bs = -1,6m} y la resolución de partición óptima para SegmentVoxelGrid
se fijó a 0,2 m, como se determinó en la Sección III-B. Seis conjuntos de los tres
parámetros de GP fueron aprendidos, a partir de los cuatro escáneres de prueba y de
otros dos escáneres de entrenamiento. Los dos adicionales se incluyeron para permitir
que se utilizara una fuente separada de datos de entrenamiento, permitiendo que el
algoritmo fuera probado en datos de prueba independientes.

El algoritmo se evaluó con la métrica de segmentación De la Sección IV y programado


en un PC dual core 2GHZ. Los resultados se muestran en la Figura 8. Los conjuntos de
parámetros que produjeron resultados con una puntuación por encima del 80%, un
porcentaje clasificado> 90% y el tiempo de procesamiento <0,25s fueron seleccionados.
Los parámetros individuales que más frecuentemente llevaron a esta selección fueron
elegidos como óptimos. Como tal, es probable que sean los más estables. Esto
corresponde al parámetro

Set {r = 0.6m, d = 30}, INSAC {tmodel = 0.2m, tdata = 3sd}, GP {ls = 14.01m, σp = 0.88m,
σd = 0.060m}. In- teresiblemente, los parámetros GP óptimo fueron aprendidos de una
de las dos muestras de entrenamiento.

Los resultados que usan la elección óptima de parámetros de este ensayo se muestran
en la Tabla II. La métrica indica que se produce una segmentación precisa en el tiempo
de cálculo más rápido. Sin embargo, los parámetros podrían ser elegidos para seguir
haciendo hincapié en la precisión de un costo computacional más grande. El trabajo
futuro incluye la prueba de los algoritmos para la estabilidad en un conjunto más grande
de datos y se sospecha que GP-INSAC requerirá una parametrización 'más lenta' para
lograr estabilidad a largo plazo.

En ese caso, es probable que la segmentación de malla esté más cerca del rendimiento
en tiempo real cuando se puede procesar en el marco del sensor. El diferenciador clave
del algoritmo GP-INSAC es que puede procesar datos arbitrarios en 3D de cualquier
fuente o fuentes fusionadas múltiples.

3. Mesh Based Segmentation: Los siguientes tres parámetros son variados para obtener
las mejores puntuaciones de punto y voxel: mingraddist, maxgrad y maxdh (detalladas
en la Sec. III-C.2). Los resultados de la prueba se muestran en la Fig. 7 (c). La mejor
puntuación se logra cuando mingraddist es 0.4m, maxgrad es 0.1 y maxdh es 0.05m. La
mejor puntuación de voxel se logra cuando mingraddist es 0.35m, maxgrad es 0.1 y
maxdz es 0.1m. Las puntuaciones correspondientes se presentan en la Tabla II. Con base
en los resultados de la Sec. V-B.1, la resolución de la cuadrícula utilizada en
SegmentVoxelGrid se estableció en 0.2m. Mediante la generación de una malla de
resolución variable en el marco del sensor en lugar de depender de una rejilla de
resolución fija para el modelo de terreno como en el método Cluster-All, el segmento
basado en malla es capaz de recuperar mejor la conectividad subyacente de los objetos.
La Tabla II muestra una mejora en la puntuación de voxel de hasta 24%. Representar
directamente la escasez de los datos también permite reducir el tamaño de las
estructuras de datos desplegadas que a su vez conduce a la ganancia en los tiempos de
cálculo. La Tabla II muestra que el segmento basado en malla es aproximadamente 30%
más rápido que el método 'Cluster-All' (ambas implementaciones se ejecutan en una
computadora de escritorio 3GHz). La tendencia se revertiría sin embargo en el caso de
datos densos ya que la malla del terreno se volvería más densa mientras que una
retícula de tamaño fijo esparciera eficazmente los datos a una cantidad relacionada con
su resolución.
4. Convexity Based Segmentation: El método propuesto por Moosmann et al. [10] fue
implementado y probado para este análisis, ya que la malla basada en el segmentador
se basa en el mismo terreno malla. Las principales diferencias entre los dos enfoques
están relacionadas con la identificación del suelo.
Aquí se integra al proceso de segmentación, mientras que en [10] se obtiene a partir de
la clasificación posterior. También, el razonamiento en la malla se utiliza aquí para la
extracción de tierra sólo (en la función ExtractGround), mientras que genera la
segmentación de todo el espacio 3D en [10]. La Tabla II muestra que el rendimiento de
este último método es menor. En cuanto a las otras técnicas, se probó un rango de
valores de parámetros y se promediaron los resultados en las cuatro exploraciones
etiquetadas. Siguiendo las anotaciones en [10], \ alpha 1 se varió de 0 a 45 con un
tamaño de paso de 5, \ varphi _ {2} varió de 0 a 60 con un tamaño de paso de 10 y 3 de
0 a 0,7 con un tamaño de paso de 0,1 . Para las puntuaciones de punto y voxel, se
encontró que los valores óptimos eran 40 para 1, 50 para 2 y 0,5 para 3. El rendimiento
inferior se debe en parte al tamaño limitado del conjunto etiquetado y al
comportamiento de la métrica de segmentación: Ciertas combinaciones de parámetros,
la segmentación es visualmente cercana a la obtenida con el segmentador de malla,
pero el suelo se divide en unas pocas partes principales lo que causa una gran penalidad,
ya que el suelo tiene un peso predominante tanto en el punto como en el voxel.
VI. CONCLUSION

Este estudio ha propuesto un conjunto de métodos de segmentación diseñados para diferentes


densidades de nubes de puntos 3D. Primero proporcionó evidencia empírica del beneficio de la
extracción de tierra antes de la segmentación de objetos en el contexto de datos densos. El método
Cluster-All ha conseguido el mejor trade off(Compensacion) en términos de simplicidad, precisión y
tiempos de cómputo. Sus limitaciones se mostraron en el contexto de datos escasos y se
propusieron dos técnicas de segmentación de novelas para el último caso: el algoritmo GP-INSAC
para el modelado probabilístico del terreno y para el procesamiento de cualquier nube de puntos
3D escasa o densa, potencialmente formada de datos acumulados desde Varios sensores; Una
técnica basada en malla, optimizada para el procesamiento de imágenes de rango. Todos los
algoritmos fueron evaluados en varios conjuntos de datos etiquetados a mano utilizando dos nuevas
métricas.

Você também pode gostar