VISIÓN ARTIFICIAL CON IMtdi

Anuncio
VISIÓN ARTIFICIAL CON IMtdi
VISIÓN ARTIFICIAL CON IMtdi
Francisco Guindos Rojas
José Antonio Piedra Fernández
Mercedes Peralta López
ALMERÍA, 2001
1
1.1
2
Introducción..........................................................................................................9
El entorno de trabajo IMtdi ................................................................................10
Segmentación......................................................................................................11
2.1
Conceptos generales ...........................................................................................11
2.2
Segmentación por niveles de gris .......................................................................11
2.3
Segmentación por gradientes..............................................................................18
2.4
Fuentes de información ......................................................................................24
3
Representación y descripción .............................................................................25
3.1
Introducción........................................................................................................25
3.2
Descriptores simples...........................................................................................32
3.3
Descriptores basados en los niveles de gris........................................................40
3.4
Descriptores basados en el rectángulo circunscrito............................................43
3.5
Puntos extremos..................................................................................................46
3.6
Descriptores basados en la elipsoide circunscrita...............................................50
3.7
Descriptores topológicos ....................................................................................55
3.8
Descriptores globales. teoría de momentos ........................................................58
3.9
Desarrollo de nuevos descriptores por combinación..........................................95
3.10 Resumen de los descriptores...............................................................................96
3.11 Lectura y almacenamiento de las configuraciones de los descriptores ..............98
3.12 Almacenamiento de los descriptores ................................................................107
3.13 Ejemplo genérico de cálculo de descriptores ...................................................109
4
Clasificación..................................................................................................... 117
4.1
Introducción...................................................................................................... 117
4.2
Patrones y clases............................................................................................... 117
4.3
Extracción de características ............................................................................ 118
4.4
Selección de características .............................................................................. 118
4.5
Vector de características y espacio de características ...................................... 119
4.6
Fronteras y regiones de decisión ...................................................................... 119
4.7
Funciones discriminantes ................................................................................. 120
4.8
Tipos de clasificadores ..................................................................................... 122
4.9
Aproximaciones al reconocimiento de patrones .............................................. 123
4.10 Ejemplos........................................................................................................... 124
4.11 Conclusión........................................................................................................ 179
5
Bibliografía....................................................................................................... 181
1
Introducción
F. GUINDOS
La Visión Artificial se ha convertido en una de las áreas de trabajo de la Inteligencia
Artificial con más futuro. Son muchas los campos de aplicación donde ya hoy se está utilizando
con éxito aportando un gran avance en los métodos de trabajo.
Utilizando técnicas de Visión Artificial se puede realizar un tratamiento inteligente de las
imágenes recibidas en el ordenador en el que, más allá de la pura manipulación, se llega al
análisis y reconocimientos de los objetos presentes en ellas.
En este manual se presentan, de forma fundamentalmente práctica, los pasos más
importantes para alcanzar una interpretación de la imagen: segmentación, descripción y
clasificación. No se trata de un recorrido exhaustivo por todos los métodos empleados en estas
tareas, sino que se ha escogido una metodología, y se presenta ésta de forma detallada, con
ejemplos y un entorno de trabajo donde llevar a la práctica cada una de las técnicas aquí
mostradas.
El lector encontrará a lo largo de este manual continuas referencias al entorno IMtdi. Se
trata de un entorno de trabajo realizado por los mismos autores y destinado a facilitar la
realización e implementación de prácticas en asignaturas de Tratamiento digital de Imágenes y
Visión Artificial. Básicamente, es un conjunto de funciones de preprocesado, segmentación y
descripción de imágenes que permiten al alumno centrarse directamente las prácticas de Visión
Artificial, liberándolo de la implementación de los prolegómenos necesarios para ellas. Para el
estudio del funcionamiento básico del entorno y de las funciones de procesamiento, se remite al
lector al manual dedicado a la asignatura de Tratamiento Digital de Imágenes.
Hay que hacer notar que no se trata de un entorno de prácticas/trabajo destinado a un
usuario final, sino al desarrollador del sistema de Visión Artificial, que encontrará en él una
valiosa ayuda a la hora de su creación.
9
Visión Artificial con IMtdi
1.1 EL ENTORNO DE TRABAJO IMtdi
La principal dificultad para la realización de prácticas Visión Artificial radica en que, antes
de poder abordar las tareas más propias de las prácticas de esta materia, ha de vérselas con otras
que se encuadran más en las técnicas de Tratamiento Digital de Imágenes. También ocurre que
para realizar una práctica de clasificación y reconocimiento de imágenes, es indispensable el
contar con una serie de descriptores de los objetos que en ellas aparecen y que no son rápidos de
implementar.
El entorno para prácticas IMtdi está ideado para resolver estos problemas. Utilizando las
herramientas y librerías disponibles en el entorno de trabajo, el alumno podrá crear fácilmente en
C++ sus propios programas en los que ponga a prueba las funciones de Tratamiento de Imágenes
objeto de interés, dedicando un mínimo esfuerzo a tareas de preprocesamiento.
El objetivo fundamental es que el alumno pueda centrarse en el objetivo de la práctica que
pretenda desarrollar sin pérdidas de tiempo en la implementación de funciones que no forman
parte de los objetivos, pero que son necesarias para poder realizarla.
Por motivos de simplicidad y, dado el hecho de que la mayoría de los algoritmos
estudiados trabajan sobre imágenes representadas en niveles de gris, el entorno está
especialmente diseñado para manipular este tipo de imágenes y, si bien admite imágenes en
color, la cobertura para ellas es reducida.
Distribución de IMtdi
Todo lo necesario para la utilización del entorno de trabajo IMtdi, ficheros de cabecera
(*.hpp) y librería (*.lib) se encuentra disponible en la dirección:
http://www.ual.es/~fguindos
10
2
Segmentación
F. GUINDOS
2.1 CONCEPTOS GENERALES
La segmentación es una tarea de fundamental importancia en el análisis de imágenes. Su
objetivo es dividir la imagen en partes, cada una de las cuales se corresponde con un objeto de la
realidad.
En general, los métodos de segmentación se basan en el hecho de que los píxeles que
forman un objeto mantienen una cierta similitud entre ellos y, sin embargo, en las fronteras que
separan dos objetos aparecen mayores variaciones.
En el entrono de tratamiento de imágenes IMtdi se han incluido algunas funciones para
segmentación de imágenes. Se encuentran definidos en la clase C_Matrix, por lo que operan
tanto con matrices como con imágenes, ya que se trata de una clase derivada.
Sin embargo, hay que hacer notar que su ámbito de aplicación son las imágenes en tonos
de gris, y siempre que la paleta de grises se encuentre normalizada.
 paleta(i, ROJO) = i

∀i / 0 ≤ i ≤ num.grises − 1 :  paleta(i, VERDE ) = i
 paleta(i, AZUL) = i

Figura 2–1 Paleta de grises normalizada
2.2 SEGMENTACIÓN POR NIVELES DE GRIS
En este grupo se encuadran aquellos métodos de segmentación que se basan directamente
en los valores de la función de imagen en cada píxel, estableciendo unos límites en ellos que
determinan la segmentación.
11
Visión Artificial con IMtdi
Figura 2–2 Segmentación por umbrales en el histograma
2.2.1
Isolíneas o líneas de nivel
Es uno de los métodos más simples de segmentación. Consiste en dividir el rango de la
función de imagen en un número de intervalos de igual anchura y marcar los píxeles donde se
produce un cambio de uno de estos segmentos a otro.
Figura 2–3 División del rango de la imagen para extracción de isolíneas
Es el método empleado en los mapas isobáricos para la representación de la presión
atmosférica o en los planos de altimetría o batimetría para representación del relieve terrestre.
Isolines
Isolines (C_Matrix & matrixIn, const ElementT interval)
Realiza un mapa de líneas de nivel o isolíneas. En la matriz resultante se indicará con un
número natural el número de líneas de nivel que pasan por él.
Parámetros de entrada
matrixIn Matriz original. No puede coincidir con aquella para la que se ejecuta el
método.
interval Intervalo entre cada dos líneas de nivel.
Ejemplo
C_Image imagen1;
C_Image imagen2;
imagen1.ReadBMP("Aguadulce_Gris.bmp");
12
Segmentación
imagen2.Isolines(imagen1, 1);
printf ("Min= %d
Max= %d\n",
(int)(imagen2.Min()), (int)(imagen2.Max()));
imagen2.SubtractFromEscalar(255);
imagen2.palette = imagen1.palette;
imagen2.WriteBMP("AguadulceIsolines.bmp");
Figura 2–4 Extracción de líneas de contorno con matriz2.Isolines(matriz1, 1)
2.2.2
Floodfill
La función floodfill extrae o marca una zona conexa en una imagen donde se mantiene una
cierta similaridad entre los píxeles. Comienza en un píxel inicial y se va extendiendo, como si de
un líquido derramado se tratara, por los vecinos, siempre que el valor de la función de imagen en
éstos se mantenga en un cierto rango, habitualmente próximo al valor en el píxel inicial.
FloodFill
long FloodFill (C_Matrix & matrix, const IndexT initRow, const IndexT initCol, const
ElementT newValue, const int heighbourhood = 8, const ElementT intervalRadio = 0)
Realiza la función floodfill, limitada a un rango de valores centrado en el valor para el
píxel inicial:
minitRow, initCol – intervalRadio ≤ mi,j ≤ minitRow, initCol + intervalRadio
Parámetros de entrada
matrix Matriz original. Si es la misma que aquella para la que se ejecuta el método,
el efecto es de una modificación en ella. Si es una matriz distinta, el efecto es de
extracción de una región.
initRow, initCol Coordenada donde comienza el proceso.
newValue Valor que se asigna a la región.
13
Visión Artificial con IMtdi
heighbourhood (opcional) Tipo de vecindad que se utilizará. Los valores posibles
son 4 y 8. Por defecto toma el valor 8.
intervalRadio (opcional) Es el margen de variación permitido en los valores de la
región que se rellena respecto al valor en el punto de comienzo. Por defecto, toma el
valor 0.
Valor devuelto
Número de elementos de la región tratada.
Ejemplo
C_Image imagen1;
C_Image imagen2;
imagen1.ReadBMP("Hercules_Gris.bmp");
imagen2.FloodFill(imagen1, 140, 90, 255, 4);
imagen2.SubtractFromEscalar(255);
imagen2.palette = imagen1.palette;
imagen2.WriteBMP("Camiseta.bmp");
Figura 2–5 Extracción de la camiseta con matriz2.FloodFill(matriz1, 140, 90, 255, 4)
Ejemplo
C_Image imagen1;
C_Image imagen2;
imagen1.ReadBMP("Hercules_Gris.bmp");
imagen2.FloodFill(imagen1, 80, 100, 255, 8, 35);
imagen2.SubtractFromEscalar(255);
imagen2.palette = imagen1.palette;
imagen2.WriteBMP("Cara.bmp");
14
Segmentación
Figura 2–6 Extracción de la cara con matriz2.FloodFill(matriz1, 80, 100, 255, 8, 35);
FloodFill
long FloodFill (C_Matrix & matrix, const IndexT initRow, const IndexT initCol, const
ElementT newValue, const int heighbourhood, const ElementT intervalMin, const
ElementT intervalMax)
Es otra versión del método anterior, en la que el rango de los valores por los que se
expande se especifican directamente indicando el mínimo y el máximo:
intervalMin ≤ mi,j ≤ intervalMax
Parámetros de entrada
matrix Matriz original. Si es la misma que aquella para la que se ejecuta el método,
el efecto es de una modificación en ella. Si es una matriz distinta, el efecto es de
extracción de una región.
initRow, initCol Coordenada donde comienza el proceso.
newValue Valor que se asigna a la región.
heighbourhood Tipo de vecindad que se utilizará. Los valores posibles son 4 y 8.
Por defecto se toma 8.
intervalMin Mínimo del intervalo de valores sobre los que actúa el método.
intervalMax Máximo del intervalo de valores sobre los que actúa el método.
Valor devuelto
Número de elementos de la región tratada.
Ejemplo
C_Image imagen1;
C_Image imagen2;
15
Visión Artificial con IMtdi
imagen1.ReadBMP("Hercules_Gris.bmp");
imagen2.FloodFill(imagen1, 80, 100, 255, 8, 0, 240);
imagen2.SubtractFromEscalar(255);
imagen2.palette = imagen1.palette;
imagen2.WriteBMP("Figura.bmp");
Figura 2–7 Extracción de la figura con matriz2.FloodFill(matriz1, 80, 100, 255, 8, 0, 240)
2.2.3
Umbralizado
ThresholdSeg
long ThresholdSeg (C_Matrix & matrixIn, const ElementT min, const ElementT max,
long minSize = 1, int neighbourhood = 8, bool continuePrevSeg = false);
Realiza una segmentación por umbrales en la matriz. Localiza zonas de la matriz
comprendidas en el intervalo y las numera de forma que todos los elementos de una misma
zona conexa tienen el mismo valor y elementos de distintas zonas tienen distintos valores.
En la matriz resultante, se marca con 0 los elementos que no están comprendidos en el
intervalo seleccionado y con números naturales a partir de 1 los pertenecientes a cada una
de las distintas zonas.
Parámetros de entrada
matrixIn Matriz original. No puede coincidir con aquella para la que se ejecuta el
método.
min, max Definen el intervalo de elementos que se desea marcar.
minSize (opcional) Tamaño (número de elementos) mínimo admisible para las zonas
detectadas. El valor por omisión es 1.
neighbourhood (opcional) Tipo de vecindad utilizada. El valor por omisión es 8.
16
Segmentación
continuePrevSeg (opcional) Indica se en la matriz resultante se encuentran ya
marcadas regiones fruto de una segmentación previa. En caso de ser así, las nuevas
zonas se comienzan a numerar por el número siguiente al último que se encontrara en
ella. El valor por omisión es false.
Valor devuelto
Número de regiones encontradas.
Ejemplo
C_Image imagen1;
C_Image imagen2;
long int numRegiones;
imagen1.ReadBMP("Ajedrez_Gris.bmp");
numRegiones = imagen2.ThresholdSeg(imagen1, 165, 255, 50);
printf ("numRegiones= %ld\n", numRegiones);
imagen2.palette.Read("PaletaSurtida256.txt");
imagen2.WriteBMP("PeonesBlancos.bmp");
Figura 2–8 Segmentación de los peones blancos con matriz2.ThresholdSeg(matriz1, 165, 255, 50)
La segmentación por umbrales en una sola operación de los peones blancos y negros
no es posible debido a que las zonas que ocupan en el histograma están separadas y
en medio se encuentran los valores correspondientes a la mesa. Sin embargo, se
puede realizar una segmentación para los peones negros que sea continuación de la
hecha para los blancos.
C_Image imagen1;
C_Image imagen2;
long int numRegiones;
imagen1.ReadBMP("Ajedrez_Gris.bmp");
imagen2.ThresholdSeg(imagen1, 165, 255, 5000, 8, false);
numRegiones = imagen2.ThresholdSeg(imagen1, 0, 95, 5000, 8, true);
printf ("numRegiones= %ld\n", numRegiones);
imagen2.palette.Read("PaletaSurtida256.txt");
17
Visión Artificial con IMtdi
imagen2.WriteBMP("Peones.bmp");
Figura 2–9 Nuevas regiones añadidas con imagen2.ThresholdSeg(imagen1, 0, 95, 5000, 8, true)
2.3 SEGMENTACIÓN POR GRADIENTES
El operador gradiente descubre las zonas de la imagen donde se producen las mayores
variaciones. La aplicación de este operador resalta los contornos de los objetos presentes en la
imagen de forma que hay métodos de segmentación que operan sobre el gradiente en logar de
hacerlo directamente con los valores de la función imagen.
2.3.1
Gradiente y pseudogradiente
GradientX
GradientX (C_Matrix & matrixIn)
Calcula el gradiente en la dirección del eje X (columnas) de una matriz y lo almacena en la
matriz para la que se ejecuta el método. El gradiente en X se calcula:
gx i, j =
(m i, j+1 - m i, j-1 )
2
Ecuación 2–1 Cálculo del gradiente en X
Parámetros de entrada
matrixIn Matriz original. No puede coincidir con aquella para la que se ejecuta el
método.
Ejemplo
C_Matrix matriz1 (1, 5, 1, 5);
C_Matrix matriz2;
. . .
matriz2.GradientX(matriz1);
18
Segmentación
1
2
3
4
5
1
2
1
7
9
5
4
6
2
4
5
9
0
3
7
1
8
4
8
3
5
1
7
1
2
-1 -2.5 0.5
2
1
2
1
2.5 -2.5 -4
1
2
4
3
-6 0.5 0.5 -2
2
5
8
0
4
-5 -1.5 2.5 -2.5 -8
2
8
0
5
6
matriz1
3
4
0.5 0.5 -1
5
-8
matriz2
Figura 2–10 matriz2.GradientX(matriz1)
GradientY
GradientY (C_Matrix & matrixIn)
Calcula el gradiente en la dirección del eje Y (filas) de una matriz y almacena en la matriz
para la que se ejecuta el método. El gradiente en Y se calcula:
gy i, j =
(m i+1, j - m i-1, j )
2
Ecuación 2–2 Cálculo del gradiente en Y
Parámetros de entrada
matrixIn Matriz original. No puede coincidir con aquella para la que se ejecuta el
método.
Ejemplo
C_Matrix matriz1 (1, 5, 1, 5);
C_Matrix matriz2;
. . .
matriz2.GradientY(matriz1);
19
Visión Artificial con IMtdi
1
2
3
4
5
1
2
3
4
5
1
7
9
5
4
6
1
-3
-4
4
-4
-5
2
4
5
9
0
1
2
0
-4 1.5 -1
-1
3
7
1
8
2
4
3
2
-1
-2
4 -0.5
4
8
3
5
8
0
4
-3
3
-3
3
-2
5
1
7
2
8
0
5
-7
4
-3
0
0
matriz1
matriz2
Figura 2–11 matriz2.GradientY(matriz1)
Gradient
Gradient (C_Matrix & matrixIn)
Calcula el gradiente de una matriz y almacena en la matriz para la que se ejecuta el
método. El gradiente se calcula utilizando los gradientes en X e Y:
2
g i, j = gxi , j + gyi , j
2
Ecuación 2–3 Cálculo del gradiente
Parámetros de entrada
matrixIn matriz original. No puede coincidir con aquella para la que se ejecuta el
método.
Ejemplo
C_Matrix matriz1 (1, 5, 1, 5);
C_Matrix matriz2;
. . .
matriz2.Gradient(matriz1);
20
Segmentación
1
2
3
4
5
1
1
7
9
5
4
6
1
2
4
5
9
0
1
2
3
7
1
8
2
4
3
6.3 1.1 2.1 4.5 2.1
4
8
3
5
8
0
4
5.8 3.4 3.9 3.9 8.2
5
1
7
2
8
0
5
9.2
matriz1
2
3
3.6 4.1 4.7
1
4
5
4
5.4
4.7 2.9 4.1 1.4
4
3
1
8
matriz2
Figura 2–12 matriz2.Gradient(matriz1)
Pseudogradient
Pseudogradient (C_Matrix & matrixIn)
A menudo el gradiente no es necesario más que para realizar comparaciones de magnitud,
sin importar el valor exacto. En estos casos se puede utilizar un cálculo aproximado más
rápido, también a partir de los gradientes en X e Y:
g'i, j =
gxi , j + gyi , j
2
Ecuación 2–4 Cálculo del pseudogradiente
Parámetros de entrada
matrixIn Matriz original. No puede coincidir con aquella para la que se ejecuta el
método.
Ejemplo
C_Matrix matriz1 (1, 5, 1, 5);
C_Matrix matriz2;
. . .
matriz2.Pseudogradient(matriz1);
21
Visión Artificial con IMtdi
1
2
3
4
5
1
7
9
5
4
6
1
2.5 2.5 3.2 2.2 3.5
2
4
5
9
0
1
2
0.5 3.2
3
7
1
8
2
4
3
4 0.75 1.2
4
8
3
5
8
0
4
4
5
1
7
2
8
0
5
matriz1
1
2
3
2
4
5
2.5
1
3
1.2
2.2 2.8 2.8
5
6.5 2.2 1.8 0.5
4
matriz2
Figura 2–13 matriz2.GradientY(matriz1)
2.3.2
Watershed
Podemos interpretar una matriz de gradientes obtenidos de una imagen como un perfil
topográfico donde los valores altos del gradiente se corresponden con zonas elevadas del terreno
y viceversa. Una vez hecha la analogía, si hiciéramos fluir un líquido desde cada mínimo local (o
unos puntos estratégicamente seleccionados y denominados marcadores o semillas) hasta
anegar toda la superficie y marcáramos en cada punto del terreno de dónde proviene el líquido
que lo anegó, obtendríamos una teselación de la imagen en la que las fronteras coinciden con
zonas de alto gradiente.
Figura 2–14 Watershed: Extracción del perfil y selección de marcadores o semillas
Figura 2–15 Watershed: Proceso de inundación desde los marcadores
22
Segmentación
Figura 2–16 Watershed: segmentación finalizada
Uno de los puntos clave para la segmentación watershed es la elección de los marcadores.
Si se toma cada mínimo local, esto suele llevar a una sobresegmentación. Es frecuente, para
reducir el problema, efectuar un suavizado de la imagen original antes de la extracción del perfil.
También se utilizan métodos para selección de los marcadores más relevantes.
Aprovechando el método visto de segmentación por umbrales, se puede obtener un
conjunto de marcadores en los que se imponga un nivel máximo de gradiente.
Figura 2–17 Selección de marcadores utilizando ThresholdSeg
WatershedTessellation
Watersheds (C_Matrix & matrixIn, const ElementT endLevel, const int neighbourhood
= 8);
Realiza la inmersión del perfil a partir de un conjunto de marcadores o semillas extraído
previamente. Marca cada píxel de la imagen con el índice del marcador desde el que fue
inundado.
Parámetros de entrada
this Matriz para la que se ejecuta el método. Es necesario que contenga los
marcadores que darán origen a la inmersión. Cada uno de ellos está formado por uno
o varios píxeles denotados con un número natural, diferente para cada marcador.
23
Visión Artificial con IMtdi
matrixIn Matriz con el perfil o gradiente de la imagen que se desea segmentar. Ha
de ser del mismo tamaño que la matriz actual.
neighbourhood Tipo de vecindad: 4 u 8.
Ejemplo
C_Image imagen;
C_Image gradiente;
C_Image segmentacion;
long int numRegiones;
imagen.ReadBMP("Alumina.bmp");
gradiente.Gradient(imagen);
numRegiones = segmentacion.ThresholdSeg(gradiente, 30,
gradiente.Max());
printf ("numRegiones= %ld\n", numRegiones);
segmentacion.WatershedTessellation(gradiente, gradiente.Max());
segmentacion.palette.Read ("PaletaSurtida256.txt");
segmentacion.WriteBMP("Alumina_Watershed.bmp");
Figura 2–18 Imagen original y segmentación realizada a con el método Watershed
2.4 FUENTES DE INFORMACIÓN
•
http://cmm.ensmp.fr/~beucher/wtshed.html
En esta página el creador de la técnica de segmentación Watershed hace una
buena descripción del operador y sus aplicaciones.
24
3
Representación y descripción
J.A. PIEDRA
3.1 INTRODUCCIÓN
Después de la segmentación, la siguiente etapa en el procesamiento de una imagen consiste
en establecer el tipo de representación a seguir y el conjunto de parámetros dentro de la
representación escogida que van a describir una región en una imagen.
La representación de una región en una imagen comprende [5, 6, 13] dos tipos de
procedimientos:
•
Representación mediante las características externas (contorno).
•
Representación mediante las características internas (los píxeles que comprenden la
región).
La elección de nuestro esquema de representación se ha centrado más en las características
internas, aunque como se comentará después se ha realizado algunos descriptores externos como
son los definidos como topológicos. El seleccionar un esquema u otro de representación vendrá
determinado por el área de aplicación, así como, el tipo de problema que se desea resolver.
Una vez establecido el tipo de representación, que para nuestro caso no se ha optado por
una, sino que se desarrollan descriptores de ambas, consiste en describir la región en cuestión a
partir de la representación elegida. Un ejemplo sería representar una región describiendo sus
características, tales como su longitud, área, o a través de momentos invariantes frente a
transformaciones afines, etc.
Se suele elegir una representación externa cuando el objetivo principal se centra en las
características de forma y una representación interna cuando la importancia recae en las
propiedades de reflectividad, tales como el color y textura.
Los objetivos principales [3] que ha de cumplir cualquier descriptor deben ser los
siguientes:
25
Visión Artificial con IMtdi
•
Mantenerse invariante frente a traslaciones del objeto.
•
Mantenerse invariante frente a rotaciones del objeto.
•
Mantenerse invariante frente a cambios de escala del objeto.
•
Mantenerse invariante frente a cambios de contraste del objeto.
Estos rasgos descritos serían las características perfectas que debería poseer un descriptor
ideal. Desafortunadamente, en la realidad no es así. Existen muchos descriptores que poseen
algunos de estos rasgos, pero ninguno de ellos se puede considerar efectivo al cien por cien. Esto
se debe a la diversidad de áreas donde es necesario aplicarlos ya que a priori no se puede
determinar qué o cuáles de los descriptores van a ser los adecuados para un problema
determinado.
Casi todo el desarrollo se centra en los descriptores de región ya que a priori son los menos
estudiados en la gran mayoría de los libros de tratamiento digital de imágenes. Estos centran su
estudio en los descriptores de contorno que aquí simplemente se han referenciado muy
superficialmente. Por consiguiente, creo que merece la pena analizarlos.
A continuación, se va a referenciar un conjunto de imágenes que servirán como ejemplo a
lo largo de todo el capítulo para determinar posibles valores de cada uno de los diferentes
descriptores analizados. Después se prosigue con una descripción más o menos detallada de cada
uno de ellos.
3.1.1
Descripción del ejemplo
En este apartado se describe un pequeño ejemplo para verificar de manera visual cada
una de las características a describir. Se van a especificar una serie de imágenes donde aparece el
nombre de la imagen, el cual explicará su significado y servirá como identificador de esta. Para
la imagen en cuestión se ha tomado un dibujo simple para una matriz de tamaño 15 x 15. De esta
manera la comprobación de los resultados será más fácil.
A continuación se muestran las distintas imágenes originales y segmentadas para cada una
de las realizadas.
26
Representación y descripción
Figura 3–1 Imagen original 'Prueba4.bmp' y segmentadada (Archivo inicial de la prueba)
Figura 3–2 Imagen original ‘Prueba4B21%C21%.bmp’ y segmentada (Archivo modificado del original con un brillo
del 21% y un contraste del 21 %)
Figura 3–3 Imagen original ‘PruebaR90.bmp’ y segmentada (Archivo original rotado un ángulo de 90º)
27
Visión Artificial con IMtdi
Figura 3–4 Imagen original ‘Prueba4R90B15%C32%.bmp’ y segmentada (Archivo original rotado un ángulo de 90º
y con un brillo del 15% y un contraste del 32%)
Figura 3–5 Imagen original ‘Prueba4R90E(+1,+1).bmp’ y segmentada (Archivo original rotado un ángulo de 90º y
escalado en 1 para ambas direcciones)
Figura 3–6 Imagen original ‘Prueba4T(2,3).bmp’ y segmentada (Archivo original trasladado 2 filas y 3 columnas)
28
Representación y descripción
Figura 3–7 Imagen original ‘Prueba4T(2,3)B35%C18%.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, con un brillo del 35% y un contraste del 18%)
Figura 3–8 Imagen original ‘Prueba4T(2,3)E(2,2).bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, escalado 2 en ambas direcciones)
Figura 3–9 Imagen original ‘Prueba4T(2,3)R145.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, rotado un ángulo de 145º)
29
Visión Artificial con IMtdi
Figura 3–10 Imagen original ‘Prueba4T(2,3)R180.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, rotado un ángulo de 180º)
Figura 3–11 Imagen original ‘Prueba4T(2,3)R220.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, rotado un ángulo de 220º)
Figura 3–12 Imagen original ‘Prueba4T(2,3)R270.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, rotado un ángulo de 270º)
30
Representación y descripción
Figura 3–13 Imagen original ‘Prueba4T(2,3)R315.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, rotado un ángulo de 315º)
Figura 3–14 Imagen original ‘Prueba4T(2,3)R45.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, rotado un ángulo de 45º)
Figura 3–15 Imagen original ‘Prueba4T(2,3)R90.bmp’ y segmentada (Archivo original trasladado 2 filas y 3
columnas, rotado un ángulo de 90º)
31
Visión Artificial con IMtdi
Figura 3–16 Imagen original ‘Prueba4T(2,3)R90E(+2,+3).bmp’ y segmentada (Archivo original trasladado 2 filas y
3 columnas, rotado un ángulo de 90º y escalado en 2 filas y 3 columnas)
Figura 3–17 Imagen original ‘Prueba4T(2,3)R90E(M2,M2).bmp’ y segmentada (Archivo original trasladado 2 filas
y 3 columnas, rotado un ángulo de 90º y escalado el doble en ambas direcciones)
Figura 3–18 Imagen original ‘Prueba4T(2,3)R90E(M2,M2)B12%C15%.bmp’ y segmentada (Archivo original
trasladado 2 filas y 3 columnas, rotado un ángulo de 90º y escalado el doble en ambas direcciones, con un brillo del
12% y un contraste del 15%)
3.2 DESCRIPTORES SIMPLES
Los descriptores [6, 7, 10, 13] denotados por simples se consideran a aquellos cuya
complejidad de cálculo no dista más de una o dos operaciones aritméticas simples (es decir,
suma, resta, multiplicación y división). La sencillez de estos descriptores implica también que su
relevancia respecto a los cuatro objetivos básicos considerados con anterioridad (traslación,
32
Representación y descripción
rotación, cambio de escala y variación del contraste) es baja, es decir, se alejan de estos objetivos
siendo considerados aisladamente como descriptores poco eficientes. En cambio, con la
combinación de todos o varios de ellos permiten obtener un descriptor más compacto y robusto,
en cuanto a acercamiento a estos objetivos muy superior.
3.2.1
Primer Punto
El primer punto de una región es por definición el primer punto que se encuentra al hacer
un barrido secuencial por la imagen de izquierda a derecha (en horizontal) y de arriba abajo (en
vertical). Por si sólo este valor no tiene ningún sentido. Puede ser útil en algunas aplicaciones
donde se obtengan imágenes sobre una misma zona y se quieran apreciar de manera rápida y
poco eficiente si se han producido desplazamientos de algunas regiones.
Dominio del valor Punto(fila, columna)
•
Fila ≥ 0.
•
Columna ≥ 0.
3.2.2
Área
El área de una región se define como el número de píxeles contenido en su contorno, es
decir, el número de píxeles que forma o constituye una región.
Teóricamente se considera el área para el caso continuo como:
A( x) = ∫ dxdy
R2
Ecuación 3–1 Área en el rango continuo
Para el caso discreto, o real, el área es la aproximación por el número de píxeles in x.
A( x) = ∑ g ( xi , y j )
i, j
Ecuación 3–2 Área en el rango discreto
 g ( xi , y j ) = 1 Si el píxel coincide con el objeto

