Вы находитесь на странице: 1из 15

4.8.

Calibracin con algoritmos genticos


Se implement un algoritmo gentico como el descrito en los captulos 2 y 4, utilizando
Matlab 6.5 y se compar con otras tcnicas lineales y no lineales implementadas
tambin en Matlab.
4.8.1. Cmara 2 Prueba 1

Figura 5.43. Prueba de Reconstruccin Mtodo Algoritmos Genticos Cmara 2


Prueba 1
Error final=0.56747
*********************************************
//**********************//
PARAMETROS INTERNOS
Xc=126.7671 Yc=91.3197 Fx=-279.8487 Fy=277.8558
PARAMETROS EXTERNOS: Matriz de Rotacion
0.76611 -0.64353 -0.12959
-0.16021 -0.012449 -0.98916
-0.71182 -0.9483 0.15262
PARAMETROS EXTERNOS: Vector de Traslacion
-11.6805
260.3771
799.5623
PARAMETRO DE DISTORSION:
-5.3258e-006

4.8.2. Cmara 2 Prueba 2

Figura 5.44. Prueba de Reconstruccin Mtodo Algoritmos Genticos Cmara 2


Prueba 2
Error final=0.49902
*********************************************
//**********************//
PARAMETROS INTERNOS
Xc=158.519 Yc=112.9291 Fx=-275.4675 Fy=265.816
PARAMETROS EXTERNOS: Matriz de Rotacion
0.68386 -0.61012 -0.36825
-0.28934
0.2356 -0.92582
-0.71723 -0.83354 0.018733
PARAMETROS EXTERNOS: Vector de Traslacion
63.66666
212.3241
798.5316
PARAMETRO DE DISTORSION:
-5.5487e-006

4.8.3. Cmara 2 Prueba 3

Figura 5.45. Prueba de Reconstruccin Mtodo Algoritmos Genticos Cmara 2


Prueba 3
Error final=0.66518
*********************************************
//**********************//
PARAMETROS INTERNOS
Xc=183.5509 Yc=60.3717 Fx=-272.944 Fy=261.1055
PARAMETROS EXTERNOS: Matriz de Rotacion
0.67131 -0.7463 -0.043265
-0.18632 -0.10245 -0.97851
-0.69543 -0.62848 0.19782
PARAMETROS EXTERNOS: Vector de Traslacion
33.1627
301.2373
844.289
PARAMETRO DE DISTORSION:
-1.1793e-007

El algoritmo arrojo buenos resultados ante diferentes cmaras con diferentes parmetros
de distorsin. Una vez establecida una semilla generacional de parmetros cercanos a la
solucin ptima y, colocados adecuadamente los rangos de posibles soluciones para el
parmetro de distorsin, el algoritmo logra minimizar el error y hallar una Kd que
corrige la distorsin de la imagen.
Se hicieron nuevamente 3 pruebas con las tres cmaras con que se hicieron los anlisis
de la seccin anterior. En este documento se consignan los resultados de las pruebas
con la cmara 2, que tiene una distorsin significativa, porque es este caso en que se
observan mejores resultados con los Algoritmos Genticos.
En las cmaras con distorsin cercana a cero el algoritmo gentico no se comporto
mejor que una tcnica normal de gradiente descendente, si tenemos en cuenta que la
tcnica de gradiente descendente que aplicamos fue implementada con las herramientas
de Matlab y no hubo necesidad de sacar derivadas de las ecuaciones que involucran a
Kd. Podemos decir que ganamos en simplicidad computacional, lo cual viene a ser muy
til si se pretende llevar a cabo una implementacin en un software libre en que el
programador deba realizar por si mismo las operaciones matemticas para obtener
derivadas, gradientes, tensores, hessianas y dems, para programar adecuadamente su
algoritmo. Obviamente con un software de minimizacin de funciones como MINPACK
, los resultados comparativos tampoco son buenos, porque nuevamente, en ese
software las funciones ya estn hechas, el software es libre y ampliamente utilizado.
En las cmaras con una distorsin significativa, los resultados fueron muy buenos,
porque si juntamos la economa computacional con la precisin veremos que es una
tcnica til y barata. Es posible obtener mejores resultados en plataformas de
compilacin ms efectivas y de distribucin ms accesible a un usuario medio como C+
+ o Delphi, lo cual queda como proyeccin para futuros trabajos.
Ante el ruido es posible establecer que la tcnica no es tan robusta como se pretendera,
en el punto 3 de las ventajas del AG sobre otras tcnicas, esto se nota especialmente en
la cmara 2 para la prueba 1 y la prueba 3, porque en dichas pruebas se ha introducido
intencionalmente ruido en la toma de las fotografas, y el error no es ms pequeo que
para otras tcnicas o necesitan ms tiempo para minimizarlo.
A continuacin se presenta un cuadro comparativo entre los mtodos con que se
compar esta tcnica de algoritmos genticos. A diferencia de la primera parte de este
captulo, aqu se tomaron nuevas pruebas y con ms mtodos, pero no se consignan
todos los resultados de imgenes y parmetros por cuestiones de espacio.
En esa tabla se puede hacer un anlisis comparativo de las diferentes tcnicas. Se puede
observar que, aunque el mtodo es relativamente eficiente, apenas si mejora los
resultados de otros mtodos como Fougerais-Toscani, que es muy sencillo de
implementar. Debe destacarse que el mtodo es comparativamente mejor cuando se
tiene una cmara con distorsin y es necesario hallar un parmetro de distorsin
diferente de cero. All el mtodo con Algoritmos Genticos muestra que puede ser
mejor que algunos mtodos clsicos en cuanto al error de reconstruccin y en cuanto a
eficiencia computacional.

