Você está na página 1de 25

UNIVERSIDAD DEL VALLE

CALIBRACIN EXPLCITA DE
CMARAS DIGITALES CON
DISTORSIN MEDIANTE REDES
NEURONALES ARTIFICIALES
Eduardo Caicedo Ph. D.
Humberto Loaiza Ph. D.
Jess Alfonso Lpez M. Sc.
Ing. Julio Csar Milln Barco
Palabras claves: calibracin de cmaras, visin
artificial, parametrizacin de modelos no
lineales,
Redes
Neuronales
Artificiales,
correccin de distorsin radial.
Resumen: Este artculo presenta los resultados
de una parte de una investigacin que busca
1. INTRODUCCIN
El procedimiento de calibracin explcita de
cmaras digitales es un paso indispensable en las
aplicaciones de visin artificial que requieren
medidas de distancia.
A lo largo de las
investigaciones en el campo se han llegado a
presentar distintos mtodos de calibracin basados
generalmente en el modelo pinhole de las cmaras
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 aproximacin llamada de
forma cerrada, hasta aquellas que utilizan
algoritmos iterativos no lineales, especialmente si
el modelo pinhole [TSAI 87] es ampliado para
incluir un parmetro de distorsin que permita
corregir esta aberracin ptica propia de cada
lente. [CHAUMETTE 89]
En este artculo se presentan los resultados
tericos y experimentales de una investigacin
que cuyo objetivo es comparar estas tcnicas ya
conocidas con soluciones bio-inspiradas tales
como Algoritmos genticos 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
calibracin de cmaras.
2. MARCO CONCEPTUAL

EIEE

GRUPO PSI

Agosto 2004

lograr la parametrizacin completa de una


cmara digital con redes neuronales artificiales.
En una primera parte se presenta el problema
del modelo clsico, la arquitectura de la red y los
algoritmos de entrenamiento utilizados y los
resultados obtenidos comparados con un mtodo
clsico comnmente usado. En una segunda
parte, se presenta el modelo ms completo que
incluye dos parmetros de distorsin para ser
resuelto con una red ADALINE y los resultados
obtenidos. Adems se hacen diferentes
observaciones sobre el campo de la
parametrizacin de modelos no lineales
mediante redes neuronales artificiales que
pueden ser de utilidad para futuras
investigaciones en el campo.

2.1. MODELO
CMARA

GEOMTRICO

DE

UNA

El modelo geomtrico de una cmara utilizadoa


ms ampliamente es el conocido como modelo
pinhole, [LENZ 88], que deriva su nombre de la
aproximacin fsica que se hace en el obturador de
la cmara al suponer que este es del tamao de un
punto muy pequeo por el que pasan todos los
rayos de luz del mundo exterior al interior de la
cmara. Se puede entender ms fcilmente 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 patrn de calibracin, el
marco de referencia de la cmara y que se
dirferencia del anterior por una transformacin
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 cmara, geomtricamente, 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
Transformacin escena/cmara, donde el punto de
origen no es externo a la cmara 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 detrs del marco de referencia de la cmara
cuyo punto de origen es ese punto
infinitesimalmente pequeo. [AZAR 99] En el
dibujo se pone adelante, con el fin de facilitar el

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

anlisis matemtico al eliminar el signo negativo


[GONZALEZ 93] de lo que se llama distancia focal,
es decir, el segmento de lnea recta que une el
punto de origen del marco de referencia de la

GRUPO PSI

Agosto 2004

