-
S.E.P. S.E.I.T. D.G.I.T.
CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOCOGICO
cendet
DESARROLLO DE UNA HERRAMIENTA PARA EL MODELADO AUTOMATIC0 DE
OBJETOS ALFAFLUIBLES
T E S I S P A R A O B T E N E R E L G R A D O D E M A E S T R O
EN C I E N C I A S EN C I E N C I A S C O M P U T A C I O N A L E
S
P R E S E ’ N T A :
EDUARDO QRBE TRUJiLLO
DIRECTORES DE TESIS DR. RAUL PINTO ELIAS
CUERNAVACA, MORELOS JULIO DE 2003
-
IMITmuhn I-f
FORMULARIO C3 REVISIÓN DE TESIS
I iw€srGU%rrW&hu
Cuemavaca, Mor., a 3 de Julio de 2003.
Dr. Gerard0 Reyes Salgado Presidente de la Academia de Ciencias
Computacionales Presente
Nos es grato comunicarle, que‘conforme a los lineamientos para
la obtención del grado de Maestro en Ciencias de este Centro, y
después de haber sometido a revisión académica la tesis denominada:
“Desarrollo de una Herramienta para el modelado de Objetos
Alfaflexiblec”, realizada por el C. Eduardo orbe Trujillo, y
habiendo realizado las correcciones que le fueron indicadas,
acordamos no’tener objeción para que se le conceda la autorización
de impresión de la tesis.
Sin otro particular, quedamos de usted.
Atentamente
La comisión de revisión de tesis
Lic. Olivia Maquinay Diaz, Jefe del Depto. de Servicios
Escolares. C. Eduardo Ofbe Trujiiio, alumno del programa de
maestria.
INTERIOR INTERNADO PALMIRA UN. COL. PALMIRA , A.P. 5-1 64. CP.
62490. CUERNAVACA. MOR. - MEXICO lELS.(777)312 2314.318
7741,FAX(777) 312 2434 EMAIL pazos~rdcenidet.com.mx
-
w ~ y c m ~ D ( ~ w c I u o N ~ uI*zmuo61TEwaQxII FORMULARIO
C4
AUTORIZACIÓN DE IMPRESIÓN DE TESIS
Cuemavaca, Mor., a 16 de Julio de 2003.
C. Eduardo Orbe Trujillo Candidato al grado de Maestro en
Ciencias en Ciencias Computacionales Presente
Después de haber atendido las indicaciones sugeridas por la
Comisión Revisora de la Academia de Ciencias Computacionales en
relación a su trabajo de tesis: “Desarrollo de una Herramienta para
el Modelado Automático de Objetos Alfaflexibles”, me es grato
comunicarle, que conforme a los lineamientos establecidos para la
obtención del grado de Maestro en Ciencias en este Centro, se le
concede la autorización para que proceda con la impresión de su
tesis.
Y DESARROLLO TECNDLOGICO
CIINCIAS E U M P U I A C I D ~
C.C.P. Lic. Olivia Maquinay Díaz, Jefe Depto. de Servicios
Escolares. INTERIOR INTERNADO PALMlRA S I N . COL. PALMlRA , A.P.
5-164. CP. 62490, CUERNAVACA, MOR. - M W C O TEE. (777) 312 23
14.318 77 41. FAX (777) 312 24 34 EMAlL [email protected]
-
AI arquitecto del universo por permitirme estar compartiendo mi
vida en este mundo.
A ti madre (Benita Trujillo Miranda) por todos los cuidados y
consejos que me das.
A ti esposa mía (Irma Gódínez Montaño) por todo el amor,
comprensión, apoyo y la dicha que hemos compartido juntos, por el
regalo más grande que me distes, un hijo (E. Uriel).
A mis hermanos (René e Isabel) por la comprensión que tengo por
parte de ellos
¿Quién eres tu, oh hombre, que presumes de tu propia
sabiduna?¿Por qué te jactas de lo que has adquirido? El primer paso
que conduce hacia la sabiduría consiste en conocer que has nacido
mortalmente ignorante, y si no quieres ser tenido por necio según
el juicio de los demás desecha la insensatez de ser sabio en tu
propia mortalidad. Así como un sencillo atavío adorna mejor a una
mujer hermosa, así una conducta decente es el mayor adorno de la
sabiduría interna. Documentos del tihet.
Eduardo Orbe Trujillo
-
Al director de mi tesis Dr. Raúl Pinto Elías por toda la
enseñanza que ha dejado en mi.
A mi Codirector de tesis M.C. Andrea'Magadán Salazar por las
materias que nos impartió que son la base de mi tesis, por la ayuda
y amistad que me brindó junto con la paciencia que me tuvo en la
revisión de mi tesis y por la comprensión que nos tuvo en clase
cuando bromeábamos.
Al Dr. José. L. Liñan Garcia, Dr. Gerard0 Reyes Salgado M.C.
Matilde Velasco Soni
Por los conocimientos aportados para que esta tesis se pudiera
concluir.
A toda la institución (director, administrativos, recursos
humanos) que intervinieron en mi estancia en esta institución.
A todos mis amigos que me brindaron su amistad
AI Consejo del Sistema Nacional de Educación Tecnológica
(COSNET) por brindarme la ayuda económica para realizar mis
estudios en esta noble Institución.
-
RESUMEN
El análisis de imágenes es un proceso que consiste en descubrir,
describir, identificar y
comprender los patrones que son relevantes en las imágenes. Uno
de los principales objetivos del análisis de imágenes por
computadora consiste en dotar a una computadora, en algún sentido,
de
cierta función como la vista humana, de tal manera que sea una
herramienta de apoyo a
especialistas y expertos en sus respectivas áreas.
Sin embargo, existe una gran cantidad de factores que limitan el
proceso de análisis de tina imagen, tales como la rotación de los
objetos, la traslación, escala e iluminación de los mismos;
además, de los cambios que pueden sufrir algunos objetos que
tienen la capacidad de
transformación, por lo cual el objeto puede ser distinto en su
textura, tamaño, forma, etc. Y debido a los cambios que puede
presentar un objeto deformable o alfaflexible (objeto que puede
cambiar
en cierto grado de rotación y traslación sin que se modifique
totalmente). Esto dificulta aun más el proceso de reconocimiento
del objeto, ya que es más dificil establecer una descripción
estándar del objeto. Estos cambios también pueden ser debidos al
medio ambiente que nos rodea, como las
vanaciones en la iluminación natural y con ello en cada cuadro
parezca que se procesa una imagcn
distinta a la anterior.
El interés de la presente investigación es contribuir con una
metodología para modelar cn
forma automática los objetos alfaflexibles en una secuencia de
imágenes. En esta metodologia se
presentan en dos partes técnicas, una llamada snakes que actúa
como una envolvente en el objcto por cada cuadro del vídeo. Esta
técnica registra los cambios de los rasgos del objeto que realiza
cn
el movimiento, esto permite registrar la forma para la
descripción de los objetos. También se
consideraron los cuatro colores que más se registra en el
histograma por cada color respecto a RGB
(red,green,blue), se registra el área del objeto en cada cuadro,
el centro de gravedad dcl snoke respecto a x y y. La siguiente
técnica permite el conocer la importancia de las variables
anteriorcs,
llamada tesfores típicos que obtiene el conjunto mínimo de
rasgos del objeto para podcr
identificarlo. Por último se calcula la longiiud de cada tesfor
para determinar el orden de
importancia de los rasgos del objeto en orden decreciente. El
resultado es el modelo del objeto. I
-
Lista de figuras
Lista de tablas
Lista de ecuaciones
CAPITULO 1
INTRODUCCI~N
1.1 Antecedentes
I .2 Descripción del problema
1.3 Propuesta de solución
1.4 Metodología de solución
1.5 Objetivo
1.6 Alcances
1.7 Producto esperado
1.8 Disciplinas involucradas
1.9 Aplicaciones
1.10 Organización de la tesis
TABLA DE CONTENIDO V
vii ...
V l l l
2
5
5
6
7
7
7
8 8
9
CAPITULO 2 ESTADO DEL ARTE
2.1 Estimación de movimiento de contornos en imágenes
secuenciales I I
2.2 Plantillas deformables geométricamente, basadas en
segmentación y seguimiento en imágenes cardiacas 12
2.3 Parámetros libres para registrar en 2 pasos, imágenes
elásticas con puntos descritos y desplazamientos I3
-
2.4 Snake pedals, modelos geométricos compactos y versatiles con
control basado en física
2.5 Snakes, formas, y flujo del vector gradiente 2.6 Un modelo
de contorno activo para dibujar la corteza
2.7 Contornos Activos y Modelos defomables
2.8 Modelo de Clasificación Supervisada Basado en Conjuntos de
Representantes 2.9 Enfoque lógico combinatorio al reconocimiento de
patrones
2.10 Filtro pasa alto
CAPITULO 3
SNAKES
3.1 Introducción
3.2 Preprocesamiento de snakes
3.2.1 Gradiente
3.3 Fundamentos de snakes
3.3.1 Fundamentos matemáticos
3.3.2 Pseudocódigo
3.4 Ejemplos del funcionamiento
3.5 Comentarios
CAPITULO 4
MODELADO
4.1 Selección de rasgos
4.2 Enfoque lógico combinatorio
4.3 Teoría de testores 4.3.1 Algoritmo BT
4.3.2 Importancia de los testores tipicos
4.4 Rasgos a modelar
4.4.1 Color por histograma 4.4.2 Centro de gravedad del snake
relacionado con "x" y ')"
4.4.3 Área
4.4.4 Distancias entre todos los puntos de " x" y ')" del
snake
14
15
i6
17
17
18
18
19
20
20
22
23
29
20
33
35
36
38
39
46
47
48
49
49
49 . . . 111
-
4.5 Ejemplo del modelado de un objeto alfafiexible
4.6 Comentarios
CAPITULO 5
EXPERIMENTACI~N
5.1 Introducción
5.2 Casos de estudios realizados
5.3 Análisis de los resultados
CAPITULO 6
CONCLUSIONES
6.1 Introducción
6.2 Metas alcanzadas
6.3 Producto esperado
6.4 Aportaciones
6.5 Trabajos a futuro
REFERENCIAS
ANEXO A
49
53
54
55
65
66
67
67
68
68
69
12
i Y
-
LISTA DE FIGURAS Figura Descripción Página
Figura 1.1
Figura 1.2
Figura 3.1
Figura 3.2
Figura 3.3
Figura 3.4
Figura 3.5
Figura 3.6
Figura 3.8
Figura 3.9
Figura 3.10
Figura 3.11
Figura 3.12
Figura 4.1
Figura 4.2
Figura 5.1
Figura 5.2
Figura 5.3 Figura 5.4
Figura A.l
Figura A.2
Figura A.3
Figura A.4
Cambios que presenta la mano en los movimientos que realiza.
Esquema de solución de este trabajo.
Imagen de 24 bits, la cual es procesada a niveles de grises.
Resultado del proceso con filtro gradiente.
El snake adopta cualquier forma, como si fuera agua, basado en
la
4
6
22
22
23
minimización de la energía:
Evolución de la energía externa usando snakes. 23
Se muestra la vecindad de los nodos. 26
Se muestran los diferentes resultados al cambiar los valores de
aJ3,y. 30
Inicialización del snake. 31
Valores iniciales a) Alfa=lO Beta=l b) Alfa=20, Beta = I 31
Resultado del snake con los siguientes valores A) a= l , p=
l
Secuencias de imágenes utilizando la técnica del snake.
imagen con su respectivo histograma.
El snake se adecua a la forma del movimiento de los labios
Se seleccionan los puntos alrededor de los párpados.
Imágenes donde a)l Inicialización del snake b) resultado del
snake. 32
32
B) a=I,p=2 C) a=1$=3.
33
48
SO
55
60
62 64
73
74
75
Lectura de los labios con ruido.
Modelado de labios sin mucho ruido. Modelado de la cabeza en un
ambiente natural.
:I
Imágenes del modelado del parpado del caso I .
Modelado del objeto alfaflexible para el caso 2. Continuación
del caso 2, Modelado del movimiento de los labios con un poco
de mido.
Modelado de los labios sin mido caso 3. 76
-
Figura Descripción Página
Figura A S Modelado del movimiento de la cabeza utilizando un
ambiente natural, caso 4.
Figura A.6 Continuacion del caso 4, Modelado del movimiento de
la cabeza utilizando u n
ambiente natural.
77
78
Y I
-
LISTA DE TABLAS Tablas Descripción Página
Tabla 3.1 Esta máscara obtiene las líneas verticales 21
Tabla 3.2 El cálculo de esta máscara permite obtener líneas
horizontales. , 22 Tabla 4.1
Tabla 4.2
Tabla 4.3
Tabla 4.4
Tabla 4.5
Tabla 4.6
Tabla 4.7
Tabla 5.1
Tabla 5.2
Representación de los rasgos y clases de los objetos.
Representa una clase con tres objetos.
La siguiente clase con dos objetos.
Resultado de la matriz de diferencia.
Se muestra una fila básica, esta fila básicaes S14.
Resultado de la matriz básica.
Testores típicos obtenidos del segundo caso.
Distancias de los puntos que conforman el snakes alrededor del
snake.
Cuatro colores que mas aparecen del formato R.G.B que modela la
herramienta.
3X
40
41
41
4 2
44
51
56
57
Tabla 5.3 Matriz generada mediante las distancias de los puntos
mas los rasgos de la tabla 57
5.1. Tabla 5.4 Resultado de la matriz de Diferencia. 5x
Tabla 5.5 Resultado de la matriz Básica. 5X
Tabla 5.6 Testores típicos. 5X
Tabla 5.7 Testores típicos obtenidos del segundo caso. 61
Tabla 5.8 Testores típicos obtenidos del segundo caso. 63 !\
-
LISTA DE ECUACIONES Figura Descripción Página
Ecuación 3.1
Ecuación 3.2
Ecuación 3.3
Ecuación 3.4
Ecuación 3.5
Ecuación 3.6
Ecuación 3.7
Ecuación 3.8
Ecuación 3.9
Gradiente en dirección de x .
Gradiente en dirección dey.
Cálculo del gradiente con su máscara en dirección de x
Cálculo del gradiente con su mascara en dirección dey
Ecuación del snake por [Kass, 871.
Cálculo de la energía interna.
Ecuación del snake por [SHAH, 921.
Ecuación de la energía funcional del snake.
Cálculo de la ecuación de la distancia media de los puntos del
snake menos
los puntos vecinos.
Ecuación 3.10 Cálculo de distancia media de los puntos del
snake.
Ecuación 3.11 Normalización de la ecuación (3.9). ij
Ecuación 3.12 Cálculo de energía curva.
Ecuación 3.13 Normalización de la ecuación (3.12).
Ecuación 3.14 Obtención de la energía minima y máxima de la
imagen del gradiente.
Ecuación 3.15 Normalización de las magnitudes del gradiente
Ecuación 3.16 Ecuación de la curvatura del objeto.
Ecuación 4.1 Obtención del peso informacional.
Ecuación 4.2 Obtención de la longitud del testor típico.
I!
21
21
21
21
23
24
25
26
21
21
27
2 1
28
28
28
28
46
41
\ i l l
-
CAP~TULO 1
Desde siempre el hombre ha tratado de inventar mecanismos,
adaptándolos
inconscientemente a la estructura de su propia constitución, no
existe aparato ni ingeniosa resoluc¡ón.de problemas mecánicos que
no este solucionado en nosotros, especialmente en
aquellas actividades repetitivas Ó dificiles de realizar y que
ponen en peligro la vida del ser
humano, debido a que estas requieren una gran precisión manual
como intelectual. El ser
humano ha soñado con inventar máquinas que realicen
artificialmente tareas afines a él,
esto no supone que no pueda realizar estas actividades, de lo
anterior surge una área de la
inteligencia artificial llamada visión por computadora, que
realiza las funciones de la vista
humana, esta área observa escenas para procesarlas en una
computadora.
De acuerdo con [Maravall, 941 se considera que las tres cuartas
partcs de
información que maneja el ser humano es adquirida por imágenes
visuales. La Visión por
Computadora es un área que investiga los diferentes procesos
naturales del ser humano
relacionados con la vista humana, utilizando un dispositivo que
digitalice tal como una
cámara de fotografia o vídeoly una computadora para ver e
interpretar dichas imágenes. La
Visión por Computadora es una área de la inteligencia artificial
que tiene como una de sus
metas solucionar los problemas relacionados con la "percepción e
interpretación" de
escenas, objetivo excepcionalmente ambicioso y complejo, que aún
se encuentra en una
etapa muy primitiva [Maravall, 941.
http://resoluc��n.de
-
Es posible hacer una analogía entre un sistema artificial de
procesamiento de imágenes y el sistema visual humano. Por ejemplo,
en el humano el proceso de
“percepción” es realizado por el ojo y el de “interpretación”
por el cerebro humano. En el
sistema artificial, la adquisición de imágenes es realizada por
medio de una cámara digital y
la interpretación es procesada por una computadora [Maraval 941.
En la actualidad el
proceso de digitalizar las imágenes es factibie, pero el proceso
de interpretación es muy
pobre debido a los pocos avances de la neurociencia relacionada
con la función del cerebro
humano. Una de las principales actividades para tener una
“interpretación” es contar con
una adecuada interpretación, de los rasgos que integran a los
objetos de las imágenes
digitales.
A
1.1 ANTECEDENTES
Desde que el hombre logra capturar las imágenes en una cámara
fotográfica surge
un gran interés por mejorarl’y conservar las imágenes con mejor
calidad. Debido a esto
surge el tratamiento de imágenes. Los problemas iniciales se
presentan en 1920 cuando un
equipo especializado codificaba las imágenes para trasmitirlas
por cable y estas eran
reconstruidas en el extremo de la recepción. A partir de los
sesentas se pone de manifiesto el potencial de los conceptos de
tratamiento de imágenes debido al avance tecnológico a
través de las computadoras y las naves espaciales que
permitieron enviar imágenes de la
luna, algunas de estas imágenes requerían de un proceso digital
[González, 19961.
En la actualidad hay una gran necesidad de procesar las imágenes
para resolver
problemas en diversidad de áreas, como por ejemplo en imágenes
enviadas por los satélites artificiales, en medicina, en biología,
en aplicaciones industriales, etc.
La evolución continúa en el campo de las técnicas de tratamiento
de imágenes,
surgiendo un segundo campo de aplicación de éstas que consiste
en resolver problemas relacionados con la percepción automatizada,
la cual se centra en procedimientos que
extraen información de la imagen mediante un proceso realizado
por una computadora para
poder interpretarla. Este proceso tiene poco en común con
respecto a la fomia en cómo lo
realiza el ser humano. Sus aplicaciones, entre otras, son el
reconocimiento de caracteres, la
visión por computadora para el control automático de calidad,
reconocimiento de huellas
2
-
dactilares y del iris, predicciones del tiempo a través de las
imágenes enviadas por los
satélites [González, 961.
Como ya se mencionó, básicamente el objetivo de la visión por
computadora es
automatizar las funciones de inspección visual realizadas por el
hombre [Faúndez, 200 I].
Para llevarse a cabo tal proceso, una actividad muy importante
es realizar una correcta descripción de los objetos de trabajo, es
decir, obtener ciertos rasgos que permitan modelar
los objetos. De acuerdo a las iaracterísticas que presentan los
objetos, es posible agruparlos
en tres clases
a) Objetos rigidos:
Son aquellos que presentan las mismas características durante su
movimiento o
desplazamiento, siempre muestran las mismas relaciones
geométricas. Por ejemplo
un lápiz, una mesa, un libro, etc.
b) Objetos articulados:
Presentan algunos cambios, pero que sin embargo, estos cambios
son totalmente
conocidos o predecibles. Ejemplo de este tipo de objetos lo son
las tijeras, las pinzas eléctricas, el brazo de un robot, etc.
c) Objetos aifiafiexibles:
Este tipo de objetos presentan una gran capacidad de
transformación generando una
gran cantidad de instancias del objeto que lo describen de
manera distinta en cada
Intervalo de tiempo, debido a lo antenor se vuelve mas
complicado obtener una
descripción única. Ejemplo de este tipo de objetos lo son la
boca y mano del ser
humano, una lombriz, etc. I,
Además del tipo de objeto a procesar existen una gran cantidad
de factores que
dificultan el proceso de análisis de una imagen, tales como la
rotación de los objetos, la traslación de los mismos y la escala e
iluminación. Ya que no se sabe todos los posibles
cambios o deformaciones que puede presentar dicho objeto, sobre
todo cuando los cambios
suelen ser variados e impredecibles (pueden ser provocados por
el medio ambiente como
respuesta a la traslación, rotación, deformaciones, movimientos
rápidos etc.) por naturaleza.
3
-
Debido a lo anterior, se combinan todos los factores mencionados
y el proceso de
descripción de los objetos' alfaf2exibies suele convertirse en
un problema de mayor
complejidad.
Como ya se mencionó, la mano de una persona puede considerarse
como un objeto
alfqflexibíe ya que ai sufnr cambios en su forma, por los
movimientos que realiza, genera un conjunto de patrones diferentes,
dificultando en gran manera establecer el conjunto de
rasgos o caractensticas que permita identificarla en el proceso
de reconocimiento de una
imagen o en una secuencia de imágenes, ver figura I . 1.
Figura 1.1 Cambios que sufre la mano en los movimientos que
realiza
Para tener un sistema de modelado eficiente es necesario contar
con una buena
descripción de los objetos que se están trabajando. Generalmente
esta caracterización se
realiza de manera empírica, el experto decide el conjunto de
características a utilizar o que
van a integrar la descripción del objeto. Esta manera de obtener
la descripción, puede
resultar complicada al tener variables o características no
significativas o que .proporcionen
redundancia de información ::en la representación, y con ello el
tiempo necesario para
obtener los datos de la descripción puede requerir mucho tiempo
de cómputo.
4
-
1.2 DESCRIPCI~N DEL PROBLEMA
Actualmente, el registro y caracterización de los cambios que
puede realizar o sufrir
un objeto deformable se lleva a cabo de manera manual, dando
como resultado un proceso bastante difícil de realizar y en muchos
casos con muchos errores. Esto es debido a que el ojo humano se
cansa demasiado rápido, por lo que la vista disminuye la capacidad
de
observar a detalle, y algunas veces existe distorsión o perdida
de información del objeto
observado. Si se agrega que existe gran cantidad de escenas para
extraer los rasgos o caracteristicas del objeto a analizar, resulta
una labor demasiado pesada para el ser humano.
El interés de la presente. investigación es contribuir con una
metodología para
generar u obtener de manera automática una descripción o
caracterización del objeto deseado, al registrar los cambios que
presenta durante el movimiento del mismo en cada
imagen de la secuencia, como su tamaño, color, área, centro de
gravedad. El resultado de
esta información se le aplicará un algoritmo de selección de
variables, que elimina la
redundancia de información de las variables del objeto dando
como resultado el conjunto
de variables que mejor describan al objeto que se esta
modelando.
1.3 PROPUESTA DE S O L U C I ~ N
Como ya se mencionó, esta tesis pretende diseñar e implementar
una herramienta
que permita generar de manera automática el mínimo de
información de las variables que
conforman la descripción de un objeto alfqflexible.
Pasos a seguir: ¡.-Se establece en la primera imagen digital de
la secuencia de imágenes, el obJeto
u objetos que se desean modelar. La imagen es tratada con algún
filtro con el
propósito de eliminar el posible ruido
2.- En la segunda fase, es segmentar la imagen para localizar a
detalle el objeto que
se desea modelar, por lo cual se utiliza la técnica llamada
snakes [kass, 881
5
-
3. Se localizan, registran y cuantifican, aquellos rasgos
considerados en el modelo
que describirá al objeto por medio de un conjunto inicial de
características posibles,
de tal forma que se tendrán los mismos descriptores del objeto
que se analiza pero
con valores diferentes. Toda esta información será almacenada en
una base de
conocimientos que integrará el modelo inicial del objeto y por
medio de un
algoritmo de selección de variables como testores típicos
[Shulcloper, 991, se
obtienen las mejores variables que representan al objeto.
1.4 METODOLOG~A DE SOLUCI~N Estos pasos se muestran de manera
gráfica en la figura 1.2.
a
a
a . a .
Carga el video en formato AVI.
Selecciona el objeto o los objetos a modelar.
Procesa la imagen de cada cuadro(resu1tado del snake)
Obtiene los rasgos del objeto.
Almacena los rasgos en archivos de texto.
Aplica un algoritmo de selección de variables. . Obtiene el
orden de importancia de los rasgos. a Obtención del modelo del
objeto.
I Carga el video con formato :vi
+ Selecciona los objetos a modelar
Procesamiento de cada cuadro del
Obtiene los rasgos del objeto a
Almacena 10s rasgos del objeto en archivo dc texto ,
Obtiene el minim, de rasgos, que mejor describan al objeto
Orden de importancia de los rasgos en orden ascendente
MODELO DEL OBJETO
FiQura 1.2 Esquema de solución.
-
1.5 OBJETIVO
Desarrollar una herramienta que permita:
Realizar la localización automática de los parámetros
Registrar las variaciones del objeto por cada cuadro en una
secuencia de imágenes Procesar y analizar la información de cada
cuadro y cada parámetro mediante testores típicos. Generar modelos
primarios de objetos.
1.6 ALCANCES
Se manejarán secuencias de imágenes’ de 24 bits con archivos
AVI, con un
tamaño de 250x250 en formato RGB.
Se usará un conjunto técnicas que contemplen las características
de extracción
de los rasgos.
La información que se genera de la extracción de características
y de la
deformación del objeto se almacenará en una base
conocimientos.
La información en bruto obtenida de los. cambios en los rasgos
del objeto alfqflexible se procesará por medio de un algoritmo de
selección de variables
llamado testores típicos para obtener el conjunto mínimo de
rasgos Ó
características que permitan modelar el objeto para el
reconocimiento de
patrones.
La herramienta será capaz de mostrar al usuario la importancia
de los rasgos.
en orden descendente.
La herramienta permitirá modelar hasta 50 objetos como
máximo.
0
0
o
1.7 PRODUCTO ESPERADO o Una herramienta, que de manera
automática obtenga el modelo de un objeto
alJ¿¿jlexi ble.
1
-
A
Información primaria del objeto obtenida por los cambios del
objeto alfayexxible
por medio de un algoritmo como testores típicos para obtener los
parámetros o
características que permitan modelar el objeto.
1.8 DISCIPLINAS INVOLUCRADAS
Las disciplinas involucradas ,son las siguientes:
1) Procesamiento de imágenes, los cuales se utilizarán los
siguientes métodos. I . 1 Procesamiento de las imágenes a niveles
de gns.
1.2 Cálculo del área del objeto.
1.3 Centro de gravedad del snake con respecto a 'k" y "y".
1.4 Histograma.
1.5 Segmentación utilizando snakes.
1.6 Base de conocimientos.
2) Lógica combinatoria para el reconocimiento de patrones,
utilizando los siguientes tópicos.
2.1 Testores tipicos. 2.2 Orden de importancia de los testores
típicos.
1.9 APLICACIONES
El contar con una herramienta que realice y proporcione de
manera automática una
buena descripción o modelado de objetos es una necesidad actual
como se puede observar
en las siguientes aplicaciones:
a) Crecimiento de cepas de bacterias o microbios: La herramienta
es capaz he modelar e l crecimiento, de cepas de microbios al
utilizar la
técnica de los snakes ya que permite adecuarse al contorno de la
cepa que se desea modelar o investigar.
8
-
b) Seguridad:
El análisis de las deformaciones que presenta el cuerpo humano
al caminar, se
puede analizar para estudiar los movimientos de las personas
sospechosas o que portan
armas. La herramienta registra la forma de movimientos
sospechosos, con esto se genera
información que permite registrar y modelar los rasgos que más
cambian en el movimiento
de las personas con arma. Esta información puede ser utilizado
en los aeropuertos, centros públicos, supermercados, bancos.
c) Diseño de prótesis que contemple las deformaciones del cuerpo
humano: La herramienta permite obtener información de las partes en
donde el cuerpo
necesita más libertad de movimiento, así como las partes en las
cual carece de movimientos
flexibles. Estudios de esta info&ación pewite crear prótesis
que contemple las
deformaciones del cuerpo humano, evitando que la prótesis se
vuelva una molestia para el
cuerpo humano.
d) Conjunto mínimo de rasgos para el reconocimiento de
objetos:
La herramienta al realizar de forma automática el modelado de
los objetos, registra
los cambios o deformaciones que presenta el objeto bajo estudio
en la secuencia de video.
Esta información es redundante o repetitiva,~al aplicar un
algoritmo de selección de
variables a toda esta información, se elimina la redundancia de
información y el uso de
variables poco discriminantes. Este algoritmo permite encontrar
el conjunto mínimo de
rasgos que es posible utilizar en la descripción o
representación del objeto que se estudia,
siendo esta representación la base para el reconocimiento del
objeto que se modeló en la
secuencia de cuadros del vídeo.
1.10 ORGANIZACI~N DE LA TESIS
El presente trabajo está organizado de la siguiente manera. En
el capítulo 2 se
presenta el estado del arte. ,En este capitulo se describen
técnicas relacionadas coil la
segmentación y localización de objetos deformables, la obtención
de los rasgos, la
estimación de movimiento, el uso de plantillas deformables, y el
registro de parámetros en
dos pasos.
9
-
En el capítulo 3 presenta la técnica de procesamiento para
disminuir el ruido en la
imagen; además, este capítulo explica el funcionamiento de los
snakes y su fundamento matemático.
En el capítulo 4 se explica la teoría de selección de variables
mejor conocido como
testores típicos. Esta técnica permite obtener los rasgos más
importantes del objeto que se
está modelando, estos rasgos permiten en un trabajo posterior,
el reconocimiento del objeto
que se ha modelado.
En el capítulo 5 muestra las pruebas realizadas en la fase de
experimentación de la
metodología que corresponde a este trabajo.
En el capítulo 6 se presentan las conclusiones generales
relacionadas con esta investigación, así como las aportaciones del
trabajo en el área de visión por computadora.
Finalizando con propuestas de trabajos futuros que
complementarían la herramienta de
modelado.
IO
-
~APÍTULO 1 2 O DEL ARTE
En este capítulo se realiza un breve análisis de algunos
artículos,
investigaciones describen problemas con objetos deformables, se
describen las técnicas
se utilizan para obtener las caractensticas de los objetos que
se deforman en un intervalo
tiempo, buscando obtener el modelo de los mismos.
ESTA1
cuyas
que de
contorno tiene un punto correspondiente en el contorno para la
siguiente toma.
En esta técnica se incluyen métodos numéricos donde la ecuación
es discreta, se
I El cálculo de la curvatura en el contorno se realiza a través
del punto vecino más
próximo, se usan dos puntos adyacentes y el punto mismo. Cuando
se calcula e
óptico de los puntos del contorno con la primera derivada se
obtiene una imagen
curvatura del contorno que permite localizar los
correspondientes puntos en el contomo
la siguiente imagen.
, . . . . ..
'I.!
de
1 I
-
En esta técnica se incluyen métodos numéricos donde la ecuación
es discreta, se
I
la siguiente imagen.
-
2.2 Plantillas deformables geométricamente, basadas
en imágenes cardiacas [Rueckert, 961
Propone el uso de una minimización de energía,
objetos deformables bajo la influencia de la dirección de
forma de la plantilla es medida por una función de las dos
en segmentación y seguimiento
la cual puede utilizarse en los
la imagen. La degradación de la
formas en 2D.
12
cristalino el cual minimiza su energía. Usando esta
aleatoriamente nuevas configuraciones de la probabilidad
Relajación deierminisiica. Para seguir un objeto
analogía, el algoritmo genera
de distribución o de deformación.
en una secuencia de imágenes
-
comparan objetos con formas conocidas de 2,tipos de plantillas
deformables que pueden ser
caracterizados, las plantillas deformables rígidas como
escalación, rotación y traslación.
humano, se basa en contornos activos, se realizaron pruebas en
segmentación
I Plantillas deformables no rígidas como el utilizando la
distribución de Fourier. En
y tracking de superficies relacionadas al
Este trabajo permite para compararla con
se ha desplazado o qué dirección está se deforman mediante la
minimización
la siguiente imagen, y así obtener cuántos
tomando. También propone segmentar
2.3 Parámetros libres para imágenes elásticas con puntos
con puntos descritos. Este
de energía que se usa en los snakes.
descritos y desplazamientos [Peckar, 961 Se plantea registrar en
2
método está basado en la teoría de elasticidad1
En el primer paso se to de correspondencia de algunos límites en
ambas imágenes, usando un contorno mejor conocido como snakes, que
se puede
aplicar a numerosos problemas en omputadora, detección de arcos,
seguimiento
de objetos. Se resuelve la el snake, en forma iterativa,
realizando
aproximaciones, y usando parámetros
constantes.
Segundo paso, se deforma en forma elástica la plantilla de la
imagen usando los
valores de los snarels descritos anteriormente de desplazamiento
en los limites de la
estructura obtenidos en el primer paso en a ición a las
condiciones de la imagen en su
frontera. I. En contraste con los métodos tradi ionales, este
planteamiento no depende de
parámetros de la deformación del modelo c
exacta concordancia de las estructuras de la
constantes elásticas lo cual garantiza la
utilizando snakes.
13
-
Este trabajo permite obtener los primeros puntos en la imagen,
que corresponden a
los rasgos del objeto que se van modelar en forma automática, y
permite la deformación del
objeto utilizando la técnica de snakes.
2.4 Snake pedals, modelos geométricos compactos y versátiles con
control basado en
física [Vemuri, 2000]
En este trabajo se propone un modelo geométrico de formas, el
cual permite la
representación de formas globales con detalles locales usando
relativamente pocos
parámetros comparado con los modelos híbndos. Esto consiste en
representar formas de
curvas pedales. La curva pedal es una curva regular (se utilizan
dos variables en dos
dimensiones) con respecto a un punto fijo (pedal). Una curva
pedal es capaz de sufrir
deformaciones locales y globales, esta puede ser determinada por
parámetros en forma de vector, por lo cual es un modelo geométrico
que se obtiene por medio de la técnica llamada
snakes, utilizada en deformaciones locales geométricas. Una vez
que se obtiene el snake, se
forma la curva pedal. Los parámetros globales de estimación se
calculan por medio del
descenso del gradiente.
Los parámetros locales de estimación son resueltos por medio de
sistemas lineales en forma de matriz. Se aplica en imágenes de 256x
256 y el tiempo de cálculo es de 258 a
191 segundos en una SGI (Silicon Graphics International). Este
modelo sólo funciona con
pocos parámetros.
Las curvas se presentan muy a menudo en los objetos que sufren
deformaciones. por ejemplo los objetos alfqfIexibles y puede ser
obtenida a través de los snakes utilizando la
forma x,y en la representación de los puntos de los snuxels que
es parecido a los puntos
que representan los rasgos en el presente trabajo
14
-
2.5 Snakes, formas y flujo del vector gradiente [Xu, 981 Este
trabajo presenta una nueva fuerza externa para contornos activos
resolviendo
los problemas de fuerza extendida, el cual se llama flujo del
vector gradiente. Este es
calculando los vectores de gradiente en niveles de gris o un
mapa binario derivado de la
imagen. Difiere fundamentalmente de los tradicionales snakes en
que no pueden ser
calculados como un gradiente negativo. Este snake es formulado
como una fuerza balanceada.
Para que se pueda solucionar por este método, el objeto debe de
ser cerrado es decir no debe de estar incompleto en sus bordes, los
snakes anteriores tienen problemas en las concavidades de la
imagen, por lo que éste método soluciona los problemas
anteriores.
Primero se define un borde de la imagen por lo cual debe de
estar en niveles de gris, una
vez hecho lo anterior se obtiene el gradiente que minimiza la
energía, donde el gradiente es
el operador Laplaciano. También puede resolverse por métodos
numéricos.
Los snakes o contornos activos, son curvas definidas dentro del
dominio de la
imagen el cual puede moverse bajo la influencia de fuerzas
extemas de la curva misma, y
fuerzas externas calculadas de los datos de la imagen. Hay dos
tipos de contomos activos
los paramétricos y los contornos activos geométricos, este
documento se enfoca a los
contornos paramétricos. Típicamente las curvas son dibujadas
hacia los arcos por fuerzas
potenciales las cuales son definidas como un gradiente negativo,
esto hace una fuerza de
presión que comprime las fueizas externas.
Se ha introducido un nuevo modelo de fuerzas externas para
superficies
deformables el cual es llamado el flujo del vector gradiente.
Este es calculado como vector
gradiente utilizando niveles de gris en la imagen a ser
calculada para encontrar
concavidades. Soluciona el problema de la concavidad, a través
de la captura de la fuerza externa del snake.
-
Los snakes son utilizados en aplicaciones de procesamiento de
imágenes
particularmente por adecuarse a la forma del objeto. Los snakes
o contornos activos, son usados ampliamente en visión por
computadora para localizar fronteras, problemas
asociados con inicialización y pobre convergencia a las
concavidades de fronteras.
Este trabajo sirve como referencia para resolver las
concavidades que presenta un
objeto que se deforma, y que está en niveles de gris debido a
que cada cuadro de la imagen es tratada de la misma forma, es decir
en niveles de gris.
2.6 Un modelo de contorno activo para dibujar la corteza
[Davatzikos, 971
Un nuevo modelo para encontrar y dibujar la corteza de un
cerebro. Utiliza el
método de los snakes (contornos activos), mediante la
especificación de fuerzas externas actuando como un contorno
activo. Este determina la localización de la superficie del
cerebro que es el primer paso para la visualización del cerebro.
Esta técnica esta basada en
contornos activos y sirve para modelar la curva inicial como un
objeto físico el cual es
llamado contorno activo, y los datos como fuerza externa, un
procedimiento iterativo para
que el contorno activo se mueva hacia los datos que conforman al
objeto.
Un contorno activo es caracterizado por tres partes:
1.- Un modelo de fuerzas internas. El cual describe un contorno
activo como un objeto.
2.-Un modelo de fuerzas externas. El cual describe, como el
contorno activo es
atraído a los puntos previamente señalados.
3.- Un procedimiento iterativo. El cual intenta encontrar la
configuración que mejor concuerde con la fuerza interna y
externa.
Los contornos activos son utilizados por medio de la formulación
usando el cálculo
de variación para encontrar las variaciones de la ecuación de
Euler. Ecuaciones que
representan su equilibrio de fuerzas balanceadas que permiten
una mejor definición de la
forma del objeto.
-
Esta técnica permite obtener la forma del objeto a través de la
energía externa que
son los puntos del objeto a modelar.
2.7 Contornos Activos y Modelos deformables [Young, 951
El problema de obtener contornos de formas complejas es dificil,
por io que existe un método de solución, que consiste en definir la
estructura de un contorno activo o snake,
mediante la elasticidad de la energía. La energía se detiene en
el borde del gradiente de la
imagen, mediante la combinación de las energías internas y
externas, la combinación de
energías permite obtener snakes iterativos y snakes flexibles,
este método obtiene contomos
de imágenes en movimiento.
El trabajo se desarrolla sobre formas complejas que están en
movimiento, utilizando
snakes para obtener las formas de los contornos de los objetos
que se están moviendo.
Sirve de referencia para los contornos de la secuencia del
objeto a modelar en cada cuadro.
2.8 Modelo de Clasificación Supervisada Basado en Conjuntos de
Representantes
[Ariel, 981.
Para clasificar un objeto normalmente existe información que
utiliza un algoritmo
de clasificación supervisada que permite trabajar con clases
difusas y disjuntas, con la
información mezclada sobre los objetos, con criterios de
analogías no booleanos y
descripciones incompletas de los objetos. Este modelo produce
sus decisiones teniendo en
cuenta factores a favor y en contra, evaluando las descripciones
parciales de los objetos en
estudio. Se dan procedimientos para la determinación de todos
los parámetros.
Conclusión: Lo anterior permite utilizarlo en los rasgos del
objeto que se está
modelando, ya que el algoritmo de snakes podría perder
información, debido a los
problemas de una inadecuada iluminación.
17
-
2.9 Enfoque .lógico combinatorio al reconocimiento de patrones
[Shulcloper, 991
Se propone un algoritmo de selección de variables conocido como
BT (Bottom
Top), el cual se basa en los conceptos de testor y testor
típico. Un testor es un conjunto de
rasgos que permite diferenciar los objetos entre dos clases,
porque ningún objeto de la
primer clase (mirados a través de los valores de sus rasgos) se
confunde con los objetos pertenecientes a la segunda clase. Y un
testor típico es la combinación mínima de rasgos
que caracterizan una clase de objetos, diferenciándola de las
demás clases. Este algoritmo
permitirá discriminar entre la información que forma el modelo
inicial de objetos
aiJ¿¿Jexibles, en la base de conocimientos.
Conclusión: Esta técnica se utiliza para obtener los mejores
rasgos del objeto que
selecciona el usuario al inicio de la secuencia de la imagen,
donde el objeto se deforma, la
información es almacenada en un archivo de texto. Esta
información se refiere a los rasgos
que se obtienen.
2.10 Filtro pasa alto [González, 961
Filtro pasa alto se emplea, para que la imagen aparezca con los
bordes mas
sobresalientes, para reducir el ruido, es útil que la imagen
suavice las bajas frecuencias en
algunas etapas de preprocesado, como la eliminación de los
pequeños detalles de una
imagen antes de la extracción de un objeto y el relleno de
pequeños espacios entre líneas o curvas.
Conclusión: Esta técnica obtiene un preprocesamiento para
obtener esos bordes que
más sobresalen en cada cuadro y permite al snake utilizar la
minimización de la energia
para que se adhiera a la forma final que el objeto presenta en
cada deformación.
-
CAPÍTULO 3
SNAKES
3.1 INTRODUCCI~N
Se considera como modelado, al procesa que trata de
identificar'el conjunto de rasgos o Características que mejor
describen al objeto u objetos con los que se van a
trabajar.
Los pasos necesarios para realizar u obtener el modelado de un
objeto, son los
siguientes: .. ~
1) Segmentar la imagen, que consiste en particionar los objetos
que componen la imagen. Lo anterior produce información en términos
de regiones de píxeles,
como el contorno de objeto o la región en donde se encuentra el
objeto.
2) El siguiente paso es describir o representar el objeto a
través de un conjunto inicial de características que pueden no ser
las adecuadas o contenei- información redundante. Estas variables
se almacenan en un archivo de tipo
texto para una mayor compatibilidad con herramientas, como ID3 y
C4.5.
3) A esta información se le aplica un algoritmo de selección de
variables para obtener el modelo del objeto.
4) Mostrar que variables son las más importantes en orden
decreciente.
La segmentación es uno de los procesos fundamentales para el
éxito del modelado
del objeto. Sin embargo también es una de las etapas con mayor
complejidad en todo
sistema de visión artificial especialmente si se realiza una
segmentación con mucho detalle.
-
i I Además de lo anterior, la segmentación en sí misma tiene
problemas que influyen
en sus resultados como la iluminación no controlada que produce
bordes falsos o
incompletos lo que dificulta la extracción de los rasgos en
forma exacta. I I
Si este proceso de segrnentacion se realiza de forma manual, se
pueden producir
demasiados errores en la extracción de rasgos, ya que la vista
humana se cansa fácilmente, además de que dicha operación debe
realizar 30 cuadros por segundo. Por ello en esta
investigación se realizó un análisis dellas diferentes técnicas
de segmentación encontradas
buscando una técnica que no tuviera problemas con las
variaciones de tamaño, traslación y
rotación de los objetos, para poder registrar los parámetros
establecidos por el experto. La técnica que se propone para
segmentar y modelar Ips objetos son los snakes.
' !
I
I
3.2 PREPOCESAMIENTO DE SNAKES Una de las técnicas para realizar
el proceso de generación automática del modelo de
objetos alfqflexibles, es la utilización de contornos activos.
Los contornos activos o snakes
fueron inicialmente propuestos por [Kass, 871, estos contornos
son una herramienta que
considera la minimización de energía de un contorno, basándose
principalmente en fuerzas
aplicadas. Sin embargo, la primera fase'de los snakes requiere
preprocesar la imagen con la técnica del gradiente para particionar
los bordes más sobresalientes.
3.2.1 Cradiente
La detección de bordes con el filtro gradienie, de acuerdo con
[Maravall, 941 es
' esencialmente una operación de detección de cambios de
intensidades locales significativos
de acuerdo con un umbral establecido. , Este operador tiene como
objetivo determinar bordes con independencia de su
dirección en la imagen. Es obvio que esta propiedad es deseable
entre los detectores de bordes ya que no sería bueno que un
detector sólo fuera sensible a bordes en determinadas
direcciones, Este tipo de detectores es aplicado a cada punto de
la imagen para calcular el
borde independientemente de su orientación.
I . I .
20 i
-
Para una imagen digital, con un rango de O I x 5 N-1, O I y5
M-1, (donde N es el
tamaño mkimo de renglones y M el número máximo de columnas de la
imagen) definida
por los valores de luminosidad de sus píxeles de la imagen
I(x,y), la ecuación del gradiente
no es posible aplicarla al pie de la letra, ya que la imagen
digital que se procesa no tiene
variables independientes, ya que estas son discretas, debido a
esto se propone una
aproximación discreta ver ecuación (3.1) y ecuación (3.2).
Ejemplo:
Siendo por lo tanto:
El rango O 5 x I N-I; O I y I M-1 de la imagen, se puede
procesar en una computadora
utilizando una matriz de 3x3, los valores de las máscaras para h
ly h2 se muestran en la
tabla 3.1 y 3.2.
Tabla 3.1. La mascara h l genera resultados, que son direcciones
verticales de la imagen mi ”““I CENIDET IENl’RO DE INFORMACION
21
-
Tabla 3.2. La máscara muestra como resultado las direcciones
hormntales de la imagen.
O O O
Un ejemplo de aplicar dichas máscaras (hl y h2) de acuerdo con
las ecuaciones
(3.3) y (3.4), en la imagen en niveles de gns, que se muestra en
la figura 3.1, da como resultado la imagen de la figura 3.2.
Figura 3.1 Imagen de 24 bits. Figura 3.2. imagen procesada con
filtro gradiente.
3.3 FUNDAMENTOS DE SNAKES
De acuerdo con [Kass, 871 los snakes son modelos de contornos
activos, los cuales
presentan curvas dinámicas llamadas spline (las curvas splines
se refieren a polinomios).
Las curvas spline tienen aplicación en visión por computadora,
para propósitos generales de curvas cuando el objeto no es simple o
sufre deformaciones.
El snake es guiado por dos energías, la interna y la externa, la
cual puede ser obtenida por las características de la imagen. La
energía interna está basada en la
continuidad y su curvatura. Un snake se basa en un modelo
matemático que trata de preservar el mínimo de energía ver figura
3.3.
22
-
,,--Inicia del snake n
Punto mínima dc
Figura 3.3 Por analogía el snake adopta cualquier forma, como si
fuera agua, que se adapta a la
forma del recipiente
La energía externa se obtiene gracias a los atributos del objeto
de interés como
líneas y contornos, ver figura 3.4, el resultado de cada
iteración que se obtienen a través del
cálculo del snake se obtienen valores pequeños donde el snake
trata de fluir en esa
localización. Para que la energía adopte la forma del objeto que
se desea modelar, para
mejores resultados los bordes deben ser más notorios, esto se
logra con la aplicación del gradiente.
'
Figura 3.4 Evolución de la energia exferna usando snokes.
3.3.1 Fundamentos Matemáticos
La integral de la energía del snake puede ser escrita como
( 3 . 5 )
23
-
donde:
v(s) = (x(s), y(s)), E¡,, representa la energía interna del
spline relacionado con
las curvas.
Eimage da origen a las fuerzas de la imagen
E,,,, da origen a las restricciones de las fuerzas y se tiene
que:
donde:
Vs es la primera derivada
V,, es la segunda derivada
Williams Shah [Shah, 921 menciona que el algoritmo original
presentado por kass [Kass, 871 tiene los siguientes problemas:
I . Las fuerzas de la imagen y restricciones necesitan ser
distinguidas en orden para
garantizar la convergencia, de esta manera no es posible la
distancia minima
entre los puntos.
2. El método es numéricamente inestable.
3. La primera derivada en términos de la ecuación (3.6) fue
aproximada por una
diferencia finita, (v,? = (xi - xi-1) + (yi - ~ i - ~ ) , Esto
es equivalente a minimizar la distancia entre los puntos y tiene el
efecto de causar que el contorno se contraiga.
4. Ninguna directriz fue dada por el método original para
determinar los valores dc
a y Este método utiliza el mismo valor para a y pen cada punto,
y no existe discusión o ejemplos para explicar como cambiar esos
valores que afectan al
contorno, sucede que los valores son críticos y deben de ser
escogidos cuidadosamente para obtener resultados
satisfactorios.
5 . Si p e s constante, el snake no envolverá las esquinas en
forma adecuada.
' 1 1
. .
24
-
Amini, Tehran¡ y Weymouth [Arnini 901 proponen un algoritmo
dinámico de
programación que resuelve el problema de las ecuaciones (3.5) y
(3.6) ya que el algoritmo
de kass [Kass, 871 requiere un consumo muy grande de memoria el
tiempo es de O(i7rn’)
(donde n es el número de puntos y m es el número de
localizaciones posibles en las cuales un punto puede moverse en una
simple iteración), lo cual es muy lento.
AI notar que los snakes de kass presentan varios problemas, se
decidió utilizar en este
trabajo la nueva mejora hecha por [Shah, 921. Este algoritmo es
muy versátil para un
modelo de contornos activos el cual se ejecuta en un tiempo
O(nm)
Este trabajo presenta las mejoras del algontmq de kass que son
resueltas por [Shah 921.
El uso de rejillas para posiciones de puntos y la estabilidad en
la programación dinámica,
son conservados en este método. En adición, los valores
escogidos para a y ,D, son fácilmente determinados para balancear
las fuerzas relativas en los términos de la
reformulación de primer orden. El término de continuidad causa
que los puntos sean espaciados en el contorno, removiendo la
característica anterior de que el contorno se
encoja y haciendo que este término de continuidad de segundo
orden sea más exacto. La
irnplementación es más eficiente en tiempo y requerimiento de
espacio en memoria.
El algoritmo propuesto por [Shah 921 minimiza lo siguiente:
I
E = /(a(s)Econt +,B(s)Ecuwc + y(s)E,m.pe)ds (3.7) O
El primero y segundo término corresponden a E¡., en la ecuación
(3.5). El último término mide alguna cantidad de la imagen como los
contornos fuertes o intensidad y es el
mismo que ocupa la posición.media de la ecuación (3.5). Observe
que no hay términos para
restricciones externas. Los parametros (a, ,B y y) ‘son usados
para balancear la influencia relativa de los tres términos. Este
algoritmo es iterativo y en cada iteración, un punto vecino
’ [arepresenta a rigidez del objeto a modelar, /3 representa la
curva o cuadraturd cuando es cero, del objcto a modelar, y
representa la flexibilidad del objeto a modelar]
2s . .
-
de cada punto es examinado; y el punto vecino con la energía
mínima es escogido como la nueva localización de ese punto, todo
esto es dividido por el módulo de n(donde n es el
numero máximo de vectores del snake).
Los valores para cada término de la ecuación (3.7) se obtienen
de la siguiente manera:
1) Para determinar la aproximación más adecuada para el primer
término en la
ecuación, se considera la diferencia .del promedio de las
distancias entre los 1 puntos y la distancia de los dos puntos bajo
consideración. ver figura 3.5.
2) Para el segundo término en la ecuación (el cual es una
curva), 'nótese que la
formulación del término de continuidad causa que los puntos sean
espaciados, li imación de la cuma multi licada or una iíjí r(ue
lusri' di HM iii?iii~'rl! fii Ililii I I P P
constante, esta formula es computacionalmente eficiente.
3) El tercer término de la ecuación es la fuerza de la imagen,
la cual es la magnitud li del gradiente. Para dar una magnitud
(mag) en un punto y el máximo (máx.) y
mínimo (min.) lmk.nrLl en cada yecino. se uriliia la operación
(iiiinl- '! mag)/(max -min) para normalizar el contorno. Esta
magnitud del gradiente es
negativo, así que los puntos con gradientes grandes tendrán
valores pequeños.
4) Lo anterior se realiza mediante iteraciones. Al final de cada
iteración, un proceso determina la curvatura en cada punto del
contorno y si el valor es
mínimo se establece = O para la siguiente iteración. !I I
I
Figura 3.5 Vecindad del nodo anterior v i.1, nodo actual vi,
nodo siguiente Vi+,
Energía Funcional. La energía funcional tiene tres términos, uno
de continuidad. otro I término de curvatura y el último de imagen,
ver ecuación (3.8).
(3.8)
Donde afi) y Pfi) y &)son constantes. Se utilizan valores
que inicializan G I , ,&O. cuando una esquina este presente en
el punto actual se inicializa a I o mayor de I en otro
I 26
-
caso cuando no existen las esquinas a O. Ahora se describe como
son calculados en la
computadora, cada uno de esos términos de la energía
funcional.
a) Calculando Eeont, Dado los siguientes n puntos vi =( XI, y1 )
donde i=l ..n. Note que la
aritmética es entera en el tamaño n de snmels del objeto (n es
el número de puntos del contorno) debido a que el contorno es
cerrado. Se considera un vecino (N, )de tamaño m, en el punto
actual devi como se muestra abajo, ver también ecuación (3.7).
Entonces se tiene:
'dj E K . , E . = d V.-^. I cont,j - 1 J 1-1
Donde d e s la distancia media entre sus puntos es decir:
11
(3.9)
'I
La desviación de la energía calculada en la ecuación (3.9), es
normalizada en la ecuación
(3.1 I) , su vecindad & es como sigue:
E cont,j max E = (3.1 I )
b) Calculando Ecurv. El cálculo de la curva de la energía se
realiza utilizando la siguiente fórmula:
(3.12)
2 7
-
Esta energía de la c b a es normalizada en su vecindad K, como
sigue:
E (3.13) Cum, 1 E=-
j E K. (E .) 1 CUrV,J
c) Calculando Eimage. El cálculo de la energía.de la imagen se
obtiene de la intensidad de
las magnitudes dei gradiente de la imagen G,, de todos los
puntos en Su vecindad
usando la siguieite ecuación:
s i G m m - b m i n
-
3.3.2 Pseudocódigo del Snake
A continuación se muestra el pseudocódigo para obtener la
envolvente del objeto,
basándose en las ecuaciones anteriores:
Establecer el contorno inicial llobtenidó por la técnica del
gradiente.
Nodos a calcular =n //Número de nodos que tiene el snake.
While (Pts - Mover > Umbral3)
{ for cada punto, vi, En el contorno
I
for cada punto, vj , en la vecindad Ni del punto vi
calcular la energía E, =a,Econtj + PjECUWYJ } / I punto v,.
Mover el punto vi al punto vj en Ni con el mínimo de
energía.
If vi es movido a una nueva localización, incrementar
pts-Mover.
End. // punto, Vi Encontrar esquinas donde la curvatura es
establecida por 0 4 por cada punto v, 11 / / en el contomo.
calcular curvatura ci.
if ((ci > cj., y Ci > ci+l ) //curvatura es más grande que
sus vecinos
and (ci > Umbral I ) //curvatura es mayor que el umbral I
and (magnitud del gradiente en vi > Umbral2) /Borde
fuerte
{
then pi =O en el punto vi }
}//end While
3.4 EJEMPLOS DE FUNCIONAMIENTO
Para que los resultados de los snakes sean satisfactorios, hay
que saber manipular
las a@, @) y y(c), como ya se mencionó alfa representa la
rigidez, beta representa las curvas que existen en el objeto; que
en caso de que existan esquinas, beta se inicializa a
1
29
-
cero. gamma representa la flexibilidad que deberá tener para
ajustarse en forma adecuada al
objeto, lo anterior permitirá registrar los cambios que presenta
el objeto.
A continuación se muestran algunos ejemplos para que se observe
el uso de estos 11 parámetros. El primer valor representa (a), el
segundo (P), el tercero (y), ver figura 3.6.
a)
o 0.1 0.0 5 a > P > Y
f)
00.1 0.1 o
a>P>Y
0.4.0.6.1.0 0.6.0.4.1.0 0.8.0.2.1.0 ' .O,om 1.0 1.0, 0.0,l.O
a>P>Y a,P,u a>P>Y a , P , r a,P,u Figura. 3.6 Se
muestra los resultados al cambiar los valores de a.8.u.
Como puede observarse en la figura 3.6, cuando se disminuye Beta
y Gamma se
mantiene igual, el snake no se adhiere a la forma real de la
curva, cuando se aumenta Alfa,
se aumenta la rigidez y si el objeto tiene picos no se adhiere a
la forma real del objeto.
Cuando se aumenta Gamma y Alfa y se disminuye Beta el snake se
adhiere a la forma real
del objeto, debido a que al aumentar la elasticidad se envuelve
adecuadamente a la forma
del objeto .
I
30
-
La técnica de los Snakes permite que el experto seleccione los
puntos que 61
considere más importantes, se pueden seleccionar máximo 50
snakes. Un snake esta
formado por puntos conocidos como snaxels, el conjunto de
snaxels corresponden a un snake; en la figura anterior 3.6 los
snaxels son unidos por lineas. El resultado del snake permite
registrar los cambios que presenta el objeto en cada cuadro,
utilizando otras
técnicas como histograma, centro de gravedad del snake (con
respecto a x e y , de cada
snaxel.) y obtención del área. Los resultados se obtienen por
cada cuadro de video, por
ejemplo si existen 40 cuadros, se tendrán 40 resultados por cada
snaxel que se esté modelando.
Otros experimentos que utilizan la técnica de los Snakes con
figuras más complejas
se pueden observar en las figuras.(3.8, 3.9, y 3.10). El
objetivo de este experimento es el
I
If
segmentar y dar seguimiento a la boca de la persona . Se
inicializa el snake seleccionando
los puntos o snaxels en la posición cercana a los labios ver
figura 3.8.
'!
l
ike
Con los siguientes valores Alpha = 10 y Alpha =20, con Beta =1
en los dos casos:
31 Figura 3.9 a) Alfa=iO Beta=¡. b) Alfa=20. Beta=l
-
Se puede observar que cuando el valor de aya aumenta los snaxels
tienden a juntarse más, es decir el snake se contrae más observe la
figura anterior 3.9.
Figura 3.10 a) Inicialización del snake. b) resultado del
snake.
En conclusión, la técnica de los snakes permite adoptar los
cambios que presenta el objeto durante la secuencia de imágenes.
Esta técnica es idónea ya que no se necesita
presentará el objeto. Los snakes se amoldan fácilmente a los
cambios del contorno que
I
ningún conocimiento apriori del objeto y tampoco se requiere
saber cuántos cambios !
presente el objeto, por lo que permite registrar en forma fiel
las transformaciones del
mismo. !
Otro experimento con Alpha=l y Beta=l, Alpha=I y Beta=2, Alpha=l
y Beta=3. '!
ver figura 3.1 I
Figura 3.11 A)u=I ,p=I . B)a=l.D=2. C) a=i.p=3
32
-
En la figura 3.1 1 se observa que cuando se aumenta beta el
resultado del snake no define en
forma exacta las esquinas, dando los valores adecuados se pueden
aplicar los snukes en una
secuencia de video ver figura 3.12.
Figura 3.12 Secuencias de imágenes utilizando la técnica del
snake.
3.5. COMENTARIOS
La etapa de segmentación es un proceso muy importante, ya que de
ésta depende que se obtengan en forma exacta los rasgos que
permitirán modelar los objetos en forma
adecuada, por lo que la metodología propuesta contempla el uso
de una técnica que
considerará los cambios que va realizando el objeto debido a la
rotación, traslación y
movimiento. La técnica de los snakes evita la necesidad de saber
upriori las formas que va
33
-
1,
adquiriendo el objeto durante el movimiento que éste realiza.
Los snokes permiten extraer los rasgos a partir de la selección que
realiza el experto en la primera imagen. Lo anterior es la base
para desarrollar el modelado en forma automática, objetivo final de
ésta investigación.
34
1
-
CAPÍTULO 4
MODELADO I
4.1 SELECCIÓN DE RASGOS
La selección de rasgos representativos de un objeto no es una
tarea fácil, al ~
contrario, es un proceso bastante complejo que puede realizarse
en una computadora. El ser humano, por ejemplo, normalmente agrupa
en categorías generales a los conceptos de
objetos que conforman su ,medio ambiente. Los rasgos que utiliza
para representar a dichos !
objetos son seleccionados de forma tan rápida y confiable que
normalmente el ser humano
no se da cuenta del proceso que se realiza en el cerebro.
Normalmente en la computadora no se puede determinar upriori cuales
son los rasgos mínimos que representan en forma
adecuada al objeto que se va a modelar. Cuando se desea modelar
un objeto, el experto
I/
selecciona ciertos puntos que considera importantes de acuerdo
con la experiencia ! adquirida, ya que él puede tener conocimiento
upriori de los cambios en el objeto que se va
modelar. Sin embargo, algunas veces puede no tener ninguna idea
de los cambios que puede presentar el objeto en el movimiento que
éste presenta, esto, debido a la falta de
experiencia en el campo o a la falta de conocimiento del
comportamiento del objeto. Con la
técnica de los snakes. Los cambios que presenta el objeto quedan
registrados en un archivo de conocimientos.
!
Como se mencionó en el capítulo anterior, la técnica de snukes
pennite obtcner
información de los cambios que presenta el objeto, obtenidos por
medio de la secuencia de movimientos almacenados en un vídeo
(secuencia de cuadros). El resultado obtenido es un
35
-
I
conjunto de información repetitiva debido a que el objeto no
cambia de un cuadro a otro de
forma demasiado rápida, ya que se esperan cambios suaves (de un
pixel a tres pixeles) por
lo que la información puede ser demasiado redundante. Lo que se
necesita es una técnica
que permita obtener aquellos rasgos que mejor representen al
objeto con el mínimo de información pero, que sin embargo esté
completa o sea la más discriminante para un
reconocimiento posterior del objeto.
'I I
El humano cuando adquiere ciertos conceptos de un objeto,
normalmente los agmpa
en categonas generales, estas categorías son un conjunto de
rasgos seleccionados que t cumplen con propiedades que él mismo
desea o ha seleccionado, lo cual le permite realizar
una selección fiable. Los rasgos que se han elegido,
generalmente dependen, de la experiencia del experto.
I Para que el modelado pueda ser efectivo se debe de poseer
métodos eficaces para
manipular las representaciones, por lo que es necesario contar
con un método que permita
discriminar eficientemente los rasgos obtenidos en el modelado
del objeto.
El determinar cuáles son las características iniciales del
objeto, permite que se genere un modelo correcto del objeto que se
deforma durante un intervalo de tiempo. Una
técnica que permite obtener el conjunto mínimo de variables del
objeto aí/¿¿flexible es la
teona de testores [Shulcloper, 991. !
Según [González, 961 un patrón o modelo es una descripción
estructural o cuantitativa. Un modelo es un conjunto de rasgos Ó
características que mejor describen al objeto.
4.2 ENFOQUE LOGICO COMBINATORIO De acuerdo con [Shulcloper, 991,
el Reconocimiento de Patrones (W), es la ciencia
de carácter interdisciplinano que se ocupa de los procesos de
ingenieria, computacionales y
matemáticos relacionados con objetos físicos y abstractos, la
cual tiene el propósito de
extraer por medio de dispositivos computacionales, la
información que le permita 11 36
-
1;
establecer propiedades de los conjuntos de dichos objetos.
Entonces, un problema de RP es aquel que esta relacionado con la
clasificación de objetos y fenómenos, con la
determinación de los factores que inciden con los mismos. El RP
es la ciencia que parte de
los conocimientos clásicos de la clasificación y contempla el
problema de la "selección de rasgos". En este problema se
solucionan 2 aspectos fundamentales:
I
a) Reducir el número de rasgos en términos de los cuales se
describen los objetos de trabajo.
b) Encontrar los rasgos que mayor influencia tienen en el
reconocimiento de dichos
objetos, para esto se hace uso de la teoría de testores que se
explica en este trabajo.
Como se puede observar, de acuerdo con , [Shulcloper 991 en este
trabajo de tesis
algunos conceptos básicos en la selección de rasgos son los
siguientes:
Patrón: objeto ya clasificado.
Clase: Es un conjunto.de objctos, los cuales son semejantes,
también se llama clase a 1; aquellos conjuntos que formen un
cubrimiento; es decir, se puede tener intersección no
vacía.
Rasgo: Características o factores que se consideran en el
estudio de objetos, esto
permite realizar la descripción de los objetos.
Modelo: [González, 9,6] un patrón o un modelo es una descripción
estructural o
cuantitativa de un objeto en una imagen; de acuerdo con
[Shulcloper, 991 un objeto es
un concepto con el cual representamos a los elementos sujetos a
estudio.
!
Desde otro punto de vista un modelo es una representación de un
sistema que nos permite simular su comportamiento en diversas
condiciones y queda determinado por las
características que se han seleccionado y que permitirá modelar
esta información para su
reconocimiento o estudio.
Ejemplos de objetos que representan a los elementos sujetos a
estudios [shulcloper, 991:
Un paciente.
Una zona geológica.
http://conjunto.de
-
Un equipo eléctrico.
Un conjunto de personas.
Una fotografia.
Lo objetos anteriores se establece formalmente considerando un
universo M de objetos y un cubrimiento finito K1, ..., Kn, de M,
por subconjuntos propios, es decir, Ki c M, para ¡=I,,..+ Sean X I
, ....x~ los rasgos, en términos de los cuales se describen los
objetos. Cada rasgo xi tiene asociado un conjunto Mi que
denominaremos conjunto de valores admisibles del rasgo. Algunos de
los conjuntos de valores admisibles que consideraremos son:
Tabla 4.1. representación de los rasgos y clases (kl,k2) de los
objetos (O,,O,) segun [Shulcloper, 991
X I ... XII Raseos
E1,l Ei,n
Descripción del objeto Om compuesto de n vaiiables
,I Q , n
4.3 TEORÍA DE TESTORES
AI describir un objeto en términos de rasgos o sus respectivas
variables no siempre
son necesarios todos los rasgos o variables para poder
diferenciar unas clases de otras. Por lo que es necesario encontrar
qué subconjuntos son suficientes para caracterizar las clases
para ello se ha desarrollado una técnica que permite obtener los
rasgos más importantes. El
algoritmo BT (Bottom Top) se basa en los conceptos de fesfor y
testor fípico. El objctivo
es obtener una buena descripción de los objetos, obteniendo los
mejores rasgos o
características más descriptivas del objeto. Esta selección no
siempre es fácil y menos
38
li
-
menos cuando el vector de características es demasiado grande, o
es dificil cuando las variables tienen dependencia entre ellas.
81
1
De acuerdo con [Shulcloper, 991 testor en su concepto más básico
para dos clases es un conjunto de rasgos (columnas) que permiten
diferenciar a un objeto entre dos clases; es decir se tiene una
clase to con n rasgos o variables y otra clase I / con n rasgos o
variables, se
dice que ningún objeto de la clase to tiene descripciones
semejantes de la clase 1 1 , un testor
se llama irreducible (típico) si al eliminar cualquiera de
dichas columnas deja de ser [estor para las dos clases (to,tl).
t ./
' t Un testor típico permite obtener los rasgos importantes para
el reconocimiento del objeto. De forma similar obtiene las
combinaciopes mínimas de los rasgos de las clases,
esto hace la diferencia entre dos clases, a través del conjunto
de rasgos, característica
necesaria para mantener la diferencia entre las dos clases. Este
proceso explicado de
manera sencilla es lo que realiza el algoritmo BT.
4.3.1 Algoritmo BT.
El algoritmo para el cálculo de testores típicos trabaja con la
generación de los n-uplos
booleanos (esto se refiere a los valores binarios, cero o uno
que en su conjunto
representan un valor nufnérico) de la siguiente forma a(i)=al..
.a,,. donde el total dc las 1 1 alfas representan los rasgos o él
número de variables que describen al objeto a modelar.
El algoritmo se basa en la comparación y análisis exhaustivo de
todos los subconjuiitos
de los rasgos siendo el total de 2". El algoritmo no contempla
todas las combinaciones ya que realiza saltos cuando encuentra un
testor típico, este algoritmo al mostrar los
resultados de la lista de teslores típicos, no determina cuál es
el mejor de toda la lista que fue generando.
El algoritmo se basa en la idea de ir generando a(¡) a partir
del número biiiario (O ... I )
hasta 2" ,es decir el orden natural de los vectores
característicos de los 2" se inicia el
valor como O...O y el ultimo valor para a es 1..1 esto se
realiza utilizando la
39
-
numeración binaria en orden ascendente, se considera cuando a,
=O (i=O,i ... n) el rasgo '1
no se toma en cuenta en la descripción del objeto y cuando a.=l
indica que el rasgo j
misma clase. Por ejemplo cuando el algoritmo encuentra un testor
tipico con el
siguiente valor a(i)=000100 los siguientes valores no son
tesiores tipicos I a(i+l)=000101, a(i+2)=000110, a(i+3)=000111, ya
que así fue diseñado este
!I
permite diferenciar un objeto que pertenece a una clase de otro
que no pertenece a la
11
I
algoritmo, que permite saltos para ser más rápido, el algoritmo
continúa con el siguiente
valor a(it4)=001000 hasta que se alcance el valor de a(i+n)=lll
11 I . El valor máximo que puede alcanzar depende del número de
rasgos del objeto. Por ejemplo para 3 rasgos
empieza con O00 y termina cuando alcanza su máximo valor que es
1 1 1.
Para llegar a estos resultados el algoritmo sigue una serie de
pasos que se listan a detalle a
continuación.
a) Calcular la Matriz de Diferencia
b) Obtener subfila y superfila de la matriz de diferencia para
generar la fila básica.
C) Proposiciones que determinan que rasgos son testores
típicos.
d) Algoritmo de testores tipicos
a) Matriz de Diferencia (MD) Se calcula la matriz de diferencia,
la cual se obtiene de comparar cada objeto de cada clase
con los objetos de las clases restantes.Tenemos dos matrices que
representan dos clases
diferentes la primera clase con tres objetos, la segunda clase
con 2 objetos teniendo cinco
rasgos cada clase ver tablas 4.2 y 4.3.
Tabla 4.2. Representa la primera clase con tres objetos.
40
r
-
Tabla 4.3. Representa la segunda clase con dos objetos.
Utilizando criterios de diferencia, se compara las filas del
objeto fo con las de 11, es decir se toma la primera columna del
objeto uno con la primera del otro objeto, la primera con la
segunda y así sucesivamente, por lo que el resultado de filas en
total sería las filas
del primer objeto por las filas del segundo objeto (para este
caso tenemos 3 objetos de la
primera clase y 2 objetos de la segunda clase, esto es 3 x 2= 6
filas) de la matriz de diferencia. ver tabla 4.4.
Tabla 4.4. Resultado de la matriz de diferencia
b) Fila Básica
Para obtener la fila básica primero se necesita conocer cuál es
subfila y superfila.
Sean p y t dos filas de la matriz de diferencia, se dice que p
es subfila de r si en todas las
columnas donde el renglón d e p tiene un I , también I lo
tiene,ver inciso a).
a) t'j (ap, = 1 2 a,, = I ) . Ejemplo: p = 10001
t = 11101
41
L 10s siguientes 2 n-k - I n-upios son listas restores pero no
típicos. f
I 42 L
-
Tabla 4.3. Representa la segunda clase con dos objetos.
Utilizando criterios de diferencia, se compara las filas del
objeto to con las de I , , es decir se toma la primera columna del
objeto uno con la primera del otro objeto, la primera
con la segunda y así sucesivamente, por lo que el resultado de
filas en total sena las filas del primer objeto por las filas del
segundo objeto (para este caso tenemos 3 objetos de la
primera clase y 2 objetos de la segunda clase, esto es 3 x 2= 6
filas) de la matriz de diferencia, ver tabla 4.4.
I
Tabla 4.4. Resultado de la matriz de diferencia
I
b) Fila Básica
Para obtener la fila básica primero se necesita conocer cuál es
subfila y superfila. Sean p y I dos filas de la matriz de
diferencia, se dice que p es subfila de f si en todas las columnas
donde el renglón ,dep tiene un 1, también f lo tiene,ver inciso
a).
a) Vj (ap, = I 2 a,, = 1 ) . Ejemplo:
p = 10001
I = 11101
41
'I I
-
I
Existe al menos una
-
Proposición 3. Sea a una lista testor y k el subindice del
ultimo uno en a, entonces los
siguientes 2 "-' - I n-upios son listas testores pero no
típicos.
Proposición 4. Sea a=(a,, ..., a,) una fila de MB y k el
subindice del Último 1 en a suponga que también a= (a!,.. . ,an) no
es lista testor y que para u y a se satisface lo siguiente:
I V j = 1, ..., n ( a . A a. )=O
J 1 Sea a=(&/, ...,a',) talque.
i!
a . s i j < k
a.= 1s i j = k 1 ' lO:ij>k
Entonces ninguna lista comprendida entre a y a' es una lista
testor
d) Algoritmo
Paso ¡. Se genera la primera lista a no nula de longitud n. I
Paso 2. Se determina la proposición I si la lista generada a es una
lista testor en MB
(matriz básica).
Paso 3.
a) Si es lista tator aplicamos la proposición 3.
b) Si es lista testor típico se imprime a y se aplica la
proposición 2. c) Si no es lista testor se determina la fila u de
la MB que provoca este hecho (de no ser
Única se toma la que tenga el Último 1 más a la izquierda se
aplica la proposición 4.
Paso 4. Se genera la lista siguiente a las descartadas en virtud
del paso 3 y. se regresa ai paso 2 en caso de que la lista
resultante del paso 3 no sea posterior a 1 , l . . . , l , l . Es
decir, si
el tadaño es de I 11 1 verificar que no sea mayor a 11 1 1 o
igual a 1 1 I 1 1 . La selección de
rasgoj permitirá seleccionar aquellas variables que permitan
identificar o reconocer al
objeto que se está modelando.
I
I k
43
-
Proposición 3. Sea a una lista testor y k el subíndice del
ultimo uno en a, entonces los siguientes 2 n-k -1 n-upios son
listas testores pero no típicos.
Proposición 4. Sea a=(a,,. . .,a,) una fila de MB y k el
subindice del último I en a suponga
que también u= (al,.. .,an) no es lista testor y que para u y a
se satisface lo siguiente:
V j = 1, ..., n ( a . A u . ) = O
Sea a= (a'!, ..., dn) tal que. J 1
a . s i j < k
a . = I s i j = k J I l O l i j > k
Entonces ninguna lista comprendida entre a y a' es una lista
testor.
d) Algoritmo
Paso 1. Se genera la primera lista a no nula de longitud n.
Paso 2. Se determina la proposición 1 si la lista generada a es
una lista testor eii MB
(matriz básica).
Paso 3.
a) Si es lista tesior aplicamos la proposición 3 .
b) Si es lista testor típico se imprime a y se aplica la
proposición 2 .
c) Si no es lista testor se determina la tila u de la MB que
provoca este hecho (de no ser única se toma la que tenga el último
I más a la izquierda se aplica la proposición 4.
Paso 4. Se genera la lista siguiente a las descartadas en virtud
del paso 3 y, se regresa al
paso 2 en caso de que la lista resultante del paso 3 no sea
posterior a 1 , l . . . , I , I . Es decir, si el tamaño es de 1 1
11 verificar que no sea mayor a 1 1 I 1 o igual a 1 11 1 I . La
selección dc
rasgos permitirá seleccionar aquellas variables que permitan
identificar o reconocer al
objeto que se está modelando.
43
-
A continuación se muestra el siguiente ejemplo:
Se toman los objetos de las tablas 4.2. y 4.3 y el resultado de
la matriz de diferencia es la tabla 4.5, se obtiene la matriz
básica que está compuesta por el total de filas básicas y su
resultado es la tabla (4.6).
Tabla 4.6 resultado de la matriz básica
Se inicializa a con el siguiente valor Paso 1 :
EO0001.
Paso 2:
El resultado es que no es lista testor, por la proposición
1.
Paso 3 :
Se aplica c).
Se utiliza la proposición 4.
Paso 4:
Se genera la nueva alfa.
a=010000.
Paso 2:
El resultado es que no es lista testor, por la proposición
1.
Paso 3:
Se aplica c)
Se utiliza la proposición;4.
Paso 4:
Se genera la nueva alfa. '.
~ 0 1 1 0 0 0 .
44
-
Paso 2: El resultado es lista testor.
Paso 3: Aplicar b).
Es testor típico se imprime y se aplica la proposición 2
a=o 1 1000. Paso 4:
Se genera la nueva alfa.
a=100000.
Paso 2:
No es testor.
Paso 3:
Aplicar c).
Se aplica la proposición 4
Paso 4 :
Se genera la nueva alfa
a= 1 10000.
Paso 2:
No es testor.
Paso 3 :
Se aplica c).
Se aplica la proposición 4 Paso 4:
Se genera la nueva alfa.
a=l11000.
Paso 2:
No es lista testor.
Paso 3:
Aplicar c).
Se aplica la proposición 4
45
-
Se genera la nueva alfa.
a=lll111.
Como en este caso alfa es mayor a 11 11 1 se termina el
proceso.
4.3.2 Importancia de los testores típicos
En algunos casos se generan varios testores típicos como se ha
visto anteriormente por
lo que el usuario no conoce qué conjunto de rasgos son los más
importantes para una mejor
descripción del objeto. Existen dos métodos que se describen a
continuación y que permite
conocer que rasgos son más importantes.
a) Peso Informacional.
b) Longitud del Testor.
a) Peso Informacional:
La manera de obtener este valor en la opinión de [Shulcloper,
991 es la siguiente: Sea I
el numero de festores fípicos que tiene una matriz de
aprendizaje y f(i) el numero de
testores típicos en los que aparece la columna correspondiente
al xi, se dice que el peso
informacional se obtiene a partir de la siguiente fórmula:
Para i= l . . .n, x, E R.
Ejemplo se tienen los siguientes conjuntos de testores
típicos
Y={ { X i l>~x2,xsl,~x2,x3,x4~ I
P(~i)=P(x3)=P(~)=P(~s)=O.33333 y P(~z)=0.666.
Son tres subconjuntos de testores rípicos, el primer subconjunto
aparece una vez con la
siguiente variable x,,en el segundo subconjunto aparecen dos
variables x2,xj y en el terce
subconjunto tres variables x2.xJ,x4 en el segundo y tercer
subconjunto se repiten dos veccs la
variable x2=2/3=0.6666.
Todas las demás variables aparecen una vez por lo que su valor
es de ( I /3=0.33333) es
natural pensar que el rasgo x , es más importante que los otros
rasgos, sin embargo en el
46
-
resultado numérico no lo demuestra, por lo que este cálculo por
si solo no muestra el resultado coriecto.
b) La longitud del testor:
Resulta natural considerar un rasgo más importante en la medida
en que es menor la
longitud del testor típico en que aparece, esto es asociando a
cada rasgo una magnitud que
depende de estas longitudes y se denota por L(a:
1 = Y -
(4.2)
La ecuaci ~ I (4.2) indica en el numerador la sumatona dc.
.estor típico que aparece en cada
conjunto, en el caso de L(XI) aparece solo una.ves {xi}, esto
dividido por el numero total
que aparece en todos los conjuntos, el resultado es 1/1/1=1.
L(XI)=l, L(X+0.418, L(X3)= L(&)=0.333 , L(Xs)=0.5. Estos
valores no muestran la verdadera importancia de las variables ya
que se esperaba que
el rasgo X, , sea más importante sin embargo Xj muestra un valor
mayor X2, ya que X, necesita de una variable adicional mientras que
XS necesita dos variables adicionales, se
requiere de una combinación de cálculo adicional como se muestra
en el siguiente caso:
p(X)=aP(X) + pL(X) donde a y p >O a + p=l. a y p son
parámetros que ponderan la participación de P(x) y de L(x). Si
asignamos los siguientes valores a = p=0.5, se obtienen los
siguientes resultados:
p( XI ) =0.666 p( Xz) ~ 0 . 5 2 4 p( X,)= p( Xq =0.333 p(
X5)=0.416 este resultado es el que se esperaba, ya que se muestra
de acuerdo con su importancia
previamente intuida.
4.4 RASGOS A MODELAR Como ya se mencionó los rasgos son las
características que se toman en cuenta para su
estudio, en este trabajo al utilizar la técnica de snakes, , se
registran las distancias entre
todos los puntos de Y yy, que presenta el objeto aífqflexible,
estos cambios se almacenan en
47
-
l
una base de conocimientos, los cuales fueron el resultado de una
secuencia de cuadros en
un vídeo. Lo siguientes rasgos que registra la herramienta en la
base de conocimientos se
obtienen por medio del histograma, centro de gravedad del snake
relacionado con x y y . el
área del objeto, lo anterior una vez almacenados en la base de
conocimientos se utiliza la
técnica de tesfores (@cos, esta técnica permite disminuir la
redundancia de información,
es decir obtiene un conjunto de rasgos que mejor describan al
objeto
4.4.1 Color por Histograma El histograma [Maravall, 941 de una
imagen consiste en un diagrama de frecuencias,
de la propia imagen. Las abscisas (valores de x, de O a 255)
corresponden a los niveles de
gris o valor del byte correspondiente al formato RGB
(red,green,blue) y las ordenadas es el número de veces que se
presenta el valor de cada pixel (ver figura 4. I ) , en el formato
RGB.
se necesitan tres hictogramas para representar cada valor del
formato, se toma los cuatro
valores mas altos de R, G y B del formato, con esto se