Download - ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Transcript
Page 1: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALES

Alberto Baena Alonso*

[email protected]

Pedro Martín Lerones$

[email protected]

Jaime Gómez García-Bermejo*

[email protected]

* Universidad de Valladolid- ETSIIPaseo del Cauce, s/n

47011-Valladolid (España)

$Centro Tecnológico CARTIFDpto. de Visión Artificial

Parque Tecnológico de Boecillo, Parcela 20547151-Boecillo (Valladolid)-España

Resumen

Se propone un algoritmo mediante el que se van aalinear dos nubes de puntos tridimensionales,expresadas en distintas referencias ycorrespondientes a un objeto dado. El objetivo esencontrar la matriz de rotación y el vector detraslación que aplicados a una nube de puntos, nospermitan alinearla con la otra.

El algoritmo está basado en:

- El algoritmo ICP, que requiere encontrar elpunto más cercano de una nube de puntos a unpunto dado de otra nube. El algoritmo ICPsiempre converge monótonamente a un mínimolocal de una distancia cuadrática media. La tasade convergencia es rápida durante las primerasiteraciones. Dado un conjunto adecuado deestados iniciales de rotaciones y traslaciones sepuede minimizar globalmente la distanciacuadrática media.

- Muestreo aleatorio. Nos vamos a quedarúnicamente con una muestra de una imagen quevamos a alinear con otra imagen. El tomar sólouna muestra nos va a permitir, por un lado,reducir el tiempo empleado en la ejecución delprograma y, por otro, hacerlo robusto enpresencia de puntos extraños ( outliers ).

- Se repite el muestreo y se prueba varias veces elalgoritmo ICP. El objetivo es minimizar unadistancia. Al probar varias veces con distintasmuestras nos quedaremos con los siguienteselementos: matriz de rotación y vector detraslación que nos den la mínima distancia de

todas. Por tanto, el método no necesita sersuavizado, ni que se eliminen los puntos extraños, yaque por probabilidad nos quedaremos con unamuestra libre de esos puntos, que se alinearáadecuadamente dando la menor distancia.

Palabras Clave: Alineamiento de imágenestridimensionales. Estimación del movimiento.Reconstrucción de superficies.

1 INTRODUCCIÓN

La construcción de modelos tridimensionales deobjetos reales ha ganado un creciente interés. Loscampos de aplicación de los modelos 3-D sonamplios, desde inspección automática de piezas,diseño de productos industriales o Medicina, hastacreación de museos virtuales e imágenes generadaspor computador para películas, multimedia ycomercio electrónico.

El proceso de construcción de una imagen 3-D de unobjeto real involucra dos fases [6],[7]: una la medidade la superficie (un escaneado 3-D) y otra, unareconstrucción de los datos adquiridos.

Se pueden usar distintas técnicas para medirsuperficies de objetos. Sin embargo la más apropiadaes la técnica que emplea triangulación óptica con luzestructurada [6],[7]. Es una técnica de no contactoque permite una rápida, precisa y densa medida.Permite también la adquisición de color.

Page 2: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Generalmente para obtener una completa descripciónde las superficies de los objetos con este tipo deescaneado es necesario obtener varias imágenesdesde diferentes puntos de vista debido al problemade la autooclusión. Estas imágenes tienen regiones desolapamiento. Primeramente todas las nubes depuntos constitutivas de cada imagen deben seralineadas en el mismo sistema de referencia, y este esel objeto central del presente artículo. Posteriormentese integran las imágenes [3],[9] y se crea un modelono redundante en el que no hay superficies solapadas.

Existen también distintas técnicas para conseguir elalineamiento. Podemos clasificarlas en dos grupos:las basadas en el algoritmo ICP descrito por Besl yMckay [1] y el algoritmo descrito por Chen yMedioni [2]. El primero tiene el inconveniente de queuna imagen debe ser un subconjunto de la siguiente yademás es necesario conocer una bastante buenaaproximación inicial. En caso contrario, elalineamiento podría ser distinto para cada nube depuntos o podría tardar mucho tiempo el ir probandoaproximaciones iniciales con objeto de acercarnos ala solución correcta. El segundo grupo de técnicasrequiere que se evalúen normales en los puntos de lasuperficie para hallar intersecciones con la otrasuperficie que se pretende alinear, aumentando lacomplejidad.