En otro caso
 g ( xi , y j ) = 0
Este descriptor suele ser útil para analizar regiones donde no se aplican modificaciones de
tamaño a los objetos. De esta manera puede hacerlos invariantes frente a traslación, rotación (es
susceptible de error al digitalizar), en cambio es independiente del cambio de contraste ya que el
33
Visión Artificial con IMtdi
área por definición no depende del color de cada píxel que represente sino del número de los
mismos.
Dominio del valor
•
3.2.3
Área ≥ 1. (Nunca va a ser cero ya que en ese caso la región no existiría).
Perímetro
El perímetro de una región es la longitud de su contorno, es decir, designa la longitud del
limite del objeto.
[10] En el caso continuo, permite x(t) e y(t) sean una representación paramétrica del límite
de la curva δX , su perímetro se obtiene de la siguiente manera:
L( X ) =
∫
δ
x , 2 + y , 2 dt
X
Ecuación 3–3 Perímetro en el rango continuo
Esta fórmula obviamente no es equivalente al caso discreto, es demasiado inútil para
nuestros propósitos.
Para el caso discreto, el perímetro puede ser estimado simplemente como un numero de
puntos orientados en función del límite del objeto, es decir, puntos con al menos un cero en su
vecindad.
 x x x
x 1 0 


 x x x 
 x x 0
x 1 x 


 x x x 
x 0 x
x 1 x 


 x x x 
0 x x 
x 1 x 


 x x x 
 x x x
0 1 x 


 x x x 
 x x x
x 1 x 


0 x x 
 x x x
x 1 x 


 x 0 x 
 x x x
x 1 x 


 x x 0 
Tabla 3–1 Estructura Cuadrada
34
Representación y descripción
x

0 
x 
0 
 x
x
1
x 

 x
x 

x 
x 
 x
x
1

 0
 x
x
1

 x
 x
0
1

 x
x

x 
x 
x

x 
x 
 0
x
1

 x
x
x 
 x
x
1
x 

 x
0 
Tabla 3–2 Estructura Hexagonal
donde x significa 0 ó 1.
Este algoritmo es una mala aproximación ya que tiene algunos inconvenientes. Por
ejemplo, permitir que el objeto siguiente sea definido sobre tablas hexagonales.
1 
 1
1
1
1 

 1
1 
y su perímetro es
 1
1

 1

1
1 
1
El valor del perímetro es igual a 6. No obstante, los lados horizontales tienen longitud 1,
mientras que los lados diagonales tienen longitud
2 . Esta característica es sensible al ruido y
es propenso a los errores digitales.
Algunos algoritmos han sido propuestos para obviar los inconvenientes descritos. Podemos
ver una fórmula basada en el número de intercepciones. Otra aplicación puede asignar el límite a
un objeto poligonal, para el cual el perímetro es obviamente definido como una aproximación a
la longitud del polígono. Esta técnica implica el suavizado del contorno de algunos objetos, así
como la aproximación poligonal puede ser afinada mediante filtros o variaciones locales del
límite.
La ambigüedad fundamental del perímetro es que cuando opera sobre el mismo contorno,
varia con el factor de muestreo usado para caracterizar el objeto. Una aproximación poligonal
simplifica la asignación de este factor a un valor físico consistente.
La fórmula de Cauchy muestra que:
π
L( X ) = ∫ D2 ( X ,α )dα
0
Ecuación 3–4 Fórmula del perímetro por Cauchy
El perímetro es entonces aproximado cuando se sustituye la integral del caso continuo a
la sumatoria del caso discreto.
35
Visión Artificial con IMtdi
En el caso de las tablas hexagonales, la sumatoria es realizada para tres direcciones
fundamentales.
L( X ) =
π
3
×
a 3
× ( N 0 + N 60 + N 120 )
2
Ecuación 3–5 Fórmula del perímetro para estructuras hexgonales
donde a es la distancia entre dos puntos sobre la tabla y
a 3
es la distancia entre dos líneas.
2
En el caso de las tablas cuadradas, los términos de la diagonal deben ser corregidos N 45 y
N 135 deben ser corregidos:
L( X ) =
π
a


× a × ( N 0 + N 90 ) +
× ( N 45 + N 135 )
4 
2

Ecuación 3–6 Fórmula del perímetro para estructuras cuadradas
donde a representa la distancia entro dos puntos sobre la tabla y la distancia entre dos líneas con
dirección 0º ó 90º, y
a
es la distancia entre dos líneas en la dirección 45º y135º.
2
Finalmente, esta fórmula puede ser corregida por un píxeles no cuadrado. En esta
situación, las diagonales no encajan en las direcciones 45º y 135º. Permite M i tomar la vecindad
4 en la ventana analizada, al ser la distancia entre las líneas horizontales, b ser la distancia entre
las líneas verticales y c la distancia entre las líneas diagonales.
a
b
α = arctan 
π
α
c=
ab
a2 + b2
α
M4
M3
Figura 3–19 Figura de análisis del perímetro
El perímetro puede definirse de acuerdo a la fórmula de Crofton basada en el número de
intercepciones (son el número de puntos que se encuentran en el límite y en la misma dirección
a una línea dada). La formula de Crofton es la siguiente:
36
Representación y descripción
π
π

L( X ) = α × a × N 0 +  − α  × b × N 90 × × c × ( N α + N π −α )
4
2

Ecuación 3–7 Fórmula de Crofton
Esto significa una mejora estableciendo sencillez por la limitación en los píxeles.
El perímetro al igual que el área no es invariante como se puede observar a los cambios
de escala, aunque si es invariante a los cambios de contraste, a las traslaciones y rotaciones de
regiones, a excepción de los errores introducidos por la rotación de una región digital.
Dominio del valor
•
3.2.4
Perímetro ≥ 1. (Nunca va a ser cero ya que en ese caso la región no existiría).
Densidad
Aunque, el área y el perímetro se utilizan algunas veces como descriptores, su aplicación
principal es en situaciones en las que el tamaño de los objetos de interés es invariable. Un
empleo más frecuente de estos dos descriptores es en la medida de la densidad ó compacidad
de una región, que se define de la siguiente manera:
D( X ) =
L( X ) 2
A( X )
Ecuación 3–8 Fórmula de la densidad
La densidad es una cantidad adimensional, es decir, no tiene dimensión (y por tanto
insensible a los cambios de escala) y es mínima para una región en forma de disco. Su valor será
menor en tanto la región se aproxime más a una forma circular, dado que el círculo es la forma
geométrica plana con densidad mínima. También es insensible a cambios de contraste, de
traslación y a la orientación, con la excepción de los errores introducidos por la rotación de una
región digital.
Dominio del valor
•
Densidad > 0. (El perímetro nunca va a ser 0 y el área tampoco, ya que de ser así no
existiría la región a analizar)
3.2.5
Volumen
El volumen es definido en el caso continuo como:
37
Visión Artificial con IMtdi
V (X ) =
∫ I ( x, y )dxdy
R2
Ecuación 3–9 Fórmula del volumen para el caso continuo
Para el caso discreto, el volumen es aproximado mediante la suma de las intensidades de
los píxeles en X:
V ( x) = ∑ I ( xi , y j )
i, j
Ecuación 3–10 Fórmula del volumen para el caso discreto
donde I ( xi , y j ) es la intensidad del píxel (nivel de gris).
Esta característica mide la suma global de todos los niveles de gris para una imagen digital
basada en niveles de gris. En cambio, si la imagen está binarizada el valor obtenido será igual al
área.
El volumen no es invariante como se puede observar a los cambios de escala, ni de
contraste, aunque si es invariante a las traslaciones y rotaciones de regiones, a excepción de los
errores introducidos por la rotación de una región digital.
Dominio del valor
•
Volumen ≥ 0. (Puede ser cero en el caso de que todos los valores de la región valgan
cero).
3.2.6
Volumen2
El volumen2 se define como la suma de los cuadrados de las intensidades de los niveles de
gris, para el caso de una imagen en escala de grises. Su ecuación para el caso discreto viene
representada por:
V 2( x) = ∑ I ( xi , y j )
2
i, j
Ecuación 3–11 Fórmula del volumen al cuadrado para el caso discreto
donde I ( xi , y j ) es la intensidad del píxel (nivel de gris), así como, i, j están definidos para
i=0,...,m y j=0,...,n.
Al igual que el descriptor este se considera una variación del mismo y conserva todas las
características descritas para el anterior.
38
Representación y descripción
Dominio del valor
•
Volumen2 ≥ 0. (Puede ser cero en el caso de que todos los valores de la región valgan
cero).
3.2.7
Diámetro equivalente
El diámetro equivalente trata de aproximar una región al área de un círculo.
DE ( X ) =
(4 × A( X ))
π
Ecuación 3–12 Fórmula del diámetro equivalente
donde A(X) es el área de la región.
Esto permite comparar distintas regiones de manera que sean fácilmente diferenciables,
siempre y cuando no se realicen cambios de escala. Al igual que para los descriptores anteriores
se mantiene invariante frente a cambios de contraste, traslaciones y rotaciones.
Dominio del valor
•
3.2.8
Diámetro Equivalente > 0. (El área nunca va a ser 0 por lo que no puede valer cero)
Resultados
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
Primer Punto
(3,5)
(3,5)
(2,5)
(2,5)
(3,5)
(6,7)
Área
16
16
16
16
18
16
Perímetro
11
11
11
11
13
11
Densidad
75.625
75.625
75.625
75.625
93.889
75.625
Volumen
1228
2056
1228
58
1375
1228
Volumen2
95834
2666600000
95834
434
1068200000
95834
Diámetro
Equivalente
45135
45135
45135
45135
47873
45135
39
Visión Artificial con IMtdi
Características T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
Primer Punto
(6,7)
(6,6)
(5,7)
(6,8)
(5,9)
(5,8)
Área
16
29
30
16
25
16
Perímetro
11
19
17
11
13
11
Densidad
75.625
12.448
96.333
75.625
6.76
75.625
Volumen
2754
2257
4572
1228
3553
1228
95834
5992600000
95834
45135
56419
45135
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
2
Volumen
4763700000
Diámetro
Equivalente
45135
Características
1780300000 8174700000
60765
61804
T(2,3)R315 T(2,3)R45 T(2,3)R90
T(2,3)R90
E(M2,M2)
B12C15
Primer Punto
(4,7)
(5,9)
(5,7)
(4,7)
(2,6)
(2,6)
Área
27
30
16
34
64
64
Perímetro
15
17
11
22
38
38
Densidad
83.333
96.333
75.625
14.235
22.562
22.562
Volumen
3504
4555
1228
2670
4912
6488
Volumen2
Diámetro Equivalente
5320800000 813900000
58632
61804
95834
45135
2122500000 3833400000 6663800000
65795
9027
9027
3.3 DESCRIPTORES BASADOS EN LOS NIVELES DE GRIS
Los descriptores [6, 7, 10, 13]basados en los niveles de gris se usan cuando los cambios de
contraste se mantienen invariantes. Permiten normalizar regiones frente a traslación, rotaciones y
cambios de escala. Se usan básicamente para imágenes con escala de colores en niveles de gris y
que para una imagen binaria no tendría ningún sentido.
3.3.1
Nivel mínimo de gris
El mínimo de los niveles de gris de una región se considera como el nivel de gris más bajo
de todos los valores representados en el histograma que conforman una región.
Se denota por :
Min {I(n, m)}
donde n, m pueden tomar los valores n= 0,...,p y m=0,...,q referido al dominio de los números
Naturales.
40
Representación y descripción
Dominio del valor
255 ≥ Mínimo ≥ 0.
3.3.2
Nivel máximo de gris
El máximo de los niveles de gris de una región se considera en contraposición a lo
comentado anteriormente como el nivel de gris más alto de todos los valores representados en el
histograma que conforman una región.
Se denota por:
Max {I(n, m)}
donde n, m pueden tomar los valores n= 0,...,p y m=0,...,q referido al dominio de los números
Naturales.
Dominio del valor
•
3.3.3
255 ≥ Máximo ≥ 0.
Nivel de gris medio
El nivel de gris medio de una región se considera como el nivel de gris que se encuentra en
la mitad de todos los valores representados en el histograma que conforman una región.
Se define como:
µ( X ) =
1
∑ I ( xi , y j )
A( X ) i , j
Ecuación 3–13 Fórmula para el nivel de gris medio
donde i, j pueden tomar los valores i= 0,...,p y j=0,...,q referido al dominio de los números
Naturales. Permite dar un valor aproximado de la intensidad de los tonos de gris dentro de dicha
región.
41
Visión Artificial con IMtdi
Dominio del valor
255 ≥ Media ≥ 0.
•
3.3.4
Desviación típica
La desviación típica o desviación estándar sobre los niveles de gris da una medida de la
dispersión de los mismos, es decir, determina el radio de amplitud en el que se mueven los
niveles de gris de una región respecto de la media.
Se define por la siguiente fórmula:
∑ (I ( x , y
i
σ 2(X ) = +
j
) − µ ( X )) 2
i, j
A( X )
Ecuación 3–14 Fórmula para la desviación típica de los nivele de gris
Dominio del valor
Desviación Típica > 0.
•
3.3.5
Baricentro de los niveles de gris
El baricentro de los niveles de gris determina donde se encuentra el punto medio para los
niveles de gris de una región determinada. La ecuación que lo determina es:
∑ (I ( x , y
i
Baricentro( X ) =
j
i, j
A( X )
) × xi )
∑ (I (x , y
i
Baricentro(Y ) =
j
)× yj )
i, j
A( X )
Ecuación 3–15 Fórmula de baricentro para las coordenadas x e y
donde se obtienen las coordenadas pertinentes a cada uno de los pesos de intensidad tanto en x
como en y.
Este punto suele ser de utilidad para determinar cuando los valores expresados han sufrido
traslaciones, rotaciones y cambios de escala, siempre que se mantenga invariante el cambio de
contraste.
Dominio del valor
•
Baricentro (X) ≥ 0.
Baricentro (Y) ≥ 0.
42
Representación y descripción
3.3.6
Resultados
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
Mínimo Gris
53
99
53
0
53
53
Máximo Gris
85
139
85
8
85
85
Media Gris
76.75
128.5
76.75
3.625
76.389
76.75
Desviación Típica
9.953
12.405
9.953
37.396
99.562
9.953
Baricentro Gris X
379
636.5
351.38
18.938
388.39
609.25
Baricentro Gris Y
416.12
701.31
455.75
19.25
396.89
569.62
Características
T(2,3)B35C18
T(2,3)E(2,2)
T(2,3)R145
T(2,3)R180
T(2,3)R220
T(2,3)R270
Mínimo Gris
145
53
66
53
67
53
Máximo Gris
182
85
246
85
246
85
Media Gris
172.12
77.828
152.4
76.75
142.12
76.75
Desviación Típica
12.093
90.518
63.429
9.953
61.419
9.953
Baricentro Gris X
1371.3
665.17
1235.5
618.75
1080.8
569.62
Baricentro Gris Y
1288.5
509.45
1299.7
581.62
1166
618.75
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
T(2,3)R90
E(M2,M2)
B12C15
Mínimo Gris
69
69
53
53
53
74
Máximo Gris
237
237
85
85
85
111
Media Gris
129.78
151.83
76.75
78.529
76.75
101.38
Desviación Típica
53.519
63.848
9.953
86.983
9.953
11.629
Baricentro Gris X
913.59
1261
581.62
638.65
587.62
772.81
Baricentro Gris Y
975.59
1164
609.25
645.15
642.88
850.44
3.4 DESCRIPTORES BASADOS EN EL RECTÁNGULO
CIRCUNSCRITO
El rectángulo circunscrito [7, 13] es aquel que como su propio nombre indica rodea a la
región que contiene. Es útil ya que al igual que hemos comentado con anterioridad para el
perímetro permite realizar aproximaciones poligonales que reducen cálculos y dan una medida
estimativa óptima de la región sobre la que efectúan los cálculos.
43
Visión Artificial con IMtdi
Gráficamente se puede ver como dada un figura es circunscrita por un rectángulo de la
siguiente manera.
Primer Punto
Altura
Anchura
Figura 3–20 Rectángulo circunscrito a un arco
Esta características es independiente de la intensidad de la imagen, por lo que no le afectan
los cambios de contraste.
3.4.1
Primer Punto
Se ha comentado en apartados anteriores el primer punto de una región, ahora se
establecerá el primer punto pero para el rectángulo circunscrito. Se define como el primer
punto que se encuentra al hacer un barrido secuencial por la imagen de izquierda a derecha (en
horizontal) y de arriba abajo (en vertical) del rectángulo que rodea a una región dada. Por si sólo
este valor no tiene ningún sentido. Puede ser útil en algunas aplicaciones donde se obtengan
imágenes sobre una misma zona y se quieran apreciar de manera rápida y poco eficiente si se han
producido desplazamientos de algunas regiones.
Dominio del valor Punto(fila, columna)
•
Fila ≥ 0.
•
Columna ≥ 0.
3.4.2
Altura
La altura del rectángulo circunscrito de una región en una imagen, se define como el
número de píxeles del contorno de uno de los lados paralelo al eje y de la imagen, es decir, la
altura del rectángulo en número de píxeles.
44
Representación y descripción
Dominio del valor
•
3.4.3
Altura > 0.
Anchura
La anchura o base del rectángulo circunscrito de una región en una imagen, se define
como el número de píxeles del contorno de uno de los lados paralelo al eje x de la imagen, es
decir, la base del rectángulo en número de píxeles.
Dominio del valor
•
3.4.4
Achura > 0.
Área
El área del rectángulo circunscrito para una región se defina como el número de píxeles
encerrado en su contorno, es decir, el número de píxeles que forma o constituye el rectángulo.
Se puede definir de la siguiente manera:
Área del Rectángulo = Base × Altura
Este descriptor al igual que el comentado para una región con anterioridad suele ser útil
para analizar regiones donde no se aplican modificaciones de tamaño a los objetos. De esta
manera puede hacerlos invariantes frente a traslación, rotación y escalado.
Dominio del valor.
•
3.4.5
Área > 0.
Extendido
Este descriptor permite dar una proporción del número de píxeles encerrados en el
rectángulo circunscrito en función del área de la región. Para ello se determina mediante la
siguiente ecuación:
E( X ) =
A( X )
Area _ Re ctángulo _ Circunscrito
Ecuación 3–16 Fórmula del extendido
45
Visión Artificial con IMtdi
La proporción establecida hace invariante frente a traslaciones, rotaciones y cambios de
escala ya que la proporción se mantiene, a excepción de los errores introducidos por la rotación
digital de la región en cuestión.
Dominio del valor.
•
Extendido > 0.
3.4.6
Resultados
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
Primer Punto Rect.
(3,3)
(3,3)
(2,4)
(2,4)
(3,2)
(6,5)
Altura
5
5
6
6
6
5
Anchura
6
6
5
5
7
6
Área
30
30
30
30
42
30
Extendido
0.53333
0.53333
0.53333
0.53333
0.42857
0.53333
Características
T(2,3)B35C18
T(2,3)E(2,2)
T(2,3)R145
T(2,3)R180
T(2,3)R220
T(2,3)R270
Primer Punto Rect.
(6,5)
(6,3)
(5,5)
(6,5)
(5,5)
(5,6)
Altura
5
7
7
5
6
6
Anchura
6
8
7
6
7
5
Área
30
56
49
30
42
30
Extendido
0.53333
0.51786
0.61224
0.53333
0.59524
0.59524
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
(5,6)
(4,5)
(2,4)
(2,4)
7
6
9
12
12
6
7
5
7
10
10
Área
42
49
30
63
120
120
Extendido
0.64286
0.61224
0.53333
0.53968
0.53333
0.53333
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
Primer Punto Rect.
(4,5)
(5,5)
Altura
7
Anchura
3.5 PUNTOS EXTREMOS
Los puntos extremos [7] de una región son aquellos que la delimitan externamente de
manera aproximada al perímetro y para ello se contará con tan solo ocho puntos. El tomar estos
puntos como descriptores no dice mucho, pero para cálculos como el número de Euler puede
46
Representación y descripción
aproximar una solución en un tiempo muy inferior analizar todo el perímetro de una región ya
que si la región es muy grande el tiempo de computo se dispara exponencialmente.
No obstante el objeto se puede describir a pesar de que sufra traslación, rotación o cambio
de escala ya que se puede jugar con las distancias que se establecen entre ellos para hacerlo
invariante así como las proporciones en que se ha incrementado el objeto en el caso de sufrir un
cambio de escala, a excepción de los errores añadidos por la rotación digital de una región. Se
puede ver que son independientes de los cambios de contraste que sufra el objeto ya que no
interviene la intensidad de los puntos, aunque podría ser un aspecto a tratar en el caso de que la
aplicación en cuestión lo requiriese.
A continuación se muestran unas figuras donde se representan los puntos que serán
definidos a posteriori.
Superior-Izquierda
Superior-Derecha
Izquierda-Superior
Derecha-Superior
Izquierda-Inferior
Derecha-Inferior
Inferior-Izquierda
Inferior-Derecha
Figura 3–21 Puntos Extremos
47
Visión Artificial con IMtdi
Superior-Derecha
Superior-Izquierda
Izquierda-Superior
Derecha-Superior
Izquierda-Inferior
Derecha-Inferior
Inferior-Izquierda
Inferior-Derecha
Figura 3–22 Puntos Extremos
En las definiciones expresadas a continuación cabe decir que el orden en el que se
especifican las búsquedas de los puntos es secuencial e inamovible. Ejemplo sobre la Figura 3–
22, el punto izquierda-inferior (más a la izquierda y más abajo) no es igual al punto inferiorizquierda (más abajo y más a la izquierda), aunque en otra figura podrían coincidir.
Dominio del valor Punto(fila, columna)
•
Fila ≥ 0.
•
Columna ≥ 0.
Superior-Izquierda
El punto que se encuentra en la parte de la imagen más arriba y más a la izquierda es el
punto denotado por superior-izquierda.
Superior-Derecha
El punto superior-derecha es le que se encuentra en la parte más arriba y más a la
derecha de la región en cuestión.
Inferior-Izquierda
El punto inferior-izquierda es el punto que se encuentra en la parte más baja y más a la
izquierda de la región.
48
Representación y descripción
Inferior-Derecha
El punto inferior-derecha es el punto que se encuentra en la parte más baja y más a la
derecha de la región.
Izquierda-Superior
El punto izquierda-superior es el punto que se encuentra en la parte más a la izquierda y
más arriba de la región.
Izquierda-Inferior
El punto izquierda-inferior es el punto que se encuentra en la parte más a la izquierda y
más baja de la región.
Derecha-Superior
El punto derecha-superior es el punto que se encuentra en la parte más a la derecha y más
arriba de la región.
Derecha-Inferior
El punto derecha-inferior es el punto que se encuentra en la parte más a la derecha y más
baja de la región.
3.5.1
Resultados
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
Superior Izquierda
(3,5)
(3,5)
(2,5)
(2,5)
(3,5)
(6,7)
Superior Derecha
(3,5)
(3,5)
(2,7)
(2,7)
(3,5)
(6,7)
Inferior Izquierda
(7,5)
(7,5)
(7,6)
(7,6)
(8,5)
(10,7)
Inferior Derecha
(7,5)
(7,5)
(7,6)
(7,6)
(8,5)
(10,7)
Izquierda Superior
(5,3)
(5,3)
(5,4)
(5,4)
(5,2)
(8,5)
Izquierda Inferior
(5,3)
(5,3)
(5,4)
(5,4)
(5,2)
(8,5)
Derecha Superior
(4,8)
(4,8)
(5,8)
(5,8)
(4,8)
(7,10)
Derecha Inferior
(6,8)
(6,8)
(5,8)
(5,8)
(6,8)
(9,10)
49
Visión Artificial con IMtdi
Características
T(2,3)B35C18
T(2,3)E(2,2)
T(2,3)R145
T(2,3)R180
T(2,3)R220
T(2,3)R270
Superior Izquierda
(6,7)
(6,6)
(5,7)
(6,8)
(5,9)
(5,8)
Superior Derecha
(6,7)
(6,6)
(5,7)
(6,8)
(5,9)
(5,8)
Inferior Izquierda
(10,7)
(12,6)
(11,8)
(10,8)
(10,7)
(10,7)
Inferior Derecha
(10,7)
(12,6)
(11,9)
(10,8)
(10,8)
(10,9)
Izquierda Superior
(8,5)
(8,3)
(8,5)
(7,5)
(8,5)
(7,6)
Izquierda Inferior
(8,5)
(9,3)
(8,5)
(9,5)
(8,5)
(7,6)
Derecha Superior
(7,10)
(7,10)
(7,11)
(8,10)
(7,11)
(7,10)
Derecha Inferior
(9,10)
(10,10)
(10,11)
(8,10)
(8,11)
(7,10)
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
Superior Izquierda
(4,7)
(5,9)
(5,7)
(4,7)
(2,6)
(2,6)
Superior Derecha
(4,7)
(5,9)
(5,7)
(4,10)
(2,11)
(2,11)
Inferior Izquierda
(10,7)
(11,6)
(10,8)
(12,8)
(13,8)
(13,8)
Inferior Derecha
(10,7)
(11,9)
(10,8)
(12,9)
(13,9)
(13,9)
Izquierda Superior
(6,5)
(7,5)
(8,6)
(8,5)
(8,4)
(8,4)
Izquierda Inferior
(8,5)
(10,5)
(8,6)
(9,5)
(9,4)
(9,4)
Derecha Superior
(7,10)
(7,11)
(8,10)
(8,11)
(8,13)
(8,13)
Derecha Inferior
(9,10)
(7,11)
(8,10)
(9,11)
(9,13)
(9,13)
3.6 DESCRIPTORES BASADOS EN LA ELIPSOIDE
CIRCUNSCRITA
La elipse circunscrita [3, 15] determina la silueta que más se aproxima a una región u
objeto que se está analizando. Esta elipse viene determinada para nuestro caso hasta momentos
de segundo orden cuya representación se muestra a continuación.
50
Representación y descripción
X 2'
X 2''
X 1''
a
φ
X 1'
b
Figura 3–23 Elipsoide Circunscrita
Los parámetros que se muestran en la figura serán comentados a continuación y permiten
describirla de manera que la hace invariante frente a traslaciones y rotaciones. De hecho, si sólo
se caracteriza a la imagen con momentos de hasta segundo orden, ésta es equivalente a una elipse
homogénea (con igual nivel de gris para todos sus puntos), con un tamaño, orientación y
excentricidad definidas y centrada (centroide o punto medio de la elipse).
3.6.1
Centroide
El centroide o punto medio de la elipse en el que se cortan los dos ejes (eje mayor y eje
menor), viene descrito por las siguientes ecuaciones basadas en los momentos de orden 1 y en el
momento de orden 0.
X =
m10
m00
Y=
m01
m00
Ecuación 3–17 Fórmula del centroide para las coordenadas x e y
Dependiendo del cálculo de los momentos y teniendo en cuenta si se realiza o no mediante
el uso de los niveles de gris repercutirá en el centroide de manera que sea en función de los
píxeles que constituyen dicha región ó de los niveles de gris de la misma.
51
Visión Artificial con IMtdi
Dominio del valor
•
X ≥ 0.
•
Y ≥ 0.
3.6.2
Eje Mayor
El eje mayor es la longitud en píxeles del eje mayor del elipsoide de la región. Se calcula
mediante los momentos de segundo orden y el momento de orden 0.
a=
mt 20 + mt 02 +
(mt 20 − mt 02 )2 + 4 × mt112
mt 00
2
Ecuación 3–18 Fórmula del eje mayor
Dominio del valor
•
3.6.3
a ≥ 0.
Eje Menor
El eje menor es la longitud en píxeles del eje menor del elipsoide de la región. Se calcula
mediante los momentos de segundo orden y el momento de orden 0.
b=
mt 20 + mt 02 −
(mt 20 − mt 02 )2 + 4 × mt112
mt 00
2
Ecuación 3–19 Fórmula del eje menor
Dominio del valor
•
3.6.4
b ≥ 0.
Orientación
La orientación es el ángulo entre el eje de abcisas y el eje mayor de la elipsoide de la
región. Su ecuación viene determinada de la siguiente manera:
1
2
 2 × mt11
 mt 20 − mt 02
