Procesamiento de Imágenes para Detectar Gusanos C. elegans

Anuncio
UNIVERSIDAD SIMÓN BOLÍVAR
DECANATO DE ESTUDIOS PROFESIONALES
COORDINACIÓN DE INGENIERÍA DE LA COMPUTACIÓN
PROCESAMIENTO DE IMÁGENES PARA DETECTAR
GUSANOS C. ELEGANS
Por:
JAVIER FERNÁNDEZ
Realizado con la asesorı́a de:
PROF. ALEXANDRA LA CRUZ. Ph.D.
JOHAN HENRIKSSON. M.Sc.
PROYECTO DE GRADO
Presentado ante la Ilustre Universidad Simón Bolı́var
como requisito parcial para optar al tı́tulo de
Ingeniero en Computación
Sartenejas, Enero de 2011
Resumen
El nematodo C. elegans es un organismo ampliamente utilizado en la investigación cientı́fica, particularmente en biologı́a y quı́mica. Posee muchas células con equivalentes humanos
y otras condiciones especialmente favorables, que lo han convertido en modelo de estudio
para la biologı́a, especialmente en la genética del desarrollo. Ası́ mismo, al ser pequeño y
transparente se presta bien a una gran variedad de técnicas de cribado de alto rendimiento
(HTS, por sus siglas en inglés 1 ).
La identificación de gusanos deberı́a automatizarse lo más posible dado que es muy trabajoso efectuarla manualmente. En este trabajo se presenta un algoritmo de procesamiento
de imágenes para detectar C. elegans en imágenes obtenidas por microscopı́a de alto rendimiento. Ası́ mismo, se provee una metodologı́a general de detección de gusanos. La solución
semi-automática que aquı́ se presenta, permite identificar eficazmente gusanos individuales
en agrupaciones de gusanos. En términos generales, el proceso consta de lo siguiente: una
imagen dada es segmentada, separando ası́ grupos de gusanos del fondo de la imagen. Se
detectan gusanos individuales de manera automática, siguiendo un proceso de comparación
y ajuste de siluetas de gusanos. Este proceso se basa en encontrar siluetas factibles dentro
de una agrupación, minimizando la distancia que existe entre dicha agrupación y siluetas
genéricas que son deformadas para ajustarse a ella. Las conformaciones de gusanos ajustadas
incorrectamente pueden ser corregidas fácilmente de manera manual.
La solución provista presenta un enfoque innovador para detectar exitosamente gusanos C.
elegans individuales en imágenes de microscopio. Los resultados muestran que esta solución
semi-automática permite detectar, correctamente, la forma del 100 % de los gusanos presentes
en una imagen determinada. Para el conjunto de prueba utilizado, el proceso es completado en menos de 60 segundos en imágenes con alta densidad de gusanos. Para imágenes con
baja densidad, los gusanos pueden ser identificados en su totalidad de manera enteramente automática, en un tiempo menor a 10 segundos. La precisión de la detección y el tiempo
requerido para calcularla son mejorados notablemente con respecto a la identificación manual.
La solución fue implementada en Java e integrada a Endrov, una arquitectura de extensiones de código abierto para análisis de imágenes, y está siendo utilizada en el Departamento
de Biociencias y Nutrición del Instituto Karolinksa, Flemingsberg, Suecia.
1
En inglés, el acrónimo HTS se refiere a High-throughput screening
iv
Índice general
Introducción
1. MARCO TEÓRICO
1.1. Endrov . . . . . . . . . . .
1.2. Método del Valor Umbral
1.3. Transformada de Distancia
1.4. Skeletonization . . . . . .
1.5. Ajuste de formas . . . . .
1.6. Descriptores de Forma . .
1.7. Splines . . . . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2. METODOLOGÍA DE LA SOLUCIÓN
2.1. Diseño de la Metodologı́a: Razonamiento Previo . . . . .
2.2. Descripción de la Metodologı́a e Implementación . . . . .
2.2.1. Descripción General . . . . . . . . . . . . . . . .
2.2.2. Segmentación Inicial (Método del Valor Umbral) .
2.2.3. Transformada de Distancia . . . . . . . . . . . . .
2.2.4. Skeletonization . . . . . . . . . . . . . . . . . . .
2.2.5. Segmentación de Gusanos . . . . . . . . . . . . .
2.2.6. Descriptor de Forma . . . . . . . . . . . . . . . .
2.2.7. rasterización de Siluetas . . . . . . . . . . . . . .
2.2.8. Detección y Ajuste de Formas . . . . . . . . . . .
2.2.9. Corrección Manual . . . . . . . . . . . . . . . . .
3. EXPERIMENTOS Y RESULTADOS
3.1. Experimentos . . . . . . . . . . . . .
3.2. Resultados . . . . . . . . . . . . . . .
3.2.1. Procesamiento Inicial . . . . .
3.2.2. Detección y Ajuste de Formas
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
7
8
10
11
14
15
.
.
.
.
.
.
.
.
.
.
.
17
17
18
19
22
23
25
26
32
35
36
41
.
.
.
.
43
43
45
45
47
3.2.3. Optimización de Energı́a . . . . . . . . . . . . . . . . . . . . . . . . .
51
Conclusiones y Trabajos Futuros
54
Bibliografı́a
58
A. Imágenes adicionales obtenidas a través de la
A.1. Ajuste de Formas y Corrección Manual . . . .
A.2. Transformada de Distancia . . . . . . . . . . .
A.3. Esqueleto Topológico de Gusanos . . . . . . .
A.4. Método del Valor Umbral . . . . . . . . . . .
vi
solución implementada
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
61
61
61
62
62
Índice de tablas
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
Caracterı́sticas del conjunto de prueba . . . . . . . . . . . . . . . .
Mejor valor de percentil para el conjunto de prueba . . . . . . . . .
Detección y ajuste de puntos extremos de gusanos en el conjunto de
Resultados del ajuste automático de gusanos en la imagen 1 . . . .
Resultados del ajuste automático de gusanos en la imagen 2 . . . .
Resultados del ajuste automático de gusanos en la imagen 3 . . . .
. . . .
. . . .
prueba
. . . .
. . . .
. . . .
.
.
.
.
.
.
44
46
47
49
50
51
Índice de figuras
1.1. Imagen en escala de grises antes y después de aplicar un método del valor
umbral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Distancias a partir de un punto para seis transformadas de distancia . . . . .
1.3. Imagen binaria y esqueleto topológico de una figura de caballo . . . . . . . .
2.1. Descripción gráfica de la metodologı́a para detectar gusanos C. elegans en
imágenes digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Gusanos en medio lı́quido. Imagen original e imagen binaria obtenida a través
del método del valor umbral por percentil, con un percentil de 0.074 . . . . .
2.3. Tres vecindades direccionales . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Construcción de una forma de gusano basada en un descriptor de forma . . .
3.1. Conjunto de imágenes de prueba . . . . . . . . . .
3.2. Mejor ajuste automático en la imagen 1 . . . . . . .
3.3. Valor de energı́a de las tres mejores conformaciones
conjunto de prueba . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
por punto
. . . . . .
. . . . .
. . . . .
extremo
. . . . .
8
9
10
20
24
29
34
. . .
. . .
en el
. . .
44
49
A.1. Mejor ajuste automático y corrección manual en para la imagen original A.1a
A.2. Mejor ajuste automático y corrección manual en para la imagen original A.2a
A.3. Imagen binaria y tres mapas de distancia utilizando diferentes métricas, a
partir de la imagen de un gusano . . . . . . . . . . . . . . . . . . . . . . . .
A.4. Esqueleto topológico de una imagen de gusanos en cultivo lı́quido . . . . . .
A.5. Diferentes métodos del valor umbra aplicados a una imagen de gusanos en
medio lı́quido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
64
53
65
66
67
1
Introducción
El nematodo C. elegans es un organismo ampliamente utilizado y se ha convertido en un
importante modelo de estudio para la biologı́a, especialmente en la genética del desarrollo.
Este organismo presenta la ventaja de que todos los individuos son exactamente iguales a
nivel celular, poseen cortos ciclos de vidas y una rápida genética. Por esta razón, se pueden
detectar tipos salvajes de este organismo y los experimentos son menos costosos, en comparación con organismos más complejos. Es el único animal del que se conoce cada división
celular, desde la fertilización del huevo hasta la etapa adulta, ası́ como el diagrama completo
de las conexiones de las células que lo componen.
El C. elegans tiene muchas células con equivalentes humanos, lo que hace posible estudiar
y comprender cómo se manifiestan ciertas enfermedades y condiciones relacionadas, e.g. adicción a las drogas, envejecimiento, disfunción de ciertas proteı́nas, entre otras. Ası́ mismo, al
ser pequeño y transparente, se presta bien a una gran variedad de técnicas de cribado de
alto rendimiento (HTS, por sus siglas en inglés). El HTS es un método de experimentación
cientı́fica que permite conducir millones de pruebas genéticas, bioquı́micas o farmacológicas,
a través de la robótica, software de control y procesamiento de datos, dispositivos para el
manejo de lı́quidos y detectores sensitivos. A través de este proceso se pueden identificar
rápidamente componentes activos, anticuerpos o genes que modelan procesos biomoleculares
particulares, tal como se indica en [30]. Diversos ganadores del premio Nobel de Medicina
o Fisiologı́a han centrado sus estudios en gusanos, y en particular C. elegans, tales como
Brenner, Sulston y Horvitz (2002), Fire y Mello (2008), ası́ como el ganador del Nobel de
Quı́mica, Martin Chalfie (2008).
Antes de ser cuantificados, los gusanos deben ser identificados. Este proceso deberı́a ser
automático debido a que es muy trabajoso para ser efectuado manualmente en un tiempo
factible. Curiosamente, a pesar de la utilidad del C. elegans para manipulaciones genéticas,
su utilización en procesos de cribado de alto rendimiento se ha visto limitado por la necesidad
de ensayos manuales muy trabajosos.
Lo anterior conlleva a la necesidad de métodos más rápidos y consistentes. Por esta razón,
un programa de computadora que permita detectar individuos C. elegans en imágenes digitales, proveerı́a una solución automática para el problema de reconocimiento. Esto mejorarı́a
tanto la precisión, como el tiempo requerido para la identificación de los individuos, con
respecto a la identificación manual, permitiendo, a su vez, transformar las imágenes en in-
2
formación manejable.
El presente estudio, se centra en el diseño e implementación de un algoritmo de procesamiento de imágenes para detectar gusanos C. elegans en imágenes de microscopio. Se provee,
ası́ mismo, una metodologı́a general de detección de gusanos. La caracterı́stica más relevante
para la mayorı́a de los experimentos con C. elegans es la forma del gusano, y en ocasiones
también la rotación y dirección de la misma. El enfoque presentado en este documento, busca identificar, exclusivamente, la forma de los gusanos. Se estudia, entonces, si es posible
detectar y ajustar estas formas de manera automatizada, y si esto puede alcanzarse más
rápidamente que a través de la identificación manual.
Se utilizan gusanos, en estado de larva, en placas de microtitulación. Las larvas se cultivan
en medio lı́quido, lo que causa que el fondo de las imágenes sea muy claro. No obstante, los
gusanos se solapan con frecuencia.
La implementación del algoritmo que se deriva de la metodologı́a desarrolladaes integrada
a Endrov, una arquitectura de extensiones de código abierto, dirigida al análisis de imágenes
y procesamiento de datos, que fue desarrollada y es actualmente utilizada en el Departamento de Biociencias y Nutrición del Instituto Karolinksa, lugar donde se desarrolla este proyecto.
El objetivo general de este proyecto es el de diseñar e implementar una metodologı́a basada
en procesamiento de imágenes para detectar gusanos en imágenes de microscopio. Para lograr
este objetivo se definieron dos objetivos especı́ficos. El primero es el de diseñar un algoritmo
de detección de gusanos que reciba como entrada imágenes de gusanos en cultivo lı́quido y
retorne la forma de los gusanos presentes. Este objetivo especı́fico engloba las siguientes actividades: revisar los antecedentes relevantes en técnicas de segmentación de imágenes; diseñar
un descriptor de forma y un método de rasterización 2 para representar gusanos en términos numéricos; revisar los antecedentes en ajuste de formas y reconocimiento de objetos, y
proponer un enfoque de detección. El segundo objetivo especı́fico consiste en implementar el
algoritmo de detección diseñado, integrándolo a Endrov como extensión o plug-in.
Existen diversos antecedentes relativos al desarrollo de métodos que involucran la detección de gusanos en imágenes. Particularmente, el hecho de que la utilización del C. elegans
en experimentos que involucran cribado genético y quı́mico se haya incrementado rápida y
2
Término comúnmente utilizado en computación gráfica, derivado del término en inglés rasterization. Se
refiere al proceso por el cual una imagen descrita en un formato de gráfico vectorial se convierte en un
conjunto de pı́xeles o puntos.
3
notablemente, ha dado pie al desarrollo de métodos automatizados para analizar su comportamiento, en experimentos conducidos sobre grupos de estos organismos, tal como se indica
en [4]. En el estudio mencionado, se dividen las estrategias existentes para el análisis automatizado del C. elegans en tres grandes grupos, de acuerdo a su enfoque metodológico, a
saber: seguimiento del comportamiento general, detección y medición de comportamientos
distintos, y medición completa del comportamiento utilizando grandes conjuntos de datos.
Todas estas estrategias incluyen una etapa fundamental, que se centra en la detección de los
gusanos en el conjunto de imágenes que se utilizan. El enfoque de detección varı́a de una
estrategia a otra, pero, por lo general, comprende los procesos siguientes: extracción de los
gusanos del fondo de la imagen (segmentación), calculo del esqueleto toplógico de las formas
extraı́das (skeletonization) y parametrización del contorno de los gusanos.
La skeletonization y subsecuente parametrización, se han convertido en un método estándar.
Sin embargo, dado que las propiedades de la imagen tales como iluminación, ruido y desorden
(e.g. huevos y rastros de gusanos) pueden variar fuertemente de una imagen a otra y debido a que la segmentación depende directamente del contexto visual, los parámetros de este
último proceso resultan altamente variables. Los métodos de segmentación más utilizados en
imágenes de gusanos comprenden: cerrado morfológico, llenado de agujeros, método del valor
umbral y sus combinaciones.
La parametrización de gusanos, que consiste en la descripción de formas de gusanos en
términos numéricos, determina la variedad de formas que pueden obtenerse a través de la
asignación de diferentes valores a los parámetros. El enfoque más común se centra en definir
parámetros que permitan la reproducción de una forma de gusano genérica, normalizada para
la posición, orientación y escala de un esqueleto de gusano.
En [4], se sostiene que entre aquellos programas que hacen seguimiento de múltiples gusanos, muy pocos intentan resolver el problema de solapamiento, que surge cuando dos o más
gusanos se cruzan entre sı́, o bien cuando gusanos individuales se enrollan, lo que suele llevar
a detecciones incorrectas o faltantes. Pese a que hay algoritmos que están siendo desarrollados para resolver este problema, tal como se indica en [8], se sigue careciendo de soluciones
que permitan detectar la totalidad de los individuos de forma automática.
Estudios muy recientes presentan nuevos enfoques para detectar gusanos individuales en
agrupaciones enredadas (aquellos donde ocurre solapamiento). Riklin Raviv et al. en [16] presentan un enfoque para extraer objetos enredados, basado en sus propiedades morfológicas.
4
Este estudio aborda el problema de desenredar agrupaciones de C. elegans en experimentos
de cribado de alto rendimiento. Este método se basa en conceptos de aprendizaje de máquina y teorı́a de grafos, y utiliza el esqueleto del gusano como un descriptor de forma. Los
segmentos de agrupaciones de gusanos son representados como vértices de grafo y se lleva a
cabo una búsqueda de los caminos de gusanos más prometedores en el grafo. La detección
de los descriptores de forma más prometedores dentro de la búsqueda, es guiada por una
distribución de probabilidad, basada en el modelo probabilı́stico presentado en [27].
Los enfoques presentados en [16, 27] corresponden a estudios consecutivos y complementarios centrados en la detección de gusanos individuales en imágenes digitales. Los resultados
presentados indican un porcentaje de detección acertada de 89 % del total de la muestra,
en promedio. Es importante destacar que los dos estudios previamente mencionados fueron
desarrollados al mismo tiempo que el presente trabajo y con similares fechas de finalización,
por lo que habı́a desconocimiento de su existencia. No obstante, el enfoque de detección
y la metodologı́a presentada en este trabajo, es diferente a los presentados en los estudios
mencionados. En particular, este trabajo sigue un enfoque detección basado en el modelo de
ajuste de formas por optimización, mientras que los trabajos previamente mencionados siguen un enfoque de ajuste por decisión, de acuerdo a la clasificación descrita en la Sección 1.5.
Existen entonces, diversos estudios en procesamiento de imágenes y visión artificial que
tratan el análisis automatizado del C. elegans y de nematodos en general. La mayorı́a de
estos estudios se centran en la locomoción de gusanos, donde el proceso de identificación y
seguimiento es realizado a través del procesamiento simultáneo de un conjunto de imágenes
y no sólo de una. Se evidencian tres procesos fundamentales en las estrategias de detección
como lo son: segmentación de la imagen, skeletonization y parametrización de forma. El resto
de los procesos involucrados en la detección varı́an dependiendo del enfoque, e involucran, en
casi todos los casos, el procesamiento de conjuntos de imágenes y no de imágenes individuales, como fue antes mencionado.
A pesar de que algunos métodos automatizados de detección de gusanos son capaces de
detectar correctamente una gran parte de la muestra, pocos intentan resolver el problema del
solapamiento de gusanos y ninguno lo soluciona exitosamente.
Este documento presenta una descripción detallada de todos los aspectos involucrados en
el desarrollo de este estudio, y se ecuentra dividido de la siguiente forma:
Capı́tulo 1: Marco Teórico
Se abarca la teorı́a relacionada con el problema y la solución planteada, destacando por
5
tópico, los diferentes enfoques que han sido previamente estudiados.
Capı́tulo 2: Metodologı́a de la Solución
Se presenta la metodologı́a general de la solución. Primero, se desarrolla el razonamiento que sustenta la solución propuesta. Seguidamente, se explica cada etapa de
la metodologı́a, justificando el enfoque escogido. Por etapa, se presentan los detalles
de implementación más relevantes, que dan origen al algoritmo desarrollado en este
trabajo.
Capı́tulo 3: Experimentos y Resultados
Se presentan los experimentos llevados a cabo para evaluar el rendimiento de la solución
propuesta. El propósito y caracterı́sticas de cada experimento son descritos. Luego, se
presentan y discuten los resultados obtenidos.
Conclusiones y Trabajos Futuros
Las conclusiones del trabajo son presentadas, ası́ como algunas observaciones futuras.
CAPÍTULO 1
MARCO TEÓRICO
En este capı́tulo se describen los diferentes aspectos teóricos relacionadas con el problema
y la solución planteada. Se abarcan los conceptos y métodos de procesamiento de imágenes
mas relevantes para este trabajo, destacando los diferentes enfoques que han sido utilizados
en el pasado. Ası́ mismo, se presentan las caracterı́sticas principales del software Endrov, para
el cual fue implementada la solución como extensión o plug-in.
1.1.
Endrov
Endrov, es tanto una librerı́a como un programa de análisis y procesamiento de imágenes
de código abierto, que se basa en el modelo de arquitectura de extensiones o plug-in architecture. La idea de un modelo de arquitectura de extensiones es la de proveer una estructura
general y estandar de operaciones y tipos de datos, y permitir la adición de componentes de
software externos (que son contruidos a través esta estructura), para agregar funcionalidades
adicionales al software que se rige bajo este modelo. El diseño de Endrov se realizó haciendo
fuerte énfasis en separar el código de la interfaz gráfica de los tipos de datos, filtros y otras
extensiones para procesamiento de datos. La idea del programa es proveer una herramienta
robusta para el análisis y procesamiento de imágenes que pueda cubrir las necesidades de
aquellos laboratorios, grupos de investigación y cualquier otro tipo de usuario, que manipulen imágenes diariamente, [29]. Endrov surgió de la necesidad de un software avanzado de
código abierto que permitiese procesar los complejos datos espacio-temporales presentes en
imágenes de microscopio, utilizadas en la investigación biológica.
Endrov, se encuentra implementada en Java, es portátil, y puede ser ejecutada localmente
o como un applet, como se indica en [29]. Endrov, tiene también como objetivo mejorar las
funcionalidades del software código abierto de análisis de imágenes ImageJ, proveyendo un
diseño más moderno. Las deficiencias principales de ImageJ son: falta de soporte de meta-
7
datos, no existe soporte real de 5D, la arquitectura de extensiones es confusa, las vistas no
pueden ser extendidas fácilmente, y el procesamiento de grandes conjuntos de imágenes es
complicado, tal como se indica en [7]. Otros problemas que inspiraron la creación de Endrov
fueron la ausencia de un formato de imagen estandarizado, y la dificultad de almacenar datos
complejos en los formatos abiertos que existen actualmente. El grupo de desarrollo de Endrov creó el formato OST para manejar grandes conjuntos de imágenes. Este formato puede
almacenar todo tipo de información, pero se encuentra optimizado para imágenes.
Endrov fue desarrollado por el TBU Group del Instituto Karolinska en Suecia, y fue liberado
oficialmente el 17 de Junio de 2009, bajo la licencia BSD.
1.2.
Método del Valor Umbral
Los métodos del valor umbral (MVU), mejor conocidos por su nombre en ingles: thresholding, son un conjunto de algoritmos para segmentar gráficos rasterizados, que permiten
separar objetos presentes en una imagen del resto. Esta separación de objetos es usualmente
representada a través de una imagen binaria, que se obtiene después de procesar la imagen
original en escala de grises.
Una imagen binaria es un tipo de imagen discreta, en la cual cada pixel tiene asignado
uno de dos valores posibles (tı́picamente 1 ó 0). Cada valor indica si el pixel pertenece al
primer o segundo plano (fondo) de la imagen original, respectivamente. Como se indica en
[32], durante la ejecución de un método del valor umbral, se marcan pı́xeles individuales
como pı́xeles objeto o pı́xeles de fondo, según corresponda. Asumiendo que los objetos en las
imágenes son más brillantes que el fondo, un pixel se marca como pixel objeto si su valor
de luminosidad (u otro valor unidimensional) es mayor que un valor umbral determinado, de
otro modo se marca como pixel de fondo. Esta convención se denomina umbral por encima.
Diferentes variantes incluyen: umbral por debajo, que es el opuesto al anterior; umbral por
dentro, donde un pixel es marcado como objeto si su valor de comparación se encuentra entre
dos umbrales; y umbral por fuera, que es el opuesto a umbral por dentro, según se explica en
[19].
En las aplicaciones de procesamiento de imágenes donde el estudio se enfoca en objetos
particulares contenidos en una imagen, los MVU se convierten en una herramienta sencilla
para separar estos objetos del fondo, aunque no siempre precisa. En [18, p.146], se mencionan diversas aplicaciones en procesamiento de imágenes que involucran MVU, tales como:
8
análisis de imágenes de documentos, donde el objetivo es extraer caracteres, logos, contenido
gráfico o notas musicales, entre otros; procesamiento de mapas, que se centra en encontrar
lı́neas, leyendas y caracteres; procesamiento de escenas, donde se busca detectar un objetivo
o blanco; e inspección de calidad de materiales, donde se desea delinear piezas defectuosas,
entre muchos otros.
El parámetro clave para los MVU es el valor umbral (o valores umbrales para los enfoques
de umbral por dentro y umbral por fuera). El valor puede ser tanto calculado automáticamente, como establecido o ajustado manualmente. Los diferentes MVU pueden ser categorizados
de acuerdo de la información que explotan. En [18, p.147], Sezgin y Sankur categorizan los
MVU en seis grupos principales: métodos basados en histograma de formas, métodos basados
en agrupamiento, métodos basados en entropı́a, métodos espaciales y métodos locales.
En la Figura 1.1, se muestran dos imágenes: una en escala de grises y la otra, la imagen
binaria obtenida a través de un método del valor umbral.
(a) Imagen en escala de grises
(b) Imagen binaria obtenida a través de un método del valor umbral
Figura 1.1: Imagen en escala de grises antes y después de aplicar un método del valor umbral.
Las imágenes fueron tomadas de [32]
1.3.
Transformada de Distancia
Una transformada de distancia o mapa de distancias es una representación de una imagen
digital, en la cual a cada pixel de la imagen le corresponde un valor que indica la distancia
entre ese pixel y el pixel más cercano que pertenezca al fondo de la imagen. Se calcula a partir
9
de una imagen binaria, que consista en pı́xeles de objeto y pı́xeles de fondo. La imagen que
se obtiene corresponde a una especie de representación en escala de grises del primer plano
de la imagen binaria (conformado por los objetos).
El valor que corresponde a cada pixel, depende directamente de la función de distancia,
que define el patrón de medición de distancia entre pı́xeles de la imagen. Existen diversas
funciones de distancia tales como: Manhattan, tablero de ajedrez, Euclidiana, Chamfer 3-4 y
Octogonal, [3, p.363]. Ası́ mismo, existen muchas otras funciones de distancia, normalmente
derivadas de las anteriormente mencionadas. En la Figura 1.2, se muestra el resultado de
aplicar diferentes funciones de distancia a una imagen que contiene un punto en el centro,
rodeado por un fondo blanco.
Figura 1.2: Distancias a partir de un punto para seis transformadas de distancia. Mientras
más claro es el color, más larga es la distancia [3, p.365]
10
Como se indica en [6], las transformadas de distancia juegan un rol central en la comparación de imágenes binarias, particularmente aquellas resultantes de técnicas de detección de
caracterı́sticas locales, tales como detección de contornos o detección de esquinas. Las transformadas de distancia pueden ser interpretadas, también, como topografı́as de islas, donde la
etiqueta o valor de cada pixel indica la altura o profundidad de la región. De esta forma, se
pueden detectar crestas y picos, que constituyen la base principal de metódos sencillos para
encontrar el esqueleto topológico de objetos en imágenes, tal como se explica en [1, p.237].
Las transformadas de distancias son también herramientas muy útiles para el mejoramiento
de la eficiencia de algoritmos de morfologı́a, tales como: reducción de contornos y expansión
de contornos.
1.4.
Skeletonization
Un esqueleto topológico es una representación compacta y simple de un objeto, que consiste en una versión reducida o delgada del mismo, que es equidistante a sus bordes, y que
preserva muchas de las caracterı́sticas topológicas y geométricas de la imagen original, tal
como se explica en [28, 10, 22]. Por lo general, el esqueleto se define como el conjunto de
los centros de los discos máximos contenidos en la imagen original, [10, 22]. Existen muchas
otras definiciones diferentes, que dependen, principalmente, de la forma en que el esqueleto
es generado. Independientemente de la definición que se adopte, si los puntos pertenecientes
al esqueleto son calculados en relación con su distancia a los bordes originales del objeto, el
esqueleto puede ser utilizado para reconstruir con exactitud la figura original. La figura 1.3
presenta el esqueleto de una silueta de caballo, y la imagen binaria a partir de la cual fue
calculado el esqueleto.
(a) Imagen Binaria
(b) Esqueleto topológico
Figura 1.3: Imagen binaria de una figura de caballo y su esqueleto. Imágenes tomadas de [10]
Los esqueletos topológicos pueden ser categorizados en diferentes tipos. Telea et al, [22],
describen tres tipos de esqueleto de acuerdo a la forma en que son calculados, tales como:
11
esqueleto por reducción morfológica, esqueleto por métodos geométricos y esqueleto por transformada de distancia. El método de reducción morfológica consiste en la reducción iterativa
de los bordes del objeto, identificando y marcando, capa por capa, aquellos puntos cuya remoción no afecte la topologı́a del objeto. Estos métodos son sencillos, por lo general, aunque
suelen requerir heurı́sticas complejas para asegurar la conectividad del esqueleto, como se
indica en [22]. En [5] y [34], se describen dos enfoques paralelos eficientes para garantizar la
conectividad de esqueletos producidos a través reducción morfológica.
Los métodos geométricos se centran en calcular el diagrama de Voronoi de una representación poligonal de los bordes del objeto. El diagrama de Voronoi representa el eje medio de los
bordes. Tal como se asegura en [22, p.251], estos métodos producen un esqueleto conectado y
preciso, pero son muy complejos de implementar, ya que requieren una robusta discretización
de los bordes, y son computacionalmente costosos.
El tercer tipo comprende los métodos que calculan el esqueleto a partir de la transformada de
distancia. El enfoque común consiste en encontrar los puntos cresta y conectarlos, [21, 2, 1].
Por lo general, estos métodos pueden garantizar que los puntos esqueletos encontrados sean
precisos y acertados, pero no la conectividad del esqueleto, ni su completitud.
El esqueleto topológico es una herramienta importante para la representación y reconocimiento de objetos, en diferentes áreas, tales como: visión artificial, análisis de imágenes, y
procesamiento de imágenes digitales, incluyendo reconocimiento óptico de caracteres, reconocimiento de huellas digitales, inspección visual, reconocimiento de patrones, compresión de
imágenes binarias y acoplamiento de proteı́nas, [17].
1.5.
Ajuste de formas
El ajuste de formas (en inglés shape matching), es un problema central en los sistemas de
información visual, visión artificial, reconocimiento de patrones y robótica, [26]. Consiste en
identificar el área o contorno de una forma en especı́fico o de determinadas clases de formas
en una imagen, y tiene un rol fundamental en la extracción de contenido en imágenes y en la
recuperación de imágenes basada en contenido. Tal como explica Veltkamp en [25], el ajuste
de formas se ocupa de la transformación de una forma determinada y de la medición de su
similitud con respecto a otra forma, utilizando alguna medida de similitud o distancia entre
formas.
El concepto de forma es abstracto. La mayorı́a de los enfoques en ajuste de formas definen
las formas de manera geométrica. Esta descripción geométrica puede consistir tanto de un
12
conjunto de puntos, curvas, superficies o sólidos, etc, como de un patrón geométrico, dispuesto
de acuerdo a algún grupo de transformaciones geométricas, en particular transformaciones
de semejanza (traslación, rotación y escala), tal como se indica en [25].
Por lo general, se utiliza un patrón geométrico de forma, llamado descriptor de forma, para
representar la clase del objeto a ajustar. Existen diferentes tipos de descriptores de forma,
que se diferencian de acuerdo al tipo de información que los define y a la naturaleza del
problema, (ver sección 1.6).
Se han desarrollado diferentes enfoques para el problema de ajuste de formas. Esta sección
se centra en aquellos enfoques basados en geometrı́a computacional, dado que son los más
relacionados con el enfoque seguido en este trabajo. La geometrı́a computacional consiste en
buscar y analizar algoritmos eficientes para resolver problemas geométricos. En [26], Veltkamp y Hagedoorn mencionan diferentes enfoques de ajuste de formas tales como: poda de
árboles, la transformada de Hough generalizada, el método de alineación, estadı́sticas, modelos deformables, relajación de etiquetas, descriptores de Fourier, la transformada por ondulas
y redes neurales. Ası́ mismo, categorizan las técnicas de ajuste de forma en dos grupos principales: transformadas de imagen global y métodos de objetos globales.
El grupo de transformadas de imagen global se refiere a las técnicas que “transforman la
imagen de información de color, en el dominio espacial, a variación de color, en el dominio
frecuencial”, [26]. Estos enfoques no representan la forma explı́citamente para el ajuste, sino
que representan las transiciones de color o intensidad en la imagen. Esto hace imposible medir
las diferencias entre dos imágenes en términos de formas, ası́ como comparar y ajustar una
forma a una parte especı́fica de la imagen.
Por otro lado, los métodos de objetos globales trabajan con áreas completas de los objetos o
con los contornos, y pueden analizar secciones especı́ficas de la imagen, en vez de requerir el
procesamiento de la imagen como un todo, tal como en las transformadas de imagen global.
En estos métodos se requiere que los objetos de la imagen estén completamente segmentados.
Algunos de estos métodos son: método de momentos, donde los objetos son descritos como
un conjunto de momentos (posición, área, orientación, y otros parámetros) y se detecta la
invariancia de momentos en los objetos; método de ajuste modal, donde se utilizan los bordes
descritos con descriptores de Fourier; y método de curvatura de espacio escalado, donde se
utiliza un espacio escalado y una parametrización del contorno de los objetos.
Veltkamp describe en [25] diversos enfoques para llevar acabo un ajuste de formas, dados
dos patrones de forma y una medida de similitud. Estos problemas son:
13
Ajuste computacional: Computa la disimilitud entre dos patrones de formas.
Ajuste por decisión:
• Para un umbral determinado, decidir si la disimilitud es más pequeña que el umbral.
• Para un umbral determinado, decidir si existe una transformación tal que la disimilitud entre el patrón transformado y el otro patrón es menor que el umbral.
Ajuste por optimización: Encuentra la transformación que minimiza las disimilitud
entre el patrón transformado y otro patrón.
Existe un enfoque de ajuste de formas muy estudiado, que sigue el enfoque de ajuste por
optimización y se conoce como Modelos de Contornos Activos, en particular el modelo de
snakes, el cual inspiró gran parte del enfoque de ajuste de formas presentado en este trabajo,
(Ver sección 2.2.8). En [11], un snake es definido como un spline minimizador de energı́a,
que es guiado por fuerzas de restricciones externas e influenciado por fuerzas internas de la
imagen que lo empujan hacia elementos caracterı́sticos tales como: lı́neas y contornos. Se
dice que los snakes son modelos de contornos activos, debido a que se pliegan a contornos
cercanos y los localizan con precisión.
El modelo de snakes se define como un spline continuo y controlado que es restringido por
fuerzas internas y externas de la imagen, llamadas energı́as. La energı́a interna modela la
resistencia del objeto a ser empujado por fuerzas externas hacia direcciones inconsistentes,
de acuerdo a la información previa que se tiene sobre el objeto y la imagen, [24]. En este
caso, la energı́a interna impone una restricción de suavidad a trozos (“piecewise smoothness
constraint”, [11]). Esto significa que el contorno es empujado hacia elementos resaltantes de
la imagen por las fuerzas externas, mientras que el contorno en si mismo exhibe resistencia
a ser deformado en un curva no-suave. Como se explica en [24], las fuerzas de la imagen
empujan al snake hacia salientes o caracterı́sticas resaltantes de la imagen como lı́neas, bordes y contornos subjetivos, mientras que las fuerzas externas de restricción son responsables
por ubicar al snake cerca del mı́nimo local deseado.La formalización de estos conceptos se
presenta a continuación.
Sea M el modelo a deformar y D el conjunto de datos, la energı́a total, E, puede ser definida
como:
E(M, D) = Eext (M, D) + Eint (M, D)
14
donde Eext es la función de energı́a externa y Eint la función de energı́a interna. De esta
manera, la técnica de optimización se centra en minimizar la función objetivo definida por
la energı́a total.
1.6.
Descriptores de Forma
Un descriptor de forma es una abstracción estructurada de una clase de formas, que las
describe de manera geométrica. Los descriptores de forma pueden ser tanto fijos como variables. Los descriptores fijos son aquellos que representan un conjunto previamente definido de
formas, a manera de plantillas. Los descriptores variables definen una serie de parámetros para representar la forma. Dependiendo de los valores asignados a los diferentes parámetros, se
obtienen diferentes variaciones de formas, que igualmente pertenecen al tipo o clase de formas
representadas por el descriptor. Los descriptores o modelos de formas han sido ampliamente
utilizados para interpretar de manera robusta objetos complejos, [23].
Latecki et al [9], separan los descriptores en tres categorı́as principales:
Descriptores basados en contornos: El contorno de un objeto determinado es
definido a través de a algún tipo de representación, a partir de la cual se deriva un
descriptor de forma.
Descriptores basados en imágenes: El cálculo del descriptor de forma se basa en
agrupar el valor de los pı́xeles de una imagen digital que contiene la silueta del objeto,
a partir de los cuales se construye un vector descriptivo de parámetros variables.
Descriptores basados en el esqueleto topológico: Luego de que el esqueleto de
la imagen es calculado, este es transformado a una estructura de árbol que conforma el
descriptor de forma. La disimilitud entre formas es calculado a través de algún algoritmo
de grafos.
Considerando que, básicamente, los descriptores de forma son intentos de cuantificar una
forma en términos fácilmente entendibles por la mente humana, [14, p.1], cualquier tipo de
representación geométrica que cubra los elementos o propiedades que quieren ser descritos
en una forma, puede ser usado como descriptor. En [14], se cubren los descriptores de forma
basados en regiones. Estos son todos aquellos que describen una forma en base a las propiedades geométricas y numéricas de la región que ésta cubre. Algunos descriptores simples
son mencionados, tales como: el área, el perı́metro, compactibilidad (no-compactibilidad),
circularidad (no-circularidad), excentricidad, elongación, orientación y grado de similitud a
un rectángulo. Cualesquiera combinaciones de estas propiedades de una forma son útiles para
15
describirla de manera básı́ca. Se mencionan tambı́en otras propiedades más complejas para
mejorar la precisión del descriptor, como lo son: la envoltura convexa, puntos extremos, perfiles, momentos y perfil de momentos.
La envoltura convexa mide la cantidad de concavidades que presenta la forma. El descriptor
de puntos extremos se centra en encontrar los puntos lı́mite de una forma; esto puede ser,
tanto una representación simple como el rectángulo delimitador, como una representación
más poderosa, como lo es el encontrar los ocho puntos extremos de la figura, a saber: norte,
nor-oeste, oeste, sur-oeste, y ası́ sucesivamente. El descriptor por perfiles, se basa en el número de pı́xeles que la forma presenta en una dirección determinada, ya sea vertical, horizontal
o diagonal. El descriptor por momentos, se basa en el cálculo de momentos estadı́sticos, y el
descriptor de perfil de momentos, es una combinación de los últimos dos.
Un descriptor puede o no permitir la reconstrucción de la forma original que describe, dependiendo de las propiedades que controla y mide. En [23], se presenta un método entrenable
para representación de formas, que permite capturar automáticamente las propiedades invariables de una clase de formas y proveer una descripción paramétrica compacta. Este método
fue aplicado en gusanos, obteniendo un descriptor que reconstruye formas de gusanos con
diferentes flexiones, dependiendo de los valores asignados a los parámetros que la definen.
1.7.
Splines
El término spline, como se utiliza en este trabajo, se refiere, en general, a una curva definida
a trozos mediante polinomios. Los splines han sido ampliamente utilizados en los subcampos
de las ciencias de la computación, por la simplicidad de su construcción, la facilidad y precisión de su evaluación, y su capacidad para aproximar formas o figuras complejas, como se
explica en [31]. La representación de una curva continua es particularmente apropiada para
problemas como: detección de contornos, ajuste de superficies y técnicas de multi-resolución.
Es igualmente útil para muchos otros problemas en visión artificial como: flujo óptico, reconstrucción de superficies y recobramiento de iluminación y color, [12, 821].
Los splines reciben nombres diferentes dependiendo de diversas condiciones.
Un tipo de spline, muy comúnmente utilizado en reconocimiento de objetos, es el spline de
Hermite; este es un spline de tercer grado, que se expresa utilizando polinomios de Hermite,
para representar cada una de las porciones individuales del polinomio. Diversos métodos han
sido desarrollados para ajustar estos splines a un conjunto de puntos tales como: spline cardinal, splines de Catmull-Rom y splines de Kochanek-Bartels. Todos estos permiten construir
16
una curva suave que pasa por cada punto del conjunto. De esta manera, dados una serie
de puntos que pertenecen, digamos, al contorno de un objeto, una figura suave puede ser
calculada, que modele la forma definida por el objeto. Los splines de Hermite proveen una
cantidad de ventajas que lo hacen útiles en el procesamiento de imágenes, como se menciona
en [12]. Primero, los splines de Hermite son, por lo general, curvas suaves y que tienden
muy poco a oscilar, al contrario de los polinomios de orden superior. Además, estos splines
son continuos en todas partes; en contraste a los polinomios encontrados por aproximaciones
locales. que puede producir discontinuidades fuertes en la conexión de regiones. Finalmente,
tienen la ventaja de poder ser evaluados fácilmente.
CAPÍTULO 2
METODOLOGÍA DE LA SOLUCIÓN
En este capı́tulo se presenta la metodologı́a general de la solución, que consiste en los diferentes procesos que deben ser llevadas a cabo para detectar eficazmente la forma de gusanos
C. elegans presentes en imágenes digitales. Primero, se desarrolla una descripción general
de la metodologı́a, donde se justifica el diseño de la solución y se especifican los diferentes
procesos involucrados. Luego, se explica cada proceso de manera individual, aclarando su
respectiva utilidad y necesidad. Por cada proceso se presenta, además, las caracterı́sticas de
su implementación en este trabajo, lo que da origen al algoritmo que aquı́ se provee.
2.1.
Diseño de la Metodologı́a: Razonamiento Previo
A continuación se presenta el razonamiento previo que condujo al diseño de la metodologı́a
presentada en la sección 2.2 (la metodologı́a general es descrita gráficamente en la Figura 2.1).
Como se explica en [15, 24, 25, 26], uno de los enfoques más comunes para el ajuste de
formas consiste en adoptar un descriptor de forma, construir una silueta a partir del descriptor, y posicionar dicha silueta lo suficientemente cerca del objeto a ajustar en la imagen.
Seguidamente, variar los valores de los parámetros del descriptor, deformando la silueta inicial, hasta que se logre una coincidencia aceptable entre la silueta generada y el objeto en la
imagen.
La utilización de un descriptor de forma suele ser apropiado cuando los objetos a ser ajustados pueden ser categorizados en un clase especı́fica, y pueden ser descritos en términos
geométricos. El problema de estudio tiene como objetivo la detección y ajuste de gusanos,
particularmente aquellos que pertenece a la especie C. elegans. Dado la propiedad vermiforme de estos individuos, los objetos a detectar pueden ser agrupados en una clase gusano, a
la que pertenecerı́an aquellos objetos que cumplen con las propiedades geométricas de tener
18
una forma alargada, delgada y cilı́ndrica, en términos generales. Siguiendo esta idea, se puede definir un descriptor de forma que permita generar siluetas de gusanos. Este descriptor
podrı́a estar representado por dos puntos extremos (los extremos del gusano) y un conjunto
de valores de grosor a lo largo del eje medio que conecta dichos extremos. Luego, el problema
quedarı́a reducido a encontrar cada par de puntos extremos de gusanos en la imagen, ubicar una silueta aproximada (construida a través del descriptor de forma) cerca del gusano a
ajustar, y deformar la silueta hasta encontrar una coincidencia factible.
Para este estudio, las imágenes de entrada consisten, básı́camente, en tomas de microscopio
de un conjunto de gusanos agrupados en medio lı́quido. Las imágenes pueden contener algo
de ruido, por ejemplo, sombras, burbujas de aguas o pequeños restos que no pertenecen a
los gusanos, y que por tanto deben ser separados del resto de la imagen. La posición de cada
gusano individual en la imagen es variable y puede ser distinguida en dos grandes grupos:
agrupaciones de gusanos y gusanos aislados. Una agrupación de gusanos corresponde a un
conjunto de gusanos que aparecen en la imagen solapándose entre sı́. De esta manera, cada
gusano que pertenece a la agrupación está conectado con el resto de manera directa o indirecta, a través de solapamiento; o lo que es lo mismo, desde cada gusano en la agrupación, se
puede trazar un camino hacia otro gusano sin pasar por pı́xeles de fondo. Por otro lado, los
gusanos aislados, son aquellos que están rodeados por pı́xeles de fondo y que no se solapan
con ningún otro gusano.
Los diferentes gusanos aislados y agrupaciones de gusanos podrı́an ser separados fácilmente
del resto de la imagen al identificar los diferentes caminos de esqueleto que solapan entre sı́,
permitiendo ası́, procesar cada uno individualmente. El contorno de los gusanos aislados puede ser trazado siguiendo los pı́xeles del objeto que estan más cercanos a los pı́xeles de fondo.
Habiendo ajustado las formas de gusanos aislados, éstas podrı́an utilizarse para generar un
perfil de gusano, que definirı́a los valores generales para un descriptor de forma genérico.
Esto permitirı́a describir la silueta que mejor se ajusta a todos los gusanos de la imagen, en
general. Los gusanos que pertenecen a agrupaciones de gusanos, se podrı́an detectar individualmente, a través de un proceso de ajuste de siluetas como el mencionado al comienzo de
esta sección.
2.2.
Descripción de la Metodologı́a e Implementación
A continuación se presenta una descripción general de los diferentes procesos que involucra
la metodologı́a de ajuste de formas. Seguidamente cada uno de estos procesos es explicado a
19
fondo, y se presentan algunos detalles de implementación.
2.2.1.
Descripción General
La metodologı́a presenta un diseño general por etapas. Cada etapa presenta el tipo de
información que se debe obtener a partir de información previamente calculada, independientemente de la implementación particular que se le de a cada proceso involucrado en la
etapa. Por ejemplo, una etapa define la separación incial de los gusanos a través del cálculo de una imagen binaria a partir de la imagen original. Este proceso es independiente del
método que se utilice para calcular la imagen binaria. De esta manera, se presenta una visión
general de la solución, y ası́ diferentes algoritmos pueden ser desarrollados que se ajusten
a esta metodologı́a. Se provee, además, un enfoque especı́fico de implementación por etapa,
que da origen al algoritmo que fue implementado y probado en este trabajo.
Siguiendo el razonamiento de la sección anterior, se diseñó una metodologı́a tomando en
cuenta los aspectos principales del proceso de detección y ajuste de formas estudiado, a saber:
identificación general de gusanos en la imagen, segmentación de gusanos, especificación del
descriptor de forma de gusanos y optimización del ajuste de formas.
A continuación, se describe la metodologı́a de la solución de forma general, y seguidamente
se explica cada etapa de forma detallada. En la Figura 2.1 se presenta una descripción gráfica
de la metodologı́a.
Dada la imagen de entrada, el primer paso consiste en separar los pı́xeles que pertenecen a
los objetos de estudio (gusanos) del resto de la imagen. Para esto, se utiliza algún método del
valor umbral (MVU) que permita calcular una imagen binaria que separe pı́xeles de gusanos
de los pı́xeles del fondo. Por lo general, este proceso no es completamente eficaz, y se obtiene
algo de ruido en la imagen, el cual debe ser eliminado en procesamientos posteriores. Esta
primera etapa corresponde a una segmentación inicial de la imagen de entrada. Seguidamente, a partir de la imagen binaria, se puede calcular una transformada de distancia o mapa de
distancias, en la cual se almacena la distancia de cada pixel al pixel de fondo más cercano.
La transformada de distancia hace posible identificar fácilmente los pı́xeles de contorno en
la imagen binaria, lo que la convierte en una herramienta fundamental para la generación
automática de perfiles de gusanos, el trazado de contornos en gusanos aislados y para la
optimización del proceso de skeletonization, entre otros.
Habiendo determinado los pı́xeles que pertenecen a gusanos en la imagen, se pueden separar
los grupos de pı́xeles que están conectados y rodeados por pı́xeles de contorno. Esta segmen-
20
Imagen
Entrada
Inputde
Image
Imagen Binaria
Gusanos Aislados
Trazar Contorno
Transf. Distancia
Rasterización
Descriptor de Forma
Agrup. de gusanos
Optimización
Optimization
Optimization
Skeletonization
Corrección Manual
Figura 2.1: Descripción gráfica de la metodologı́a para detectar gusanos C. elegans en imágenes digitales
21
tación provee diversos grupos de pı́xeles objeto. Cada uno de estos grupos podrı́a ser tanto
un gusano aislado como una agrupación de gusanos, de acuerdo a la diferenciación expuesta
en la sección 2.1. Una manera de diferenciar los diferentes grupos es contando el número
de extremos y de intersecciones. Un grupo que contiene exactamente dos puntos extremos y
que no presenta intersecciones corresponderá a un gusano aislado. Por otro lado, si el grupo
presenta más de dos puntos extremos, o al menos una intersección, esto indicará la presencia
de solapamiento de gusanos, por tanto corresponderá a una agrupación de gusanos.
El enfoque de ajuste de formas se centra en ubicar inicialmente una silueta de gusano genérica, cerca de un posible gusano en la imagen. De esta manera, es necesario poder determinar,
con cierto grado de precisión y factibilidad, áreas que pertenezcan a gusanos individuales
en la imagen. Para este propósito, el esqueleto topológico de la imagen proveerı́a un camino
continuo a través del eje medio de los objetos inicialmente segmentados, conectando puntos
extremos de gusanos. Al mismo tiempo, permitirı́a detectar gran cantidad de puntos extremos.
Seguidamente, los diferentes grupos segmentados son procesados para detectar y ajustar
la forma de los gusanos individuales que los conforman. Los dos tipos de grupos definidos
(agrupaciones de gusanos y gusanos aislados), son procesados de forma diferente.
Gusanos Aislados
El contorno de la silueta de los gusanos aislados puede ser trazada fácilmente de la siguiente
forma: se selecciona un pixel de contorno (indicado en el mapa de distancias) y se construye
un camino siguiendo el pixel de contorno vecino en cada paso, hasta que se cierre el contorno.
Luego, la silueta puede ser rasterizada construyendo una maya triangulada y, seguidamente,
rasterizando cada triangulo por separado. Esto proveerı́a el conjunto de los pı́xeles que pertenecen a la forma del gusano, por lo que la forma quedarı́a ajustada.
El ajuste preciso que se puede obtener de los gusanos aislados, hace posible calcular un perfil
de gusano que represente a los individuos de la muestra, de forma general. De esta manera,
se puede construir un descriptor de forma preciso (esto es explicado a fondo en la sección
2.2.6).
Agrupaciones de Gusanos
Para detectar los gusanos individuales presentes en una agrupación de gusanos, se calculan
las formas de gusanos factibles entre cada par de puntos extremos y luego se determina cuáles
de aquellas tienen más probabilidades de pertenecer a gusanos en la imagen.
22
El proceso en general es como sigue: dado un par de puntos extremos, se selecciona algún
camino entre ellos. Luego, se escogen un conjunto de puntos de control y a partir de estos
puntos y del descriptor de forma, se genera una silueta de gusano alrededor del camino. Dicho
camino constituye el eje medio de la silueta generada. Después de esto, se lleva a cabo un
proceso de ajuste de formas, que consiste en minimizar la distancia que existe entre la silueta generada y el gusano que presumiblemente se encuentra dispuesto en un espacio cercano
al camino escogido, hasta que el mejor ajuste es encontrado. Una forma ajustada, después
del proceso de minimización, se denomina conformación. Una conformación corresponde a
la mejor silueta de gusano que se puede construir a partir de un camino entre dos extremos
determinados, y que presumiblemente representa a un gusano real de la imagen.
Este proceso es repetido para cada camino de gusanos factible que puede ser encontrado a
partir de cada punto extremo. De esta manera, se obtienen todas las conformaciones posibles
en la imagen. Luego, un algoritmo de asignación permitirá seleccionar el mejor conjunto de
conformaciones, que maximice el número de puntos extremos cubiertos y minimice el valor
acumulado de energı́a. Las conformaciones escogidas incorrectamente a través de la asignación automática, podrán ser corregidas siguiendo un sencillo proceso manual.
Un algoritmo de predicción de caminos puede ser utilizado para encontrar los caminos de
gusano más probables, que parten de un punto extremo dado. Las conformaciones resultantes
de los caminos predichos por el algoritmo podrı́an ser beneficiados sobre otras conformaciones, para aumentar la probabilidad de que sean escogidos.
En las secciones siguientes se cubren detalladamente los diferentes procesos involucrados
en la metodologı́a presentada, y se presenta el enfoque particular de implementación seguido
en este trabajo, para cada uno de ellos.
2.2.2.
Segmentación Inicial (Método del Valor Umbral)
Dado que el propósito principal de este estudio es detectar y ajustar la forma de gusanos C.
elegans en imágenes digitales, un paso inicial fundamental es el de separar las formas de gusanos lo más posible del resto de la imagen, para ası́ poder llevar a cabo un análisis más preciso.
Sean los gusanos en la imagen los objetos a separar y considerando el resto de la imagen
como fondo o segundo plano, los pı́xeles de la imagen pueden ser separados en dos grupos:
pı́xeles de objeto y pı́xeles de fondo. Dada esta caracterización, un método del valor umbral
23
permitirı́a separar los objetos en la imagen digital y descartar la información innecesaria,
representando esta separación a través de una imagen binaria. La imagen binaria proveerı́a
entonces una segmentación inicial de la imagen original, siendo además clave para el cálculo
del mapa de distancias de la imagen, como se explica en la sección 2.2.3. En general, para
esta etapa de la metodologı́a, cualquier MVU que permita obtener una imagen binaria que
identifique satisfactoriamente los pı́xeles que pertenecen a los gusanos de la imagen, será suficiente para continuar el proceso normalmente, sin importar la existencia de ruido leve en la
imagen.
Implementación
Existen cuatro MVU para imágenes en 2D implementados en Endrov, estos son: Fukunaga,
máxima entropı́a, Otsu y percentil, que cubren las categorı́as de MVU basados en histogramas
y MVU basados en entropı́a (ver sección 1.2). Dada la condición de transparencia de los
gusanos C. elegans, es difı́cil determinar teóricamente cual vendrı́a a ser el método más
apropiado para obtener una imagen binaria precisa.
Por esta razón, se realizó una serie de experimentos para seleccionar el método más apropiado.
Estos experimentos consistieron en el ajuste manual de los diferentes parámetros de cada uno
de los métodos mencionados, que fueron aplicados sobre un conjunto de imágenes de prueba.
La precisión de segmentación de las imágenes binarias obtenidas en cada caso, se midió a
través de una comparación visual con la imagen original.
El método que mejor se comportó en estos experimentos resulto ser el método del valor umbral
por percentil, al ser el más fácil de ajustar manualmente y aquel que retornó el equivalente
binario más preciso, en cada caso. Un análisis más detallado sobre la escogencia del método
de valor umbral para esta metodologı́a se presenta en la sección de experimentos del capı́tulo
3.
En la figura 2.2 se presenta una imagen binaria, obtenida al aplicar el método del valor
umbral por percentil.
2.2.3.
Transformada de Distancia
La transformada de distancia de la imagen binaria es utilizada a fondo en el seguimiento de
contorno y en diferentes tipos de procedimientos de segmentación. Especı́ficamente, el mapa
de distancias permite detectar y delinear el contorno exacto de gusanos aislados (sección
2.2.8), es útil en la generación automática de perfiles de gusanos (sección 2.2.6), y es esencial
en la predicción heurı́stica de caminos de gusanos más probables (sección 2.2.5). Ası́ mismo,
permite mejorar el rendimiento del algoritmo iterativo de reducción de capas diseñado por
24
(a) Imagen original
(b) Método del valor umbral por percentil. Valor=0.074
Figura 2.2: Gusanos en medio lı́quido. Imagen original e imagen binaria obtenida a través
del método del valor umbral por percentil, con un percentil de 0.074
Zhang y Suen, [34], como se describe en la sección 2.2.4
Implementación
Tal como se describe en [33, p.196], los algoritmos para calcular transformadas de distancia
pueden ser categorizados en dos grandes clases: métodos iterativos y métodos secuenciales o
recursivos. Los métodos iterativos son particularmente eficientes en computadoras de arreglos celulares dado que se pueden procesar todos los pı́xeles en paralelo en cada iteración.
Por otro lado, los métodos secuenciales se ajustan mejor a computadoras convencionales, al
evitar iteraciones por ser independientes del tamaño de los objetos. Tomando en cuenta los
tipos de computadoras a la que tienen acceso la mayorı́a de las personas que trabajan en
el procesamiento de imágenes digitales, los algoritmos secuenciales ofrecen un rendimiento
mucho más eficiente que los iterativos. Por esta razón, se escogió un enfoque secuencial para
calcular la transformada de distancia de las imágenes de entrada. Particularmente se utilizó el
algoritmo de transformación de dos recorridos con vecindarios de 3x3, presentado en [33], que
es tanto eficiente, como sencillo de implementar.
En el trabajo antes mencionado, se describe un algoritmo para calcular el mapa de distancias de una imagen en formato de mapa de bits, que consiste en dos recorridos y una
operación por pixel. La complejidad del algoritmo es O(N ), donde N es el tamaño del arre-
25
glo que contiene la imagen. En dicho trabajo se presenta, inicialmente, un pseudo-código para
las métricas de distancia de Manhattan y tablero de ajedrez, [33, p.197]. Luego, la definición
es extendida para mejorar la eficiencia de los cálculos requeridos para generar un mapa de
distancias a través de la métrica de distancias euclidianas, [33, p.198]. Este algoritmo de dos
recorridos, fue implementado utilizando las tres métricas de distancia mencionadas anteriormente. Esto permite realizar una análisis más amplio del comportamiento y precisión del
proceso de ajuste de formas, al cambiar de una métrica a la otra. Esto es debido a que los
mapas de distancia generados por diferentes métricas, representan a los objetos de maneras
diferentes, y tienden a ser sensibles a cambios posicionales u otras propiedades. En [20, p.332]
se asegura que las métricas de tablero de ajedrez y Manhattan son sensibles a las rotaciones de
los objetos, mientras que la métrica Euclidiana permanece invariable ante estas rotaciones;
sin embargo, es mucho más costosa de calcular.
Dada la forma alargada y estrecha de los gusanos C. elegans, y los diferentes niveles de
precisión que proveen dichas métricas de distancia, es difı́cil decidir cuál se ajusta mejor al
problema de estudio, por lo que debe ser determinado experimentalmente. La Figura A.3,
presente en el Apéndice A muestra una imagen binaria y tres mapas de distancia obtenidos
a partir de una imagen que contiene, únicamente, un gusano aislado.
2.2.4.
Skeletonization
La skeletonization de la imagen corresponde al proceso de obtener un camino de pı́xeles
conectado y delgado, que tienda al eje central o eje medio de los gusanos en la imagen. A
este camino se le denomina esqueleto. Este es un proceso clave en el enfoque de detección
presentado en este trabajo, tal como se enuncia inicialmente en la Sec 2.2. El esqueleto de la
imagen hace posible identificar la cantidad de gusanos presentes, permite diferenciar y separar
las agrupaciones de gusanos de los gusanos aislados, y más importante, provee caminos entre
extremos de gusanos (que tienden al eje medio). Estos caminos son fundamentales en el
proceso de ajuste de formas (ver Sec 2.2.5), pues proveen información acerca de la localización
de los gusanos en la imagen, al constituir trayectorias a lo largo de las cuales podrı́an estar
dispuestos gusanos en la imagen.
Para los efectos de este trabajo, el algoritmo de skeletonization a ser seleccionado debe garantizar la conectividad de los puntos del esqueleto, i.e. cada punto del esqueleto debe estar
conectado con al menos otro punto del mismo esqueleto. Ası́ mismo, el esqueleto debe ser
tan delgado como sea posible (hasta un 1 pixel de grosor) para simplificar el procesamiento
y análisis de caminos.
26
Existen diferentes métodos de skeletonization que consisten en encontrar los puntos cresta
en el mapa de distancias y conectarlos, como se explica en [21, 2, 1]. El enfoque presentado
en [21] fue seguido inicialmente para calcular un esqueleto de imagen delgado en un tiempo
de ejecución muy corto. Pese a que el estudio garantiza que el algoritmo permite calcular,
satisfactoriamente, esqueletos conectados de un pixel de grosor, éste resultó ser eficaz únicamente para los gusanos aislados. Los esqueletos obtenidos para agrupaciones de gusanos
resultaron generalmente desconectados, de más de un pixel de grosor y poco precisos. Esto
llevó a la utilización de un enfoque diferente.
En [34] se presenta un algoritmo iterativo para calcular el esqueleto de una imagen binaria. El algoritmo consiste, básı́camente, en la remoción por capas de aquellos pı́xeles que,
de acuerdo a determinados criterios, no pertenecen al esqueleto del objeto. El diseño del
algoritmo está dirigido a computadoras con procesadores paralelos, de manera que se puedan
ejecutar varias operaciones de pixel al mismo tiempo, y mejorar ası́ el rendimiento. Para evitar el requerimiento de utilizar computadores con procesadores paralelos, sin desmejorar el
rendimiento significativamente, el algoritmo fue ligeramente modificado. Dicha modificación
consiste en utilizar el mapa de distancias para descartar chequeo de pı́xeles que pertenecen a
capas más profundas que la capa que está siendo reducida en un momento determinado. Esto
toma ventaja de la naturaleza de los mapas de distancia, quienes, por definición, establecen
capas de distancia entre los pı́xeles del objeto y el fondo de la imagen.
De esta manera, las capas se definen por el valor que tiene cada pixel en el mapa de distancias. La primera capa corresponde a un valor de distancia de uno (1), la segunda un valor de
dos (2) y ası́ sucesivamente. El algoritmo es presentado en 2.2.1.
El algoritmo se ocupa bien de los gusanos que se solapan, al construir un camino que se
aproxima bien al eje central de las figura, y resulta en un esqueleto totalmente conectado y
delgado (mayoritariamente 1-pixel de grosor). En la Figura A.4 presente en el Apéndice A se
muestra el esqueleto de un conjunto de gusanos.
2.2.5.
Segmentación de Gusanos
Dado que el objetivo es ajustar las formas de gusanos individuales, es necesario localizarlos
en la imagen y separarlos lo más posible, i.e. segmentar la imagen. La segmentación de los
objetos de estudio permite mejorar la eficiencia y precisión del proceso de ajuste de formas,
al reducir el área a analizar, disminuyendo ası́ la cantidad de combinaciones diferentes que
deben ser tomadas en cuenta. Una vez que se han identificado los puntos extremos, se pueden
calcular los diferentes caminos que existen entre ellos a partir del esqueleto. A través del conjunto de puntos extremos y de la cantidad de caminos e intersecciones, se puede determinar
27
Algoritmo 2.2.1 skeletonization por reducción por capas
pixelesObjeto ← obtenerP ixelesObjetoBinario()
imagenT D ← calcularT ransf ormadaDistancia()
indiceContorno ← 1
reducir = T rue
while reducir do
{eliminar pı́xeles del borde sur-este y pixel de esquina nor-oeste}
for pixel in pixelesObjeto do
if ImagenDT (pixel) > indiceContorno then
{saltar iteración}
else
eliminarP ixel ← condicionSurEste(pixel)
if eliminarP ixel then
pixelesObjeto.eliminar(pixel)
reducir ← T rue
end if
end if
end for
{eliminar pı́xeles del borde nor-oeste y pixel esquina sur-este}
for pixel in pixelesObjeto do
if imagenT D(pixel) > indiceContorno then
{saltar iteracion}
else
eliminarP ixel ← condicionN orEste(pixel)
if eliminarP ixel then
pixelesObjeto.eliminar(pixel)
reducir ← T rue
end if
end if
end for
end while
return pixelesObjeto
28
el tipo de grupo de gusanos al que pertenece cada grupo de objetos segmentados, ya sean
gusanos aislados o agrupaciones de gusanos. De esta manera, el proceso de ajuste de formas
se puede llevar a cabo en cada grupo por separado.
Otro proceso de segmentación que debe ser llevado a cabo es la identificación de caminos de
gusanos individuales, tanto para gusanos aislados como para agrupaciones de gusanos. Estos
son caminos que no tiene bifurcaciones y que comienzan y terminan en puntos extremos.
El esqueleto de un gusano aislado determinado corresponde a un camino de este tipo, y es
utilizado para dos procesos diferentes: encontrar el contorno del gusano aislado (ver sección
2.2.8) y generar un perfil de gusanos (ver sección 2.2.6). El perfil de gusanos permite definir
una representación general de los gusanos en la imagen. De esta manera, a través del perfil y
un camino entre dos extremos, se puede construir una silueta de gusano, que tiene como eje
central al camino escogido.
Con respecto a las agrupaciones de gusanos, se deben encontrar caminos de gusanos factibles entre pares de puntos extremos. Si un camino existe entre un par de puntos extremos,
será posible generar una conformación de gusano válida a través del proceso de optimización.
Estos caminos pueden ser escogidos, tanto calculando todas las combinaciones de caminos
posibles entre pares de puntos extremos, como a través de un algoritmo de predicción de
caminos probables, como el que se describe más adelante en esta sección.
A continuación se presentan detalles de la implementación realizada de cada uno de los
diferentes procesos previamente descritos en esta sección, relativos a la segmentación de
gusanos.
Puntos Extremos de Gusanos
A partir del esqueleto calculado se pueden detectar puntos extremos de gusanos. Aquellos
pı́xeles del esqueleto que están conectados (son vecinos) de dos o más pı́xeles se denominan
pı́xeles de cuerpo. Estos pı́xeles de cuerpo pertenecen al esqueleto pero no son extremos. Por
otro lado, los puntos extremos del esqueleto son aquellos que están conectados con un sólo
pixel y pueden corresponder al extremo de un gusano, aunque no necesariamente.
Dado que el algoritmo de skeletonization basado en reducción por capas no permite asegurar que los extremos identificados pertenezcan a extremos de gusanos en la imagen, se
debe llevar a cabo un proceso de expansión del esqueleto, para alcanzar los puntos extremos
reales. El algoritmo se fundamenta en estirar los extremos del esqueleto, siguiendo una dirección coherente, hasta alcanzar puntos de contorno que vendrı́an a representar los extremos
29
de los gusanos. El algoritmo de expansión utiliza la definición de vecino direccional, que se
presenta en [21, p.334]. Un pixel D es vecino direccional de otro pixel P , si pertenece a la
vecindad de P (8-vecindad ) y está localizado dentro de un rango de ± 45◦ de cambio de
pendiente, con respecto a la orientación actual del camino recorrido hasta P . En la Figura
2.3 se presentan tres ejemplos de vecindades direccionales.
El algoritmo consiste en seguir el mejor camino direccional, partiendo de cada punto extremo y expandiendo el esqueleto, hasta que un punto de contorno es encontrado.
Vecino Direccional
Camino de Esqueleto
D
D
P
D
D
P
D
P
D
D
D
Figura 2.3: Tres vecindades direccionales
El algoritmo de expansión de esqueleto puede ser resumido en los siguientes pasos:
Seleccionar un punto extremo.
Encontrar el pixel de esqueleto anterior y calcular la vecindad direccional.
Seleccionar el vecino direccional con el menor valor en el mapa de distancia y marcarlo
como pixel de esqueleto.
Si el vecino seleccionado no es un punto de contorno, repetir el proceso.
Seguidamente se lleva a cabo un proceso de remoción de pı́xeles de objeto incorrectos, que
consiste en eliminar aquellos esqueletos cuyo tamaño (en cantidad de pı́xeles) sea menor que
un umbral determinado. Esto permite remover regiones ligeramente ruidosas, ası́ como puntos extremos incorrectos. Una vez que el esqueleto ha sido expandido satisfactoriamente, los
puntos extremos del esqueleto son marcados como puntos extremos de gusanos.
Es importante considerar que, en algunos casos, hay puntos extremos de gusanos que no
pueden ser detectados a través del proceso previamente descrito; particularmente en imágenes
con gran cantidad de gusanos, donde existe una alta posibilidad de que los solapamientos entre
30
gusanos oculten puntos extremos. Para solucionar esto, se puede llevar a cabo un proceso
manual de adición de puntos extremos faltantes, como se explica en la sección 2.2.9.
Segmentación en Grupos
Habiendo detectado los puntos extremos de los diferentes grupos de esqueletos en la imagen, se puede identificar a qué tipo de grupo de gusano corresponde cada uno, ya sea a una
agrupacion de gusanos o uno aislado. Esto se hace identificando los extremos de gusanos que
estan unidos a través de un camino del esqueleto. Como se explicó previamente, los gusanos
que se superponen son considerados parte de un objeto en común en la imagen binaria, por
lo que los puntos extremos que pertenecen a los esqueletos de agrupaciones de gusanos se
encuentran conectados a través de un camino del esqueleto.
Basado en este razonamiento, se diseñó un algoritmo que detecta la cantidad de puntos
extremos que son conectados a través de caminos de un determinado esqueleto, y determina
el tipo de grupo de gusanos al cual pertenece. Aquellos esqueletos donde se conectan exactamente dos puntos extremos a través de uno y solo un camino, corresponden a gusanos
aislados. Mientras que los esqueletos en donde se conectan más de dos puntos extremos, corresponden a agrupaciones de gusanos. Este procedimiento es descrito en los algoritmos 2.2.2
y 2.2.3.
Algoritmo 2.2.2 Segmentación en grupos de gusanos
listaP tsExt ← lista de puntos extremos
indiceAgrupacion ← 0
for ptExtremo in listaP tsExt do
if ptExtremo.visitado() then
{saltar iteración}
else
indiceAgrupacion+ = 1
segmentarP orCaminos(ptExtremo, indiceAgrupacion)
end if
end for
Predicción de Caminos
Una agrupación de gusanos es definida por un esqueleto que conecta puntos extremos a
través de caminos. Sin embargo, hasta esta etapa, se desconoce el par de puntos extremos
que pertenecen a cada gusano en la imagen, y el mejor camino en el esqueleto que conecte a
31
Algoritmo
2.2.3
Seguimiento
de
(segmentarP orCaminos(ptActual, clusterCount) )
Entrada: ptActual
Entrada: indiceAgrupacion
if not ptActual.esP untoEsqueleto() then
return
else
agregar(ptExtremo, indiceAgrupacion)
end if
{continuar siguimiento de camino}
if ptActual.esP tExtremo() then
marcarP tExtremoV isitado(ptActual)
end if
vecinos ← obtenerV ecindad()
for v in vecinos do
f ollowP ath(v, indiceAgrupacion)
end for
caminos
para
segmentación
cada par, y que mejor represente el eje central de cada gusano respectivo.
El algoritmo de optimización, cubierto en la sección 2.2.8, lleva a cabo un proceso de manipulación de siluetas para ajustar formas de gusanos en la imagen, dados dos puntos extremos
y un camino que los conecte. Para calcular la forma de gusano más probable que parte de un
punto extremo determinado, el algoritmo tendrı́a que probar cada camino posible que parte
de dicho punto extremo y seleccionar el que mejor se ajuste, lo que tiende a traducirse en un
alto costo en tiempo de ejecución. Con el fin de reducir el tiempo de ejecución del algoritmo
de ajuste de formas, y ası́ mismo proveer un parámetro adicional para determinar la factibilidad de los caminos analizados, se desarrolló un algoritmo de predicción de caminos. En
sı́ntesis, el algoritmo lleva a cabo una búsqueda heurı́stica para determinar aquellos caminos
que tienen mayor probabilidad de representar a un gusano de la imagen.
El algoritmo de predicción se basa en la idea de evitar caminos que tienden a describir
conformaciones no-naturales de gusanos. Para esto es necesario identificar cambios abruptos
en el camino y flexiones poco comunes o imposibles en gusanos. La idea desarrollada para
lograr esto se centra en que cada paso siguiente que sea seleccionado, corresponda a la dirección más coherente con respecto al camino que ha sido trazado hasta ese momento. Más
especı́ficamente, se escoge el conjunto S de los últimos N pasos trazados, y a partir de éste,
se calcula la dirección más comúnmente seguida en esa porción del recorrido.
32
Una dificultad considerable que surge de este enfoque, es que el seguimiento del camino
tiende a evitar centros de bifurcaciones. Una bifurcación ocurre cuando más de un camino
diferente puede ser seguido a partir de un punto determinado. Dado que estas bifurcaciones
son originadas por solapamiento de gusanos, el área de la bifurcación suele ser grande, y por
tanto hay mayor cantidad de pı́xeles posibles a escoger como siguiente paso. Los centros de
bifurcaciones son aquellos puntos que se ubican en la zona más céntrica de estas áreas, y
por tanto se encuentran a una distancia normalmente similar de todos los caminos que se
bifurcan. Para poder determinar con mayor precisión el camino más adecuado a seguir, el
trazado del camino debe aproximarse a los centros de bifurcaciones. Sin embargo, siguiendo
el enfoque presentado, estos centros se tienden a bordear, es decir se tiende a seguir los contornos de las áreas de bifurcaciones en vez de adentrarse. Por esta razón se desarrolló una
heurı́stica, que permita al recorrido aproximarse a los centros de bifurcaciones y llevar ası́ a
una decisión mejor informada.
La heurı́stica consiste básı́camente en considerar el valor en el mapa de distancias del
pixel elegible, multiplicado por un factor de equilibrio. De esta manera, la selección del pixel
siguiente se basa en dos valores fundamentales: la cantidad de veces que ha sido escogida la
dirección en la que se encuentra dicho pixel en los últimos N pasos, y el valor de la heurı́stica
para ese pixel. Esto puede expresarse de la siguiente forma:
Siguiente(p) =
máx
(valorDir(direccion(p, s), N ) + td(n) ∗ f actorH)
s∈vecindad(p)
donde p es el último pixel marcado, valorDir es una función que calcula la cantidad de veces que la dirección del pixel vecino s ha sido escogida, td es el mapa de distancia y f actorH
es el factor heurı́stico que controla la influencia del mapa de distancia.
El Algoritmo 2.2.4 presenta un pseudo-código para este enfoque de predicción de caminos
de gusanos.
2.2.6.
Descriptor de Forma
Como se mencionó inicialmente en la sección 2.2, el enfoque metodológico diseñado se basa
en la manipulación de siluetas de gusanos que se generan a partir de un descriptor de forma.
La forma de un gusano puede ser descrita en términos geométricos como objetos alargados,
delgados y cilı́ndricos. Dado que el proceso de skeletonization y la posterior segmentación de
la imagen, hacen posible obtener caminos entre pares de extremos de gusanos, un descriptor
de forma permitirı́a construir siluetas de gusanos a lo largo del eje central definido por el
33
Algoritmo 2.2.4 Pseudo código: Algoritmo de predicción de caminos
listaP tsExtremos ← lista de puntos extremos
longitud ← longitud estimada de gusanos multiplicada por un factor escalar
for puntoExtremo in listaP tsExtremos do
if alcanzado(puntoExtremo) then
{saltar iteracion}
end if
marcarComoAlcanzado(puntoExtremo)
camino ← lista vacia
extremoAlcanzado ← F alse
pixelActual ← puntoExtremo
while not(extremoAlcanzado) and size(path) < longitud do
pixelActual ← obtenerM ejorV ecino(pixelActual)
actualizarArregloDirecciones(direccion(pixelActual))
camino.agregar(pixelActual)
if esP untoExtremo(pixelActual) then
extremoAlcanzado ← T rue
end if
end while
end for
camino, lo que servirı́a como parámetro de entrada para el algoritmo de ajuste de formas.
El descriptor fue diseñado basándose en la idea de generar una silueta de gusano representativa alrededor del eje central. El descriptor consiste en dos elementos principales: un conjunto
de puntos de control y un perfil de gusano. El conjunto de puntos de control está conformado
por N puntos equidistantes a lo largo del eje central del gusano definido por el esqueleto,
incluyendo los dos puntos extremos. Por su parte, el perfil de gusano define N valores de grosor que son asociados a cada punto control, respectivamente. El grosor de un punto control
determinado representa el radio de la circunferencia que tiene como centro a dicho punto. De
esta manera, seleccionando dos puntos en posiciones opuestas de la circunferencia de grosor
de capa punto control, y uniendo luego estos puntos a través de una curva suave, se obtiene
un contorno que modela la silueta del gusano, como se muestra en la Figura 2.4.
Para obtener un contorno que represente una forma de gusano de manera precisa, la escogencia de los puntos opuestos en las circunferencias de grosor debe tomar en cuenta las
flexiones del esqueleto. Dado que el contorno se construye de acuerdo al grosor de los puntos
de control, las flexiones del gusano a representar ocurren en cada uno de los puntos de control. El grado de flexión de cada punto control se calcula como el ángulo que existe entre las
rectas que conectan dicho punto, con el punto anterior y posterior, respectivamente.
34
70°
140°
Figura 2.4: Construcción de una forma de gusano basada en un descriptor de forma
Por cada punto control, se calcula la bisectriz del ángulo de flexión y luego se marcan los
dos puntos opuestos donde se intersecan la bisectriz y la circunferencia de grosor. Al calcular
una curva que pasa por todos estos puntos, se obtiene un contorno suave que modela una
forma de gusano.
Generar una curva suave alrededor de los puntos de control mejora la precisión de la forma
descrita, en comparación con trazar lı́neas rectas que conecten los puntos de contorno. Esta
representación permite modelar el contorno con más detalle, utilizando un cantidad considerablemente menor de puntos. La curva suave se obtiene calculando un spline cardinal (ver
sección 1.7) dados los puntos contorno.
El perfil de gusanos para un conjunto de puntos de control de tamaño determinado puede
ser, tanto definido manualmente, como calculado automáticamente a partir de los gusanos
aislados, como se explica en el siguiente punto.
Generación Automática de Perfiles
La forma de los gusanos aislados puede ser ajustada con precisión, siguiendo los puntos de
contorno en el mapa de distancia, como se explica en la sección 2.2.8. Dado un conjunto de
formas ajustadas de gusanos aislados y sus esqueletos respectivos, se puede generar un perfil
de gusanos, midiendo el grosor de los puntos de control y calculando la media aritmética de
cada uno.
Para medir el grosor de cada punto control, se selecciona inicialmente un conjunto de N
35
puntos equidistantes que cubren el esqueleto de un gusano aislado determinado. Seguidamente, como se describe en la sección previa, se calculan las bisectrices de los ángulos que
existen entre las rectas que conectan los puntos de control. A partir de cada punto control,
se recorren los pı́xeles de la bisectriz hasta que un punto de contorno es encontrado. Este
recorrido se hace en los dos sentidos, por lo que el proceso devuelve dos puntos de contorno.
A continuación, se calcula la distancia Euclidiana que existe desde cada punto control hasta
sus dos puntos opuestos respectivos, y se almacena el promedio de distancia.
Al repetir este proceso para cada gusano aislado se genera un conjunto de perfiles de gusanos aislados, uno por cada gusano. A partir de este conjunto de perfiles, se calcula un perfil
general encontrando la media aritmética de los valores de grosor por cada punto control.
Para que el perfil sea lo más representativo posible, se descarta el 20 % de los gusanos más
grandes y más pequeños. El valor de grosor para los puntos extremos, es decir, el primer y
último punto en el conjunto de tamaño N , es cero, por lo que en los extremos solo se genera
un punto de contorno, en vez de dos como en el resto de los puntos de control.
Este proceso permite calcular entonces un perfil de grosor que define la distancia promedio
de cada punto control a su punto de contorno más cercano, haciendo posible la generación
de siluetas genéricas de gusano alrededor de cualquier esqueleto.
2.2.7.
rasterización de Siluetas
El enfoque de ajuste de formas se centra en minimizar la distancia entre siluetas generadas
y las formas de gusanos en la imagen. Para medir esta distancia se debe conocer el área de
la silueta que es deformada. El área de la silueta puede ser calculada a partir de su contorno.
En términos del tipo de datos que aquı́ se manejan, el área consiste en el conjunto de pı́xeles
que son cubiertos por la silueta, incluyendo los pı́xeles de contorno.
El enfoque seguido para calcular el área consiste en dividir en triángulos el espacio definido por el contorno cerrado de la silueta y luego rasterizar cada triángulo por separado.
El término rasterizar se refiere al proceso de transformar una imagen descrita en términos
vectoriales en un conjunto de pı́xeles, de manera que pueda ser visualizada.
La descomposición de un polı́gono en triángulos simples, es un problema clásı́co de computación gráfica. Diversas soluciones se han propuesto entre ellas: triangulación de Delaunay,
triangulación de costo mı́nimo y método de ear clipping.
36
Implementación
El método de ear clipping fue escogido por su capacidad para triangular polı́gonos cóncavos
y su sencillez de implementación. Para convertir el contorno del gusano en un polı́gono, se
transforma el spline que lo define en un conjunto discreto de puntos. Cada punto sucesivo es
conectado a través de rectas, definiendo un polı́gono cerrado. Para que la representación poligonal no afecte la suavidad del contorno definido por el spline, se escogen los puntos discretos
(pı́xeles) lo más cerca posible uno de otros. Seguidamente el contorno poligonal es triangulado.
Cada triángulo es rasterizado siguiendo el algoritmo de rasterización por barrido explicado
en [13]. El algoritmo consiste en rasterizar lı́neas horizontales entre los lados del triangulo
hasta que el área es cubierta por completo.
Una vez rasterizados, se pueden almacenar el área y el contorno de la silueta en forma de
datos manejables y visualizables.
2.2.8.
Detección y Ajuste de Formas
Una vez que la imagen ha sido segmentada en diferentes grupos de gusanos, y luego de
calculado el esqueleto que representa el eje central de dichos grupos y un perfil general de
los gusanos en la imagen, se puede llevar a cabo el proceso de ajuste de formas. Este proceso
permite detectar los gusanos individuales que componen los diferentes grupos y almacenar
sus formas respectivas en forma de datos manejables y visualizables.
El proceso de detección y ajuste es diferente para cada tipo de grupos de gusanos, gusanos
aislados y agrupaciones de gusanos. En esta sección se explican las caracterı́sticas de este
proceso en cada caso.
Ajuste de Formas en Gusanos Aislados
En esta etapa de la metodologı́a, se conocen los diferentes gusanos aislados y se tiene, por
cada uno, un esqueleto delgado que conecta dos puntos extremos de gusano a través de un
camino. Dado que este proceso es llevado a cabo después de que cada punto extremo ha
sido identificado correctamente y se conoce que el esqueleto no tiene bifurcaciones, el área
conformada por los pı́xeles objeto del grupo segmentado corresponderán a la forma exacta
del gusano aislado en la imagen.
37
Con el propósito de tener una información más amplia acerca de los gusanos detectados, se
calcula también el contorno a partir del área previamente identificada. El contorno es trazado
encontrando el pixel de borde más cercano a algún punto extremo del gusano y recorriendo
cada pixel de contorno vecino hasta cerrar el camino. Un pixel de contorno es aquel que tiene
el valor de uno en el mapa de distancias.
Este proceso permite, entonces, obtener el contorno y el área de cada gusano aislado en la
imagen, de manera precisa.
Ajuste de formas en Agrupaciones de Gusanos
Las agrupaciones de gusanos representan un escenario de detección más complicado, debido a la cantidad variable de gusanos que los conforman y el solapamiento entre éstos. El
solapamiento entre gusanos hace difı́cil diferenciar el conjunto de pı́xeles que pertenecen al
área de un gusano u otro. Por esta razón, se diseñó un proceso de ajuste de formas que
se encarga de calcular las conformaciones o formas de gusanos factibles que parten de cada
punto extremo, para luego determinar el conjunto de conformaciones que mejor ajustan la
agrupación de gusanos como un todo.
El ajuste de formas sigue un enfoque de optimización basado en la minimización de distancias entre gusanos de la agrupación y siluetas genéricas, que son deformadas para ajustarse
a ella. Por lo tanto, una conformación de gusano es obtenida cuando la disimilitud entre una
silueta deformada y un área determinada de la agrupación, es la mı́nima posible.
A continuación, se describen los pasos y caracterı́sticas principales de este proceso:
Por cada punto extremo se calcula el conjunto de caminos del esqueleto factibles que
comienzan en ese extremo.
Dado un camino del esqueleto, se construye una silueta genérica a través del descriptor
de forma y el perfil de gusanos en la imagen. La silueta es dispuesta a lo largo del
camino.
Un proceso de optimización se encarga de deformar la silueta hasta que la disimilitud
(distancia) entre dicha silueta y la imagen binaria sea minimizada. Una vez optimizada,
la silueta corresponderá a una conformación de gusano factible.
Una vez que se han calculado todas las posibles conformaciones que parten de cada
punto extremo, se selecciona el conjunto de conformaciones que maximiza el número
38
de puntos extremos cubiertos y minimiza el valor de distancia acumulado. Las conformaciones seleccionadas corresponden a los mejores ajustes que se pueden obtener de
forma automática.
Las conformaciones escogidas que no representan a un gusano real en la imagen (conformaciones incorrectas) pueden ser corregidas a través de un sencillo proceso manual.
Deformación de Siluetas
Los caminos del esqueleto que son calculados (que van de un punto extremo a otro), corresponden a aproximaciones de posibles esqueletos de gusanos en la imagen. Dado que el modelo
a deformar se construye sobre un camino del esqueleto (que tiende al eje medio de un área
de la agrupación de gusanos), la silueta generada inicialmente se encontrará siempre cerca
de una forma de gusano real. Dado esto, a través de perturbaciones simples y ligeras de la
silueta generada, se podrá deformar el modelo lo suficiente como para corregir la desviación
del esqueleto con respecto al eje central real del gusano a ajustar. De esta manera, se permite
obtener la forma de gusano mejor aproximada que se puede calcular a partir del camino dado.
La deformación de la silueta se hace a través del descriptor de forma, que se encuentra
definido por un conjunto de puntos de control. Con el objetivo de proveer formas de gusano
factibles y para limitar la cantidad de deformaciones posibles, una deformación consistirá en
el reposicionamiento de un punto control. La cantidad de posiciones diferentes que un punto
control puede tomar es fija, y se disponen a lo largo de la bisectriz del ángulo del punto
control. Este ángulo depende, a su vez, de la posición de los otros puntos de control.
Siguiendo esto, se puede obtener un gran conjunto de deformaciones posibles de forma rápida.
Funcional de Energı́a
La función de distancia debe proveer una medida de qué tan bien se aproxima la silueta que
se deforma a un gusano en la imagen, es decir, qué tan bien se ajusta la forma deformada.
Para definir esta medida de distancia se utilizó el concepto de funcional de energı́a, tal como
se define en el modelo de contornos activos, [11].
El funcional de energı́a describe la distancia entre el modelo que se deforma y la imagen,
guiando el proceso de ajuste de contornos. De esta manera, mientras menor sea el valor devuelto por el funcional de energı́a, menor es la distancia y por tanto mejor se ajusta el modelo.
El funcional es formulado en base a dos conceptos: la energı́a externa y la energı́a interna.
La suma de los valores de la energı́a externa e interna relativas a un modelo, constituye el
39
valor de energı́a para ese modelo especı́fico.
La energı́a externa describe qué tan bien se ajusta el modelo deformado a la imagen.
Conociendo que, mientras mayor es la cantidad de pı́xeles de fondo que son cubiertos por el
modelo, más alejado se encuentra el modelo de un gusano en una agrupación; una medida
apropiada para la energı́a interna serı́a la proporción de pı́xeles de fondo que son cubiertos por
el modelo deformado. De esta manera, mientras mayor es la cantidad de pı́xeles de objeto que
son cubiertos, menor es el valor de la energı́a externa. Por lo tanto, dado un modelo M y la
funciones bg y f g que miden la cantidad de pı́xeles de fondo y de objeto que cubre el modelo,
respectivamente, se puede definir la energı́a externa para este problema de la siguiente forma:
Eext (M ) =
bg(M )
bg(M ) + f g(M )
Otra posibilidad consistirı́a en tomar en cuenta, únicamente, la cantidad de pı́xeles de fondo. Sin embargo, dada la variabilidad de la cantidad de pı́xeles que puede cubrir una silueta
de gusano, esta medida causarı́a a la energı́a externa ser muy variable de una silueta a otra.
La energı́a interna modela la resistencia de la silueta (modelo) a perder, a través de la
deformación, las caracterı́sticas que la hacen representar a la clase que modela, por ejemplo,
la clase de gusanos. Esto significa que, para el problema que aquı́ se aborda, la energı́a interna
modeları́a la resistencia de la silueta de gusano a ser deformada de manera tal que dejase de
ser representativa de un gusano. Como se explica en [11], la energı́a interna funciona como una
restricción de suavidad de los contornos del modelo y se formula explı́citamente (normalmente
en términos diferenciales). Sin embargo, en el enfoque propuesto en este trabajo, cada silueta
a deformar se genera a partir de un perfil de gusano ajustado a un descriptor de forma, por
lo que cada silueta generada pertenece inequı́vocamente a la clase de siluetas de gusano. Por
esta razón no es necesario incluir la energı́a interna en el funcional de energı́a.
Optimización
A través del proceso de optimización se desean obtener las conformaciones de gusanos factibles dentro de una agrupación de gusano. El enfoque general se basa en producir siluetas
genéricas a partir de los caminos del esqueleto que conectan puntos extremos de gusanos,
y deformarlas levemente de manera que se ajusten a la imagen lo mejor posible. Una vez
que se tiene un descriptor de formas basado en el esqueleto (sección 2.2.6), un método de
deformación de siluetas (sección 2.2.8) y una función objetivo que modele la distancia entre
las siluetas y la agrupación a ajustar (sección 2.2.8), sólo basta escoger un método de opti-
40
mización.
De acuerdo al enfoque que aquı́ se presenta, se puede utilizar cualquier método de optimización que permita minimizar la función objetivo que define la distancia entre formas de
gusanos, a partir de una solución factible inicial, que, a su vez, permite generar otras soluciones factibles a través de un método de deformación.
Dado lo rápido que se pueden calcular grandes conjuntos de deformaciones, de acuerdo al
enfoque presentado en la sección 2.2.8, se escogió una meta heurı́stica de búsqueda local como
método de optimización. El proceso en general consiste en obtener el mejor individuo de la
vecindad que mejore el valor del funcional de energı́a, hasta que la función sea minimizada.
La vecindad es calculada de la siguiente manera: Para una silueta determinada, se efectúan
cuatro deformaciones diferentes por cada punto control. Particularmente, dos en cada una
de las dos direcciones opuestas de la bisectriz del punto control. Existen entonces (N − 2) ∗ 4
deformaciones posibles (vecinos) por cada silueta 1 , donde N es el número de puntos de control. De esta manera, una vecindad consiste en deformaciones leves y ligeramente más fuertes
de una silueta de gusano para cada punto control. Los puntos de control que corresponden a
los extremos del esqueleto permanecen fijos.
Una vez que la mejor silueta es obtenida, se lleva a cabo un proceso de corrección de
contornos. Este proceso consiste en la expansión o contracción de determinadas secciones
del contorno de la silueta, para adaptarla al gusano real de la imagen. Esto es requerido
dado que la silueta optimizada es generada inicialmente siguiendo un perfil de gusano, el
cual representa la forma de los gusanos de una manera genérica, y por tanto no describe las
formas exactas de los gusanos en la imagen.
En este proceso, los puntos de contorno construidos a partir de los puntos de control son
empujados hacia puntos de contorno de la imagen, de acuerdo al mapa de distancias, ya sea
expandiéndolos o contrayéndolos. Cada posición nueva considerable para el punto contorno
debe poseer un valor en el mapa de distancia similar o menor al que poseı́a originalmente.
Selección de Conformaciones
Después que el proceso de optimización es llevado a cabo, se debe seleccionar un subconjunto de conformaciones por cada agrupación de gusano, que representará la asignación final
de conformaciones y por tanto la solución encontrada al final del proceso. El subconjunto
1
Los puntos de control que corresponden a los extremos permanecen fijos. Por eso el número de puntos
de control tomados en cuenta es N − 2
41
seleccionado debe maximizar la cantidad de puntos extremos cubiertos y minimizar la suma
de las energı́as finales de cada conformación (valor minimizado de la función objetivo).
Cada punto extremo debe corresponder como máximo a una conformación. De esta manera, a cada punto extremo le corresponde uno y sólo uno de los otros puntos extremos.
Por consiguiente, el subconjunto óptimo de conformaciones corresponderá a la asignación de
costo mı́nimo (energı́a de cada conformación) entre el conjunto de puntos extremos, por cada
agrupación de gusano.
Esta asignación puede resolverse con el problema de asignación de costo mı́nimo de un grafo
no-bipartito. Sin embargo, dada la complejidad de de este problema (NP-difı́cil) y su posible
sobrecarga en rendimiento en el caso de una implementación poco eficiente, se diseñó una
solución diferente, consistiendo en un algoritmo greedy iterativo. El algoritmo es aplicado a
subgrupos de agrupaciones de gusanos. Estos sub grupos están comprendidos, únicamente,
por puntos extremos conectados por caminos factibles. Los puntos extremos que pertenecen
a subgrupos serán llamados puntos conflictivos.
El algoritmo consiste en lo siguiente: Dado N puntos extremos conflictivos, se construye una
tabla de N xN en la que cada elemento de la tabla almacena el costo de la mejor conformación
que puede ser obtenida a partir de un camino de esqueleto entre cada par de puntos extremos.
Luego, para la fila de valores de un punto extremo inicial, se selecciona el mı́nimo valor y se
realiza una asignación entre el punto de la fila y correspondiente punto de la columna (siempre
puntos diferentes). A partir de aquı́, se elimina el resto de las conformaciones asociadas a
estos puntos extremos. Seguidamente, se repite el proceso entre las filas restantes hasta que
se ha asigando una conformación a cada fila, o hasta que no existan mas posibilidades,
momento en el cual se ha encontrado una asignación. Esta asignación es almacenada en
memoria, se reconstruye la tabla previa, y se repite el proceso nuevamente a partir de una
fila diferente, hasta que todas las filas han sido tomadas como filas iniciales. De todas las
soluciones encontradas en cada iteración, se escoge aquella que cubre el mayor número de
puntos extremos y que posee el menor valor acumulado de energı́a.
2.2.9.
Corrección Manual
Un proceso de corrección manual puede ser llevado a cabo para mejorar la efectividad de
la detección y ajuste de formas, permitiendo tanto agregar puntos extremos no identificados
como corregir conformaciones incorrectas.
42
Corrección de Puntos Extremos
Los puntos extremos de gusanos son detectados inicialmente a través de la identificación
de extremos del esqueleto de la imagen. Sin embargo, cuando el extremo de un gusano determinado se superpone con otra forma de gusano, la figura que describen se vuelve continua
en la imagen binaria, por lo que será descrito como un camino continuo en el esqueleto. De
ser ası́, el punto extremo no podrá ser detectado. Dado que el proceso de ajuste de formas
está fundamentado en los caminos encontrados entre puntos extremos de gusanos, el hecho
de obviar puntos extremos podrı́a afectar la efectividad de detección.
Los puntos extremos de gusanos pueden ser detectados fácilmente por el ojo humano, especialmente teniendo el esqueleto del grupo de gusanos. Por esta razón, los puntos obviados
pueden ser agregados rápidamente, a través de un proceso manual. El proceso consiste básicamente en observar los puntos que han sido agregados, inferir los puntos faltantes y agregarlos
manualmente, por ejemplo, pulsando con el ratón de computadora en el pixel de la imagen
que se muestra en la ventana de Endrov. Cuando un punto añadido posee más de un esqueleto
vecino, el usuario tendrá que remover el pixel adicional, para cumplir con la definición de
punto extremo.
En resumen, el usuario puede agregar los puntos extremos faltantes, seleccionando dicho
pixel. En algunos casos, tendrá que seleccionar un pixel vecino para desconectarlo de caminos
incorrectos.
Corrección de Conformaciones
En caso de que algunas de las conformaciones asignadas no sean correctas, la solución
puede corregirse de manera manual. Dado que en el proceso de optimización son calculadas
todas las posibles conformaciones entre pares de puntos extremos, la corrección de asignaciones incorrectas se reduce a seleccionar el par de puntos extremos correctos. Un usuario no
experimentado es capaz de reconocer las asignaciones incorrectas con facilidad, ası́ como los
puntos extremos que éstas conectan, por lo que el proceso tenderá a ser rápido.
CAPÍTULO 3
EXPERIMENTOS Y RESULTADOS
En este capı́tulo se presentan los diferentes experimentos llevados a cabo para probar
el rendimiento de la solución de detección y ajuste de formas desarrollada, explicando la
razón de su elección y los diferentes objetivos de las pruebas. Seguidamente, se presentan y
discuten los resultados obtenidos a partir de los experimentos, donde se indican las ventajas
e inconvenientes de la solución presentada.
3.1.
Experimentos
Con el objetivo de poner a prueba la solución implementada, se utilizaron tres imágenes
digitales de gusanos en medio lı́quido, provistas por Johan Henriksson, investigador del Departamento de Biociencias y Nutrición del Instituto Karolinska en Suecia.
A cada imagen le corresponde un nivel de dificultad diferente, asignado de acuerdo al número de gusanos y grado de solapamiento. Ası́, mientras mayor es la cantidad de gusanos en la
imagen, y mientras mayor es la cantidad de gusanos que se superponen, mayor es el nivel de
dificultad. El grado de solapamiento se determina por el número de gusanos que pertenecen
a las diferentes agrupaciones de gusanos, y por la cantidad de gusanos en la imagen.
Las imágenes seleccionadas fueron denominadas: imagen de prueba 1, imagen de prueba 2
e imagen de prueba 3, y se presentan en la Figura 3.1.
44
(a) Imagen de Prueba 1
(b) Imagen de Prueba 2
(c) Imagen de Prueba 3
Figura 3.1: Conjunto de imágenes de prueba
Las caracterı́sticas del conjunto de prueba se muestran en la tabla 3.1, donde las diferentes
pruebas aparecen en orden creciente de dificultad.
Tabla 3.1: Caracterı́sticas del conjunto de prueba
Imagen
Número de Gusanos Aislados
Número
de
Agrupaciones
Test 1
Test 2
Test 3
11/19 (57.8 %)
8/33 (24.2 %)
13/38 (34.2 %)
3
3
5
Número de Gusanos en Agrupaciones
8/19 (42.1 %)
25/33 (75.7 %)
25/38 (65.7 %)
Total de Gusanos
19
33
38
Por cada imagen de prueba se llevó a cabo una serie de experimentos, para analizar el
rendimiento de los diferentes procesos involucrados en la metodologı́a de la solución, en base
a la implementación desarrollada. El proceso global fue dividido en tres etapas que representan los pasos fundamentales de la metodologı́a: procesamiento inicial, detección y ajuste
automático de formas y correción manual.
La etapa de procesamiento inicial involucra todos los pasos de procesamiento de imágenes que son realizados antes del proceso de optimización, tales como: segmentación inicial,
transformación por distancia, skeletonization, agrupamiento de gusanos, detección de puntos
extremos y creación del perfil de gusanos. Entre estos, la transformación por distancia y la
skeletonization siguen algoritmos previamente analizados y probados, (ver Sec. 2.2.3 y Sec.
2.2.4) y producen resultados sencillos de probar, por lo que no hay necesidad de ahondar en
45
ellos. El proceso de segmentación y agrupamiento de gusanos, que se deriva del esqueleto de
la imagen, es igualmente sencillo. Por otro lado, los procesos de segmentación inicial por un
método del valor umbral, detección de puntos extremos y generación de perfiles dependen de
las caracterı́sticas de la imagen de entrada, por lo cual se llevaron a cabo diferentes experimentos para analizar su rendimiento.
La etapa de detección y ajuste de formas consiste en un serie de experimentos que tratan
del proceso automático de optimización para ajustar formas en agrupaciones de gusanos y
gusanos aislados. Estos experimentos buscan medir la eficacia en la detección y la eficiencia
en tiempo de diferentes variaciones del proceso de ajuste de formas, con el propósito de sacar
conclusiones más detalladas acerca de la eficacia del algoritmo y la factibilidad de la solución
automática.
La tercera etapa, corrección manual, tiene como objetivo medir el tipo y cantidad de correcciones manuales que deben ser llevadas a cabo por el usuario para corregir conformaciones
incorrectas, en cada imagen de prueba. Se analizan, ası́ mismo, las diferencias entre las diferentes conformaciones factibles por cada punto extremo, para obtener conclusiones acerca
de la sensibilidad del funcional de energı́a.
Los experimentos fueron ejecutados en una computadora personal de 2.00 Ghz AMD Turion, Procesador Mobile Dual-Core, 1MB cache y 3Gb de memoria RAM, bajo Linux, distribución Ubuntu, utilizando el software Endrov.
3.2.
Resultados
En esta sección se presentan y discuten los resultados obtenidos de los experimentos realizados. Los resultados son distribuidos en tres etapas de acuerdo a los experimentos llevados
a cabo: procesamiento inicial, detección y ajuste de formas y correción manual.
3.2.1.
Procesamiento Inicial
En esta sección se presentan los resultados para los siguientes procesos: segmentación inicial
y detección de puntos extremos. Seguidamente, se presenta una breve discusión sobre la
generación de perfiles de gusanos.
46
Segmentación Inicial (Método del Valor Umbral)
Como se explica en la Sec. 2.2.2, Endrov provee implementaciones para los siguientes MVU:
Fukunaga, máxima entropı́a, Otsu y percentil. Con la intención de determinar el método más
apropiado, se probaron los diferentes métodos con el conjunto de prueba. La prueba por
método consistió, básı́camente, en ajustar los parámetros de entrada hasta encontrar la mejor imagen binaria posible, a partir de cada imagen del conjunto de prueba. La determinación
de la calidad de cada imagen binaria se llevó a cabo a través de inspección visual. En la Figura A.5 presentada en el Apéndice A, se muestran las mejores imágenes binarias que se
obtuvieron a partir de la imagen de prueba 2, aplicando cada uno de los métodos mencionados anteriormente.
El método del valor umbral por percentil resultó ser el mejor para las tres imágenes del
conjunto de prueba, con gran diferencia sobre el resto de los métodos. Además, los mejores
valores de percentil por imagen resultaron bastante cercanos entre sı́, lo que indica la posible
factibilidad de ajustar un método de valor umbral automático para imágenes del mismo tipo,
que es susceptible de ser desarrollado en trabajos futuros. Los mejores valores de percentil
por imagen son mostrados en la Tabla. 3.2.
El método de Fukunaga produjo resultados aceptables a partir de la combinación de imágenes binarias generadas con diferentes número de clases (parámetro del método), sin embargo
requiere en general un ajuste más minucioso y produjo resultados menos precisos que el
método de percentil.
Tabla 3.2: Mejor valor de percentil para el conjunto de prueba
Percentil
Imagen 1
0.074
Imagen 2
0.1
Imagen 3
0.11
Los mejores valores de percentil oscilaron entre 0,074 y 0,11 y fueron sencillos de determinar
utilizando Endrov.
Detección de Puntos Extremos
La tabla 3.3 muestra el número de puntos extremos que fueron detectados automáticamente
y aquellos que se agregaron de forma manual, ası́ como el total de puntos extremos de gusanos
en la imagen.
47
Tabla 3.3: Detección y ajuste de puntos extremos de gusanos en el conjunto de prueba
Imagen
Imagen 1
Imagen 2
Imagen 3
Total de Puntos
Extremos
38
66
76
Puntos Detectados
38 (100 %)
53 (80 %)
57 (75 %)
Puntos Agregados Manualmente
0
13
19
Considerando la alta cantidad de gusanos que pertenecen a agrupaciones de gusanos para
la segunda y tercera imagen de prueba, y el bajo número de agrupaciones de gusanos (que
aumenta el riesgo de solapamiento), la cantidad de puntos extremos no detectados puede ser
considerada suficientemente baja, siendo ası́ factible agregarlos a mano.
Perfiles de Gusano
Para generar automáticamente un perfil de gusano preciso y representativo de los gusanos
de la imagen que se procesa, es necesario que haya presencia de gusanos aislados. El porcentaje de gusanos aislados para cada imagen del conjunto de prueba fue de 57,8 %, 24,2 % y
34,2 %, respectivamente, oscilando entre 8 y 13 gusanos por imagen, como se muestra en la
tabla 3.1.
Los perfiles de gusanos generados en cada imagen del conjunto de prueba, permitieron conducir exitosamente el proceso de optimización de ajuste de formas para el conjunto de prueba,
cuyos resultados son presentados en las subsecciones de nombre ajuste automático de formas,
mostradas más adelante.
3.2.2.
Detección y Ajuste de Formas
En esta sección se presentan los resultados de la segunda y tercera etapa general de la
metodologı́a de la solución, para cada imagen de prueba. Estas etapas consisten en la detección y ajuste automático de formas y en los procesos de corrección manual, tal como fueron
descritas en la Sec. 3.1.
En la sección de detección y ajuste automático de formas se presentan los resultados para
cuatro variantes del algoritmo de detección y ajuste de formas, diferenciando la precisión del
ajuste y el rendimiento en tiempo. Las dos variantes principales son denominadas: predicción
y multicamino.
48
Predicción, es una versión del algoritmo en la cual se toman en cuenta los caminos calculados a través del algoritmo de predicción de caminos, presentado en la Sec. 2.2.5. Los
caminos más probables que parten de cada punto extremo son favorecidos, disminuyendo por
un factor el valor de distancia de las conformaciones encontradas a partir de estos caminos,
de manera que aumente la probabilidad de ser escogidos en la asignación final. Por su parte,
la variante multicamino no favorece a los caminos inducidos por predicción, y toma en cuenta
todos los caminos posibles.
Cada variante es probada agregando y sin agregar los puntos extremos faltantes, lo que
constituye las cuatro variantes mencionadas inicialmente. El tiempo de ejecución que se muestra por cada variante corresponde al promedio de 500 corridas del algoritmo.
La sección de corrección manual presenta los resultados obtenidos al llevar a cabo la modificación manual de las conformaciones incorrectas. Por cada prueba, se muestran la imagen
resultante del ajuste automático, y la imagen resultante de la corrección, donde se resaltan
las conformaciones que fueron corregidas. Este proceso es llevado a cabo manualmente: el
usuario detecta una conformación incorrecta visualmente y, seguidamente, selecciona el par
de puntos extremos correctos para obtener la mejor conformación calculada a partir de un
camino que conecta dichos puntos, tal como se explica en la Sec. 2.2.9.
Una operación (de la forma en que se utiliza en las tablas de esta sección) se considera como
la acción de seleccionar dos puntos extremos y generar una nueva conformación.
Seguidamente, se presenta la sección optimización de energı́a, en la que se presenta y se
discute la distribución de los valores de energı́a para las diferentes conformaciones, por cada
imagen de prueba.
Detección y Ajuste Automático (Imagen de Prueba 1)
Dado que todos los puntos extremos de la imagen 1 son encontrados automáticamente,
como se muestra en la Tabla 3.3, sólo se presentan los resultados para las variantes multicamino y predicción, que incluyen todos los puntos extremos. La efectividad de detección y el
tiempo de corrida para estas variantes son presentadas en la Tabla 3.4.
Se puede observar que para ambas variantes los gusanos aislados fueron detectados en su
totalidad. Para la variante multicamino se ajustaron correctamente tres cuartos de los gusanos en agrupaciones. Por otro lado, la variante predicción permitió ajustar correctamente
todos los gusanos de la imagen, de forma automática. El tiempo de ejecución es ligeramente
mayor para la variante de predicción, como era de esperarse debido a los cálculos adicionales
49
Tabla 3.4: Resultados del ajuste automático de gusanos en la imagen 1
Variante
Gusanos aislados ajustados
Multicamino
Predicción
11/11 (100 %)
11/11 (100 %)
Gusanos ajustados en agrupaciones
6/8 (75 %)
8/8 (100 %)
Ajuste Total
17/19 (89.5 %)
19/19 (100 %)
Tiempo (s)
6.47
7.53
requeridos por el algoritmo de predicción de caminos.
Para la imagen 1, la variante predicción presentó una mejora considerable a la solución,
al inducir la selección de caminos más probables. Por otro lado, los gusanos aislados fueron
detectados en su totalidad, independientemente de la variante seguida. La asignación de
conformaciones de la variante predicción, para la imagen 1, es mostrada en la Fig. 3.2.
(a) Ajuste automático
(b) Ajuste automático superpuesto con
imagen original
Figura 3.2: Mejor ajuste automático en la imagen 1
Detección y Ajuste Automático (Imagen de Prueba 2)
En la tabla 3.5 se muestran los resultados del proceso de detección y ajuste automático de
formas, para la imagen 2.
Se puede observar que la totalidad de gusanos aislados fue detectada en cada variante.
Para las dos variantes con puntos extremos faltantes, sólo se pudo ajustar correctamente
alrededor de la mitad de los gusanos en la imagen. Aquı́ se evidencia el hecho de que la falta de un punto de extremo determinado hace imposible detectar el gusano al que corresponde.
50
Tabla 3.5: Resultados del ajuste automático de gusanos en la imagen 2, agregando y sin
agregar puntos extremos faltantes (pf)
Variante
Gusanos aisla- Gusanos ajus- Ajuste Total
Tiempo (s)
dos ajustados
tados en agrupaciones
Multicamino - pf 8/8 (100 %)
7/25 (28 %)
15/33 (45.4 %)
21.8
Predicción - pf
8/8 (100 %)
10/25 (40 %)
18/33 (54.5 %)
23.7
Multicamino + pf 8/8 (100 %)
15/23 (65.2 %) 23/33 (69.7 %)
42.3
Predicción + pf
8/8 (100 %)
21/25 (84 %)
29/33 (87.8 %)
45
Para las variantes que incluyen los puntos extremos, los resultados son considerablemente
superiores. Se puede observar que en las variantes de predicción mejora la precisión de detección, tanto cuando se incluyen los puntos extremos faltantes como cuando no se incluyen.
Ası́ mismo, el tiempo de ejecución aumenta cuando los puntos extremos son agregados, como
es de esperarse.
Para la variante de predicción el porcentaje de ajuste es considerablemente más alto que para
la variante de multicamino. En el mejor de los casos, el proceso automático permite ajustar
la forma de todos los gusanos aislados y un alto porcentaje de los gusanos que pertenecen a
agrupaciones (87,8 %), en menos de un minuto.
Correcion Manual (Imagen de Prueba 2)
La variante de predicción sin puntos faltantes dio los mejores resultados con sólo cuatro
gusanos aislados ajustados incorrectamente, sobre un total de treinta y tres. A través del
proceso manual se pudo corregir todas las conformaciones asignadas incorrectamente. De
esta manera se pudo detectar y ajustar la forma de todos los gusanos de la imagen.
En la figura A.1, presente en el Apéndice A se muestra una comparación de las conformaciones encontradas de manera automática y las conformaciones corregidas de forma manual.
Detección y Ajuste Automático (Imagen de Prueba 3)
Los resultados del proceso de detección y ajuste automático de formas en la imagen 3 son
presentados en la Tabla 3.6.
Los gusanos aislados fueron detectados en su totalidad. Para las variantes de predicción y
multicamino con puntos extremos faltantes, el porcentaje de detección se ubica alrededor de
51
Tabla 3.6: Resultados del ajuste automático de gusanos en la imagen 3, agregando y sin
agregar puntos extremos faltantes (pf)
Variante
Gusanos aisla- Gusanos ajus- Ajuste Total
Tiempo (s)
dos ajustados
tados en agrupaciones
Multicamino - pf 13/13 (100 %)
5/25 (20 %)
18/38 (47.3 %)
26.4
Predicción - pf
13/13 (100 %)
7/25 (28 %)
20/38 (52.6 %)
28.7
Multicamino + pf 13/13 (100 %)
13/25 (52 %)
26/38 (68.4 %)
36.2
Predicción + pf
13/13 (100 %)
16/25 (64 %)
29/38 (76.3 %)
39.8
la mitad de los gusanos la imagen. Por el contrario, en las variantes que incluyen los puntos
extremos faltantes, el nivel de precisión aumenta considerablemente. La variante de predicción
es siempre mejor que multicamino, aunque un poco más lenta. La mejor variante resultó ser
predicción sin puntos faltantes, alcanzando a ajustar correctamente todos los gusanos aislados
y un total de tres cuartos de la imagen total.
Corrección Manual (Imagen de Prueba 3)
La variante de predicción que incluye los puntos faltantes resultó ser la mejor, donde sólo
nueve gusanos fueron detectados incorrectamente sobre un total de treinta y ocho. Se requirieron nueve operaciones simples para corregir los gusanos ajustados incorrectamente. Todos
los gusanos en la imagen pudieron ser detectados y ajustados.
En la figura A.2, presente en el Apéndice A se muestra una comparación de las conformaciones encontradas de manera automática y las conformaciones corregidas de forma manual.
3.2.3.
Optimización de Energı́a
El valor de energı́a de una conformación determina su grado de precisión con respecto a
la figura. Tal como se describe en la Sec. 2.2.8, la función de energı́a evalúa la distancia
entre formas como el porcentaje de pı́xeles de fondo que están contenidos en la silueta que
se ajusta, por lo que todos los posibles valores de energı́a están contenidos en el intervalo [0, 1].
En la Figura 3.3 se muestran los valores de energı́a para las mejores tres conformaciones
por cada punto extremo de gusano, para cada imagen del conjunto de prueba. La primera
corresponde a la conformación correcta y ajusta el gusano de la imagen. Las siguientes dos
corresponden a las mejores conformaciones entre puntos extremos incorrectos. Estas últimas
dos serán denominadas primera conformación incorrecta y segunda conformación incorrecta,
52
respectivamente.
Imagen de Prueba 1
Para la mayorı́a de los puntos extremos la conformación correcta tiene el menor valor de
energı́a. En solo dos casos, existe una conformación incorrecta que tiene un valor de energı́a
menor. La segunda conformación incorrecta posee siempre un valor de energı́a mayor que la
conformación correcta.
Imagen de Prueba 2
Se puede observar que la segunda conformación incorrecta (en verde) es, en todos los casos,
bastante peor que la conformación correcta. Por esto, la conformación correcta corresponde
siempre a la mejor o a la segunda mejor conformación encontrada, en términos de energı́a, de
todas las posibles. Para esta imagen, solo en cuatro de veintinueve puntos extremos se sitúa
a la primera conformación incorrecta (en rojo) con un mejor valor de energı́a que la correcta
(en azul). Esto coincide con los resultados mostrados en la Tabla 3.6, donde, para la mejor
variante automática, la cantidad de gusanos ajustados correctamente fue de veintinueve, sobre
un total de treinta y tres, indicando error en cuatro puntos extremos (la misma cantidad de
puntos en los cuales la conformación correcta no tuvo el mejor valor de energı́a). Ası́ mismo, la
diferencia de energı́a entre la conformación correcta y la primera incorrecta, para estos cuatro
puntos, es lo suficientemente pequeña para pensar que una función objetivo más sensitiva
podrı́a permitir calcular la conformación correcta en todos los casos, de manera automática.
Imagen de Prueba 3
Sólo para nueve de los veintidós puntos extremos, la primera conformación incorrecta resultó tener un mejor valor que la conformación correcta. Esto coincide con los resultados
presentados en la Tabla 3.6, donde, para la mejor variante, la cantidad de gusanos detectados incorrectamente fue también de nueve, análogamente al caso anterior. Para cada punto
extremo, con la excepción de uno, la segunda conformación incorrecta presenta un valor de
energı́a menor a la conformación correcta. Por lo que la conformación correcta se encuentra
siempre entre las mejores dos. .Dado que la cantidad de gusanos que pertenecen a agrupaciones de gusanos es alta (25), la probabilidad de conformaciones incorrectas aumenta. Las
diferencias entre la conformaciones correctas y las seleccionadas para estos casos son estrechas (al igual que para la imagen 2 ), por lo que una función objetivo más sofisticada podrı́a
conducir a mejores resultados.
53
0.020
Valor Funcional de Energ'ia
correcta
primera_incorrecta
segunda_incorrecta
0.015
0.010
0.005
0.000
1
2
3
4
5
6
7
8
9
Puntos Extremos
(a) Imagen 1
correcta
primera_incorrecta
segunda_incorrecta
Valor Funcional de Energia
0.04
0.03
0.02
0.01
0.00
1
2
3
4
5
6
7
8
9 10
12
14
16
18
20
22
24
26
28
Punto Extremo
(b) Imagen 2
0.020
Valor Funcional de Energia
correcta
primera_incorrecta
segunda_incorrecta
0.015
0.010
0.005
0.000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Punto Extremo
(c) Imagen 3
Figura 3.3: Valor de energı́a de las mejores tres conformaciones por punto extremo en el
conjunto de prueba. Los puntos extremos corresponden a gusanos en agrupaciones con más
de dos conformaciones posibles
54
Conclusiones y Trabajos Futuros
En este capı́tulo se presentan las conclusiones sobre el enfoque metodológico provisto y sobre
los resultados de la solución implementada. Seguidamente, se presentan algunas sugerencias
de trabajo futuro, indicando las modificaciones que pueden llevarse a cabo para mejorar la
solución.
Conclusiones
La metodologı́a propuesta provee un enfoque semi-automático para detectar y ajustar la
forma de gusanos individuales en imágenes de microscopio. Esto permite convertir las imágenes de los gusanos en información manipulable y medible por computadora. La metodologı́a
es lo suficientemente general para ajustarse a diferentes tipos de imágenes y especies de gusanos, ası́ como diferentes enfoques de implementación por etapa.
El algoritmo desarrollado, que se deriva de la implementación provista, es lo suficientemente
eficaz como para proveer la detección de la totalidad de los gusanos en corto tiempo utilizando una computadora personal, mejorando ası́ mismo el tiempo requerido y la precisión
de la detección manual. Este estudio constituye uno de los primeros trabajos que trata la
detección de gusanos en imágenes individuales (solo se conoce otro estudio, descrito en [16],
que fue desarrollado al mismo tiempo) y el primero que permite que detectar la totalidad de
los gusanos en las imágenes.
Se dice que la solución es semi-automática por la necesidad de realizar ajustes manuales
en dos etapas del proceso: detección de puntos extremos y ajuste final de formas. Una vez
que los puntos extremos son completamente identificados, la parte automática de la solución
provee un alto porcentaje de acierto (más de tres cuartas partes del total de los gusanos,
en el peor caso), que puede incluso ser de 100 % en imágenes fáciles, que son aquellas con
baja densidad de gusanos y baja cantidad de solapamientos (como se explica en la sección
3.1). El proceso de ajuste manual de conformaciones permite al usuario corregir las fallas de
detección de la solución automática, proveyendo ası́ un ajuste óptimo o total.
La solución implementada fue integrada con éxito a Endrov como extensión, y está siendo
utilizada en este momento en los laboratorios del Departamento de Biociencias y Nutrición
del Instituto Karolinska, en Flemingsberg, Suecia.
La solución implementada provee la detección completa de todos los gusanos aislados, a
través de un proceso automático y sin requerir adición manual de puntos extremos o correc-
55
ción de ajuste. A partir de los gusanos aislados se puede calcular exitosamente un perfil de
los gusanos en la imagen.
La detección y ajuste de formas de gusanos en agrupaciones representó el proceso más desafiante de la metodologı́a. Una alta densidad de gusanos lleva a múltiples solapamientos y a
la creación de agrupaciones, donde algunos de los puntos extremos pueden no ser detectados.
Algunos gusanos no se pueden detectar correctamente si hay puntos extremos faltantes, por
lo que requieren ajustes manuales.
La forma de gusanos aislados puede ser descrita con precisión en todos los casos. Las
formas ajustadas en agrupaciones de gusanos representan en todos los casos de una forma
muy precisa a los gusanos reales en la imagen.
La heurı́stica de predicción de caminos permite mejorar considerablemente la efectividad
de detección y ajuste del proceso automático. Debido a que las agrupaciones de gusanos
proveen una gran cantidad de caminos posibles entre pares de puntos extremos, la predicción
de caminos se convierte en una herramienta útil para determinar los caminos más probables
que parten de cada punto extremo. Sin embargo, dada la naturaleza altamente deformable
de las formas de gusanos, la heurı́stica falla en ocasiones en determinar el camino correcto
para algunos puntos extremos.
El proceso de optimización permite reducir considerablemente la diferencia entre la silueta
genérica construida en base al descriptor de forma y la imagen, a través de la deformación.
El enfoque de búsqueda local para el método de optimización resultó ser efectivo y rápido en
la obtención de ajustes precisos. La eficacia de la búsqueda local reside en el hecho de que
la silueta original es construida sobre un camino del esqueleto, y dado que éste tiende al eje
medio de los objetos en la imagen, la silueta tiende a estar situada cerca de un gusano real
en la imagen.
La función objetivo, formulada en términos de energı́a, es lo suficientemente expresiva para
posicionar la conformación correcta entre las dos mejores conformaciones posibles por punto
extremo, para el conjunto de prueba utilizado en este trabajo. Las conformaciones correctas
que parten de los puntos extremos detectados en las imágenes de prueba, resultan tener, en
la mayorı́a de los casos, el menor valor de energı́a entre todas las conformaciones posibles por
punto extremo, conduciendo por lo tanto a un ajuste correcto. Sin embargo, las dos mejores
conformaciones tienden a estar muy cerca la una de la otra, en términos de energı́a, lo que
lleva a errores de ajuste. Esto hace que la función objetivo no sea lo suficientemente expresiva
como para proveer un ajuste automático perfecto en imágenes difı́ciles, que son aquellas con
56
alta densidad de gusanos y presencia de multiples solapamientos.
Trabajos Futuros
A continuación, se presentan una serie de sugerencias de trabajos futuros para mejorar la
solución provista en este estudio.
Función de Energı́a
Una función de energı́a más sofisticada podrı́a permitir obtener diferencias más grandes
entre las conformaciones optimizadas, conduciendo a un porcentaje de detección más alto.
Una posible formulación podrı́a consistir en utilizar el mapa de distancias para evaluar la
cercanı́a de la silueta que se deforma a contornos en la imagen, y empujarla hacia ellos. Los
pı́xeles de fondo (de valor 0 en el mapa de distancia) tendrı́an que ser penalizados de cierta
forma, y deberá buscar un equilibrio de distancias en la suma total del área de la silueta.
Detección de Puntos Extremos
Dado que la detección de puntos extremos juega un papel fundamental en el proceso de
detección, una técnica más elaborada para la identificación de puntos extremos permitirı́a
mejorar la eficiencia de la solución automática, reduciendo o eliminando la necesidad de agregar puntos manualmente.
Una forma de encontrar puntos extremos faltantes podrı́a consistir en sacar provecho de la
búsqueda informada que efectúa el algoritmo de predicción de caminos. La idea consistirı́a
en trazar caminos a partir de los puntos extremos, hasta alcanzar un longitud de camino fija,
e.g. la longitud estimada de los gusanos en la imagen. Una vez que se alcanzara este punto,
si no se han encontrado puntos extremos, se agregarı́a uno en esta posición. Este enfoque
tiene el problema de que se pueden agregar puntos extremos incorrectos. En vista de esto, se
podrı́a ejecutar inicialmente el algoritmo de ajuste de formas para tener un visión previa del
área que ha sido cubierta, y seguidamente, llevar a cabo un búsqueda de puntos extremos
posibles en las áreas de la imagen que no fueron cubiertas.
Otra solución es la de considerar las intersecciones entre los caminos del esqueleto como
posibles puntos extremos, y realizar un análisis más profundo sobre la factibilidad de estos
puntos y de las conformaciones obtenibles a partir de estos.
57
Seguimiento de Movimiento de Gusanos
Una vez que los gusanos en la imagen son detectados por completo, se tiene información
acerca de su posición y tamaño, y ası́ mismo es posible calcular información adicional tal como
la rotación del gusano y la posición de la cabeza y la cola. Este tipo de información podrı́a
ser muy valiosa para los algoritmos de seguimiento de movimiento de gusanos en imágenes,
y otros enfoques basados en análisis simultáneo de grandes conjuntos de datos (tales como
aquellos que son cubiertos en [4]), para detectar gusanos en agrupaciones.
Desarrollo Actual
Actualmente, el autor de este trabajo y el estudiante de Doctorado Johan Henriksson,
están trabajando en la automatización de la solución provista, ası́ como en el refinamiento
de la implementación. Recientemente se consiguió reducir el tiempo de detección automática
en más del triple, al refinar el algoritmo de predicción de caminos y reducir la cantidad de
conformaciones generadas.
Por otro lado, se está utilizando la implementación integrada a Endrov del rasterizador de
polı́gonos y descriptor general de formas para desarrollar un algoritmo de rastreo de peces
en video.
Bibliografı́a
[1] Carlo Arcelli and Gabriella Sanniti di Baja. Ridge points in euclidean distance maps.
Pattern Recognition Letters, 13:237–243, 1992.
[2] Carlo Arcelli and Gabriella Sanniti di Baja. Euclidean skeleton via centre-of-maximaldisc extraction. Image and Vision Computing, 11:163–173, 1993.
[3] Gunilla Borgefors. Distance transformation in digital images. Computer Vision, Graphics and Image Processing, 34:344–371, 1986.
[4] Steven D. Buckingham and David B. Sattelle. Strategies for automated analysis of C.
elegans locomotion. Invert Neurosci, 8:121–131, 2008.
[5] Roland T. Chin and Hong-Khoon Wan. A one-pass thinning algorithm and its parallel
implementation. Computer Vision, Graphics and Image Processing, 40:30–40, 1987.
[6] Pedro F. Felzenszwalb and Daniel P. Huttenlocher. Distance transforms of sampled
functions. Cornell Computing and Information Science Technical Report, 2004.
[7] Johan Henriksson. Endrov. http://www.endrov.net/index.php?title=About, 2010.
[8] Schafer WR Huang K-M, Cosman P. Automated detection and analysis of foraging
behavior in caenorhabditis elegans. J Neurosci Methods, 2008.
[9] Rolf Lakamper Longin Jan Latecki and Ulrich Eckhardt. Shape descriptors for non-rigid
shapes with a single closed contour. Computer Vision, 1:424–429, 2000.
[10] Xiang Bai Longin Jan Latecki, Quan-nan Li. Skeletonization using ssm of the distance
transform. Technical report, Temple University, Philadelphia, USA, HuaZhong University of Science, and Technology, Wuhan, China, 2007.
[11] Andrew Witkin Michael Kass and Demetri Terzopoulos. Snakes: Active contour models.
International Journal of Computer Vision, pages 321–333, 1988.
59
[12] Akram Aldroubi Michael Unser and Murray Eden. B-spline signal processing: Part itheory. IEEE Transactions on Signal Processing, 41:821–832, 1993.
[13] Hans Theornquist Mihail Ivanchev and Anubis. Software rendering school, part iii:
Triangle rasterization. http://www.devmaster.net/articles/software-rendering/
part3.php, 2004.
[14] Bryan S. Morse. Shape description (regions). http://homepages.inf.ed.ac.uk/rbf/
CVonline/ LOCAL COPIES/MORSE/region-props-and-moments.pdf.
[15] P.E.Trahanias. Binary shape recognition using the morphological skeleton transform.
Pattern Recognition, 25:1277–1288, 1992.
[16] Tammy Riklin Raviv, V.Ljosa, A.L. Conery, F.M.Ausubel, A.E. Carpenter, P. Golland,
and C. Waehlby. Morphology-guided graph search for untangling objects: C.elegans
analysis. Springer-Verlag Berlin Heidelberg 2010, 2010.
[17] Matthew Baker Sasakthi Abeysinghe, Tao Ju and Wah Chiu. Shape modeling and
matching identifying 3d protein structures. Computer-Aided Design, 40:708–720, 2008.
[18] Mehmet Sezgin and Bulent Sankur. Survey over image thresholding techniques and
quantitative performance evaluation. Journal of Electronic Imaging, 13:146–165, 2004.
[19] Linda G. Shapiro and George C. Stockman. Computer Vision. Prentice Hall, 2002.
[20] Frank Y. Shih and Christopher C.PU. A skeletonization algorithm by maxima tracking
on euclidean distance transform. Pattern Recognition, 28:331, 1994.
[21] Frank Y. Shih and Christopher C. Pu. A skeletonization algorithm by maxima tracking
on euclidean distance transform. Pattern Recognition, 28:331–341, 1995.
[22] Alexandru Telea and Jarke J. van Wijk. Shape descriptors for non-rigid shapes with a
single closed contour. In EUROGRAPHICS - IEEE TCVG Symposium on Visualization,
2002.
[23] C.J.Taylor T.F.Cootes, D.H.Cooper and J.Graham. A trainable method of parametric
shape description. Computer Vision, 5:237–252, 2009.
[24] Marcel Luthi Thomas Albrecht and Thomas Vetter.
Deformable models.
http://gravis.cs.unibas.ch/publications/CH Deformable Models09.pdf.
[25] Remco C. Veltkamp. Shape matching: Similarity measures and algorithms. Dept. Computing Science, Utrecht University.
60
[26] Remco C. Veltkamp and Michiel Hagedoorn. State-of-the-art in shape matching. Principles of visual information retrieval.-(Advances in pattern recognition), 2:87–112, 2001.
[27] Carolina Waehlby, Tammy Riklin-Raviv, Annie L. Conery Vebjorn Ljosa, Polinga Golland, Frederick M.Ausubel, and Anne E. Carpenter. Resolving clustered worms via probabilistic shape models. ISBI: International Symposium on Biomedical Imaging 2010,
2010.
[28] Wikipedia. Topological skeleton. http://en.wikipedia.org/wiki/
Topological skeleton.
[29] Wikipedia. Endrov. http://en.wikipedia.org/wiki/Endrov, 2010.
[30] Wikipedia.
High throughput screening.
High-throughput_screening, October 2010.
[31] Wikipedia.
Spline (mathematics).
(mathematics), 2010.
http://en.wikipedia.org/wiki/
http://en.wikipedia.org/wiki/Spline_
[32] Wikipedia. Thresholding (image processing).
Thresholding_(image_processing), June 2010.
http://en.wikipedia.org/wiki/
[33] Frank Y.Shih and Yi-Ta Wu. Fast euclidean distance transformation in two scans using
a 3 x 3 neihborhood. Computer Vision and Image Understanding, 93:195–205, 2002.
[34] T.Y. Zhang and C.Y. Suen. A fast parallel algorithm for thinning digital patterns. Image
Processing and Computer Vision, 27:235–239, 1984.
Apéndice A
Imágenes adicionales obtenidas a través de la solución
implementada
Esta sección del apéndice presenta un conjunto de imágenes que fueron obtenidas en algunos de los procesos intermedios de la metodologı́a de la solución, al aplicar el algoritmo
implementado a imagenes de prueba.
A.1.
Ajuste de Formas y Corrección Manual
Las figura A.1 y A.2 muestran el resultado del proceso de ajuste de formas sobre imágenes
de gusanos en cultivo lı́quido. En particular, estas imágenes corresponde, respectivamente,
a las imágenes de prueba 2 y 3 utilizadas en los experimentos de el presente trabajo (ver
Capı́tulo 3). En cada caso se presenta la imagen original, seguida de la imagen obtenida a
través del proceso ajuste de formas automático, donde se indica en color las formas detectadas
incorrectamente. Se presenta también la imagen obtenida despues de realizar la corrección
manual, donde ahora las formas en color representan las conformaciones corregidas, y por
último se muestra una imagen que superpone el ajuste despues de correcciones manuales con
la imagen original.
A.2.
Transformada de Distancia
La Figura A.3 muestra una imagen binaria de un gusano en medio lı́quido y tres mapas de
distancia obtenidos a partir de dicha imagen binaria.
62
A.3.
Esqueleto Topológico de Gusanos
La Figura A.4 presenta el esqueleto topológico obtenido para un imagen que de gusanos
en cultivo lı́quido a través de la implementación del proceso de skeletonization descrito en la
Sección 2.2.4 de este trabajo.
A.4.
Método del Valor Umbral
La Figura A.5 presenta las mejores imágenes binarias que pudieron obtenerse a través
de los métodos del valor umbral Fukunaga, máxima entropı́a, Otsu y percentil, a partir de
una imagen de gusanos en medio lı́quido (correspondiente a la imagen de prueba 2, como
fué definida en el Capı́tulo 3).
63
(a) Imagen de prueba 2. Original
(b) Ajuste automático
(c) Ajuste automático y manual
(d) Ajuste automático y manual superpuesto con imagen original
Figura A.1: Mejor ajuste automático y corrección manual para la imagen A.1a. Las formas
y contornos en color en imágenes A.1b y A.1c indican gusanos detectados incorrectamente
64
(a) Imagen de prueba 3. Original
(c) Ajuste automático y manual
(b) Ajuste automático
(d) Ajuste automático y manual superpuesto con imagen original
Figura A.2: Mejor ajuste automático y corrección manual para la imagen A.2a. Las formas
y contornos en color en imágenes A.2b y A.2c indican gusanos detectados incorrectamente
65
(a) Imagen Binaria
(b) Distancia de Manhattan
(c) Distancia de tablero de ajedrez
(d) Distancia Euclidiana
Figura A.3: Imagen binaria y tres mapas de distancia utilizando diferentes métricas, a partir
de la imagen de un gusano
66
Figura A.4: Esqueleto topológico de una imagen de gusanos en cultivo lı́quido
67
(a) Imagen original
(b) Imagen binaria superpuesta con original. Método máxima entropı́a
(c) Imagen binaria superpuesta con original.
Método otsu
(d) Imagen binaria superpuesta con original. Método fukunaga con 3 clases
(e) Imagen binaria superpuesta con original.
Método percentil con un valor de 0.1
Figura A.5: Diferentes métodos del valor umbra aplicados a una imagen de gusanos en medio
lı́quido
Descargar