34
UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 1 CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES Eduardo Caicedo Ph. D. Humberto Loaiza Ph. D. Jesús Alfonso López M . Sc. Ing. Julio C ésar Millán Barco Palabras claves: calibración de cámaras, visión artificial, parametrización de modelos no lineales, Redes Neuronales Artificiale s, corrección de distorsión radial. Resumen: Este artículo presenta los resultados de una parte de una investigación que busca lograr la parametrización completa de una c ámara digital con redes neuronales artificiales. En una primera parte se presenta el problema del modelo clásico, la arquitectura de la red y los algoritmos de entrenamiento utilizados y los resultados obtenidos comparados con un m étodo clásico comúnmente usado . En una segunda parte , se presenta el modelo m ás completo que incluye dos parámetros de distorsión para ser resuelto con una red ADALINE y los resultados obtenidos. Además se hacen diferentes observaciones sobre el campo de la parametrización de modelos no lineales mediante redes neuronales artificiales que pueden ser de utilidad para futuras investigaciones en el campo. 1. INTRODUCCIÓN El procedimiento de calibración explícita de cámaras digitales es un paso indispensable en las aplicaciones de visión artificial que requieren medidas de distancia. A lo largo de las investigaciones en el campo se han llegado a presentar distintos métodos de calibración basados generalmente en el modelo pinhole de las cámaras digitales . [HORAUD 95] Las distintas alternativas van desde las soluciones en que se reduce el problema a un sistema lineal y se resuelve con una aproximación llamada de forma cerrada, hasta aquellas que utilizan algoritmos iterativos no lineales, especialmente si el modelo pinhole [TSAI 87] es ampliado para incluir un parámetro de distorsión que permita corregir esta aberración óptica propia de cada lente. [CHAUMETTE 89] En este artículo se presentan los resultados teóricos y experimentales de una investigación que cuyo objetivo es comparar estas técnicas ya conocidas con soluciones bio- inspiradas tales como Algoritmos genéticos o Redes Neuronales Artificiales. [JI 01] [DO 00] [ZHOU 92] [AHMED 99(1)] En E e ste documento se depositan las investigaciones con respecto a las soluciones que pueden ofrecer las RNA's, al problema de la calibración de cámaras. 2. MARCO CONCEPTUAL 2.1. MODELO GEOMÉTRICO DE UNA CÁMARA CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Articulo Redes Neuronales_22

Embed Size (px)

DESCRIPTION

Aplicación de Redes Neuronales Artificiales para encontrar los parámetros de una cámara digital.

Citation preview

Page 1: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 1

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON

DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Eduardo Caicedo Ph. D.Humberto Loaiza Ph. D.

Jesús Alfonso López M. Sc.Ing. Julio César Millán Barco

Palabras claves: calibración de cámaras, visión artificial, parametrización de modelos no lineales, Redes Neuronales Artificiales, corrección de distorsión radial.

Resumen: Este artículo presenta los resultados de una parte de una investigación que busca

lograr la parametrización completa de una cámara digital con redes neuronales artificiales. En una primera parte se presenta el problema del modelo clásico, la arquitectura de la red y los algoritmos de entrenamiento utilizados y los resultados obtenidos comparados con un método clásico comúnmente usado. En una segunda parte, se presenta el modelo más completo que incluye dos parámetros de distorsión para ser resuelto con una red ADALINE y los resultados obtenidos. Además se hacen diferentes observaciones sobre el campo de la parametrización de modelos no lineales mediante redes neuronales artificiales que pueden ser de utilidad para futuras investigaciones en el campo.

1. INTRODUCCIÓN

El procedimiento de calibración explícita de cámaras digitales es un paso indispensable en las aplicaciones de visión artificial que requieren medidas de distancia. A lo largo de las investigaciones en el campo se han llegado a presentar distintos métodos de calibración basados generalmente en el modelo pinhole de las cámaras digitales. [HORAUD 95]

Las distintas alternativas van desde las soluciones en que se reduce el problema a un sistema lineal y se resuelve con una aproximación llamada de forma cerrada, hasta aquellas que utilizan algoritmos iterativos no lineales, especialmente si el modelo pinhole [TSAI 87] es ampliado para incluir un parámetro de distorsión que permita corregir esta aberración óptica propia de cada lente. [CHAUMETTE 89]

En este artículo se presentan los resultados teóricos y experimentales de una investigación que cuyo objetivo es comparar estas técnicas ya conocidas con soluciones bio-inspiradas tales como Algoritmos genéticos o Redes Neuronales Artificiales. [JI 01] [DO 00] [ZHOU 92] [AHMED 99(1)]

En Eeste documento se depositan las investigaciones con respecto a las soluciones que pueden ofrecer las RNA's, al problema de la calibración de cámaras.

2. MARCO CONCEPTUAL

2.1. MODELO GEOMÉTRICO DE UNA CÁMARA

El modelo geométrico de una cámara utilizadoa más ampliamente es el conocido como modelo pinhole, [LENZ 88], que deriva su nombre de la aproximación física que se hace en el obturador de la cámara al suponer que este es del tamaño de un punto muy pequeño por el que pasan todos los rayos de luz del mundo exterior al interior de la cámara. Se puede entender más fácilmente a partir del dibujo de la figura 1. [HORAUD 95] En el modelo se asumen tres marcos referenciales de coordenadas cartesianas. El marco de la escena 3D donde se ubica un patrón de calibración, el marco de referencia de la cámara y que se dirferencia del anterior por una transformación rotacional y translacional, y finalmente el marco de referencia de la imagen, retina o plano CCD, donde se plasma la foto bidimensional. Lo que hace una cámara, geométricamente, es transformar unos puntos en coordenadas 3D desde una referencia exterior a unos puntos en coordenadas 2D referenciados en un marco interno [HORAUD 95]

Por lo tanto, se hacen dos transformaciones de coordenadas. La primera es conocida como Transformación escena/cámara, donde el punto de origen no es externo a la cámara sino que se asume interno, generalmente en el punto conocido como pinhole. El lector debe notar que el marco de referencia de la retina o plano CCD en realidad está detrás del marco de referencia de la cámara cuyo punto de origen es ese punto infinitesimalmente pequeño. [AZAR 99] En el dibujo se pone adelante, con el fin de facilitar el

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 2: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 2

análisis matemático al eliminar el signo negativo [GONZALEZ 93] de lo que se llama distancia focal, es decir, el segmento de línea recta que une el punto de origen del marco de referencia de la

cámara al punto central del plano CCD de la imagen [AZAR 99] La segunda transformación de coordenadas se conoce como transformación cámara/imagen en que el punto B de coordenadas