φ = × tg −1 



Ecuación 3–20 Fórmula para la orientación de la elipse
52
Representación y descripción
Existe una ambigüedad en la determinación del ángulo φ a partir de la fórmula anterior, la
cual puede evitarse de varias formas, entre otras:
1. Eligiendo φ de tal forma que esté sea el ángulo entre el eje X y el semieje mayor a.
2. Eligiendo el valor principal de la función tg –1, es decir:
π
−π
≤ tg −1 ( x) ≤
2
2
Ecuación 3–21 Rango de valore de la inversa de la tangente
Con estas convenciones, obtenemos para φ los valores de la tabla que se muestra a
continuación.
mt 20 − mt 02
mt11
φ
Cero
Cero
0º
Cero
Positivo
45º
Cero
Negativo
-45º
Positivo
Cero
0º
Negativo
Cero
90º
Positivo
Positivo
1 −1
tg α
2
0º < φ < 45º
Positivo
Negativo
1 −1
tg α
2
- 45º < φ < 0º
Negativo
Positivo
 1 −1 
 tg α  + 90º
2

45º < φ < 90º
Negativo
Negativo
 1 −1 
 tg α  − 90º
2

-90º < φ < - 45º
Rangos
Esta tabla determina el ángulo de inclinación de la elipse en función de los distintos signos
de los momentos de segundo orden.
3.6.5
Excentricidad
La excentricidad mide como se adapta la elipse a la figura o región en cuestión, es decir,
el grado de semejanza de la elipse respecto a dicha región. Se define mediante la siguiente
ecuación:
53
Visión Artificial con IMtdi
 (mt 20 − mt 02 )2 + 4 × mt11 

Excentricidad = 

mt
00


Ecuación 3–22 Fórmula de la excentricidad de la elipse
La excentricidad se puede definir como el grado de la distancia entre el centro de la elipse
y la longitud del eje mayor. El valor se encuentra entre 0 y 1. (0 y 1 hace referencia a casos
aislados; una elipse cuya excentricidad es cero es un circulo, mientras que una elipse cuyo valor
es 1 es un segmento de línea).
Dominio del valor
•
3.6.6
Excentricidad ≥ 0.
Grado de Circunscripción (Irradiance)
El grado de circunscripción de la elipsoide de una imagen mide si la elipse está fuera del
objeto es 0, en cambio si se encuentra dentro de este, el valor se obtiene como se determina en la
siguiente formula.
Irradiance =
mt 00
π ×a×b
Ecuación 3–23 Fórmula del grado de circunscripción de la elipse
Dominio del valor
•
3.6.7
Grado de Circunscripción ≥ 0.
Resultados
Características
Centroide
Prueba4
P4B21C21
(49.38,54.21) (49.53,54.57)
R90
R90B35C18
R90E(1,1)
T(2,3)
(45.78,59.38)
(52.24,53.10)
(50.84,51.95)
(79.38,74.21)
Eje Mayor
28.682
29.039
28.682
18.539
31.638
28.682
Eje Menor
19.748
19.831
19.748
13.042
22.665
19.748
Orientación
-15.682
0.0059788
0.39633
-15.333
-15.648
-1.569
Excentricidad
1436.5
2601.7
1436.6
6.003
2028.5
1436.5
Irradiance
69.011
113.64
69.011
76.358
61.037
69.011
54
Representación y descripción
Características
T(2,3)
T(2,3)E(2,2)
T(2,3)R145
T(2,3)R180
T(2,3)R220
T(2,3)R270
(80.61,75.78)
(76.04,82.04)
(74.21,80.61)
B35C18
Centroide
(7.96,74.85) (85.46,65.45) (81.06,85.28)
Eje Mayor
29.313
39.215
38.291
28.682
35.687
28.682
Eje Menor
19.876
25.772
30.978
19.748
25.762
19.748
Orientación
-15.372
0.80781
-15.648
-13.642
0.0059788
0.32484
Excentricidad
3708.8
10717
17.247
1436.5
6925.9
1436.6
Irradiance
150.46
71.086
122.69
69.011
123.01
69.011
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)
B12C15
Centroide
(70.39,75.17)
(83.05,76.66) (75.78,79.38) (81.32,82.15) (76.56,83.76)
(76.23,8.38)
Eje Mayor
32.511
41.986
28.682
42.683
58.229
58.596
Eje Menor
28.831
28.342
19.748
29.512
40.742
40.786
Orientación
-0.81821
0.0059788
-0.029832
-0.029832
0.0059788
0.0042069
Excentricidad
708.22
107.94
1436.6
15035
91941
1.27E+09
Irradiance
118.99
121.85
69.011
67.47
65.906
86.414
3.7 DESCRIPTORES TOPOLÓGICOS
Los descriptores topológicos [6, 10, 13] como su propio nombre indica hacen referencia las
características externas del contorno de los objetos (o regiones) extraídos de una imagen. Estas
características de un objeto van desde la curvatura de la región hasta el número de huecos
internos pasando por la lista de regiones que le son adyacentes. Para ello se ha elegido un
subconjunto de estos descriptores que se comentarán a continuación.
3.7.1
Lista de Vecinos
La lista de vecinos se puede definir como el conjunto de regiones disjuntas adyacentes a
una dada. La adyacencia va a estar determinada como se trato de introducir en el perímetro, por
un parámetro denominado vecindad. Los tipos de vecindad que pueden existir son los siguientes:
55
Visión Artificial con IMtdi
Figura 3–24 Cuatro vecidad
Figura 3–25 Ocho vecindad
De forma más ilustrativa y teniendo en cuenta que las imágenes son en realidad matrices
para el caso discreto en la representación realizada mediante un ordenador. La representación
que se toma a continuación puede ser más especifica para nuestro caso.
z1 z2 z3
z1
z2
z3
z4
z4
z5
Z6 z7 z8
Tabla 3–3 Representación de 4-vecindad y 8-vecindad
La lista de vecinos va a estar condicionada por la vecindad seleccionada para cada uno de
los puntos que conforman el perímetro y que van a ser analizados. Para una región dada y a partir
de su perímetro se obtiene una lista de las regiones adyacentes que existen.
Un ejemplo para mostrar el funcionamiento puede realizarse en base a la siguiente figura.
56
Representación y descripción
Figura 3–26 Imagen con regiones adyacentes
La lista de adyacencias es la que se muestra a continuación.
Región: 1
Adyacentes: 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9.
Región: 2
Adyacentes: 1.
Región: 3
Adyacentes: 1 -> 8.
Región: 4
Adyacentes: 1 -> 5 -> 6.
Región: 5
Adyacentes: 1 -> 4.
Región: 6
Adyacentes: 1 -> 4.
Región: 7
Adyacentes: 1.
Región: 8
Adyacentes: 1 -> 3 -> 9.
Región: 9
57
Visión Artificial con IMtdi
Adyacentes: 1 -> 8.
3.7.2
Descripción del perímetro
La lista del perímetro se obtiene de manera similar al cálculo del perímetro solo estriba en
la diferencia que en realidad lo que almacenamos no es un valor incremental, sino una sucesión
de valores definidos por (x,y) en donde x representa el índice de las filas de la matriz (imagen a
la que hace referencia para el caso discreto definido por un computador) e y las columnas de
dicha matriz. De esta forma es posible recorrer el perímetro de una región mediante una previa
ordenación y determinar múltiples características que se expresan en los siguientes apartados de
manera fácil y rápida simplemente recorriendo una lista que contiene los índices de las
posiciones de los distintos puntos que conforman el perímetro, evitando así la búsqueda en la
imagen de los distintos puntos, ahorra tiempo de computo.
Un posible ejemplo de funcionalidad sería para el archivo ‘Prueba4.bmp’ donde la lista del
perímetro sería la siguiente.
Región 1: sucesión de puntos del perímetro.
(3,5) (4,4) (6,4) (4,8) (5,3) (5,7) (5,8) (6,4) (6,6) (6,8) (7,5)
3.8 DESCRIPTORES GLOBALES. TEORÍA DE MOMENTOS
Los momentos definidos a partir de integrales, darán información acerca de las
características globales de las formas, es decir, el análisis se puede considerar estadístico y
sintáctico a la vez.
La teoría de los Momentos [3] se aplicó por primera vez al reconocimiento de formas
bidimensionales por Hu (1962). Hu obtuvo un sistema completo de invariantes frente a
traslaciones, rotaciones y homotecias, a partir de los momentos.
3.8.1
Definición de momentos. Función característica
Una imagen bidimensional se puede representar a partir de una función de distribución
f(x,y), mediante un par de ejes fijos. Para el caso de una imagen en blanco y negro la función de
distribución o intensidad del píxel de una imagen coincidiría con los niveles de gris de la misma.
De esta manera se define el “método de los momentos” como una representación de los
momentos espaciales de la función de distribución de una imagen dada. El momento
generalizado jk, de orden j+k, se define de la forma:
58
Representación y descripción
∞ ∞
∫ ∫N
m jk =
jk
( x, y ) f ( x, y )dxdy
− ∞− ∞
Ecuación 3–24 Fórmula de los momentos generalizados
donde N jk ( x, y ) es una función general de x e y.
El estudio se va a centrar sobre los momentos ordinarios, es decir:
m jk =
∞ ∞
∫ ∫x
j
y k f ( x, y )dxdy j, k= 0, 1, 2, ...
− ∞− ∞
Ecuación 3–25 Fórmula de los momentos ordinarios
Si f(x,y) es continua , acotada y puede tomar valores distintos de cero sólo en la parte finita
del plano xy, entonces existen momentos de cualquier orden y se verifica el siguiente teorema:
Teorema de Unicidad: (Papoulis 1.965)
La secuencia de momentos { m jk } está unívocamente determinada por f(x,y) e,
inversamente, f(x,y) está unívocamente determinada por { m jk }. Es decir, podemos sustituir una
descripción basada en f(x,y) correspondiente a un conjunto infinito de intensidades, por una
descripción equivalente { m jk }, un conjunto infinito de momentos, y viceversa. La conexión
entre ambas descripciones puede realizarse a través de la función característica de f(x,y) , o
mediante la función generadora de los momentos definidas de la siguiente forma.
φ (u, v) =
∞ ∞
∫ ∫ exp(iux + ivy) f ( x, y)dxdy
− ∞− ∞
Ecuación 3–26 Función Característica
M (u , v) =
∞ ∞
∫ ∫ exp(ux + vy) f ( x, y )dxdy
− ∞− ∞
Ecuación 3–27 Función generadora de momentos
Donde u y v son números reales e i = − 1 . Ambas funciones son bastante usadas en
Estadística Matemática. Si la función característica φ (u , v) , la cual es en esencia la +i
Transformada de Fourier, es conocida, f(x,y) puede obtenerse de la forma que veremos a
continuación.
59
Visión Artificial con IMtdi
Si existen momentos de cualquier orden, φ (u , v) puede ser desarrollada en serie tras
derivarla en el origen,
∞ ∞
∂ j+k
φ (0,0) = φ uvjk (0,0) = ∫ ∫ i j + k x j y k f ( x, y )dxdy
j
k
∂ u∂ v
− ∞− ∞
con lo cual, φ (u , v) puede ser expresada como:
i j+k j k
u v m jk
j = 0 k = 0 j! k!
∞
∞
φ (u, v) = ∑∑
y f(x,y) puede calcularse a partir de la fórmula de inversión:
f ( x, y ) =
3.8.2
1
(2π ) 2
∞ ∞
∫ ∫ exp(−iux − ivy )φ (u, v)dudv
− ∞− ∞
Propiedades de los momentos de bajo orden
Los momentos de orden cero m00 , representan el área total de la imagen.
Los momentos de primer orden m10 y m01 , localizan el centro de gravedad de f(x,y), donde
sus coordenadas son como se ha comentado en los descriptores basados en la elipsoide
circunscrita. Su formula se especifica en el centroide de la elipsoide.
Los momentos de segundo orden:
m20 =
∞ ∞
∫ ∫x
2
f ( x, y )dxdy
− ∞− ∞
m11 =
∞ ∞
∫ ∫ xyf ( x, y )dxdy
− ∞− ∞
m02 =
∞ ∞
∫ ∫y
2
f ( x, y )dxdy
− ∞− ∞
Determinan el tamaño y la orientación de la imagen. De hecho, si sólo se caracteriza a la
imagen con momentos de hasta segundo orden, ésta es equivalente a una elipse homogénea (con
igual nivel de gris para todos sus puntos), con un tamaño, orientación y excentricidad definidas y
centrada en ( X , Y ) . Los parámetros característicos de esta elipse respecto de los ejes localizados
en ( X , Y ) son los determinados como semieje menor, mayor y el ángulo de inclinación de la
misma, definidos en el apartado de descriptores basados en la elipse circunscrita.
60
Representación y descripción
3.8.3
Momentos de Inercia
Los momentos de Inercia [10] nos permiten describir características globales de una región
analizada dado que su propia definición engloba al área que se encuentra encerrada en la integral
para el caso continuo.
Dominio del valor
•
M 1 X , M 1Y , M 2 X , M 2Y , M 2 XY y EC ∈ ℜ .
Momentos de Inercia de Orden 1
Los momentos de primer orden permiten definir el baricentro o centro de gravedad de una
región para nuestro caso centrada en los niveles de gris. Se definen de la siguiente manera:
M 1X =
1
xdxdy
A( X ) ∫X
y
M 1Y =
1
ydxdy
A( X ) ∫X
Para el caso discreto las integrales se convierten a sumatorias dando lugar a las siguientes
fórmulas:
M 1X =
1
∑ xi
A( X ) X
y
M 1Y =
1
∑ yj
A( X ) X
donde A(X) es el área y ( xi , y j ) es un punto del objeto en cuestión.
Momentos de Inercia de Orden 2
Los momentos de segundo orden se definen para el caso continuo como:
M 2X =
1
( x − M 1 X ) 2 dxdy
∫
A( X ) X
M 2Y =
1
( y − M 1Y ) 2 dxdy
∫
A( X ) X
M 2 XY =
1
( x − M 1 X )( y − M 1Y )
A( X ) ∫X
Los momentos de segundo orden son definidos en el caso discreto como:
61
Visión Artificial con IMtdi
M 2X =
1
( xi − M 1 X ) 2
∑
A( X ) X
M 2Y =
1
( y j − M 1Y ) 2
∑
A( X ) X
M 2 XY =
1
∑ ( xi − M 1 X )( y J − M 1Y )
A( X ) X
La orientación es definida como la dirección de su eje mayor de inercia. Se obtiene como
el vector de valor más largo de la matriz de inercia:
 M 2 x M 2 xy 
M =

 M 2 xy M 2 y 
Esta es una buena característica de orientación para objetos simples y muy convexos. El
resultado obtenido se encuentra definido entre
π
−π
≤φ ≤ .
2
2
Excentricidad
Las excentricidad se denota de la siguiente manera:
EC ( X ) = (4π ) 2
( I 1 − I 2 ) 2 (4π ) 2 ( M 2 X − M 2Y ) 2 + 4M 22XY
=
A2 ( X )
A2 ( X )
donde I 1 e I 2 son los valores de la matriz de inercia.
Un disco o una cruz tiene una excentricidad I 1 = I 2 .La excentricidad incrementa con la
diferencia entre los valores de la diagonales, y así caracteriza la elongación de los objetos.
También indica in algunos casos la dirección principal, correspondiendo a un valor grande y otro
pequeño, por ejemplo:
( I 1 − I 2 ) 2 tiene un valor alto, a través de dos direcciones ortogonales significa dos valores
altos y la diferencia pequeña para ( I 1 − I 2 ) 2 .
62
Representación y descripción
Resultados
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
M 1x
55.625
55.625
6
6
53.333
75.625
M 1y
5
5
44.375
44.375
51.667
8
M 2x
22.461
22.461
1
1
26.667
22.461
M 2y
1
1
22.461
22.461
13.611
1
M 2 xy
0
0
0
0
-0.055556
0
0.95781
0.95781
0.95781
0.95781
0.83078
0.95781
Excentricity
Características
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
M 1x
75.625
66.897
8.4
74.375
8.2
8
M 1y
8
86.207
81.333
8
7.68
75.625
M 2x
22.461
40.761
27.733
22.461
2.56
1
M 2y
1
17.527
24.489
1
16.576
22.461
M 2 xy
0
-0.083234
0.61333
0
-0.416
0
0.95781
10.137
0.020142
0.95781
0.20686
0.95781
Excentricity
63
Visión Artificial con IMtdi
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
T(2,3)R90
E(M2,M2)
B12C15
M 1x
75.556
76.333
8
82.941
8.5
8.5
M 1y
71.111
82.667
74.375
79.706
7.375
7.375
M 2x
20.988
28.322
1
22.076
4.25
4.25
M 2y
23.951
25.956
22.461
49.109
92.344
92.344
M 2 xy
0.2716
-0.90222
0
-0.109
0
0
0.019422
0.013445
0.95781
0.99831
0.95781
0.95781
Excentricity
3.8.4
Momentos invariantes de Hu
Como se ha comentado anteriormente [2, 3, 4, 12, 17], para una función continua
bidimensional f(x,y), el momento de orden (j+k) está definido por
m jk =
∞ ∞
∫ ∫x
j
y k f ( x, y )dxdy j, k= 0, 1, 2, ...
− ∞− ∞
Ecuación 3–28 Momentos ordinarios
El teorema de la unicidad definido anteriormente establece que si f(x,y) es
aproximadamente continua y posee valores distintos de cero en una parte finita del plano xy,
existen momentos de cualquier orden y la secuencia de momentos ( m jk ) está determinada por
f(x,y). Inversamente se puede definir los momentos de cualquier orden ( m jk ) que están
determinados por f(x,y). Todo esto nos permite deducir que es posible definir una imagen por un
conjunto extenso de sus momentos. En cambio y como se mostrará, no solo con los momentos de
HU sino con el resto de momentos definidos por distintos autores, se puede caracterizar a una
imagen a través de un conjunto reducido de momentos normalizados frente a distintos tipos de
transformaciones.
Los momentos centrales se pueden definir mediante la siguiente expresión:
µ jk =
∞ ∞
∫ ∫ (x − X )
j
( y − Y ) k f ( x, y )dxdy
− ∞− ∞
Ecuación 3–29 Momentos centrales para el caso continuo
64
Representación y descripción
donde X =
m10
m
Y = 01 son las coordenadas del centro de gravedad de la imagen.
m00
m00
Estos momentos son invariantes frente a traslaciones del objeto en el espacio, es decir, los
momentos son los mismos siempre y cuando el objeto se haya traslado de lugar sin efectuar otra
modificación distinta del desplazamiento de las coordenadas del mismo.
Al convertir estos momentos definidos en el caso continuo al caso discreto, que es el caso
de las imágenes digitales, los momentos centrales se convierten de una doble integración a una
doble sumatoria:
µ jk = ∑∑ ( x − X ) j ( y − Y ) k f ( x, y )dxdy
x
y
Ecuación 3–30 Momentos centrales para el caso discreto
A continuación se muestra un resumen que puede ayudar a la hora de calcular los
momentos centrales en función de los momentos ordinarios.
µ 00 = m00
µ10 = 0
µ 01 = 0
µ11 = m11 − ym10
µ 20 = m20 − xm10
2
µ12 = m12 − 2 ym11 − xm02 + 2 y m10
µ 30 = m30 − 3xm20 + 2m10 x
2
µ 02 = m02 − ym01
2
µ 21 = m21 − 2 xm11 − ym20 + 2 x m01
2
µ 03 = m03 − 3 ym02 + 2 y m01
Una vez obtenidos los momentos centralizados es necesario normalizarlos frente a
homotecias, es decir, frente a transformaciones del siguiente tipo:
 x'  α
 y ' = 0
  
0  x 
×
α   y 
La normalización más utilizada frente a las homotecias, es trabajar con nuevos momentos:
µ jk
η jk =
µ
 j +k +2 


 2 
