Download MC Eduardo Orbe Trujillo 2003

Document related concepts

Reconstrucción tomográfica wikipedia , lookup

Transcript
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
PARA
E
OBTENER
MAESTRO
CIENCIAS
P
R
S
E
EDUARDO
EN
EL
I
GRADO
CIENCIAS
S
DE
EN
COMPUTACIONALES
E ’ N
S
QRBE
T
A
:
TRUJiLLO
DIRECTORES DE TESIS DR. RAUL PINTO ELIAS
CUERNAVACA, MORELOS
JULIO DE 2003
I
IMITmuhn I-f
iw€srGU%rrW&hu
FORMULARIO C3
REVISIÓN DE TESIS
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.
lELS.(777)312 2 3 1 4 . 3 1 8 7741,FAX(777) 312 2 4 3 4
EMAIL pazos~rdcenidet.com.mx
CP.62490. CUERNAVACA. MOR. - MEXICO
w~ycm~D(~wcIuoN~
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
TABLA DE CONTENIDO
Lista de figuras
Lista de tablas
Lista de ecuaciones
V
vii
...
Vlll
CAPITULO 1
INTRODUCCI~N
1.1 Antecedentes
2
I .2 Descripción del problema
5
1.3 Propuesta de solución
5
1.4 Metodología de solución
6
1.5 Objetivo
7
1.6 Alcances
7
1.7 Producto esperado
7
1.8 Disciplinas involucradas
8
1.9 Aplicaciones
8
1.10 Organización de la tesis
9
CAPITULO 2
ESTADO DEL ARTE
2.1 Estimación de movimiento de contornos en imágenes secuenciales
II
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
14
2.5 Snakes, formas, y flujo del vector gradiente
15
2.6 Un modelo de contorno activo para dibujar la corteza
i6
2.7 Contornos Activos y Modelos defomables
17
2.8 Modelo de Clasificación Supervisada Basado en Conjuntos de Representantes
17
2.9 Enfoque lógico combinatorio al reconocimiento de patrones
18
2.10 Filtro pasa alto
18
CAPITULO 3
SNAKES
3.1 Introducción
19
3.2 Preprocesamiento de snakes
20
3.2.1 Gradiente
3.3 Fundamentos de snakes
20
22
3.3.1 Fundamentos matemáticos
23
3.3.2 Pseudocódigo
29
3.4 Ejemplos del funcionamiento
20
3.5 Comentarios
33
CAPITULO 4
MODELADO
4.1 Selección de rasgos
35
4.2 Enfoque lógico combinatorio
36
4.3 Teoría de testores
38
4.3.1 Algoritmo BT
39
4.3.2 Importancia de los testores tipicos
46
4.4 Rasgos a modelar
47
4.4.1 Color por histograma
48
4.4.2 Centro de gravedad del snake relacionado con "x" y ')"
49
4.4.3 Área
49
4.4.4 Distancias entre todos los puntos de " x" y ')" del snake
49
...
111
4.5 Ejemplo del modelado de un objeto alfafiexible
49
4.6 Comentarios
53
CAPITULO 5
EXPERIMENTACI~N
5.1 Introducción
54
5.2 Casos de estudios realizados
55
5.3 Análisis de los resultados
65
CAPITULO 6
CONCLUSIONES
6.1 Introducción
66
6.2 Metas alcanzadas
67
6.3 Producto esperado
67
6.4 Aportaciones
68
6.5 Trabajos a futuro
68
REFERENCIAS
69
ANEXO A
12
iY
LISTA DE FIGURAS
Figura
Descripción
Página
Figura 1.1
Cambios que presenta la mano en los movimientos que realiza.
4
Figura 1.2
Esquema de solución de este trabajo.
6
Figura 3.1
Imagen de 24 bits, la cual es procesada a niveles de grises.
22
Figura 3.2
Resultado del proceso con filtro gradiente.
22
Figura 3.3
El snake adopta cualquier forma, como si fuera agua, basado en la
23
minimización de la energía:
Figura 3.4
Evolución de la energía externa usando snakes.
23
Figura 3.5
Se muestra la vecindad de los nodos.
26
Figura 3.6
Se muestran los diferentes resultados al cambiar los valores de aJ3,y.
30
Figura 3.8
Inicialización del snake.
31
Figura 3.9
Valores iniciales a) Alfa=lO Beta=l
b) Alfa=20, Beta = I
31
Figura 3.10 Imágenes donde a)l Inicialización del snake b) resultado del snake.
32
Figura 3.11 Resultado del snake con los siguientes valores A) a = l , p = l
32
B) a=I,p=2
C) a=1$=3.
Figura 3.12 Secuencias de imágenes utilizando la técnica del snake.
33
Figura 4.1
imagen con su respectivo histograma.
48
Figura 4.2
El snake se adecua a la forma del movimiento de los labios
SO
Figura 5.1
Se seleccionan los puntos alrededor de los párpados.
55
Figura 5.2
Lectura de los labios con ruido.
60
Figura 5.3
Modelado de labios sin mucho ruido.
62
Figura 5.4
Modelado de la cabeza en un ambiente natural.
64
Figura A.l
Imágenes del modelado del parpado del caso I .
73
Figura A.2
Modelado del objeto alfaflexible para el caso 2.
74
Figura A.3
Continuación del caso 2, Modelado del movimiento de los labios con un poco
75
:I
de mido.
Figura A.4
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.
77
Figura A.6 Continuacion del caso 4, Modelado del movimiento de la cabeza utilizando u n
78
ambiente natural.
YI
LISTA DE TABLAS
Tablas
Descripción
Página
21
Tabla 3.1
Esta máscara obtiene las líneas verticales
Tabla 3.2
El cálculo de esta máscara permite obtener líneas horizontales.
Tabla 4.1
Representación de los rasgos y clases de los objetos.
3X
Tabla 4.2
Representa una clase con tres objetos.
40
Tabla 4.3
La siguiente clase con dos objetos.
41
Tabla 4.4
Resultado de la matriz de diferencia.
41
Tabla 4.5
Se muestra una fila básica, esta fila básicaes
Tabla 4.6
Resultado de la matriz básica.
44
Tabla 4.7
Testores típicos obtenidos del segundo caso.
51
Tabla 5.1
Distancias de los puntos que conforman el snakes alrededor del snake.
56
Tabla 5.2
Cuatro colores que mas aparecen del formato R.G.B que modela la herramienta.
57
Tabla 5.3
Matriz generada mediante las distancias de los puntos mas los rasgos de la tabla 57
,
S14.
22
42
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
Gradiente en dirección de x .
21
Ecuación 3.2
Gradiente en dirección dey.
21
Ecuación 3.3
Cálculo del gradiente con su máscara en dirección de x
21
Ecuación 3.4
Cálculo del gradiente con su mascara en dirección d e y
21
Ecuación 3.5
Ecuación del snake por [Kass, 871.
23
Ecuación 3.6
Cálculo de la energía interna.
24
Ecuación 3.7
Ecuación del snake por [SHAH, 921.
25
Ecuación 3.8
Ecuación de la energía funcional del snake.
26
Ecuación 3.9
Cálculo de la ecuación de la distancia media de los puntos del snake menos
21
I!
los puntos vecinos.
Ecuación 3.10 Cálculo de distancia media de los puntos del snake.
21
Ecuación 3.11 Normalización de la ecuación (3.9).
27
ij
Ecuación 3.12 Cálculo de energía curva.
21
Ecuación 3.13 Normalización de la ecuación (3.12).
28
Ecuación 3.14 Obtención de la energía minima y máxima de la imagen del gradiente.
28
Ecuación 3.15 Normalización de las magnitudes del gradiente
28
Ecuación 3.16 Ecuación de la curvatura del objeto.
28
Ecuación 4.1
Obtención del peso informacional.
46
Ecuación 4.2
Obtención de la longitud del testor típico.
41
\ill
CAP~TULO1
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.
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
A
una adecuada interpretación, de los rasgos que integran a los objetos de las imágenes
digitales.
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
I,
humano, una lombriz, etc.
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~NDEL 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~ADE S O L U C I ~ N
Estos pasos se muestran de manera gráfica en la figura 1.2.
a
Carga el video en formato AVI.
a
Selecciona el objeto o los objetos a modelar.
.
.
.
a
a
a
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.
Obtención del modelo del objeto.
Carga el video con formato :vi
+I
Selecciona los objetos a modelar
Procesamiento d e cada cuadro del
MODELO DEL OBJETO
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
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.
0
Se usará un conjunto técnicas que contemplen las características de extracción
de los rasgos.
0
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.
o
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.
1.7 PRODUCTO ESPERADO
o
Una herramienta, que de manera automática obtenga el modelo de un objeto
alJ¿¿jlexible.
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 e l 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,~alaplicar 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~ND E 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ÍTULO2
1
ESTA1 O DEL ARTE
En este capítulo se realiza un breve análisis de algunos artículos, cuyas
investigaciones describen problemas con objetos deformables, se describen las técnicas que
se utilizan para obtener las caractensticas de los objetos que se deforman en un intervalo de
tiempo, buscando obtener el modelo de los mismos.
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
curvatura del contorno que permite localizar los correspondientes puntos en el contomo de
la siguiente imagen.
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
,.
.. ...
'I.!
I
1
En esta técnica se incluyen métodos numéricos donde la ecuación es discreta, se
la siguiente imagen.
I
2.2 Plantillas deformables geométricamente, basadas en segmentación y seguimiento
en imágenes cardiacas [Rueckert, 961
Propone el uso de una minimización de energía, la cual puede utilizarse en los
objetos deformables bajo la influencia de la dirección de la imagen. La degradación de la
forma de la plantilla es medida por una función de las dos formas en 2D.
cristalino el cual minimiza su energía. Usando esta analogía, el algoritmo genera
aleatoriamente nuevas configuraciones de la probabilidad de distribución o de deformación.
Relajación deierminisiica. Para seguir un objeto en una secuencia de imágenes
12
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.
Plantillas deformables no rígidas como el
I
humano, se basa en contornos activos,
se realizaron pruebas en segmentación
utilizando la distribución de Fourier. En
y tracking de superficies relacionadas al
Este trabajo permite
para compararla con
la siguiente imagen, y así obtener cuántos
se ha desplazado o qué dirección está
tomando. También propone segmentar
se deforman mediante la minimización
de energía que se usa en los snakes.
2.3
Parámetros libres para
imágenes elásticas con puntos
descritos y desplazamientos [Peckar, 961
con puntos descritos. Este
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
aproximaciones,
constantes.
el snake, en forma iterativa, realizando
I.
y usando parámetros
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.
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 conteneiinformació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.
II
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,
I
además de que dicha operación debe realizar 30 cuadros por segundo. Por ello en esta
I
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.
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
I .
direcciones, Este tipo de detectores es aplicado a cada punto de la imagen para calcular el
I.
borde independientemente de su orientación.
i
20
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 m k i m o 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
mi
utilizando una matriz de 3x3, los valores de las máscaras para h l y 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
”“ 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
n
,,--Inicia
del snake
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.
Eimageda origen a las fuerzas de la imagen
E,,,, da origen a las restricciones de las fuerzas y se tiene que:
donde:
Vs
V,,
es la primera derivada
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
' 1
diferencia finita, (v,? = (xi - xi-1)
+ (yi - ~
1
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
ay
Este método utiliza el mismo valor para a y p e n 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.
. .
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
O
(3.7)
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
1
ecuación, se considera la diferencia .del promedio de las distancias entre los
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,
iíjí r(ue
lusri' di HM iii?iii~'rl!
fiiimación de la cuma multiP Por
Ililii I
licada
I
li
una
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
del gradiente. Para dar una magnitud (mag) en un punto y el máximo (máx.) y
mínimo (min.) lmk.nrLlen
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.
li
'!
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
I
= O para
I
I
la siguiente iteración.
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
término de curvatura y el último de imagen, ver ecuación (3.8).
(3.8)
Donde afi) y
I
Pfi)
y &)son
constantes. Se utilizan valores que inicializan G I ,
!I
,&O.
cuando una esquina este presente en el punto actual se inicializa a I o mayor de I en otro
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
KI. , E cont,j. = -d
1
V.-^.
J
1-1
11
(3.9)
Donde d e s la distancia media entre sus puntos es decir:
'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 =
E cont,j
max
(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)
27
Esta energía de la c b a es normalizada en su vecindad K, como sigue:
E
Cum, 1
E=j
E
K.(E
(3.13)
.)
CUrV,J
1
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:
si Gmm-
b m i n <üumbrai,
Entonces Gmin = Gmax
- üumbmi,
Aquí, Gumbmi =5
Entonces se normaljza las magnitudes del gradiente como sigue.
"J
E
'i'
Eimage,j
-
G . -G.
min J
G
-G .
max min
(3.15)
La Curvatura se calcula de la siguiente forma:
(3.16)
Donde:
JT
A k , = x , - x , . , y A y , = y , - y , . , yArc,As,= A x . + A y
28
\
A
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
} / Ipunto 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
/ / e n 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
1
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
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
I
o
a>P>Y
0.4.0.6.1.0
a>P>Y
0.6.0.4.1.0
a,P,u
0.8.0.2.1.0
'.O,om
a>P>Y
a,P,r
Figura. 3.6 Se muestra los resultados al cambiar los valores de a.8.u.
1.0
1.0, 0.0,l.O
a,P,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 .
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
I
se pueden observar en las figuras.(3.8, 3.9, y 3.10). El objetivo de este experimento es el
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:
Figura 3.9 a) Alfa=iO Beta=¡.
b) Alfa=20. Beta=l
31
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
I
ningún conocimiento apriori del objeto y tampoco se requiere saber cuántos cambios
presentará el objeto. Los snakes se amoldan fácilmente a los cambios del contorno que
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
I/
adecuada al objeto que se va a modelar. Cuando se desea modelar un objeto, el experto
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
'II
información pero, que sin embargo esté completa o sea la más discriminante para un
reconocimiento posterior del objeto.
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.
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
I
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í/¿¿flexiblees 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
36
1
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
I
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:
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.
!
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
XI
E1,l
...
XII
Raseos
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 fesfory 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
t
./
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).
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,
't
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
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
11
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
!I
permite diferenciar un objeto que pertenece a una clase de otro que no pertenece a la
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
a(i+l)=000101, a(i+2)=000110, a(i+3)=000111, ya que así fue diseñado este
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 11I . 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 11 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
11
I
I
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
f
I
10ssiguientes 2
n-k - I
n-upios son listas restores pero no típicos.
L
42
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
I
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.
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
Existe al menos una <cohnnaen la que t tiene un 1 y p no IO tiene, también se dice
I
que f es superfila d e p ver inciso b).
b) 3k (atk = 1 /\apk
=O
Ejemplo
I
p=( i000001)
f=( 101000I )
se observa que p es subfila de t ya que donde hay un uno en p en f también lo hay.
También f es supefila d e p ya que al menos hay 1 donde p no lo tiene.
!
Con esto se puede definir la matriz básica.
I*
Matriz básica (MB): Sea t una fila de la matriz de diferencia se dice que t es una fila
básica si no existe fila p que sea subfila de t. en otras palabras la fila básica es aquella fila
de la MD que no es superfila de otra ver un ejemplo en la tabla 4.5.
Tabla 4.5 SI4 es un ejemplo de una fila básica, la cual no es supertila de otra
I
I
I
I
I
I
I
I
I
I
I
I
para obtener la lista iesfor,existe un conjunto de proposiciones [Shulcloper, 991.
c) Proposiciones
Proposición 1. La lista a , n o es lista fesforcuando y sólo cuando en MB existe al nienos
P
una fila tal que se cumple la condición
a=@,,. . .,a,,)
Vj = 1, ..., n ( a .
J
A
a,)=O
1
Siendo A el operador booleano de conjunción lógica.
Proposición 2. Sea a una lista [estor típico y k el
10ssiguientes 2
SI
índice del
"-'
- 1 n-upios son listas testores pero no típicos.
I
imo uno en a,entonces
42
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
i!
V j = 1, ..., n ( a . A a . ) = O
J
1
Sea a=(&/,...,a',)talque.
a.sij<k
a.= 1si j = k
1' lO:ij>k
Entonces ninguna lista comprendida entre a y a' es una lista testor
d) Algoritmo
I
¡. Se genera la primera lista a no nula de longitud n.
Paso
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
I
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
I
objeto que se está modelando.
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=
.,an)no es lista testor y que para u y a se satisface lo siguiente:
(al,..
V j = 1, ...,n ( a . A u . ) = O
J
1
Sea a= (a'!,
...,dn)
tal que.
a.sij<k
a . = Isi j = k
J lOlij>k
I
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. '.
~011000.
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 11000.
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).
Paso 4:
Se aplica la proposición 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 111 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,x4en 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:
= Y 1(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
X,, sea más importante sin embargo Xj muestra un valor mayor X2, ya que X,
necesita de una variable adicional mientras que XSnecesita dos variables adicionales, se
el rasgo
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 4p( 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 registran los resultados en una base
de conocimientos que al final contiene un numero que se refiere al objeto que se esta
modelando, por ejemplo si se modelan 3 objetos, existirán 3 bases de conocimientos. El
número al final será del cero al dos, esta información es registrada en bruto en la base de
conocimiento, la cual nos da una idea de cómo se muestran los colores del objeto en cada
cuadro en toda la secuencia del vídeo.
Figura 4.1 Imagen con su respectivo histograma en la pane inferior
48
4.4.2 Centro de gravedad del snake relacionado con "x" y "y"
Es la Suma de todos los snuxels con respecto a ''y" y "x" entre el número de snusds.
Esto representa una medida de tendencia central, se utilizan para indicar un valor que tiende
a tipificar o a ser el más representativo de un conjunto de números. Una representación
física [Stevenson, 811 de la media, es imaginar una barra con un punto de apoyo central que
sostiene pesos iguales en sitios correspondientes a los valores de un conjunto. Esta
información es almacenada en bruto en el archivo de conocimientos.
4.4.3 Area
Área es el número de píxeles que están dentro de
un objeto, esta información
permite conocer los cambios que puede estar presentando el objeto que se está modelando,
respecto a
su tamaño, Esta información es almacenada en bruto en la base de
ennocimientos.
4.4.4 Distancias entre todos los puntos de "x" y "y" del snake
Las distancias de los puntos de snake,. perniite saber cuanto está cambiando la
deformación respecto a la dirección de las
logra obtener los
, ,
'Y'
y la dirección respecto a las 't",con esto se
puntos mas invanantes durante el modelado,
o saber que puntos no se
modificaron o casi no se modificaron, esto se obtiene a través de una combinación de.los
puntos multiplicado por dos ya que es con relación a las ordenadas y las abscisas del
snaxel.
Primero el usuario selecciona los puntos que desea modelar ver figura 4.2. Para este caso se
eligen los labios, los puntos están alrededor de estos. La información que se genera de los
rasgos, como ya se mencionó se almacena en una base de conocimientos.
49
Figura 4.2 El snake se adecua a la forma del movimiento de los labios
Esta información es almacenada en bruto, por lo que existe redundancia de iiiformacii,ii. a
esta información se le aplica la técnica de testores tipicos.
Para este ejemplo se utilizó un conjunto de 60 cuadros, avanzando'tres cuadros poi- cada
iteración y los testores tipicos obtenidos fueron 43 ver la tabla 4.7.
so
En la base de conocimientos se almacenan los siguientes resultados:
Los valores representan las combinaciones de las distancias con su respectiva variable, es
decir la columna ROXl representa la distancia del snaxel respecto a “x” es decir el punto
cero con el punto uno, y así sucesivamente hasta el total de los puntos ( s m m d s ) que el
usuario selecciono.
Distancias obtenidas de los cinco puntos (numerados O a 4) que el usuario
selecciona alrededor de los labios.
“ROXI ,ROYI ,ROX2,ROY2,ROX3,ROY3,ROX4.ROY4,Rl
X2,RIY2,RI X3,RI Y3.R I
X4,RlY4,R2X3,R2Y3,R2X4,R2Y4,R3X4,R3Y4”
Las siguientes cuatro columnas son los primeros cuatro valores que más se presentó
en color Rojo, a continuación los cuatro valores representan los primero cuatro valorcs del
color Verde, los otros cuatro valores representaii los valores del color A d que más sc
presentaron en la imagen, los siguientes dos valores representan el centro de gravedad de
51
las variables de "x" y "y".El último valor representa el valor del área que presentó el
objeto.
Esto genera una matriz que representa las variables de cada punto que se va a
modelar para este caso hay cinco rasgos. Se obtiene la
matriz de Diferencia.
posteriormente se calcula la matriz básica, y por último se calculan los restores t i p m ~ s .
dando como resultado 43 testores típicos con 35 rasgos, que es la combinación de las
distancias de sus puntos, más los colores en formato R.G.B (red, green, blue), el centro de
gravedad de "x" y "y" y el área.
Lo tesrores típicos obtienen los rasgos mínimos del objeto a modelar. AI tener estos
rasgos no sabemos el orden de importancia de estos, por lo que se obtiene la longitud de los
testores.
esto nos permite tener información del orden de importancia de los rasgos. Como
se muestra a continuación:
Variable[28]=[0.134921], Representa el primer valor del color Azul.
Variable[24]=[0. iO7143], Representa el cuarto valor del color Azul.
Vanable[ 13]=[0.099206], Representa la distancia RIY4.
Variable[07]=[0.095238], Representa la distancia ROY4.
Variable[ 16]=[0.083333], Representa la distancia R2X4.
Variable[ I 1]=[0.047619], Representa la distancia RlY3.
Variable[ I2]=[0.0476 191, Representa la distancia R 1x4.
Variable[25]=[0.0476 191, Representa el segundo color Verde.
Variable[26]=[0.047619], Representa el tercer color Verde.
Variable[34]=[0.0476 191, Representa el Área.
Variable[02]=[0.04365 I], Representa la distancia ROX2.
Variable[ 14]=[0.04365 I], Representa la distancia R2X3.
Variable[ I8]=[0.04365 I], Representa la distancia R3X4.
Variable[21]=[0.023810], Representa el segundo color Rojo.
Variable[22]=[0.0238 lo], Representa el tercer color Rojo.
Variable[29]=[0.0238 lo], Representa el segundo color Azul
Variable[00]=[0.007937], Representa la distancia ROXl.
Variable[04]=[0.007937], Representa la distancia ROX3.
Variable[05]=[0.007937], Representa la distancia ROY3.
Variable[08]=[0.007937], Representa la distancia R 1X2.
Variable[33]=[0.007937], Representa el Cgy.
4.6 COMENTARIOS
La técnica de los testores tipicos permite obtener el mínimo de información que se
necesita para describir a un objeto a través del conjunto de los rasgos que en cada cuadro se
registra durante la secuencia de imágenes, mediante la técnica de snakes permite registrar
los cambios que presenta el objeto y que el experto desea analizar al utilizar la teoria de
festores permite al experto modelar los rasgos que ha seleccionado en el objeto, esto
permite eliminar redundancia de información para describir al objeto de la mejor manera
posible, una vez hecho lo anterior es importante conocer el orden de importancia de los
testores de mayor a menor para determinar que variables son las mas importantes ell' la
descripción del objeto modelado.
53
CAPÍTULO5
5.1 INTRODUCCI~N
En este capítulo se presentan los experimentos del modelado automático de objetos
aljaj7exibles. a través de secuencias de imágenes. Los puntos a evaluar son los siguientes:
a) El funcionamiento de la metodología propuesta para el modelado de objetos
ava/iexibles en secuencias de imágenes
b) El desempeño de la herramienta para registrar las deformaciones que puede
presentar el objeto en una secuencia de cuadros de imágenes utilizando le.vfore.s
tipicos.
c) Evaluación la descripción de'los objetos al aplicar testores tipicos.
Para realizar los experimentos anteriores se consideran los siguientes puntos:
1. El sistema de modelado. de objetos alfaj7exibIes en secuencia de imágenes,
realiza su trabajo en imágenes de 24 bits en formato AVI. Los objetos se
encuentran en la imagen. Este sistema no contempla imágenes donde se pierdan
los contornos de los objetos (ocasionado por factores externos como
iluminación no adecuada) y no aporta soluciones a problemas relacionados con
oclusión.
2. Es posible modelar hasta 50 objetos como máximo.
3.
Las secuencias de video son hasta 30 cuadros por segundo y no es necesario
tener conocimiento de las deformaciones que presentará el objeto.
54
5.2 CASOS DE ESTUDIOS REALIZADOS
CASO 1:
El objetivo de esta prueba es evaluar la metodología propuesta para el modelado de
objetos alfqflexibles. Para este ejemplo se realiza el modelado del movimiento del párpado
en un ojo. La secuencia de imágenes se obtuvo de una serie televisiva, la herramienta
modela el movimiento de los párpados de los ojos.
La metodología se compone de los siguientes pasos:
Paso # I :
El usuario define los puntos cerca del objeto que desea modelar (ver figura 5. I).
Figura 5.1 Se seleccionan los puntos alrededor de los parpados
55
Paso I# 2 :
El usuario define a partir de qué número de cuadro desea modelar el objeto en una
secuencia de imágenes.
Paso # 3:
El usuario define los parámetros del snake
L Z , ~ &(ver
capítulo 4)
Los valores que registra el snake son las distancias de los snaxels, para este ejemplo
de cinco puntos se tiene la distancia del punto cero con el punto uno "ROXI"con respecto a
X y "ROY1"es la distancia del punto cero con el punto uno con respecto a Y, hasta el
ultimo punto "R3X4,R3Y4".En total se tiene veinte distancias
"ROX 1 ,ROY1 ,ROX2,ROY2,ROX3,ROY3,ROX4,ROY4,R
IX2,RlY2,RI X3,RlY3,RlX4,K
IY
4,FUX3,R2Y3,R2X4,R2Y4,R3X4,R3Y4,"
ver tabla 5 . I .
Tabla 5.1 Distancias de los puntos que conforman los snaxels alrededor del .snake
Una vez hecho lo anterior, la técnica de los snakes registra las deformaciones que
presenta el objeto, como ya se mencionó en el capitulo 4.Los datos de la deformación que
va presentando el objeto en la secuencia de imágenes se almacenan en una base de
conocimientos, en archivos de tipo texto. Esta información se obtiene del conjunto de
snaxels que conforma el snake. Cada,resultado del snake se adhiere a la forma que va
presentando en cada cuadro el objeto que se esta modelando. Para este ejemplo es el
parpado izquierdo de la persona. También registran los cuatro valores de (R.G.B) que iilás
aparecen en el snake,estos rasgos son presentados en la sicuiente tabla 5.2.
Tabla 5.2 Cuatro colores que mas aparecen del formato R.G.B que modela la hemamiciita
184 166 151 10
15
I
I
1
I
164 158 155 10
I
I
I
I
I
1110163 161 10
I
I
I
I
1209 1141
I
1
1220
1
I
I
Con esta información y con la obtenida inicialmente, tabla 5. I . Se genera la MD que
tiene el numero de rasgos ver tabla 5.3 lo anterior representa las distancias de sus puntos y
los rasgos mencionados en la tabla 5.2.
Tabla 5.3 Matriz generada mediante las distancias de los puntos mas los rasgos de la tabla 5. I
1
1
I
O
I
O
...
O
1
O
I
O
Los resultados se almacenan en una base de conocimientos. Una vez almacenada
esta información, se obtiene la MD, ver tabla 5.4. Esta nos da información sobi-c las
diferencias existentes o las descripciones del objeto obtenida en la MB, por ultimo se
muestra e l conjunto de18 testores tipicos, ver tabla 5.6.
57
Tabla 5.4 Resultado de la matriz de Diferencia
Tabla 5.5. Resultado de la matriz Básica.
Tabla 5.6 .Testores típicos.
AREA
O
O
O
O
O
O
O
O
...
O
O
O
58
Una vez obtenida la minima información, se obtiene la longitud del testor típico, esto
muestra la importancia en orden decreciente.
Variable[OX]=[i.O1851], la variable 8 representa la distancia RIX2.
Variable[l1]=[0.746031],la variable I 1 representa la distancia RlY3.
Variable[ 14]=[0.388888], la variable 14 representa la distancia R2X3.
Variable[ iX]=[O.388888], la variable 18 representa la distancia R3X4.
Variable[33]=[0.11111 I], la variable 33 representa Cgy.
Variable[l2]=[0.074072], la variable I 2 representa la distancia RIX4.
Variable[20]=[0.074072], la variable 20 representa el primer color Verde.
Variable[30]=[0.074072], la variable 30 representa el tercer color Ami.
Variable[06]=[0.027777], la variable 6 representa la distancia ROX4.
Para este resultado se realizaron 2 experimentos de 9 imágenes cada uno, así como
sus respectivos testores típicos,y la importancia de los mismos.
Los resultados obtenidos muestran que:
I . La herramienta modela al objeto y almacena los cambios que presenta el objeto en la
secuencia de cuadros.
2. Se reduce considerablemente el conjunto de rasgos para la representación del objeto (en
este caso el parpado) ya que al el numero mínimo de variables, son suficientes para
modelar el objeto.
CASO 2:
Para este ejemplo se realiza
el modelado del movimiento de los labios. Esta
secuencia de imágenes se obtuvó con una cámara de 8 milímetros con iluminación
semicontrolada, ver figura 5.2. En este caso se tienen 9 imágenes cada uno, mostrando sus
respectivos testores típicos y la importancia de éstos.
59
Figura 5.2 Lectura de labios con ruido.
Para este caso se seleccionan cinco puntos o snaxels en los labios de la persona, durante la
secuencia se realizó el mismo procedimiento que en el caso 1
I . Se obtienen 14 testores tipicos que se muestran en la tabla 5.7
60
Tabla 5.7 Testores iipicos obtenidos del segundo caso
A continuación se muestra la importancia de los rasgos, el orden de importancia es
de mayor a menor. Este resultado es el modelo del objeto.
1. Variable[33]=[0.16666], Representa en Centro de gravedad de "Y"
2. Variable[29]=[0.12222], Representa el cuarto color Azul.
3. Variable[15]=[0.08888], Representa la distancia R2Y3.
4. Variable[O5]= [0.06666], Representa la distancia ROY3.
5. Variable[06]= [0.06666], Representa la distancia ROX4.
6. Variable[07]= [0.06666], Representa la distancia ROY4.
7. Variable[l3] =[0.06666], Representa la distancia RiY4.
8. Variable[ 17]= [0.06666], Representa la distancia R2Y4.
9. Variable[21]= [0.06666], Representa el primer color del Rojo.
IO. Variable[26]= [0.06666], Representa el tercer color del Verde.
11. Variable[30]=[0. 0066661, Representa el tercer color Ami.
12. Variable[l1]=[0.03333], Representa la distancia R1Y3.
13. Variable[l9]=[0.02222], Representa la distancia R3Y4.
61
~
~~~
~
CASO 3 :
Se realiza el modelado de los labios en movimiento en la persona. Estas secuencias de
vídeo fueron obtenidas con una cámara de vídeo de 8 milímetros, con iluminación
semicontrolada ver figura 5.3. Se realizó con 9 imágenes, el cual se muestra sus respectivos
restores típicos e importancia de los mismos. En este caso se obtiene 43 testores típicos, ver
tabla 5.8. La diferencia de este caso con el numero 2 es que este modela exteriormente los
labios y el caso anterior los modela interiormente.
de labios sin mucho ruido,
~
62
Importancia del orden de los testares típicos en orden de mayor a menor.
Variable[28]=[0.134921],Representa el primer valor del color Ami
Variable[24]=[0.107143], Representa el primer valor del color Ami
Variable[ 13]=[0.099206],.Representala distancia RIY4
Variable[07]=[0.095238], Representa la distancia ROY4
Variable[ 16]=[0.083333], Representa la distancia R2X4
Vanable[l1]=[0.047619], Representa la distancia R1Y3
Vanable[ 12]=[0.047619], Representa la distancia RIX4
Vanable[25]=[0.047619], Representa el segundo color Verde
Variable[26]=[0.047619], Representa el tercer color Verde
Vanable[34]=[0.047619], Representa el Área
Variable[02]=[0.04365 11, Representa la distancia ROX2
Variable[ 14]=[0.04365 11, Representa la distancia R2X3
63
Variable[l8]=[0.04365 1J,Representa la distancia R3X4
Vanable[21]=[0.0238 101, Representa el segundo color Rojo
Vanable[22]=[0.023810], Representa el tercer color Rojo
Vanable[29]=[0.0238 lo], Representa el segundo color Ani1
Vanable[OO]=[O.OO7937J, Representa la distancia ROXl
Variabie[04]=[0.007937],Representa la distancia ROX3
Variable[O5]=[0.007937], Representa la distancia ROY3
Variable[08]=[0.007937], Representa la distancia R1X2
Vanable[33]=[0.007937], Representa el Cgy.
CASO 4:
Ahora observe el siguiente experimento donde se modela la cabeza de la persona ver figura
.5.4.
Figura 5.4 Modelado d e la calxza en un ambienic natiir4
64
En este experimento no se obtiene la matriz básica, esto significa que cualquier rasgo es
importante para el modelado del objeto alfnflexible. Se realiza 10 cuadros en incrementos
de 2 en 2. Con un total de cinco puntos (snaxels ) para modelar el objeto alfqfiexible.
5.3 ANALISIS DE LOS RESULTADOS
Los resultados muestran que la herramienta puede modelar objetos deformables,
aún cuando ellos tengan diferente forma y flexibilidad tales como los párpados humanos,
como se muestra en el caso 1, el movimiento de la parte interna de los labios así como la
vista exterior de éstos mismos. Con ello se demuestra que la metodología propuesta
inicialmente si cumple con el objetivos establecido de caracterizar o modelar de manera
automática a objetos deformables a través del análisis del movimiento de los mismos.
De acuerdo con los resultados se observa que la técnica de los snakes es eficiente,
aún con movimiento, de tal forma. que se puede modelar los movimientos del cuerpo
humano. La herramienta es eficiente aún si existiera un objeto con problemas de malos
contornos. Sin embargo, si existen tres cuadros continuos en el video donde no se presentan
contornos de forma adecuada, no puede modelar de forma correcta, pero esto se considera
factores externos ajenos al algoritmo.
65
CAPÍTULO6
CONCLUSIONES
6.1 INTRODUCCI~N
Para que un modelo sea efectivo [Magadán, 991 se deben poseer métodos eficaces
I
que determinen a los objetos a través de la extraccjón de características. Este método queda
establecido en este trabajo a través de la técnica snakes y testores típicos, la información
que se obtiene de la deformación que.presenta el objeto en cada cuadro, es registrada por
los snakes, los testores típicos minimizan la información para describir al objeto. El
modelado es la parte más importante para el proceso de segmentación que se conforma por
los descriptores o rasgos que se registran en las secuencias de cuadros del video.
El modelado de objetos a@Jexibies es un problema donde los rasgos que se
obtienen como resultado de las defonhaciones del objeto, que se generaron en cada cuadro
del conjunto de las secuencias de imágenes, permite generar modelos primarios, los cuales
se utilizan para el reconocimiento de patrones.
La metodología utilizada en este trabajo cumple con el objetivo que se esperaba en
lo siguiente:
Este trabajo permite generar modelos primarios de objetos
!
Realiza el proceso del modelado en forma automática.
Registra las variaciones de cada parámetro del modelo en una secuencia de
imágenes.
Procesa la información de cada cuadro del video mediante testores típicos.
66
6.2 METAS ALCANZADAS
Nomalmente el modelado de objetos, se realiza de forma manual, Por
10
que la
herramienta apoda una gran solución en ei proceso de observación de escenas, en las cuales
un objeto presenta deformaciones. Este &abajo aporta la automatización del modelado de
objetos alfqfleribles y no se necesitan 1,herramientas adicionales, siendo de gran ayuda
I
especialmente donde se requiere utilizarla vista humana.
11
La herramienta permite modelk los objetos alfaflexibles con las siguientes
I
características:
Los cuadros del video que procesa en formato avi son de 24 bits.
1
Se utiliza una técnica llamada snakes que no necesita del conocimiento apriori
del objeto a modelar para registrar los cambios que presenta el objeto.
!
La información que genera del snake, histograma, área, centro de gravedad de x
Y Y-
I
* La información que se obtiene en bruto de los cambios que presenta el objeto se
procesa por medio de testores típicos.
Se muestra ia importancia de los rasgos mínimos en orden descendente,
Los resultados en el modelado,de objetos ai$aJexibles en secuencias de imágenes,
se muestran satisfactorios. Se cumple con el objetivo de desarrollar una herramienta que
modele en forma automática, que permite registrar los cambios que presenta el objeto y
obtener las variables mínimas que permitan caracterizar al objeto modelado, mostrando la
importancia de estas variables para generar modelos primarios de objetos.
6.3 PRODUCTO ESPERADO
Se ha desarrollado una hekamienta, que contemple una metodología, que en
forma automática obtiene el modelo de objetos ai$aj7exib/es.
Procesa la selección de variables de manera automática para describir el objeto
de interés, por medio de un algoritmo de clasificación llamado testores típicos.
Se obtienen modelos primarios de objetos que contienen los mejores rasgos en
orden de importancia decreciente.
67
I
6.3 APORTACIONES
Para un funcionamiento más robusto de la técnica de snakes la herramienta contempla
modificaciones en los parámetros Alfa,:Beta y Gamma. Cuando se desea generar mas
tensión se aumenta Alfa, cuando se desealcrear mas elasticidad se aumenta Gamma, cuando
existen curvas pronunciadas, se establece Beta mayor a cero, y si existen picos muy
pronunciados se inicializa Beta con un valor de cero. También podemos establecer la
cantidad de iteraciones para que el snake l se adapte mejor a la forma del objeto. Otra opción
es modificar el número de cuadros que se requieren para avanzar de uno en uno, de dos en
'I
dos etc, de acuerdo a la suavidad q w s e desea obtener en los cambios que presenta el
objeto.
Para el modelado de objetos alfqfIexibles se aportó el seguimiento del objeto sin utilizar
alguna técnica de seguimiento específica, mediante la técnica de snakes. Esta trabaja en
forma parecida al proceso de inflar ,un balón
para adoptar y seguir al objeto en
movimiento, sin importar que el movimiento sea aleatorio, y sin necesidad de cálculos
~
adicionales de predicción de movimiento, explicado lo anterior permite obtener una
herramienta que modele en forma automática las deformaciones que sufre el objeto en cada
cuadro de imagen de la secuencia de video, por lo que la herramienta se muestra capaz de
modelar los cambios presentados por el 'objeto alJaf7erible.
6.4 TRABAJOS A FUTURO
El desarrollo de esta herramienta sirve para las siguientes investigaciones a futuro:
Modelado y reconocimiento de rostros humanos
Modelado y reconocimiento de personas en movimiento (motion tracking)
Modelado y reconocimiento de objetos
68
I
REFERENCIAS
Bibliografía
[Aminini 901 Amini AA, Weymouth TE, Jain RC. Using Dynamic Programming for
Solving Variational
Problems In vision. IEEE Transactions on Pattern Analysis and
Machine Intelligence,l990; 12(9):855-867.
[Anel, 981 J.Anel Carrasco-Ochoa, “Un Modelo de Clasificación Supervisada Basado en
Conjuntos de Representantes”, Memonas del 111Taller Iberoamencanode Reconocimientos
I
de patrones, México D.F. pp267-278,1998
[Bardinet, 961 Eric. Bardinet. Supercuadratics and Free-Form Deformations: a Global
Model to Fit and Track 3D Medical Data. First International Conference on Computer
Vision, Virtual Reality and Robotics ;in Medicine .(CVRMed’96),April
3-5,1996, Nice,
.
France.
[Davatzikos, 971 Crhis A. Davatzikos and Jeny L. Prince. An Active Contour Model for
Mapping the Cortex. Dept. of Electrical and Computer Engineering, University Baltimore
MD 21218. 1997.
[Decarlo, 961 D Decarlo and D Metaxas “Blended Deformable Models” IEEE trans
Pattern Analysis and Machine Intelligence Vol 18 pp. 443-448, 1996
[Gonzáles, 961 Rafael C. Gonzáles, Richard E. Woods, “Tratamiento digital de Imágenes”.
Editorial Addison Wesley, pp 212-213 ,1996.
[Kass, 881 M. Kass. A. Witkin and Terzopoulos Snakes: Active Contour Models,
Internationational Journal of Computer Vision 1, pp 321-331, 1988.
69
[Leymane, 951 F. Leymarie and M.D. Levine, Tracking Deformable ObJeCtS in the Plane
using an Active Contour Model, IEEE. Vol 15, No. 6 June 1995, pp 617-634.
[Magadán, 991 Magadán Salazar Andrea. "Reconocimiento de Rostros Invariante a
Expresiones Faciales", Tesis Para Obtener el Grado de MC en Ciencias Computacionales,
en el Centro Nacional de Investigación1y Desarrollo Tecnológico. Cuernavaca Morelos,
Noviembre de 1999.
[Peckar, 961 W. Peckar. FEM Two-step Parameter-Free Elastic Image Resgistration with
I
Pescribed Point Displacements. Department Of Computer Science University of Hamburg,
!
November 1996.
[J. Ross Quinlan, 921 J. Ross Quinlan C4.5 Programs For Machine Learning Morgan
Kaufman Publishers, 1992.
[Ruecker, 961 D. Rueckert and P. Burger Geometrically Deformable Templates for ShapeI
based Segmentation and Tracking in Cardiac MR Images, Pages 137-142, Berlin, Germany,
June 2 1-24 1996.
[Shah, 901 D.J. Williams, D.J. and M. Shah, "A fast algorithm for active contours." CVGIP:
Image Understanding. v. 55, n. 1, pp. 14-26, 1990.
[Szelisky, 951 R. Szelisky and S. Lavallee. Matching 3-d Anatomical Surfaces with NonRigid Deformations Using Octree-Splines. In Procedings of the IEEE Worshop on
Biomedical Image Analisis , Seattle Washingtong, June 1995.
[Seung, 971 Jong-Seung Park, Contour Motion Estimation in Sequential Images
Department of Computer Science and Engineering, Pohang University of Science and
i
Technology.IEEE trans. On PAMI, Vol 17, No. 3, Marzo 1997 pp. 294-302.
[Sulcloper, 991 José Ruiz Shulcloper, J. Francisco Martinez Trinidad, instituto politécnico
Nacional Enfoque lógico combinatorio :al reconocimiento de patrones, 1999.
70
[Vemuri, 20001 Baba C. Vemuri Snake Pedals: Compact and Versatile Geometric Models
with Physics-Based Control. Senior Member, IEEE Transactions on Pattern Analysis and
Machine, Vol 22 no. 5 May 2000.
[Xu, 981 Chenyang Xu and Jeny I,., Prince Snakes, Shapes, and Gradient Vector
Flow.1998, IEEE Transactions on Image processing,359-369, March 1998.
DIRECCIONES DE INTERNET
[Blake, 981 Blake A. Isard M. Contornos' Activos Spnnger,1998.
http://www.robots.ox.ac/-contours(Técnicas de aplicaciones graficas, Visión , Teoría de
control y Estadística visual de movimiento de formas)
[Kass, 971 CS 7322 Winter 1997 Modelos de contomos activos (Snakes) 1997.
http://www.cc.gatech.edu/classes/cs7322-97-springlpariicipants/irfan/lectures/lecture.~6/sn
akes.html.
[Shulze, 961 Snakes, Active Contours
Contornos Activos, usando una demostración en Java, Mark A. Schulze,26 de noviembre
1996.
http://www.markschulze.net/snakes/
[Xu, 20001 Gradient Vector Flow Active Contour - Chenyang Xu and Jeny L. Prince /
Image Analysis and Communications Laboratory / Johns Hopkins University
ttp://iacl.ece.j hu.edu/projects/gvU
[Young, 1993]Snakes, Active Contours, and Deformable Models, David Young, January
1993, revised Januaiy I994
http:l/www.cogs.susx.ac.uk/users/davidy/teachvision/vision7.html
71
'!
ANEXO A
BASE DE IMÁGENES
En las siguientes páginas se muestra la base completa de imágenes que fueron
utilizadas para el modelado de objetos alfaflexibles, se utiliza un incremento de dos
imágenes por cada iteracion en cada 'cuadro que se presenta para modelar el objeto
alfaflexible, debido a que si se incrementaba los cuadros de uno en uno no habría cambios
muy significativos.
12
caso I
73
Figura A.2 Modelado del objeto
I
I
.'I
74
Figura A.3 ContinuaciónI del caso 2, Modelado del movimiento de los labiosi con un poco de: ruido
'f