Vous êtes sur la page 1sur 14

3.2.

Descripcin software del sistema


En este captulo se explica el desarrollo de la herramienta de calibracin hecha en
MATLAB para esta investigacin.
Figura 3.. !istribucin del so"t#are del sistema
$rocesamiento de
la imagen
Ad%uisicin &
ordenamiento de los puntos
de calibracin
M'todos
cl(sicos
M'todos de )nteligencia
*omputacional
Tsai
Fougerais+
Toscani
,hang
*haumette Algoritmos
gen'ticos
-edes
.euronales
*AL)B-A*)/.
3.2.1. Deteccin de puntos
Figura 3.3. !iagrama de Flu0o !eteccin de puntos
$rimero se reali1a una deteccin de bordes por medio del m'todo de *ann&2 utili1ando
la "uncin edge de MATLAB2 %ue detecta los lmites de los ob0etos en una imagen.
*omo se sabe la deteccin de bordes busca las discontinuidades de niveles de
iluminacin en la imagen2 por lo %ue a%u se nota la necesidad de tener un patrn de
calibracin %ue mantenga caractersticas ampliamente distinguibles entre los puntos de
calibracin & el resto de la imagen 33!2 como es el caso del patrn utili1ado en este
pro&ecto.
El m'todo de *ann& encuentra bordes buscando los m(ximos locales del gradiente de la
imagen ).
$osteriormente2 se extraen las caractersticas de los elementos %ue %uedaron2 es decir
de los crculos del patrn de calibracin. La caracterstica m(s importante es el (rea2
ba0o la cual se coloca un umbral %ue slo puedan pasar los crculos %ue pertene1can a
los puntos de calibracin. Finalmente2 la caracterstica %ue permite un 4ltimo "iltro es
la excentricidad de los crculos del patrn. !ebe colocarse un umbral %ue permita
distinguir crculos de cual%uier otra "igura %ue ha&a pasado por los "iltros anteriores.
Binari1acin de la
imagen
Aplicacin de un "iltro
de *ann& para detectar
bordes de crculos
!eteccin del (rea de
los elementos con borde.
Eliminacin de .a%uellos elementos
%ue tengan un (rea no correspondiente
a un crculo del patrn de calibracin
!eteccin de la excentricidad de los
bordes detectados
Eliminacin de .a%uellos elementos %ue
tengan una excentricidad no
correspondiente a un crculo del patrn de
calibracin
-eordenamiento autom(tico de los puntos
por "ilas
$or lo tanto2 las caractersticas %ue de"inen los circulos del patron de calibraci5n son
(rea & excentricidad. 6na ve1 identi"icados los crculos2 se atrapan los centroides
mediante otra parametri1acin de la "uncin imfeature de MATLAB.
Esos centroides son los utili1ados como puntos de calibracin. 7in embargo para
calibrar correctamente2 es necesario reordenar los centroides extrados para %ue ha&a
una correspondencia uno a uno con los puntos del patron de calibracin re"erenciados
desde la escena 3!.
Este reordenamiento se hace por hileras de tal manera %ue se elige la primera hilera
como la m(s cercana al origen ubicado en la parte superior i1%uierda & de ese primer
punto se agrupa en "ila los m(s cercanos en la posicin vertical2 para lo cual se
establece un umbral %ue debe ser menor a la distancia entre "ilas. 6na ve1 agrupada &
ordenada esa "ila seg4n la coordenada u 8se organi1an con la coordenada u de menor a
ma&or92 se eliminan de la base de datos los puntos de esa hilera & se procede a hacer lo
mismo con la segunda hilera de arriba hacia aba0o. .uevamente se elige el punto m(s
cercano al origen & a partir de all se agrupan los puntos en una hilera . El
procedimiento sigue hasta la 4ltima "ila. En la calibracin monocular2 como la %ue se
hace en este pro&ecto ha& %ue tener en cuenta %ue al elegir un patrn de calibracin con
pro"undidad 8para darle una tercera coordenada92 los puntos %ue %uedan m(s cercanos al
centro de la imagen se ven como si estuvieran m(s aba0o2 por lo %ue el umbral debe ser
elegido adecuadamente. Lo ideal es tomar la "oto de tal manera %ue %uede alineado el
patrn de calibracin con la c(mara. Esto no siempre es posible conseguirlo debido a
las di"erentes pruebas %ue son sometidos los m'todos: sin embargo el algoritmo de
deteccin de puntos tiene un buen comportamiento ante situaciones anmalas como
tener el patrn de calibracin inclinado hacia un lado. *on un umbral adecuado es
posible detectar si el patrn de calibracin est( inclinado hacia la derecha o hacia la
i1%uierda.
Figura 3.;. -epresentacin de la deteccin de puntos en el patrn de calibracin
<ilera
seg4n v
<ilera
seg4n u u
v
$unto inicial
m(s cercano al
origen
3.2.2. Descripcin de los mtodos clsicos
3.2.2.1. Mtodo de Fougerais-Toscani
=. *onstruccin de la ecuacin 8.>=9 %ue se puede separar en dos sumas a partir de las
ecuaciones 8.>39 & 8.>;9 & escribir as?
B
n x @
. x
@
A C
n x 3
. x
3
B C
donde
B
n x @
B

,
_

i i i i
i i i i
v Z Y X
u Z Y X
= C C C C
C C C C =
&
C
n x 3
B

,
_

i i i i i i
i i i i i i
Z u Y v X v
Z u Y u X u
Ec. .>@
El vector x
==
se ha convertido en dos vectores?
x
@
B 8m
=
m
=;
m

m
;
m
3;
9
t
Ec.
.>D
x
3
B 8m
3
9
t
Ec.
.EC
) (1 Q
3
t
3 9
t t
3 3
t t
9 3
t t
3 9
t t
9
x x Bx x x B x x x Bx B x + + + +
Ec. .E;
. En el proceso de derivacin se obtiene?
C +
3
t
9
t
x B Bx B
Ec. .EF
C + + ) (
3 9
t
3
t
x Bx x
Ec. .E>
!espe0ando se llega a?
3
t
9
x B B x C B
t =
9 8


Ec. .EE
Dx
3
B Gx
3
Ec. .ED
D =
t
-
t
B!B
t
B"
-1
B
t
Ec. .E@
$ara obtener

3 3 3 3
x x Dx x Q
t t
Ec.
.DC
3. $ara minimi1ar H es necesario hallar el valor propio mnimo de ! & al
correspondiente vector? x
3
2 seg4n la ecuacin .E@. Es decir se calculan los valores
propios de !2 se escoge el vector asociado a ese valor propio mnimo2 ese sera x
3
&
"inalmente se calcula x
9
. As se resuelven las incgnitas de la matri1 M %ue haban sido
enmascaradas en el vector x
11
. $ara hallar los par(metros se utili1an las ecuaciones .3>.
Figura 3.F. !iagrama de "lu0o m'todo de Fougerais+Toscani
*onstruccin de las
matrices B & *
!eterminacin del
vector x32 a partir de
los valores propios de
la matri1 !
/btencin de la matri1
! a partir de las
matrices B & *
!eterminacin del
vector x@
/btencin de los
par(metros a partir de
los vectores x3 & x@
3.2.2.2. Mtodo de Tsai
=. Ad%uisicin de par(metros internos
,
_

x d
sx
I I
&

,
_

y dI
=
tal como se de"ine en la
ecuacin .FE
. $ara cada punto de calibracin i obtener 8Jdi2Kdi9 Ecs. .FF & .F>.
3. -esolver la ecuacin ;.= para sus siete incognitas?
=
=
r sx y T

2
=
r sx y T

2 3
=
r sx y T

2 Tx sx y T
=
2 ;
=
r sx y T

2
F
=
r sx y T

2 >
=
r sx y T

2
[ ] Xdi
r sx Ty
r sx Ty
r sx Ty
Tx sx Ty
r sx Ty
r sx Ty
r sx Ty
Zwi Xdi XdiYwi Xwi Xdi Ydi Zwi Ydi Ywi Ydi Xwi Ydi
1
1
1
1
1
1
1
1
1
]
1

> . .
F . .
; . .
. .
3 . .
. .
= . .
. . . . .
=
=
=
=
=
=
=
Ec. ;.=
!onde (Xwi,Ywi,Zwi) son las coordenadas del punto i en el espacio 3!.
;. /btener r1, r2, r3, r4, r, r!, r", r# y r$ y Tx y Ty a partir de
=
=
r sx y T

=
r sx y T

2
3
=
r sx y T

2
Tx sx y T
=
2
;
=
r sx y T

2
F
=
r sx y T

2
>
=
r sx y T

?
;.=. /btener la norma de T& a partir de
=
=
r sx y T

=
r sx y T

2
3
=
r sx y T

2
Tx sx y T
=
2
;
=
r sx y T

2
F
=
r sx y T

2
>
=
r sx y T

. $ara ello se de"ine


a
i
con i B =LE de tal manera %ue?
a
1
%
=
=
r sx y T

a
2
%

=
r sx y T

a
3
%
3
=
r sx y T

,
a
4
%
Tx sx y T
=
,
a

%
;
=
r sx y T

,
a
!
%
F
=
r sx y T

,
a
"
B
>
=
r sx y T

2
Tal como se obtuvieron al resolver la ecuacin ;.=.
$or lo tanto?

>

F
9 8

+ + a a a Ty
Ec. ;.3
;.. !eterminar el signo de Ty
;..=. 7eleccionar un punto i del ob0eto cu&as coordenadas de la imagen (Xi,Yi)
est'n le0os del centro ptico2 recordando %ue las coordenadas de dicho punto en el
sistema del mundo son (Xwi,Ywi,Zwi)&
;... Elegir el signo de Ty como positivo.
;..3. /btener las siguientes expresiones %ue son parte de la matri1 de rotacin?
( )
y y
T r T r = =
=

Ecs. ;.;
( )
y y
T r T r
=

( )
y y
T r T r ; ;
=

( )
y y
T r T r F F
=

( )
y x y x
T T T T
=

x
T Ywi r Xwi r X' + + . . =
y
T Ywi r Xwi r Y' + + . F . ;
;..;. 7i (X' & Xi) tienen el mismo signo & tambi'n (Y' e Yi) tienen el mismo signo2
entonces el signo de T& es positivo2 de lo contrario es negativo.
;.3. /btener la matri1 de rotacin R
-esolver las siguientes ecuaciones ?
sx
Ty a
r
=
= Ecs. ;.F
sx
Ty a
r


sx
Ty a
r
3
3
Ty a r
F
;
Ty a r
>
F
Ty a r
E
>
Ty a Tx
;

*omo &a se tienen las dos primeras "ilas de la matri1 de rotacin2 la tercera "ila es el
producto cru1 de las mismas2 para cumplir con el criterio de ortonormalidad.
[ ] [ ] [ ] > F ; 3 = @ D E r r r r r r r r r
Ec. ;.>
;.;. /btener el valor aproximado de T1
$ara cada punto de calibracin2 establecer la siguiente ecuacin lineal?
[ ] Yi y d wi
T(
f
y d yi . I . I
1
]
1

Ec. ;.E
!onde
Ty Ywi r Xwi r yi + + F . ;
& Ywi r Xwi r wi D . F +
;.F. -eali1ar una optimi1acin iterativa para hallar todos los par(metros me0orados &
adem(s el par(metro de distorsin M
Figura 3.>. !iagrama de "lu0o M'todo de Tsai
Ad%uisicin de par(metros
internos
&
$ara cada punto de
calibracin i obtener
Jdi Kdi
-esolver ecuacin ;.=
/btener norma de T&
!eterminar signo de T&
/btener la matri1 de
rotacin -
-esolver ecuacin ;.E para
obtener T1
-eali1ar optimi1acin
iterativa
E!
Mostrar par(metros e
imagen
no
si
3.2.2.3. Mtodo de #aumette
7e debe recordar %ue primero se asume un coe"iciente de distorsin nulo2 para resolver
el sistema lineal. El modelo de la c(mara puede ser escrito en la "orma de una matri1
homog'nea $ de tal manera %ue?
w
X
X)
2
w
Y
Y)
2
w
Z
f
2 Ecs.;.D
donde

,
_

,
_

,
_

,
_

(
y
x
f
f
Y'
*y
f
X'
*x
(
y
x
+
w
Z
Y
X
=
C C
= C C
=
C
C
=
Ec. ;.@
*on *x &
*y
como los coe"icientes de proporcionalidad con respecto al tamaNo de los
pixeles en x & en y respectivamente.
X' 2 Y' es el centro ptico
w es un "actor de escala para hacer homog'nea la ecuacin.
Las coordenadas en la imagen de un punto p en la escena 33! son m(x,y,() & desde el
punto de re"erencia de la c(mara son ,(X,Y)& $or tanto las coordenadas seg4n el marco
de re"erencia de la imagen son ,ima-e.(X),Y))
*x
X
X' X) +
&
*y
Y
Y' Y) +
Ec. ;.=C
*omo
(
x
f X
&
(
y
f Y
debido a la seme0an1a de tri(ngulos
Entonces?
X'
(
x
/x X) +
&
Y'
(
y
/y Y) +
Ec. ;.==
!onde
*x
f
/x &
*y
f
/y
. !e esta manera *haumette evita calcular
explcitamente la distancia "ocal. Los par(metros a identi"icar son X',Y', /x y /y en el
modelo sin distorsin.
El algoritmo %ue se implement para poner en pr(ctica el m'todo de *haumette es el
siguiente?
=. *onstruir la ecuacin matricial correspondiente a .=CC?

,
_

,
_



C
C
= C C C C
C = C C C
C C C C C C
C C C C C C
"
Y) ( y x ( Y) y Y) x Y)
X) ( y x ( X) y X) x X)

Ec. ;.=
!onde $ %0
1
con 0B= hasta =. Los elementos de $ traen consigo los par(metros de
calibracin?
0
1
% a
31
0
2
%a
32
0
3
%a
33
0
4
%a
31
X
'
2 a
11
/
x
0

% a
32
X
'
2 a
12
/
x
0
!
%a
33
X
'
2 a
13
/
x
0
"
%a
31
Y
'
2 a
21
/
x
0
#
% a
33
Y
'
2 a
22
/
y
0
$
% a
33
Y
'
2 a
23
/
y
0
13
% X
'
Z
3
2/
x
X
3
0
11
%Y
'
& Z
3
2 /
y
Y
3
0
12
%Z
3
Ecs. ;.=3
. !ividir el sistema en dos asumiendo %ue?
=

33

3=
+ + a a a
2 de tal manera %ue
%.&
1
' B . &
2
B C Ec. ;.=;
*on &
2
( 4(B
T
B)
-1
B
T
%.&
1
Ec. ;.=F
)&
1
( &
1
Ec. ;.=>
donde
) ( %
T
% 4 %
T
B(B
T
B)
-1
B
T
% Ec. ;.=E
3. <allar la matri1 ) 8sim'trica & positiva92 encontrar sus valores propios2 elegir el
menor & escoger el vector propio asociado a ese valor propio mnimo. Ese ser( el vector
&
1
%ue sirve para hallar el vector &
2
. El vector de incgnitas $ es la composicin de
8&
1
&
2
9.
/btener de $ los coe"icientes de la matri1 de rotacin & el vector de translacin
a
31
% 0
1
a
32
% 0
2
a
33
% 0
3
a
11
% (0
4
4 a
31
X
'
) 5 /
x
a
12
% (0

4 a
32
&X
'
)5/
x
a
13
% (0
!
4 a
33
&X
'
)5/
x
a
21
% (0
"
4 a
31
Y
'
)5/
y
a
22
% (0
#
4 a
32
&Y
'
)5/
y
a
23
% (0
$
4 a
33
&Y
'
)5/
y
X
3
% (0
13
4 X
'
0
12
)5/
x
Y
3
% (0
11
4 Y
'
&0
12
)5/
y
Z
3
% 0
12
Ec. ;.=D
F.7ometer el sistema total inclu&endo el par(metro de distorsin a una minimi1acin
iterativa utili1ando una t'cnica como Levenberg+Mar%uardt para minimi1ar el error
dado por?
C
2
%

=
9 8 9 O8
mi di mi
6
i
di
Y Y X X +

P Ec. ;.=@
Figura 3.E. !iagrama de "lu0o M'todo de *haumette

*onstruccin del sistema
matricial dado por Ec.
.=CC
Aplicacin del criterio
7eparacin del sistema en
dos?
%.&
1
' B . &
2
B C
/btencin de la matri1 E?
) ( %
T
% 4 %
T
B(B
T
B)
-1
B
T
%

Encontrar los valores propios de
la matri1 E2 escoger el menor &
su valor propio asociado
!espe0ar los valores de la matri1 de
rotacin & el vector de translacin a
partir de las ecuaciones .=CE
7ometer el sistema total inclu&endo un
par(metro de distorsin a una
minimi1acin iterativa con Levenberg+
Mar%uardt2 ba0o el criterio de Ec. .=CD
Q*

R S T
!espliegue de
par(metros "inales &
correccin de imagen
3.2.2.*. Mtodo de +#ang
=. *omo se haba explicado en la seccin .;2 el m'todo de ,hang divide el proceso de
la extraccin de par(metros en cuatro etapas2 destac(ndose la tercera etapa en %ue
consigue una buena aproximacin a dos constantes de distorsin por medio de una
trans"ormacin lineal %ue hace el algoritmo mu& r(pido.
La primera etapa consiste en aplicar el m'todo de Fougerais+Toscani con la restriccin
UU x
3
UU B =2 tal como se explica en la seccin .3.
,hang de"ine?
1
1
1
]
1



33 3 3=
3 =
=3 = ==
=
B B B
B B B
B B B
7 7 B
T
Ec. ;.C
!onde A es la matri1 de parVmetros intrnsecos.
. !e"inir el vector columna 8
i
?
[ ]
3 = i i i i
8 8 8 8
Ec. ;.=
!e manera %ue?
9 v B8 8
T
i1 1
T
i

Ec. ;.
3. -esolver la ecuacin?

( )
C
==
=

1
]
1

9
v v
v
T
T
Ec. ;.3
Es decir?
# $ % Ec. ;.;
!onde % es una matri1 de nW>2 siendo . el n4mero de puntos de calibracin.
$or supuesto2 la solucin a esta ecuacin es conocida como el eigenvector de % %
&
asociado com el m(s pe%ueNo de los valores propios.
3. La etapa siguiente utili1a los resultados de la primera para aplicar un m'todo de
minimi1acin no lineal basado en el criterio?

.
i
m
1
1 i
, t
= =

9 2 2 2 8
i i,
- % m m

Ec.;.F
!onde
9 2 2 2 8
1 i
, t
i
- % m

es la pro&eccin del punto M


0
en la imagen i. Es decir para
todos los puntos de calibracin de la imagen se prueban di"erentes par(metros de tal
manera %ue se halle el con0unto de ellos %ue de cmo resultado el menor error entre los
puntos estimados por el modelo & los puntos reales de la imagen.
;. El modelo lineal en ,hang est( basado en el mismo modelo pin+hole de los m'todos
anteriormente explicados. .o obstante2 para modelar la distorsin radial2 ,hang utili1a
una trans"ormacin lineal.

u
B u 2 (u4u
3
)& :;
1
(x
2
2 y
2
) 2 ;
2
(x
2
2 y
2
)
2
< Ec. ;.>

v
B v 2 (v 4 v
3
)& :;
1
(x
2
2 y
2
) 2 ;
2
(x
2
2 y
2
)
2
< Ec. ;.E
En este caso2 con los par(metros obtenidos de las dos etapas anteriores 8la lineal & la no
lineal9 se estiman unas coordenadas imagen (u,v) %ue se suponen ideales2 es decir sin
distorsin & a ellas se les suma la distorsin dada por dos constantes ;2 para obtener las
coordenadas imagen reales
9 X 2 X 8 v u
.
Este modelo puede ser descrito de manera matricial si tenemos en cuenta todos los
puntos de calibracin2 as?
1
]
1

1
]
1

1
]
1

+ +
+ +
v v
u u
;
;
y x v v y x v v
y x u u y x u u
X
X
9 98 8 9 98 8
9 98 8 9 98 8

=

C

C

C

C
Ec. ;.D
!ados m puntos de calibracin se tienen 2&m ecuaciones de tal manera %ue?
D..(d Ec.;.@
*on ! como una matri1 de m "ilas por columnas & d como un vector vertical de m
"ilas. La solucin a este sistema se produce mediante la aplicacin de la matri1
pseudoinversa?
. ( !D
T
D"
-1
.D
T
.d Ec. ;.3C
6na ve1 estimados los par(metros de distorsin M
=
& M

2 se entra a la cuarta etapa en


donde se hace una optimi1acin de todo el con0unto de par(metros2 tomando como
estimaciones iniciales las encontradas en las tres etapas anteriores. El criterio de
minimi1acin sera el siguiente?

.
i
m
1
1 i
, t ; ;
= =

=
9 2 2 2 2 2 8 X
i i,
- % m m Ec.
;.3=
!onde mX
es el punto correspondiente en la imagen al punto ,1 de acuerdo a las
ecuaciones 8.>=9 & 8.>9.
Figura 3.D. !iagrama de "lu0o m'todo ,hang
!e"inir la matri1 B
!e"inir el vector columna
#
-esolver el sistema
%.$ = #
<acer una primera
optimi1acin con los
par(metros del modelo
lineal
Evaluar el criterio de error?

QError= R S
=
T
Lineali1ar el modelo de distorsin
para dos par(metros seg4n las ecs.
.= & .=3
-esolver el sistema matricial
representado en .==; & .==F
. ( !D
T
D"
-1
.D
T
.d
<acer una segunda optimi1acin
inclu&endo los par(metros del
modelo de distorsin
Evaluar el criterio de error?
QError R S

T
!espliegue de par(metros
"inales & correccin de
imagen

Vous aimerez peut-être aussi