(x',y',z') con respecto al marco de referencia de la


cmara, adquiere coordenadas (u,v) tomando
como marco de referencia el plano CCD, cuyo
origen se toma no en el punto central de la

Marco de referencia del


plano de la imagen o de la
retina

Marco de referencia del


objeto en el mundo real

z
y
y

X
Marco de referencia de
la cmara
Distancia focal

O
(x*, y*, f)

Coordenadas segn el
marco de referencia
del mundo en R3

bu
v

F
Centro de la cmara o
foco

Coordenadas de la
proyeccin del punto B en
el plano imagen (punto b)
con la cmara como marco
de referencia

x
y
z

x*
y*
z*

x
y
z

Coordenadas del punto


B segn el marco de
referencia de la cmara
luego de realizar la
translacin y la
rotacin.

Figura 1. Modelo pinhole de una cmara


cmara al punto central del plano CCD de la
imagen [AZAR 99] La segunda transformacin de
coordenadas se conoce como transformacin
cmara/imagen en que el punto B de coordenadas

imagen, sino en la esquina superior izquierda de la


imagen vista desde la pantalla del computador.

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

GRUPO PSI

Agosto 2004

H(0,0,z')

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

GRUPO PSI

Agosto 2004

En el modelo se asumen tres marcos referenciales


de coordenadas cartesianas. El marco de la
escena 3D donde se ubica un patrn de
calibracin, el marco de referencia de la cmara y
que se dirferencia del anterior por una
transformacin 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 cmara,
geomtricamente, 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 Transformacin escena/cmara,
donde el punto de origen no es externo a la
cmara 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 detrs del marco de
referencia de la cmara cuyo punto de origen es
ese punto infinitesimalmente pequeo. En el
dibujo se pone adelante, con el fin de facilitar el
anlisis matemtico al eliminar el signo negativo
de lo que se llama distancia focal, es decir, el
segmento de lnea recta que une el punto de
origen del marco de referencia de la cmara al
punto central del plano CCD de la imagen. La
segunda transformacin de coordenadas se conoce
como transformacin cmara/imagen en que el
punto B de coordenadas (x',y',z') con respecto al
marco de referencia de la cmara, 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.

referencia y se puede visualizar en el dibujo como


la lnea punteada. Matemticamente sto se puede
expresar como sigue [HORAUD 95]

2.2.

2.3.

TRANSFORMACIN DEL MARCO


REFERENCIA DE LA ESCENA / AL
MARCO REFERENCIA DE LA
CMARA CMARA.

En esta transformacin 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 cmara (el punto
pihhole) haciendo que un determinado punto B
del objeto pase de tener coordenadas (x,y,z), a
verse desde la cmara como de coordenadas
(x',y', z'). Esta transformacin realiza pues una
rotacin y una translacin de los ejes del marco de

x'

y'
z'

r11 r12

= r21 r22
r
31 r32

r13 x
tx


r23 y + t y

t
r33 z
z
(1)

Pueden observarse los elementos de una matriz de


rotacin que multiplica a las coordenadas del
punto segn el marco escena, y luego le suma la
translacin efectiva
Esta suma puede expresarse en una sla matriz si
definimos la matriz de transformacin homognea
[GONZALEZ 93]

r11

r21
D =
r
31
0

r12

r13

r22
r32
0

r23
r33
0

tx

t y R t
,
=
t z 0 1

1
(2)

A las variable rij se les conoce como parmetros


de rotacin y a los componentes del vector
(tx,ty,tz) , como parmetros de translacin. A este
conjunto de parmetros se le conoce como
parmetros extrnsecos, ya que relacionan la
transformacin de coordenadas que hace la
cmara en trminos de su ubicacin exterior.
[HORAUD 95]

TRANSFORMACIN DEL MARCO


REFERENCIA DE LA CMARA 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 cmara , lo
que se representa con la flecha a
trazos.2.3. Transformacin marco
referencia cmara/ marco referencia
imagen

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

En el particular caso de la proyeccin perspectiva


que hace el punto B sobre el plano de la imagen
de la cmara se le denominar punto b de
coordenadas (u,v). En la figura 1 pueden notarse
dos triangulos, el tringulo FHB y el tringulo
FOB, detallados en la siguiente figura
y'
y*
F

(punto B proyectado en
el eje Y de las
coordenadas de la
cmara)

GRUPO PSI

Agosto 2004

expresar las coordenadas cartesianas segn 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,
v = v y* + v0,

con

< 0 , (4)
(5)

donde
u = - ku f

y
v =

kv f

(6)

A los factores de escala y a las coordenadas del


centro ptico, los llamamos parmetros
intrnsecos
yael que
propios sobre
de lael cmara
y no
Figura 2. Semejanza de los tringulos formados por el eje de la cmara y una
lnea que une
puntoson
B proyectado
plano de la
imagen en la coordenada
de X
su ubicacin dentro del espacio de una escena.
Eje de la cmara

H
O

[HORAUD 95]

Se sigue el procedimiento geomtrico necesario


para despejar x*, y* y z* a partir de la figura 2 sin
tener que poner explcitamente los ngulos de
rotacin, gracias a la semejanza de tringulos.
[AZAR 99]

Si se extiende la semejanza de tringulos a los


todos los ejes se obtiene que las coordenadas
segn el marco de referencia de la cmara del
punto B proyectado en el plano de la imagen
(punto b) son:
x* f ( x/ z)
y* f ( y ' / z)
z* f

(3)

en este punto es necesario tener en cuenta el


escalamiento producido por las caractersticas
pticas de la lente. Es decir, un objeto de
determinada altura, obviamente, producir sobre
la retina o el plano CCD, una imagen de tamao
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 slo
ms pequea 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 clculos 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

Eel problema de la proyeccin 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 cmara [BALLARD 92], por lo que
en general, el problema de la calibracin de
cmaras que es el de hallar los parmetros
(extrnsecos e intrnsecos) se convierte se
convierte en un problema no lineal, que como
veremos ms 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
transformacin camara/imagen, que es la
introduce los elementos no lineales, es
conveniente expresarla no en coordenadas
cartesianas sino en coordenadas homogneas de
la siguiente manera: [GONZALEZ 90] [BALLARD 92]

x'

su

y'
sv A.
z'
s

(7)

donde podemos decir que:

A=

0
0

0
v
0

u0
v0
1

0
0

2.34. CALIBRACION DE LA CMARA

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

(8)

UNIVERSIDAD DEL VALLE

EIEE

GRUPO PSI

Agosto 2004

La ecuacin 1 puede expresarse como una


multiplicacin matricial:

r11 r12

r21 r22
=
r
r
31 32
0
0

x'

y'
z'
1

tx

r13

r23 t y
r33 t z

0 1

y
z
1

(9)

Reemplazando la ecuacin (8) y (9) en la ecuacin


(7) tenemos que [HORAUD 95]]:
su

sv
s

u
0
=

0
v
0

u0
v0
1

0
0

r11 r12 r13 t x x


r

21 r22 r23 t y y (1
r
r
r
t
31 32 33 z z
0

0
0
1

0)

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

=A.D. y
z
s

su

sv

(11)

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

La ecuacin (11) es una frmula que nos expresa


en trminos lineales la correspondencia entre los
puntos en la imagen y los puntos en la escena 3D.
La mayora de los mtodos no utiliza esta
expresin porque no es posible conocer el valor s
antes de la calibracin 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 caracterstica
que limita enormemente la capacidad de las RNAs
para atender el problema, ya que la ecuacin (11)
es un descripcin 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 patrn de calibracin
cuyos puntos tienen coordenadas especficas. Si se
desglosa la ecuacin (10), se demuestra que s=z',
es decir s es igual a la tercera coordenada del
punto B segn el marco de referencia de la cmara
luego de realizar la translacin y la rotacin.
s = z' = r31 . x + r32 . y + r33 . z + Tz

(12)

La coordenada en z, segn el dibujo de la figura,


est fsicamente asociada a la profundidad. Sin
embargo, no es posible conocer s antes de calibrar
la cmara porque debemos conocer los parmetros
r3j y Tz, lo cual es precisamente parte del objetivo
de calibracin.
Generalmente los mtodos de calibracin lo que
hacen es tomar las dos primeras elementos
resultantes de la ecuacin 11, dividiendole entre el
elemento s que aunque se desconoce se mete
como incgnita en un sistema de ecuaciones.
Si M= A.D y mij es un elemento de M, tenemos
que la ecuacin 11 se convierte en

m11
su

sv = m21
s
m

31

m12

m13

m22
m32

m23
m33

m14
y
m24 .
z
m34
1

(13)

Por lo que despus de desplegar y dividir s en


ambos lados de la ecuacin: [GONZALEZ 93]
[HORAUD 95]

EIEE

GRUPO PSI

Agosto 2004

m11 .x m12 y m13 z m14


m31 x m32 y m33 z m34

(14)

m 21 .x m 22 y m 23 z m 24
m31 x m32 y m33 z m34

(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 mtodos de calibracin toman este
camino para resolver el problema de la calibracin
aunque sea por diferentes tcnicas como las de
Tsai [TSAI 86], Hall [HALL 82],, Ayach [AYACHE
99], Fougerais Toscani [FAUGERAS 93] [TOSCANI 87],
que
linealizan utilizan la relacin no lineal
expresada en (14) y (15) para obtener soluciones
a travs de ciertas ecuaciones matriciales lineales
que se resuelven por las tcnicas de la
pseudoinversa. A estos mtodos se les conoce
como mtodos clsicos y de ellos se (14) y (15)
obteniendoencuentran
distintampliasos
referencias bibliogrficas y que a lo largo de la
investigacin global que hemos hecho sobre
calibracin de cmaras, se han implementado y
comparado sus distintos resultados que varan en
precisin y robustez..
3. LA CALIBRACIN EXPLCITA DE
CMARAS DIGITALES CON RNAs
En el estado actual del arte se encuentran varias
propuestas de calibracin de cmaras digitales con
RNAs, utilizando principalmente redes multicapa
de conexiones hacia delante, entrenadas con
algoritmos de retropropagacin [AHMED 99(2)]. Sin
embargo, la mayora no determina explcitamente
los parmetros de la cmara y deja pocas
posibilidades para una adecuada correccin de
aberraciones pticas como la distorsin [SHIH 95].
Una mayor profundizacin en la calibracin
implcita de cmaras 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 slo un trabajo de doctorado cuyas
investigaciones han sido publicados en algunos
artculos, ha abordado el problema de determinar
explcitamente los parmetros de la cmara
usando para ello el modelo pinhole clsico y
RNAs. Se trata de las investigaciones de Ahmed,
Hemayed y Farag ([AHMED 99(1)], [AHMED 99(2)]

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

, y cuyas publicaciones han servido


de base importante para el presente trabajo.
[AHMED 01] )

El adentrarse en esta investigacin significa tomar


una aplicacin muy especfica de un campo ms
global mejor conocido como parametrizacin de
sistemas con RNAs. En este trabajo se presenta la
manera en que se hizo la indagacin en esta rea y
arroja conclusiones muy interesantes, sobre la
conveniencia o no de utilizar las RNAs en un
nuevo paradigma que va en contrava de la reta
la filosofa 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 ecuacin 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 ecuacin. Su relacin con una
siguiente capa tambin de cuatro neuronas, est
determinada por los elementos de la matriz D, es
decir por los parmetros extrnsecos de la cmara.

EIEE

GRUPO PSI

Agosto 2004

problema. Se ha de notar que todas las neuronas


de la capa oculta tienen funcin de transferencia
lineal y = F(neta), donde F(x)=m.x, con m=1. .
La capa de salida debe tambin tener neuronas
con funciones de transferencia lineales, con la
diferencia de que para cada patrn existe una
pendiente distinta en la relacin F(x)=m.x. Es
decir, m es obtenida de la tercera neurona de la
capa oculta que corresponde a la tercera
coordenada del patrn especfico en el marco de
referencia de la cmara, a la que hemos llamado z'
segn la ecuacin (12). Para cada patrn m ser
igual al denominador comn de las ecuaciones
(14) y (15), desconocido antes de la calibracin.
A continuacin explicamos porque se hace esto.
Para poder implementar un algoritmo de
backpropagation, es necesario que la funcin del
error total, sea derivable y pueda ser relacionada
con variables que correspondan a pesos fsicos 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]
N

(u mod elo u imagen ) 2 (v mod elo vimagen ) 2


i 1

(16)

([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
parmetros intrnsecos de la cmara. 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 parmetros de la
cmara. La calibracin explcitica de la cmara es,
por lo tanto, el entrenamiento de la red neuronal
cuya arquitectura pueda realizar la misma
operacin qu e realiza la ecuacin (13). El
problema mayor a vencer es el explicado en la
seccin anterior, el desconocimiento de la variable
s, que es la que permite homogeneizar y linealizar
la relacin no lineal original que corresponde a las
coordenadas (u,v) en funcin de las coordenadas
(x,y,z), tal como hacen las ecuaciones (14) y (15).

m11 .x i m12 y i m13 z i m14


u i
m x m y m z m
31 i
32 i
33 i
34

i 1
N

m 21 .x i m 22 y i m 23 z i m 24

v i
m
x

m
y

m
z

m
31 i
32 i
33 i
34

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

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

, (17)

UNIVERSIDAD DEL VALLE

EIEE

GRUPO PSI

Si definimos

oi1 m11.xi m12 yi m13 zi m14 ,


oi 2 m21.xi m22 yi m23 zi m24 ,

(18)

oi3 m31.xi m32 yi m33 zi m34 ,


podemos convertir (17) en:

r11
r12
r13
tx

r22
r23

r33

i 2 vi
o
i3

(19)

La expresin 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
fsicamente asociado a ninguna interconexin 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 patrn. [AHMED 99(2)]

F(neta)= m neta, donde


m=(1/z')

u0

Salida=y'

ty

0
0

Salida=z'

tz

v0

r31

1
Matriz de pesos D
Parmetros
extrnsecos

oi1
ui
oi 3

i 1

Salida=x'

r21

r32

Agosto 2004

1
0

0
Salida=1

Matriz de pesos A
Parmetros
intrnsecos

Figura 2. Arquitectura de la red utilizada para parametrizar


el modelo clsico

Capa de neuronas de
salida, con funcin de
transferencia lineal y
pendiente variable

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

r11
r12
r13
tx

r22
r23

10

Agosto 2004

F(neta)= m neta, donde


m=(1/z')

u0

Salida=y'

ty

Salida=z'

tz

v0

r31

1
Matriz de pesos D
Parmetros
extrnsecos

GRUPO PSI

Salida=x'

r21

r32

r33

EIEE

1
0

0
Salida=1

0
0

Matriz de pesos A
Parmetros
intrnsecos

Capa de neuronas de
salida, con funcin de
transferencia lineal y
pendiente variable

Si definimos

oi1 m11.xi m12 yi m13 zi m14 ,


oi 2 m21.xi m22 yi m23 zi m24 ,

(18)

oi3 m31.xi m32 yi m33 zi m34 ,


podemos convertir (17) en:
N

oi1
ui

oi 3

i 1

i 2 vi
oi 3

(19)

La expresin 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 fsicamente asociado a ninguna
interconexin 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 patrn.
Al tener que entrenar el vector i, implcitamente se
est relacionando el error de entrada con la fila tres
de la matriz de rotacin, para hacerlos adaptables a
esta particular funcin. El inconveniente que aparece
aqu es que no slo se deben entrenar los pesos
relacionados a la interconexin entre neuronas (con
excepcin de los que permanecen iguales a 1 o 0),
sino que tambin este nuevo vector debe ser
entrenado. [AHMED 99(2)] Si se toman como muestras
120 puntos, deben entrenarse 120 pesos adems de
los 16 pesos que corresponden a los parmetros de la
cmara
colocados estratgicamente
en
la
arquitectura de la RNA.

Para el entrenamiento se utiliza un algoritmo clsico


de retropropagacin del error, con una tcnica
clsica de gradiente descendente que permite
actualizar los pesos en cada iteracin.
En general, los valores esperados para los elementos
de las matrices A y D, son valores muy heterogneos
por los que se hace necesario colocarlos a escala
para que la RNA pueda entrenarse ms fcil. 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 ecuacin (20)
teniendo en cuenta que la divisin entre la z' se hace
mplicitamente dentro de la red, gracias a la peculiar
funcin 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)]
0
1 / S1

1 / S1
0

0
0
1 / S1

1 / S1

0 su

0 sv
1 s

AD

y
z

1
(20)

Reemplazando:

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

S1

S1 = 0
0

0
S1
0

EIEE

(21)

y recordando las propiedades de las inversas de las


matrices diagonales:
su

-1
( S1 ) sv
s

Siguiendo
hacemos:

la

x

y

( S1 )-1 AD

notacin

de

(23)

Con lo que (22) queda:

x

su

y
-1
( S 1 ) . sv W D z
s

(24)

De igual manera podemos normalizar el vector


entrada si multiplicamos y dividimos por la siguiente
matriz

1/ S 2

( S2 ) =

( S 1 )-1 .

x

su

y
sv W Vini ( S2 )
s
z

1/ S 2

1/ S 2

ui S1

vi S1 i W Vini

(28)

i =1/oi3

xi

ui oi 3

yi
-1
( S 1 ) . vi oi3 W Vini ( S2 ) z
o
i
i3
1

MoummenAhora

W = ( S1 )-1 A

11

Agosto 2004

Como ya sabemos que s= oi3 y

(22)

GRUPO PSI

xi S 2

yi S 2
z S2
i

(29)

(30)

Aqu hay que anotar que en nuestra investigacin


descubrimos que ante parmetros 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 fotografa es muy rectangular. En
este caso, introducimos un factor de escala diferente
que no disminuya ms el patrn de entrada, por eso
no se pone en la matriz S2 que sera la primera
opcin porque va al lado de la matriz V que es la
que incluye al parmetro tz. Si se pusiera como parte
de la matriz S2 afectara el comportamiento del
aprendizaje de la red tal como se comprob en las
innumerables exploraciones. Por lo que (30) se
puede expresar

(25)

ui ( S1 FESC )

vi ( S1 FESC ) i W (Vini /FESC)

1 FESC

Con lo que la ecuacin 24 queda as:

su

( S1 ). sv W D
s

x

y

( S2 )-1 S2 z

1

(26)

Si hacemos:

Vini = D( S2 )-1

(27)

xi S 2

yi S 2
z S2
i

(31)

La solucin de este factor independiente es que


afecta especficamente a aquellos parmetros de la
cmara que esperamos altos como el tz, ya que est

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

relacionado con la profundidad de la escena o la


distancia de la cmara al patrn de calibracin.
Teniendo ya claro, la representacin matricial
adaptada para poder entrenar la red, retomamos la
funcin de error. Ahora podemos cambiar la
ecuacin (19) por ([AHMED 99(1)] ) :

GRUPO PSI

12

Agosto 2004

Empezamos formulando la expresin para las salidas


de las neuronas de la capa oculta:
4

V jl Zil

Yj

(35)

l 1

ioi1 ui 2 i oi 2 vi 2 ioi3 1 2
i 1

(32)
Ya tenemos como relacionar la nueva variable i con
el error final de las neuronas en la capa de salida.
Siguiendo la notacin de Moummen, lLlamamos
a cada patrn deseado

ui ( S1 FESC )

di = vi ( S1 FESC )

1 FESC

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 segn las interconexiones a las salidas
de la capa oculta, lo que hemos llamado oi

di

(33)

y a Oi=ioi, como la salida real de la red para cada


patrn i luego de pasar por las dos capas y por la
funcin de transferencia lineal de pendiente variable
de las neuronas de la capa de salida. Es interesante
aqu anotar otra vez que esa pendiente vara de
acuerdo a cada patrn y es la variable nueva
introducida para parametrizar el modelo no lineal
que describe a la cmara digital. La innovacin
propuesta por Moummen Ahmed [AHMED 99(1)] es
pues que debemos entrenar la funcin 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 parametrizacin con RNAs.

d i iW3 x 4V4 x 4 Zi

(34)

La idea del entrenamiento de la red es encontrar los


valores de i , W3x 4 y V4 x 4 , 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)]

j 1

(36)

donde k es el ndice para las neuronas de salida.


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

Oi=ioi

(37)

Oi = iWkjYj
j 1

(38)

De esta manera la funcin de error puede ser escrita


as:
3

Ei

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 expresin matricial para la salida
deseada de la red [AHMED 99(1)] . .

WkjYj

oi =

1
( dik Oik ) 2
2 k 1

(39)

El factor de 0.5 se introduce por simple


conveniencia, para eliminar el 2 en el proceso de
derivacin. La ecuacin (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 iteracin del aprendizaje: [AHMED 99(1)]
W kj 1 ( d ik Oik ) i Y j

Vij 1 i

(40)

(d ik Oik )Wkj Z il
k 1

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

(41)

UNIVERSIDAD DEL VALLE


(d ik Oik )


k 1

i 2

GRUPO PSI

W kj Y j

j 1

FESC

S2

(42)

donde 1 y 2 son constantes de aprendizaje,


sobre las cuales se deben efectuar algunos
comentarios ms adelante. Debe resaltarse, segn las
ecuaciones (8) y (23), que para la matriz de pesos W,
en cada iteracin deben conservarse constantes todos
sus elementos, menos los que corresponden a los
parmetros intrnsecos: W11, W22, W13 y W23. As
mismo la matriz V, segn las ecuaciones (2) y (27),
debe conservar constantes los elementos de la fila 4,
mientras vara los que corresponden a los parmetros
extrnsecos segn la regla de gradiente descendente
de la ecuacin (41).

13

Agosto 2004

EIEE

(46)

Para cumplir estas dos condiciones de


ortonormalidad es necesario que la red se entrene
teniendo en cuenta, adems 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 condicin


Siin embargo, an hay que introducir una nueva
regla para asegurar que la submatriz de la matriz V
que corresponde a la matriz de rotacin de la
ecuacin 1, cumpla con las caractersticas de
ortonormalidad. [GROSSMAN 87] Para eso la matriz
R debe satisfacer dos condiciones:

Eort2 = (V11V11 + V12V12 + V13V13 - a)2 +


(V21V21 + V22V22 + V23V23 - a)2 +
(V31V31 + V32V32 + V33V33 - a)2

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 2
V11V31 + 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 1
R21R21 + R22R22 + R23R23 = 1, fila 2
R31R31 + R32R32 + R33R33 = 1, fila 3

debido a que R est escalada con respecto a V, al


aplicar esta condicin 2 directamente a la matriz V
se elige un factor de escala apropiado para que se
cumpla que
V11V11 + V12V12 + V13V13 = a, fila 1
V21V21 + V22V22 + V23V23 = a, fila 2
V31V31 + 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 ecuacin:

l 1

(49)
por la segunda condicin.
De esta manera el error total ser igual a:
1
2

Etotal =
(44)

Vl12 Vl 2 2 Vl 3 2 a 2
3

(d ik Oik ) 2 + E

ort

(50)

k 1

De la ecuacin (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] :

Vij 1 i

(d ik Oik )Wkj Z il
k 1

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

4 1 Vl1 2 Vl 2 2 Vl 3 2 a Vij 2 1 vlj


(51)

GRUPO PSI

14

Agosto 2004

Toscani, (F-T), [FAUGERAS 93] [TOSCANI 87] y se


tom el error relativo con respecto a este estimativo.
Los resultados fueron los siguientes:

donde

(V 2 j )(V11V 21 V12V22 V13V 23 )


V V V V V V V ,
3 j 11 31
12 32
13 33

Cmara 1:

para : l 1

V1 j (V11V21 V12V22 V13V23 )


v lj V3 j V21V31 V 22V32 V 23V33

para : l 2

V1 j (V11V31 V12V32 V13V33 )


V 2 j V21V31 V 22V32 V 23V33

para : l 3

(52)
Las ecuaciones (51) y (52) permiten entrenar
especficamente los elementos de la matriz V que
deben cumplir con las condiciones de
ortonormalidad, indispensable para darle una
solucin exacta al problema de la calibracin de
cmaras. [AHMED 99(2)] Como puede apreciarse por
la complejidad del clculo matemtico que soporte
la RNA, por aqu se inicia por un camino ms difcil
que la solucin por el metodo clsico. Debe tenerse
en cuenta para el anlisis de resultados, que la
minimizacin del entrenamiento de la RNA es una
minimizacin multiobjetivo, pues deben cumplirse
las condiciones del error cuadrtico medio y adems
las de las condiciones de la ortonormalidad, porque
si se hiciera la minimizacin cumpliendo slo el
objetivo de reducir el error cuadrtico medio, lo ms
seguro es que se llegara a una solucin en donde la
submatriz 3x3 de V, no correspondera realmente a
una matriz de rotacin y no habra, por tanto,
calibracin explcita.
45.
RESULTADOS
EXPERIMENTALES
MODELO CLSICO CON RNA
Se implement el algoritmo explicado en las
secciones anteriores.
Se aplic el programa
programa en MATLAB a la calibracin de tres
cmaras distintas, una de ellas escogida con un
parmetro de distorsin relativamente grande y cuya
definicin e influencia se explicar en la segunda
parte de este informe.
Previamente se obtuvo un estimativo de los
parmetros a travs del mtodo de Fougerais-

Condicin casi ideal para tomar muestras

Desperada

Dfinal

0.7427
0.031982
0.67001
0

0.67007
0.037852
0.74049
0

0.67585
0.73704 0.00247 24.623

0.038765 0.032201 0.99873 211.65

0.73602

0.67509

0.002855
0.99932
0.05242
0

0.050335 1526.3
0

Error relativo pytromedio en parmetros extrnsecos:


0.019876
0.4989
739.58

176

799.89

144

Aespe

783.47

Afinal
0

0
846
0

176
144
1

0
0

Error relativo promedio en parametros intrnsecos:


0.0097503

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

25.0
211.
144
1

UNIVERSIDAD DEL VALLE

EIEE

0.1764
Error de reconstruccin para la cmara 1 con RNA:
0.1
Error de reconstruccin para la cmara 1 con F-T
0.3128
7895
Error de reconstruccin para la cmara 1 con F-T
0.3128
Cmara 2
Cmara 2

GRUPO PSI

15

Agosto 2004

300

Afinal
0

160

290

120

Error relativo promedio en parametros intrnsecos:


0.0342
0.1910
Error de reconstruccin para la cmara 2 con RNA:
0.7895
Error de reconstruccin para la cmara 2 con F-T
0.7940

Cmara 3.

Puede observarse la distorsin en esta cmara


Puede observarse una mayor distancia de la cmara
0.37112
68.211
al patrn

0.24249
0.92787
208.94
0.2854
Desperada
0.66773 0.7443 0.012342 796.95

0.83
0.051812 39.293
0.52618

0
0
0
1

0.13641
0.92031
7.302
0.3063
Despe
1827.9
0.62506 0.37325
68.8 0.78092 0.47551 0.40503
0.68555

0
0
0
1

0
.
26972
0
.
25816

0
.
92769
190
.
78

Dfinal

0.67622 0.7366 0.008391 935.96

0
0
0
1

0.82
0.059 34.4
0.56

Error relativo promedio en parametros extrinsecos:


0
.
312
0
.
14718
0.938
7.463

0.04660.6311
Dfinal
0.764 0.550 0.332 1632.2

0
0
0
1

0
160 0
265.61

Aespe
0
259.03 120 0
Error relativo promedio en parametros extrinsecos:

0.059351
0
0
1
0

0.9048

0.68811

0.6236

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

811.18

Aespe
0

320

812.31

240

EIEE

GRUPO PSI

Agosto 2004

16

Error relativo Promedio en parametros intrnsecos:


0.
0.022102
Error de reconstruccin para la cmara 3 con RNA:
0.83881

700

Afinal
0

0
709.25
0

320
240
1

0
0

5. ANLISIS DE LOS RESULTADOS PARA EL


MODELO CLSICO
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 patrn de
calibracin. 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
diseada la red cada patrn es un peso a entrenar,
por lo que entre ms patrones talvez se obtenga ms
precisin a costa de un tiempo de convergencia ms
alto.
En la foto nmero 1 se puede apreciar un error de
reconstruccin suficientemente bueno y que avala la
poca diferencia entre los parmetros esperados y los
parmetros obtenidos con la RNA. Sin embargo,
quedan dudas con respecto al parmetro que define
la profundidad de la escena: Tz, el de mayor error
relativo en la prueba. De esta foto nmero 1 hay que
destacar que es una foto ptima para realizar la
acumulacin de datos que conforman patrones de
entrada y de salida, buena iluminacin, cercana al
patrn, poca distorsin de la lente y simetra de la
ubicacin de la cmara. Es una condicin ideal, no
siempre alcanzable.
En la foto nmero 2, es de destacar la distorsin que
aporta la lente de la cmara, aunque en general se
cuentan con buenas condiciones para acumulacin
de datos de patronaje. El error de reconstruccin es
prcticamente el mismo que para Fougerais-Toscani.
Sin embargo la RNA diseada slo ofrece solucin a
los parmetros del modelo clsico sin contar con el
parmetro de distorsin. Es necesario un segundo
paso para hallar un parmetro de distorsin. [SHIH 95]
En la tercera toma, se cuenta con un
posicionamiento de la cmara ms alejado que en las
dos anteriores y peores condiciones de iluminacin.
En este caso se nota el mejor comportamiento del
mtodo clsico para arrojar un error de
reconstruccin menor que el de la RNA. En

Error de reconstruccin para la cmara 3 con F-T


0.3325
cualquier caso, si se desea un menor error de
reconstruccin debe prolongarse el tiempo de
entrenamiento de la RNA.
El carcter heurstico de las redes neuronales hace
que sea muy importante la eleccin de los
parmetros 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 investigacin trat diferentes mtodos para
mejorar este aspecto, ensayando con tcnicas 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 pequeos en los
cambios de los pesos V y W, que son finalmente los
que tienen una relacin directa con los parmetros
de la cmara. 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 requeran 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 conexin real
entre las capas de las neuronas entrada-oculta y
oculta-salida, sino ms bien una funcin de
activacin que variaba segn cada patrn, por lo que
su influencia en la retropropagacin del error no era
del todo conveniente para la convergencia de los
pesos principales: V y W. Adems el tamao del
elemento depende del nmero de puntos obtenidos
del patrn de calibracin, que a su vez influye
significativamente en la precisin de la calibracin,
pues entre ms puntos de calibracin ms precisin,
especialmente para este proyecto con RNAs, ya que
comparando con el mtodo clsico de FougeraisToscani, el nmero de puntos no influye tanto en la
precisin de calibracin, siempre y cuando ste sea
mayor a 12. [HORAUD 95]

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

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
ms contundente para explicar el tiempo de
convergencia alto de la RNA aplicada en la
calibracin, es la enorme diferencia entre el nmero
de neuronas y el nmero de pesos a entrenar. Se
deben encontrar 16 parmetros de la cmara, pero
adems se deben encontrar los elementos del vector
cuyo tamao, como ya dijimos, depende del
nmero de puntos del patrn de calibracin. Se
utiliz un patrn de calibracin de 260 puntos, por lo
que el nmero total de pesos a entrenar es de 276
con tan slo 11 neuronas en toda la red. El tiempo
de convergencia, es pues, el precio a pagar por
querer identificar explcitamente los parmetros de
una cmara digital con RNAs. La calibracin
implcita de cmaras digitales con RNAs, deja de
lado el problema de tener que averiguar cada
parmetro y se limita a hacer de la red neuronal
entrenada, una especie de caja negra que imita el
comportamiento de la cmara digital, con lo que en
el proceso de diseo de la arquitectura de la red se
puede jugar con el nmero de neuronas en la capa
oculta. Este calibracin implcita asegura buenos
resultados en las aplicaciones de reconstruccin de
imgenes, con unos tiempos de entrenamiento
breves, pero pueden tener problemas para las
aplicaciones estereomtricas o de correccin de
distorsin.

GRUPO PSI

17

Agosto 2004

ms alejado est el punto del centro de la imagen.


Por eso se llama distorsin radial, depende del radio
de un crculo cuyo centro es el centro de la imagen.
[HORAUD 95] Podemos verlo ms detalladamente en
la figura 4.
vy
(uXp,
vYp)
(ux, vy)

x
u

(uidealxd,videal yd)

Figura 3. Representacin de la distorsin radial segn los puntos


idealizados y los puntos con distorsin

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]

Md

u
6. EL MODELO CON DISTORSIN
El modelo pinhole de la cmara es un modelo ideal
que no tiene en cuenta varias aberraciones pticas
propias de los lentes. Entre ellas la ms destacada es
la llamada distorsin radial en la que de todas
formas hay una relacin punto a punto entre la
escena y la imagen, pero en el que el
correspondiente de cada punto se desva de su
proyeccin en una magnitud proporcional a su
distancia al eje ptico. Se puede observar la figura 3
para analizar la distorsin radial mediante un crculo
que describe la situacin. 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 distorsin. [CHAUMETTE 89].
Entre ms alejado est el punto del centro de la
imagen mayor ser su alejamiento del punto ideal, es
decir el desplazamiento que ocasiona la distorsin
(que es visto como un error), es ms grande, entre

uideal

Mp

u0

v0

videal v

Figura 4. Las coordenadas del punto Mp en la imagen son (u,v) y


las del mismo punto pero teniendo en cuenta restarle la distorsin
son Md(uideal ,videal).

Tomando esto como referencia ms adelante se ver


que si se hace as, la constante de distorsin debe dar
negativa en caso de que el punto Md est ms cerca
del centro ptico que el punto Mp. Ese
desplazamiento se puede expresar de la siguiente
manera
u = uideal + u,
v = videal + v,
donde

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

(27)
(28)

UNIVERSIDAD DEL VALLE

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

EIEE

GRUPO PSI

(29)
(30)

x'

r2 = u .
z'

y'
v .

z'

x'
z'

+ u0,

(32)

+ v0 ,

(33)

Kd. u..

x'
z'

=
+ Kd..

v .

y'
z'

v. .

y'
z'

u0

. x '
u z'

x' 2
r
z'

x' 4
r
z'

(36)
y' 2
r
z'

(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 matemtico adoptado por


Zhang [ZHANG 99], en pos de una linealizacin del
modelo, podemos expresar (38) y (39) en forma
matricial:

u ideal u 0 r 2
v ideal v 0 r

Kd1. u..

y'
+ v0 + Kd.. v.
z'
x' 4
+ Kd2. u..
r
z'

u .

Kd2. u..

(31)

Tenemos que:
u

+ u0 +

v = v.

Donde u y v son los parmetros intrnsecos de la


ecuacin (4) y donde x',y' y z' son las coordenadas
del punto del patrn de calibracin, pero segn las
coordenadas de referencia de la cmara. Mejor dicho
las coordenadas que se obtienen luego de para el
sistema por los parmetros extrinsecos de Rotacin y
Translacin. Tomando que idealmente, segn la
ecuacin (4):
x'
uideal = u .
z'
y'
videal = v .
z'

x'
z'

u = u.

siendo Kd el parmetro de distorsin radial


(parmetro que deseamos averiguar) y r2 segn la
frmula:

18

Agosto 2004

u ideal u 0 r 4
v ideal v 0 r 4

Kd 1 u u ideal

Kd 2 v v ideal

(40)
y'
v .

z'

Esta ecuacin puede ser descrita como:

(34)

Dk d

(41)

donde:

+
. x '
u z'

v0
2

y'
v .

z'

uideal u0 r 2

(35)

Con este modelo ampliado para incluir la distorsin


radial los parmetros intrnsecos que deben ser
identificados en el proceso de calibracin son:
centro ptico (u0,v0), u, v, y Kd.

2
videal v0 r

uideal u0 r 4
videal v0 r 4
(42)

k Kd1

d u u ideal

Kd 2 T

v videal

(43)
T

(44)

Este modelo es en realidad una simplificacin de un


modelo ms completo en que se tienen en cuenta
ms parmetros de distorsin que, tericamente
ayudan a la exactitud mientras aumentan el orden de
la ecuacin del sistema.

Si asumimos que hemos tomado un numero de


puntos del patrn igual a pp, de esta manera
obtenemos un sistema de 2xpp ecuaciones.

Las ecuaciones (34) y (35) son facilmente


extendibles a un modelo ms completo con un
segundo parmetro de distorsin.

7. ASUMIENDO EL PROBLEMA DE LA
DISTORSIN RADIAL MEDIANTE RNAs

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

Una vez obtenido el sistema de ecuaciones descrito


por la ecuacin (41) es posible encontrar la solucin
al sistema con una Red Neuronal Tipo Adalina.

GRUPO PSI

19

Agosto 2004

(47)

[MARTN 02]

La red neuronal tendr dos neuronas de entrada y


una sla neurona de salida, donde los patrones de
entrada de cada neurona son:

7.1. DISEO

Para la neurona 1:

PAT _ ENT1

INP1

INP3

El diseo de la arquitectura de la red se bas en las


siguientes definiciones:
INP1= uideal u 0 r 2 3993

Para la neurona 2:

PAT _ ENT 2

INP 2

INP 4

, INP2 = uideal u 0 r 4 ,

INP3= videal v0 r 2 ,

PAT _ ENT1

INP4 = videal v0 r 4 ,

OUT1= u u ideal

y OUT2= v videal
(45)

Por lo que los elementos de la ecuacin (40) se


renombran:

INP1 INP 2 Kd1


OUT 1
INP3 INP3 Kd OUT 2
2

Kd1
PAT _ SAL
Kd 2

PAT _ ENT 2

PAT _ ENT 2

Kd1

(49)

PAT _ SAL

Kd2

Figura 5. Arquitectura red ADALINE


para hallar parmetros de distorsin

(46)

En trminos de patrones de entrada y patrones de


salida para una red Adalina:

PAT _ ENT1

(48)

7.2. IMPLEMENTACIN
Se implement un algoritmo para hacer converger la
red que resolviera este sistema de ecuaciones.
Tngase en cuenta que el nmero de ecuaciones es
igual a 2 veces el nmero de puntos tomados del
patrn de calibracin, aproximadamente 520 puntos,
para encontrar tan slo 2 incgnitas.
.

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

Figura 6. Resultados de la prueba de correccin de distorsin de imagen para red ADALINE

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 versin
iterativa aproximada de la basada en la
pseudoinversa, necesaria para resolver el sistema
descrito por (41) de tal manera que:
k (D T D)1 D T d

(50)

Como el sistema tiene tantas ecuaciones es


conveniente utilizar un parmetro de aprendizaje
muy pequeo. Sin embargo, se obtienen mejores
resultados si se aplica una tcnica de segundo grado,
como la del gradiente conjugado en la versin que
expone Haykin, con minimizacin lineal que permita
hallar la magnitud de paso ms efectiva, sin tener
que utilizar segundas derivadas
7.3. RESULTADOS
Se aplico el programa implementado para la
fotografa de la cmara 2, que es la de mayor
distorsin en este conjunto de pruebas. Para el
modelo clsico le sigue el procesamiento de la rde
ADALINE para hallar los parmetros de distorsin.
Es un proceso global constitudo 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 cmara 2, se llega a la convergencia en
casi un minuto.
Inicialmente se tena un error medio de
reconstruccin 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
-10
Kd2=-3.6123x10
Kd2_esperada= 0
El error de reconstruccin 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 mximo error presentado entre pixeles en la
reconstruccin es de hasta 2 pxeles (con excepcin
de un pico espreo de 3 pxeles). Debe observarse
que la foto 3 de la figura 6, corrige el error de
distorsin en buena medida comparable a la
correccin hecha a ojo de la segunda foto. Las
mayores diferencias entre estas dos, es la distorsin
que an se presenta en las partes exteriores al patrn
de calibracin en la tercera fotografa. La razones
CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

para esto pueden estar en tres causas: la primera est


relacionada con los puntos externos al patrn de
calibracin que la RNA no ha tenido en cuenta ni en
el modelo clsico, ni en el modelo con distorsin,
aunque este problema se presenta tambin para
mtodos clsicos.
La segunda razn tiene que ver con la linealizacin
que se hace del modelo de distorsin no lineal, que
aunque facilita el tratamiento matemtico,
obviamente introduce causas de error. Eso puede
verse al comparar mtodos dismiles entre s. El
contraste proviene de los diferentes mtodos
utilizados para corregir la fotografa original y llegar
a la correccin de la foto 2 de la figura 6 y a la
correccin de la foto 3 de la misma figura. Para la
foto 2 se utilizan las herramientas del MATLAB de
minimizacin de funciones con LevenbergMarquardt, en que iterativamente se ponen a variar
los parmetros del modelo clsico junto al nuevo
parmetro de distorsin, con el objetivo de optimizar
todo el conjunto de parmetros para minimizar la
funcin de error. En cambio para la foto 3, los
parmetros del modelo clsico permanecen
constantes mientras se buscan los parmetros de
distorsin, por lo que el conjunto total de parmetros
no es optimizado. Adems la funcin error es
diferente.
Puede pensarse que la optimizacin global de los
parmetros podra hacerse poniendo a entrenar a las
dos redes simultneamente en cada iteracin de
aprendizaje simulando un funcionamiento en
paralelo. Ese experimento se realiz y los resultados
no fueron satisfactorios. La razn para sto es que
no hay manera de asociar el error debido al
parmetro de distorsin en el modelo clsico, de tal
manera que los cambios en V y W (los pesos de
interconectividad de las neuronas en la primera
RNA), dependan especficamente del mismo. Esto
slo podra hacerse si consideramos el modelo con
distorsin, pero para hacerlo funcionar con una
tcnica de gradiente descendente sera necesario
hallar la derivada de la funcin de error respectiva,
lo que origina un aumento grande en la dificultad
computacional del sistema.
Adems, es prcticamente imposible asociar las
ecuaciones (36) y (37) directamente con una red
neuronal. Para lograr un solo parmetro ms (Kd1)
la dificultad del problema aumenta de forma
dramtica y la disminucin de la eficiencia
computacional lo hace totalmente imprctico.

GRUPO PSI

Agosto 2004

21

8. CONCLUSIONES
En esta investigacin se ha logrado un interesante
aporte al campo de la parametrizacin de modelos
mediante Redes Neuronales Artificiales, al tiempo
que se genera un nuevo mtodo para la calibracin
explcita del modelo clsico y del modelo con
distorsin de las cmaras digitales.
Basndonos en un trabajo previo hemos formalizado
el marco terico de una forma ms accesible y ms
interrelacionado al campo que enmarca a la
aplicacin: la visin artificial. Adems se han
introducido tcnicas originales que pueden llegar a
mejorar el algoritmo en que se basa nuestra
implementacin.
De esta manera, se ha llegado a un codigo original
en MATLAB, basado en RNA que calibra el modelo
clsico de las cmaras digitales, arrojando resultados
que pueden ser comparados con otros mtodos
tambin implementados en este programa tan
ampliamente usado en ingeniera.
Adicional a sto, se ha introducido un algoritmo
nuevo para detectar dos parmetros de distorsin con
Redes Neuronales Artificiales basados en la
linealizacin matemtica que hace Zhang, [ZHANG
99]. En este cdigo implementado en MATLAB, ha
podido demostrarse la eficacia de la red ADALINE
para parametrizar modelos lineales.
Sin embargo, tambin es importante sealar las
limitaciones. La parametrizacin del modelo clsico
con redes neuronales sufre de varios inconvenientes.
El primero est unido a la dificultad para
implementar el algoritmo, ya que hay que derivar la
funcin de error por cada capa de la red y
adicionarle un parmetro, que no puede relacionarse
directamente con un peso de interconectividad entre
neuronas.
De all, proviene el segundo
inconveniente. Computacionalmente, hay que
detectar ms pesos que el nmero de neuronas de la
red en una proporcin 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 adems hacer que los pesos
cumplan ciertas condiciones, entre ellas la ms
importante la condicin de ortonormalidad de un
subconjunto de los pesos. Si comparamos con
Fougerais-Toscani, vemos que en este mtodo la
condicin de ortonormalidad de la matriz de rotacin
se cumple a priori e incluso facilita encontrar los
parmetros, ya que divide el vector de incgnitas en
dos.

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

Por el lado prctico, el tratamiento del problema con


RNAs no ha demostrado hasta el momento, mejoras
significativas con respecto a otros mtodos,
especificamente en cuanto a tiempo de
convegencias. Por el contrario, adolece de una
lentitud que en ciertas circunstancias se hace
intolerable.
En cuanto a precisin, 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
mtodo presenta en la especificacin del modelo
clsico. Todas se originan del hecho de que la
relacin entrada salida no es completamente lineal.
En cuanto a la parametrizacin del modelo con
distorsin, se puede hacer ms efectiva a posteriori
de una linealizacin.
Esto nos lleva a varias preguntas sobre la utilizacin
de las RNAs en la parametrizacin 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 ms rpida 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
descripcin dada por el modelo, de manera tal que el
entrenamiento arroje pesos que mapeen los
parmetros del sistema.
Adicionalmente, los
tiempos de convergencia limitan su efectividad en
ciertas aplicaciones. En nuestro caso concreto es de
notar la diferencia entre el mtodo con RNA y algn
mtodo de iteracin tpico, ya implementado en las
funciones cosntruidas en MATLAB, como
Levenberg-Marquardt.
El mtodo con RNA
introduce n pesos adicionales a entrenar
correspondientes a n puntos del patrn de
calibracin, asunto que no es necesario en una
iteracin clsica. Es como rodear el ro cuando hay
un puente para cruzarlo. Rodear el ro, lleva al
caminante-investigador por pasajes hermosos de la
matemtica y su aplicacin en las redes neuronales
artificiales, lo somete a pruebas ms intensas en
cuanto a su estudio, pero se llega a un mismo punto
luego de un largo tiempo. Si el proceso de cruzar el
ro, se debe realizar a menudo, la comodidad del
puente es inevitablemente superior.
Podemos afirmar con seguridad que la extensin de
las RNA para parametrizacin de otros modelos no
lineales, arrojar resultados parecidos en cuanto a la

GRUPO PSI

Agosto 2004

22

dificultad en la concepcin 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.
Despus 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 aplicacin. La efectividad de la
aplicacin 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
aplicacin ocurre lo contrario. Primero debemos
conocer cada una de las conexiones neuronales de la
red para darles un significado matemtico, y
segundo, la efectividad del mtodo se mide en el
mismo proceso de aprendizaje, el que sea eficiente
en su funcionamiento depende de que la cmara no
cambie sus parmetros, especialmente su posicin en
el espacio. La caracterstica de reorganizacin de
una red neuronal, que tanta utilidad ha brindado
hasta la actualidad en la ingeniera, tiene como
precio la anarqua conceptual de una caja negra, que
cuando se abre nos presenta una cantidad de
conexiones, literalmente, muy enredadas. [KOSKO 99]
9. REFERENCIAS BIBLIOGRFICAS
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(1)]

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 99(2)]

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
[AHMED

[AYACHE 99]. Ayache

N. Artificial Vision for Mobile


Robots. MIT Press, Cambridge, MA. 1999
Azar A., Mus P. Calibracin monocular
de cmaras.
Instituto de Ingeniera Elctrica,
[AZAR 99]

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

Facultad de Ingeniera. Universidad de la Repblica.


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

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
[BERTHOUZE 96]

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

GRUPO PSI

[HORN 86]

Ji Q. Zhang Y. Camera Calibration with


Genetic Algorithms. IEEE Transactions On
Systems, Man, And CyberneticsPart A: Systems
And Humans, Vol. 31, No. 2, March 2001
[JI 01]

Jun J. Kim C. TENCON 99. Proceedings of


the IEEE Region 10 Conference , Volume: 1 , 15-17
Sept. 1999 Pages:694 - 697 vol.1
[JUN 99]

[KOSKO 99] Kosko

B. El futuro borroso o el cielo en


un chip Editorial Crtica. 1999
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.
[LENZ 88]

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

[LUO 01]

Do Y. Application of Neural Networks for


Stereo-Camera Calibration School of Computer
and Communication Engineering, Korea
93] Faugeras O. Three-dimensional
computer vision: a geometric viewpoint," MIT
Press, 1993.
[FAUGERAS

90] Gonzlez R.C. y Lee C.S.G.,


Robtica, Mc Graw Hill. 1990
[GONZALEZ

C. Gonzlez, P.E. Woods, Digital


Image Processing Third Edition. Addison-Wesley,
1993
[GONZALEZ 93]

Grossman S. lgebra lineal.


Segunda Edicin. Grupo Editorial Iberoamrica
1987
[GROSSMAN 87]

Hall E.;. Tio J.; McPherson C. and .


Sadjadi F., Measuring curved surfaces for robot
vision, Computer Journal, vol. December, pp. 42
54. 1982.
[HALL 82]

Horn B. Robot Vision MIT Press, 1986

Horaud R.,Monga O. Vison par


ordinateur Outils Fondamentaux.
Hermes. 2a.
edicin.1995

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.

[DO 00]

23

[HORAUD 95]

[CICHOCKI

[CHOI 94]

Agosto 2004

Luo A. Pang A. A Variable Precision


Hybrid Camera Calibration Method Computer
Science Department University of California. 2001
www.cse.ucsc.edu/~alison/Publications/camera.pdf
Lynch M. Dagli C. Backpropagation
neural net-work for stereoscopic vision calibration,"
Proc. SPIE. Int. Soc. Opt. Eng., Vol. 1615, Nov.
1991.
[LYNCH 91]

Martn del Bro B. Sanz A. Redes


Neuronales y Sistemas Difusos 2 edicin ampliada
y actualizada. ALFAOMEGA Grupo Editor, S.A.
2002
[MARTN 02]

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

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
[MOUSAVI 94]

L.Robert, "Camera Calibration without


Feature Extraction," Rapport de recherche N 2204,
INRIA, 1994.
[ROBERT 94]

81] T. Tou, R. C. Gonzlez, Pattern


Recognition Principles, Addison-Wesley.1981
[TOU

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

UNIVERSIDAD DEL VALLE

EIEE

GRUPO PSI

Agosto 2004

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.
[TSAI 86]

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. 16303. 1989.
[WEI 89]

91] J.Wen and G.Schweitzer, "Hybrid


calibration of CCD cameras using artificial neural
nets," Int. Joint Conf. Neural Networks, pp.337-342,
1991.
[WEN

Weng J., Cohen P. and Herniou M.


Camera calibration with distortion models and
accuracy evaluation, IEEE Trans. Pattern Anal.
Machine Intell., vol. 10, pp. 965980, 1992.
[WENG 92]

[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 Y. Chellappa R. Artificial neural


networks for computer vision", Springer-Verlag,
1992.
[ZHOU 92]

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

24

UNIVERSIDAD DEL VALLE

EIEE

GRUPO PSI

Agosto 2004

CALIBRACIN EXPLCITA DE CMARAS DIGITALES CON DISTORSIN MEDIANTE REDES NEURONALES ARTIFICIALES

25

Você também pode gostar