Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO DE GRADO
Director
GUSTAVO OSORIO L.
Ingeniero Electrónico
Jurado
Jurado
ABSTRACT
1. INTRODUCCIÓN 10
2. OBJETIVOS 18
3. ANÁLISIS DE FUNDAMENTOS 19
3.1. CARACTERIZACIÓN 19
3.1.1. Momentos Estadísticos. 20
3.1.2. Matriz De Coocurrencia De Niveles 22
3.1.3. Matriz De Coocurrencia De Bordes 28
3.2. CLASIFICACION 36
3.2.1. Descripción 37
3.2.2. Entradas y Salidas 39
3.2.3. Entrenamiento 40
3.2.4. Indicaciones 42
3.3. DETECCION 45
3.3.1. Método Euclidiano 45
3.3.2. Método de Correlación 46
4. PROCEDIMIENTO 48
4.1. CLASIFICACION 48
4.2. DETECCION 50
5. ANÁLISIS DE RESULTADOS 52
6. PERSPECTIVAS 58
7. CONCLUSIONES 60
8. APENDICE. SOFTWARE 62
9. BIBLIOGRAFIA 64
LISTA DE FIGURAS
DEFINICIÓN DE TEXTURA
10
Intrínsecamente bajo estas condiciones se asume que una imagen
de una textura posee una resolución, una imagen física puede
contener varias texturas dependiendo de la resolución de la
imagen. Por ejemplo, en la imagen de un bosque a gran escala la
textura predominante seguramente será la flora verde contrastada
con el cielo al fondo, mientras en una escala mucho menor la
textura predominante puede ser la hoja de un árbol.
11
Para esto se analiza la textura por medios estadísticos con la matriz
de coocurrencia y se aplica estos resultados a la clasificación de
texturas y detección de defectos en las telas.
DESCRIPCIÓN
CLASIFICACION
TEXTURA CARACTERIZACION
DETECCION
12
Figura 1 Esquema del análisis supervisado de texturas.
CARACTERIZACIÓN
14
CLASIFICACIÓN
15
DETECCIÓN
PROPÓSITOS
SOFTWARE
16
En el apéndice se describe el software desarrollado pare este
proyecto que implementa estas tres etapas y permite manipular
diferentes opciones en cada uno de los procedimientos.
17
2. OBJETIVOS
GENERAL
ESPECÍFICOS
18
3. ANÁLISIS DE FUNDAMENTOS
3.1. CARACTERIZACIÓN
19
están basados en reglas estructurales y los espectrales que están
basados en la aplicación del espectro de Fourier bidimensional.
Algunos de los procedimientos realizados en este proyecto están
descritos con detalle en libros, algunos citados en la bibliografía
adjunta, por lo que sólo se mencionarán los detalles más
representativos.
n −1
m = ∑ xi f d ( xi )
i =0
20
valor esperado de la variable aleatoria x que, a propósito, en este
N −1
µ n ( x ) = ∑ ( xi − m ) n f d ( xi )
i =0
1
R = 1−
1+ σ 2
21
El tercer momento es una medida de la desviación del histograma,
mientras el cuarto mide la monotonía relativa. Los momentos de
orden superior no están fácilmente relacionados con la forma del
histograma pero proporcionan información acerca de éste.
22
Se define un operador de posición P y una matriz A cuyo elemento
aij es el número de veces que aparecen pixels con nivel xi en la
posición especificada por P en relación a pixels con nivel xj . Por
0, X2 = 1 y X3 = 2 de la siguiente forma :
0 0 0 1 2
1 1 0 1 1
2 2 1 0 0
1 1 0 2 0
0 0 1 0 1
4 2 1
A = 2 3 2
0 2 0
23
con el mismo nivel; y a13 es el número de veces que un punto con
24
MÁXIMA PROBABILIDAD :
máx i , j (C ij )
∑∑ (i − j)
i j
k
Cij
Cij
∑∑ 1 + (i − j )
i j
k
25
ENTROPÍA :
− ∑∑ C ij Log (Cij )
i j
UNIFORMIDAD :
∑∑ C
i j
2
ij
HOMOGENEIDAD :
Cij
∑∑ 1 + i − j
i j
26
CONTRASTE :
∑∑∑ k
k i j
2
C ij
CORRELACIÓN :
(i − µ i )( j − µ j )Cij
∑∑ σ iσ j
En donde se define :
µ i = ∑ i ∑ C ij ;
i j
µ j = ∑ j ∑ Cij ;
j i
σ i = ∑ (i − µ i ) 2 ∑ Cij ;
i j
σ j = ∑ ( j − µ j ) 2 ∑ Cij
j i
27
Este descriptor es la implementación de la correlación estadística
entre dos variables aleatorias que permite calcular
cuantitativamente el grado de independencia entre dos variables
aleatorias, que en este caso serían cada uno de los ejes de la
matriz de coocurrencia. Este descriptor toma la matriz de
coocurrencia, que es una función de densidad conjunta, y halla el
grado de interacción entre los ejes de la matriz, siendo cada eje
una variable aleatoria que puede tomar tantos valores discretos
como niveles tenga la imagen.
28
Los bordes horizontales son aquellos que tienen un gradiente
(vector perpendicular al borde) a 90º, los verticales tienen
gradiente a 0º, los izquierdos tienen gradiente a 45º, los derechos
tienen un gradiente a –45º (que es la misma dirección a 135º) y los
blancos son pixeles que son fondo y no tienen información de
borde.
0
Figura 2 Imagen inicial del proceso de bordes, I .
29
primero se aplican las máscaras de Sobel [González, Woods. 1992]
para diferenciar, intensificar y suavizar los bordes, donde para cada
1
pixel de la nueva imagen I están dadas por :
I 1i , j = J x2 + J y2
J = ∑ M ijiij0
i, j
0 0
aquí i es una submatriz de I centrada en el pixel de evaluación
1 0 − 1
M x = 2 0 − 2
1 0 − 2
− 1 − 2 − 1
M y = 0 0 0
1 2 1
30
que nos proporciona información si existe un borde horizontal en el
pixel evaluado. Al realizar estos cálculos se obtiene la figura 3.
1
Figura 3 Imagen con bordes intensificados, I .
Jy
θ = tg
−1
Jx
2
De modo que se obtiene la figura 4, I .
31
2
Figura 4 Imagen de los ángulos en los bordes, I .
32
direcciones de gradiente d1...d4, identificadas como –45º, 0º, 45º y
33
Luego recorremos esta última imagen y con la ayuda de la
información de bordes etiquetamos cada pixel como borde (y en tal
caso el tipo de borde) o blanco. A continuación en la figura 6 se
muestra la imagen etiquetada en donde cada color es una
orientación diferente y el color blanco es fondo :
34
La matriz de coocurrencia de bordes B se define de la siguiente
forma :
H V LI LD B
H P(H/H) P(V/H) P(LI/H) P(LD/H) P(B/H)
V P(H/V) P(V/V) P(LI/V) P(LD/V) P(B/V)
LI P(H/LI) P(V/LI) P(LI/LI) P(LD/LI) P(B/LI)
LD P(H/LD) P(V/LD) P(LI/LD) P(LD/LD) P(B/LD)
B P(H/B) P(V/B) P(LI/B) P(LD/B) P(B/B)
35
Momento Inverso Diferencial de Orden k, Entropía, Uniformidad o
cualquier otro de los mencionados anteriormente.
3.2. CLASIFICACION
36
3.2.1. Descripción
1 W1 1 W2
X1
X2
X3
X4
oi
hi
37
oculta recibe señales de cuantas entradas haya, y una neurona en
la capa de salida recibe señales de cuantas neuronas haya en la
capa oculta, cada una de estas señales está ponderada por un
peso, que en este caso están organizados en matrices (W1, W2).
Además de estas señales existe una señal más que actúa como
bias, es un offset que se encarga de cambiar el punto de operación
y se implementa como una entrada de valor 1.
destino j. Esto quiere decir que cada fila está asociada a una
neurona y cada columna a cada entrada. En cada neurona se lleva
a cabo la siguiente operación para establecer su salida, f :
f = ∑ wi xi
i
38
f i = WX ∀ i = 1..m
1
Factivación( s) =
1 + e −s
39
comunes, en la primera cada clase activa una neurona de salida
mientras las otras permanecen en cero, y en la segunda se toma el
valor en binario, por ejemplo, si se tienen tres neuronas de salida
se podrían tener 8 estados (por lo tanto clases) diferentes. De
todas maneras cualquier codificación puede darse en el
entrenamiento.
3.2.3. Entrenamiento
3. X0 = h0 = 1. Entrada bias.
40
4. Se escoge un par Entrada/Salida del conjunto de entrenamiento
(X,Y). (Entrenamiento supervisado).
5. Se propaga activaciones hacia la capa oculta con función de
activación sigmoidea.
1
hi = ∀ i = 1..Nocultas
Nentradas
− ∑ W1 [i ][ j ] X j
1 − e j =0
1
oi = ∀ i = 1..Nsalidas
− ∑ W2 [i ][ j ] X j
Nocultas
1 − e j =0
δ 2 j = o j (1 − o j )(Y j − o j )
41
Nsalidas
δ 1 j = h j (1 − h j ) ∑δ W2 [i ][ j ]
2i ∀ j = 0..Nocultas
i =1
∆W 2 [i ][ j ] = ηδ 2 j hi ∀ i = 0..Nocultas , j = 1..Nsalidas
3.2.4. Indicaciones
42
haya suficientes muestras representativas, y si el número de
muestras es muy grande la red se puede sobreentrenar y ajustar
sus pesos de tal forma que sólo responde a las muestras de
entrenamiento, perdiendo así su capacidad de generalización. En
este proyecto se trabajó con un número de muestras entre cuatro y
dieciséis [4-16].
43
existen dos posibles salidas del ciclo de entrenamiento, una
corresponde a un valor en el error de cero y la otra a que se
completó un máximo de ciclos predefinidos. No sobra decir que el
hecho de que se haya llegado al máximo de ciclos no significa que
la red no pueda entrenarse satisfactoriamente, esto se puede
corroborar monitoreando los errores individuales de cada clase.
Para hallar el error se observa la salida de la evaluación de la red
para una entrada particular, al diferir de la deseada se dice que
existe un error. Ya que la red nunca dará ceros o unos exactos, se
utiliza un delta para indicar que tan cerca está de cero o de uno la
salida de una neurona, este delta se utiliza para exigirle mayor o
menor precisión a la red en el entrenamiento. Claramente este
delta puede tomar valores entre [0,0.5].
44
3.3. DETECCION
45
1 2
comparar son V y V , y ajustando las sumatorias a una matriz en
lugar de un vector, la función euclidiana está dada por :
46
∑∑ [ f ( x, y) − f ][w( x, y) − w ]
x y
γ = 1
2
2
∑∑ [ f ( x, y ) − f ] ∑∑ [w( x, y ) − w ]
2
x y x y
47
4. PROCEDIMIENTO
4.1. CLASIFICACION
48
Para extraer los vectores característicos no se partió de los
descriptores de las matrices sino de las matrices mismas. Esto
debido a que la matriz en si misma contenía mayor información que
el vector de descriptores. Para llevar esto a cabo es necesario
mantener el tamaño de las matrices en un punto razonable, por lo
que la matriz de coocurrencias de niveles se trabajó sólo hasta 16
niveles (que equivale a una matriz de 16x16), mientras que la de
bordes puede quedar en su forma estándar de 5x5.
1 1 1
9 9 9
M Pr omedio = 1 1 1
19 1
9 9
1
9 9 9
49
maneja. Las otras cuatro columnas son normalizadas entre cero y
uno también.
4.2. DETECCION
51
5. ANÁLISIS DE RESULTADOS
52
DD Subimágenes defectuosas clasificadas como defectuosas.
53
RESULTADO DE CLASIFICACIÓN POR COOCURRENCIA DE BORDES
IMAGEN INICIAL SubI 50 Pix. Efectividad:87%
54
RESULTADO DE CLASIFICACIÓN POR COOCURRENCIA DE NIVELES
IMAGEN INICIAL SubI 50 Pix. Efectividad:87%
55
RESULTADO DE CLASIFICACIÓN POR COOCURRENCIA DE NIVELES
IMAGEN INICIAL SubI 40 Pix. Efectividad :87 % SubI 25 Pix. Efectividad :78 %
En la clasificación es importante la influencia del tamaño en las
subimágenes, mientras más grandes sean mejores resultados se
obtienen debido a que las características estadísticas se estabilizan
más.
10
Para describir como pueden mejorar los resultados con algunas
variaciones del algoritmo se muestra a continuación una tabla con
cuatro figuras ilustrativas. La imagen inicial contiene cuatro
texturas diferentes debidamente seleccionadas. La segunda imagen
es la clasificación por coocurrencia de niveles con subimágenes de
35 píxeles. Aunque se trabajó con matriz de coocurrencia en gris se
obtienen buenos resultados (87%), pero se nota claramente que la
textura azul y la naranja no están muy diferenciadas debido a que
su tramado es relativamente similar, y aunque la red neuronal supo
diferenciar la gran mayoría de subimágenes, hubo algunas
confundidas que no pertenecían a ningún borde (generalmente mal
clasificados por mezcla de características). Es más factible que en la
primera textura (burbujas) hubieran subimágenes mal clasificadas
debido a que no se tiene un texel definido y su tamaño es
obviamente comparable con el tamaño de la subimagen, además de
que sólo contiene información en una intensidad. En la tercera
imagen tenemos la clasificación con matriz de coocurrencia en
color, en donde claramente se observa un mejor comportamiento,
sobre todo con la textura azul y naranja. Esto es debido a que se
posee más información de discernimiento en el vector característico
por la inclusión del color. La cuarta imagen es una clasificación por
matriz de coocurrencia a color también pero con un delta inferior
para exigir un poco más en el entrenamiento. Es notable la mejoría
en la clasificación.
11
RESULTADO DE CLASIFICACIÓN POR COOCURRENCIA DE NIVELES
IMAGEN INICIAL SubI 35 Pix. Efectividad:87%
12
En los siguientes figuras se muestran algunos resultados en la
detección de defectos con las diferentes coocurrencias. La figura 9
es la textura de la tela en buen estado :
BD:
0%
DB:
0%
DD:
100%
55
BB:
87.5%
BD:
12.5%
DB:
40%
DD:
60%
BB:
87%
BD:
13%
DB:
0%
DD:
100%
56
En realidad existen muchos factores para variar la efectividad de la
detección. El tamaño del cuadro no puede ser cualquiera, no puede
ser tan grande como para ocultar el defecto en la caracterización
pues esto significaría que la matriz característica no difiere tanto de
la del modelo en buen estado, ni tan pequeño como para que las
matrices características de los cuadros buenos no se parezcan al
modelo. El umbral también tiene que ajustarse de modo que casi
todos los cuadros buenos pasen la comparación y todos los malos
no, lo que afecta el porcentaje de BD. Cuando se caracteriza con
coocurrencia por niveles el tipo de orientación también influye
dependiendo del tipo de textura que se está detectando. Incluso
algunas técnicas de implementación pueden hacer diferencia en el
resultado final. Aún así los porcentajes tienen un muy buen
comportamiento, en especial para los defectos tipo 1 y 3.
57
6. PERSPECTIVAS
58
• Si la aplicación requiere clasificar una sola textura el tamaño de
la subimagen de prueba puede ser mucho más grande, lo que
permite que las características estadísticas se estabilicen mejor y
se logre porcentajes de clasificación mejores.
59
7. CONCLUSIONES
60
• La matriz de coocurrencia de niveles tiene relativamente mejor
caracterización que la coocurrencia de bordes en ambientes
controlados, pero depende bastante de factores externos como
la iluminación y variación del color mientras la coocurrencia de
bordes es inmune a estos factores. Depende del tipo de
aplicación el método a escoger.
61
8. APENDICE. SOFTWARE
62
Además están las funciones que realizan todo el procedimiento para
la coocurrencia de bordes :
63
9. BIBLIOGRAFIA
[6] Wouwer, Gert Van de. Wavelets for multiscale texture analysis.
Antwerpen University. 1998.
64
[7] Athanasios Papoulis. Probability, Random Variables, and
Stochastic Processes. McGraw Hill, 3rd Edition. 1991.
65