• No se han encontrado resultados

Capítulo 3. Sistema propuesto

3.1.1. Extracción del objeto

3.1.1.2. Filtro de ruido

El filtro de ruido permite remover todos aquellos puntos que pudieran ser anómalos respecto al resto de la nube de puntos. Para esto cada punto tomak vecinos y calcula la distancia promedio que hay en ellos. Después se calcula el promedio y la desviación estándar para determinar el umbral como se muestra en la ecuación (46)

T < μ+σ, valores válidos; T μ+σ, valores inválidos.

(46)

Los valores que estén por debajo del umbral son considerados valores válidos y los que estén fuera del umbral valores inválidos.

3.1.1.3. Filtro de plano

Aunque la reconstrucción 3D se pudiera llevar a cabo sin remover el plano, remo- verlo es un paso importante para evitar que el algoritmo de registro encuentre un mínimo local. Esto se debe a que el plano puede tener gran cantidad de puntos y el proceso de registro tenga prioridad haciendo la alineación correctamente de los planos del objeto pero no de la orientación del objeto. Para remover el plano se debe tener conocimiento previo de la normal de la superficie a remover, la máxima distancia an- gular que pueda variar entre cada una de las normales de los puntos que conforman el plano y la distancia máxima que puede tener un punto al plano. Para esto se utilizó el algoritmo MSAC (MSAC, M-estimator SAmple Consensus) (Torr y Zisserman, 2000) para evaluar la contribución que dan los puntos del modelo basados en la distancia del punto al plano.

3.1.2. Extracción de características

Como se mencionó en 2.9. La extracción de características permite encontrar e identificar puntos en común entre dos objetos que poseen características similares. Estos puntos tentativamente pertenecen a la misma región del objeto pero pueden sufrir diferentes transformaciones o ser capturados de diferentes puntos de vista.

3.1.2.1. Generación de Malla

Como entrada para algunos detectores-descriptores de nubes de puntos es necesa- rio convertir la nube de puntos en una malla. Uno de los tipos mas comunes de mallas es la malla triangular. Esta se genera a partir de una nube de puntos en el cual ca- da uno de los puntos representa un vértice, tres vértices interconectados forman una cara (triángulo) y estas interconexiones son llamadas aristas. Para generar la malla triangular se utilizó el algoritmo de giro de bola (Ball-pivoting algorithm) (Bernardini et al., 1999). Este algoritmo inicia con una bola de radio r que genera un triángulo si tres puntos están dentro sin contener ningún otro. La bola se mueve sobre una arista hasta encontrar otro punto y formar otro triángulo. El proceso continúa hasta que se alcanzan todas las aristas y si no, se vuelve a iniciar con otro triángulo hasta que todos los puntos hayan sido considerados para la malla.

3.1.2.2. Descriptor

Para la etapa de detección de características se evaluaron cuatro detectores, Ha- rris(2.9.1.1), ISS(2.9.1.2), SUSAN(2.9.1.3) y SIFT(2.9.1.4) en combinación con cinco descriptores PFH(2.9.2.1), SHOT(2.9.2.2), 3DSC(2.9.2.3), RIFT(2.9.2.4) y RSD(2.9.2.5) utilizando la biblioteca PCL (Point Cloud Library) (Rusu y Cousins, 2011) con sus valo- res predeterminados. Para evaluar el desempeño se utilizó el conjunto de datos “frei- burg1_teddy” descrito en Sturm et al. (2012). Las imágenes RGB y de profundidad permiten obtener las nubes de puntos para aplicar los detectores y descriptores.

El criterio de evaluación se basó en encontrar la mejor distancia δb y la segunda mejor distanciaδsen la correspondencia del descriptor. Para cada correspondencia se evaluór de la siguiente manera:

r= δb δs

. (47)

Se utilizórcomo un umbral que define la eficiencia del detector descriptor y encuentra correspondencias potenciales. Si r es cercano a 1, significa que las dos distancias de las correspondencias son similares, por lo que no es fácil distinguir la correspondencia correcta. Si el valor es cercano a 0, quiere decir que la mejor distancia y la segun- da mejor distancia están suficientemente alejadas, lo que permite distinguir mejor la

correspondencia.

Las combinaciones de detectores y descriptores fueron analizadas utilizando el ter- minor junto con la exhaustividad. La exhaustividad se define como las corresponden- cias que se determinaron validas entre el total de correspondencias correctas,

exhaustividad= correspondencias validas correspondencias correctas

, (48)

esta medida nos permite identificar que correspondencias son relevantes. Las corres- pondencias validas se determinaron para diferentes valores der. Al conjunto de datos se le aplicó un submuestreo de 1px por cm3 y un filtro de ruido (3.1.1.2) usando unak con el valor de 20 vecinos. Las normales de los detectores y descriptores se determi- naron utilizando un vecindario de 10cm de radio.

La Figura 6 muestra la comparación entre los detectores y descriptores. Analizando los resultados obtenidos, la combinación de Harris (2.9.1.1) y SHOT (2.9.2.2) fue ele- gida debido a que con unar=0.3, es decir, 30 % de los puntos de interés, se obtiene una exhaustividad de 45 %. 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 1 δb/δs e xhaustividad PFH SHOT SC RIFT RSD

(a) Detector Harris, 71 puntos de interés.

0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 δb/δs e xhaustividad PFH SHOT SC RIFT RSD

0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 δb/δs e xhaustividad PFH SHOT SC RIFT RSD

(c) Detector SIFT, 167 puntos de interés.

0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 δb/δs e xhaustividad PFH SHOT SC RIFT RSD

(d) Detector SUSAN, 345 puntos de interés. Figura 6: Combinación entre detectores y descriptores.

3.1.2.3. Correspondencia y filtrado

Después de obtener los puntos de interés junto a su descriptor, la correspondencia se realizó determinando la menor distancia euclidiana entre los descriptores. Debido a que se pueden presentar falsas correspondencias, se utilizó una versión modificada del algoritmo de RANSAC (Fischler y Bolles, 1981) como se muestra en la Figura 7.

Nube1

Nube2

selección n

correspondencias Kabsch error < ε Almacenamos correspondencias Descartamos correspondencias si no repetir i veces no Ac=1 Ac=1

Kabsch con las correspondencias almacenadas si no se incrementa error

Figura 7: Filtrado de falsas correspondencias.

En este algoritmo se define un umbralε, un númerode iteraciones y un númeron de correspondencias. El algoritmo comienza seleccionandoncorrespondencias aleato- rias y aplicando el algoritmo de Kabsch (2.10.1.2) para encontrar una transformación que permita alinear las correspondencias. Si la distancia euclidiana de la alineación

entre los puntos es menor que ε, las correspondencias son consideradas válidas, de lo contrario son consideradas inválidas y repetimos el proceso veces. Si después de terminar el número de iteraciones no se encontró ningún valor válido, se aumenta el umbral ε entre 5 % y 10 % hasta poder determinar algún valor válido repitiendo las iteraciones. El último paso es aplicar el algoritmo de Kabsch para determinar la transformación inicial utilizando las correspondencias válidas.

Documento similar