En visión artificial , reconocimiento de patrones y robótica , el registro de conjuntos de puntos , también conocido como registro de nubes de puntos o coincidencia de escaneo , es el proceso de encontrar una transformación espacial ( por ejemplo, escalado , rotación y traslación ) que alinea dos nubes de puntos . El propósito de encontrar dicha transformación incluye fusionar múltiples conjuntos de datos en un modelo globalmente consistente (o marco de coordenadas) y mapear una nueva medición a un conjunto de datos conocido para identificar características o estimar su posición . Los datos de nubes de puntos 3D sin procesar generalmente se obtienen de lidares y cámaras RGB-D . Las nubes de puntos 3D también se pueden generar a partir de algoritmos de visión artificial, como triangulación , ajuste de paquetes y, más recientemente, estimación de profundidad de imagen monocular mediante aprendizaje profundo . Para el registro de conjuntos de puntos 2D utilizado en el procesamiento de imágenes y el registro de imágenes basado en características , un conjunto de puntos puede ser coordenadas de píxeles 2D obtenidas por extracción de características de una imagen, por ejemplo , detección de esquinas . El registro de nubes de puntos tiene amplias aplicaciones en conducción autónoma , [1] estimación de movimiento y reconstrucción 3D , [2] detección de objetos y estimación de pose , [3] [4] manipulación robótica , [5] localización y mapeo simultáneos (SLAM), [6] [7] unión de panoramas , [8] realidad virtual y aumentada , [9] e imágenes médicas . [10]
Como caso especial, el registro de dos conjuntos de puntos que solo difieren en una rotación 3D ( es decir, no hay escala ni traducción) se denomina problema de Wahba y también está relacionado con el problema de Procrustes ortogonal .
El problema puede resumirse de la siguiente manera: [11] Sean dos conjuntos de puntos de tamaño finito en un espacio vectorial real de dimensión finita , que contienen puntos y respectivamente ( por ejemplo, recupera el caso típico de cuando y son conjuntos de puntos 3D). El problema es encontrar una transformación que se aplique al conjunto de puntos "modelo" en movimiento de manera que la diferencia (normalmente definida en el sentido de distancia euclidiana puntual ) entre y el conjunto "escena" estático se minimice. En otras palabras, se desea una aplicación de a que produzca la mejor alineación entre el conjunto "modelo" transformado y el conjunto "escena". La aplicación puede consistir en una transformación rígida o no rígida. El modelo de transformación puede escribirse como , utilizando el cual el conjunto de puntos modelo registrado y transformado es:
Por lo tanto, la salida de un algoritmo de registro de conjuntos de puntos es la transformación óptima que está mejor alineada con , según alguna noción definida de función de distancia :
donde se utiliza para indicar el conjunto de todas las transformaciones posibles que la optimización intenta buscar. La opción más popular de la función de distancia es tomar el cuadrado de la distancia euclidiana para cada par de puntos:
donde denota la norma 2 del vector , es el punto correspondiente en el conjunto que alcanza la distancia más corta a un punto dado en el conjunto después de la transformación. Minimizar dicha función en un registro rígido es equivalente a resolver un problema de mínimos cuadrados .
Cuando las correspondencias ( es decir, ) se dan antes de la optimización, por ejemplo, utilizando técnicas de coincidencia de características , entonces la optimización solo necesita estimar la transformación. Este tipo de registro se llama registro basado en correspondencias . Por otro lado, si las correspondencias son desconocidas, entonces se requiere la optimización para descubrir conjuntamente las correspondencias y la transformación. Este tipo de registro se llama registro simultáneo de pose y correspondencia .
Dados dos conjuntos de puntos, el registro rígido produce una transformación rígida que asigna un conjunto de puntos al otro. Una transformación rígida se define como una transformación que no cambia la distancia entre dos puntos. Por lo general, una transformación de este tipo consiste en una traslación y una rotación . [12] En casos excepcionales, el conjunto de puntos también puede reflejarse. En robótica y visión artificial, el registro rígido tiene la mayor cantidad de aplicaciones.
Dados dos conjuntos de puntos, el registro no rígido produce una transformación no rígida que asigna un conjunto de puntos al otro. Las transformaciones no rígidas incluyen transformaciones afines como el escalado y el mapeo de corte . Sin embargo, en el contexto del registro de conjuntos de puntos, el registro no rígido generalmente implica una transformación no lineal. Si se conocen los modos propios de variación del conjunto de puntos, la transformación no lineal puede parametrizarse mediante los valores propios. [13] Una transformación no lineal también puede parametrizarse como una spline de placa delgada . [14] [13]
Algunos enfoques para el registro de conjuntos de puntos utilizan algoritmos que resuelven el problema más general de correspondencia de grafos . [11] Sin embargo, la complejidad computacional de dichos métodos tiende a ser alta y se limitan a registros rígidos. En este artículo, solo consideraremos algoritmos para el registro rígido, donde se supone que la transformación contiene rotaciones y traslaciones 3D (posiblemente también incluya un escalamiento uniforme).
La biblioteca de nubes de puntos (PCL) es un marco de código abierto para el procesamiento de nubes de puntos n-dimensionales y geometría 3D. Incluye varios algoritmos de registro de puntos. [15]
Los métodos basados en correspondencias suponen que las supuestas correspondencias están dadas para cada punto . Por lo tanto, llegamos a una situación en la que ambos conjuntos de puntos tienen puntos y las correspondencias están dadas.
En el caso más simple, se puede asumir que todas las correspondencias son correctas, lo que significa que los puntos se generan de la siguiente manera:
donde es un factor de escala uniforme (en muchos casos se asume), es una matriz de rotación 3D adecuada ( es el grupo ortogonal especial de grado ), es un vector de traslación 3D y modela el ruido aditivo desconocido ( por ejemplo, ruido gaussiano ). Específicamente, si se supone que el ruido sigue una distribución gaussiana isótropa de media cero con desviación estándar , es decir, , entonces se puede demostrar que la siguiente optimización produce la estimación de máxima verosimilitud para la escala, rotación y traslación desconocidas:
Nótese que cuando el factor de escala es 1 y el vector de traslación es cero, entonces la optimización recupera la formulación del problema de Wahba . A pesar de la no convexidad de la optimización ( cb.2 ) debido a la no convexidad del conjunto , el trabajo seminal de Berthold KP Horn mostró que ( cb.2 ) en realidad admite una solución de forma cerrada, al desacoplar la estimación de escala, rotación y traslación. [16] Resultados similares fueron descubiertos por Arun et al . [17] Además, para encontrar una transformación única , se requieren al menos puntos no colineales en cada conjunto de puntos.
Más recientemente, Briales y González-Jiménez han desarrollado una relajación semidefinida utilizando la dualidad lagrangiana , para el caso en que el conjunto de modelos contiene diferentes primitivas 3D como puntos, líneas y planos (que es el caso cuando el modelo es una malla 3D). [18] Curiosamente, la relajación semidefinida es empíricamente estricta, es decir, se puede extraer una solución globalmente óptima certificable de la solución de la relajación semidefinida.
Se sabe que la formulación de mínimos cuadrados ( cb.2 ) tiene un rendimiento arbitrario deficiente en presencia de valores atípicos . Una correspondencia de valores atípicos es un par de mediciones que se aparta del modelo generativo ( cb.1 ). En este caso, se puede considerar un modelo generativo diferente, como se indica a continuación: [19]
donde si el par th es un inlier, entonces obedece al modelo libre de valores atípicos ( cb.1 ), es decir, se obtiene de mediante una transformación espacial más un pequeño ruido; sin embargo, si el par th es un valor atípico, entonces puede ser cualquier vector arbitrario . Dado que uno no sabe qué correspondencias son valores atípicos de antemano, el registro robusto bajo el modelo generativo ( cb.3 ) es de suma importancia para la visión por computadora y la robótica implementadas en el mundo real, porque las técnicas actuales de coincidencia de características tienden a generar correspondencias altamente corruptas donde más de las correspondencias pueden ser valores atípicos. [20]
A continuación, describimos varios paradigmas comunes para el registro robusto.
El consenso máximo busca encontrar el conjunto más grande de correspondencias que sean consistentes con el modelo generativo ( cb.1 ) para alguna elección de transformación espacial . Formalmente hablando, el consenso máximo resuelve la siguiente optimización:
donde denota la cardinalidad del conjunto . La restricción en ( cb.4 ) impone que cada par de mediciones en el conjunto interno debe tener residuos menores que un umbral predefinido . Desafortunadamente, análisis recientes han demostrado que resolver globalmente el problema (cb.4) es NP-Hard , y los algoritmos globales normalmente tienen que recurrir a técnicas de ramificación y acotación (BnB) que toman una complejidad de tiempo exponencial en el peor de los casos. [21] [22] [23] [24] [25]
Aunque resolver la maximización del consenso con exactitud es difícil, existen heurísticas eficientes que funcionan bastante bien en la práctica. Una de las heurísticas más populares es el esquema de consenso de muestras aleatorias (RANSAC) . [26] RANSAC es un método iterativo de hipótesis y verificación. En cada iteración, el método primero toma aleatoriamente 3 muestras del número total de correspondencias y calcula una hipótesis utilizando el método de Horn, [16] luego el método evalúa las restricciones en ( cb.4 ) para contar cuántas correspondencias realmente concuerdan con dicha hipótesis (es decir, calcula el residuo y lo compara con el umbral para cada par de mediciones). El algoritmo termina después de haber encontrado un conjunto de consenso que tenga suficientes correspondencias, o después de haber alcanzado el número total de iteraciones permitidas. RANSAC es altamente eficiente porque el cálculo principal de cada iteración es llevar a cabo la solución de forma cerrada en el método de Horn. Sin embargo, RANSAC no es determinista y solo funciona bien en el régimen de baja relación de valores atípicos ( por ejemplo, a continuación ), porque su tiempo de ejecución crece exponencialmente con respecto a la relación de valores atípicos. [20]
Para llenar el vacío entre el rápido pero inexacto esquema RANSAC y la optimización BnB exacta pero exhaustiva, investigaciones recientes han desarrollado métodos aproximados deterministas para resolver la maximización del consenso. [21] [22] [27] [23]
Los métodos de eliminación de valores atípicos buscan preprocesar el conjunto de correspondencias altamente corruptas antes de estimar la transformación espacial. La motivación de la eliminación de valores atípicos es reducir significativamente la cantidad de correspondencias atípicas, mientras se mantienen las correspondencias internas, de modo que la optimización sobre la transformación se vuelva más fácil y eficiente ( por ejemplo, RANSAC funciona mal cuando la relación de valores atípicos es superior, pero funciona bastante bien cuando la relación de valores atípicos es inferior ).
Parra et al. han propuesto un método llamado Eliminación de valores atípicos garantizada (GORE) que utiliza restricciones geométricas para podar las correspondencias de valores atípicos al tiempo que garantiza la conservación de las correspondencias internas. [20] Se ha demostrado que GORE puede reducir drásticamente la proporción de valores atípicos, lo que puede aumentar significativamente el rendimiento de la maximización del consenso utilizando RANSAC o BnB. Yang y Carlone han propuesto construir mediciones invariantes de rotación y traducción por pares (TRIM) a partir del conjunto original de mediciones e incrustar TRIM como los bordes de un gráfico cuyos nodos son los puntos 3D. Dado que los valores internos son consistentes por pares en términos de la escala, deben formar una camarilla dentro del gráfico. Por lo tanto, el uso de algoritmos eficientes para calcular la camarilla máxima de un gráfico puede encontrar los valores internos y podar eficazmente los valores atípicos. [4] El método de eliminación de valores atípicos basado en la camarilla máxima también ha demostrado ser bastante útil en problemas de registro de conjuntos de puntos del mundo real. [19] Parra et al . también propusieron ideas similares de eliminación de valores atípicos . [28]
La estimación M reemplaza la función objetivo de mínimos cuadrados en ( cb.2 ) con una función de costo robusta que es menos sensible a los valores atípicos. Formalmente, la estimación M busca resolver el siguiente problema:
donde representa la elección de la función de costo robusta. Nótese que la elección recupera la estimación de mínimos cuadrados en ( cb.2 ). Las funciones de costo robustas populares incluyen la pérdida de norma, la pérdida de Huber , [29] la pérdida de Geman-McClure [30] y la pérdida de mínimos cuadrados truncados . [19] [8] [4] La estimación M ha sido uno de los paradigmas más populares para la estimación robusta en robótica y visión por computadora. [31] [32] Debido a que las funciones objetivo robustas son típicamente no convexas ( por ejemplo, la pérdida de mínimos cuadrados truncados vs. la pérdida de mínimos cuadrados), los algoritmos para resolver la estimación M no convexa se basan típicamente en la optimización local , donde primero se proporciona una estimación inicial, seguida de refinamientos iterativos de la transformación para seguir disminuyendo la función objetivo. La optimización local tiende a funcionar bien cuando la estimación inicial está cerca del mínimo global, pero también es propensa a quedarse atascada en mínimos locales si se proporciona con una inicialización deficiente.
La no convexidad graduada (GNC) es un marco de trabajo de propósito general para resolver problemas de optimización no convexos sin inicialización. Ha logrado el éxito en las primeras aplicaciones de visión y aprendizaje automático. [33] [34] La idea clave detrás de GNC es resolver el problema no convexo difícil comenzando desde un problema convexo fácil. Específicamente, para una función de costo robusta dada , se puede construir una función sustituta con un hiperparámetro , ajustándola para aumentar gradualmente la no convexidad de la función sustituta hasta que converja a la función objetivo . [34] [35] Por lo tanto, en cada nivel del hiperparámetro , se resuelve la siguiente optimización:
Black y Rangarajan demostraron que la función objetivo de cada optimización ( cb.6 ) se puede dualizar en una suma de mínimos cuadrados ponderados y una llamada función de proceso de valores atípicos sobre los pesos que determinan la confianza de la optimización en cada par de mediciones. [33] Utilizando la dualidad Black-Rangarajan y GNC adaptado a la función Geman-McClure, Zhou et al. desarrollaron el algoritmo de registro global rápido que es robusto frente a valores atípicos en las correspondencias. [30] Más recientemente, Yang et al. demostraron que el uso conjunto de GNC (adaptado a la función Geman-McClure y la función de mínimos cuadrados truncados) y la dualidad Black-Rangarajan puede conducir a un solucionador de propósito general para problemas de registro robusto, incluyendo nubes de puntos y registro de malla. [35]
Casi ninguno de los algoritmos de registro robustos mencionados anteriormente (excepto el algoritmo BnB que se ejecuta en tiempo exponencial en el peor de los casos) ofrece garantías de rendimiento , lo que significa que estos algoritmos pueden devolver estimaciones completamente incorrectas sin previo aviso. Por lo tanto, estos algoritmos no son recomendables para aplicaciones críticas para la seguridad, como la conducción autónoma.
Recientemente, Yang et al. han desarrollado el primer algoritmo de registro certificablemente robusto, denominado Estimación de mínimos cuadrados truncados y relajación semidefinida (TEASER). [19] Para el registro de nubes de puntos, TEASER no solo genera una estimación de la transformación, sino que también cuantifica la optimalidad de la estimación dada. TEASER adopta el siguiente estimador de mínimos cuadrados truncados (TLS):
que se obtiene eligiendo la función de costo robusta TLS , donde es una constante predefinida que determina los residuos máximos permitidos para ser considerados inliers. La función objetivo TLS tiene la propiedad de que para las correspondencias inliers ( ), se aplica la penalización de mínimos cuadrados habitual; mientras que para las correspondencias atípicas ( ), no se aplica ninguna penalización y los valores atípicos se descartan. Si la optimización TLS ( cb.7 ) se resuelve a optimalidad global, entonces es equivalente a ejecutar el método de Horn solo en las correspondencias inlier.
Sin embargo, resolver ( cb.7 ) es bastante desafiante debido a su naturaleza combinatoria. TEASER resuelve ( cb.7 ) de la siguiente manera: (i) Construye mediciones invariantes de modo que la estimación de escala, rotación y traslación se pueda desacoplar y resolver por separado, una estrategia que está inspirada en el método original de Horn; (ii) La misma estimación TLS se aplica para cada uno de los tres subproblemas, donde el problema TLS de escala se puede resolver exactamente usando un algoritmo llamado votación adaptativa, el problema TLS de rotación se puede relajar a un programa semidefinido (SDP) donde la relajación es exacta en la práctica, [8] incluso con una gran cantidad de valores atípicos; el problema TLS de traslación se puede resolver usando votación adaptativa componente por componente. Una implementación rápida que aprovecha GNC se encuentra disponible en código abierto aquí. En la práctica, TEASER puede tolerar más que correspondencias de valores atípicos y se ejecuta en milisegundos.
Además de desarrollar TEASER, Yang et al. también prueban que, bajo algunas condiciones moderadas en los datos de la nube de puntos, la transformación estimada de TEASER tiene errores limitados con respecto a la transformación de la verdad fundamental. [19]
El algoritmo iterativo de punto más cercano (ICP) fue introducido por Besl y McKay. [36] El algoritmo realiza un registro rígido de manera iterativa alternando en (i) dada la transformación, encontrando el punto más cercano en para cada punto en ; y (ii) dadas las correspondencias, encontrando la mejor transformación rígida resolviendo el problema de mínimos cuadrados ( cb.2 ). Como tal, funciona mejor si la pose inicial de es suficientemente cercana a . En pseudocódigo , el algoritmo básico se implementa de la siguiente manera:
algoritmo ICP( M , S ) θ := θ 0 mientras no esté registrado: X := ∅ para m i ∊ T ( M , θ ): ŝ i := punto más cercano en S a m i X := X + ⟨ m i , ŝ i ⟩ θ := mínimos_cuadrados( X ) devuelve θ
Aquí, la función least_squares
realiza una optimización de mínimos cuadrados para minimizar la distancia en cada uno de los pares, utilizando las soluciones de forma cerrada de Horn [16] y Arun. [17]
Debido a que la función de costo del registro depende de encontrar el punto más cercano en a cada punto en , puede cambiar mientras se ejecuta el algoritmo. Como tal, es difícil probar que ICP de hecho convergerá exactamente al óptimo local. [37] De hecho, empíricamente, ICP y EM-ICP no convergen al mínimo local de la función de costo. [37] No obstante, debido a que ICP es intuitivo de entender y sencillo de implementar, sigue siendo el algoritmo de registro de conjuntos de puntos más comúnmente utilizado. [37] Se han propuesto muchas variantes de ICP, que afectan a todas las fases del algoritmo desde la selección y coincidencia de puntos hasta la estrategia de minimización. [13] [38] Por ejemplo, el algoritmo de maximización de expectativas se aplica al algoritmo ICP para formar el método EM-ICP, y el algoritmo Levenberg-Marquardt se aplica al algoritmo ICP para formar el método LM-ICP. [12]
El emparejamiento de puntos robusto (RPM) fue introducido por Gold et al. [39] El método realiza el registro utilizando recocido determinista y asignación suave de correspondencias entre conjuntos de puntos. Mientras que en ICP la correspondencia generada por la heurística del vecino más cercano es binaria, RPM utiliza una correspondencia suave donde la correspondencia entre dos puntos cualesquiera puede ser cualquier valor entre 0 y 1, aunque finalmente converge a 0 o 1. Las correspondencias encontradas en RPM son siempre uno a uno, lo que no siempre es el caso en ICP. [14] Sea el punto n y el punto n . La matriz de emparejamiento se define como tal:
El problema se define entonces como: Dados dos conjuntos de puntos , encontrar la transformación afín y la matriz de coincidencia que mejor los relaciona. [39] Conocer la transformación óptima facilita la determinación de la matriz de coincidencia y viceversa. Sin embargo, el algoritmo RPM determina ambas simultáneamente. La transformación se puede descomponer en un vector de traslación y una matriz de transformación:
La matriz en 2D se compone de cuatro parámetros independientes , que son la escala, la rotación y los componentes de corte vertical y horizontal respectivamente. La función de costo es entonces:
sujeto a , , . El término sesga el objetivo hacia una correlación más fuerte al disminuir el costo si la matriz de coincidencia tiene más unos en ella. La función sirve para regularizar la transformación afín al penalizar valores grandes de los componentes de escala y de corte:
para algún parámetro de regularización .
El método RPM optimiza la función de costo utilizando el algoritmo Softassign. Aquí se derivará el caso 1D. Dado un conjunto de variables donde . Se asocia una variable con cada una de ellas de manera que . El objetivo es encontrar que maximice . Esto se puede formular como un problema continuo introduciendo un parámetro de control . En el método de recocido determinista , el parámetro de control se incrementa lentamente a medida que se ejecuta el algoritmo. Sea :
Esto se conoce como la función softmax . A medida que aumenta, se acerca a un valor binario como se desea en la ecuación ( rpm.1 ). El problema ahora se puede generalizar al caso 2D, donde en lugar de maximizar , se maximiza lo siguiente:
dónde
Esto es sencillo, excepto que ahora las restricciones en son restricciones de matriz doblemente estocásticas : y . Como tal, el denominador de la ecuación ( rpm.3 ) no se puede expresar para el caso 2D de manera simple. Para satisfacer las restricciones, es posible utilizar un resultado debido a Sinkhorn, [39] que establece que una matriz doblemente estocástica se obtiene a partir de cualquier matriz cuadrada con todas las entradas positivas mediante el proceso iterativo de normalizaciones alternas de filas y columnas. Por lo tanto, el algoritmo se escribe de la siguiente manera: [39]
algoritmo RPM2D t := 0 a , θ b , c := 0 β := β 0 mientras β < β f : mientras μ no ha convergido: // actualizar los parámetros de correspondencia por softassign // aplicar el método de Sinkhorn mientras no ha convergido: // actualizar normalizando en todas las filas: // actualizar normalizando en todas las columnas: // actualizar los parámetros de pose por descenso de coordenadas actualizar θ usando una solución analítica actualizar t usando solución analítica Actualizar a, b, c usando el método de Newton. Devolver a, b, c, θ y t.
donde el parámetro de control de recocido determinista se establece inicialmente en y aumenta por factor hasta que alcanza el valor máximo . Las sumas en los pasos de normalización suman y en lugar de solo y porque las restricciones en son desigualdades. Como tal, los elementos th y th son variables de holgura .
El algoritmo también se puede ampliar para conjuntos de puntos en 3D o dimensiones superiores. Las restricciones sobre la matriz de correspondencia son las mismas en el caso 3D que en el caso 2D. Por lo tanto, la estructura del algoritmo permanece inalterada, siendo la principal diferencia la forma en que se resuelven las matrices de rotación y traslación. [39]
El algoritmo de coincidencia robusta de puntos de spline de placa delgada (TPS-RPM) de Chui y Rangarajan amplía el método RPM para realizar un registro no rígido al parametrizar la transformación como un spline de placa delgada . [14] Sin embargo, debido a que la parametrización del spline de placa delgada solo existe en tres dimensiones, el método no se puede extender a problemas que involucran cuatro o más dimensiones.
El enfoque de correlación de kernel (KC) del registro de conjuntos de puntos fue introducido por Tsin y Kanade. [37] En comparación con ICP, el algoritmo KC es más robusto frente a datos ruidosos. A diferencia de ICP, donde, para cada punto del modelo, solo se considera el punto de escena más cercano, aquí cada punto de escena afecta a todos los puntos del modelo. [37] Como tal, este es un algoritmo de registro de múltiples enlaces . Para alguna función de kernel , la correlación de kernel de dos puntos se define de la siguiente manera: [37]
La función kernel elegida para el registro de conjuntos de puntos es típicamente un kernel simétrico y no negativo, similar a los utilizados en la estimación de densidad de la ventana de Parzen . El kernel gaussiano se utiliza típicamente por su simplicidad, aunque otros como el kernel de Epanechnikov y el kernel tricube pueden sustituirse. [37] La correlación kernel de un conjunto de puntos completo se define como la suma de las correlaciones kernel de cada punto del conjunto con cada uno de los otros puntos del conjunto: [37]
El logaritmo de KC de un conjunto de puntos es proporcional, dentro de un factor constante, a la entropía de la información . Observe que el KC es una medida de la "compacidad" del conjunto de puntos; trivialmente, si todos los puntos del conjunto de puntos estuvieran en la misma ubicación, el KC se evaluaría como un valor grande. La función de costo del algoritmo de registro de conjuntos de puntos para algún parámetro de transformación se define de la siguiente manera:
Algunas manipulaciones algebraicas dan como resultado:
La expresión se simplifica observando que es independiente de . Además, suponiendo un registro rígido, es invariante cuando cambia porque la distancia euclidiana entre cada par de puntos permanece igual bajo la transformación rígida . Por lo tanto, la ecuación anterior puede reescribirse como:
Las estimaciones de densidad del kernel se definen como:
Se puede entonces demostrar que la función de costo es la correlación de las dos estimaciones de densidad del kernel:
Una vez establecida la función de costo , el algoritmo simplemente utiliza el descenso de gradiente para encontrar la transformación óptima. Es computacionalmente costoso calcular la función de costo desde cero en cada iteración, por lo que se utiliza una versión discreta de la ecuación de función de costo ( kc.6 ). Las estimaciones de densidad de kernel se pueden evaluar en puntos de la cuadrícula y almacenar en una tabla de búsqueda . A diferencia del ICP y los métodos relacionados, no es necesario encontrar el vecino más cercano, lo que permite que el algoritmo KC sea comparativamente simple en su implementación.
En comparación con ICP y EM-ICP para conjuntos de puntos 2D y 3D ruidosos, el algoritmo KC es menos sensible al ruido y da como resultado un registro correcto con mayor frecuencia. [37]
Las estimaciones de densidad del núcleo son sumas de gaussianas y, por lo tanto, pueden representarse como modelos de mezcla gaussiana (GMM). [40] Jian y Vemuri utilizan la versión GMM del algoritmo de registro KC para realizar un registro no rígido parametrizado por splines de placa delgada .
Myronenko y Song introdujeron el método de deriva de puntos coherente (CPD, por sus siglas en inglés). [13] [41] El algoritmo adopta un enfoque probabilístico para alinear conjuntos de puntos, similar al método KC de GMM. A diferencia de los enfoques anteriores para el registro no rígido que suponen un modelo de transformación de spline de placa delgada , el CPD es agnóstico con respecto al modelo de transformación utilizado. El conjunto de puntos representa los centroides del modelo de mezcla gaussiana (GMM, por sus siglas en inglés). Cuando los dos conjuntos de puntos están alineados de manera óptima, la correspondencia es el máximo de la probabilidad posterior de GMM para un punto de datos dado. Para preservar la estructura topológica de los conjuntos de puntos, los centroides de GMM se ven obligados a moverse coherentemente como un grupo. El algoritmo de maximización de expectativas se utiliza para optimizar la función de costo. [13]
Sea M puntos en y N puntos en . La función de densidad de probabilidad del GMM para un punto s es:
donde, en D dimensiones, es la distribución gaussiana centrada en el punto .
Las probabilidades de pertenencia son iguales para todos los componentes del GMM. El peso de la distribución uniforme se denota como . El modelo de mezcla es entonces:
Los centroides del GMM se parametrizan nuevamente mediante un conjunto de parámetros estimados maximizando la verosimilitud. Esto es equivalente a minimizar la función de verosimilitud negativa :
donde se supone que los datos son independientes y se distribuyen de forma idéntica . La probabilidad de correspondencia entre dos puntos y se define como la probabilidad posterior del centroide del GMM dado el punto de datos:
El algoritmo de maximización de expectativas (EM) se utiliza para encontrar y . El algoritmo EM consta de dos pasos. Primero, en el paso E o paso de estimación , adivina los valores de los parámetros (valores de parámetros "antiguos") y luego utiliza el teorema de Bayes para calcular las distribuciones de probabilidad posterior de los componentes de la mezcla. Segundo, en el paso M o paso de maximización , los valores de los parámetros "nuevos" se encuentran minimizando la expectativa de la función de log-verosimilitud negativa completa, es decir, la función de costo:
Ignorando las constantes independientes de y , la ecuación ( cpd.4 ) se puede expresar así:
dónde
con solo si . Las probabilidades posteriores de los componentes del GMM calculadas utilizando valores de parámetros anteriores son:
Minimizar la función de costo en la ecuación ( cpd.5 ) necesariamente disminuye la función de log-verosimilitud negativa E en la ecuación ( cpd.3 ) a menos que ya esté en un mínimo local. [13] Por lo tanto, el algoritmo se puede expresar utilizando el siguiente pseudocódigo, donde los conjuntos de puntos y se representan como matrices y y respectivamente: [13]
algoritmo CPD θ := θ 0 inicializar 0 ≤ w ≤ 1 mientras no esté registrado: // Paso E, calcular P para i ∊ [1, M ] y j ∊ [1, N ]: // Paso M, resolver para la transformación óptima { θ , σ 2 } := resolver ( S , M , P ) devolver θ
donde el vector es un vector columna de unos. La función difiere según el tipo de registro realizado. Por ejemplo, en el registro rígido, la salida es una escala a , una matriz de rotación y un vector de traslación . El parámetro se puede escribir como una tupla de estos:solve
que se inicializa en uno, la matriz identidad y un vector columna de ceros:
El conjunto de puntos alineados es:
La solve_rigid
función de registro rígido puede entonces escribirse de la siguiente manera, con la derivación del álgebra explicada en el artículo de Myronenko de 2010. [13]
solve_rigid ( S , M , P ) N P := 1 T P1 U , V := svd ( A ) // la descomposición en valores singulares de A = UΣV T C := diag(1, …, 1, det( UV T )) // diag( ξ ) es la matriz diagonal formada a partir del vector ξ R := UCV T // tr es la traza de una matriz t := μ s − a R μ m return { a , R , t }, σ 2
Para el registro afín, donde el objetivo es encontrar una transformación afín en lugar de una rígida, la salida es una matriz de transformación afín y una traducción tal que el conjunto de puntos alineados es:
La solve_affine
función de registro rígido puede entonces escribirse de la siguiente manera, con la derivación del álgebra explicada en el artículo de Myronenko de 2010. [13]
solve_affine(S, M, P) NP := 1TP1 t := μs − Bμm return {B, t}, σ2
It is also possible to use CPD with non-rigid registration using a parametrization derived using calculus of variations.[13]
Sums of Gaussian distributions can be computed in linear time using the fast Gauss transform (FGT).[13] Consequently, the time complexity of CPD is , which is asymptotically much faster than methods.[13]
A variant of coherent point drift, called Bayesian coherent point drift (BCPD), was derived through a Bayesian formulation of point set registration.[42]BCPD has several advantages over CPD, e.g., (1) nonrigid and rigid registrations can be performed in a single algorithm, (2) the algorithm can be accelerated regardless of the Gaussianity of a Gram matrix to define motion coherence, (3) the algorithm is more robust against outliers because of a more reasonable definition of an outlier distribution. Additionally, in the Bayesian formulation, motion coherence was introduced through a prior distribution of displacement vectors, providing a clear difference between tuning parameters that control motion coherence. BCPD was further accelerated by a method called BCPD++, which is a three-step procedure composed of (1) downsampling of point sets, (2) registration of downsampled point sets, and (3) interpolation of a deformation field.[43]The method can register point sets composed of more than 10M points while maintaining its registration accuracy.
An variant of coherent point drift called CPD with Local Surface Geometry (LSG-CPD) for rigid point cloud registration.[44] The method adaptively adds different levels of point-to-plane penalization on top of the point-to-point penalization based on the flatness of the local surface. This results in GMM components with anisotropic covariances, instead of the isotropic covariances in the original CPD.[13] The anisotropic covariance matrix is modeled as:
where
is the anisotropic covariance matrix of the m-th point in the target set; is the normal vector corresponding to the same point; is an identity matrix, serving as a regularizer, pulling the problem away from ill-posedness. is penalization coefficient (a modified sigmoid function), which is set adaptively to add different levels of point-to-plane penalization depending on how flat the local surface is. This is realized by evaluating the surface variation [45] within the neighborhood of the m-th target point. is the upper bound of the penalization.
The point cloud registration is formulated as a maximum likelihood estimation (MLE) problem and solve it with the Expectation-Maximization (EM) algorithm. In the E step, the correspondence computation is recast into simple matrix manipulations and efficiently computed on a GPU. In the M step, an unconstrained optimization on a matrix Lie group is designed to efficiently update the rigid transformation of the registration. Taking advantage of the local geometric covariances, the method shows a superior performance in accuracy and robustness to noise and outliers, compared with the baseline CPD.[46] An enhanced runtime performance is expected thanks to the GPU accelerated correspondence calculation. An implementation of the LSG-CPD is open-sourced here.
This algorithm was introduced in 2013 by H. Assalih to accommodate sonar image registration.[47] These types of images tend to have high amounts of noise, so it is expected to have many outliers in the point sets to match. SCS delivers high robustness against outliers and can surpass ICP and CPD performance in the presence of outliers. SCS doesn't use iterative optimization in high dimensional space and is neither probabilistic nor spectral. SCS can match rigid and non-rigid transformations, and performs best when the target transformation is between three and six degrees of freedom.
{{cite book}}
: |journal=
ignored (help)