Subido por kidricelte

ja02 057

Anuncio
RECONOCIMIENTO DE OBJETOS 3D
MEDIANTE ANÁLISIS PCA
M. A. Vicente, O. Reinoso, C. Pérez, J.A. Sabater, J.A. Azorín
Universidad Miguel Hernández
División Ingeniería de Sistemas y Automática
Departamento de Ingeniería, Campus de Elche
Avda. del Ferrocarril s/n 03202 Elche (Alicante) España
suni@umh.es
Resumen
El objetivo de este artículo es comparar dos
técnicas de reconocimiento de objetos basadas en
PCA. La base de datos de imágenes utilizada para
el reconocimiento es la COIL-20. Los experimentos
demuestran que si se realiza una detección de
bordes de las imágenes antes de realizar el análisis
PCA se obtiene un alto porcentaje de aciertos en el
reconocimiento incluso en presencia de oclusiones.
Palabras Clave : reconocimiento
análisis de componentes principales
1
de
objetos,
INTRODUCCIÓN
El análisis de componentes principales (PCA) o las
eigenimágenes es una técnica de reconocimiento de
caras de gran utilidad que se ha implementado
exitosamente en sistemas comerciales [16]. Sin
embargo, este método de reconocimiento no se
emplea tanto en el reconocimiento de objetos reales
tridimensionales,
aunque
existen
algunas
importantes excepciones [8][10-12], a pesar de que
la mayoría de ellas muestran la debilidad de esta
técnica: su alto grado de sensibilidad frente a
oclusiones.
La apariencia de un objeto real 3D en una imagen
2D depende de la forma del objeto, su color, su
posición en la escena global, sus propiedades
reflectivas y de las características de la iluminación
de la escena y del sensor empleado para la
captación de la misma. Murase y Nayar [11-12]
propusieron una representación basada en la
apariencia de los objetos para reconocer objetos
tridimensionales
basándose
en
sus
eigenrepresentaciones. También Leonardis y
Bishop [10] presentaron un método de
reconocimiento basado en PCA, pero a diferencia
del original donde el cálculo de los coeficientes de
reconocimiento se realiza mediante una simple
proyección de las imágenes en el subespacio
generado, ellos sugirieron un método basado en
generar hipótesis y luego testarlas empleando
subconjuntos de puntos de la imagen.
En su artículo [8] Huang y Camps, presentaron otro
método basado en eigenimágenes utilizando
además relaciones entre las partes segmentadas de
los objetos, mejorando los problemas de oclusión
de otras técnicas anteriores.
El objetivo de este artículo es comparar dos
técnicas de reconocimiento de objetos basadas en
PCA. La base de datos de imágenes utilizada para
el reconocimiento es la COIL-20. Los experimentos
demuestran que si se realiza una detección de
bordes de las imágenes antes de realizar el análisis
PCA se obtiene un alto porcentaje de aciertos en el
reconocimiento incluso en presencia de oclusiones.
2
ANÁLISIS DE COMPONENTES
PRINCIPALES
2.1
INTRODUCCIÓN
Una imagen puede considerarse como un vector de
píxeles donde el valor de cada componente es un
valor en escala de grises (0-255). Por ejemplo, una
imagen de 128x128 puede abrirse y tratarse como
un vector de longitud 16384.
H
φi
ri  1
φ = M
φ i
 N
V
Figura 1: Representación vectorial
de una imagen