00
j, k= 2, 3, ...
Ecuación 3–31 Momentos centralizados y normalizados
Estos momentos son ahora invariantes frente a traslaciones y a homotecias, es decir, a
invariantes desplazamientos tanto en el eje x como en el eje y, así como invariantes a cambios de
escala siempre y cuando se aplique la misma constante de escalado a la componente x e y de la
65
Visión Artificial con IMtdi
imagen, en nuestro caso el factor α . A estos momentos se les suele denominarse momentos
centrales normalizados.
A continuación se trata de normalizar estos momentos obtenidos invariantes frente a
traslaciones y homotecias para que puedan ser indiferentes frente a rotaciones. Para ello se define
lo que se denomina “Método del los invariantes absolutos”. Este método fue definido por Hu en
base a la teoría de los invariantes algebraicos, donde obtuvo un conjunto de funciones invariantes
frente a traslaciones, homotecias y rotaciones. Estas funciones se centran en los momentos
centrales normalizados, así para definir momentos de orden p, existen p+1 de éstos invariantes.
De los momentos de segundo y tercer orden se pueden derivar un conjunto de siete invariantes.
φ1 = η 20 + η 02
φ 2 = (η 20 − η 02 )2 + 4η112
φ 3 = (η 30 + 3η12 )2 + (3η 21 − η 03 )2
φ 4 = (η 30 + η12 )2 + (η 21 + η 03 )2
[
]
φ 5 = (η 30 − 3η12 )(η 30 + η12 ) (η 30 + η12 )2 − 3(η 21 + η 03 )2 +
(3η 21 − η 03 )(η 21 + η 03 )[3(η30 + η12 )2 − (η 21 + η 03 )2 ]
[
φ 6 = (η 20 − η 02 )(η 30 − η12 )2 − (η 21 − η 03 )2
+ 4η 211 (η 30 + η12 )(η 21 + η 03 )
[
]
]
φ 7 = (3η 21 − η 30 )(η 00 + η12 ) (η 30 + η12 )2 − 3(η 21 + η 03 )2 +
(3η12 − η 03 )(η 21 + η 03 )[3(η30 + η12 )
2
− (η 21 + η 03 )
2
]
Ecuación 3–32 Los invariantes de Hu
El invariante 7 es en realidad un pseudoinvariante, ya que cambia de signo al someter la
imagen a reflexiones, por lo que resulta útil para distinguir imágenes especulares(es decir,
cuando la imagen es vista como si fuese a través de un espejo).
66
Representación y descripción
Dominio del valor
•
φ1 , φ 2 , φ 3 ,
φ4 , φ 5 , φ 6 y φ 7
∈ℜ.
Resultados
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
φ1
0.0024687
0.0015036
0.0024687
0.022146
0.0027539
0.0024687
φ2
7.76E-03
2.99E-03
7.76E-03
5.60E-02
7.85E-03
7.76E-03
φ3
1.41E-05
3.10E-06
3.85E-06
4.22E-02
4.96E-07
1.41E-05
φ4
6.49E-06
1.31E-06
6.49E-06
2.10E-03
1.53e-10
6.49E-06
φ5
6.10E-15
2.61E-16
-1.52E-15
-3.92E-09
-2.10E-15
6.10E-15
φ6
5.67E-10
7.13E-10
5.67E-10
1.55E-05
-4.27E-10
5.67E-10
φ7
-1.72E-16
-4.23E-18
-4.12E-15
3.12E-10
-4.44E-16
-1.72E-16
Características
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
φ1
0.0011386
0.0024391
0.0013265
0.00224687
0.0013631
0.0024687
φ2
1.78E-03
9.36E-03
7.67E-04
7.76E-03
1.84E-03
7.76E-03
φ3
1.30E-07
8.42E-07
7.78E-07
1.41E-05
6.56E-08
3.85E-06
φ4
5.08E-07
6.53E-07
1.13E-08
6.49E-06
3.07E-08
6.49E-06
φ5
4.10E-17
-8.62E-17
5.96E-20
6.10E-15
1.31E-20
-1.52E-15
φ6
2.13E-10
1.83E-10
2.62E-11
5.67E-10
1.03E-11
5.67E-10
φ7
-3.82E-19
2.73E-17
-3.38E-18
-1.72E-16
2.04E-19
-4.12E-15
67
Visión Artificial con IMtdi
Características
3.8.5
T(2,3)R315
T(2,3)R45
T(2,3)R90
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
φ1
0.0013472
0.0014084
0.0024687
0.0025213
0.0025705
0.001964
φ2
2.59E-04
2.77E-03
7.76E-03
7.93E-03
7.76E-03
4.65E-03
φ3
3.89E-07
1.24E-06
3.85E-06
1.17E-05
3.85E-06
1.59E-06
φ4
1.48E-07
1.23E-07
6.49E-06
3.36E-06
6.49E-06
2.76E-06
φ5
-9.21E-18
3.04E-18
-1.52E-15
-9.87E-16
-1.52E-15
-2.86E-15
φ6
2.39E-11
5.81E-11
5.67E-10
2.96E-09
5.67E-10
1.87E-09
φ7
-1.77E-18
4.04E-19
-4.12E-15
-2.83E-15
-4.12E-15
-7.54E-16
Momentos de Zernike
Al conjunto de funciones que presentan la propiedad de un comportamiento simple frente a
rotaciones y con la función de pesos unidad se les denomina como polinomios de Zernike [2, 3,
4, 8, 12, 14, 17]. Son usados frecuentemente en el tratamiento de aberraciones ópticas. Se trata
de polinomios compuestos por dos variables reales x e y, Vnl ( x, y ) , cuya expresión en
coordenadas polares es la siguiente:
Vnl ( x, y ) = Vnl ( ρsenϑ , ρ cos ϑ ) = Rnl ( ρ )e ilϑ
Ecuación 3–33 Polinomios de Zernike
Estas funciones son completas dentro del círculo unidad y satisfacen la relación siguiente:
∫∫ dxdy[V
l
n
]
( x, y ) × Vmk ( x, y ) =
π
(n + 1)δ mn δ kl
Ecuación 3–34 Igualdad polinomios de Zernike
donde ahora la integración se realiza sobre el círculo unidad x 2 + y 2 ≤ 1 . Además, se
considerará siempre solo imágenes que desaparecen fuera del círculo unidad, y será limpiadas
desde el contexto si la región integrada está fuera del círculo unidad o de los márgenes definidos:
x ∈ (-1,+1) ; y ∈ (-1,+1) , o si en realidad no importa cual sea la región elegida. Hay que tener en
cuenta que ϑ es el ángulo entre el radio del vector ρ y el eje y, mientras φ (ángulo de la
elipsoide) es el ángulo entre ρ y el eje x.
68
Representación y descripción
Sujeto a las limitaciones establecidas por los momentos de Legendre (será comentado en el
apartado de la definición de los momentos tensoriales), la función de irradiación de la imagen
debe ser aproximada mediante:
f ( x, y ) = ∑∑ Anl Vnl ( ρ ,ϑ )
n
l
Ecuación 3–35 Función de irradiación
donde n = 0,1,2,...,∞ y l toma valores enteros positivos y negativos dependiendo de la siguiente
condición:
n - | l | es par, | l | < n.
Los momentos complejos de Zernike se definen como:
Anl =
n +1
π
∫∫ f ( x, y)[V
l
n
]
( ρ , ϑ ) * dxdy = ( An−l ) *
Ecuación 3–36 Momentos complejos de Zernike
en el segundo igual se le quita el signo ya que f es real y Rn− l = Rnl . La función Rnl ( ρ ) de la
ecuación Ecuación 3–33 es real, y la función de intensidad de la imagen f(x,y) es también real, es
a menudo conveniente trabajar con expansiones de los reales y valores reales de los momentos
de Zernike.
La expansión real correspondiente a la Ecuación 3–35 es:
f ( x, y ) = ∑∑ (C nl cos lϑ + sin lϑ ) Rnl ( ρ )
n
l
Ecuación 3–37 Ampliación de la función de irradianción
donde l ahora toma solo valores positivos en la integral sujeta a laEcuación 3–36.
Los momentos reales de Zernike:
C nl   2n + 2 
cos lϑ 
dxdyf ( x, y ) Rnl ( ρ ) 
 l=

∫∫

 senlϑ 
Sn   π 
Ecuación 3–38 Momentos reales de Zernike
para l distinto de cero y
C n0 = An0 =
1
dxdyf ( x, y ) R
π ∫∫
0
n
(ρ)
Ecuación 3–39 Momentos complejos de Zernike
mientras
69
Visión Artificial con IMtdi
S n0 = 0 .
La relación entre los momentos reales y complejos de Zernike ( l > 0):
C nl = 2 Re( Anl )
S nl = −2 Im( Anl )
C nl − iS nl
A =
= ( Anl ) *
2
l
n
Ecuación 3–40 Relación entre los momentos reales y complejos de Zernike
Relación entre los momentos de Zernike y los ordinarios
Los momentos de Zernike pueden ser calculados a través de los momentos µ kj , mediante
una aplicación práctica. Los polinomios radiales tienen la siguiente forma:
n
Rnl ( ρ ) = ∑ Bnlk ρ k
k =1
Ecuación 3–41 Polinomios radiales
donde n-k son un número par y el coeficiente Bnlk se obtiene en la Referencia[M.Born and E.
Wolf, Principles of Optics(Pergamon, New York,1975)]. A partir de la Ecuación 3–41 y la
Ecuación 3–36, obtenemos la siguiente función:
 q  l 
 n + 1 n q l
Anl = 
(−i ) m    Bnlk × µ k − 2−l + m, 2 j + l − m
∑∑∑

 π  k =l j = 0 m = 0
 j  m 
donde q =
casos:
70
k −l
. Para las referencias propuestas al final nos vamos a remitir a los siguientes
2
Representación y descripción
A00 =
µ 00 1
=
π
π
A11 = A1−1 = 0
A22 =
A20 =
A33 =
A31 =
A44 =
A42 =
A40 =
3( µ 02 − µ 20 − 2iµ11 )
π
3(2 µ 02 + 2 µ 20 − 1)
π
4[µ 03 − 3µ 21 + i (µ 30 − 3µ12 )]
π
12[µ 03 + µ 21 − i (µ 30 + µ12 )]
π
5[µ 40 − 6 µ 22 + µ 04 + 4i (µ 31 − µ13 )]
π
5[4(µ 04 − µ 40 ) + 3(µ 02 − µ 02 ) − 2i[4(µ 31 + µ13 ) − 3µ11 ]]
π
5[6(µ 40 + 2 µ 22 + µ 04 ) − 6(µ 20 + µ 02 ) + 1]
π
Comportamiento bajo rotación
La rotación de las imágenes se va a efectuar a través del ángulo ϑ0 . En la simetría de
operaciones, esto se correspondería con la transformación a las nuevas coordenadas:
x' = x cos ϑ0 − y sin ϑ0
y ' = x sin ϑ0 + y cos ϑ0
En lugar de este punto de vista, se usa un conjunto de coordenadas del plano de imagen y
en lugar de la imagen rotada la función del grado de circunscripción (irradiance) de la imagen
original f ( ρ , ϑ ) para que sea devuelta en la rotación
f ' ( ρ ,ϑ ) = f ( ρ ,ϑ − ϑ0 )
y el nuevo momento de Zernike es
 n + 1
( Anl )' = 
 ∫∫ ρdρdϑf ( ρ , ϑ − ϑ 0 ) × Rnl ( ρ ) exp(−ilϑ )
 π 
por lo que la formula puede quedar de la siguiente manera:
71
Visión Artificial con IMtdi
( Anl )' = Anl exp(−ilϑ )
Así, los momentos de Zernike tienen una propiedades de transformación rotacional simple;
cada (complejo) momento de Zernike meramente adquiere un factor de la fase en rotación. Es
correcto encontrar que la transformación del momento de Zernike real como
(C nl )' = C nl cos lϑ0 − S nl sin lϑ0 ,
(S nl )' = C nl sin lϑ0 + S nl cos lϑ0
Comportamiento bajo reflexión
Un verdadero descriptor invariante (escalar) se mantiene indiferente frente a cambios por
reflexión mientras que un pseudo-invariante (pseudo-escalar) puede cambiar de signo. Esto es
como tener un objeto y su imagen en un espejo, el cual produce el mismo invariante, pero deben
ser distinguidos si buscamos un pseudo-invariante.
Considerando el caso general de reflexión mediante una línea a través del origen, rotado
mediante el ángulo positivo ϑ0 respecto al eje y. El punto de la imagen (x,y) es el siguiente:
x' = − x cos 2ϑ0 − y sin 2ϑ0
y ' = − x sin 2ϑ0 + y cos 2ϑ0
Se debe tener en cuenta que esta transformación P es en si misma inversa, P2 = 1, y tiene
determinante negativo. El hecho que esta transformación dependa de 2 ϑ0 es consecuencia de la
reflexión lineal no teniendo una única dirección: no varia por una rotación de 180º.
La intensidad de la imagen f(x,y) es modificada por la reflexión a
f ( x, y )' = f ( x' , y ' )
y se corresponde con los siguientes parámetros:
ρ'= ρ
ϑ ' = 2ϑ0 − ϑ
El nuevo momento de Zernike es:
 n + 1
( Anl )' = 
 ∫∫ dxρdyf ( x, y ) Rnl ( ρ ) × exp(−il (2ϑ 0 −ϑ ))
 π 
ó
( Anl )' = Anl exp(−i 2lϑ0 )
y se corresponde con los momentos reales de Zernike mediante la transformación
72
Representación y descripción
(C nl )' = C nl cos 2lϑ0 + S nl sin 2lϑ0 ,
(S nl )' = C nl sin 2lϑ0 − S nl cos 2lϑ0
Momentos Invariantes y Pseudo-Invariantes
La combinación de descriptores debe permitir hacer invariante a un objeto frente a cambios
de escala, desplazamientos laterales y orientación. El trabajo con momentos de Zernike
complejos:
Anl = Anl exp(−iφ nl )
y los resultados básicos sobre los que se han comenzado a aplicar son comportamiento bajo
rotación y reflexión de los momentos de Zernike.
2
Los primeros dos verdaderos invariantes son A00 y A11 , A1, −1 = A11 , pero estos son
fáciles y no merece la pena hacer más hincapié en ellos.
En segundo orden tenemos:
S1 = A20
S 2 = A22 A2, −2 = A22
2
los cuales se mantienen invariantes frente a cualquier transformación ortogonal, propia o
impropia.
En tercer orden tenemos que trabajar con cuatro momentos A33 , A31 , A3, −1 , A3, −3 .Los
siguientes invariantes son:
S 3 = A33
2
S 4 = A31
2
El máximo número posible de invariantes de tercer orden independientes es obviamente
cuatro porque, a estas alturas, dado los invariantes, podríamos resolver para los momentos. Para
qué buscar dos momentos de tercer orden invariantes. Uno podría pensar un termino como
A33 ( A3, −1 ) = A33 [( A31 ) *]
3
3
serviría como un invariante adicional. Esto tiene dos puntos de vista: mientras es invariante
rotacionalmente, bajo una transformación impropia, cambia a
73
Visión Artificial con IMtdi
( A33 ) * ( A31 )3
En adición, ambos de estos términos son complejos. Sin embargo, un tercero verdadero,
valor real, escalar es obviamente la suma de esto dos:
S 5 = A33 [( A31 ) *] + c.c. = 2 A33 A31 cos(φ 33 − 3φ 31 )
3
3
donde c.c es el complejo conjugado del término precedente. El primer pseudo-escalar usando la
diferencia
{
}
P1 = −i A33 [( A31 ) *] + c.c. = 2 A33 A31 sin (φ 33 − 3φ 31 )
3
3
Ningún invariante independiente existe usando solo momentos de tercer orden. Sin
embargo, mediante la combinación de invariantes de tercer y segundo orden podemos obtener
invariantes independientes:
S 6 = ( A31 ) ( A22 ) * + c.c. = 2 A31 A22 cos(2φ 31 − φ 22 )
2
2
A estas alturas debemos establecer el hecho importante que se obtiene de S 3 a través de S 6 ,
es decir, no podemos resolver para cuatro momentos de tercer orden porque φ 22 también aparece.
Siempre ocurren demasiados ángulos de fase para permitir uno para resolver los momentos,
mediante los invariantes. Esto, sin embargo, sólo corresponde al grado de libertad rotatoria del
plano de la imagen. Es decir, mientras estamos construyendo invariantes válidos, no podemos
invertir los invariantes definidos en las ecuaciones para encontrar los momentos hasta haber
especificado la orientación en el plano de la imagen. Estos comentarios son fundamentales para
la determinación de si un conjunto de invariantes han sido construidos de manera que sean
funcionalmente independientes. Para el ejemplo, en contra posición a S 6 , puede ser:
( A33 )2 [( A22 ) *]3 + c.c. = 2 A33 2 A22 3 cos(2φ 33 − 3φ 22 )
donde es un verdadero invariante, pero no ambos a la vez.
Ahora consideremos momentos de orden 4º A44 , A42 , A40 , A4, −2 , A4, −4 . A continuación se
muestran los invariantes obtenidos:
74
Representación y descripción
S 7 = A44
2
S 8 = A42
2
S 9 = A40
S10 = ( A44 ) * ( A42 ) + c.c. = 2 A44 A42 cos(φ 44 − 2φ 42 )
2
2
S11 = A42 ( A22 ) * +c.c. = 2 A42 A22 cos(φ 42 − φ 22 )
Para los momentos de orden 5º A55 , A53 , A51 , A5, −1 , A5, −3 , A5, −5 . De estos se extraen seis
invariantes.
S12 = A55
2
S13 = A53
2
S14 = A51
2
( A55 ) *3 ( A53 )5 + c.c. = 2 A55 3 A53 5 cos(3φ 55 − 5φ 53 )
( A55 ) * ( A51 )5 + c.c. = 2 A55
A51 cos(φ 55 − φ 51 )
( A53 ) * ( A51 )3 + c.c. = 2 A53
A51 cos(φ 53 − 3φ 51 )
5
3
De estos tres últimos que dependen de los cinco anteriores podemos obtener los siguientes
tres invariantes.
S15 = ( A51 ) * A31 + c.c.
S16 = ( A53 ) * A33 + c.c.
S17 = ( A55 ) * ( A31 ) + c.c.
5
Como regla general, se deben de construir con el menor número posible de invariantes de
Zernike.
Finalmente, es obvio que donde quiera que nosotros construimos unos verdaderos,
invariante de valor real tomando una cantidad más su complejo conjugado, podríamos obtener el
correspondiente, pseudoinvariante de valor real tomando -i tiempos la cantidad menos su
complejo conjugado.
75
Visión Artificial con IMtdi
Momentos de Zernike expresados en términos de los Momentos Centrales
Normalizados
Momentos de Segundo Orden
S1 = 3[2(µ 20 + µ 02 ) − 1] / π
[
]
S 2 = 9 (µ 20 − µ 02 ) + 4(µ11 ) / π 2
2
2
Momentos de Tercer Orden
[
]
S 3 = 16 (µ 03 − 3µ 21 ) + (µ 30 − 3µ12 ) / π 2
2
[
2
]
S 4 = 144 (µ 03 + µ 21 ) + (µ 30 + µ12 ) / π 2
2
2
(µ 03 − 3µ 21 )(µ 03 + µ 21 ) *

2
2
13824  (µ 03 + µ 21 ) − 3(µ 30 + µ12 )
S5 =
π 4 − (µ 30 − 3µ12 )(µ 30 + µ12 ) *

 (µ 30 + µ12 )2 − 3(µ 03 + µ 21 )2
S6 =
76






[
]
[
]
[
864 (µ 02 − µ 20 ) (µ 03 + µ 21 ) − 3(µ 30 + µ12 )

π 3 + 4µ11 (µ 03 + µ 21 )(µ 30 + µ12 )
2
2
]

Representación y descripción
Momentos de Cuarto Orden
[
]
S 7 = 25 (µ 40 − 6µ 22 + µ 04 ) + 16(µ 31 − µ13 ) / π 2
2
2
[(µ 04 − µ 40 ) + 3(µ 20 − µ 02 )]2  2
S 8 = 25
 /π
2
+ 4[4(µ 31 + µ13 ) − 3µ11 ]

S 9 = 5[6(µ 40 + 2µ 22 + µ 04 ) − 6(µ 20 + µ 02 )] / π

(µ 40 − 6 µ 22 + µ 04 ) *


2
 [4(µ 04 − µ 40 ) + 3(µ 20 − µ 02 )]  
 
250 
S10 = 3  − 4[4(µ 31 + µ13 ) − 3µ11 ]2
 
π 
− 16[4(µ − µ ) + 3(µ − µ )]*
04
40
20
02


[4(µ 31 + µ13 ) − 3µ11 ](µ 31 − µ13 ) 
S11 =
30 [4(µ 04 − µ 40 ) + 3(µ 20 µ 02 )](µ 02 + µ 20 )


π 2 + 4 µ11 [4(µ 31 + µ13 ) − 3µ11 ]

77
Visión Artificial con IMtdi
Momentos Pseudoinvariates
(µ 30 − 3µ12 )(µ 03 + µ 21 ) *

(µ 03 + µ 21 )2 − 3(µ 30 + µ12 )2

P1 = 13824
− (µ 30 − 3µ12 )(µ 03 + µ 21 ) *

 (µ 30 + µ12 )2 − 3(µ 03 + µ 21 )2


 /π 4



[
]
[
]
[
]
 3
 µ (µ + µ 21 )2 − (µ 30 + µ12 )2
P2 = 1728 11 03
 /π
− (µ 30 + µ12 )(µ 30 + µ12 )(µ 02 − µ 20 )
Dominio del valor
•
S1 , S 2 , S 3 , S 4 , S 5 , S 6 , S 7 , S 8 , S 9 , S10 , S11 , P1 y P2 ∈ ℜ .
Resultados
78
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
S1
7109.1
12138
7109.1
141.33
9942.9
7109.1
S2
1.61E+10
4.88E+10
1.61E+10
577.99
2.56E+09
1.61E+10
S3
6.36E+10
1.84E+11
6.36E+10
4531.5
8.65E+10
6.36E+10
S4
2.64E+11
7.02E+11
2.64E+11
2008.8
1.10E+11
2.64E+11
S5
-1.37E+19
-1.01E+20
-6.75E+18
-9.55E+09
6.39E+16
-1.37E+19
S6
6.66E+14
3.08E+15
6.66E+14
95174
-1.11E+14
6.66E+14
S7
1.43E+12
3.87E+12
1.43E+12
7252.3
1.31E+13
1.43E+12
S8
3.18E+22
2.72E+23
3.18E+22
2.03E+13
2.59E+23
3.18E+22
S9
1.35E+08
2.32E+09
1.35E+08
686.78
2.71E+09
1.35E+08
S10
2.71E+18
1.31E+19
2.71E+18
3.41E+11
2.34E+19
2.71E+18
S11
1.35E+12
4.03E+12
1.35E+12
17215
2.89E+12
1.35E+12
P1
6.42E+17
4.37e+14
6.42E+17
4.85E+10
-1.73E+18
6.42E+17
P2
-8.07e+09
-3.08E+14
-8.07e+09
-16481
-3.33E+14
-8.07E+09
Representación y descripción
Características
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
S1
16492
23729
52954
7109.1
32863
7109.1
S2
9.31E+10
2.22E+11
3.06E+11
1.61E+10
2.68E+11
1.61E+10
S3
3.34e+07
2.93E+11
3.37E+12
6.36E+10
5.56E+10
6.36E+10
S4
1.17E+12
5.58E+11
3.30E+12
2.64E+11
2.54E+11
2.64E+11
S5
-2.94E+20
1.12E+19
1.09E+20
-1.37E+19
8.94E+18
-6.75E+18
S6
7.14E+15
1.52E+15
3.05E+16
6.66E+14
2.05E+14
6.66E+14
S7
6.75E+12
7.04E+13
3.45E+12
1.43E+12
6.65E+12
1.43E+12
S8
3.17E+09
9.30E+09
1.82E+10
1.35E+08
8.86E+09
1.35E+08
S9
3.20E+19
7.85E+20
4.85E+18
2.71E+18
3.84E+20
2.71E+18
S10
7.57E+11
3.24E+12
4.30E+13
1.35E+12
2.86E+13
1.35E+12
S11
4.40E+12
1.48E+14
1.35E+12
7.87E+13
1.59E+15
2.88E+15
P1
9.39E+18
1.35E+19
-1.57E+20
6.42E+17
5.86E+18
6.42E+17
P2
-5.17E+14
-5.03E+15
2.00E+16
-8.07e+09
1.64E+15
-8.07E+09
79
Visión Artificial con IMtdi
Características
3.8.6
T(2,3)R315
T(2,3)R45
T(2,3)R90
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
S1
31589
55807
7109.1
34327
1.18E+09
1.58E+09
S2
3.57E+10
1.09E+12
1.61E+10
3.67E+11
4.12E+12
7.52E+12
S3
3.99E+11
4.03E+12
6.36E+10
3.78E+12
6.51E+13
1.15E+14
S4
1.14E+12
3.52E+11
2.64E+11
6.64E+12
2.71E+14
4.63E+14
S5
-4.06E+18
1.58E+20
-6.75E+18
-4.34E+21
-7.07E+24
-2.10E+25
S6
4.31E+15
6.59E+16
6.66E+14
7.99E+16
1.09E+19
2.52E+19
S7
6.19E+12
2.63E+13
1.43E+12
3.09E+14
5.81E+15
1.00E+16
S8
1.59E+23
5.19E+19
3.18E+22
6.97E+26
9.29E+29
3.00E+30
S9
8.35E+09
2.11E+10
1.35E+08
1.72E+10
1.15E+11
1.54E+11
S10
4.08E+18
1.48E+14
1.35E+12
7.87E+13
1.59E+15
2.88E+15
S11
4.40E+12
1.48E+14
1.35E+12
7.87E+13
1.59E+15
2.88E+15
P1
-2.21E+19
2.27E+21
6.42E+17
-5.43E+21
6.73E+22
1.87E+24
P2
1.67E+14
-3.24E+16
-8.07e+09
1.01E+16
-1.32E+18
-2.82E+18
Momentos invariantes de S. Maitra
S. Maitra [3] define un conjunto de funciones que además de ser invariantes a las
transformaciones mencionadas anteriormente como son la traslación, homotecias y rotación,
también lo son frente a cambios de contraste. Estas transformaciones se definen si consideramos
f(x,y) como los niveles de intensidad de la imagen como:
f 1 ( x , y ) = k * f 2 ( x, y )
donde la constate k condiciona una variación en el contraste de los niveles de intensidad de la
imagen. Los invariantes obtenidos han sido desarrollados a partir de los generados por Hu. Estos
invariantes frente a cambios de contraste se muestran a continuación.
L1 =
φ2
φ1
L2 =
φ 3 mt 00
φ1φ 2
L3 =
φ4
φ3
L4 =
φ5
φ4
L5 =
φ6
φ1φ 4
L6 =
φ7
φ5
Ecuación 3–42 Los invariantes de Maitra
80
Representación y descripción
Dominio del valor
•
L1 , L2 , L3 , L4 , L5 y L6 ∈ ℜ .
Resultados
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
L1
0.3568
0.36389
0.3568
0.33793
0.32168
0.3568
L2
903.65
1416.4
246.85
197.33
31.542
903.65
L3
0.46019
0.42225
16.846
0.049706
3.086
0.46019
L4
12.037
12.327
19.032
29.842
29.961
12.037
L5
0.35421
0.36209
0.35421
0.33298
-0.10137
0.35421
L6
-0.028138
-0.016244
0.27009
-0.079498
0.21134
-0.028138
Características
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
L1
0.37008
0.39673
0.20882
0.3568
0.31481
0.3568
L2
1773.5
83.254
3495.8
903.65
92.851
246.85
L3
0.38992
0.77549
0.14547
0.46019
0.46783
16.846
L4
12.613
14.212
0.21563
12.037
0.37256
19.032
L5
0.36911
0.11467
0.17453
0.35421
0.24559
0.35421
L6
-0.0093064
-0.31718
-56.695
-0.028138
15.57
0.27009
81
Visión Artificial con IMtdi
Características
3.8.7
T(2,3)R315
T(2,3)R45
T(2,3)R90
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
L1
0.37008
0.39673
0.20882
0.3568
0.31481
0.3568
L2
1773.5
83.254
3495.8
903.65
92.851
246.85
L3
0.38992
0.77549
0.14547
0.46019
0.46783
16.846
L4
12.613
14.212
0.21563
12.037
0.37256
19.032
L5
0.36911
0.11467
0.17453
0.35421
0.24559
0.35421
L6
-0.0093064
-0.31718
-56.695
-0.028138
15.57
0.27009
Definición tensorial de los momentos
La definición tensorial de los momentos ha sido diseñada para poder introducir momentos
de cualquier orden con las únicas limitaciones que las que ponga el propio computador.
A continuación se van a definir los distintos momentos [3, 15] frente a las
transformaciones afines a sufrir, así como, las modificaciones que se generan en estos para
adaptarse a las mismas.
Momentos Ordinarios
Una imagen puede ser representada por una función f ( x, y ) con respecto a un par de ejes
cartesianos x e y fijos. Una imagen también puede ser representada, en el espacio de momentos,
por sus momentos bidimensionales q ij ...k (a los que denominaremos momentos ordinarios)
respecto de (x, y) definidos como se muestra a continuación:
q m1 ...m j n1 ...nk = q jk = ∫∫ x j y k f ( x, y )dxdy
Ecuación 3–43 Momentos ordinarios
m j = 1 , mk = 2 ,
j , k = 0,1,2,...
donde q m1 ...m j n1 ...nk es un tensor cartesiano y simétrico de orden j+k y 2 j + k componentes. La
integral está extendida a la región del espacio donde está definida f.
Una imagen discreta de M x N elementos puede ser representada por un conjunto de M x N
momentos. A partir de aquí se plantea una cuestión, ¿ es posible utilizar un conjunto reducido de
momentos para construir un vector que defina a una imagen dada en el espacio de
características?. La respuesta es afirmativa para la gran mayoría de casos.
82
Representación y descripción
El número de momentos a usar en el reconocimiento va a depender directamente de la
complejidad de las imágenes que se deseen reconocer.
Dominio del valor
•
q jk ∈ ℜ .
El Procedimiento de implementación comentado con anterioridad ‘CalculateData(...)’, es
el que permite el cálculo de los momentos ordinarios de cualquier orden.
Momentos Invariantes frente a transformaciones Afines
Una transformación lineal de la siguiente forma:
 x *   c d  x + a 