(x',y',z') con respecto al marco de referencia de la cámara, adquiere coordenadas (u,v) tomando como marco de referencia el plano CCD, cuyo origen se toma no en el punto central de la

imagen, sino en la esquina superior izquierda de la imagen vista desde la pantalla del computador.

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

zy

Coordenadas según el marco de referencia del mundo en R3

Coordenadas de la proyección del punto B en el plano imagen (punto b) con la cámara como marco de referencia

vw

u

X’

Y’

F

OB

x* y*z*

Z’

Figura 1. Modelo pinhole de una cámara

f

x’ y’z’

Marco de referencia del objeto en el mundo real

Marco de referencia del plano de la imagen o de la retina

Marco de referencia de la cámara

(x*, y*, f)

b u v

Centro de la cámara o foco

Distancia focal x yz

y x

Coordenadas del punto B según el marco de referencia de la cámara luego de realizar la translación y la rotación.

Page 3: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 3

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

H(0,0,z')

Page 4: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 4

En el modelo se asumen tres marcos referenciales de coordenadas cartesianas. El marco de la escena 3D donde se ubica un patrón de calibración, el marco de referencia de la cámara y que se dirferencia del anterior por una transformación rotacional y translacional, y finalmente el marco de referencia de la imagen, retina o plano CCD, donde se plasma la foto bidimensional. Lo que hace una cámara, geométricamente, es transformar unos puntos en coordenadas 3D desde una referencia exterior a unos puntos en coordenadas 2D referenciados en un marco interno. Por lo tanto, se hacen dos transformaciones de coordenadas. La primera es conocida como Transformación escena/cámara, donde el punto de origen no es externo a la cámara sino que se asume interno, generalmente en el punto conocido como pinhole. El lector debe notar que el marco de referencia de la retina o plano CCD en realidad está detrás del marco de referencia de la cámara cuyo punto de origen es ese punto infinitesimalmente pequeño. En el dibujo se pone adelante, con el fin de facilitar el análisis matemático al eliminar el signo negativo de lo que se llama distancia focal, es decir, el segmento de línea recta que une el punto de origen del marco de referencia de la cámara al punto central del plano CCD de la imagen. La segunda transformación de coordenadas se conoce como transformación cámara/imagen en que el punto B de coordenadas (x',y',z') con respecto al marco de referencia de la cámara, adquiere coordenadas (u,v) tomando como marco de referencia el plano CCD, cuyo origen se toma no el punto central sino en la esquina superior izquierda de la imagen vista desde la pantalla del computador. Veamos en detalle estas dos transformaciones.

2.2. TRANSFORMACIÓN DEL MARCO REFERENCIA DE LA ESCENA / AL MARCO REFERENCIA DE LA CÁMARA CÁMARA.

En esta transformación podemos imaginarnos una esquina de la escena 3D en que se ubica el objeto a fotografiar, que realiza un viaje hasta el origne del marco de referencia de la cámara (el punto pihhole) haciendo que un determinado punto B del objeto pase de tener coordenadas (x,y,z), a verse desde la cámara como de coordenadas (x',y', z'). Esta transformación realiza pues una rotación y una translación de los ejes del marco de

referencia y se puede visualizar en el dibujo como la línea punteada. Matemáticamente ésto se puede expresar como sigue [HORAUD 95]

= + (1)

Pueden observarse los elementos de una matriz de rotación que multiplica a las coordenadas del punto según el marco escena, y luego le suma la translación efectiva

Esta suma puede expresarse en una sóla matriz si definimos la matriz de transformación homogénea [GONZALEZ 93]

D = = , (2)

A las variable rij se les conoce como parámetros de rotación y a los componentes del vector (tx,ty,tz) , como parámetros de translación. A este conjunto de parámetros se le conoce como parámetros extrínsecos, ya que relacionan la transformación de coordenadas que hace la cámara en términos de su ubicación exterior. [HORAUD 95]

2.3. TRANSFORMACIÓN DEL MARCO REFERENCIA DE LA CÁMARA AL MARCO REFERENCIA DE LA IMAGEN.

Ahora debemos ocuparnos de transladar las coordenadas del punto B al marco de referencia de la imagen a partir del marco de referencia de la cámara, lo que se representa con la flecha a trazos.2.3. Transformación marco referencia cámara/ marco referencia imagen

En el particular caso de la proyección perspectiva que hace el punto B sobre el plano de la imagen de la cámara se le denominará punto b de coordenadas (u,v). En la figura 1 pueden notarse dos triangulos, el triángulo FHB y el triángulo FOB, detallados en la siguiente figura

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 5: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 5

Se sigue el procedimiento geométrico necesario para despejar x*, y* y z* a partir de la figura 2 sin tener que poner explícitamente los ángulos de rotación, gracias a la semejanza de triángulos. [AZAR 99]

Si se extiende la semejanza de triángulos a los todos los ejes se obtiene que las coordenadas según el marco de referencia de la cámara del punto B proyectado en el plano de la imagen (punto b) son:

(3)

en este punto es necesario tener en cuenta el escalamiento producido por las características ópticas de la lente. Es decir, un objeto de determinada altura, obviamente, producirá sobre la retina o el plano CCD, una imagen de tamaño inferior cuyo factor de escala es propio de la lente.

Llamamos a estos factores de escala ku, kv, le asignamos un signo negativo a ku, porque como se sabe la imagen formada en la retina no es sólo más pequeña sino invertida. [HORAUD 95]

Recordando que el punto de origen del marco de referencia de la imagen es el punto superior izquierdo, mientras que todos los cálculos hechos hasta ahora han sido suponiendo un eje óptico que atraviesa el punto central de la imagen, debemos tener en cuenta ese punto central al momento de expresar las coordenadas cartesianas según el marco de referencia de la imagen. Por lo que, en el plano de la imagen el punto b, tiene coordenadas (u,v) dadas por: [HORAUD 95]

u = u •x* + u0, con u < 0 , (4)

v = v •y* + v0, (5)

donde αu = - ku f y

αv = kv f (6)

A los factores de escala y a las coordenadas del centro óptico, los llamamos parámetros intrínsecos ya que son propios de la cámara y no de su ubicación dentro del espacio de una escena. [HORAUD 95]

Eel problema de la proyección perspectiva es que resulta en una correspondencia no lineal entre las coordenadas en el marco de referencia de la imagen y las coordenadas en el marco de referencia de la cámara [BALLARD 92], por lo que en general, el problema de la calibración de cámaras que es el de hallar los parámetros (extrínsecos e intrínsecos) se convierte se convierte en un problema no lineal, que como veremos más adelante introduce problemas serios a la hora de utilizar RNA para solucionarlo.

Encaminados hacia las RNA es adecuado expresar las relaciones entre los diferentes marcos de referencia, en forma matricial. Para la transformación camara/imagen, que es la introduce los elementos no lineales, es conveniente expresarla no en coordenadas cartesianas sino en coordenadas homogéneas de la siguiente manera: [GONZALEZ 90] [BALLARD 92]

(7)

donde podemos decir que:A =

(8)

2.34. CALIBRACION DE LA CÁMARA

La ecuación 1 puede expresarse como una multiplicación matricial:

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

(punto B proyectado en el eje

Y de las coordenadas de la

cámara)

Figura 2. Semejanza de los triángulos formados por el eje de la cámara y una línea que une el punto B proyectado sobre el

plano de la imagen en la coordenada X’

Eje de la cámara

y*

FO H

O

y'

Page 6: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 6

= (9)

Reemplazando la ecuación (8) y (9) en la ecuación (7) tenemos que [HORAUD 95]]:

= (10)

Lo que, gracias a (2) y (8), podemos resumir así:

=A.D. (11)

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 7: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 7

La ecuación (11) es una fórmula que nos expresa en términos lineales la correspondencia entre los puntos en la imagen y los puntos en la escena 3D.

La mayoría de los métodos no utiliza esta expresión porque no es posible conocer el valor s antes de la calibración que es distinto para cada punto (siempre y cuando sean no coplanares) es decir s es en realidad la tercera fila de la matriz producto A.D.[x,y,z,1]'. Este es una característica que limita enormemente la capacidad de las RNAs para atender el problema, ya que la ecuación (11) es un descripción lineal entre dos vectores: [s.u,s.v,s]' y [x,y,z,1]', pero no conocemos en realidad todos sus elementos. [AHMED 99(2)]

Conocemos u y v porque son las coordenadas que nos da la imagen y conocemos x, y y z, porque para eso se construye un patrón de calibración cuyos puntos tienen coordenadas específicas. Si se desglosa la ecuación (10), se demuestra que s=z', es decir s es igual a la tercera coordenada del punto B según el marco de referencia de la cámara luego de realizar la translación y la rotación.

s = z' = r31 . x + r32 . y + r33 . z + Tz (12)

La coordenada en z, según el dibujo de la figura, está físicamente asociada a la profundidad. Sin embargo, no es posible conocer s antes de calibrar la cámara porque debemos conocer los parámetros r3j y Tz, lo cual es precisamente parte del objetivo de calibración.

Generalmente los métodos de calibración lo que hacen es tomar las dos primeras elementos resultantes de la ecuación 11, dividiendole entre el elemento s que aunque se desconoce se mete como incógnita en un sistema de ecuaciones.

Si M= A.D y mij es un elemento de M, tenemos que la ecuación 11 se convierte en

= .

(13)

Por lo que después de desplegar y dividir s en ambos lados de la ecuación: [GONZALEZ 93]

[HORAUD 95]

(14)

(15)

Ya tenemos en (14) y (15) dos ecuaciones que nos relacionan de manera no lineal los puntos en la imagen con los puntos en la escena. En general, todos los métodos de calibración toman este camino para resolver el problema de la calibración aunque sea por diferentes técnicas como las de Tsai [TSAI 86], Hall [HALL 82],, Ayaché [AYACHE

99], Fougerais Toscani [FAUGERAS 93] [TOSCANI

87], que linealizan utilizan la relación no lineal expresada en (14) y (15) para obtener soluciones a través de ciertas ecuaciones matriciales lineales que se resuelven por las técnicas de la pseudoinversa. A estos métodos se les conoce como métodos clásicos y de ellos se (14) y (15) obteniendoencuentran distintampliasos referencias bibliográficas y que a lo largo de la investigación global que hemos hecho sobre calibración de cámaras, se han implementado y comparado sus distintos resultados que varían en precisión y robustez..

3. LA CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON RNAs

En el estado actual del arte se encuentran varias propuestas de calibración de cámaras digitales con RNAs, utilizando principalmente redes multicapa de conexiones hacia delante, entrenadas con algoritmos de retropropagación [AHMED 99(2)]. Sin embargo, la mayoría no determina explícitamente los parámetros de la cámara y deja pocas posibilidades para una adecuada corrección de aberraciones ópticas como la distorsión [SHIH 95]. Una mayor profundización en la calibración implícita de cámaras digitales con RNAs puede ser vista en los trabajos de Do [DO 00] , Zhou [ZHOU 92], Wen [WEN 91], Choi [CHOI 94], Jun [JUN

99] y Mousavi [MOUSAVI 94], entre otros.

Tan sólo un trabajo de doctorado cuyas investigaciones han sido publicados en algunos artículos, ha abordado el problema de determinar explícitamente los parámetros de la cámara usando para ello el modelo pinhole clásico y RNAs. Se trata de las investigaciones de Ahmed, Hemayed y Farag ([AHMED 99(1)], [AHMED 99(2)]

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 8: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 8

[AHMED 01] ) , y cuyas publicaciones han servido de base importante para el presente trabajo.

El adentrarse en esta investigación significa tomar una aplicación muy específica de un campo más global mejor conocido como parametrización de sistemas con RNAs. En este trabajo se presenta la manera en que se hizo la indagación en esta área y arroja conclusiones muy interesantes, sobre la conveniencia o no de utilizar las RNAs en un nuevo paradigma que va en contravía de la reta la filosofía inicial para lo cual fueron creadas con que se crearon.

3.1. ESTRATEGIA INICIAL CON QUE SE ABORDA ELPARA SOLUCIONAR EL PROBLEMA

Inicialmente se toma la ecuación matricial (10) para representarla mediante RNAs, cuya arquitectura depende de las dimensiones de las matrices A y D de la ecuaciones (2),(8) y (11). Lo primero es asumir cuatro neuronas de entrada que representan las coordenadas (x,y,z,1) de la parte derecha de la ecuación. Su relación con una siguiente capa también de cuatro neuronas, está determinada por los elementos de la matriz D, es decir por los parámetros extrínsecos de la cámara. ([AHMED 99(1)] )

La matriz de pesos que interconecta la capa oculta con la capa de salida es mapeada de tal manera que corresponde a la matriz A, la cual contiene los parámetros intrínsecos de la cámara. Esto se puede apreciar mejor en la figura 2xxxx. [AHMED

01] Por lo tanto, el proceso de entrenamiento de la red, debe hacer que los pesos de la red mapeen por completo los componentes de las matrices A y D, donde se encuentran los parámetros de la cámara. La calibración explícitica de la cámara es, por lo tanto, el entrenamiento de la red neuronal cuya arquitectura pueda realizar la misma operación qu e realiza la ecuación (13). El problema mayor a vencer es el explicado en la sección anterior, el desconocimiento de la variable s, que es la que permite homogeneizar y linealizar la relación no lineal original que corresponde a las coordenadas (u,v) en función de las coordenadas (x,y,z), tal como hacen las ecuaciones (14) y (15).

El aspecto central es la alinealidad. MoummenAhmed [AHMED 01] , introduce una variable nueva a entrenar para rodear este

problema. Se ha de notar que todas las neuronas de la capa oculta tienen función de transferencia lineal y = F(neta), donde F(x)=m.x, con m=1. .

La capa de salida debe también tener neuronas con funciones de transferencia lineales, con la diferencia de que para cada patrón existe una pendiente distinta en la relación F(x)=m.x. Es decir, m es obtenida de la tercera neurona de la capa oculta que corresponde a la tercera coordenada del patrón específico en el marco de referencia de la cámara, a la que hemos llamado z' según la ecuación (12). Para cada patrón m será igual al denominador común de las ecuaciones (14) y (15), desconocido antes de la calibración.

A continuación explicamos porque se hace éesto. Para poder implementar un algoritmo de backpropagation, es necesario que la función del error total, sea derivable y pueda ser relacionada con variables que correspondan a pesos físicos de la red. El criterio de error proviene de restar de las ecuaciones (14) y (15), el verdadero valor de las coordenadas (u,v) o valor deseado . [AHMED

99(1)], [HORAUD 95]

(16)

,

(17)

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 9: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 9

Si definimos

(18)

podemos convertir (17) en:

, (19)

La expresión del error tal como se plantea en (19) complica el proceso de entrenamiento que busque minimizarlo. [AHMED 99(2)] Para facilitarlo se introduce una variable γ que puede ser vista como un peso nuevo que debe ser entrenado en el proceso de aprendizaje, aunque no esté físicamente asociado a ninguna interconexión de la RNA. No obstante, puede notarse que γ i =1/oi3, es decir el inverso de la salida de la neurona tres de la capa oculta para cada patrón. [AHMED 99(2)]

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

x

y

z

1

Matriz de pesos DParámetros extrínsecos

r11

r12

r13tx

r21

r22

r23

ty

r31r32

r33

tz

00

01

Salida=x'

Salida=y'

Salida=z'

Salida=1

αu

0u0

0

αv0

1

0

v0

0

0

0

Matriz de pesos AParámetros intrínsecos

Capa de neuronas de salida, con función de transferencia lineal y pendiente variable

F(neta)= m .neta, donde m=(1/z')

u

v

1

Figura 2. Arquitectura de la red utilizada para parametrizar el modelo clásico

Page 10: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 10

Si definimos

(18)

podemos convertir (17) en:

, (19)

La expresión del error tal como se plantea en (19) complica el proceso de entrenamiento que busque minimizarlo. Para facilitarlo se introduce una variable γ que puede ser vista como un peso nuevo que debe ser entrenado en el proceso de aprendizaje, aunque no esté físicamente asociado a ninguna interconexión de la RNA. No obstante, puede notarse que γi =1/oi3, es decir el inverso de la salida de la neurona tres de la capa oculta para cada patrón.

Al tener que entrenar el vector γi, implícitamente se está relacionando el error de entrada con la fila tres de la matriz de rotación, para hacerlos adaptables a esta particular función. El inconveniente que aparece aquí es que no sólo se deben entrenar los pesos relacionados a la interconexión entre neuronas (con excepción de los que permanecen iguales a 1 o 0), sino que también este nuevo vector debe ser entrenado. [AHMED 99(2)] Si se toman como muestras 120 puntos, deben entrenarse 120 pesos además de los 16 pesos que corresponden a los parámetros de la cámara colocados estratégicamente en la arquitectura de la RNA.

Para el entrenamiento se utiliza un algoritmo clásico de retropropagación del error, con una técnica clásica de gradiente descendente que permite actualizar los pesos en cada iteración.

En general, los valores esperados para los elementos de las matrices A y D, son valores muy heterogéneos por los que se hace necesario colocarlos a escala para que la RNA pueda entrenarse más fácil. El procedimiento es multiplicar las entradas y las salidas por una matriz de escalamiento.

Partiendo de las entradas y salidas de la figura 2, se puede describir la red como lo hace la ecuación (20) teniendo en cuenta que la división entre la z' se hace ímplicitamente dentro de la red, gracias a la peculiar función de transferencia lineal de pendiente variable que adoptamos en este caso. A la tercera componente de la coordenada z' la llamaremos de ahora en adelante la presalida oi3. [AHMED 99(2)]

A·D

(20)Reemplazando:

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

x

y

z

1

Matriz de pesos DParámetros extrínsecos

r11

r12

r13tx

r21

r22

r23

ty

r31r32

r33

tz

00

01

Salida=x'

Salida=y'

Salida=z'

Salida=1

αu

0u0

0

αv0

1

0

v0

0

0

0

Matriz de pesos AParámetros intrínsecos

Capa de neuronas de salida, con función de transferencia lineal y pendiente variable

F(neta)= m .neta, donde m=(1/z')

u

v

1

Page 11: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 11

= (21)

y recordando las propiedades de las inversas de las matrices diagonales:

( )-1 ( )-1 ·A·D· (22)

Siguiendo la notación de MoummenAhora hacemos:

W = ( )-1 ·A (23)

Con lo que (22) queda:

( )-1 . W D· (24)

De igual manera podemos normalizar el vector entrada si multiplicamos y dividimos por la siguiente matriz

( ) = (25)

Con lo que la ecuación 24 queda así:

( ). W D ( )-1 (26)

Si hacemos:

Vini = D( )-1 (27)

( )-1 . W Vini ( ) (28)

Como ya sabemos que s= oi3 y γi =1/oi3

( )-1 . W Vini ( ) (29)

γi W Vini (30)

Aquí hay que anotar que en nuestra investigación descubrimos que ante parámetros esperados muy heterogeneos en magnitud (por ejemplo un tz = 1400 y un r11=0.06), es necesario un facxtor de escala adicional, especialmente para la salida deseada ya que esta misma puede presentar diferencias grandes entre u y v si la fotografía es muy rectangular. En este caso, introducimos un factor de escala diferente que no disminuya más el patrón de entrada, por eso no se pone en la matriz S2 que sería la primera opción porque va al lado de la matriz V que es la que incluye al parámetro tz. Si se pusiera como parte de la matriz S2 afectaría el comportamiento del aprendizaje de la red tal como se comprobó en las innumerables exploraciones. Por lo que (30) se puede expresar

γi W (Vini /FESC)

(31)

La solución de este factor independiente es que afecta específicamente a aquellos parámetros de la cámara que esperamos altos como el tz, ya que está relacionado con la profundidad de la escena o la distancia de la cámara al patrón de calibración.

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 12: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 12

Teniendo ya claro, la representación matricial adaptada para poder entrenar la red, retomamos la función de error. Ahora podemos cambiar la ecuación (19) por ([AHMED 99(1)] ) :

(32)

Ya tenemos como relacionar la nueva variable γi con el error final de las neuronas en la capa de salida.

Siguiendo la notación de Moummen, lLlamamos di

a cada patrón deseado

di = (33)

y a Oi=γioi, como la salida real de la red para cada patrón i luego de pasar por las dos capas y por la función de transferencia lineal de pendiente variable de las neuronas de la capa de salida. Es interesante aquí anotar otra vez que esa pendiente varía de acuerdo a cada patrón y es la variable nueva introducida para parametrizar el modelo no lineal que describe a la cámara digital. La innovación propuesta por Moummen Ahmed [AHMED 99(1)] es pues que debemos entrenar la función de transferencia de las neuronas de la capa de salida, para poder adaptar la RNA al modelo no lineal, con lo que se hace un aporte muy interesante al campo de la parametrización con RNAs.

Si llamamos Zi a los patrones de entrada

(xi/S2,yi/S2,zi/S2,1)' y a Vini/FESC, simplemente V, por supuesto sin olvidar que está escalada, podemos formular una expresión matricial para la salida deseada de la red [AHMED 99(1)] . .

(34)

La idea del entrenamiento de la red es encontrar los valores de , y , que satisfagan las ecuaciones (33) y (34).

Para eso hay que encontrar las ecuaciones que permitan variar los pesos de acuerdo a las reglas del gradiente descendente. [AHMED 99(1)]

Empezamos formulando la expresión para las salidas de las neuronas de la capa oculta:

(35)

donde j es el índice para las neuronas de la capa oculta y l es el índice para las neuronas de la capa de entrada.

La capa de salida, primero efectuará, una suma de los productos según las interconexiones a las salidas de la capa oculta, lo que hemos llamado oi

oi = (36)

donde k es el índice para las neuronas de salida.

Al aplicar la función de trasferencia lineal de pendiente variable γi, las neuronas de la capa de salida arrojan un resultado final dado por:

Oi=γioi (37)

Oi = (38)

De esta manera la función de error puede ser escrita así:

(39)

El factor de 0.5 se introduce por simple conveniencia, para eliminar el 2 en el proceso de derivación. La ecuación (39) debe ser derivada parcialmente con respecto a cada peso a entrenar. Luego de un proceso, que aquí no se consigna , pero el lector puede verificar, se obtienen las siguientes expresiones para el cambio que debe tener cada peso en cada iteración del aprendizaje: [AHMED 99(1)]

(40)

(41)

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 13: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 13

(42)

donde α1 y α2 son constantes de aprendizaje, sobre las cuales se deben efectuar algunos comentarios más adelante. Debe resaltarse, según las ecuaciones (8) y (23), que para la matriz de pesos W, en cada iteración deben conservarse constantes todos sus elementos, menos los que corresponden a los parámetros intrínsecos: W11, W22, W13 y W23. Así mismo la matriz V, según las ecuaciones (2) y (27), debe conservar constantes los elementos de la fila 4, mientras varía los que corresponden a los parámetros extrínsecos según la regla de gradiente descendente de la ecuación (41).

Siin embargo, aún hay que introducir una nueva regla para asegurar que la submatriz de la matriz V que corresponde a la matriz de rotación de la ecuación 1, cumpla con las características de ortonormalidad. [GROSSMAN 87] Para eso la matriz R debe satisfacer dos condiciones:

1. El producto escalar entre filas distintas de la matriz R (submatriz de V) debe ser igual a cero

V11V21 + V12V22 + V13V23 =0, filas 1 y 2V11V31 + V12V32 + V13V33 =0, filas 1 y 3

V21V31 + V22V32 + V23V33 =0, filas 2 y 3 (43)

2. El producto escalar de cada fila por sí misma debe ser igual a uno.

R11R11 + R12R12 + R13R13 = 1, fila 1R21R21 + R22R22 + R23R23 = 1, fila 2R31R31 + R32R32 + R33R33 = 1, fila 3 (44)

debido a que R está escalada con respecto a V, al aplicar esta condición 2 directamente a la matriz V se elige un factor de escala apropiado para que se cumpla que

V11V11 + V12V12 + V13V13 = a, fila 1V21V21 + V22V22 + V23V23 = a, fila 2V31V31 + V32V32 + V33V33 = a, fila 3 (45)

Donde a es nominalmente 1, si no existe escalamiento, pero como generalmente si lo hay para poder entrenar la red, debe elegirse de acuerdo a la siguiente ecuación:

(46)

Para cumplir estas dos condiciones de ortonormalidad es necesario que la red se entrene teniendo en cuenta, además del error en (39), el error de ortonormalidad, que puede ser expresado así:

Eort = Eort1 + Eort2 (47)

donde

Eort1 = (V11V21 + V12V22 + V13V23)2 +

(V11V31 + V12V32 + V13V33)2 + (V21V31 + V22V32 + V23V33)2, (48)

por la primera condición

y Eort2 = (V11V11 + V12V12 + V13V13 - a)2 + (V21V21 + V22V22 + V23V23 - a)2 + (V31V31 + V32V32 + V33V33 - a)2

= (49)

por la segunda condición.

De esta manera el error total será igual a:

Etotal = + Eort (50)

De la ecuación (50) es necesario deducir una nueva regla de cambio para los pesos de acuerdo al criterio de gradiente descendente. Las ecuaciones de cambios de pesos (40) y (42) permanecen iguales, mientras que (41), que es precisamente la que hace cumplir las condiciones de ortonormalidad, se ve modificada de la siguiente manera [AHMED 99(1)]

[GROSSMAN 87] :

(51)

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 14: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 14

donde

(52)

Las ecuaciones (51) y (52) permiten entrenar específicamente los elementos de la matriz V que deben cumplir con las condiciones de ortonormalidad, indispensable para darle una solución exacta al problema de la calibración de cámaras. [AHMED 99(2)] Como puede apreciarse por la complejidad del cálculo matemático que soporte la RNA, por aquí se inicia por un camino más difícil que la solución por el metodo clásico. Debe tenerse en cuenta para el análisis de resultados, que la minimización del entrenamiento de la RNA es una minimización multiobjetivo, pues deben cumplirse las condiciones del error cuadrático medio y además las de las condiciones de la ortonormalidad, porque si se hiciera la minimización cumpliendo sólo el objetivo de reducir el error cuadrático medio, lo más seguro es que se llegaría a una solución en donde la submatriz 3x3 de V, no correspondería realmente a una matriz de rotación y no habría, por tanto, calibración explícita.

45. RESULTADOS EXPERIMENTALES MODELO CLÁSICO CON RNA

Se implementó el algoritmo explicado en las secciones anteriores. Se aplicó el programa programa en MATLAB a la calibración de tres cámaras distintas, una de ellas escogida con un parámetro de distorsión relativamente grande y cuya definición e influencia se explicará en la segunda parte de este informe. Previamente se obtuvo un estimativo de los parámetros a través del método de Fougerais-Toscani, (F-T), [FAUGERAS 93] [TOSCANI 87] y se tomó el error relativo con respecto a este estimativo.

Los resultados fueron los siguientes:

Cámara 1:

Condición casi ideal para tomar muestras

Error relativo pytromedio en parámetros extrínsecos: 0.0198760.4989

Error relativo promedio en parametros intrínsecos:0.0097503

0.1764

Error de reconstrucción para la cámara 1 con RNA:

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 15: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 15

0.1

Error de reconstrucción para la cámara 1 con F-T 0.3128

7895Error de reconstrucción para la cámara 1 con F-T 0.3128

Cámara 2Cámara 2

Puede observarse la distorsión en esta cámara

Error relativo promedio en parametros extrinsecos: 0.04660.6311

Error relativo promedio en parametros intrínsecos:

0.03420.1910Error de reconstrucción para la cámara 2 con RNA:0.7895

Error de reconstrucción para la cámara 2 con F-T 0.7940

Cámara 3.

Puede observarse una mayor distancia de la cámara al patrón

Error relativo promedio en parametros extrinsecos: 0.059351

0.9048

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 16: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 16

Error relativo Promedio en parametros intrínsecos: 0.

0.022102

Error de reconstrucción para la cámara 3 con RNA:0.83881

Error de reconstrucción para la cámara 3 con F-T 0.3325

5. ANÁLISIS DE LOS RESULTADOS PARA EL MODELO CLÁSICO

En este punto se debe tener en cuenta que la prueba de Fougerais_Toscani fue hecha con la totalidad de los puntos que fue posible obtener del patrón de calibración. Para la prueba con RNA se tomó una muestra de esos puntos (aproximadamente el 70%) con el objetivo principal de reducir el tiempo de convergencia de la red, porque tal como está diseñada la red cada patrón es un peso a entrenar, por lo que entre más patrones talvez se obtenga más precisión a costa de un tiempo de convergencia más alto.

En la foto número 1 se puede apreciar un error de reconstrucción suficientemente bueno y que avala la poca diferencia entre los parámetros esperados y los parámetros obtenidos con la RNA. Sin embargo, quedan dudas con respecto al parámetro que define la profundidad de la escena: Tz, el de mayor error relativo en la prueba. De esta foto número 1 hay que destacar que es una foto óptima para realizar la acumulación de datos que conforman patrones de entrada y de salida, buena iluminación, cercanía al patrón, poca distorsión de la lente y simetría de la ubicación de la cámara. Es una condición ideal, no siempre alcanzable.

En la foto número 2, es de destacar la distorsión que aporta la lente de la cámara, aunque en general se cuentan con buenas condiciones para acumulación de datos de patronaje. El error de reconstrucción es prácticamente el mismo que para Fougerais-Toscani. Sin embargo la RNA diseñada sólo ofrece solución a los parámetros del modelo clásico sin contar con el parámetro de distorsión. Es necesario un segundo paso para hallar un parámetro de distorsión. [SHIH 95]

En la tercera toma, se cuenta con un posicionamiento de la cámara más alejado que en las dos anteriores y peores condiciones de iluminación. En este caso se nota el mejor comportamiento del método clásico para arrojar un error de reconstrucción menor que el de la RNA. En cualquier caso, si se desea un menor error de reconstrucción debe prolongarse el tiempo de entrenamiento de la RNA.

El carácter heurístico de las redes neuronales hace que sea muy importante la elección de los parámetros de aprendizaje, para asegurar un tiempo de convergencia razonable sin correr el riesgo de que la red no converja. A lo largo de muchos meses esta investigación trató diferentes métodos para mejorar este aspecto, ensayando con técnicas como gradiente conjugado o LM que sin embargo, no dieron los resultados esperados. [HAYKIN ] El elemento clave que permitió obtener un tiempo de convergencia aceptable, fue descubrir que el elemento gamma γ al aparecer en las ecuaciones (40) y (41), provoca pasos muy pequeños en los cambios de los pesos V y W, que son finalmente los que tienen una relación directa con los parámetros de la cámara. Para ésto, fue necesario contrarrestar esa influencia con el crecimiento de la rata de aprendizaje. Los resultados obtenidos fueron, de inmediato, mucho mejores, al asegurar tiempos de convergencia de 10 a 40 minutos, comparados con las varias horas que requerían ratas de aprendizaje fijas o de un crecimiento que no atenuara la influencia de γ. Esta variabilidad de α1 con respecto a γ, se puede explicar por el hecho de que el elemento γ no representa un peso de conexión real entre las capas de las neuronas entrada-oculta y oculta-salida, sino más bien una función de activación que variaba según cada patrón, por lo que su influencia en la retropropagación del error no era del todo conveniente para la convergencia de los pesos principales: V y W. Además el tamaño del elemento γ depende del número de puntos obtenidos del patrón de calibración, que a su vez influye significativamente en la precisión de la calibración, pues entre más puntos de calibración más precisión, especialmente para este proyecto con RNAs, ya que comparando con el método clásico de Fougerais-Toscani, el número de puntos no influye tanto en la precisión de calibración, siempre y cuando éste sea mayor a 12. [HORAUD 95]

Los tiempos de convergencia alcanzados son, sin embargo, cuestionables especialmente para aplicaciones de tiempo real en que hay que hacer varias calibraciones en un proceso. El argumento más contundente para explicar el tiempo de convergencia alto de la RNA aplicada en la

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 17: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 17

calibración, es la enorme diferencia entre el número de neuronas y el número de pesos a entrenar. Se deben encontrar 16 parámetros de la cámara, pero además se deben encontrar los elementos del vector γ cuyo tamaño, como ya dijimos, depende del número de puntos del patrón de calibración. Se utilizó un patrón de calibración de 260 puntos, por lo que el número total de pesos a entrenar es de 276 con tan sólo 11 neuronas en toda la red. El tiempo de convergencia, es pues, el precio a pagar por querer identificar explícitamente los parámetros de una cámara digital con RNAs. La calibración implícita de cámaras digitales con RNAs, deja de lado el problema de tener que averiguar cada parámetro y se limita a hacer de la red neuronal entrenada, una especie de caja negra que imita el comportamiento de la cámara digital, con lo que en el proceso de diseño de la arquitectura de la red se puede jugar con el número de neuronas en la capa oculta. Este calibración implícita asegura buenos resultados en las aplicaciones de reconstrucción de imágenes, con unos tiempos de entrenamiento breves, pero pueden tener problemas para las aplicaciones estereométricas o de corrección de distorsión.

6. EL MODELO CON DISTORSIÓN

El modelo pinhole de la cámara es un modelo ideal que no tiene en cuenta varias aberraciones ópticas propias de los lentes. Entre ellas la más destacada es la llamada distorsión radial en la que de todas formas hay una relación punto a punto entre la escena y la imagen, pero en el que el correspondiente de cada punto se desvía de su proyección en una magnitud proporcional a su distancia al eje óptico. Se puede observar la figura 3 para analizar la distorsión radial mediante un círculo que describe la situación. En este caso se sigue que (u, v) son las coordenadas de un punto determinado en el marco de referencia del plano de la imagen tal como se ven en la pantalla del computador, mientras que (uideal, videal) son las coordenadas del mismo punto pero aquellas que se obtienen al asumir el modelo pinhole ideal sin distorsión. [CHAUMETTE 89].

Entre más alejado esté el punto del centro de la imagen mayor será su alejamiento del punto ideal, es decir el desplazamiento que ocasiona la distorsión (que es visto como un error), es más grande, entre más alejado esté el punto del centro de la imagen. Por eso se llama distorsión radial, depende del radio de un círculo cuyo centro es el centro de la imagen. [HORAUD 95] Podemos verlo más detalladamente en la figura 4.

Se puede expresar el desplazamiento del punto Mp al punto Md como la suma de una distancia positiva. Eso es porque se toma al punto Md como el punto que da la imagen (distorsionado) y al punto Mp como el ideal. [HORN 86]

Tomando esto como referencia más adelante se verá que si se hace así, la constante de distorsión debe dar negativa en caso de que el punto Md esté más cerca del centro óptico que el punto Mp. Ese desplazamiento se puede expresar de la siguiente manera

u = uideal + Δu, (27)v = videal + Δv, (28)

donde

Δu = Kd . r2 . (uideal - u), (29) Δv = Kd. r2 . (videal - v), (30)

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

uideal

u

vv0

Mp

Md

u0

videal

Figura 4. Las coordenadas del punto Mp en la imagen son (u,v) y las del mismo punto pero teniendo en cuenta restarle la distorsión

son Md(uideal ,videal).

xu

vy

(Δux, Δvy)

(uidealxd,videal yd)

(uXp, vYp)

Figura 3. Representación de la distorsión radial según los puntos idealizados y los puntos con distorsión

Page 18: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 18

siendo Kd el parámetro de distorsión radial (parámetro que deseamos averiguar) y r2 según la fórmula:

r2 = , (31)

Donde αu y αv son los parámetros intrínsecos de la ecuación (4) y donde x',y' y z' son las coordenadas del punto del patrón de calibración, pero según las coordenadas de referencia de la cámara. Mejor dicho las coordenadas que se obtienen luego de para el sistema por los parámetros extrinsecos de Rotación y Translación. Tomando que idealmente, según la ecuación (4):

uideal = αu . + u0, (32)

videal = αv . + v0 , (33)

Tenemos que:

u = αu . + u0

+ Kd. αu.. (34)

v = αv . + v0

+ Kd.. αv. . (35)

Con este modelo ampliado para incluir la distorsión radial los parámetros intrínsecos que deben ser identificados en el proceso de calibración son: centro óptico (u0,v0), αu, αv, y Kd.

Este modelo es en realidad una simplificación de un modelo más completo en que se tienen en cuenta más parámetros de distorsión que, teóricamente ayudan a la exactitud mientras aumentan el orden de la ecuación del sistema.

Las ecuaciones (34) y (35) son facilmente extendibles a un modelo más completo con un segundo parámetro de distorsión.

u = αu. + u0 + Kd1. αu.. r2

+ Kd2. αu.. r4 (36)

v = αv. + v0 + Kd.. αv. . r2

+ Kd2. αu.. r4 (37)

Remplazando las ecuaciones (32) y (33) en las ecuaciones (36) y (37) respectivamente:

u = uideal + (uideal - u0) (Kd1. r2 + Kd2. r4 ) (38)

v = videal + (videal - v0) (Kd1. r2 + Kd2. r4 ) (39)

Siguiendo el tratamiento matemático adoptado por Zhang [ZHANG 99], en pos de una linealización del modelo, podemos expresar (38) y (39) en forma matricial:

(40)

Esta ecuación puede ser descrita como:

(41)

donde:

(42)

(43)

(44)

Si asumimos que hemos tomado un numero de puntos del patrón igual a pp, de esta manera obtenemos un sistema de 2xpp ecuaciones.

7. ASUMIENDO EL PROBLEMA DE LA DISTORSIÓN RADIAL MEDIANTE RNAs

Una vez obtenido el sistema de ecuaciones descrito por la ecuación (41) es posible encontrar la solución al sistema con una Red Neuronal Tipo Adalina. [MARTÍN 02]

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 19: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 19

7.1. DISEÑO

El diseño de la arquitectura de la red se basó en las siguientes definiciones:

INP1= 3993

, INP2 = ,

INP3= ,

INP4 = ,

OUT1= y OUT2=

(45)

Por lo que los elementos de la ecuación (40) se renombran:

(46)

En términos de patrones de entrada y patrones de salida para una red Adalina:

(47)

La red neuronal tendrá dos neuronas de entrada y una sóla neurona de salida, donde los patrones de entrada de cada neurona son:

Para la neurona 1:

(48)

Para la neurona 2:

(49)

7.2. IMPLEMENTACIÓN

Se implementó un algoritmo para hacer converger la red que resolviera este sistema de ecuaciones. Téngase en cuenta que el número de ecuaciones es igual a 2 veces el número de puntos tomados del patrón de calibración, aproximadamente 520 puntos, para encontrar tan sólo 2 incógnitas. .

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

SALPAT _ 1_ ENTPAT

2_ ENTPAT

Kd1

Kd2

Figura 5. Arquitectura red ADALINE para hallar parámetros de distorsión

Figura 6. Resultados de la prueba de corrección de distorsión de imagen para red ADALINE

Page 20: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 20

En este caso, se utiliza la regla Widrow-Hoff o regla LMS, que puede considerarse como una versión iterativa aproximada de la basada en la pseudoinversa, necesaria para resolver el sistema descrito por (41) de tal manera que:

(50)

Como el sistema tiene tantas ecuaciones es conveniente utilizar un parámetro de aprendizaje muy pequeño. Sin embargo, se obtienen mejores resultados si se aplica una técnica de segundo grado, como la del gradiente conjugado en la versión que expone Haykin, con minimización lineal que permita hallar la magnitud de paso más efectiva, sin tener que utilizar segundas derivadas

7.3. RESULTADOS

Se aplico el programa implementado para la fotografía de la cámara 2, que es la de mayor distorsión en este conjunto de pruebas. Para el modelo clásico le sigue el procesamiento de la rde ADALINE para hallar los parámetros de distorsión. Es un proceso global constituído por dos subprocesos en serie. Sin embargo, no debe confundirse con el concepto de dos redes neuronales en serie, ya que, para este caso, las salidas de una no constituyen directamente las entradas de la otra.

Al aplicar el algoritmo de la red ADALINA, sobre la foto de la cámara 2, se llega a la convergencia en casi un minuto.

Inicialmente se tenía un error medio de reconstrucción 0.7895, al aplicar la ADALINA para 50 iteraciones, en 40 segundos se obtienen los siguientes resultados:Kd1=-3.3267x10-6 Kd1_esperada=-6x10-6 Kd2=-3.6123x10-10 Kd2_esperada= 0

El error de reconstrucción se reduce a 0.7661, que parece no ser muy significativo pero a este nivel si lo es. En la figura 6, se pueden visualizar estos resultados.

El máximo error presentado entre pixeles en la reconstrucción es de hasta 2 píxeles (con excepción de un pico espúreo de 3 píxeles). Debe observarse que la foto 3 de la figura 6, corrige el error de distorsión en buena medida comparable a la corrección ‘hecha a ojo’ de la segunda foto. Las mayores diferencias entre estas dos, es la distorsión que aún se presenta en las partes exteriores al patrón

de calibración en la tercera fotografía. La razones para esto pueden estar en tres causas: la primera está relacionada con los puntos externos al patrón de calibración que la RNA no ha tenido en cuenta ni en el modelo clásico, ni en el modelo con distorsión, aunque este problema se presenta también para métodos clásicos.

La segunda razón tiene que ver con la linealización que se hace del modelo de distorsión no lineal, que aunque facilita el tratamiento matemático, obviamente introduce causas de error. Eso puede verse al comparar métodos disímiles entre sí. El contraste proviene de los diferentes métodos utilizados para corregir la fotografía original y llegar a la corrección de la foto 2 de la figura 6 y a la corrección de la foto 3 de la misma figura. Para la foto 2 se utilizan las herramientas del MATLAB de minimización de funciones con Levenberg-Marquardt, en que iterativamente se ponen a variar los parámetros del modelo clásico junto al nuevo parámetro de distorsión, con el objetivo de optimizar todo el conjunto de parámetros para minimizar la función de error. En cambio para la foto 3, los parámetros del modelo clásico permanecen constantes mientras se buscan los parámetros de distorsión, por lo que el conjunto total de parámetros no es optimizado. Además la función error es diferente.

Puede pensarse que la optimización global de los parámetros podría hacerse poniendo a entrenar a las dos redes simultáneamente en cada iteración de aprendizaje simulando un funcionamiento en paralelo. Ese experimento se realizó y los resultados no fueron satisfactorios. La razón para ésto es que no hay manera de asociar el error debido al parámetro de distorsión en el modelo clásico, de tal manera que los cambios en V y W (los pesos de interconectividad de las neuronas en la primera RNA), dependan específicamente del mismo. Esto sólo podría hacerse si consideramos el modelo con distorsión, pero para hacerlo funcionar con una técnica de gradiente descendente sería necesario hallar la derivada de la función de error respectiva, lo que origina un aumento grande en la dificultad computacional del sistema.

Además, es prácticamente imposible asociar las ecuaciones (36) y (37) directamente con una red neuronal. Para lograr un solo parámetro más (Kd1) la dificultad del problema aumenta de forma dramática y la disminución de la eficiencia computacional lo hace totalmente impráctico.

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 21: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 21

8. CONCLUSIONES

En esta investigación se ha logrado un interesante aporte al campo de la parametrización de modelos mediante Redes Neuronales Artificiales, al tiempo que se genera un nuevo método para la calibración explícita del modelo clásico y del modelo con distorsión de las cámaras digitales.

Basándonos en un trabajo previo hemos formalizado el marco teórico de una forma más accesible y más interrelacionado al campo que enmarca a la aplicación: la visión artificial. Además se han introducido técnicas originales que pueden llegar a mejorar el algoritmo en que se basa nuestra implementación.

De esta manera, se ha llegado a un codigo original en MATLAB, basado en RNA que calibra el modelo clásico de las cámaras digitales, arrojando resultados que pueden ser comparados con otros métodos también implementados en este programa tan ampliamente usado en ingeniería.

Adicional a ésto, se ha introducido un algoritmo nuevo para detectar dos parámetros de distorsión con Redes Neuronales Artificiales basados en la linealización matemática que hace Zhang, [ZHANG

99]. En este código implementado en MATLAB, ha podido demostrarse la eficacia de la red ADALINE para parametrizar modelos lineales.

Sin embargo, también es importante señalar las limitaciones. La parametrización del modelo clásico con redes neuronales sufre de varios inconvenientes. El primero está unido a la dificultad para implementar el algoritmo, ya que hay que derivar la función de error por cada capa de la red y adicionarle un parámetro, que no puede relacionarse directamente con un peso de interconectividad entre neuronas. De allí, proviene el segundo inconveniente. Computacionalmente, hay que detectar más pesos que el número de neuronas de la red en una proporción inusual. Adicionalmente hay que arrastrar a la red hacia dos objetivos a la vez: cumplir que las salidas de la red sean iguales a los patrones de salida y además hacer que los pesos cumplan ciertas condiciones, entre ellas la más importante la condición de ortonormalidad de un subconjunto de los pesos. Si comparamos con Fougerais-Toscani, vemos que en este método la condición de ortonormalidad de la matriz de rotación se cumple a priori e incluso facilita encontrar los

parámetros, ya que divide el vector de incógnitas en dos.

Por el lado práctico, el tratamiento del problema con RNAs no ha demostrado hasta el momento, mejoras significativas con respecto a otros métodos, especificamente en cuanto a tiempo de convegencias. Por el contrario, adolece de una lentitud que en ciertas circunstancias se hace intolerable. En cuanto a precisión, cumple satisfactoriamente con los objetivos deseados.

A lo largo de este informe se han presentado las diversas causas de error y de desventajas que este método presenta en la especificación del modelo clásico. Todas se originan del hecho de que la relación entrada salida no es completamente lineal. En cuanto a la parametrización del modelo con distorsión, se puede hacer más efectiva a posteriori de una linealización.

Esto nos lleva a varias preguntas sobre la utilización de las RNAs en la parametrización de modelo lineales y no lineales. Si el modelo de un sistema es lineal, la RNA debe recurrir a algoritmos de segundo orden para ser más rápida si se trata de sistemas de ecuaciones grandes, que en últimas son los mismos que se usan para resolver las seudoinversas originadas en los despejes normales de las ecuaciones matriciales.

Si el modelo es no lineal, el problema es adaptar la arquitectura de alguna red conocida con la descripción dada por el modelo, de manera tal que el entrenamiento arroje pesos que mapeen los parámetros del sistema. Adicionalmente, los tiempos de convergencia limitan su efectividad en ciertas aplicaciones. En nuestro caso concreto es de notar la diferencia entre el método con RNA y algún método de iteración típico, ya implementado en las funciones cosntruidas en MATLAB, como Levenberg-Marquardt. El método con RNA introduce n pesos adicionales a entrenar correspondientes a n puntos del patrón de calibración, asunto que no es necesario en una iteración clásica. Es como rodear el río cuando hay un puente para cruzarlo. Rodear el río, lleva al caminante-investigador por pasajes hermosos de la matemática y su aplicación en las redes neuronales artificiales, lo somete a pruebas más intensas en cuanto a su estudio, pero se llega a un mismo punto luego de un largo tiempo. Si el proceso de cruzar el río, se debe realizar a menudo, la comodidad del puente es inevitablemente superior.

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 22: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 22

Podemos afirmar con seguridad que la extensión de las RNA para parametrización de otros modelos no lineales, arrojará resultados parecidos en cuanto a la dificultad en la concepción de la arquitectura de la red, mayor intensidad computacional y lentitud de aprendizaje.

Pretender utilizar las redes neuronales artificiales para un paradigma distinto para el que fueron hechas puede traer estos problemas. En general, las RNA funcionan muy bien como cajas negras con un contenido casi desconocido. Después de que aprenden con ciertos patrones de entrada a devolvernos unas salidas casi iguales a ciertos patrones de salida, lo importante es que lo hagan así por el resto de su aplicación. La efectividad de la aplicación se mide por la efectividad en el funcionamiento de la red ya entrenada, no tanto por lo que se demore en aprender. En el caso de esta aplicación ocurre lo contrario. Primero debemos conocer cada una de las conexiones neuronales de la red para darles un significado matemático, y segundo, la efectividad del método se mide en el mismo proceso de aprendizaje, el que sea eficiente en su funcionamiento depende de que la cámara no cambie sus parámetros, especialmente su posición en el espacio. La característica de reorganización de una red neuronal, que tanta utilidad ha brindado hasta la actualidad en la ingeniería, tiene como precio la anarquía conceptual de una caja negra, que cuando se abre nos presenta una cantidad de conexiones, literalmente, muy enredadas. [KOSKO 99]

9. REFERENCIAS BIBLIOGRÁFICAS

[AHMED 99(1)] Ahmed Moumen, Hemayed ElSayed E. and Farag Aly A. “Neurocalibration: A Neural Network That Can Tell Camera Calibration Parameters” IEEE Trans. Patt. Anal. And Machine Intell. 1999

[AHMED 99(2)] Ahmed Moumen, Hemayed ElSayed E. and Farag Aly A. “A neural approach for single and multi-imagen camera calibration”. IEEE Trans. Patt. Anal. And Machine Intell. 1999

[AHMED 01] Ahmed, M. Farag, A.; “Locked, unlocked and semi-locked network weights for four different camera calibration problems”. Proceedings. IJCNN '01. International Joint Conference on Neural Networks. Volume: 4 Pages:2826 - 2831. 2001

[AYACHE 99]. Ayache N. “Artificial Vision for Mobile Robots”. MIT Press, Cambridge, MA. 1999

[AZAR 99] Azar A., Musé P. Calibración monocular de cámaras. Instituto de Ingeniería Eléctrica, Facultad de Ingeniería. Universidad de la República. Uruguay. 1999

[BALLARD 92] H. Ballard, C. M. Brown, “Computer Vision” Prentice Hall Inc., 1992

[BERTHOUZE 96] Berthouz L.; Chavand F.; Barret C.; “A camera neural model”. Systems, Man, and Cybernetics, 1996., IEEE International Conference on Pages:2124 - 2126, Volume: 3. 14-17 Oct. 1996

[CHAUMETTE 89] Chaumette F.; Rives P. “Realisation et calibration d’un systeme experimental de vision compose d’une camera mobile embarquee sur un robot-manipulateur” Rapports de Recherche. No. 994. Programme 6. INRIA. 1989

[CICHOCKI 94] A.Cichocki and R.Unbehauen, “Simplified neural networks for solving linear least squares and total least squares problems in real time,” IEEE Trans. Neural Networks, Vol.5, No.6, pp.910-923, 1994.

[CHOI 94] D. Choi, S. Oh, H. Chang and K. Kim, “Nonlinear camera calibration using neural networks," Neural, parallel and scientific computations, Vol. 2, No. 1, March 1994.[DO 99] Do Yongtae. “Application of neural networks for stereo-camera calibration” IJCNN '99. International Joint Conference on Neural Networks Volume: 4. Pages:2719 – 2722. 10-16 July 1999

[DO 00] Do Y. “Application of Neural Networks for Stereo-Camera Calibration” School of Computer and Communication Engineering, Korea

[FAUGERAS 93] Faugeras O. Three-dimensional computer vision: a geometric viewpoint," MIT Press, 1993.

[GONZALEZ 90] González R.C. y Lee C.S.G., “Robótica”, Mc Graw Hill. 1990

[GONZALEZ 93] C. González, P.E. Woods, “Digital Image Processing” Third Edition. Addison-Wesley, 1993

[GROSSMAN 87] Grossman S. “Álgebra lineal. Segunda Edición.” Grupo Editorial Iberoamérica 1987

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 23: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 23

[HALL 82] Hall E.;. Tio J.; McPherson C. and . Sadjadi F., “Measuring curved surfaces for robot vision,” Computer Journal, vol. December, pp. 42–54. 1982.

[HORN 86] Horn B. “Robot Vision” MIT Press, 1986

[HORAUD 95] Horaud R.,Monga O. Vison par ordinateur Outils Fondamentaux. Hermes. 2a. edición.1995

[JI 01] Ji Q. Zhang Y. “Camera Calibration with Genetic Algorithms”. IEEE Transactions On Systems, Man, And Cybernetics—Part A: Systems And Humans, Vol. 31, No. 2, March 2001

[JUN 99] Jun J. Kim C. TENCON 99. Proceedings of the IEEE Region 10 Conference , Volume: 1 , 15-17 Sept. 1999 Pages:694 - 697 vol.1

[KOSKO 99] Kosko B. “El futuro borroso o el cielo en un chip” Editorial Crítica. 1999

[LENZ 88] Lenz R.K. Tsai RY.. “Techniques for calibration of the scale factor and image center for high accuracy 3D machine vision metrology” IEEE Transaction on PAMI. Vol. 10. No. 5. September. 1988.

[LUO 01] Luo A. Pang A. “A Variable Precision Hybrid Camera Calibration Method” Computer Science Department University of California. 2001www.cse.ucsc.edu/~alison/Publications/camera.pdf

[LYNCH 91] Lynch M. Dagli C. “Backpropagation neural net-work for stereoscopic vision calibration," Proc. SPIE. Int. Soc. Opt. Eng., Vol. 1615, Nov. 1991.

[MARTÍN 02] Martín del Brío B. Sanz A. “Redes Neuronales y Sistemas Difusos 2ª edición ampliada y actualizada”. ALFAOMEGA Grupo Editor, S.A. 2002

[MITCHELL 96] M. Mitchell, An Introduction to Genetic Algorithms. Cambridge, MA: MIT Press, 1996.

[MOUSAVI 94] Mousavi M.S. Schalkoff R.J. “ANN implementation of stereo vision using a multi-layer feedback architecture” Systems, Man and Cybernetics, IEEE Transactions on , Volume: 24 Pages:1220 – 1238,  Issue: 8. 1994

[ROBERT 94] L.Robert, "Camera Calibration without Feature Extraction," Rapport de recherche Nº 2204, INRIA, 1994.

[TOU 81] T. Tou, R. C. González, “Pattern Recognition Principles”, Addison-Wesley.1981

[TSAI 86] RY.Tsai, "An efficient and accurate camera calibration technique for 3d machine vision, " Conference on Computer Vision and Pattern Recognition, pp. 364-374, Miami Beach, USA, June 1986.

[WEI 89] Wei Q. He Z. and Ma S. D. “Camera calibration by vanishing point and cross ratio,” in International Conference on Acoustics, Speech and Signal Processing, vol. 3.4, pp. 1630–3. 1989.

[WEN 91] J.Wen and G.Schweitzer, "Hybrid calibration of CCD cameras using artificial neural nets," Int. Joint Conf. Neural Networks, pp.337-342, 1991.

[WENG 92] Weng J., Cohen P. and Herniou M. “Camera calibration with distortion models and accuracy evaluation,” IEEE Trans. Pattern Anal. Machine Intell., vol. 10, pp. 965–980, 1992.

[ZHANG 99] Zhang, Z. A Flexible New Technique for Camera Calibration. Microsoft Research, Technical Report MSR-TR-98-71 December 2, 1998 (last updated on March 25, 1999)http://research.microsoft.com/˜zhang

[ZHOU 92] Zhou Y. Chellappa R. “Artificial neural networks for computer vision", Springer-Verlag, 1992.

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES

Page 24: Articulo Redes Neuronales_22

UNIVERSIDAD DEL VALLE EIEE GRUPO PSI Agosto 2004 24

CALIBRACIÓN EXPLÍCITA DE CÁMARAS DIGITALES CON DISTORSIÓN MEDIANTE REDES NEURONALES ARTIFICIALES