ERROR DE RECONSTRUCCIN
CAMARA 1

CMARA 2

CAMARA 3

Tcnica
utilizada

Prueb
a1

Prueba
2

Prueba
3

Prueba Prueba Prueba


1
2
3

HallAyache
Fougera
isToscani
TsaiInicial
TsaiLevenbe
rg_Mar
quardt
Chaume
tte_Inici
al
Chaume
tteLev_Ma
q
ZhangPrimera
Etapa
ZhangSegunda
Etapa
ZhangOptimiz
acin
Algorit
mo
Gentic
o
Jong&
Qi
ampliad
o en
este
docum
ento.

0,3141

0,4447

0,3236

0,7977

0,7828

0,6748 0,3237 0,5757 0,3374

0,2289

0,4096

0,2135

0,7731

0,7442

0,6731 0,2442 0,5539 0,2635

0,9934

1,3654

2,3619

0,9302

1,2091

1,1823 2,3522 2,5949 1,4064

0,1962

0,3769

0,2019

0,4808

0,3865

0,4500 0,2365 0,5404 0,2462

0,3128

0,4584

0,3245

0,8183

0,7940

0,6971 0,3291 0,5905 0,3524

0,1962

0,3769

0,2019

0,4577

0,3865

0,4423 0,2327 0,5404 0,2558

0,2289

0,4096

0,2135

0,7731

0,7442

0,6731 0,2289 0,5539 0,2635

0,2115

0,4019

0,7519

0,7519

0,6981

0,6308 0,2115 0,5481 0,2596

0,2038

0,3731

0,4904

0,4904

0,3923

0,4692 0,2038 0,5173 0,2308

0,3128

0,4584

0,3245

0,62

0,4993

0,6690

Prueba
1

0,3291

Prueba
2

0,5905

Prueba
3

0,3524

4.9. Calibracin con redes neuronales


4.9.1. Cmara 1

Figura 5.46. Prueba de Reconstruccin Mtodo RNAs Cmara 1

//****RESULTADOS DE LA CALIBRACION*****//
//**********************//
PARAMETROS INTERNOS
Xc=176 Yc=144 Fx=786.2103 Fy=840.9178
PARAMETROS EXTERNOS: Matriz de Rotacion
-0.69123 0.72263 0.0031588
-0.036729 -0.030768 -0.99885
-0.7217 -0.69056 0.047809
PARAMETROS EXTERNOS: Vector de Traslacion
-22.511394
211.37847
1526.7348
K1= -4.2325e-007
K2= -1.6091e-011

4.9.2. Cmara 2

Figura 5.47. Prueba de Reconstruccin Mtodo RNAs Cmara 2