L :   = 
 y *  e f  y + b 
Ecuación 3–44 Transformación lineal genérica
donde a, b, c, d, e y f son constantes y el determinante
c
e
d
≠ 0 se denomina transformación
f
afín. La transformación L puede descomponerse en el producto siguiente: L= A x R x T, donde:
 x'   x + a 

T :   = 
 y'   y + b 
Ecuación 3–45 Aplicación de la traslación
 x' '   cos ϑ senϑ  x' 
 
R :   = 
 y ' '   − senϑ cos ϑ  y ' 
Ecuación 3–46 Aplicación de la rotación
 x *  α
A :   = 
 y *  0
0  x' ' 
 
β  y ' ' 
Ecuación 3–47 Aplicación de la amplificación
Para normalizar los momentos frente a transformaciones existen varias formas que se
presentan a continuación:
1. Aplicar la teoría de invariantes algebraicos tal y como hace Hu, para obtener ciertas
combinaciones de momentos que son invariantes frente a transformaciones afines.
2. Calcular los parámetros a, b, α , β y ϑ normalizando momentos de bajo orden y una
vez calculados, aplicar la transformación L resultante a la imagen original para
83
Visión Artificial con IMtdi
transformarla en una imagen canónica, cuyos momentos ordinarios serán invariantes
frente a L, tal y como hace
Wang-Kuo.
3. Calcular las relaciones existentes entre los momentos, antes y después de realizar las
transformaciones T, R y A.
En la primera forma que se presenta, aparte de la complejidad inherente en la teoría de
invariantes algebraicos, el mayor inconveniente radica en el gran tamaño de las expresiones
obtenidas, lo que implica errores de cálculo apreciables para casos discretos en computadoras.
El segundo método presenta el inconveniente de la redigitalización de la imagen
transformada, ya que la aplicación de la transformación A a la imagen original, puede
deteriorarse la conectividad entre los elementos de la imagen.
El último caso, permite evitar los problemas descritos. Además, presenta una gran sencillez
conceptual, ya que los invariantes finales se obtienen directamente a partir de los momentos
ordinarios de la imagen original.
Momentos Invariantes frente a Traslaciones
La normalización frente a traslaciones o momentos centrales consiste simplemente en
desplazar el origen de coordenadas hasta el centro de gravedad de la imagen ( x, y ) dado por las
siguiente fórmula:
x=
∫∫ xf (x, y )dxdy
∫∫ f (x, y )dxdy
y=
∫∫ yf (x, y )dxdy
∫∫ f (x, y )dxdy
y a continuación calcular los momentos a partir de dicho origen. Los momentos así calculados,
denominados momentos centrales, vienen dados por la siguiente ecuación:
µ ' m ...m n ...n = ∫∫ ( x − x ) j ( y − y )k f ( x, y )dxdy
1
j 1
k
Ecuación 3–48 Momentos centrales
Esto es equivalente a normalizar los momentos centrales de primer orden a
cero: µ10 = 0, µ 01 = 0 .
Es posible calcular los momentos centrales a partir de los momentos ordinarios haciendo
uso del binomio.
84
Representación y descripción
j
 j  j −r
r
( x − x ) j = ∑  ( x ) (− x )
r =0  r 
 k  k −s
s
( y − y ) = ∑  ( x ) (− y )
s =0  s 
k
k
La función resultante que se obtendría en función de los momentos ordinarios y usando el
binomio sería la siguiente:
 j  k 
r = 0 s = 0  r  s 
j
k
µ jk = ∑∑   (− 1)r + s x r y s m j −r ,k − s
Ecuación 3–49 Momentos invariantes frente a traslaciones
Dominio del valor
•
µ jk ∈ ℜ .
Momentos Invariantes frente a Rotaciones
Una imagen caracterizada con momentos de hasta segundo orden, es equivalente a una
elipse homogénea, con un tamaño, orientación y excentricidad definidos. Los ejes ( x' ' , y ' ') se
denominan ejes principales. Es posible calcular el ángulo φ que forman los ejes ( x' ' , y ' ') y
(x' , y') en función de los momentos determinados respecto de (x' , y') . Si a continuación se rota
la imagen un ángulo φ en el sentido adecuado, habremos llevado la imagen a una posición
estándar en la que coinciden los ejes ( x' ' , y ' ') y ( x' , y ') , y de este modo quedará normalizado
frente a rotaciones.
En lugar de rotar la imagen y calcular los nuevos momentos, calcularemos la relación
existente entre los momentos antes y después de realizar una rotación arbitraria ϑ y obtendremos
los momentos invariantes frente a rotaciones en función de los momentos determinados respecto
de ( x' , y ') sin más que hacer ϑ = φ .
Cabe destacar que el calculo del ángulo φ ha sido explicado en el capítulo que hace
referencia a los descriptores basados en la elipse circunscrita, más concretamente en la
orientación.
La forma de calcular los momentos invariantes frente a rotación en función de los
momentos anteriores (invariantes frente a traslaciones) es la siguiente:
85
Visión Artificial con IMtdi
j
k
s  j  k 
j−r +s
m' ' jk = ∑∑ (− 1)   (senφ )
(cos φ )r + k − s µ r + s , j + k − r − s
r =0 s =0
 r  s 