En este artículo se va a utilizar la idea de Besl yMckay [1] como punto de partida, y además la ideadel muestreo aleatorio propuesta por Takeshi Masuday Naokazu Yokoya [6], que llevan a cabo dichomuestreo varias veces con el propósito de que elalgoritmo sea robusto en presencia de ruido. Elinconveniente de la idea de Masuda y Tokoya, talcomo fue planteada, era que no aseguraba laconvergencia a la solución correcta incluso en el casode tomar una muestra libre de ruido, además delelevado tiempo de cálculo.

En el artículo que nos ocupa se solventa el problemade que cuando se consigue una muestra libre de ruidoque converja a la solución correcta, se aumente eltiempo de cálculo, dado que en la comparación dedistancias entre las nubes de puntos únicamentetenemos en cuenta la distancia de la muestra de unaimagen respecto de la otra, verificándose que seobtienen buenos resultados como posteriormenteveremos.

2 DESCRIPCIÓN DEL ALGORITMOEMPLEADO

Como punto de partida se tienen dos nubes de puntosRI y RII. Se pretende alinear RI con RII. Para ello esnecesario encontrar una matriz de rotación y unvector de traslación, denotando al conjunto como

TLMS, tal que TLMS(RI) se alinee con RII. El algoritmo

pretende encontrar iterativamente este valor de TLMS.

[1],[6].

1. Inicialización: TLMS ← T0. El programa permiteuna inicialización introducida por el usuario siéste así lo desea.

2. Un conjunto de Ns puntos PRSI es extraído de RI

de forma aleatoria: PRSI ← RS(RI,Ns) .

3. Se probarán distintas rotaciones y traslacionesiniciales en este paso, es decir repetir los pasosa), b), c) que seguidamente describimos en elcaso de que en el paso 1 no se haya elegido laopción de inicialización. En caso contrario seprobará únicamente con la traslación y rotacióninicial introducida por el usuario.

a)- El conjunto de puntos PRSI es usado por

el algoritmo ICP con la segunda imagen RII

para estimar los parámetros del movimiento. TICP,n ← ICP(PRS

I, TLMS, RII).

b)- El movimiento estimado es evaluado pordticp(PRS

I, TICP,n, RII).

c)-Si dticp(PRSI , TICP,n , RII) < dtlms(PRS

I,TLMS, RII), siendo dtmls la función que nosmarca un valor para la distancia entre PRS

I yRII, entonces se sustituye TLMS ← TICP,n.

Se observan ventajas en tiempo de ejecucióna la hora de comparar en la distancia dticpúnicamente la muestra de RI, PRS

I ,en vez deutilizar toda la imagen RI.

4. Repetimos los pasos 2-3 tomando n de 1 hastaNT, siendo NT es el número de pruebas.

El movimiento resultante TLMS satisface dtlms(PRSI ,

TLMS, RII)=mín dticp(PRS

I , TICP,n , RII) 1 ≤n≤NT y

este hecho constituye el resultado de la estimación demovimiento dtlms entre RI y RII.

2.1 MUESTREO ALEATORIO

Es una técnica que prueba conseguir una buenaestimación empleando una submuestra que contienesolamente inliers (puntos constitutivos de una nubede los mismos).

Aplicamos esto a la primera vista RI tomando Nspuntos PRS

I de ella de forma aleatoria.

Sea ε la tasa de outliers (puntos extraños) talescomo ruido y puntos ocluídos.

La probabilidad de dibujar un inlier en el muestreoaleatorio es 1-ε . La probabilidad de de que cogiendoNs puntos todos sean inliers es (1-ε )Ns.