De esta manera, la imagen está situada en un
espacio N-dimensional, donde N es el número de
píxeles de la imagen (y la longitud del vector). Esta
representación vectorial de la imagen se considera
el espacio original de la imagen.
Cada imagen se almacena en un vector de longitud
N:
El espacio original de una imagen es uno solo de
los muchos espacios en los que puede examinarse
una imagen.
Otros espacios pueden ser: el
eigenespacio creado por los eigenvectores de la
matriz de covarianza de la imágenes de
entrenamiento (PCA 1 [8],[10-12],[14]), el creado
por los vectores obtenidos mediante un análisis
LDA 2 (discriminantes de Fisher, [7],[15]) o el
creado mediante técnicas de ICA 3 ([3],[5],[9]).
Las imágenes son centradas, sustrayendo la imagen
media de cada vector imagen :
El eigenespacio optimiza la variación entre las
imágenes. El subespacio obtenido mediante LDA
optimiza las características discriminatorias entre
las imágenes y el obtenido mediante ICA, obtiene
los vectores que maximizan la condición de
independencia.
Se combinan los vectores de entrenamiento para
crear una matriz de datos de tamaño NxP (donde P
es el número de imágenes).
El algoritmo básico para identificar imágenes en
diferentes subespacios es el siguiente:
1.
2.
3.
2.2.
Se calcula un subespacio (generado por las
propias imágenes) donde proyectar las
imágenes.
Un vez generado el subespacio, todas las
imágenes
de
entrenamiento
son
proyectadas en el subespacio
Cada imagen test se proyecta en el
subespacio y es comparada con todas las
proyecciones de la imágenes de
entrenamiento por similitud o por medida
de distancias, la imagen de entrenamiento
más similar o más cercana a la imagen test
se utiliza para identificar esa imagen test.
ANÁLISIS PCA
El eigenespacio se calcula identificando los
eigenvectores (vectores propios) de la matriz de
covarianza obtenida del conjunto de imágenes de
entrenamiento. Los eigenvectores correspondientes
a eigenvalores (valores propios) no nulos de la
matriz de covarianza forman una base ortonormal
que refleja las imágenes en un espacio Ndimensional.
1
PCA, Principal Component Analysis
LDA, Linear Discriminant Analysis
3
ICA, Independent Component Analysis
2
[
r
φ i = φ1i K φ N i
]
T
(1)
~i ri r
φ = φ −m
(2)
ri
(3)
donde
r 1
m=
P
P
∑φ
i =1
[
~ ~
~
Φ = φ1 | φ 2 | K | φ P
]
(4)
La matriz de covarianza se obtiene multiplicando Φ
por su traspuesta:
Ω = Φ·Φ T
(5)
La matriz de covarianza tiene como mucho P
eigenvectores asociados a P eigenvalores no nulos,
se supone siempre que P < N, es decir, es mayor el
tamaño de la imagen que el número de imágenes.
Los eigenvectores se ordenan de mayor a menor,
según el valor de su eigenvalor asociado. El
eigenvector asociado al mayor eigenvalor es el
eigenvector que encuentra mayor variación entre las
imágenes. El eigenvector asociado al segundo
mayor eigenvalor es el eigenvector que encuentra la
segunda mayor variación entre las imágenes. Esto
continúa hasta llegar al más pequeño de los valores
propios, cuyo vector propio asociado encuentra la
menor variación entre las imágenes.
El
algoritmo
anterior
se
complica
computacionalmente en la práctica debido a que la
matriz de covarianzas es de tamaño NxN, donde N
es el tamaño del vector imagen (si las imágenes son
de 128x128 (16384), la matriz de covarianzas es de
tamaño 16384x16384); por lo que es costoso hallar
los vectores propios directamente a partir de esta
matriz. Existe una solución a este problema que se
conoce como el truco de Turk y Pentland [14]: hay
un teorema de álgebra lineal que establece que los
eigenvalores de Ω = Φ·Φ T y los de Ω ' = Φ T ·Φ
son los mismos. Por tanto, los eigenvectores de Ω
son los mismos que los de Ω' multiplicados por la
matriz Φ y normalizados. De esta forma, este
teorema puede utilizarse para crear el eigenespacio
a partir de una matriz de tamaño PxP (P es el
número de imágenes) en vez de utilizar una matriz
de covarianzas de tamaño NxN.
2.2.1.
es proyectada dentro del
eigenespacio definido por V̂ :
r
t = V̂ T ⋅ ~
ϕ
Algoritmo original PCA (1 subespacio)
A
continuación
detallamos
el
algoritmo
desarrollado en el apartado anterior, al que
denominaremos PCA original.
Entrenamiento:
1.
2.
3.
Se selecciona un conjunto de imágenes de
entrenamiento y cada imagen es centrada
(ecuación 2).
Se genera la matriz de datos (ecuación 4).
Se obtiene la matriz de covarianzas Ω' :
Ω ' = Φ T ·Φ
(11)
r
La proyección de la imagen test t es
comparada con cada una de las clases.
2.
2.2.2.
El proceso de reconocimiento se divide en dos fases
fundamentales: entrenamiento y test.
mismo
Medidas de distancias
r
Para comparar la proyección de la imagen test t
con cada una de las clases se pueden utilizar
medidas de distancia entre los dos vectores. Las
medidas de distancia más utilizadas son:
norma L1
La norma L1 suma la diferencia absoluta entre las
r
r
componentes de dos vectores ω y t :
M
L1 = ∑ ω i − t i
(12)
i =1
(6)
donde M es el tamaño de ambos vectores.
4.
Se calculan los eigenvalores
eigenvectores de Ω' :
r
Ω '·V' = λ ·V'
donde
r
λ = [λ1 K λ k ]
5.
los
norma L2
(7)
(9)
Cada una de las imágenes de
r
entrenamiento centradas φ i se proyecta en
el subespacio. Para proyectar una imagen
en el subespacio, calculamos el producto
escalar de cada una de las imágenes con
cada uno de los vectores ordenados:
r
~
ωi = V̂ T ⋅ φ i
M
L 2 = ∑ ( ω i −t i ) 2
Test:
Cada imagen test es centrada, ~
ϕ,
substrayéndole la imagen media, y luego
(13)
i= 1
distancia de Mahalanobis
La distancia de Mahalanobis calcula el producto
de las componentes y el valor propio asociado a
cada componente y suma todos esos productos. La
r
distancia de Mahalanobis para dos vectores ω y
r
t es:
N
MAH = −∑ ω i ⋅ t i ⋅h i
(14)
i =1
donde
(10)
r
El nuevo vector ωi de la imagen proyectada
tendrá tantas componentes como número de
eigenvectores haya. A las proyecciones de las
imágenes de entrenamiento dentro del
subespacio se las denomina clases.
1.
La norma L2 o distancia euclídea suma la
diferencia al cuadrado entre las componentes de los
r
r
vectores ω y t :
(8)
Calculamos y ordenamos de mayor a
menor los eigenvectores de Ω según el
valor de los eigenvalores.
V̂ = Φ ·V'
6.
y
hi =
1
λi
(15)
y λ i está referido en la ecuación 8.
2.2.3.
Algoritmo PCA modificado (varios
subespacios).
En el PCA original se obtiene un solo subespacio
para toda la base de datos de los objetos debido a
que cada columna de la matriz de datos Φ es un
objeto diferente. Una modificación sobre este
algoritmo sería calcular un subespacio para cada
objeto, esto es, si la base de datos de los objetos a
reconocer está compuesta por 20 objetos, se
calcularían 20 subespacios.
En las Figuras 2 y 3 podemos apreciar como
difieren los subespacios calculados por cada
algoritmo. En el algoritmo original los vectores
propios (llamados también eigenimagenes o
eigenvectores) son fantasmas de una mezcla de
todos los objetos, mientras que en el algoritmo
modificado, las eigenimagenes son fantasmas de un
mismo objeto.
3.
OBJETOS COIL
En los experimentos se ha utilizado la base de
imágenes de objetos COIL-20 (Columbia Object
Image Library) [13]. La librería COIL-20 está
formada por 1440 imágenes de 20 objetos
diferentes (72 imágenes por cada objeto). Las
imágenes se han adquirido de manera que entre dos
imágenes consecutivas hay una rotación de 5º del
objeto. (Ver Figura 3.)
4.
EXPERIMENTOS
En este apartado se presentan los resultados
obtenidos en los diversos experimentos realizados.
Todos los algoritmos de PCA han sido
programados en MATLAB utilizando las rutinas
LAPACK [1] para calcular los eigenvectores y
eigenvalores. Utilizando un Pentium IV con 256
Mbytes de RAM calcular un sólo subespacio
consume 3 segundos. Durante el proceso de test o
identificación de una nueva imagen se tarda
aproximadamente un segundo si se utiliza el PCA
modificado y apenas unas centésimas de segundo si
se emplea el algoritmo original.
Figura 2: Imágenes de entrenamiento y eigenvectores obtenidos con el PCA original.
Figura 3: Imágenes de entrenamiento para un solo objeto y eigenvectores obtenidos con el PCA modificado.
Para generar los subespacios se han utilizado
además de las imágenes COIL originales (Figura 2),
las imágenes binarias de las COIL (Figura 4), y las
imágenes de bordes (Figura 5), obtenidas mediante
el conocido detector de Canny [4].
Figura 4: Imágenes binarias
La Tabla 1 muestra los mejores resultados
obtenidos con este algoritmo. La medida de
distancia que proporciona un mayor porcentaje de
aciertos es la distancia de Mahalanobis. Podemos
ver también que se alcanzan los mismos porcentajes
de aciertos con las imágenes binarias que con las
completas (64%).
imágenes
entrenamiento
norma
# vectores
% aciertos
imágenes
entrenamiento
norma
# vectores
% aciertos
imágenes
entrenamiento
norma
# vectores
% aciertos
originales
azar mejor
L2
Mah
19
19
52 % 64 %
bordes
mejor azar mejor
L2
L2
Mah
19
19
19
23% 20% 52%
binarias
mejor azar mejor
L2
L2
Mah
19
19
19
56% 55% 64%
mejor
L2
19
57 %
azar
Maha
19
60 %
azar
Mah
19
53%
azar
Mah
19
61%
Tabla 1: Resultados con el PCA original
4.2. RESULTADOS CON EL
ALGORITMO PCA MODIFICADO
Figura 5: Imágenes de bordes
4.1.
RESULTADOS CON
PCA ORIGINAL
EL
ALGORITMO
Como se ha dicho antes, en este método sólo se
utiliza una imagen de cada objeto para generar la
matriz de datos y posteriormente el subespacio.
Esta imagen de entrenamiento puede ser la más
representativa del objeto (mejor) o bien una imagen
elegida al azar.
En este método se genera un subespacio por cada
objeto y según el tipo de imágenes elegidas para la
generación del subespacio es posible realizar dos
tipos de entrenamiento: el que denominamos mejor,
en el que se utilizan 36 imágenes intercaladas, es
decir, entre cada imagen hay una rotación de 10º, y
se dejan las otras 36 imágenes para test, siendo el
que proporciona los mejores resultados ya que se
dispone de casi todas las vistas de un mismo objeto;
y el entrenamiento al azar, donde se seleccionan 36
imágenes aleatoriamente .
Como no todos los objetos presentan el mismo
grado de dificultad en el proceso de
reconocimiento, se han separado en tres grupos4
según su sensibilidad frente al reconocimiento:
§
§
§
En este caso como el tamaño de la matriz de datos
Φ es de 20x20 se obtienen 19 eigenvectores no
nulos, y el mayor porcentaje de aciertos en la
identificación de las imágenes test se obtiene
utilizando todos los eigenvectores.
4
conjunto I: 7,12, 15,16,17,18,20
conjunto II: 1,8, 10, 11, 13
conjunto III:2,3,5,6,9,14,19
numeramos los objetos por filas empezando por
el pato de goma (1)).
En la Tabla 2 se presentan los resultados obtenidos,
por grupos, variando el tamaño del subespacio
(número de vectores), y utilizando diversas medidas
de distancias con el mejor entrenamiento para las
imágenes originales. En este experimento las
normas L2, L1 e infinito proporcionan los mejores
porcentajes de aciertos (85% para la L2), mientras
que la distancia de Mahalanobis es la que peor
funciona (19%) a diferencia de lo que ocurría con el
algoritmo original.
La Tabla 3 muestra el mismo experimento que la
Tabla 2 pero utilizando el entrenamiento aleatorio:
se obtiene un porcentaje algo menor que el mejor
entrenamiento pero más alto de lo esperado (81%).
En ambas tablas se aprecia la separación entre
grupos, el conjunto I es muy fácil de reconocer casi
al 100% utilizando apenas 5 vectores.
Realizando el mismo estudio pero con las imágenes
binarias y de bordes de la librería COIL se obtiene
que el porcentaje de aciertos con las imágenes
binarias para el mejor caso (mejor entrenamiento y
norma L2) desciende hasta el 50%, mientras que
con las imágenes de bordes conseguimos un
sorprendente 95% de aciertos utilizando la distancia
de Mahalanobis. Por tanto, si se realiza una
detección de bordes en las imágenes de
entrenamiento antes de realizar el cálculo del
subespacio, la tasa de éxito en el reconocimiento
aumenta considerablemente.
imágenes
# vectores
5
10
80
81
53
71
84
79
54
72
norma L2
imágenes
# vectores
5
10
originales
15 20 25
92
60
42
65
98
89
55
81
99
85
63
82
norma L2
I
II
III
total
99 100 100 100
89 92 92 94
62 61 60 61
83 84 84 85
93
58
39
63
96
83
53
77
98
80
62
80
98
84
62
81
98
87
56
80
99
90
51
80
100
92
54
82
91
55
40
62
95
83
56
78
5
10
norma L2
I
II
III
total
78
71
52
67
77
65
44
62
76
58
39
58
74
54
36
55
68
50
31
50
Tabla 4. Resultados con imagénes binarias
imágenes
# vectores
5
98
86
56
80
98
86
56
80
I
II
III
total
10
bordes
20
33
35
% aciertos
90
67
50
69
95
83
54
77
98
95
74
89
100 100
99 99
87 87
95 95
% aciertos
97
81
60
79
97
88
60
81
98
86
56
80
Tabla 2. Resultados para el algoritmo modificado
con el mejor entrenamiento y diferentes medidas de
distancias
imágenes
# vectores
% aciertos
Mahalanobis
% aciertos
norma Infinito
I
II
III
total
35
30 35
% aciertos
norma L1
I
II
III
total
30
I
II
III
total
binarias
15 20 25
originales
15 20 25
30 35
% aciertos
85
57
38
60
89
72
53
71
92
72
54
73
96
79
54
76
96
81
55
77
96
84
57
79
97
88
58
81
Tabla 3. Resultados para el algoritmo modificado
con el entrenamiento al azar.
Tabla 5. Resultados con imágenes de bordes
Los experimentos mostrados en las tablas anteriores
se consiguieron utilizando un número de imágenes
de entrenamiento fijo (36). En la gráfica de la
Figura 6 se mu estra el porcentaje de aciertos en el
reconocimiento en función del número de imágenes
de entrenamiento utilizado, y se aprecia una
saturación al sobrepasar las 25 imágenes por objeto.
4.3. RESULTADOS CON OCLUSIONES
También se testaron ambos métodos ante
oclusiones parciales de los objetos (Figuras 7 y 8).
Los resultados obtenidos (Tablas 6 y7 ) indican que
el algoritmo PCA modificado utilizando imágenes
de bordes es el más robusto frente a oclusiones,
proporcionando un 89% de aciertos.
Tasa de reconocimiento
100
90
80
I
70
imágenes
método
norma
% aciertos
II
60
50
III
40
total
originales
PCA orig.
30
bordes
PCA orig.
20
10
0
0
10
20
30
40
50
60
70
Numero de imágenes de entrenamiento
Figura 6. Tasa de reconocimiento frente al tamaño
del conjunto de entrenamiento
originales
PCA modf.
bordes
PCA modf.
Mahalanobis
L2
Mahalanobis
51
9
39
L2
Mahalanobis
L2
Mahalanobis
L2
6
5
30
89
17
Tabla 6. Mejores resultados con una
oclusión del 25% .
Figura 7. Imágenes con una oclusión del 25%
imágenes
método
originales
PCA orig.
bordes
PCA orig.
originales
PCA modf.
bordes
PCA modf.
norma
Mahalanobis
L2
Mahalanobis
L2
Mahalanobis
L2
Mahalanobis
L2
% aciertos
16
7
32
11
2
8
59
5
Tabla 7. Mejores resultados con una
oclusión del 50%
Conclusiones
Se han presentado los resultados obtenidos al
utilizar dos técnicas de reconocimiento de objetos
basadas en PCA.
Figura 8. Imágenes con una oclusión del 50%
Los experimentos demuestran que realizar una
detección de bordes sobre las imágenes originales
mejora considerablemente la tasa de éxito en el
reconocimiento de nuevas imágenes, para uno de
los métodos presentados, incluso en presencia de
oclusiones.
Agradecimientos
El trabajo realizado en este artículo se ha realizado
gracias a la financiación aportada por el MCyT para
el desarrollo del proyecto de investigación
“Modelado
de
espacios
virtuales
para
entrenamiento de sistemas teleoperados en entornos
dinámicos” DPI2001-3827-C02-02
Referencias
[1] Anderson, E., Bai, Z., Bischof, C., Blackford,
S., Demmel, J., Dongarra, J., Du Croz, J.,
Greenbaum, A., Hammarling, S., McKenney,
A., Sorensen, D., LAPACK User's Guide
(http://www.netlib.org/lapack/lug/
lapack_lug.html), Third Edition, SIAM,
Philadelphia, 1999.
[2] Baek, K., Draper, B.A., Ross Beveridge J., Kai
She, PCA vs. ICA: A Comparison on the
FERET Data Set, International Conference on
Computer Vision, Pattern Recognition and
Image
Processing in conjunction with
the 6th JCIS, Durham, North Carolina, March
8-14, 2002.
[3] Bell, A.J., Sejnowski, T.J., Hughes, H., The
`Independent Components' of Natural Scenes
are Edge Filters, Vision Research, 1997.
[4] Canny, J., A computational approach to Edge
Detection, IEEE Trans. Pattern Analysis and
Machine Intelligence, 8-6, pp. 679-698, 1986.
[5] Common, P., Independent component analysis,
A new concept?, Signal Processing, 36:287-314, 1994.
[6] Chandrasekaran, S., Manjunath, B.S., Wang,
Y.F., Winkeler, J., Zhang, H., An Eigenspace
Update Algorithm for Image Analysis.
Graphical Models and Image Processing. Vol
59, Nº 5, Sept., pp 321-332, 1997.
[7] Fisher, R.A., The use of Multiple Measures in
Taxonomic Problems. Ann. Eugenics, 7:179188, 1936.
[8] Huang, C.Y., Camps,O.I., Object Recognition
Using Appearance-Based Parts and Relations..
Proceedings of the IEEE CVPRC 1997.
[9] Hyvärinen, A., Hoyer, P.O., Inki, M.,.
Topographic Independent Component
Analysis. Neural Computation, 13(7):15271558, 2001.
[10] Leonardis, A., Bishop, H., Robust Recognition
Using Eigenimages. Computer Vision and
Image Understanding, 78, no. 1, pages 99-118,
2000.
[11] Murase H., Nayar S.K. Visual Learning and
Recognition of 3-D Objects from Appearance.
International Journal of Computer Vision,
14:5-24, January 1995.
[12] Nayar, S.K., Murase, H., Nene, S.A.,
Parametric Appearance Representation, in
Early Visual Learning, edited by S. K. Nayar
and T. Poggio, Oxford University Press,
February 1996.
[13] Nene, S.A., Nayar, S. K., Murase, H.,
Columbia Object Image Library (COIL-20),
Technical Report CUCS-005-96, February
1996.
[14] Turk, M., Pentland, A., Eigenfaces for
Recognition, Journal of Cognitive
Neuroscience, vol. 3, no. 1, pp.71-86,1991.
[15] Zhao, W., Chellapa, R., Phillips, P.J.,
Subspace Linear Discriminant Analysis for
Face Recognition.1999
[16] The Face Recognition Home Page
http://www.cs.rug.nl/~peterkr/FACE/frhp.html
Descargar