Ecuación 3–50 Momentos invariantes frente a rotaciones
Dominio del valor
•
m 'jk' ∈ ℜ .
Momentos Invariantes frente a Escalado
La transformación A es una amplificación anisótropa. Esta transformación permite hacer
invariantes no solo frente a traslaciones y rotaciones, sino también, frente a cambio de escala. La
forma para llevar a cabo su cálculo mediante los momentos invariantes frente a rotaciones es la
que se muestra a continuación:
η jk =
m' ' jk
8
(m' ' 20 )3 j −k +2 (m' ' 02 )3k − j +2
Ecuación 3–51 Momentos invariantes frente a escalado
Una vez realizado los momentos que se quedan normalizados son los siguientes:
η10 = 0 η 01 = 0
η11 = 0
η 20 = 1 η 02 = 1 .
Obtenidos los invariantes frente a traslaciones, amplificaciones y rotaciones, si la región en
cuestión de la imagen a analizar es caracterizada mediante un vector de N componentes en el
espacio de los momentos invariantes, el reconocimiento se resume en asignar un elemento a una
clase dentro de un conjunto de clases dado.
86
Representación y descripción
Dominio del valor
•
η jk ∈ ℜ .
Resultados
Momentos Ordinarios
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
m0, 0
1228
2056
1228
58
1375
1228
m1, 0
6064
10184
5622
303
6991
9748
m0,1
6658
11221
7292
308
7144
9114
m1,1
32870
55575
33392
1618
36260
72340
m 2, 0
31142
52466
28264
1629
37313
78578
m0, 2
38624
65575
44498
1664
40556
70168
m1, 2
1.91E+08
3.25E+09
2.04E+09
8788
2.05E+09
5.57E+09
m2,1
1.69E+09
2.86E+09
1.68E+09
8758
1.93E+09
5.83E+09
m0, 3
2.38E+08
4.08E+09
2.78E+09
9128
2.47E+09
5.60E+09
m3, 0
1.66E+09
2.80E+09
1.51E+09
9003
2.09E+09
6.43E+09
87
Visión Artificial con IMtdi
Características
88
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
m0, 0
2754
2257
4572
1228
3553
1228
m1, 0
21941
19290
37064
9900
27020
9114
m0,1
20616
14774
38992
9306
29151
9900
m1,1
1.64E+09
1.26E+08
3.19E+0.9
75016
2.21E+08
73484
m 2, 0
1.78E+09
1.69E+09
3.14E+08
81010
2.12E+09
70168
m0, 2
1.60E+09
1.05E+09
3.47E+09
73048
2.50E+09
81010
m1, 2
1.28E+10
8.98E+09
2.86E+10
5.89E+09
1.89E+10
6.01E+09
m2,1
1.33E+10
1.10E+10
2.72E+10
6.14E+09
1.72E+10
5.66E+09
m0, 3
1.29E+10
8.05E+0.9
3.19E+0.9
5.90E+0.9
2.24E+10
6.72E+09
m3, 0
1.46E+10
1.51E+09
2.77E+10
6.72E+09
1.70E+10
5.60E+09
Representación y descripción
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
1228
2670
4912
6488
37831
9306
21714
37608
49460
26341
34920
9748
21935
41144
54428
m1,1
1.86E+09
2.85E+09
73880
1.78E+08
3.15E+09
4.15E+09
m 2, 0
1.83E+08
3.28E+09
73048
1.89E+09
3.30E+09
4.33E+09
m0, 2
2.06E+08
2.83E+09
78578
1.86E+09
3.65E+09
4.84E+09
m1, 2
1.46E+10
2.26E+10
5.96E+09
1.51E+10
2.80E+10
3.70E+10
m2,1
1.38E+10
2.43E+10
5.80E+09
1.55E+10
2.76E+10
3.63E+10
m0, 3
1.66E+10
2.40E+10
6.43E+09
1.62E+10
3.40E+10
4.51E+10
m3, 0
1.41E+10
2.96E+10
5.90E+09
1.73E+10
3.11E+10
4.08E+10
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
m0, 0
3504
4555
m1, 0
24667
m0,1
Momentos invariantes frente a traslaciones
Características
Prueba4 P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
µ 0, 0
1228
2056
1228
58
1375
1228
µ1, 0
-5.12E09
-3.41E-09
-4.26E-10
-1.95E-10
2.30E-09
-5.12E-09
µ 0,1
4.26E-10
6.04E-09
-5.12E-09
-2.31E-10
-5.72E-09
4.26E-10
µ1,1
79.414
-60.623
79.414
-60.623
79.414
89.655
µ 2, 0
1197.3
2021.5
2525.5
46.086
1768.2
1197.3
µ 0, 2
2525.5
4334.3
1197.3
28414
3438.4
2525.5
µ1, 2
52.524
72.039
158.02
-0.18549
-393.98
52.524
µ 2,1
-158.02
-293.84
52.524
13.774
12.737
-158.02
µ 0, 3
1501.9
2484.6
20.59
-10.188
520.69
1501.9
µ 3, 0
20.59
31.379
-1501.9
11.358
1077.7
20.59
89
Visión Artificial con IMtdi
Características
90
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
µ 0, 0
2754
2257
4572
1228
3553
1228
µ1, 0
7.64E-09
-1.56E-08
-2.74E-08
5.12E-09
1.29E-08
4.26E-10
µ 0,1
6.77E-09
-9.89E-09
-2.93E-08
-4.26E-10
4.99E-09
5.12E-09
µ1,1
-57.887
-165.59
2892.1
-79.414
-1087.7
79.414
µ 2, 0
2720
3753.3
13734
1197.3
6123.2
2525.5
µ 0, 2
5915.9
8671.5
13993
2525.5
11084
1197.3
µ1, 2
68.584
-628
-3432.5
-52.524
-37.05
-158.02
µ 2,1
-425.32
-151.99
-3208.4
158.02
724.93
-52.524
µ 0, 3
3259.6
1760.7
-1026.3
-1501.9
402.53
-20.59
µ 3, 0
28.728
1740.8
1268.7
-20.59
-645.86
1501.9
Representación y descripción
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
1228
2670
4912
6488
2.17E-09
-4.26E-10
1.15E-08
-3.41E-09
-6.18E-09
6.96E-09
-1.23E-08
-5.12E-09
-5.15E-09
-4.09E-08
4.59E-08
µ1,1
598.08
-5451.8
79.414
-189.24
127.06
120.78
µ 2, 0
9057.5
14252
2525.5
12155
41636
55691
µ 0, 2
7482.9
14969
1197.3
5819.2
20385
26982
µ1, 2
123.04
-2648.6
158.02
814.56
5056.5
6937.9
µ 2,1
-1198.7
4441.4
52.524
2825.4
1680.8
2125.5
µ 0, 3
254.43
-189.53
20.59
-3049.2
658.89
771.81
µ 3, 0
-2757.1
192.31
-1501.9
-7558.9
-48060
-63181
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
µ 0, 0
3504
4555
µ1, 0
-1.99E-09
µ 0,1
Momentos invariantes frente a rotaciones
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
m' ' 0 , 0
1228
2056
1228
58
1375
1228
m' '1, 0
-4.57E-11
-6.05E-09
-4.57E-11
-2.69E-11
5.80E-10
-4.57E-11
m' ' 0,1
-5.11E-09
-3.39E-09
-5.11E-09
-1.38E-10
2.08E-09
-5.11E-09
m' '1,1
-1.41E-09
-1.71E-10
4.01E-12
9.04E-12
-5.63E-11
2.62E-10
m' ' 2 , 0
2525.5
4334.3
2525.5
49.838
3440.7
2525.5
m' ' 0 , 2
1197.2
2021.5
1197.2
24.662
1765.9
1197.2
m' '1, 2
157.44
293.52
157.44
-10.137
56.36
157.44
m' ' 2,1
63.386
80.091
63.386
17.828
-372.01
63.386
m' ' 0 , 3
17.761
29.07
17.761
-27.875
1075.2
17.761
m' ' 3, 0
-1500.8
-2484
-1500.8
21.828
-563.8
-1500.8
91
Visión Artificial con IMtdi
Características
92
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
m' ' 0 , 0
2754
2257
4572
1228
3553
1228
m' '1, 0
-6.75E-09
9.36E-09
-4.01E-08
4.57E-11
-2.23E-09
4.57E-11
m' ' 0,1
7.65E-09
-1.59E-09
-4.08E-10
5.11E-09
1.37E-08
5.11E-09
m' '1,1
-1.41E-10
-2.19E-09
8.24E-09
2.03E-10
-1.81E-09
-1.96E-12
m' ' 2 , 0
5916
8677.1
16759
2525.5
11312
2525.5
m' ' 0 , 2
2720
3747.7
10969
1197.2
5895.2
1197.2
m' '1, 2
425.11
249.99
2452.9
-157.44
-749.19
-157.44
m' ' 2,1
76.028
-554.24
-624.55
-63.386
-257.86
-63.386
m' ' 0 , 3
26.418
1720.5
-738.05
-17.761
-179.21
-17.761
m' ' 3, 0
-3259.2
-1820.4
-7008.9
1500.8
-494.39
1500.8
Representación y descripción
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
1228
2670
4912
6488
1.04E-08
-4.57E-11
1.17E-08
-3.66E-09
-5.99E-09
7.23E-09
-6.80E-09
-5.11E-09
-4.81E-09
-4.09E-08
4.59E-08
m' '1,1
-2.36E-09
-2.26E-08
-6.90E-12
-2.47E-11
2.59E-10
2.83E-11
m' ' 2 , 0
9258.9
20074
2525.5
12161
41637
55692
m' ' 0 , 2
7281.5
9146.9
1197.2
5813.5
20384
26982
m' '1, 2
536
2520
157.44
1064.5
5038
6921.8
m' ' 2,1
92.522
-1043.5
63.386
2540.1
2028.4
2449.5
m' ' 0 , 3
-146.76
2156.9
17.761
-2965
568.36
684.35
m' ' 3, 0
-3333.7
-7302.5
-1500.8
-7799.2
-48027
-63152
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
m' ' 0 , 0
3504
4555
m' '1, 0
3.37E-10
m' ' 0,1
Momentos invariantes frente a escalado
Características
Prueba4
P4B21C21
R90
R90B35C18
R90E(1,1)
T(2,3)
η 0,0
29.449
37.79
29.449
97.956
27.695
29.449
η1, 0
-1.41E-12
-1.25E-11
-1.41E-12
-1.57E-11
1.40E-11
-1.41E-12
η 0,1
-2.29E-1
-1.02E-1
-2.29E-1
-1.14E-1
7.04E-1
-2.29E-1
η1,1
-8.12E-13
-5.77E-13
2.30E-15
2.85E-13
-2.29E-13
1.51E-13
η 2,0
1
1
1
1
1
1
η 0, 2
1
1
1
1
1
1
η1, 2
0.016897
0.0116268
0.016897
-0.14168
0.0038339
0.016897
η 2,1
0.004684
0.0030314
0.004684
0.017528
-0.018129
0.004684
η 0,3
0.0027686
0.0023591
0.0027686
-0.055383
0.10209
0.0027686
η 3, 0
-0.076361
-0.064209
-0.076361
0.15096
-0.019684
-0.076361
93
Visión Artificial con IMtdi
Características
94
T(2,3)B35C18 T(2,3)E(2,2) T(2,3)R145 T(2,3)R180 T(2,3)R220 T(2,3)R270
η 0,0
43.483
29.888
39.265
29.449
39.317
29.449
η1, 0
-1.10E-11
1.16E-11
-2.87E-11
1.41E-12
-2.21E-12
1.41E-12
η 0,1
1.84E-11
-2.99E-11
-3.61E-13
2.29E-11
1.87E-11
2.29E-11
η1,1
-3.52E-13
-3.84E-13
6.08E-13
1.17E-13
-2.22E-13
-1.12E-14
η 2,0
1
1
1
1
1
1
η 0, 2
1
1
1
1
1
1
η1, 2
0.016171
0.006227
0.01864
-0.016897
-0.011359
-0.016897
η 2,1
0.0019611
-0.0090668
-0.0038398
-0.004684
-0.0028222
-0.004684
η 0,3
0.0014821
0.065165
-0.0069328
-0.0027686
-0.0037639
-0.0027686
Representación y descripción
T(2,3)R90
T(2,3)R90
T(2,3)R90
E(+2,+3)
E(M2,M2)
E(M2,M2)B12C15
29.449
29.118
28.778
32.953
6.82E-12
-1.41E-12
1.10E-11
-1.37E-12
-1.81E-12
8.91E-12
-6.59E-12
-2.29E-11
-6.58E-12
-2.19E-12
1.99E-11
η1,1
-2.88E-13
-1.66E-12
-3.97E-15
-2.94E-14
8.88E-15
7.30E-16
η 2,0
1
1
1
1
1
1
η 0, 2
1
1
1
1
1
1
η1, 2
0.0072822
0.02098
0.016897
0.0159
0.015824
0.015253
η 2,1
0.0011147
-0.0058643
0.004684
0.026233
0.0044578
0.0037572
η 0,3
-0.0022484
0.026602
0.0027686
-0.064053
0.0025514
0.0021666
η 3, 0
-0.035619
-0.027702
-0.076361
-0.055691
-0.073853
-0.067423
Características
T(2,3)R315
T(2,3)R45
T(2,3)R90
η 0,0
38.67
39.13
η1, 0
3.68E-14
η 0,1
3.9 DESARROLLO DE NUEVOS DESCRIPTORES POR
COMBINACIÓN
Los descriptores que se han comentado a lo largo de todo el capítulo no existen de manera
aislada. Una de las posibilidades que permiten es adaptarlos al dominio del problema mediante
posibles combinaciones de los mismos.
Se han intentado extraer un conjunto de estos posibles descriptores resultado de las
combinaciones. Los nuevos descriptores han sido originados a partir de los resultados obtenidos
para el capítulo 9 pero no han llegado a ser implementados. También cabe destacar que su buen
funcionamiento va a depender directamente del dominio del problema a resolver.
Entre otros descriptores los que mayor eficiencia pueden tener son los siguientes:
•
Diametro Equivalente
Extendido
El diámetro equivalente trata de aproximar una región de una imagen a un círculo,
a través de unas operaciones sobre el área. Por otra parte, la característica extendido es en
si un cociente invariante en función del área y del rectángulo circunscrito. El cociente
generado por ambos debe dar un buen descriptor invariante frente a las distintas
95
Visión Artificial con IMtdi
transformaciones afines que pueda sufrir el objeto. Esto se basa en que se parte de un
descriptor invariante para generar otro nuevo invariante en función de un parámetro en
común, como es, el área.
•
Eje Mayor
Eje Menor
Este descriptor establece la relación entre los dos ejes de la elipsoide y permite
hacerlos invariantes frente a transformaciones afines (traslación, rotación, escalado),
siempre y cuando los cálculos de los momentos se hayan efectuado sin niveles de gris.
Esto se debe a que la intensidad gris, así como la luminosidad de la imagen puede
producir variaciones a la hora de realizar las distintas segmentaciones.
•
El último descriptor descubierto, consiste en seleccionar dos puntos extremos
cualesquiera y establecer la orientación de la línea que los une. Esto puede dar bastante
información para objetos siempre y cuando no sufran modificaciones en cuanto a
rotaciones.
3.10 RESUMEN DE LOS DESCRIPTORES
A continuación se muestra los distintos descriptores desarrollados a lo largo de todo el
capítulo y el nombre con el que se almacenan.
Descriptores de región
Número de región. ‘NumReg’
Primer punto. ‘FirstPointRow, FirstPointCol’
Área. ‘Area’
Perímetro. ‘Perimeter’
Densidad. ‘Density’
Volumen. ‘Volume’
Volumen2. ‘Volume2’
Diámetro equivalente. ‘EquivDiameter’
Nivel mínimo de gris. ‘MinGrey’
Nivel máximo de gris. ‘MaxGrey’
Nivel de gris medio. ‘MeanGrey’
96
Representación y descripción
Desviación típica. ‘Stddev’
Baricentro de los niveles de gris. ‘GreyBaryCenterx, GreyBaryCentery’
Primer punto del rectángulo circunscrito. ‘BoundingBoxOx’
Altura del rectángulo circunscrito. ‘BoundingBoxDx’
Anchura del rectángulo circunscrito. ‘BoundingBoxDy’
Área del rectángulo circunscrito. ‘BoundingBoxArea’
Extendido. ‘Extent’
Puntos extremos.
‘TopLeftx, TopLefty, TopRightx, TopRighty, RightTopx, RightTopy,
RightBottomx,
BottomLeftx,
RightBottomy,
BottomLefty,
BottomRightx,
LeftBottomx,
BottomRighty,
LeftBottomy,
LeftTopx,
LeftTopy’
Centroide de la elipsoide. ‘Centroidex, Centroidey’
Eje mayor de la elipsoide. ‘MajorAxis’
Eje menor de la elipsoide. ‘MinorAxis’
Orientación de la elipsoide. ‘Orientation’
Excentricidad de la elipsoide. ‘ExcentricityMomentT’
Grado de circunscripción. ‘Irradiance’
Momentos de inercia de orden 1. ‘M1x, M1y’
Momentos de inercia de orden 2. ‘M2x, M2y, M2xy’
Excentricidad de los momentos de inercia. ‘ExcentricityInertia’
Momentos invariantes de Hu.
‘invHu1, invHu2, invHu3, invHu4, invHu5, invHu6, invHu7’
Momentos invariantes de Maitra.
‘L1, L2, L3, L4, L5, L6’
Momentos invariantes de Zernike.
‘S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, P1, P2’
Definición tensorial de los momentos
Momentos ordinarios. ‘MomentP,Q’
Momentos invariantes frente a traslaciones. ‘MomentTP,Q’
Momentos invariantes frente a rotaciones. ‘MomentTRP,Q’
Momentos invariantes frente a escalado. ‘MomentTREP,Q’
97
Visión Artificial con IMtdi
Descriptores topológicos
Lista de vecinos ‘MapNeighbour’
Lista de puntos del perímetro ‘PlacesPerimeter’
3.11 LECTURA Y ALMACENAMIENTO DE LAS
CONFIGURACIONES DE LOS DESCRIPTORES
La selección de las diferentes características se realiza a través de un archivo de
configuración . Este archivo de configuración permite facilitar la labor de selección de
descriptores por parte del usuario estableciendo cuales son los que necesita que sean calculados
para una determinada aplicación.
Estructura del archivo de configuración
La estructura del archivo de configuración se compone de un conjunto de subgrupos que se
establecen a continuación . Cada uno de estos subgrupos está constituido por una serie de
parámetros, estos a su vez dependen del valor asignado para ser calculados que será descrito en
cada uno de estos.
Simples
•
NumReg
El número de la región a analizar. Si se ha decidido analizar todas, el sistema no
tiene en cuenta este parámetro.
•
First_Point
El primer punto para la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
Area
El número de píxeles para una región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
Perimeter
El número de píxeles que forma el contorno para una región. Se pone 4 u 8
dependiendo del tipo de vecindad si se desea visualizar y 0 en caso contrario.
98
Representación y descripción
•
Density
El cociente entre el perímetro y el área para una región. Se pone 1 si se desea
visualizar y 0 en caso contrario.
•
Volume
El volumen para una región. Se pone 1 si se desea visualizar y 0 en caso contrario.
•
Volume2
El volumen al cuadrado para un región. Se pone 1 si se desea visualizar y 0 en
caso contrario.
Niveles de gris
•
MinGrey
El nivel mínimo de gris para una región. Se pone 1 si se desea visualizar y 0 en
caso contrario.
•
MaxGrey
El nivel máximo de gris para una región. Se pone 1 si se desea visualizar y 0 en
caso contrario.
•
MeanGrey
La media de los niveles de gris para una región. Se pone 1 si se desea visualizar y
0 en caso contrario.
•
Stddev
Desviación estándar de los niveles de gris para una región. Se pone 1 si se desea
visualizar y 0 en caso contrario.
•
GreyBaryCenter
El baricentro de los niveles de gris. Se pone 1 si se desea visualizar y 0 en caso
contrario.
99
Visión Artificial con IMtdi
Rectángulo circunscrito
•
BoundingBoxDx
Anchura del rectángulo circunscrito. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
BoundingBoxDy
Altura del rectángulo circunscrito. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
BoundingBoxO
Punto de inicio del rectángulo circunscrito. Se pone 1 si se desea visualizar y 0 en
caso contrario.
•
BoundingBoxArea
Área del rectángulo circunscrito. Se pone 1 si se desea visualizar y 0 en caso
contrario.
Puntos extremos
•
TopLeft
Punto superior izquierdo de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
TopRight
Punto superior derecho de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
RightTop
Punto derecho superior de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
RightBottom
Punto derecho inferior de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
100
Representación y descripción
•
BottomRight
Punto inferior derecho de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
BottomLeft
Punto inferior izquierdo de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
LeftBottom
Punto izquierdo inferior de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
LeftTop
Punto izquierdo superior de la región. Se pone 1 si se desea visualizar y 0 en caso
contrario.
Elipsoide circunscrita
•
Centroide
Centro de la elipsoide circunscrita a una región. Se pone 1 si se desea visualizar y
0 en caso contrario.
•
MajorAxis
Eje mayor de la elipsoide circunscrita a una región. Se pone 1 si se desea
visualizar y 0 en caso contrario.
•
MinorAxis
Eje menor de la elipsoide circunscrita a una región. Se pone 1 si se desea
visualizar y 0 en caso contrario.
•
Orientation
Ángulo de orientación del la elipsoide. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
ExcentricityMomentT
Excentricidad de la elipsoide. Se pone 1 si se desea visualizar y 0 en caso
contrario.
101
Visión Artificial con IMtdi
•
EquivDiameter
Diámetro equivalente, aproxima el área de una región a una circunferencia. Se
pone 1 si se desea visualizar y 0 en caso contrario.
•
Extent
Extendido en función del área de la región y el área del rectángulo circunscrito. Se
pone 1 si se desea visualizar y 0 en caso contrario.
Descriptores topológicos
•
ListPerimeter
Lista de puntos del perímetro. Se pone 4 u 8 dependiendo del tipo de vecindad si
se desea visualizar y 0 en caso contrario.
•
ListNeigh
Lista de vecinos para una región. Se pone 4 u 8 dependiendo del tipo de vecindad
si se desea visualizar y 0 en caso contrario.
Momentos de inercia
•
M1x, M1y
Momentos de inercia de orden 1. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
M2x, M2y, M2xy
Momentos de inercia de orden 2. Se pone 1 si se desea visualizar y 0 en caso
contrario.
•
ExcentricityInertia
Excentricidad de los momentos de inercia.
Momentos invariantes de Hu
•
invHu1, invHu2, invHu3, invHu4, invHu5, invHu6, invHu7
Se pone 1 si se desea visualizar y 0 en caso contrario.
102
Representación y descripción
Momentos invariantes de Maitra
•
L1, L2, L3, L4, L5, L6
Se pone 1 si se desea visualizar y 0 en caso contrario.
Momentos invariantes de Zernike
•
S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11
Momentos invariantes. Se pone 1 si se desea visualizar y 0 en caso contrario.
•
P1, P2
Momentos pseudoinvariantes. Se pone 1 si se desea visualizar y 0 en caso
contrario.
Momentos invariantes definición tensorial
•
OrderMoment.
Momentos ordinarios. Se pone el número de orden si se desea visualizar y -1 en
caso contrario.
•
OrderMomentT.
Momentos invariantes a traslaciones. Se pone el número de orden si se desea
visualizar y -1 en caso contrario.
•
OrderMomentTR.
Momentos invariantes a traslaciones y rotaciones. Se pone el número de orden si
se desea visualizar y -1 en caso contrario.
•
OrderMomentTRE.
Momentos invariantes a traslaciones, rotaciones y escalado. Se pone el número de
orden si se desea visualizar y -1 en caso contrario.
Ejemplo del archivo de configuración
Un ejemplo del archivo de configuración es el que se muestra a continuación:
[Basic]
NumReg = 5;
FirstPoint = 1;
Area = 1;
Perimeter = 1;
Density = 1;
103
Visión Artificial con IMtdi
Volume = 1;
Volume2 = 1;
[Grey Level]
MinGrey = 1;
MaxGrey = 1;
MeanGrey = 1;
Stddev = 1;
GreyBaryCenter = 1;
[Bounding Box]
BoundingBoxDx = 1;
BoundingBoxDy = 1;
BoundingBoxO = 1;
BoundingBoxArea = 1;
[Extrem Points]
TopLeft = 1;
TopRight = 1;
RightTop = 1;
RightBottom = 1;
BottomRight = 1;
BottomLeft = 1;
LeftBottom = 1;
LeftTop = 1;
[Elipsoide]
Centroide = 1;
MajorAxis = 1;
MinorAxis = 1;
Orientation = 1;
ExcentricityMomentT = 1;
Irradiance = 1;
EquivDiameter = 1;
Extent = 1;
[Adjacent]
NumHoles = 0;
NumEuler = 0;
ListNeigh = 1;
ListPerimeter = 1;
[Inertia Moment]
M1x = 1;
M1y = 1;
M2x = 1;
M2y = 1;
M2xy = 1;
ExcentricityInertia = 1;
[Invariant Moment HU]
invHu1 = 1;
invHu2 = 1;
invHu3 = 1;
invHu4 = 1;
invHu5 = 1;
invHu6 = 1;
invHu7 = 1;
[Invariant Moment S. Maitra]
104
Representación y descripción
L1
L2
L3
L4
L5
L6
=
=
=
=
=
=
1;
1;
1;
1;
1;
1;
[Invariant Moment Zernike]
S1 = 1;
S2 = 1;
S3 = 1;
S4 = 1;
S5 = 1;
S6 = 1;
S7 = 1;
S8 = 1;
S9 = 1;
S10 = 1;
S11 = 1;
P1 = 1;
P2 = 1;
[Invariant Moment Manuel Canton]
OrderMoment = 3;
OrderMomentT = 3;
OrderMomentTR = 3;
OrderMomentTRE = 3;
Procedimientos de control de la configuración
Los procedimientos que permiten acceder y trabajar sobre el archivo de configuración
son los que se muestran a continuación. Estos permiten leer o almacenar configuraciones de
descriptores.
•
SearchConfiguration
SearchConfiguration (char *car)
Busca el índice para una cadena que representa a una característica.
•
ReadConfiguration
ReadConfiguration (const char *filename, char *modo, C_Matrix::IndexT
whatcharact [NumCharactConfig])
Lee una configuración de un archivo y la carga en una estructura de memoria.
•
WriteConfiguration
WriteConfiguration(const char *filename, char *modo, C_Matrix::IndexT
whatcharact [NumCharactConfig])
105
Visión Artificial con IMtdi
Almacena en un archivo una configuración establecida.
Ejemplo
const char * fileconfig; //FILE :"Caracteristicas.txt"
int indice=0;
C_Matrix::IndexT whatcharact [C_Characteristic::NumCharactConfig];
C_Characteristic Cobject;
C_Trace ("Reading Characteristic...");
if (!C_Characteristic::ReadConfiguration(fileconfig,"rt",whatcharact))
C_Trace ("ERROR IN FILE CHARACTERISTIC...")
C_Trace ("Found Extent...");
indice = C_Characteristic::SearchConfiguration("Extent");
C_TraceNum ("Position Extent",indice);
•
CadConfig
CadConfig(C_Matrix::IndexT config [NumCharactConfig])
Devuelve el array especial de configuración de descriptores interno. En este array
se ecuentran relaciones de pertenencia en función de los descriptores seleccionados para
facilitar los cálculos de las distintas características implicadas.
•
Config
Config(C_Matrix::IndexT col)
Devuelve el valor de la columna a la que referencia el tipo de constante definida
en el archivo cabecera con una A inicial para cada uno de los descriptores.
•
CadNameCharact
CadNameCharact (CadenaT cadname[MaxCharacteristic+1])
Devuelve un vector con todos los nombres de los descriptores existentes.
•
NameCharact
NameCharact(char *cad,C_Matrix::IndexT col)
Devuelve el nombre del número de columna referenciada.
Ejemplo
//**** Array de Configuracion Interno ********
C_Matrix::IndexT config [C_Characteristic::NumCharactConfig];
Cobject.CadConfig(config);
C_TraceNum("Calculada Area",Cobject.Config(C_Characteristic::AArea));
106
Representación y descripción
//**** Array de Nombres de Caracteristicas *****
C_Characteristic::CadenaT cadname[C_Characteristic::MaxCharacteristic+1];
char name[MaxCadena];
Cobject.CadNameCharact(cadname);
Cobject.NameCharact(name,C_Characteristic::Area);
C_TraceStr("Name",name);
3.12 ALMACENAMIENTO DE LOS DESCRIPTORES
Definición de grupos
Se han planteado las siguientes extensiones para el almacenamiento de los datos en
archivos, atendiendo a lo que se muestra a continuación:
•
Archivo con extensión: ‘.car’
Se almacenan todos los descriptores referentes a los siguiente grupos descritos:
Simples
Niveles de gris
Rectángulo circunscrito
Puntos extremos
Elipsoide circunscrita
Descriptores topológicos
Momentos de inercia
Momentos invariantes de Hu
Momentos invariantes de Maitra
Momentos invariantes de Zernike
•
Archivo con extensión: ‘.mnt’
Se almacenan los momentos definidos de manera tensorial como son:
Momentos ordinarios
Momentos invariantes frente a traslaciones
Momentos invariantes frente a rotaciones
107
Visión Artificial con IMtdi
Momentos invariantes frente a escalado
•
Archivo con extensión: ‘.nei’
Se almacena la lista de vecinos para cada una de las regiones seleccionadas de la
imagen.
•
Archivo con extensión: ‘.per’
Se almacena la lista de puntos del perímetro para cada una de las regiones
seleccionadas de la imagen.
Estructura de almacenamiento de los datos
Extensión ‘.car’
La estructura interna del archivo de almacenamiento es el de una matriz, donde aparecen
una serie de filas y columnas. En la primera fila del archivo se visualizan para cada columna el
nombre del descriptor para el que se han extraído los resultados que se muestran debajo. La
primera columna actúa de indice de la matriz numerando las filas.
Row NumReg Perimeter Area Volume Extent
1
120
---
---
---
---
2
5
---
---
---
---
3
23
---
---
---
---
Tabla 3–4 Formato de almacenamiento de datos
Extensión ‘.mnt’
La estructura interna del archivo es similar al anterior con la salvedad que los descriptores
visualizados pertenecen a los momentos tensoriales.
Extensión ‘.nei’
La estructura interna del archivo es similar a la descrita con anterioridad destacando que en
la úlitma columna lo que se representa es una lista de regiones adyacentes.
Row NumReg Adjacent
1
120
5 12 3 7
2
5
---
3
23
---
Tabla 3–5 Formato de almacenamiento de la lista de vecinos a una región
108
Representación y descripción
Extensión ‘.per’
La estructura interna es similar a la anterior, donde en la última columna se representa la
lista de puntos que conforman el contorno de la región tratada.
Row
NumReg
Points(X,Y)->(X=col,Y=row)
1
120
(413,12) (414,12) (415,12)
2
5
---
3
23
---
Tabla 3–6 Formato de almacenamiento de la lista del perímetro
3.13 EJEMPLO GENÉRICO DE CÁLCULO DE DESCRIPTORES
Las librerías diseñadas facilitan la labor de cálculo de los descriptores correspondientes a
las distintas regiones que conforman una imagen. Para ello cabe representar un ejemplo
significativo donde se aprecie el modo de actuación con los distintos métodos.
const char * fileoriginal;
//FILE : "Imagenes\\Test_GrayScale.bmp"
const char * filesegmentation; //FILE : "Imagenes\\Test_Segmentation.bmp"
const char * fileconfig;
//FILE :"Caracteristicas.txt"
int greylevel=1;
int allRegiones=1;
int neighbour=8;
C_Matrix::IndexT whatcharact [C_Characteristic::NumCharactConfig];
C_Characteristic Cobject;
C_Arguments argument (argc, argv, 1, 3, "lan", false);
TestArguments(argument,argc,
argv,&fileoriginal,&filesegmentation,&fileconfig,greylevel,allR
egiones,neighbour);
C_Trace ("Reading Characteristic...");
if (!C_Characteristic::ReadConfiguration(fileconfig,"rt",whatcharact))
C_Trace ("ERROR IN FILE CHARACTERISTIC...")
Cobject.CalculateCharacteristic(fileoriginal,filesegmentation,whatcharact
,greylevel,allRegiones,neighbour);
Cobject.SaveCharacteristic(allRegiones,whatcharact);
Cobject.Clear();
Se puede apreciar la estructura simple que permite extraer un conjunto de descriptores
seleccionados del archivo de configuración para efectuar los cálculos sobre las distintas
características. Basta con seguir la secuencia siguiente especificada para los métodos definidos:
1. Lectura del archivo de configuración.
2. Calculo de los descriptores seleccionados.
109
Visión Artificial con IMtdi
3. Almacenamiento de los descriptores que han sido calculados con anterioridad.
4. Liberar memoria de los distintos objetos que han intervenido en el procedimiento.
Procedimientos generales definidos
•
CalculateCharacteristic
CalculateCharacteristic(const char
*
FileOrig,const char
*
FileSeg,
C_Matrix::IndexT whatcharact [NumCharactConfig], const bool &greylevel,
const bool &allRegiones, const int &neighbour)
Calcula el conjunto de descriptores definido en whatcharact a partir del nombre
del archivo de la imagen original FileOrig y el de la imagen segementada
FileSeg.Además se le debe especificar si de los descriptores señalados se desean con o sin
niveles de gris a través de greylevel, así como el análisis de todas las regiones o sólo la
especificada en el archivo de configuración mediante allRegiones, además del tipo de
vecindad en el cálculo a través de neighbour.
•
SaveCharacteristic
SaveCharacteristic(const bool allRegiones, C_Matrix::IndexT whatcharact
[NumCharactConfig])
Almacena las regiones en la estructura de cuatro archivos especificada en los
apartados anteriores. Se debe establecer si son todas las regiones o solo la seleccionada en
el archivo de configuración por allRegiones, así como el vector de configuraciones leídas.
Procedimientos de acceso a los descriptores de región
•
c
c(const C_Matrix::IndexT row, const C_Matrix::IndexT col)
Devuelve el valor del descriptor de región referenciado mediante row y col.
•
car
car(const C_Matrix::ElementT numregion, const C_Matrix::IndexT col)
Devuelve el valor del descriptor de región a través del número de la región y la
columna del descriptor al que pertenece.
110
Representación y descripción
•
carFirstRow
carFirstRow()
Devuelve la primera fila de la matriz perteneciente a los descriptores de región.
•
carLastRow
carLastRow()
Devuelve la última fila de la matriz perteneciente a los descriptores de región.
•
carFirstCol
carFirstCol()
Devuelve la primera columna de la matriz perteneciente a los descriptores de
región.
•
carLastCol
carLastCol()
Devuelve la última columna de la matriz perteneciente a los descriptores de
región.
•
carRowN
carRowN()
Devuelve el número de filas de la matriz perteneciente a los descriptores de
región.
•
carColN
carColN()
Devuelve el número de columnas de la matriz perteneciente a los descriptores de
región.
Ejemplo
//Acceso a Caracteristica por row y col
C_TraceNum("Area",Cobject.c(1,C_Characteristic::Area));
//Acceso a Caracteristica por numero de region y col
C_TraceNum("Area",Cobject.car(3,C_Characteristic::Area));
C_TraceNum("FirstRow",Cobject.carFirstRow());
C_TraceNum("FirstCol",Cobject.carFirstCol());
C_TraceNum("LastRow",Cobject.carLastRow());
C_TraceNum("LastCol",Cobject.carLastCol());
C_TraceNum("RowN",Cobject.carRowN());
111
Visión Artificial con IMtdi
C_TraceNum("Col",Cobject.carColN());
Procedimientos de acceso a los momentos tensoriales
•
m
m(const C_Matrix::IndexT row, const C_Matrix::IndexT col)
Devuelve el valor de cualquier momento referenciado mediante row y col.
•
mnt
mnt(const C_Matrix::ElementT numregion, const C_Matrix::IndexT col)
Devuelve el valor de cualquier momento a través del número de la región y la
columna del descriptor al que pertenece.
•
mN
mN(const C_Matrix::IndexT row, const C_Matrix::IndexT col)
Devuelve el valor del momento ordinario referenciado mediante row y col.
•
mntN
mntN(const C_Matrix::ElementT numregion, const C_Matrix::IndexT col)
Devuelve el valor del momento ordinario a través del número de la región y la
columna del descriptor al que pertenece.
•
mT
mT(const C_Matrix::IndexT row, const C_Matrix::IndexT col)
Devuelve el valor del momento invariante frente a traslación referenciado
mediante row y col.
•
mntT
mntT(const C_Matrix::ElementT numregion, const C_Matrix::IndexT col)
Devuelve el valor del momento invariante frente a traslación a través del número
de la región y la columna del descriptor al que pertenece.
•
mR
mR(const C_Matrix::IndexT row, const C_Matrix::IndexT col)
Devuelve el valor del momento invariante frente a rotación referenciado mediante
row y col.
112
Representación y descripción
•
mntR
mntR(const C_Matrix::ElementT numregion, const C_Matrix::IndexT col)
Devuelve el valor del momento invariante frente a rotación a través del número de
la región y la columna del descriptor al que pertenece.
•
mE
mE(const C_Matrix::IndexT row, const C_Matrix::IndexT col)
Devuelve el valor del momento invariante frente a escalado referenciado mediante
row y col.
•
mntE
mntE(const C_Matrix::ElementT numregion, const C_Matrix::IndexT col)
Devuelve el valor del momento invariante frente a escalado a través del número
de la región y la columna del descriptor al que pertenece.
•
mntFirstRow
mntFirstRow()
Devuelve la primera fila de la matriz perteneciente a los descriptores de región.
•
mntLastRow
mntLastRow()
Devuelve la última fila de la matriz perteneciente a los descriptores de región.
•
mntFirstCol
mntFirstCol()
Devuelve la primera columna de la matriz perteneciente a los descriptores de
región.
•
mntLastCol
mntLastCol()
Devuelve la última columna de la matriz perteneciente a los descriptores de
región.
•
mntRowN
mntRowN()
113
Visión Artificial con IMtdi
Devuelve el número de filas de la matriz perteneciente a los descriptores de
región.
•
mntColN
mntColN()
Devuelve el número de columnas de la matriz perteneciente a los descriptores de
región.
Ejemplo
//Acceso a cualquier momento por row y col
C_TraceNum("Momento",Cobject.m(1,3));
//Acceso a cualquier momento por numero de region y col
C_TraceNum("Momento",Cobject.mnt(1,3));
//Acceso a momentos Ordinarios por row y M(p,q)
C_TraceNum("Momento",Cobject.mN(3,0,1));
//Acceso a momentos Ordinarios por numero de region y M(p,q)
C_TraceNum("Momento(0,1)",Cobject.mntN(3,0,1));
//Acceso a momentos Invariantes a Traslaciones por row y M(p,q)
C_TraceNum("Momento(0,1)",Cobject.mT(3,0,1));
//Acceso a momentos Invariantes a Traslaciones por numero region y M(p,q)
C_TraceNum("Momento(0,1)",Cobject.mntT(3,0,1));
//Acceso a momentos Invariantes a Rotaciones por row y M(p,q)
C_TraceNum("Momento(0,1)",Cobject.mR(3,0,1));
//Acceso a momentos Invariantes a Rotaciones por numero de region y
M(p,q)
C_TraceNum("Momento(0,1)",Cobject.mntR(3,0,1));
//Acceso a momentos Invariantes a Escalado por row y M(p,q)
C_TraceNum("Momento(0,1)",Cobject.mE(3,0,1));
//Acceso a momentos Invariantes a Escalado por numero de region y M(p,q)
C_TraceNum("Momento(0,1)",Cobject.mntE(3,0,1));
C_TraceNum("FirstRow",Cobject.mntFirstRow());
C_TraceNum("FirstCol",Cobject.mntFirstCol());
C_TraceNum("LastRow",Cobject.mntLastRow());
C_TraceNum("LastCol",Cobject.mntLastCol());
C_TraceNum("RowN",Cobject.mntRowN());
C_TraceNum("Col",Cobject.mntColN());
Procedimientos de acceso a la lista de vecinos adyacentes
•
MapAdjacent
MapAdjacent()
Devuelve la lista de regiones con todos los vecinos adyacentes a cada una de ellas
114
Representación y descripción
•
ListAdjacentPlace
ListAdjacentPlace(C_Matrix::ElementT numregion)
Devuelve la lista de regiones adyacente a una región dada mediante numregion.
Ejemplo
//**** Lista de Adyacentes ********
C_Characteristic::MapNeighb mapvecinos;
C_Characteristic::ListAdjacent listadj;
mapvecinos = Cobject.MapAdjacent();
listadj = Cobject.ListAdjacentPlace(3);
Procedimientos de acceso a los puntos del perímetro
•
MapPlacesPerimeter
MapPlacesPerimeter()
Devuelve la lista de todas las regiones con las listas de puntos del perímetro.
•
ListPerimeterPlace
ListPerimeterPlace(C_Matrix::ElementT numregion)
Devuelve la lista del puntos del perímetro para la región seleccionada mediante
numregion.
Ejemplo
//**** Lista del Perimetro ********
C_Characteristic::MapPerimeter mapregiones;
C_Characteristic::ListPerimeter listper;
mapregiones = Cobject.MapPlacesPerimeter();
listper = Cobject.ListPerimeterPlace(3);
Procedimientos de acceso a los nombres de los descriptores
•
CadNameCharact
CadNameCharact(CadenaT cadname[MaxCharacteristic+1])
Devuelve el vector con los nombres de los descriptores de región con la salvedad
de los momentos tensoriales.
•
NameCharact
NameCharact(char *cad,C_Matrix::IndexT col)
Devuelve el nombre de la característica referenciada por el número de columna de
dicho vector.
115
Visión Artificial con IMtdi
•
StringMomentN
StringMomentN(char *cad,C_Matrix::IndexT p,C_Matrix::IndexT q)
Devuelve el nombre de los momentos ordinarios en función del orden p y q.
•
StringMomentT
StringMomentT(char *cad,C_Matrix::IndexT p,C_Matrix::IndexT q)
Devuelve el nombre de los momentos invariantes frente a traslaciones en función
del orden p y q.
•
StringMomentR
StringMomentR(char *cad,C_Matrix::IndexT p,C_Matrix::IndexT q)
Devuelve el nombre de los momentos invariantes frente a rotaciones en función del
orden p y q.
•
StringMomentE
StringMomentE(char *cad,C_Matrix::IndexT p,C_Matrix::IndexT q)
Devuelve el nombre de los momentos invariantes frente a escalado en función del
orden p y q.
Ejemplo
//**** Array de Nombres de Caracteristicas *****
C_Characteristic::CadenaT cadname[C_Characteristic::MaxCharacteristic+1];
char name[MaxCadena];
Cobject.CadNameCharact(cadname);
Cobject.NameCharact(name,C_Characteristic::Area);
C_TraceStr("Name",name);
//**** Nombre de Momentos *****
Cobject.StringMomentN(name,0,1);
C_TraceStr("Name",name);
Cobject.StringMomentT(name,0,0);
C_TraceStr("Name",name);
Cobject.StringMomentR(name,1,0);
C_TraceStr("Name",name);
Cobject.StringMomentE(name,1,1);
C_TraceStr("Name",name);
116
4
Clasificación
M. PERALTA Y J.A. PIEDRA
4.1 INTRODUCCIÓN
El problema de la clasificación consiste básicamente en lograr una partición del espacio de
características en regiones mutuamente excluyentes y en asignar a cada región una clase. Si un
vector “pertenece” a una región del espacio de características, la forma a la que representa será
asignada a dicha clase.
Podemos dividir el conjunto de técnicas que forman parte del análisis de imágenes en tres
fases fundamentales. En una primera fase (procesamiento a bajo nivel) se realizan la adquisición
y el preprocesamiento de la imagen. La segunda fase (procesamiento a nivel intermedio)
comprende la segmentación, representación y descripción de los resultados obtenidos en la
primera fase. Los resultados anteriores constituyen la información de la que se sirve una tercera
fase (procesamiento a alto nivel) para llevar a cabo las técnicas de clasificación (o
reconocimiento) e interpretación de las que se obtienen los resultados finales.
4.2 PATRONES Y CLASES
Un patrón es una descripción cuantitativa o estructural de un objeto o de alguna otra
entidad de interés de una imagen. En general, un patrón está formado por una o más
características (también denominadas descriptores). Las características son cualquier medida
simbólica y/o numérica susceptible de ser calculada. Así por ejemplo, son características el
color, el tamaño, etc. Estas pueden ser representadas por variables continuas o discretas.
A su vez, definimos una clase como el conjunto de patrones que comparten los mismos
atributos y cuyo fin en el reconocimiento de patrones es identificar características y obtener una
buena medida de similaridad y asociatividad.
117
Visión Artificial con IMtdi
[11]¿Qué es lo que realmente diferencia a los distintos patrones?. El objetivo principal en
el reconocimiento de patrones o clasificación es distinguir entre diferentes patrones. Muchas de
las aproximaciones al reconocimiento de patrones están basadas en el concepto de similaridad
entre patrones. Por ejemplo, si un patrón, x, es muy similar a otro patrón que pertenece a la
clase w1, intuitivamente clasificaríamos a x como perteneciente a la clase w1. Cuantificar la
similaridad desarrollando medidas de similitud que den lugar a buenos clasificadores conlleva a
menudo una gran dificultad.
4.3 EXTRACCIÓN DE CARACTERÍSTICAS
[11]Cuando la imagen se encuentre segmentada se podrá realizar la extracción de
características, proceso que no es inmediato ya que nos debemos plantear el conjunto de
características que debemos calcular. Debemos tener presente que en la mayoría de los casos los
patrones a analizar presentan cambios o desviaciones en comparación con el caso “ideal”. Por
ejemplo, los humanos somos capaces de reconocer (clasificar) animales aunque estos aparezcan
con variaciones de tamaño y en distintas posiciones. Para solucionar el problema se pueden
calcular una serie de características invariantes. Por ejemplo, existen características como son los
momentos o los descriptores de Fourier, mediante los cuales podemos trasladar el objeto de la
imagen a clasificar a un dominio donde los nuevos datos que representan dichos objetos son
invariantes a rotaciones, traslaciones y escalas.
4.4 SELECCIÓN DE CARACTERÍSTICAS
La selección de características es una etapa en la que se intenta identificar aquellas
características que realmente aportan información relevante para el proceso de clasificación, o
dicho de otra forma, de todas aquellas características que pueden ser calculadas se seleccionarán
un conjunto tal que las características que lo conformen mantengan la capacidad de clasificación.
Para reconocer un grupo de objetos es necesario determinar aquellas características que permiten
agrupar dichos objetos de manera que no se solapen las clases entre sí.
Existen una serie de métodos de selección de características. Estos se clasifican en dos
grandes grupos:
118
Clasificación
•
Deterministas
Como la expansión de Karhunen-Loéve, el método de los discriminantes lineales
de Ficher, etc.
•
Probabilistas
Como el método de divergencia, la distancia de Bhattacharyya, la distancia de
Mahalanobius, etc.
4.5 VECTOR DE CARACTERÍSTICAS Y ESPACIO DE
CARACTERÍSTICAS
Las características se presentan en vectores de características n-dimensionales, que
pueden tener distintas representaciones. La representación vectorial del vector x es:
 x1 
x 
 2
. 
x= 
. 
. 
 
 xn 