La probabilidad de que al menos una submuestra estécompuesta de únicamente inliers en NT pruebasviene dada por: P(ε ,Ns,NT)=1-(1-(1-ε )Ns)N

T.

Page 3: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Esta probabilidad aumenta si ε tiende a cero, Nsdisminuye, o NT aumenta.

2.2 APLICACIÓN DEL ALGORITMO ICP

El conjunto de puntos PRSI seleccionado por el

muestreo aleatorio y la segunda vista RII , van aseguir el algoritmo ICP [1].

Cada piI∈ PI es temporalmente emparejado al puntomás cercano piII∈ RII, que satisface || piI- piII||=mín|| piI-rII||, con rII∈ RII.

De este modo determinamos un conjunto de puntosPII={piII} (1 ≤ i ≤ Ns) que denotamos comoPII=C(PI , RII).

Los conjuntos PI y PII son usados para estimar losparámetros del movimiento rígido TICP usando larepresentación de cuaternios, como veremos en elapdo. 2.3. El conjunto PI es sustituido por TICP(PRS

I) yestos a su vez son iterados hasta que PI y PII

convergen.

El algoritmo ICP (ICP(PRSI, TLMS, RII)) se resume

como sigue:

Se inicializa TLMS y se siguen estos pasos:

1. k ←1, PI ← TLMS(PRSI), d0 ← ∞ .

2. La correspondencia del punto es establecida: PII ← C(PI , RII).3. El movimiento entre puntos parejos es estimado

usando la representación de cuaternios.TICP ←Q(PRS

I, PII)4. Aplicamos el movimiento estimado al conjunto

de puntos PI ← TICP(PRSI).

5. Evaluamos la distancia entre los conjuntos depuntos PI y PII : dk ←d(PI, PII).

6. Los pasos 2-5 son repetidos, incrementandok ←k+1, hasta que dk-1 y dk<τσ , donde dk

=d(PI, PII) es la suma de los errores al cuadradomedios entre piI y piII:

kd = ∑=

−Np

i

IIi

Ii pp

Np1

2||||1

(1)

τ es la tolerancia de convergencia.

El factor de escala representa el tamaño de PRSI y es

definido como la raíz cuadrada de la traza de lamatriz de covarianza de PRS

I. Se ha probado que losdk decrecen monótonamente.

El procedimiento que es más costoso en términos decomputación es el establecimiento de lacorrespondencia del punto.

El coste computacional del algoritmo ICP original esO(N(RI) N(RII)) donde N( ∗ ) es el número de puntosde la vista. Puede llegar a O(NTNs N(RII)) con NT

pruebas.

El algoritmo mejora si se cumple que NTNs<N(RI).

Este algoritmo ICP original evita el problema demínimo local usando muchos movimientos iniciales.

Pasamos a describir la siguiente aproximación.Utilizaremos una optimización estocástica: tomamosun muestreo aleatorio y estimaremos la mínimadistancia. Con todo ello se consigue que el métodoque se describe sea robusto ante ruido y así acelerarla convergencia.

2.3 ESTIMACIÓN DEL MOVIMIENTORÍGIDO USANDO REPRESENTACIÓN DECUATERNIOS

Determinamos los parámetros T entre puntos parejosPI y PII minimizando la función:

∑=

Ns

iNs 1

1||piII-T(piI)||2 (2)

Este modo de operar fue introducido originalmentepor Faugeras, Herbert y Horn, pero fueron Besl yMckay quienes lo resumieron en su algoritmo ICP[1]. Existe otra técnica efectiva para resolver esteproblema, que está basada en la descomposición delvalor singular.

La aproximación de la descomposición del valorsingular (SVD) basada en la matriz de covarianzacruzada de dos conjuntos de puntos se puedegeneralizar fácilmente en el caso n-dimensional yserá el método a usar cuando n>3.

El cuaternio unitario es un vector de cuatrodimensiones:

Rq!

=

3

2

1

0

q

q

q

q