//****RESULTADOS DE LA CALIBRACION*****//
//**********************//
PARAMETROS INTERNOS
Xc=160 Yc=120 Fx=341.3006 Fy=330.0536
PARAMETROS EXTERNOS: Matriz de Rotacion
-0.69623 0.61296 0.37355
-0.27833 0.24918 -0.9276
-0.66165 -0.7498 -0.0028833
PARAMETROS EXTERNOS: Vector de Traslacion
-67.27344
192.4089
983.088
Error_promedio= 0.79
K1 =
K2

3.230815750550923e-006

= -3.178800660241755e-010

4.9.3. Cmara 3

Figura 5.48. Prueba de Reconstruccin Mtodo RNAs Cmara 3


//****RESULTADOS DE LA CALIBRACION*****//
//**********************//
PARAMETROS INTERNOS
Xc=320 Yc=240 Fx=696.7632 Fy=707.7261
PARAMETROS EXTERNOS: Matriz de Rotacion
-0.57058 0.81907 -0.059669
0.31037 0.1478 -0.93905
-0.76033 -0.55433 -0.33855
PARAMETROS EXTERNOS: Vector de Traslacion
-34.121457
-7.3643965
1629.9594
errorprom =
K1 =
K2 =

0.83402489626556

-1.596525573023936e-007
4.700500382716288e-012

4.9.4. Anlisis Comparativo


Se implement el algoritmo explicado en las secciones anteriores. Se aplic el
programa en MATLAB a la calibracin de tres cmaras distintas, una de ellas escogida
con un parmetro de distorsin relativamente grande. Previamente se obtuvo un
estimativo de los parmetros a travs del mtodo 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:
Cmara 1

Figura 5.49. Foto Cmara 1

Condicin casi ideal para tomar muestras

Desperada

Dfinal

0.67007
0.037852
0.74049
0

0.7427
0.031982
0.67001
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 promedio en parmetros extrnsecos:


0.019876
739.58

Aespe
0

176

799.89

144

25.04

211 .85
1449
1

783.47

Afinal
0

176

846

144

Error relativo promedio en parametros intrnsecos:


0.0097503
Error de reconstruccin para la cmara 1 con RNA:
0.1
Error de reconstruccin para la cmara 1 con Fougerais Toscani: 0.3128

Cmara 2

Figura 5.50. Foto Cmara 2


Puede observarse la distorsin en esta cmara

0.68811

0.2854
Desperada
0.66773

0.6236

0.37112

68.211

0.24249

0.92787

208.94

0.7443

0.012342

796.95

0.62506

0.68555

0.25816
0.26972
Dfinal
0.67622 0.7366

0
0

Error relativo promedio en parametros extrinsecos: 0.0466


265.61

Aespe
0

0
259.03
0

0
0

160
120
1

160

120

68.8

0.92769 190.78
0.008391 935.96

290

0.37325

300

Afinal

Error relativo promedio en parametros intrnsecos:


0.0342
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.

Figura 5.51. Foto Cmara 3

Puede observarse una mayor distancia de la cmara al patrn

0.52618

0.3063

Despe

0.83

0.051812

39.293

0.13641

0.92031

0.78092

0.47551

0.40503

7.302
1827.9

0.56

0.312
Dfinal
0.764

0.82

0.059

34.4

0.14718
0.550

0.938
0.332

7.463
1632.2

Error relativo promedio en parmetros extrnsecos: 0.059351

811.18

Aespe
0

700

Afinal
0

Error relativo Promedio en parmetros intrnsecos:


0.022102

0
812.31
0

0
0

320
240
1

320

709.25

240

Error de reconstruccin para la cmara 3 con RNA:


0.83881
Error de reconstruccin para la cmara 3 con F-T
0.3325

Error RNAs
Error Fougerais-Toscani

Cmara 1
0.1
0.3128

Cmara 2
0.7895
0.7940

Cmara 3
0.83881
0.3325

4.9.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 FougeraisToscani. 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 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 Levenberg-Marquardt 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 (2.150) y (2.151), 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 Fougerais-Toscani, el nmero
de puntos no influye tanto en la precisin de calibracin, 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 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. Esta 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.
4.9.6. Anlisis de los resultados para el modelo con distorsin
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 red ADALINE para hallar los parmetros de distorsin. Es un
proceso global constituido 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
Kd2=-3.6123x10-10 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 pxeles 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. Las
razones 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 5.47 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 Levenberg-Marquardt, 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 esto 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.

Вам также может понравиться