Donde cada componente xi representa la i-ésima característica y n es el número total de
características. Una forma equivalente es x=(x1, x2, ..., xn)T, donde T indica la transposición.
Los vectores de características producen un espacio multidimensional o espacio de
características. Si cada característica es un número real, el espacio de características es Rn. A
menudo la clasificación es realizada particionando el espacio de características en regiones cada
una perteneciente a una clase.
4.6 FRONTERAS Y REGIONES DE DECISIÓN
[11]En una clasificación, el espacio de características se particiona en las regiones de
decisión que representan gráficamente la zona de pertenencia a una clase. Estas regiones deben
representar todo Rn y ser disjuntas, es decir, no debe de existir solapamiento entre dos regiones.
Al borde de cada una de las regiones de decisión se le denomina frontera de decisión. Desde
este punto de vista la clasificación del vector x es muy simple: determinamos la región de
119
Visión Artificial con IMtdi
decisión donde x “cae”, y asignamos x a esa clase. Aunque esta estrategia de decisión es sencilla,
la determinación de las regiones de decisión es una tarea compleja.
4.7 FUNCIONES DISCRIMINANTES
[6]El diseño de numerosos clasificadores se basa en las funciones discriminantes o de
decisión. Los métodos de decisión teórica para el reconocimiento se basan en la utilización de
funciones de decisión. Dado un patrón x formado por n descriptores, para m clases de patrones,
w1, w2, ..., wm, el problema del reconocimiento de patrones por decisión teórica consiste en
encontrar m funciones de decisión d1(x), d2(x), ..., dm(x), que tengan la propiedad de que, si un
patrón x pertenece a la clase wi, entonces:
di(x)>dj(x) j= 1,2,…,m; j≠i
Esto se puede entender como, dado un patrón desconocido x éste pertenece a la i-ésima
clase de patrones si, al sustituir la x en todas las funciones de decisión, di(x) toma el mayor valor.
La frontera de decisión que separa la clase wi de la wj, viene dada por los valores de x para
los que di(x)= dj(x) o, lo que es lo mismo di(x)-dj(x) = 0- Normalmente se suele tomar la frontera
de decisión entre dos clases de manera que sea la función
dij = di(x)-dj(x) = 0
De esta forma, dij(x)>0 para los patrones de la clase wi y dij(x)<0 para los patrones de la
clase wj.
Clasificador de la mínima distancia
[6]Supongamos que cada clase de patrones está representada por un vector prototipo:
mj =
1
Nj
∑x
j = 1,2,..., m
x∈w j
donde Nj es el número de patrones vectoriales de la clase wj y la suma se realiza para todos
los vectores. Una forma de determinar la pertenencia a una clase de patrón vectorial desconocido
x consiste en asignarlo a la clase del prototipo más próximo. Si se utiliza la distancia euclídea
para determinar el grado de proximidad, se reduce el problema del cálculo de medidas de
distancia:
120
Clasificación
D j ( x) = x − m j
j = 1,2,..., m
donde ||a|| = (aT a)1/2 es la norma de Euclides. Si Di(x) es la menor distancia, entonces se
asigna el patrón x a la clase wi. Una formulación similar a la anteriormente expuesta es:
1
d j ( x) = x T m j − m Tj m j
2
j = 1,2,..., m
entonces se asigna x a la clase wj si di(x) toma el mayor valor numérico. Esta formulación
hace referencia al concepto de decisión establecido anteriormente.
La frontera de decisión entre clases wi y wj para un clasificador de mínima distancia es:
d ij ( x) = d i ( x) − d j ( x) = x T (mi − m j ) −
1
(mi − m j )T (m − m j ) = 0
2
La superficie dada por esta ecuación es el bisector perpendicular a la línea que une mi y mj.
Para n=2, el bisector perpendicular es una línea, para n=3 es un plano, y para n>3 un hiperplano.
En la práctica, el clasificador de mínima distancia funciona bien cuando la distancia entre
los promedios es grande en comparación con las variaciones de los elementos de cada clase con
respecto a su media.
En la Figura 4–1 observamos un ejemplo de reconocimiento de dos tipos de objetos. Para
el objeto triángulo la mínima distancia a la media de cada conjunto de objetos es di(x), por lo que
podemos decir que pertenece (está más próximo) a los cilindros que a los círculos concéntricos.
Figura 4–1 Gráfica bidimensional de la clasificación de dos patrones mediante dos descriptores
121
Visión Artificial con IMtdi
4.7.1
Identificación de clases o aprendizaje
Para el proceso de identificación de clases es necesario disponer de una muestra lo
suficientemente grande para que nos permita poder enmarcar a una forma dentro de una única
clase de manera unívoca.
Los métodos de identificación se clasifican en dos tipos que son:
•
Supervisados
En una clasificación supervisada un operador que conoce la verdadera asignación
de las clases instruye al ordenador.
•
No supervisados
En el caso de los no supervisados, dado un conjunto de muestras pertenecientes a
clases que el operador ignora, la misión del identificador consistirá en diseñar la
mejor distribución de las clases, de tal modo que las muestras de las mismas
cumplan determinadas reglas de afinidad. Uno de los métodos de clasificación no
supervisada más conocida es el análisis cluster. El análisis cluster es un
procedimiento para detectar agrupaciones de datos. Este análisis es similar al
análisis discriminante en un aspecto, el investigador busca clasificar un conjunto
de objetos en grupos o categorías, sin embargo, en el análisis cluster se parte
desconociendo el grupo de elementos y a menudo el número de grupos.
4.8 TIPOS DE CLASIFICADORES
[3,6]Existen tres tipos de procedimientos de clasificación:
•
Clasificadores estadísticos
Hacen uso de las propiedades estadístisticas de la distribución de los patrones. En
este caso las clases son caracterizadas mediante una familia de densidades de
probabilidad, las cuales, a priori, se suponen conocidas. De esta forma es posible
calcular las probabilidades de pertenencia de un vector dado a cada una de las
clases existentes. Todos los clasificadores de este tipo están basados en el
Teorema de Bayes y se les denomina, por ello, bayesianos.
122
Clasificación
•
Clasificadores de distribuciones
En este caso las clases son caracterizadas a través de una familia de funciones
discriminantes. Dada una función discriminante ideal (permite clasificadores
libres de error), se intenta aproximar la función ideal mediante miembros de la
familia original.
•
Clasificadores no paramétricos
En este caso no es necesario ningún conocimiento de las densidades de
probabilidad ni de funciones discriminantes. Un ejemplo importante de este tipo
de clasificadores lo constituye la regla del vecino más próximo, la cual asigna una
forma desconocida a aquella clase que contiene el vector de características que
menos dista (en el sentido de distancia euclídea) del correspondiente a la forma
dada.
4.9 APROXIMACIONES AL RECONOCIMIENTO DE
PATRONES
[6,16]
Existen
tres
grandes
grupos
de
técnicas
utilizadas
en
la
etapa
de
clasificación/identificación de todo sistema de reconocimiento de patrones:
•
Enfoque estadístico
Utiliza técnicas estadísticas que hacen uso de las propiedades estadísticas de la
distribución de los patrones. La idea de estas técnicas es la de conseguir que la
clasificación conlleve la probabilidad más baja de error posible. El clasificador en
el que se basan estas técnicas es el de Bayes, y puede ser aplicado a distintas
distribuciones entre las clases, obteniendo
clasificadores especializados
(gaussianos, binomiales, etc.).
•
Enfoque estructural
Las técnicas estructurales se caracterizan por usar como valores de los patrones
información no numérica, estructurada en forma de cadenas. Un ejemplo de este
tipo de técnicas lo tenemos en los reconocedores sintácticos de patrones. Esta
técnica consiste en la especificación de un conjunto de primitivas de patrones, un
conjunto de reglas de manipulación de símbolos, que conforman una gramática, y
un autómata reconocedor que, gobernado por ésta, reconoce cadenas de
123
Visión Artificial con IMtdi
características estructurales que componen un patrón. Estos clasificadores resultan
útiles cuando el factor de discriminación entre patrones depende de la estructura
de la información en el patrón.
•
Enfoque neuronal
A diferencia de los clasificadores estadísticos, en los modelos neuronales no se
hacen suposiciones acerca de la distribución estadística de los patrones en las
clases. El sistema constituido por una red neuronal es capaz de realizar su función
mediante un proceso de aprendizaje en el que se muestran a la red patrones de
entradas o de entradas/salidas y mediante un algoritmo se modifican las
interconexiones entre distintas neuronas. Tomadas desde el punto de vista de la
clasificación estadística, las redes neuronales son clasificadores no paramétricos.
Los sistemas de computación neuronales son útiles cuando el problema maneja un
conocimiento escaso, cambiante y variable en el tiempo. Las técnicas neuronales
de clasificación de patrones convencionales proporcionan niveles de precisión
superiores a las técnicas tradicionales, especialmente cuando se usan conjuntos de
datos complicados, como por ejemplo, series temporales de imágenes.
4.10 EJEMPLOS
[14]La herramienta utilizada para la presentación de este ejemplo es el SPSS versión 10.0,
aplicación matemática que posee la funcionalidad de clasificar los distintos resultados obtenidos
mediante la especificación de un conjunto de patrones.
El SPSS ofrece dos métodos para agrupar objetos en categorías:
•
Conglomerados jerárquicos
En este método se comienza buscando el par de objetos que se encuentre más
cercano y los combina para formar un grupo. El algoritmo continúa paso a paso
uniendo pares de objetos, pares de grupos o un objeto con un grupo hasta que
todos los datos aparecen en un grupo. Todos los pasos se visualizan en un gráfico
(dendograma). El método es jerárquico debido a que una vez que dos objetos o
grupos son unidos, permanecen juntos hasta la última etapa. Es decir, un grupo
formado en una etapa del análisis contiene grupos de etapas anteriores.
124
Clasificación
•
Conglomerados de K-medias
Este procedimiento comienza utilizando los valores de los primeros k casos
contenidos en el archivo de datos como una estimación temporal de medias de los
k grupos, donde k es el número de grupos especificado por el usuario. El centro
del grupo inicial se calcula asignando cada caso, uno a uno, al grupo con el centro
más cercano para posteriormente actualizar dichos centros. Entonces se utiliza un
proceso iterativo para encontrar el centro del grupo final. En cada paso, los casos
son agrupados en el grupo con el centro más cercano, y el centro del grupo es de
nuevo calculado. Este proceso continua hasta que no se realizan más cambios en
los centros o hasta que se ejecuta el número máximo de iteraciones. El usuario
puede especificar los centros de los grupos. El método de los conglomerados de
las K-medias es útil cuando se posee un gran número de casos (200 o más).
La principal diferencia entre los dos métodos anteriores es que a nivel de computación y de
presentación de los resultados el método de los conglomerados de las K-medias se utiliza cuando
el número de casos es grande, mientras que el método de los conglomerados jerárquicos es
utilizado en caso contrario.
En los ejemplos presentados a continuación estudiaremos los distintos resultados que se
obtienen a partir un conjunto de datos, una vez que éstos son sometidos a una clasificación
siguiendo el método de conglomerados jerárquicos.
4.10.1 Imágenes
Conjunto de imágenes que corresponden a fichas de ajedrez, en concreto imágenes de las
figuras: Peón, Alfil, Torre, Caballo, Reina y Rey. Se han tomado vistas laterales de las mismas
para ser reconocidas. Estas serán mostradas en el siguiente apartado.
Figura-Alfil
Figura 4–2 Alfil 1 (50%). (Color | Gris | Umbralizado 155-255)
125
Visión Artificial con IMtdi
Figura 4–3 Alfil 2 (45%). (Color | Gris | Umbralizado 155-255)
Figura 4–4 Alfil 3 (65%). (Color | Gris | Umbralizado 155-255)
Figura 4–5 Alfil 3 (72%). (Color | Gris | Umbralizado 155-255)
Figura-Caballo
Figura 4–6 Caballo Lateral 1 (61%). (Color | Gris | Umbralizado 155-255)
126
Clasificación
Figura 4–7 Caballo Lateral 2 (65%). (Color | Gris | Umbralizado 155-255)
Figura 4–8 Caballo Lateral 3 (76%). (Color | Gris | Umbralizado 155-255)
Figura 4–9 Caballo Lateral 4 (76%). (Color | Gris | Umbralizado 155-255)
Figura Peón
Figura 4–10 Peón 1 (65%). (Color | Gris | Umbralizado 155-255)
127
Visión Artificial con IMtdi
Figura 4–11 Peón 2 (71%). (Color | Gris | Umbralizado 155-255)
Figura 4–12 Peón 3 (68%). (Color | Gris | Umbralizado 155-255)
Figura 4–13 Peón 4 (68%). (Color | Gris | Umbralizado 155-255)
Figura Reina
Figura 4–14 Reina 1 (68%). (Color | Gris | Umbralizado 155-255)
128
Clasificación
Figura 4–15 Reina 2 (67%). (Color | Gris | Umbralizado 155-255)
Figura 4–16 Reina 3 (47%). (Color | Gris | Umbralizado 155-255)
Figura 4–17 Reina 4 (50%). (Color | Gris | Umbralizado 155-255)
Figura Rey
Figura 4–18 Rey 1 (44%). (Color | Gris | Umbralizado 155-255)
129
Visión Artificial con IMtdi
Figura 4–19 Rey 2 (47%). (Color | Gris | Umbralizado 155-255)
Figura 4–20 Rey 3 (65%). (Color | Gris | Umbralizado 155-255)
Figura 4–21 Rey 4 (71%). (Color | Gris | Umbralizado 155-255)
Figura 4–22 Rey Lateral 1 (47%). (Color | Gris | Umbralizado 155-255)
130
Clasificación
Figura 4–23 Rey Lateral 2 (47%). (Color | Gris | Umbralizado 155-255)
Figura 4–24 Rey Lateral 3 (70%). (Color | Gris | Umbralizado 155-255)
Figura 4–25 Rey Lateral 4 (70%). (Color | Gris | Umbralizado 155-255)
Figura-Torre
Figura 4–26 Torre 1 (62%). (Color | Gris | Umbralizado 155-255)
131
Visión Artificial con IMtdi
Figura 4–27 Torre 2 (64%). (Color | Gris | Umbralizado 155-255)
Figura 4–28 Torre 3 (88%). (Color | Gris | Umbralizado 155-255)
Figura 4–29 Torre 4 (92%). (Color | Gris | Umbralizado 155-255)
EJEMPLOS DE RECONOCIMIENTO DE FIGURAS:
Figura 4–30 Imagen 1 (18%). (Color | Gris | Umbralizado 155-255)
Figura 4–31 Imagen 2 (32%). (Color | Gris | Umbralizado 155-255)
132
Clasificación
Figura 4–32 Imagen 3 (23%). (Color | Gris | Umbralizado 155-255)
Figura 4–33 Imagen 4 (18%). (Color | Gris | Umbralizado 155-255)
Figura 4–34 Imagen 5 (21%). (Color | Gris | Umbralizado 155-255)
4.10.2 Fases de procesado previas a la clasificación
1. Adquisición de la imagen con una cámara digital. Obtenemos una imagen en
color y formato JPEG.
2. Conversión de la imagen a BMP y niveles de gris mediante el Paint Shop Pro
4.0. No se aplicó ningún tipo de filtro ya que las imágenes han sido tomadas
con flash sobre fondo negro. Lo que se persigue es el resaltado de los contornos
de las distintas figuras.
3. Segmentación aplicando el método de umbralizado.
4. Extracción de las características de la imagen.
5. Inclusión de las características obtenidas en una hoja de cálculo.
6. Etiquetado de cada una de las regiones.
7. Aplicación de un método de clasificación de conglomerados jerárquicos
haciendo uso del SPSS.
4.10.3 Ejemplo 1
En este ejemplo, utilizaremos los datos y las variables que aparecen en las tablas que se
muestran a continuación. Los descriptores pertenecen a los siete invariantes de Hu y la
extracción se ha llevado a cabo sin tener en cuenta los niveles de gris de las imágenes.
133
Visión Artificial con IMtdi
Etiqueta Imagen invHu1 InvHu2
invHu3
invHu4
invHu5
invHu6
invHu7
Alfil
1
0,39834 0,11672 0,0019696
0,0039255
-7,31E-05
0,001341
-1,75E-05
Alfil
2
0,40987 0,12516 0,0024978
0,0047292
-0,00010377
0,0016725
-2,59E-05
Alfil
3
0,43012 0,14162 0,0030304
0,0054538
-0,00012968
0,0020522
-3,33E-05
Alfil
4
0,44062 0,15027 0,0040056
0,0067675
-0,00018098
0,0026213
-4,98E-05
invHu6
invHu7
Tabla 4–1 Grupo de descriptores para el Alfil
Etiqueta Imagen invHu1
invHu2
invHu3
invHu4
invHu5
C_Lateral
1
0,31611 0,062073
0,00013827
0,00012038
-1,77E-08 2,85E-05 -9,63E-09
C_Lateral
2
0,30511 0,055511
9,66E-05
7,47E-05
-7,05E-09 1,57E-05 -4,86E-09
C_Lateral
3
0,31191
0,05984
0,00017504
0,00017419
-4,44E-08 4,04E-05 -1,97E-08
C_Lateral
4
0,30335 0,054713
0,00013703
0,0001178
-2,69E-08 2,41E-05 -1,32E-08
Tabla 4–2 Grupo de descriptores para el Caballo lateral
Etiqueta Imagen invHu1
invHu2
invHu3
invHu4
invHu5
invHu6
invHu7
0,00152
-2,62E-05
Peon
1
0,38355 0,099283 0,0022692
0,0048254
-0,00011006
Peon
2
0,38912
0,10214
0,002484
0,0053291
-0,00013382
0,0017009 -3,11E-05
Peon
3
0,38582
0,10094
0,0022497
0,0048342
-0,00011282
0,0015351 -2,62E-05
Peon
4
0,38658
0,10134
0,0023214
0,0049563
-0,00011849
0,0015772 -2,77E-05
Tabla 4–3 Grupo de descriptores para el Peón
Etiqueta Imagen invHu1
invHu2
invHu3
invHu4
invHu5
invHu7
Reina
1
0,50216 0,20325 0,0041299
0,0065167
-0,00017792
0,0029376 -4,69E-05
Reina
2
0,49893
0,0041961
0,0070349
-0,0001977
0,0031408 -5,38E-05
Reina
3
0,50771 0,20883 0,0054945
0,0086853
-0,00028219
0,0039652 -8,12E-05
Reina
4
0,50688 0,20617 0,0056849
0,0088165
-0,00026325
0,0040018 -8,34E-05
0,1997
Tabla 4–4 Grupo de descriptores para la Reina
134
invHu6
Clasificación
Etiqueta Imagen invHu1
invHu2
invHu3
invHu4
invHu5
invHu6
invHu7
R_Frente
1
0,57092 0,27695 0,0077493
0,010803
-0,00033732
0,0056847
-0,00012458
R_Frente
2
0,57263 0,27686 0,0084659
0,012434
-0,00058581
0,0065407
-0,00016717
R_Frente
3
0,57521
0,01199
-0,00054593
0,0063441
-0,00015549
R_Frente
4
0,55814 0,26232 0,0066408
0,0096114
-0,0002798
0,0049224
-9,93E-05
R_Lateral
5
0,54151 0,23961
0,013552
0,019157
-0,0011697
0,009375
-0,00039079
R_Lateral
6
0,57282
0,2721
0,016349
0,022245
-0,0014175
0,011602
-0,00052207
R_Lateral
7
0,56801 0,26751
0,012071
0,016981
-0,00085712
0,008781
-0,00030509
R_Lateral
8
0,54046 0,23929
0,011473
0,016605
-0,00091613
0,008121
-0,00029507
0,2801
0,008109
Tabla 4–5 Grupo de descriptores para el Rey
Etiqueta Imagen invHu1
invHu2
invHu3
invHu4
invHu5
invHu6
invHu7
Torre
1
0.31312 0.061029
0.00055797
0.0013326 -9,48E-02
0.00032918
-2,07E-02
Torre
2
0.31599
0.06334
0.00060203
0.0014321 -1,08E-01
0.0003604
-2,37E-02
Torre
3
0.30974 0.059925
0.00040993
0.0010951 -6,82E-02
0.00026805
-1,40E-02
Torre
4
0.31489 0.063026
0.00042913
0.0010836 -6,27E-02
0.00027199
-1,36E-02
Tabla 4–6 Grupo de descriptores para la Torre
Etiqueta
Región invHu1
invHu2
invHu3
InvHu4
invHu5
invHu6
invHu7
Rey_Lateral
1
0.54164
0.24129
0.010828
0.015449
-0.00088485
0.0075884
-0.00025965
Reina
2
0.52294
0.22375
0.0063574
0.0093942
-0.00027976
0.0044424
-9,38E-01
Alfil
3
0.43188
0.1433
0.0038594
0.0064907
-0.00016962
0.0024566
-4,76E-01
Caballo_Lat
4
0.30928 0.058699 0.00010621
7,65E-01
-2,00E-05
1,65E-01
-3,32E-05
Torre
5
0.31171 0.061406 0.00041914 0.00099025
-4,90E-02
0.00024524
-1,11E-02
Peon
6
0.38041 0.096059
-0.00011704
0.0015688
-2,84E-01
0.0023838
0.0050653
Tabla 4–7 Grupo de descriptores para la imagen 1 de reconocimiento de figuras
Etiqueta
Región invHu1
invHu2
invHu3
invHu4
invHu5
invHu6
invHu7
Reina
1
0.48447
0.18533
0.0031486
0.005677
-0.00013599
0.0024418
-3,54E-01
Caballo_Lat
2
0.2988
0.052451 0.00010089
6,53E-01
-2,26E-05
1,42E-01
-2,86E-05
Torre
3
0.29681 0.051878 0.00023902
0.00076429
-3,90E-02
0.00017407 -7,04E-03
Peon
4
0.35112 0.075195 0.00096574
0.0030309
-5,75E-01
0.00083104 -1,09E-01
Peon
5
0.35992
0.08105
0.0011269
0.0033193
-6,85E-01
0.00094496 -1,33E-01
Peon
6
0.35535 0.079364
0.0010806
0.0030859
-5,65E-01
0.00086857 -1,09E-01
Tabla 4–8 Grupo de descriptores para la imagen 2 de reconocimiento de figuras
135
Visión Artificial con IMtdi
Etiqueta
Región invHu1
invHu2
invHu3
invHu4
invHu5
invHu6
invHu7
Rey_Frente
1
0.54219
0.24397
0.0053288
0.0083959
-0.00030322
0.0041467
-7,79E-01
Reina
2
0.48454
0.18566
0.0032711
0.0058072
-0.00014219
0.0025003
-3,70E-01
Alfil
3
0.4148
0.1287
0.0027082
0.0051204
-0.00011502
0.0018369
-2,98E-01
Caballo_Lat
4
0.29764 0.051815 0.00010986
7,61E-01
-3,20E-05
1,61E-01
-3,86E-06
Torre
7
0.29906 0.052271 0.00025911
0.00085742
-4,70E-02
0.00019547 -8,17E-03
Peon
8
0.3638
0.0036033
-7,66E-01
0.0010502
0.085187
0.0013636
-1,48E-01
Tabla 4–9 Grupo de descriptores para la imagen 3 de reconocimiento de figuras
Etiqueta
Región invHu1
invHu2
invHu3
invHu4
invHu5
invHu6
invHu7
Caballo_Lat
1
0.29437 0.049368
0.00017672
0.00023443
4,60E-04
4,86E-01
1,95E-05
Torre
2
0.32028 0.064301
0.0016203
0.00029233
1,19E-03
6,92E-01
-1,93E-04
Rey_Frente
3
0.56771
0.27188
0.017022
0.0089403
9,94E-02
0.0046611
-3,07E-01
Reina
5
0.52884
0.22725
0.010103
0.00435
2,83E-01
0.002069
4,13E-02
Alfil
6
0.43157
0.14337
0.011407
0.005597
3,66E-01
0.0021192
1,45E-02
Peon
7
0.39848
0.10025
0.010258
0.0021238
8,16E-02
0.00067203
2,18E-02
Tabla 4–10 Grupo de descriptores para la imagen 4 de reconocimiento de figuras
Etiqueta
Región invHu1
invHu2
invHu3
invHu4
invHu5
invHu6
invHu7
Rey_Frente
1
0.55028
0.25356
0.005855
0.0088109
-0.00024946
0.0044359
-8,48E-01
Reina
2
0.49442
0.19506
0.0034009
0.0059782
-0.00014704
0.0026374
-3,89E-01
Caballo_Lat
3
0.30793 0.057427 0.00010737
7,72E-01
-5,90E-05
1.72e-05
-5,59E-05
Caballo_Lat
4
0.30542 0.055946
0.0001399
0.00012488
-1,95E-04
2,80E-01
-9,97E-05
Torre
6
0.29713 0.052098 0.00022336
0.0007379
-3,74E-02
0.00016841 -6,60E-03
Peon
7
0.38306 0.097623
0.0018533
0.0043576
-9,91E-01
0.0013615
-2,23E-01
Peon
8
0.37094 0.089314
0.0013422
0.0035837
-7,40E-01
0.0010704
-1,49E-01
Peon
9
0.35696 0.079292
0.0010386
0.0031534
-6,10E-01
0.00088766 -1,17E-02
Peon
10
0.36229 0.083772
0.0012258
0.0033738
-6,62E-01
0.00097525 -1,29E-01
Tabla 4–11 Grupo de descriptores para la imagen 5 de reconocimiento de figuras
Una vez seleccionadas las opciones Analizar, Clasificar y Conglomerados Jerárquicos y
situados en la pantalla Análisis de Conglomerado Jerárquico, seleccionaremos las siete variables
correspondientes a los momentos invariantes de Hu y la variable que nos permitirá etiquetar cada
uno de los casos. La figura muestra la configuración final de esta pantalla.
136
Clasificación
Figura 4–35 Pantalla del análisis de conglomerados jerárquicos para el SPSS
En la pantalla a la que accedemos tras seleccionar la opción Método podemos especificar la
medida de distancia utilizada que para este caso es la distancia Euclidea al cuadrado y el
método de conglomeración siendo este la vinculación inter-grupos tal y como muestra la
pantalla de la Figura 4–36.
Figura 4–36 Pantalla de métodos de conglomeración del SPSS
Posteriormente se seleccionará la opción Estadísticos, en ella obtendremos:
•
Matriz de distancias
Muestra las distancias calculadas.
137
Visión Artificial con IMtdi
•
Conglomerado de pertenencias
Donde se muestra la pertenencia a los grupos para un rango de grupos posibles.
En nuestro caso los datos introducidos para esta pantalla son los que muestra la pantalla de
la figura....
Figura 4–37 Pantalla de estadísticos del SPSS
Por último y a partir de la pantalla de Análisis de conglomerados jerárquico
seleccionaremos la opción de Gráficos donde se nos da la opción de visualizar el Dendograma,
tal y como nos muestra la pantalla.
Figura 4–38 Pantalla de gráficos del SPSS
Cabe destacar un aspecto clave a la hora de interpretar el dendograma, lo que prima es que
secuencialmente se puedan leer diferenciadas las distintas clases o grupos de objetos del mismo
tipo independiente de la agrupación inicial. Es decir, puede haber clases con rangos de valores
para un descriptor bien diferenciados, pero con una distancia de separación entre sí muy
pequeña, entonces el SPSS los engloba juntos pero secuencialmente no están revueltos.
Una vez seleccionadas todas las opciones se procede a la descripción de los distintos
resultados en función del conjunto de datos tomados.
138
Clasificación
Resultados teniendo en cuenta sólo los patrones
En este apartado se han tenido en cuenta sólo las seis primeras tablas donde se encuentra
los distintos patrones de los objetos a los que referencia.
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
2
2
2
4:Alfil
2
2
2
5:C_Lateral
3
3
3
6:C_Lateral
3
3
3
7:C_Lateral
3
3
3
8:C_Lateral
3
3
3
9:Peon
4
1
1
10:Peon
4
1
1
11:Peon
4
1
1
12:Peon
4
1
1
13:Reina
5
4
4
14:Reina
5
4
4
15:Reina
5
4
4
16:Reina
5
4
4
17:R_Frente
6
5
5
18:R_Frente
6
5
5
19:R_Frente
6
5
5
20:R_Frente
6
5
5
21:R_Lateral
7
6
6
22:R_Lateral
6
5
5
23:R_Lateral
6
5
5
24:R_Lateral
7
6
6
25:Torre
8
7
7
26:Torre
8
7
7
27:Torre
9
8
7
28:Torre
9
8
7
En la tabla del conglomerado de pertenencias cada una de las columnas representa el
conjunto de conglomerados obtenidos para un número de grupos predefinidos. Se observan los
siguientes resultados en función de la columna a analizar:
139
Visión Artificial con IMtdi
•
Columna de 7 conglomerados
La separación de los grupos en 7 es bastante buena con la salvedad del alfil que se
separa perteneciendo al grupo de los peones. Así como, el rey se subdivide en dos
grupos 5 y 6. El resto de figuras se mantienen perfectamente agrupadas.
•
Columna de 8 conglomerados
Para la separación en 8 grupos los valores descritos para los conglomenrados
anteriores se mantienen, cabe destacar la subdivisión en dos subgrupos del grupo
correspondiente a la figura de la torre.
•
Columna de 9 conglomerados
En una separación en 9 grupos la clasificación mejora ya que se elimina la
pertenencia del alfil al grupo del peón quedando este subdividido en dos grupos.
La mejor clasificación para este ejemplo concreto es tomar un máximo de 9
conglomerados ya que no mezcla patrones entre sí.
140
Clasificación
Dendograma
Se puede apreciar que a través del dendograma la separación entre los distintos patrones es
bastante buena. Como se definió con anterioridad lo que prima en el dendograma es la
secuencialidad y no tanto los distintos grupos que establece. Hay que destacar en función de lo
comentado que la unión en el dibujo del peón junto a un subconjunto de alfiles no implica que el
descriptor no funcione correctamente sino todo lo contrario, ya que secuencialmente se pueden
leer separados ambos grupos, es decir, no existen elementos de un grupo intercalados con los
elementos del siguiente.
Resultados teniendo en cuenta los patrones y la imagen 1 del reconocimiento
de figuras
En este apartado, así como en los sucesivos se emplea de base las seis primeras tablas
donde se encuentran los distintos patrones de los objetos a los que referencia y una de las
imágenes del reconocimiento de figuras para dificultar un poco más la labor de clasificación.
141
Visión Artificial con IMtdi
Conglomerado de pertenencia
Caso
142
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
4
3
18:R_Frente
4
4
3
19:R_Frente
4
4
3
20:R_Frente
4
4
3
21:R_Lateral
4
4
3
22:R_Lateral
4
4
3
23:R_Lateral
4
4
3
24:R_Lateral
4
4
3
25:Torre
5
2
2
26:Torre
5
2
2
27:Torre
5
2
2
28:Torre
5
2
2
29:Rey_Lateral
4
4
3
30:Reina
6
5
4
31:Alfil
7
6
5
32:Caballo_Lat
8
7
6
33:Torre
5
2
2
34:Peon
9
8
7
Clasificación
La agrupación para los distintos conglomerados es muy similar variando entre ellos la
numeración. Cabe destacar la división en 9 grupos donde se refleja como característica a reflejar
una unión entre los peones y los alfiles. Las figuras 30, 31, 32 y 34 se encuentran agrupadas en
diferentes conglomerados con respecto a sus patrones.
Dendograma
El dendograma clasifica bien salvo los últimos cuatro elementos a los que engloba como
elementos distintos del gráfico. En cuanto a la secuencialidad para el resto de los elementos se
observa una buena funcionalidad ya que no hay intercalados elementos de patrones disjuntos.
143
Visión Artificial con IMtdi
Resultados teniendo en cuenta los patrones y la imagen 2 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
144
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
4
3
18:R_Frente
4
4
3
19:R_Frente
4
4
3
20:R_Frente
4
4
3
21:R_Lateral
4
4
3
22:R_Lateral
4
4
3
23:R_Lateral
4
4
3
24:R_Lateral
4
4
3
25:Torre
5
2
2
26:Torre
5
2
2
27:Torre
5
2
2
28:Torre
5
2
2
29:Reina
6
5
4
30:Caballo_Lat
7
6
5
31:Torre
5
2
2
32:Peon
8
7
6
33:Peon
9
8
7
Clasificación
34:Peon
8
7
6
Se produce una agrupación entre los grupos del peón y el alfil, así como, se encuentran
fuera de lugar las últimas figuras.
Dendograma
Para el gráfico expuesto se observa que se encuentran fuera de lugar la reina 29 los tres
peones y el caballo lateral 30. Esto implica una mayor imperfección en la clasificación de los
objetos con los descriptores seleccionados y el método escogido.
145
Visión Artificial con IMtdi
Resultados teniendo en cuenta los patrones y la imagen 3 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
146
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
3
3
18:R_Frente
4
3
3
19:R_Frente
4
3
3
20:R_Frente
4
3
3
21:R_Lateral
4
3
3
22:R_Lateral
4
3
3
23:R_Lateral
4
3
3
24:R_Lateral
4
3
3
25:Torre
2
2
2
26:Torre
2
2
2
27:Torre
2
2
2
28:Torre
2
2
2
29:Rey_Frente
5
4
4
30:Reina
6
5
5
31:Alfil
7
6
5
32:Caballo_Lat
8
7
6
33:Torre
2
2
2
Clasificación
34:Peon
9
8
7
Centrándonos en el conglomerado 9 podemos observar la agrupación entre los patrones de
peón y alfil ó caballo lateral y torre. No obstante se contemplan las figuras fuera de lugar como
son 29, 30, 31, 32 y 34.
Dendograma
En esta gráfica se puede observar que las figuras mal situadas son la reina 30, el alfil 31, el
Peón 34 y el caballo lateral 32. El resto de grupos mantiene su secuencialidad en el dibujo.
147
Visión Artificial con IMtdi
Resultados teniendo en cuenta los patrones y la imagen 4 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
148
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
1
6:C_Lateral
2
2
1
7:C_Lateral
2
2
1
8:C_Lateral
2
2
1
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
2
14:Reina
3
3
2
15:Reina
3
3
2
16:Reina
3
3
2
17:R_Frente
3
3
2
18:R_Frente
3
3
2
19:R_Frente
3
3
2
20:R_Frente
3
3
2
21:R_Lateral
3
3
2
22:R_Lateral
3
3
2
23:R_Lateral
3
3
2
24:R_Lateral
3
3
2
25:Torre
2
2
1
26:Torre
2
2
1
27:Torre
2
2
1
28:Torre
2
2
1
29:Caballo_Lat
4
4
3
30:Torre
5
5
4
31:Rey_Frente
6
6
5
32:Reina
7
7
6
33:Alfil
8
8
7
Clasificación
34:Peon
9
1
1
Para este ejemplo y basándonos en la primera columna de resultados se observa la
agrupación entre alfil y peón ó caballo lateral y torre ó reina y rey. Las figuras 29-34 se
encuentran fuera de lugar.
Dendograma
Para este caso las figuras mal situadas son el peón 29, la reina 32, el alfil 33, el caballo
lateral 29 y la torre 30. Al igual que antes el resto de patrones mantiene la correspondiente
secuencialidad con el resto de grupos.
149
Visión Artificial con IMtdi
Resultados teniendo en cuenta los patrones y la imagen 5 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
150
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
1
1
1
6:C_Lateral
1
1
1
7:C_Lateral
1
1
1
8:C_Lateral
1
1
1
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
2
2
1
14:Reina
2
2
1
15:Reina
2
2
1
16:Reina
2
2
1
17:R_Frente
2
2
1
18:R_Frente
2
2
1
19:R_Frente
2
2
1
20:R_Frente
2
2
1
21:R_Lateral
2
2
1
22:R_Lateral
2
2
1
23:R_Lateral
2
2
1
24:R_Lateral
2
2
1
25:Torre
1
1
1
26:Torre
1
1
1
27:Torre
1
1
1
28:Torre
1
1
1
29:Rey_Frente
3
3
2
30:Reina
4
4
3
31:Caballo_Lat
5
5
4
32:Caballo_Lat
6
6
5
33:Torre
1
1
1
Clasificación
34:Peon
7
7
6
35:Peon
8
8
7
36:Peon
9
8
7
37:Peon
8
8
7
Las agrupaciones generadas en la tabla de conglomerados de pertenencias con respecto a la
primera columna de resultados son: peón-caballo-alfil-torre; reina-rey. Las figuras fuera de lugar
son 29-32 y los peones 34-37.
Dendograma
Se observa la separación del grupo del peón en dos subgrupos, así como también se
visualiza una irregularidad en cuanto a la secuencialidad para las siguientes figuras caballo
lateral 31,32, reina 30 y rey de frente 29.
151
Visión Artificial con IMtdi
4.10.4 Ejemplo 2
En el siguiente ejemplo estudiaremos el poder de clasificación de los momentos invariantes
de Hu. En este caso se han mantenido los mismos parámetros para la clasificación que en el
ejemplo anterior y únicamente se han reducido el número de variables seleccionadas, los
momentos seleccionados serán del 1 al 5.
152
Clasificación
Resultados teniendo en cuenta sólo los patrones
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
2
2
2
4:Alfil
2
2
2
5:C_Lateral
3
3
3
6:C_Lateral
3
3
3
7:C_Lateral
3
3
3
8:C_Lateral
3
3
3
9:Peon
4
1
1
10:Peon
4
1
1
11:Peon
4
1
1
12:Peon
4
1
1
13:Reina
5
4
4
14:Reina
5
4
4
15:Reina
5
4
4
16:Reina
5
4
4
17:R_Frente
6
5
5
18:R_Frente
6
5
5
19:R_Frente
6
5
5
20:R_Frente
6
5
5
21:R_Lateral
7
6
6
22:R_Lateral
6
5
5
23:R_Lateral
6
5
5
24:R_Lateral
7
6
6
25:Torre
8
7
7
26:Torre
8
7
7
27:Torre
9
8
7
28:Torre
9
8
7
Es prácticamente igual que el descrito para el ejemplo anterior.
153
Visión Artificial con IMtdi
Dendograma
El utilizar en vez de los 7 invariantes de Hu solo los 5 primeros y manteniendo el mismo
método no produce modificación alguna sobre este dendograma.
154
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 1 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
2
2
2
4:Alfil
2
2
2
5:C_Lateral
3
3
3
6:C_Lateral
3
3
3
7:C_Lateral
3
3
3
8:C_Lateral
3
3
3
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
4
4
4
14:Reina
4
4
4
15:Reina
4
4
4
16:Reina
4
4
4
17:R_Frente
5
5
5
18:R_Frente
5
5
5
19:R_Frente
5
5
5
20:R_Frente
5
5
5
21:R_Lateral
6
6
4
22:R_Lateral
5
5
5
23:R_Lateral
5
5
5
24:R_Lateral
6
6
4
25:Torre
7
7
6
26:Torre
7
7
6
27:Torre
8
7
6
28:Torre
8
7
6
29:Rey_Lateral
6
6
4
30:Reina
6
6
4
31:Alfil
2
2
2
32:Caballo_Lat
9
8
7
33:Torre
8
7
6
155
Visión Artificial con IMtdi
34:Peon
1
1
1
Al igual que para el ejemplo anterior correspondiente a este resultado la situación es muy
similar y las figuras que se quedan en grupos diferentes son 30, 32. Con respecto al ejemplo
anterior es una mejora ya que se encontraban fuera de lugar cuatro figuras y no solo dos. Esto
lleva a condicionar que es muy importante a la hora de clasificar seleccionar un conjunto de
descriptores adecuados para permitir una buena separación entre patrones disjuntos.
Dendograma
En el dendograma se aprecia con más claridad la unión entre clases y como la reducción
entre en número de descriptores mejora la clasificación quedando fuera de lugar solo las dos
últimas figuras en lugar de cuatro como en el ejemplo anterior.
156
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 2 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
2
1
1
4:Alfil
2
1
1
5:C_Lateral
3
2
2
6:C_Lateral
3
2
2
7:C_Lateral
3
2
2
8:C_Lateral
3
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
4
3
3
14:Reina
4
3
3
15:Reina
4
3
3
16:Reina
4
3
3
17:R_Frente
5
4
4
18:R_Frente
5
4
4
19:R_Frente
5
4
4
20:R_Frente
5
4
4
21:R_Lateral
5
4
4
22:R_Lateral
5
4
4
23:R_Lateral
5
4
4
24:R_Lateral
5
4
4
25:Torre
6
5
2
26:Torre
6
5
2
27:Torre
6
5
2
28:Torre
6
5
2
29:Reina
4
3
3
30:Caballo_Lat
7
6
5
31:Torre
6
5
2
32:Peon
8
7
6
33:Peon
9
8
7
157
Visión Artificial con IMtdi
34:Peon
8
7
6
La clasificación es muy similar al ejemplo anterior destacando que para el conglomerado 9
se encuentra fuera de lugar la figura 30 y los tres últimos peones.
Dendograma
En el gráfico se aprecia con más claridad los variaciones en cuanto mejora sufridas con
respecto al ejemplo anterior.
158
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 3 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
2
2
1
4:Alfil
2
2
1
5:C_Lateral
3
3
2
6:C_Lateral
3
3
2
7:C_Lateral
3
3
2
8:C_Lateral
3
3
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
4
4
3
14:Reina
4
4
3
15:Reina
4
4
3
16:Reina
4
4
3
17:R_Frente
5
5
4
18:R_Frente
5
5
4
19:R_Frente
5
5
4
20:R_Frente
5
5
4
21:R_Lateral
5
5
4
22:R_Lateral
5
5
4
23:R_Lateral
5
5
4
24:R_Lateral
5
5
4
25:Torre
6
6
5
26:Torre
6
6
5
27:Torre
7
6
5
28:Torre
7
6
5
29:Rey_Frente
5
5
4
30:Reina
4
4
3
31:Alfil
1
1
1
32:Caballo_Lat
8
7
6
33:Torre
7
6
5
159
Visión Artificial con IMtdi
34:Peon
9
8
7
Con respecto al ejemplo anterior y en función de los 9 conglomerados cabe mencionar la
puesta fuera de lugar de la figura 34 con respecto a las cinco descritas en el otro ejemplo, así
como la separación entre los grupos de caballo lateral y torre que ya no se encuentran unidos.
Dendograma
Los cambios descritos se reflejan en el dendograma de manera más clara siguiendo
siempre la secuencialidad en la distribución de los patrones disjuntos. Se observa como se
encuentran fuera de lugar las figuras 32, 34.
160
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 4 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
4
3
18:R_Frente
4
4
3
19:R_Frente
4
4
3
20:R_Frente
4
4
3
21:R_Lateral
4
4
3
22:R_Lateral
4
4
3
23:R_Lateral
4
4
3
24:R_Lateral
4
4
3
25:Torre
5
2
2
26:Torre
5
2
2
27:Torre
5
2
2
28:Torre
5
2
2
29:Caballo_Lat
2
2
2
30:Torre
2
2
2
31:Rey_Frente
6
5
4
32:Reina
7
6
5
33:Alfil
8
7
6
161
Visión Artificial con IMtdi
34:Peon
9
8
7
Mejora la estructura para la primera columna de resultados respecto al ejemplo 1. Además,
destacar que la única agrupación que se conserva es el peón y el alfil y las figuras mal ubicadas
son 30-34.
Dendograma
Lo descrito con anterioridad para los conglomerados de pertenencia queda reflejado en la
gráfica del dendograma.
162
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 5 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
4
3
18:R_Frente
4
4
3
19:R_Frente
4
4
3
20:R_Frente
4
4
3
21:R_Lateral
4
4
3
22:R_Lateral
4
4
3
23:R_Lateral
4
4
3
24:R_Lateral
4
4
3
25:Torre
5
2
2
26:Torre
5
2
2
27:Torre
5
2
2
28:Torre
5
2
2
29:Rey_Frente
4
4
3
30:Reina
3
3
3
31:Caballo_Lat
6
5
4
32:Caballo_Lat
2
2
2
33:Torre
5
2
2
163
Visión Artificial con IMtdi
34:Peon
7
6
5
35:Peon
8
7
6
36:Peon
9
8
7
37:Peon
9
8
7
Desaparece con respecto al ejemplo 1 las agrupaciones descritas manteniéndose la del peón
y el alfil. Las figuras fuera de lugar se reducen al caballo 31 y los cuatro últimos peones por lo
que se observa una mejora bastante buena con respecto al ejemplo anterior.
Dendograma
El dendograma refleja exactamente el contenido de las tabla donde se aprecia que el
caballo 31 se encuentra separado del resto y del subgrupo de peones que se ha realizado.
164
Clasificación
4.10.5 Ejemplo 3
En este ejemplo observaremos los nuevos resultados que nos aporta una clasificación
donde mantenemos las mismas variables y parámetros que en el ejemplo 1 excepto el Método de
clasificación que en este caso es el del vecino más próximo y la Medida donde en este caso se ha
optado por la de Intervalo seleccionando entre las posibles opciones la Distancia euclídea.
165
Visión Artificial con IMtdi
Resultados teniendo en cuenta sólo los patrones
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
2
2
1
4:Alfil
2
2
1
5:C_Lateral
3
3
2
6:C_Lateral
3
3
2
7:C_Lateral
3
3
2
8:C_Lateral
3
3
2
9:Peon
4
1
1
10:Peon
4
1
1
11:Peon
4
1
1
12:Peon
4
1
1
13:Reina
5
4
3
14:Reina
5
4
3
15:Reina
5
4
3
16:Reina
5
4
3
17:R_Frente
6
5
4
18:R_Frente
6
5
4
19:R_Frente
6
5
4
20:R_Frente
6
5
4
21:R_Lateral
7
6
5
22:R_Lateral
6
5
4
23:R_Lateral
6
5
4
24:R_Lateral
7
6
5
25:Torre
8
7
6
26:Torre
8
7
6
27:Torre
9
8
7
28:Torre
9
8
7
Al igual que lo descrito para los anteriores ejemplos sobre estos resultados son muy
similares destacando que para la división en 7 grupos tanto el alfil como el peón son
considerados como un único grupo por su proximidad.
166
Clasificación
Dendograma
El dendograma se mantiene muy similar a los ejemplos mostrados con anterioridad
referentes a este tipo de resultados. Hay que destacar que la modificación sufrida es el cambio en
la posición de los grupos influenciada por el método llevado a cabo que difiere de los anteriores.
167
Visión Artificial con IMtdi
Resultados teniendo en cuenta los patrones y la imagen 1 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
168
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
2
2
1
4:Alfil
2
2
1
5:C_Lateral
3
3
2
6:C_Lateral
3
3
2
7:C_Lateral
3
3
2
8:C_Lateral
3
3
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
4
4
3
14:Reina
4
4
3
15:Reina
4
4
3
16:Reina
4
4
3
17:R_Frente
5
5
4
18:R_Frente
5
5
4
19:R_Frente
5
5
4
20:R_Frente
5
5
4
21:R_Lateral
6
4
3
22:R_Lateral
5
5
4
23:R_Lateral
5
5
4
24:R_Lateral
6
4
3
25:Torre
7
6
5
26:Torre
7
6
5
27:Torre
8
7
6
28:Torre
8
7
6
29:Rey_Lateral
6
4
3
30:Reina
4
4
3
31:Alfil
2
2
1
32:Caballo_Lat
9
8
7
33:Torre
8
7
6
Clasificación
34:Peon
1
1
1
En este ejemplo la diferencia con respecto a los otros dos anteriores es que llega al extremo
de mejorar aún más la clasificación dando lugar a un único descuadre por la figura 32 y
manteniendo los resultados provistos en apartados anteriores para la columna de 9
conglomerados.
Dendograma
En este gráfico es donde mejor se observan los resultados y se puede ver como
secuencialmente todos los patrones se encuentran separados con la salvedad de la figura 32 que
se encuentra fuera de lugar. Esto es una gran mejora respecto al primer ejemplo donde se
ubicaban cuatro figuras fuera de lugar o respecto al segundo ejemplo, donde se reducían a dos
figuras por la disminución del número de descriptores. La diferencia de este ejemplo con
169
Visión Artificial con IMtdi
respecto al primero es que manteniendo los mismos descriptores y modificando el método de
clasificación se obtiene una mejora de los resultados.
170
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 2 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
4
4
18:R_Frente
4
4
4
19:R_Frente
4
4
4
20:R_Frente
4
4
4
21:R_Lateral
4
4
4
22:R_Lateral
4
4
4
23:R_Lateral
4
4
4
24:R_Lateral
4
4
4
25:Torre
5
5
2
26:Torre
5
5
2
27:Torre
5
5
2
28:Torre
5
5
2
29:Reina
3
3
3
30:Caballo_Lat
6
6
5
31:Torre
7
5
2
32:Peon
8
7
6
33:Peon
9
8
7
171
Visión Artificial con IMtdi
34:Peon
8
7
6
La tabla de conglomerados es prácticamente igual que la obtenida para el ejemplo número
dos en estos mismos resultados.
Dendograma
Se puede observar que el dendograma es similar al obtenido en el ejemplo dos con estos
resultados.
172
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 3 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
4
4
18:R_Frente
4
4
4
19:R_Frente
4
4
4
20:R_Frente
4
4
4
21:R_Lateral
4
4
4
22:R_Lateral
4
4
4
23:R_Lateral
4
4
4
24:R_Lateral
4
4
4
25:Torre
5
5
5
26:Torre
5
5
5
27:Torre
6
6
5
28:Torre
6
6
5
29:Rey_Frente
4
4
4
30:Reina
3
3
3
31:Alfil
1
1
1
32:Caballo_Lat
7
7
6
33:Torre
8
6
5
173
Visión Artificial con IMtdi
34:Peon
9
8
7
El conglomerado de pertenencias mantiene la semejanza con respecto al ejemplo dos
donde se muestras los mismos resultados.
Dendograma
Al igual que lo comentado para el conglomerado de pertenencias cabe mencionarlo para el
dendograma ya que es similar al ejemplo dos comentado con anterioridad.
174
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 4 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
3
3
18:R_Frente
4
3
3
19:R_Frente
4
3
3
20:R_Frente
4
3
3
21:R_Lateral
4
3
3
22:R_Lateral
4
3
3
23:R_Lateral
4
3
3
24:R_Lateral
4
3
3
25:Torre
5
4
2
26:Torre
5
4
2
27:Torre
5
4
2
28:Torre
5
4
2
29:Caballo_Lat
2
2
2
30:Torre
2
2
2
31:Rey_Frente
6
5
4
32:Reina
7
6
5
33:Alfil
8
7
6
175
Visión Artificial con IMtdi
34:Peon
9
8
7
La tabla de conglomerados de pertenencia es similar a la expuesta en el ejemplo dos para
estos mismos resultados.
Dendograma
De la misma manera que se han descrito los resultados para la tabla de conglomerados de
pertenencia cabe destacar la semejanza del dendograma con respecto al ejemplo dos para estos
resultados.
176
Clasificación
Resultados teniendo en cuenta los patrones y la imagen 5 del reconocimiento
de figuras
Conglomerado de pertenencia
Caso
9 conglomerados 8 conglomerados 7 conglomerados
1:Alfil
1
1
1
2:Alfil
1
1
1
3:Alfil
1
1
1
4:Alfil
1
1
1
5:C_Lateral
2
2
2
6:C_Lateral
2
2
2
7:C_Lateral
2
2
2
8:C_Lateral
2
2
2
9:Peon
1
1
1
10:Peon
1
1
1
11:Peon
1
1
1
12:Peon
1
1
1
13:Reina
3
3
3
14:Reina
3
3
3
15:Reina
3
3
3
16:Reina
3
3
3
17:R_Frente
4
3
3
18:R_Frente
4
3
3
19:R_Frente
4
3
3
20:R_Frente
4
3
3
21:R_Lateral
4
3
3
22:R_Lateral
4
3
3
23:R_Lateral
4
3
3
24:R_Lateral
4
3
3
25:Torre
2
2
2
26:Torre
2
2
2
27:Torre
2
2
2
28:Torre
2
2
2
29:Rey_Frente
4
3
3
30:Reina
3
3
3
31:Caballo_Lat
5
4
4
32:Caballo_Lat
2
2
2
33:Torre
2
2
2
177
Visión Artificial con IMtdi
34:Peon
6
5
5
35:Peon
7
6
6
36:Peon
8
7
7
37:Peon
9
8
7
La tabla de conglomerado de pertenencias es similar al ejemplo dos para los mismos
resultados especificados.
Dendograma
Destacar que al igual que la tabla de los conglomerados de pertenencias el dendograma se
adapta al mostrado en el ejemplo dos.
178
Clasificación
4.11 CONCLUSIÓN
Una vez comentados los diferentes ejemplos expuestos es necesario establecer que la
clasificación de patrones no es un problema trivial, sino bastante complejo que se encuentra
influenciado por gran cantidad de factores.
Una clasificación no mejora por incrementar el número de descriptores utilizados como se
ha podido comprobar en los ejemplos, así como tampoco por disminuir el número de los mismos.
Se podría definir como clasificación óptima al conjunto mínimo de descriptores que permiten
distinguir perfectamente grupos de patrones disjuntos. El conjunto mínimo de descriptores hace
referencia al menor número de descriptores necesarios para clasificar de manera correcta
diferentes grupos de objetos.
Otra conclusión que se puede extraer de los resultados anteriores es el uso de diferentes
métodos de clasificación condiciona de manera directa la solución obtenida. Se puede observar
que para el mismo conjunto de descriptores en el ejemplo 1 se obtienen peores resultados con el
método de vinculación inter-grupos con respecto al ejemplo 3 donde se utiliza el método del
vecino más próximo.
En definitiva, tanto los descriptores utilizados como los métodos empleados son factores
que influyen directamente en la clasificación de objetos.
179
5
Bibliografía
[1] BEUCHER S. and LANTUEJOUL C.
Use of Watersheds in contour detection.
Centre de Géostatistique et de Morphologie Mathématique.
Fontainebleau –France-.
(1979).
[2] S. O. BELKSIM, M. SHRIDHAR and M.AHMADI
Pattern recongition with moment invariants: a comparative study and new results.
Pattern Recognition. Vol 24.
(1991).
[3] CANTÓN GARBÍN MANUEL. Tesis Doctoral.
La teoría de momentos en el análisis de formas: formulación tensorial, invarianzas
y aplicaciones.
(1982).
[4] CHO-HUAK TEH and ROLAND T.CHIN.
On Image Analysis the Methods of Moments.
IEEE Transactions on pattern analysis and machine intelligence. Vol 10.
(1988).
[5] DERYN GRAHAM and ANTHONY BARRETT.
Knowledge-Based Image Processing System.
Springer. (1997)
[6] GONZALEZ, R.
Digital Image Processing, Addison Wesley.
(1992).
181
Tratamiento Digital de Imágenes y Visión Artificial
[7] MATLAB (HELP).
Image processing toolbox.Imfeature.
http://morena.ual.es/doc/matlab/help/toolbox/images/imfeature.html
[8] MING KUEI HU
Visual Pattern Recognition by Moment Invariant.
IRE Trans. Inform. Theory. Vol IT-8.
(1962).
[9] PARKER J. R.
Algorithms for image processing and computer vision.
Wiley Computer Publishing.
(1996).
[10] PIERRE DUCHENE, DANIEL LEWIS.
The Visilog 5.
(1996).
[11] SCHALKOFF ROBERT J.
Pattern Recongnition: Statistical, Structural and Neural Approaches.
1992 by John Wiley & Sons,Inc.
[12] SIMON X. LIAO and MIROSLAW PAWLAK.
On Image Analysis by Moments.
IEEE Transactions on pattern analysis and machine intelligence. Vol 18.
(1996).
[13] SONKA, M.
Image Processing, Analysis and Machine Vision, Champan & Hall.
(1995).
[14] SPSS Inc.
SPSS® Base 10.0 Applications Guide
(1999).
[15] TEAGUE M.
Image Analysis via the general theory of moments.
Journal of Optical Society of America.
(1980).
182
Bibliografía
[16] TORRES ARRIAZA JOSÉ ANTONIO. Tesis Doctoral.
Reconocimiento automático de estructuras oceánicas en imágenes de satélite
AVHRR mediante redes neuronales.
(2000).
[17] WONG and HALL.
Scene Matching with Invariant Moments.
Computer Graphics and Image Processing.
(1978).
[18] THE
DEPARTMENT
OF
ARTIFICIAL
INTELLIGENCE
IN
THE
UNIVERSITY OF EDINBURGH
Image processing and machine vision.
http://www.dai.ed.ac.uk/HIPR2/
Hypermedia Image Processing Reference (HIPR2).
[19] ROBERT B. FISHER
The Evolving, Distributed, Non-Proprietary, On-Line Compendium of Computer
Vision.
http://www.dai.ed.ac.uk/CVonline/
Division of Informatics. University of Edinburgh.
183
Descargar