donde 0q ≥ 0 y

23

22

21

20 qqqq +++ =1

La matriz de rotación R de dimensiones 3x3generada por el cuaternio es:

Primera columna:2

0q + 21q - 2

2q - 23q

2( 1q 2q + 0q 3q )

2( 1q 3q - 0q 2q )

Page 4: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Segunda columna:

2( 1q 2q - 0q 3q )

20q + 2

2q - 21q - 2

3q

2( 2q 3q + 0q 1q )

Tercera columna:

2( 1q 3q + 0q 2q )

2( 2q 3q - 0q 1q )

20q + 2

3q - 21q - 2

2q

Sea Tq el vector de traslación

Tq!

=

6

5

4

q

q

q

El vector completo de registración es q!

=

T

R

q

q!

!

Sea P={ ip!

} el conjunto de puntos que se va a

alinear con un conjunto de puntos modelo X={ ix!

},

donde xN = pN y cada punto ip corresponde al

punto ix con el mismo índice. La función objeto a

minimizar es:

∑=

−−=Np

iTiRi qpqRx

Npqf

1

2||)(||1

)(!!!!!

(3)

Sea ∑=

=Np

iip p

Np1

1 !µ la posición centro de masas del

conjunto P.

Análogamente, ∑=

=Nx

iix x

Nx1

1 !µ la posición del

centro de masas del conjunto X.

La matriz de covarianza cruzada de los conjuntos P yX es:

∑PX= ∑

=

−−Np

i

txipi xp

Np1

))([(1 µµ

!!!!]=

= ∑=

−Np

i

txp

tii xp

Np1

}{1 µµ

!!!! (4)

Formamos ahora la matriz antisimétrica:

ijA =(∑PX-∑PX

t ) ij

Y será empleada para formar el vector

=∆

12

31

23

A

A

A

,

que a su vez se incluye en la matriz de dimensiones4x4 :

Q(∑PX)

con los siguientes elementos:

Primera columna:

tr(∑PX)

Segunda columna:

∆ t

∑PX+

t

PX∑ -tr(∑PX) 3I

donde 3I es la matriz identidad 3x3.

El autovector unitario Rq!

=[ 0q 1q 2q 3q ] t

correspondiente al máximo autovalor de la matriz

Q(∑PX) es seleccionado como la rotación óptima.

La traslación óptima es dada por el vector

Tq!

= xµ!

-R( Rq"

) pµ! .

La operación de mínimos cuadrados es en este casode coste O(Np).

Experimentalmente se encuentra rápida convergenciade este método durante las primeras iteraciones ydisminuye la velocidad de convergencia cuando seaproxima al mínimo local.

Entre 30 y 50 iteraciones se producen excelentes

resultados, siendo kd ≈ 0,1% del tamaño del

modelo.

Recordemos que este método es correcto si se danmás de tres pares de puntos, y con él hemosencontrado el movimiento TLMS correspondiente almínimo dticp de las evaluaciones de TICP,n quecitamos en el apdo.2.

3 RESULTADOS

Para la obtención de datos de un objeto, es decir, suscoordenadas tridimensionales, se ha utilizado unprototipo desarrollado en la ETSII de la Universidadde Valladolid, que además permite obtener el color

Page 5: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

de ese objeto. El sistema utiliza el método activo detriangulación óptica con luz estructurada [6], [7].

Tal sistema consta de un proyector láser y doscámaras. El láser emite un plano de luz en forma deabanico y las cámaras están localizadas a cada ladode ese plano de iluminación. Esto reduce losproblemas de sombra, dado que si una zona no esvista por una cámara, puede ser vista por la otra.Cada cámara adquiere los datos independientementede la otra y posteriormente se realiza una integraciónde los mismos. Para escanear secuencialmente losdiferentes puntos del objeto se usa una plataformamotorizada con dos ejes (uno de rotación y otro detranslación) para desplazar el objeto con respecto a lafuente de luz, permitiéndose así un escaneadorectangular y/o cilíndrico. La fuente de luz y lacámara están fijas y el objeto se mueve con respectoa ellas. El proceso completo es controlado por unordenador tanto para obtener los datos de la imagencomo para mover los motores de la plataforma, asícomo para ejecutar el sofware necesario para lacalibración del sistema .

3.1 PRIMERA PRUEBA

Como primera prueba del algoritmo se va a intentaralinear una parte de un busto del afamado pintorPablo Picasso, en concreto la parte que comprende lanariz, boca y ligeramente el torso, con el busto en sutotalidad.

Para ello el programa nos permite examinar cómoquedan inicialmente los conjuntos de puntos aalinear. Los puntos azules serían el modelo, ycorresponden al busto entero de Picasso. Los puntosrojos serían la parte de Picasso que se pretende sealinee con todo el busto. Así obtenemos lassiguientes figuras:

Figura 1A: Examen inicial de los dos conjuntos depuntos a alinear. En azul: busto en su totalidad. Enrojo: parte del busto que se pretende alinear con su

totalidad.

Se ha tomado una muestra de Ns=20 puntos y se hanrealizado NT=9 pruebas. La muestra Ns no es muypequeña, tampoco son demasiadas pruebas NT, perose consiguen buenos resultados.

El uso de un navegador nos permite mover y girar elobjeto para observar distintas perspectivas delmismo, así como en el caso que nos ocupa, laposición relativa de una parte del busto con todo él.Distintas perspectivas son las siguientes:

Figura 1B: Examen inicial de los dos conjuntos depuntos a alinear. Vista desde la parte superior de lacabeza del busto. La oquedad central muestra unazona no iluminada por luz láser. Azul: busto en su

totalidad. Rojo: parte del busto que se pretendealinear con su totalidad.

Page 6: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Perspectiva 1C:

Figura 1C: Examen inicial de los dos conjuntos depuntos a alinear en perspectiva frontal. Azul: busto

en su totalidad. Rojo: parte del busto que se pretendealinear con su totalidad.

Perspectiva 1D:

Figura 1D: Examen inicial de los dos conjuntos depuntos a alinear en la perspectiva marcada en el

sistema de ejes dado. Azul: busto en su totalidad.Rojo: parte del busto que se pretende alinear con su

totalidad.

A raíz de los exámenes en perspectiva dados por lasfiguras 1A-D, se procede a dar una aproximación delángulo de giro y una traslación inicial. La experiencianos muestra que la alineación es tanto más precisacuanto en la aproximación la parte parcial del bustoes externa a todo él, es decir, que no quede unconjunto de puntos dentro de otro.

Con ello, tal aproximación inicial consta de un girode –35º en torno al eje Y, con una traslación de valor–25 en referencia al eje X, con el objetivo de que sede el efecto indicado en el párrafo anterior.

Los resultados son los siguientes:

Figura 2A: Perspectiva lateral de la totalidad delbusto examinado (en azul ) y la nube de puntos a

alinear con él (en rojo), dada la aproximación inicial–35º en torno a Y y translación de valor –25 respecto

a X.

Perspectiva 2B:

Figura 2B: Vista desde la parte superior de laperspectiva indicada en la figura anterior. Azul: busto

en su totalidad. Rojo: parte del busto a alinear.

Se observa entonces que la aproximación inicial dadaes bastante buena. La parte del busto a alinear quedabastante cerca de su posición correcta y ligeramenteseparada de él, condición adecuada para que elalineamiento sea correcto.

Después de ejecutar el programa de alineamiento, losresultados son los siguientes:

Page 7: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Figura 3A: Vista lateral del alineamiento producidoen la primera prueba. Azul: busto en su totalidad.

Rojo: parte del busto a alinear.

Perspectiva 3B:

Figura 3B: Vista desde la parte superior de laperspectiva indicada en la figura anterior. Azul: busto

en su totalidad. Rojo: parte del busto a alinear.

Perspectiva 3C:

Figura 3C: Vista frontal del alineamiento producidoen la primera prueba. Azul: busto en su totalidad.

Rojo: parte del busto a alinear.

Perspectiva 3D:

Figura 3D: Vista según el sistema de ejes dado, delalineamiento producido en la primera prueba. Azul:busto en su totalidad. Rojo: parte del busto a alinear.

A la vista de los resultados se comprueba que elalineamiento ha sido correcto y además se observacómo también es robusto en presencia de ruido. Eneste caso el ruido está constituído por los puntos de laplataforma que aparecen debajo del busto y que no sevan a alinear con ningún otro punto. La parte delbusto y todo él están tomados en posiciones distintas,de ahí que aparezcan puntos de la plataforma endistintos sitios que realmente no son útiles paraalinear, pero el programa empleado, al tomar unamuestra aleatoria en distintas pruebas alinea, puespor probabilidad habrá una de esas muestras quecontenga bastantes puntos que sí se pueden alinear.

Page 8: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

3.2 SEGUNDA PRUEBA

Como segunda prueba se llevará a cabo unareconstrucción propiamente dicha y para ello se va aintentar alinear un lateral del busto de Picasso conotro lateral. Estos laterales tienen partes que sesolapan y partes que no. Como inconvenientetenemos el hecho de que si la parte que no se solapaes muy grande entonces el programa intentará alineartodo el lateral con el otro y esto no nos interesa. Nosimporta que únicamente se alineen las partes que sesolapan. Para ello nuestro programa nos permitetomar una buena parte de la región de solapamientointroduciendo por teclado el número de puntosaproximados que tiene una traza del láser, el ángulode separación entre dichas trazas y el ánguloaproximado con el que queremos fijar del lateral(llamada vista o imagen en general).

La forma de proceder es similar a la descrita en elapdo.3.1. Primeramente visualizamos cómo quedanlos laterales de modo inicial:

Figura 4A: Examen inicial. Segunda prueba. Vistafronto-lateral. Azul: primer lateral. Rojo: segundo

lateral a alinear.

Perspectiva 4B:

Figura 4B: Examen inicial. Segunda prueba. Vistadesde la parte superior de la figura anterior. Azul:

primer lateral. Rojo: segundo lateral a alinear.

Con las figuras 4A-B se observa que las imágenes sesolapan mucho. Pero además hay otra buena parteque no se solapa, con lo que el alineamiento no va aser bueno.

Para mejorar tal situación, vía programa damos ungiro de 90º en torno del eje Y, y una traslación inicialde valor 20 en el eje X a la nube de puntos roja. Lanueva situación es ahora la siguiente:

Figura 5A: Segunda prueba. Nueva composicióninicial. Vista fronto-lateral. Azul: primer lateral.

Rojo: segundo lateral a alinear.

Page 9: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Perspectiva 5B:

Figura 5B: Segunda prueba. Nueva composicióninicial. Vista desde la parte superior de la figura

anterior. Azul: primer lateral. Rojo: segundo lateral aalinear.

Se observa una gran parte que no se solapa, con loque procedemos a quitar una parte del lateral derechode la figura 5B y quedarnos con la otra. Así tenemos:

Figura 5C: Segunda prueba. Reestructuración de lacomposición inicial de la figura 5B. Azul: primer

lateral. Rojo: segundo lateral a alinear.

Es ahora cuando la región de solapamiento entre loslaterales a alinear es mayor. Entonces se procede a laejecución del programa, obteniéndose los siguientesresultados en unos pocos segundos:

Figura 6A: Segunda prueba. Resultado de laalineación en perspectiva fronto lateral. Azul: primer

lateral. Rojo: segundo lateral a alinear.

Perspectiva 6B:

Figura 6B: Segunda prueba. Resultado de laalineación en vista desde la parte superior de la figuraanterior. Azul: primer lateral. Rojo: segundo lateral a

alinear.

Se observa entonces el adecuado alineamiento,incluso aunque haya una parte que no se solape o queaparezcan puntos de la plataforma que no se alineancon ninguno, certificándose de nuevo la robustez delmuestreo.

Ahora, para la representación completa sólo restatransformar todo el lateral inicial derecho (tomadosólo en parte por la consideración descrita tras lafigura 5B) con la misma matriz de rotación y vectorde traslación obtenidos en el alineamiento dado,resultando:

Page 10: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Figura 7A: Resultado final de la alineación de los doslaterales seleccionados en perspectiva fronto-lateral.Azul: primer lateral. Rojo: segundo lateral a alinear.

Perspectiva 7B:

Figura 7B: Resultado final de la alineación de los doslaterales seleccionados en vista superior con respecto

a la anterior. Azul: primer lateral. Rojo: segundolateral a alinear.

Siguiendo este procedimiento con distintas vistas esposible obtener una imagen tridimensional de unobjeto, en este caso del busto de Picasso. En lasregiones de solapamiento ha de emplearse unaintegración que consiste en eliminar puntos que seanredundantes.

Tomando datos con más precisión, con las trazas máspróximas entre sí, se obtiene una representación másadecuada del objeto, aunque obviamente, se pierderapidez en la ejecución del programa debido alelevado número de puntos a considerar.

Después de tener todas las vistas convenientementealineadas, es decir habiendo obtenido las matrices derotación y vectores de traslación de todos los pares devistas, se procede a la integración de las partes

solapadas [3],[9]. Posteriormente se procede a lareconstrucción de las nubes de puntos, por cualquierade los métodos de fiables y contrastados a tal efectoen la ETSII de la Universidad de Valladolid, comoson la triangulación de Delaunay [4] o MarchingCubes [5] .

Utilizando por ejemplo la triangulación de Delaunayel resultado es el que seguidamente se ofrece:

A

B

CFigura 8: Resultado completo tras alinear, integrar las

partes solapadas y reconstruir con Delaunay lasdiferentes vistas del busto examinado.

Page 11: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

Con un navegador (hemos empleado el Cosmo Player2.1 de SGI) todas estas imágenes pueden servisualizadas (previa conversión a formato VRML) enlas perspectivas más convenientes (las A,B y C de lafig.8) con el fin de examinar cualquier parte delobjeto sin tener que limitarnos a la visiónbidimensional que nos ofrece el plano del papel o delmonitor. Mediante el giro de la pieza nos hacemosuna idea de cual es su volumen, forma y superficie.Es aquí donde radica la utilidad de todas estastécnicas de reconstrucción y visualización demodelos tridimensionales.

4 CONCLUSIONES

Se ha presentado un algoritmo para poder alinearnubes de puntos 3D, es decir encontrar una matriz derotación y un vector de traslación que aplicados a laprimera nube de puntos nos permita casarla oalinearla con la segunda. Su utilidad radica en poderreconstruir un objeto a partir de muestras parcialesdel mismo, de forma que éste pueda ser visualizadoen su conjunto con un navegador.

Otra utilidad del alineamiento radica en el podercomparar las piezas a las que se aplica este métodocon un modelo patrón y comprobar si se asemejancon ese modelo o, por el contrario, son defectuosas(control de calidad).

Otro ejemplo de uso del alineamiento es poderofrecer una representación más precisa de un objetoal tener distintas imágenes que casan entre sí. Con elalineamiento conseguimos obtener la máximainformación de las imágenes.

Para llevar a cabo este alineamiento se ha utilizado elalgoritmo ICP partiendo de un muestreo aleatorio, yrepitiendo tal tipo de muestreo en distintas pruebas.Como criterio de minimización se tiene en cuenta ladistancia existente entre cada punto de una muestrade una imagen a la otra imagen. Con el muestreoaleatorio se consigue que el algoritmo sea robusto enpresencia de ruido, además de aumentar laconvergencia al tomarse menos puntos para efectuarla comparación. Esto se verificará siempre queNs*NT<N(RII), donde Ns es el número de puntos dela muestra , NT el número de pruebas realizadas yN(RII) el número de puntos de la segunda imagenconsiderada. El criterio de comparación al sertomado únicamente con referencia a la distancia delos puntos de la muestra a la otra imagen, da lugar auna mayor rapidez en la convergencia a la mínimadistancia entre los conjuntos de puntos a solapar. Elprograma utilizado alcanza una solución en pocossegundos si se conoce una aproximación inicialadecuada y tomando una imagen cerca de la otra peroligeramente separada de ella. La aproximación inicial

es fácil de evaluar puesto que, o sabemos más omenos cómo se han adquirido las nubes de puntos, opodemos visualizarlas juntas inicialmente y examinarcómo quedan después de dar una aproximacióninicial, permitiendo dar otras aproximacionesiniciales sucesivas si la primera no nos parececonveniente.

Una vez alineadas las imágenes tomadas en elmuestreo, se integran las partes solapadas y sereconstruye la figura o pieza global a examenmediante cualquiera de los métodos en uso a talefecto, pudiéndose visualizar el resultadocorrespondiente mediante un navegador.

Las aplicaciones del método descrito son amplias, deactualidad y de creciente interés, yendo desde lainspección automática de piezas y el diseño deproductos a nivel industrial, a los campos: médico(diseño de prótesis y validación quirúrgica), artístico(creación de museos virtuales e imágenes generadaspor computador para películas), informático(multimedia) y económico (comercio electrónico),entre otros.

Agradecimientos

Este trabajo ha sido financiado por el programaFEDER de la UE y por el Programa de Apoyo aProyectos de Investigación de la Junta de Castilla yLeón.

Referencias

1. Besl, P.J., McKay, N., (1992) “A method forregistration of 3-D shapes”, IEEE Transactionson Pattern Analysis and Machine Intelligence,pp. 239-256, vol.14, nº2.

2. Cheng, Y., Medioni, G., (1991) “Objectmodelling by registration of multiple rangeviews”, IEEE International Conference ofRobotic and Automatization, pp. 2724-2729,Sacramento (California-EEUU).

3. Dorai, Ch., Wang, G., Jain, A.K., (1998)Mercer, C., “Registration and integration ofmultiple object views for 3D modelconstruction”, IEEE Transactions on PatternAnalysis and Machine Intelligence, pp. 83-89,vol.20, nº1.

4. Fang, T.P., Piegl A., (1995) “DelaunayTriangulation in Three Dimensions”, IEEEComputer Graphics and Applications, pp. 62-69, vol.15, nº5.

5. Lorensen, W.E., Cline, H.E., (1987) “Marchingcubes: a high resolution 3D surfacereconstruction algorithm”, Computer Graphics:Siggraph´87 Conference Proceedings, vol.21.

6. Masuda, T., Yokoya, N., (1995) “A robustmethod for registration and segmentation of

Page 12: ALINEAMIENTO DE IMÁGENES TRIDIMENSIONALESintranet.ceautomatica.es/old/actividades/jornadas/XXI/documentos/j… · Se propone un algoritmo mediante el que se van a alinear dos nubes

multiple range images”, Computer Vision andImage Understanding, pp. 295-307, vol.61, nº3.

7. Rodrigues Martins, F.A., (1999) “A system forbuilding geometric models, with color, from realobjects”, Trabajo de Suficiencia Investigadora.Dpto. de Ingeniería de Sistemas y Automática.ETSII de la Universidad de Valladolid.

8. Rodríguez Martín, B., (1995) “Sistema depropósito general para la obtención sistemáticade las informaciones tridimensional ycolorimétrica”. Trabajo de Suficiencia

Investigadora. Dpto. de Ingeniería de Sistemas yAutomática. ETSII de la Universidad deValladolid.

9. Soucy, M., Laurendau, D., (1995) “A generalsurface approach to the integration of a set ofrange views”, IEEE Transactions on PatternAnalysis and Machine Intelligence, pp. 344-358,vol.17, nº4.