PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA MODELO HEURÍSTICO PARA LA DETERMINACIÓN DE LA MOTILIDAD EN CÉLULAS ESPERMÁTICAS MEDIANTE EL ANÁLISIS AUTOMÁTICO DE TRACKING EN VIDEO Tesis para optar el Título de Ingeniero Informático, que presenta el bachiller: Diego Alonso Gárate Polar ASESOR: Cesar Beltrán Castañón Lima, febrero de 2015 RESUMEN Hoy en día, con el avance progresivo de la tecnología y la introducción de nuevas tecnicas computacionales ha cambiado la forma de trabajar de los medicos. Este es el caso de los andrólogos quienes tienen a su cargo la importante tarea de ayudar a las parejas a tartar problemas en sus sistemas reproductores con la finalidad de permitirles concebir un hijo, para lo que se require en la mayoria de casos un análisis de fertilidad. Actualmente la forma más usada para realizar este análisis es el método de inspección directa el cual es un procedimiento inexacto, subjetivo, no repetible y difícil de enseñar. El análisis de la motilidad espermática es una parte importante en el análisis de fertilidad y al mismo tiempo es un buen ejemplo del problema de seguimiento a múltiples objetos y video vigilancia desde el punto de vista computacional. El presente proyecto de fin de carrera presenta una solución ante la necesidad de realizar un seguimiento a cada una de las células espermáticas, llamado tracking, la solución planteada pone en práctica técnicas de visión computacional y además propone un modelo heurístico basado en dirección de movimiento y distancia euclidiana para realizar el seguimiento de espermatozoides en videos obtenidos a partir del simulador de células espermáticas también desarrollado en el presente proyecto. El proyecto inicia con el desarrollo de un simulador de células espermáticas, para luego realizar la obtención de muestras de dicho simulador, seguidamente se desarrolló y aplicó un algoritmo para la detección de células espermáticas que fueron usadas como datos de entrada para el algoritmo de Optical Flow así como para la heurística propuesta en el presente trabajo, por último se realizó un estudio estadístico donde se concluye que la heurística propuesta por este proyecto es más eficaz que el algoritmo de Optical Flow. Dedicado a mi padre Luis Alberto Gárate Chavez y a mi Madre Blanca María Polar Esperilla, por orar por mi, por tener la paciencia de escuchar mis quejas, por estar siempre pendientes de mis necesidad y por su arduo trabajo a favor de sus hijos sin recibir nada a cambio. A mis hermanos Luis Alberto Gárate Polar y Sebastian Gárate Polar por sus constantes criticas constructivas y por la competitividad propia entre hermanos que desarrollaron en mi. A mis siempre amigos Alfonso Barriga, Marcelo Martínez, Claudio de Jesús y Miguel Torres por acompañarme en las mas locas ideas y en las fantasticas experiencias que nos brindo la universidad. AGRADECIMIENTOS Al proyecto de infertilidad liderado por Rosario Medina, a mi asesor y líder del Grupo de Reconocimiento de Patrones e Inteligencia Artificial Aplicada el Dr. César Beltrán Castañón por permitirme formar parte del grupo y por aconsejarme durante el desarrollo de todo el proyecto. Este trabajo ha sido desarrollado bajo el contrato 208-FINCyT-IA-2013 del Grupo de Reconocimiento de Patrones e Inteligencia Artificial Aplicada (GRPIAA). Índice General CAPÍTULO 1: GENERALIDADES ____________________________________ 1 1.1 PROBLEMÁTICA ____________________________________________________ 1 1.2 OBJETIVOS _______________________________________________________ 3 1.2.1 OBJETIVO GENERAL_________________________________________________ 3 1.2.2 OBJETIVOS ESPECÍFICOS _____________________________________________ 3 1.2.3 RESULTADOS ESPERADOS ____________________________________________ 4 1.3 JUSTIFICATIVA _____________________________________________________ 5 1.3.1 ALCANCE Y LIMITACIONES ____________________________________________ 5 1.3.2 VIABILIDAD _______________________________________________________ 5 CAPÍTULO 2: MARCO CONCEPTUAL Y ESTADO DEL ARTE _____________ 7 2.1 MARCO CONCEPTUAL _______________________________________________ 7 2.1.1 INFERTILIDAD MASCULINA ____________________________________________ 7 2.1.2 ANÁLISIS DE SEMEN. ________________________________________________ 8 2.1.3 MOTILIDAD ESPERMÁTICA ____________________________________________ 9 2.1.4 VISIÓN COMPUTACIONAL ____________________________________________ 10 2.1.5 PROCESAMIENTO DE IMÁGENES _______________________________________ 11 2.1.6 EROSIÓN ________________________________________________________ 11 2.1.7 DILATACIÓN ______________________________________________________ 12 2.1.8 SEGUIMIENTO (“TRACKING”) __________________________________________ 12 2.2 ESTADO DEL ARTE _________________________________________________ 13 2.2.1 ANÁLISIS DE SEMEN ASISTIDO POR COMPUTADORA (CASA) __________________ 14 2.2.2 DIFERENCIA ENTRE IMÁGENES ________________________________________ 16 2.2.3 ALGORITMO DE FILTRO DE PARTÍCULAS Y TRANSFORMACIÓN DIVISORIA __________ 17 2.2.4 ALGORITMO DE LA LUCIÉRNAGA APLICADO AL SEGUIMIENTO DE ESPERMATOZOIDES _ 18 CAPÍTULO 3: SIMULACIÓN Y DETECCIÓN DE CÉLULAS ESPERMATICAS 21 3.1 SIMULACIÓN DE ESPERMATOZOIDES ____________________________________ 21 3.1.1 HERRAMIENTAS DE DESARROLLO ______________________________________ 21 3.1.2 IMPLEMENTACIÓN DEL SIMULADOR _____________________________________ 22 3.2 DETECCIÓN DE ESPERMATOZOIDES ____________________________________ 24 3.2.1 PRE-PROCESAMIENTO ______________________________________________ 25 3.2.2 DETECCIÓN DE CONTORNO Y OBTENCIÓN DE CENTROS DE MASA _______________ 25 CAPÍTULO 4: MODELO HEURÍSTICO PARA REALIZAR EL SEGUIMIENTO DE CÉLULAS ESPERMÁTICAS ____________________________________ 28 4.1 MODELO HEURÍSTICO BASADO EN DIRECCIÓN DE MOVIMIENTO ________________ 28 4.1.1 FUNCIÓN HEURÍSTICA_______________________________________________ 28 4.2 ESTIMACIÓN DE MOTILIDAD ESPERMÁTICA _______________________________ 29 CAPÍTULO 5: RESULTADOS Y DISCUSIÓN __________________________ 31 5.1 ANÁLISIS COMPARATIVO ENTRE HEURÍSTICA PROPUESTA Y OPTICAL FLOW _______ 31 5.1.1 CONFIGURACIÓN DE PARÁMETROS DEL ALGORITMO OPTICAL FLOW. ____________ 31 5.1.2 VALORES DE MOTILIDAD ESPERMÁTICA __________________________________ 32 5.1.3 TÉCNICAS PARA LA COMPARACIÓN DE RESULTADOS ________________________ 33 CAPÍTULO 6: CONSIDERACIONES FINALES. _________________________ 38 6.1 CONCLUSIONES ___________________________________________________ 38 6.2 RECOMENDACIONES Y TRABAJO FUTURO ________________________________ 38 REFERENCIAS BIBLIOGRÁFICAS __________________________________ 40 Índice de Figuras FIGURA 2.1 REPRESENTACIÓN GRÁFICA DE LOS PARÁMETROS DE MOTILIDAD ................... 10 FIGURA 2.2 ESQUEMA GENERAL DE LA VISIÓN COMPUTACIONAL ...................................... 11 FIGURA 2.3 ESQUEMA GENERAL DEL PROCESAMIENTO DE IMÁGENES ............................... 11 FIGURA 2.4 SECUENCIA DE OPERADORES ...................................................................... 14 FIGURA 2.5 TRAYECTORIA DE LOS ESPERMATOZOIDES .................................................. 14 FIGURA 2.6 PARÁMETROS DE MOTILIDAD ....................................................................... 15 FIGURA 2.7 AJUSTE ESPERMA-ELIPSE ........................................................................... 15 FIGURA 2.8 DIAGRAMA DE FLUJO PROPUESTO POR CHEN, XI .......................................... 16 FIGURA 2.9 MODELO PROPUESTO POR ABBIRAMY .......................................................... 17 FIGURA 2.10 MODELO PROPUESTO POR RAVANDFAR Y MORADI.. .................................... 17 FIGURA 2.11 MODELO PROPUESTO DE MING LIANG ET. AL. . ........................................... 18 FIGURA 2.12 RESUMEN DEL ESTADO DEL ARTE .............................................................. 19 FIGURA 3.1 MOVIMIENTO LINEAL DE UN ESPERMATOZOIDE EN EL SIMULADOR ................... 22 FIGURA 3.2 MOVIMIENTO SINUSOIDAL DE UN ESPERMATOZOIDE EN EL SIMULADOR .......... 23 FIGURA 3.3 MOVIMIENTO CIRCULAR DE UN ESPERMATOZOIDE EN EL SIMULADOR .............. 23 FIGURA 3.4 VARIABLES UTILIZADAS PARA LA SIMULACIÓN ................................................ 23 FIGURA 3.5 CAPTURA DE PANTALLA DEL SIMULADOR EN ACCIÓN CON 17 CÉLULAS ............ 24 FIGURA 3.6 MODELO PROPUESTO PARA ELIMINACIÓN DE RUIDO ...................................... 25 FIGURA 3.7 APLICACIÓN DEL ALGORITMO DE PRE-PROCESAMIENTO A UN FRAME DE LA MUESTRA. ............................................................................................................ 26 FIGURA 3.8 DETECCIÓN DE CONTORNOS ...................................................................... 27 FIGURA 3.9 DETERMINACIÓN DE CENTROS DE MASA ....................................................... 27 FIGURA 5.1 TRAYECTORIAS HALLADAS MEDIANTE OPTICAL FLOW. ................................... 32 FIGURA 5.2 TRAYECTORIAS HALLADAS MEDIANTE EL MODELO HEURÍSTICA PROPUESTO. ... 32 FIGURA 5.3 PRUEBA DE NORMALIDAD KOLMOGOROV-SMIRNOV ....................................... 35 FIGURA 5.4 HISTOGRAMA DE LA MUESTRA DE OPTICAL FLOW .......................................... 35 FIGURA 5.5 HISTOGRAMA DE LA MUESTRA DEL MODELO HEURÍSTICO ............................... 35 FIGURA 5.6 PRUEBA ANOVA DEL MODELO HEURÍSTICO ................................................. 36 FIGURA 5.7 PRUEBA ANOVA DEL ALGORITMO OPTICAL FLOW ........................................ 36 FIGURA 5.8 PRUEBA DEL ESTADÍSTICO T-STUDENT PARA COMPARACIÓN DE MEDIAS POBLACIONALES ................................................................................................... 37 Índice de Tablas TABLA 2.1 RELACIÓN ENTRE OBJETIVOS ESPECÍFICOS Y CAPÍTULOS DONDE SE DESARROLLAN .................................................................................................................... 20 TABLA 5.1 CLASIFICACIÓN OBTENIDA SEGÚN ALGORITMO UTILIZADO ................................ 33 TABLA 5.2 PORCENTAJES SEGÚN GRADO DE MOTILIDAD PARA UNA MUESTRA CON 30 CÉLULAS APROXIMADAMENTE.. .............................................................................. 34 1 1. CAPÍTULO 1: GENERALIDADES En este capítulo se presentan la sección de problemática, objetivos y justificación del presente proyecto de tesis. 1.1 Problemática Para la Organización Mundial de la Salud (OMS) y el Comité Internacional para el Monitoreo de Tecnologías de Reproducción Asistida (ICMART) la infertilidad es una enfermedad del sistema reproductivo definida como la falla de concebir un embarazo clínico después de 12 meses o más de tener relaciones sexuales sin protección (Zegers-Hochschild, Adamson et al. 2009). Bajo esta definición se han realizado estudios acerca de las causas que provocan la infertilidad en los hombres, uno de ellos es el estudio realizado por los Doctores Dubin L. y Amelar RD, del departamento de Urología en el Centro Medico de la Universidad de Nueva York, dando como resultado una lista de factores y enfermedades que provocan infertilidad como: el bajo volumen seminal, Varicocele, baja calidad espermática, problemas eyaculatorios, niveles bajos de Gonadotropina, síndrome adrenogenital, problemas tiroideos, problemas sexuales, obstrucción epididimal, ausencia del conducto deferente, daños testiculares como el síndrome de Klinefelter, Azoospermia, necrospermia, elevada densidad espermática, elevada viscosidad en el líquido seminal entre otras (Dubin and Amelar 1971). Las enfermedades con mayor número de incidencia son la Varicocele, el síndrome de Klinefelter y la Azoospermia (Dubin and Amelar 1971), definidas por la Biblioteca Nacional de Medicina de los EE.UU y la Organización Mundial de la Salud (OMS) como (WHO 1999, Wampler and Llanes 2010): • Varicocele: Es una dilatación de las venas a lo largo del cordón que sostiene los testículos de un hombre, causada por la obstrucción de las válvulas dentro de las venas a lo largo de cordón espermático. Los síntomas más comunes son venas agrandadas y retorcidas en el escroto, tumor testicular indoloro e inflamación del saco testicular. La detección se hace mediante una examinación del escroto y los testículos. 2 • Síndrome de Klinefelter: Es la presencia de un cromosoma ‘X’ extra en un hombre, la mayoría de personas tiene 46 cromosomas de los cuales 2 determinan la sexualidad del feto ‘XX’ para las mujeres y ‘XY’ para los hombres este síndrome se presenta cuando un varón nace con un cromosoma ‘X’ extra, ‘XXY’. Los síntomas más usuales son la infertilidad, testículos pequeños y firmes y estatura alta. La detección se hace mediante un examen de Cariotipado y exámenes de sangre. • Azoospermia: Es la ausencia de espermas en la eyaculación, la azoospermia se detecta mediante un análisis de semen que permite medir la cantidad y calidad del semen y de los espermatozoides de un hombre. Este análisis también conocido como espermograma evalúa varios aspectos tales como: Espesura, acidez, contenido de azúcar, resistencia al flujo, motilidad, número y estructura de los espermatozoides, volumen del semen. En las últimas décadas varios reportes han sugerido que la calidad del semen en los hombres se ha visto reducida (Irvine 1994). Investigaciones realizadas por Carlesn et al. dieron como resultado una reducción en el conteo de espermatozoides y una disminución en el volumen de líquido seminal en los últimos 50 años (Carlsen, Giwercman et al. 1992). Estos estudios han sido confirmados por Auger dando como resultado una disminución del 2.1% anual en el conteo de espermas y una reducción del 0.6% por año en la motilidad espermática (Auger, Kunstmann et al. 1995). En un análisis de la motilidad espermática se observa la trayectoria seguida por un espermatozoide y la velocidad con la que se realiza el movimiento, con el objetivo de clasificar a cada célula espermática en cuatro grados de motilidad: A, B, C y D, los cuales se describen en el marco conceptual, si se cuenta con ayuda de un sistema computacional o en tres grados de motilidad: Progresiva, No progresiva e Inmóvil si no se cuenta con ayuda computacional (WHO 2010). Este análisis es una parte importante en el análisis del semen y al mismo tiempo es un buen ejemplo del problema de seguimiento a múltiples objetos y video vigilancia desde el punto de vista computacional (Savkay and Yalcin 2012). Actualmente la forma más usada para realizar este análisis es el método de inspección directa basado en observaciones de las muestras espermáticas a través del microscopio, este método es bastante subjetivo lo que provoca diferentes resultados, de un especialista a otro (Carrillo, 3 Villarreal et al. 2007). Según Katz estos tipos de procedimientos son inexactos, subjetivos, no repetibles y difíciles de enseñar (Katz, Overstreet et al. 1986). En el área de la visión computacional uno de los problemas fundamentales es la detección de regiones u objetos de interés en una imagen o secuencia de imágenes así como el seguimiento de dichas regiones u objetos (Shell, Arora et al. 2010, Yoshinaga, Shimada et al. 2014). Bajo este contexto se han investigado diversos métodos que proponen solucionar el problema del seguimiento a células espermática, alguno investigadores emplean modelos heurístico como el propuesto por (Abbiramy, Shanthi et al. 2010) el cual utiliza propiedades como el área, la posición y el perímetro. Otros investigadores aplican técnicas meta-heurísticas como el filtro de partículas (Ravanfar and Moradi 2011) o el algoritmo de la luciérnaga (Ming-Liang, Xiao-Hai et al. 2013) ambos con la misma finalidad, realizar el seguimiento de células espermáticas. 1.2 Objetivos A continuación se presentan los objetivos generales y específicos de la presente tesis de graduación. 1.2.1 Objetivo General Proponer y evaluar un modelo heurístico para determinar la posición y la velocidad de células espermáticas que permita mejorar el cálculo de su trayectoria en secuencias de video a fin de hallar el grado de motilidad de las células espermáticas, que constituye parte del espermograma en el análisis de fertilidad masculina. 1.2.2 Objetivos específicos Los objetivos específicos son: 1. Implementar un simulador de movimiento de células espermáticas. El cual permite generar información objetiva y precisa acerca del grado de motilidad a la que pertenece. 2. Obtener un conjunto de videos a partir del simulador. Este conjunto de videos representó la muestra con la cual se evaluó el modelo propuesto. 4 3. Desarrollar un proceso algorítmico que detecte las células espermáticas en los diferentes frames de las secuencias de video. Lo que permitió determinar puntos característicos de cada célula para su seguimiento. 4. Proponer un modelo heurístico para determinar la dirección de células espermáticas en secuencias de video. 5. Evaluar el desempeño del modelo heurístico propuesto. 1.2.3 Resultados Esperados Los resultados esperados son: a) OE1: Simulador de células espermáticas que brinde información del grado de motilidad de cada una de las células simuladas. b) OE2: Contar con un mínimo de treinta videos estandarizados que conformen la muestra requerida para el análisis. Cada uno de los videos debe tener entre quince y treinta células espermáticas y un documento que informe acerca del grado de motilidad de cada célula presente en dicho video. c) OE3: Obtención de un algoritmo de detección de células espermáticas que consiga ejecutarse sobre cada frame de la secuencia de video, de manera que al final estos frames segmentados sirvan como entrada para el proceso de tracking. d) OE4: Obtención de un modelo heurístico aplicable al problema de seguimiento de células espermáticas y obtención de las trayectorias de los espermatozoides. e) OE5: Cuadro comparativo que muestre los resultados obtenidos de los algoritmos desarrollados en cuanto a eficacia. 5 1.3 Justificativa 1.3.1 Alcance y Limitaciones Para el alcance del presente proyecto se determinó la elaboración de un algoritmo heurístico que logre detectar, seguir y realizar un análisis de motilidad en células espermáticas artificiales utilizando técnicas y métodos del área de la visión computacional con ayuda del procesamiento de imágenes. Dado que el proyecto es una investigación aplicada, inicialmente los experimentos serán desarrollados con videos sintéticos de espermatozoides en un ambiente artificial y parametrizable, este ambiente artificial nos permitirá variar la cantidad y el movimiento de las células espermáticas para representar diversos escenarios que acontecen en el mundo físico. Por otro lado, el resultado final será un simulador de espermatozoides, un modelo heurístico para el seguimiento de células espermáticas y la comparación con el algoritmo trivial de Optical Flow. El presente proyecto está limitado a elaborar una solución desde el punto de vista del área de visión computacional y procesamiento de imágenes mediante una investigación aplicada y solamente para muestras obtenidas de manera artificial. 1.3.2 Viabilidad Modelar una heurística para el seguimiento de espermatozoides que permita apoyar en el análisis de motilidad en células espermáticas contribuirá en mejorar la precisión obtenida al realizar el análisis de semen en hombres. Adicionalmente, la investigación es conveniente porque muestra como técnicas computacionales permiten mejorar procesos médicos. El presente proyecto de fin de carrera ha sido limitado en complejidad y extensión con la finalidad de poder ser culminado antes del mes de diciembre del año 2014. 6 Como resultado se obtuvieron cuatro tareas mayores, las cuales se realizarán a razón de una por mes a partir de agosto, a continuación se indica un resumen de dichas actividades: • Implementar un simulador de células espermáticas. • Desarrollar un algoritmo para la detección de células espermáticas. • Proponer un modelo heurístico para determinar la trayectoria de las células espermáticas. • Realizar la evaluación del modelo heurístico propuesto. El presente trabajo es parte de un proyecto mayor, el cual está siendo financiado por el FINCyT (Fondo para la innovación, Ciencia y Tecnología) y cuenta con un presupuesto fijo por lo cual la investigación no presentará problemas económicos de mayor envergadura. 7 2. CAPÍTULO 2: MARCO CONCEPTUAL Y ESTADO DEL ARTE En el presente capítulo se describen conceptos claves, los cuales ayudarán a entender la problemática así como comprender mejor la solución que se plantea. 2.1 Marco Conceptual El objetivo del presente marco conceptual es la descripción de los conceptos y teorías asociadas al problema que permitan comprender la solución que se plantea a dicha problemática en el presente trabajo de fin de carrera. 2.1.1 Infertilidad Masculina La infertilidad es una enfermedad del sistema reproductivo definida como la imposibilidad de concebir un embarazo clínico después de 12 meses o más de tener relaciones sexuales sin protección y se clasificada en dos categoría: la infertilidad primaria y la infertilidad secundaria (WHO 2012). • La infertilidad primaria se refiere a las parejas que nunca han podido quedar embarazadas. • La infertilidad secundaria se refiere a las parejas que han quedado embarazadas alguna vez, pero no tiene la capacidad de quedar embarazadas después. Esta enfermedad puede ser causada por diversos factores tanto físicos como emocionales y deberse tanto al hombre como a la mujer. En concreto este proyecto trabajará sobre la infertilidad debido al hombre, que puede deberse a: • Una disminución en el conteo de espermatozoides. • Espermatozoides que no funcionan adecuadamente. • Espermatozoides que resultan bloqueados y no pueden ser liberados. Los exámenes para determinar la infertilidad masculina pueden ser: 8 • Biopsia testicular. • Examen de testículos y pene. • Ecografía de los genitales masculinos. • Exámenes de sangre con el fin de verificar niveles hormonales. • Análisis de semen. 2.1.2 Análisis de Semen. El semen es un líquido espeso y blanco liberado durante la eyaculación masculina y que contiene espermatozoides, el análisis de semen es un examen para medir la cantidad y calidad de este líquido y de los espermatozoides de un hombre (WHO 1999). Una muestra de semen se puede recoger durante la masturbación, en un recipiente estéril o durante una relación sexual, usando un condón especial suministrado por un médico. El examen debe realizarse dentro de las dos horas de recolectada la muestra, cuanto más rápido se realice el examen más confiables serán los resultados. En el examen se evalúan los siguientes aspectos (WHO 1999): • La forma de solidificarse y regresar a estado líquido del semen. • Espesura, acidez y contenido de azúcar. • Resistencia al flujo (viscosidad). • Cantidad de espermatozoides. • Volumen del semen. • Vitalidad de los espermatozoides. • Morfología de los espermatozoides. • Movimiento de los espermatozoides. A continuación se presentan algunos valores normales según el libro del Dr. Wein, experto en urología (Wein 2011): • El volumen normal varía entre 1.5 y 5.0 mililitros por eyaculación. 9 • El conteo de espermatozoides tiene un rango de 20 a 150 millones por mililitro. • Por lo menos un 60% de los espermatozoides deben tener una forma normal y mostrar una motilidad adecuada (movimiento hacia delante). Los ejemplos anteriores muestran mediciones comunes para los resultados de la prueba, pero estos pueden variar debido al laboratorio que ejecute el análisis. 2.1.3 Motilidad Espermática La motilidad espermática estudia, identifica y clasifica los espermatozoides presentes en una eyaculación. La clasificación de la motilidad espermática es hecha según el movimiento realizado por los espermatozoides resultando cuatro clases (Savkay and Yalcin 2012): • Clase A o 1: Espermatozoides con un movimiento progresivo, veloz, fuerte y en línea recta. También llamada Motilidad I. • Clase B o 2: Espermatozoides con un movimiento no lineal, tienden a ir hacia delante pero con una trayectoria curvilínea. También llamada Motilidad II. • Clase C o 3: Espermatozoides con un movimiento no progresivo, se observa movimiento pero sin desplazamiento. También llamada Motilidad III. • Clase D o 4: Espermatozoides sin movimiento alguno (espermatozoides muertos). También llamada Motilidad IV. La motilidad espermática puede ser medida de acuerdo a los siguientes parámetros (Boryshpolets, Kowalski et al. 2013): • Velocidad curvilínea (VCL). • Velocidad promedio recorrida (VAP). • Velocidad línea recta (VSL). • Linealidad (LIN) 10 Figura 2.1 Representación gráfica de los parámetros de motilidad Extraído de http://www.fertilityindia.com 2.1.4 Visión Computacional Visión computacional es la ciencia y tecnología de hacer máquinas que vean. Se ocupa de la teoría, el diseño y la implementación de algoritmos que puedan procesar datos visuales automáticamente con el fin de reconocer objetos, realizar el seguimiento de objetos, realizar la reconstrucción de sombras y formas entre otros (Koenderink 2010). Esta ciencia incluye métodos para la adquisición, procesamiento y análisis de imágenes del mundo real con la finalidad de producir información relevante (Stockman and Shapiro 2001). El objetivo de la visión computacional es la extracción de características de una imagen que nos permita describirla e interpretarla por la computadora (Sucar 2008). Por ejemplo: • Determinar la localización y tipo de objetos en una imagen. • Construir una representación tridimensional de un objeto. • Determinar la calidad de un objeto. 11 • Descomponer imágenes en regiones u objetos importantes. Figura 2.2 Esquema general de la visión computacional Fuente: Visión Computacional (Sucar 2008) 2.1.5 Procesamiento de imágenes El procesamiento de imágenes aunque tiene mucho en común con la visión computacional tiene un objetivo diferente. El objetivo del procesamiento de imágenes es mejorar la calidad de las imágenes para su posterior utilización o interpretación (Sucar 2008). Por ejemplo: • Remover defectos también conocido como ruido en las imágenes • Remover problemas por movimiento o desenfoque • Mejorar criterios de color, contraste, estructura, etc. Figura 2.3 Esquema general del procesamiento de imágenes Fuente: Visión Computacional (Sucar 2008) El procesamiento de imágenes es una secuencia de operaciones computacionales que transforma una o más imágenes recibidas como datos de entrada y devuelve una o más imágenes como datos de salida un ejemplo de estas operaciones son la erosión y la dilatación (Corke 2011). 2.1.6 Erosión Dados dos conjuntos  y  definidos en , la erosión de la imagen A dada por la estructura B se define como: 12 ⊖  = |  ⊆  Esta operación encoge o adelgaza objetos en la imagen A de forma controlado por la estructura B (Gonzalez and Woods 2006). 2.1.7 Dilatación Dados dos conjuntos  y  definidos en , la dilatación de la imagen A dada por la estructura B se define como: ⊕  = | [ ⋂  ] ⊆  Esta operación engrosa a los objetos en la imagen A de forma controlado por la estructura B (Gonzalez and Woods 2006). 2.1.8 Seguimiento (“Tracking”) En el desarrollo de aplicaciones de visión computacional es común encontrar la necesidad de seguir objetos móviles mediante una cámara fija como en aplicaciones de video vigilancia, esto se hace a partir de un algoritmo de seguimiento que permite establecer la trayectoria de un objeto en una escena de video (Ocaña and Calderon 2012). Para el análisis de la motilidad espermática que se desarrolló en este proyecto se aplicaron técnicas de tracking que serán definidas en el siguiente capítulo. 2.1.9 Modelo Heurístico Un modelo heurístico es un conjunto de pasos que permiten llegar a una solución de alta calidad para un problema dado (Baar, Brucker et al. 1999). También se define a los modelos heurísticos como las estrategias que utilizan información fácilmente accesible para la resolución de problemas sin llegar a una solución óptima, pero si suficientemente aceptable (Pearl 1984). El presente proyecto propone un modelo heurístico que permita calcular la trayectoria seguida por una célula espermática. 2.1.10 Optical Flow usando la estimación del método de Lucas-Kanade El flujo óptico es el movimiento evidente generado por la traslación del objeto o de la 13 cámara en dos cuadros distintos de una secuencia de imágenes (Lucas and Kanade 1981). Este método trabaja bajo los siguientes supuestos: • La intensidad de los pixeles de un objeto no cambian entre imágenes consecutivas • El área que rodea a cada uno de los pixeles tiene un movimiento similar. Considerando un pixel  , ,  en una primera imagen se va a mover una distancia ,  en un tiempo  donde se captura otra imagen y dada los supuestos previos tenemos que:  , ,  =   + ,  + ,  +  Donde   + ℎ ≅   + ℎ ∗ ""#   para cada una de las dimensiones Lucas y Kanade proponen analizar un vecindario de 9 pixeles (3x3) lo que determina una matriz de la forma:  $  $ … …  &  & ∗ " "# " "' = − $ … − & Los autores proponen aplicar el método de mínimos cuadrados para obtener la solución a dicho conjunto de ecuaciones (Lucas and Kanade 1981). 2.2 Estado del arte En el presente capítulo se exponen las diversas soluciones que se han desarrollado y/o investigado academicamente para dar solución a la problemática expuesta en el primer capítulo. El objetivo de esta revisión es conocer más acerca de las diversas herramientas que se vienen desarrollando o han sido desarrolladas con el objetivo de determinar la infertilidad masculina a partir del análisis de semen haciendo un enfasis en la motilidad espermática. 14 2.2.1 Análisis de Semen Asistido por Computadora (CASA) Los primeros sistemas para el análisis de semen fueron creados en los años 80 basados en procesadores de señales muy costosos en esa época por lo cual eran pocas las clínicas que podían comprar estos sistemas. Gracias a los avances tecnológicos en computación y a la disminución de costos más de estos sistemas se fueron desarrollando (Chaudhari and Pawar 2013). A continuación se exponen las tecnologías usadas en estos sistemas. En el 2002 el investigador Lukasz Witkowski de Polonia desarrollo un sistema CASA aplicando la secuencia de operadores observadas en la Figura 2.4: Figura 2.4 Secuencia de Operadores Imagen extraída de (Witkowski 2002) Luego obtiene los centroides de los objetos en el tiempo y une dichos puntos para graficar la trayectoria de los espermatozoides como se muestra en la Figura 2.5. Figura 2.5 Trayectoria de los Espermatozoides Imagen extraída de (Witkowski 2002) 15 Luego a partir de las trayectorias se definían los parámetros de la motilidad espermática (Witkowski 2002). Figura 2.6 Parámetros de motilidad Imagen extraída de (Witkowski 2002) MATLAB es un ambiente interactivo para el procesamiento numérico, visualización y programación de alto nivel. Con esta herramienta se puede analizar información, desarrollar algoritmos y crear aplicaciones (MathWorks 2014). Entre sus herramientas encontramos una de procesamiento de imágenes con la que se desarrollaron varios sistemas CASA como el propuesto por Nafisi, Moradi et. al. para realizar el seguimiento de espermatozoides en esta herramienta usando algoritmos de detección de elipses (Nafisi, Moradi et al. 2007). Figura 2.7 Ajuste esperma-elipse Imagen extraída de (Nafisi, Moradi et al. 2007) El trabajo realizado por Xi Chen et. al. utiliza funciones de esta librería como la de filtro Gaussiano, operadores morfológicos, detección de contornos entre otros para la elaboración de un sistema CASA (Qiaoliang, Xi et al. 2012). 16 Figura 2.8 Diagrama de flujo propuesto por Chen, Xi. Imagen traducida de (Qiaoliang, Xi et al. 2012) 2.2.2 Diferencia entre imágenes En el año 2010 Abbiramy propone realizar el seguimiento de espermatozoides mediante el uso de propiedades como el área, la posición y el perímetro (Abbiramy, Shanthi et al. 2010). Dicho algoritmo propone transformar cada uno de los cuadros del video en una imagen, realizar un pre-procesamiento de las imágenes aplicando el filtro laplaciano y remover ruidos en la imagen mediante un filtro de mediana, identificar los espermatozoides y sus propiedades, separar cada imagen en cuadrantes, etiquetar cada uno de los espermatozoides obtenidos en los cuadrantes incluyendo sus propiedades, comparar los espermatozoides en la imagen actual con los de la imagen anterior en el mismo cuadrante, si se encuentran las mismas propiedades entre dos espermatozoides se calcula la distancia y velocidad de dicho espermatozoide, en caso de no encontrar ninguna coincidencia se asume que el espermatozoide ha desaparecido o ha ingresado en el campo visual, en la Figura 2.10 se muestra el modelo propuesto por Abbiramy (Abbiramy, Shanthi et al. 2010). 17 Figura 2.9 Modelo propuesto por Abbiramy Imagen traducida de (Abbiramy, Shanthi et al. 2010). 2.2.3 Algoritmo de filtro de partículas y transformación divisoria Primero se realizó un pre procesamiento de las imágenes en el cual se realiza un filtro morfológico lo que implica la eliminación de todas aquellas áreas que sean mayores al tamaño promedio de un espermatozoide, a continuación se realiza una sustracción de fondo dejando solamente a los espermatozoides para ser seleccionado mediante el mouse (Ravanfar and Moradi 2011). La solución propuesta por (Ravanfar and Moradi 2011) se muestra en la Figura 2.11. Figura 2.10 Modelo propuesto por Ravandfar y Moradi. Imagen traducida de (Ravanfar and Moradi 2011). Después de haberse seleccionado a los espermatozoides se utilizó el algoritmo de transformación divisoria propuesto por (Qing, Xiaoli et al. 2004), para que una vez 18 seleccionados los espermatozoides que se van a analizar estos sean etiquetados apropiadamente y poder distinguirlos en las etapas siguientes. Una vez etiquetado cada uno de los espermatozoides se utilizó el algoritmo de filtro de partículas según (Kelly and Boland 2006), que sirve para predecir la siguiente posición de cada uno de los espermatozoides identificados. 2.2.4 Algoritmo de la luciérnaga aplicado al seguimiento de espermatozoides La solución al problema de la detección de espermatozoides investigada por (Ming- Liang, Xiao-Hai et al. 2013) utiliza el algoritmo de la luciérnaga propuesto por (Yang 2009), para optimizar la función de similitud correspondiente al coeficiente de Bhattacharyya el cual determinar la igualdad entre dos histogramas, en este caso histogramas de color espacial. El autor modela el problema de dos formas distintas: (i) modelo de movimiento y (ii) modelo de observación. El primero es una representación vectorial de 5 dimensiones, el segundo es una representación simplificada en 3 dimensiones. En la Figura 2.12 se muestra la arquitectura propuesta por Ming-Liang et.al. Figura 2.11 Modelo propuesto de Ming Liang et. al. Imagen traducida de (Ming-Liang, Xiao-Hai et al. 2013). La revisión del estado del arte revela que existe una amplia variedad de herramientas tanto de código abierto como de software propietario los cuales han sido utilizados 19 para el desarrollo de diferentes sistemas CASA. Asimismo se observa también la utilización de diversos algoritmos para la detección de espermatozoides así como para realizar el seguimiento de los mismos desarrollados en los últimos años. Se puede observar también que todos los algoritmos descritos arriba incluyen una fase de detección utilizan diversos métodos para el realce de las imágenes así como para la remoción de ruido en las mismas, los métodos usados son filtros laplaciano, filtros de mediana y filtros morfológicos. Esta observación conlleva a pensar que una parte importante para la solución de la problemática expuesta en este proyecto de investigación es la utilización de filtros que permitan realzar y reducir el ruido en las imágenes. En la Figura 2.12 se muestran las herramientas y los algoritmos utilizados para resolver el problema del seguimiento a células espermáticas expuestos en este capítulo y se muestra en un cuadro con borde rojo el lugar que ocupa la propuesta de esta tesis. Figura 2.12 Resumen del Estado del Arte Elaboración propia 20 En la Tabla 2.1 Se especifica el Capítulo donde se ha desarrollo cada objetivo específico del presente trabajo de tesis. Tabla 2.1 Relación entre objetivos específicos y Capítulos donde se desarrollan Objetivo Específico Capítulo 1. Implementar un simulador de movimiento de células espermáticas. Capítulo 3: simulación y detección de células espermáticas 2. Obtener un conjunto de videos a partir del simulador. Capítulo 3: simulación y detección de células espermáticas 3. Desarrollar un proceso algorítmico que detecte las células espermáticas en los diferentes frames de las secuencias de video. Capítulo 3: simulación y detección de células espermáticas 4. Proponer un modelo heurístico para determinar la dirección de células espermáticas en secuencias de video. Capítulo 4: Modelo heurístico para realizar el seguimiento de células espermáticas 5. Evaluar el desempeño del modelo heurístico propuesto. Capítulo 5: Resultados y discusión 21 3. CAPÍTULO 3: SIMULACIÓN Y DETECCIÓN DE CÉLULAS ESPERMÁTICAS El presente capítulo se divide en dos secciones, por un lado se describe el proceso seguido para lograr la simulación del movimiento de los espermatozoides. Por otro lado, se presenta el proceso realizado para la detección de las cabezas de cada una de las células espermáticas y la definición de un punto característico para cada una de ellas. 3.1 Simulación de espermatozoides En esta sección se presentan las herramientas técnicas que se utilizaron para la implementación del simulador. Asimismo, se explican los detalles de las funciones de movimiento implementadas en el simulador. 3.1.1 Herramientas de desarrollo En el proceso de implementación del simulador se utilizaron herramientas que pertenecen al grupo de software libre así como herramientas que pertenecen al grupo de software propietario. A continuación se describen cada una de las herramientas utilizadas. • XAMPP: es una distribución libre y gratuita de Apache la cual además contiene componentes como MySQL, PHP y Perl. En el presente proyecto se utilizó el servidor web de Apache para poder ejecutar el código del simulador (Apache 2014). • D3.js: es una librería gratuita y de código abierto que permite la manipulación de datos con la finalidad de mejorar la visualización de la información. En el presente proyecto se utilizado esta librería para representar gráficamente a los espermatozoides (Bostock 2014). 22 • Open Broadcaster Software: es un software de código abierto y gratuito que realiza las tareas de captura de video y transmisión en vivo. Para el proyecto se utilizó este software para la extracción de los videos generados por el simulador (BroadcasterSoftware 2014). • Idoo Video Editor Pro: es un software propietario que permite editar videos con funciones como recortar, rotar, agregar efectos especiales entre otras. Se utilizó esta herramienta con la finalidad de estandarizar los videos obtenidos en cantidad de marcos y duración (IdooVideo 2014). 3.1.2 Implementación del simulador A continuación se presentan los detalles de la implementación del simulador. En primer lugar se presentan las funciones de movimiento en sus tres categorías. En segundo lugar se detalla el algoritmo implementado para la simulación de espermatozoides. 3.1.2.1 Funciones de movimiento Se determinó empíricamente, mediante la observación de quince videos obtenidos mediante microscopio, que los espermatozoides en el líquido seminal presentan movimientos particulares, los cuales se pueden clasificar en tres categorías: movimiento lineal Figura 3.1, movimiento sinusoidal Figura 3.2 y movimiento circular Figura 3.3. A continuación se describen las funciones de movimiento de cada uno de los movimientos. • Movimiento Lineal: )*,+*  ),  -# ∗  , +,  -' ∗  Figura 3.1 Movimiento lineal de un espermatozoide en el simulador Elaboración propia • Movimiento Sinusoidal: )*,+*  ),  -# ∗  , +,  sin )* ∗ 1 ∗  23 Figura 3.2 Movimiento Sinusoidal de un espermatozoide en el simulador Elaboración propia • Movimiento Circular: )*,+*  ),  cos -# ∗  ∗ 1 ∗  , +,  sin-' ∗  ∗ 1 ∗  Figura 3.3 Movimiento Circular de un espermatozoide en el simulador Elaboración propia Donde )*,+* es la posición del espermatozoide en un tiempo , ), e +, se refieren a la posición inicial en la que aparecieron los espermatozoides,  representa la amplitud de los movimientos oscilatorios y 1 la frecuencia de onda. 3.1.2.2 Construcción del simulador Para el desarrollo del simulador se definió una clase por cada tipo de movimiento analizado: lineal, sinusoidal y circular. Cada clase cuenta con las variables que se observan en la Figura 3.4. Figura 3.4 Variables utilizadas para la simulación 24 Las variables utilizadas en la implementación son similares a las descritas en el acápite anterior, cabe resaltar que se añadieron las variables: “espermasLineales”, “espermasSinusoidales” y “espermasCirculares; Las cuales representan la cantidad de células espermáticas a simular lo que permitió la parametrización del algoritmo. Asimismo la variable “longitudCola” representa a la cantidad de píxeles que forman la cola del espermatozoide a simular, esta última con la finalidad de asemejar el resultado del simulador a muestras reales. En el Anexo 1: Simulador se encuentra el código fuente implementado para realizar las simulaciones. En la Figura 3.5 se puede observar una captura de pantalla de la ejecución del simulador. Figura 3.5 Captura de pantalla del simulador en acción con 17 células Elaboración propia 3.2 Detección de Espermatozoides En esta sección se presentan las técnicas que se utilizaron para la detección de los espermatozoides en los videos generados por el simulador descrito en la sección anterior. Las técnicas descritas a seguir fueron implementadas en C++ usando la librería OpenCV sobre Visual Studio. 25 Primero, se describe el algoritmo de pre-procesamiento de las imágenes. Luego, se presenta la función para la detección de contornos y finalmente el proceso de obtención de centros de masa de los espermatozoides. 3.2.1 Pre-procesamiento Se determinó una fase de pre-procesamiento para cada una de las imágenes que conforman la muestra de video a ser analizada, esto debido a la necesidad de eliminar el ruido en las imágenes. Los ruidos eliminados en esta fase de pre-procesamiento fueron las colas y las piezas medias de los espermatozoides, debido a que el análisis de motilidad evalúa la trayectoria a partir de la cabeza y no de la cola ni la pieza media (Savkay and Yalcin 2012). Para conseguir una imagen libre de ruidos se utilizó la función threshold de la librería OpenCV con un valor de entrada de 127, previa conversión a escala de grises de la imagen y posteriormente el operador morfológico de erosión el cual elimina las colas y piezas medias de la imagen. En la Figura 3.7 se puede observar el diagrama de flujo utilizado para la fase de pre-procesamiento y en el Anexo 2 se incluye el código fuente de la implementación del algoritmo de pre-procesamiento y detección. Figura 3.6 Modelo propuesto para eliminación de ruido Elaboración propia 3.2.2 Detección de contorno y obtención de centros de masa En la Figura 3.7, se puede observar el resultado del pre-procesamiento descrito anteriormente, las imágenes resultantes de dicho proceso se utilizaron para: (i) la detección de contornos y (ii) obtención de centros de masa; Los cuales representan un punto característico de las células espermáticas. Para tal fin se utilizó la función findContours incluida en la librería OpenCV la cual implementa el algoritmo descrito por Suzuki y Be en 1985 (Suzuki and be 1985) y utilizó como entrada la imagen 26 obtenida del pre-procesamiento. Luego se aplicó el método descrito a continuación para obtener los centros de masa de cada contorno detectado. Figura 3.7 Aplicación del algoritmo de pre-procesamiento a un frame de la muestra. Elaboración propia • Detección de centros de masa en imágenes usando el teorema de Green El centro de masa es un punto fijo representativo en el estudio de la geometría, más aun el centro de masa de una figura geométrica puede ser calculado usando el teorema de Green (Chaumette 2004). Dado 4  ∬ 6 ,  7 donde M representa la masa de la figura y cuyo centro de masa es representado por: )8 = ∬# 9 #,' ": ; e +8 = ∬ ' 9 #,' ": ; Estas fórmulas pueden ser representadas en imágenes como: <=> =? ,  => Donde  ,  representa el valor de la imagen en el punto ,  , usando las formulas presentadas anteriormente podemos calcular el centro de masa en imágenes de la siguiente manera: )8 = @AB@BB e +8 = @BA @BB (a) Imagen original (b) Imagen pre-procesada 27 En la Figura 3.8 se puede observar los contornos detectados y en la Figura 3.9 podemos ver el centro de masa de cada espermatozoide representado por un círculo con radio de cinco pixeles. Figura 3.8 Detección de contornos Elaboración Propia Figura 3.9 Determinación de centros de masa Elaboración propia 28 4. CAPÍTULO 4: MODELO HEURÍSTICO PARA REALIZAR EL SEGUIMIENTO DE CÉLULAS ESPERMÁTICAS El presente capítulo se divide en dos secciones, por un lado se propone un modelo heurístico basado en dirección de movimiento para determinar la trayectoria de una célula espermática. Por otro lado, se muestra el método de estimación utilizado para determinar la motilidad espermática y hallar el grado de motilidad correspondiente. 4.1 Modelo Heurístico basado en dirección de movimiento A continuación se presentan los detalles del modelo heurístico propuesto basado en dirección de movimiento y distancia Euclidiana. En primer lugar, se detalla la función heurística del algoritmo y su implementación. Por último, se presenta la estimación utilizada para clasificar a las células espermáticas en los cuatro grados de motilidad descritos en el Capítulo 2. 4.1.1 Función heurística Seguidamente se presenta la función heurística basada en dirección de movimiento y distancia euclidiana, para ello se plantearon las siguientes funciones: • Distancia Euclidiana:  ,  = C  −   +  −   • Angulo de movimiento: D :EFG,HIFG = JKLM$  ∗ NO +  ∗ NO C +  ∗ CNO + NO Donde  y  son puntos en el espacio de frames consecutivos. Los símbolos :EFG  HIFG representan vectores, :EFG es el último tramo de la trayectoria encontrada hasta el momento de cada espermatozoide y HIFG es el vector entre el 29 último punto de la trayectoria del espermatozoide a analizar y el punto que se intenta incorporar a la solución. La estructura de la solución es una secuencia de puntos en el espacio que representan a la trayectoria de un espermatozoide. Trayectoria E# = W,, W$, W,, … , WX Donde E# representa un espermatozoide y WX representan a los puntos en la trayectoria. A continuación se presenta la adaptación del modelo heurístico propuesto para resolver el problema de seguimiento a espermatozoides. 1) Sea Y* un conjunto de puntos en el plano en un tiempo t los cuales representan las posiciones en el plano de cada espermatozoide a seguir. 2) Dos conjuntos EZ (prevPts) y EZM$ (nextPts) fueron escogidos para todo t > 0 en el video analizado. 3) La solución viene dada por encontrar un valor mínimo que satisfaga la función heurística ℎ  = 1  + ]  , para cada punto en el conjunto prevPts asociado a un punto en el conjunto nextPts. Donde 1  representa la distancia euclidiana y ]  representa la función ángulo, ambas planteadas en esta Sección. En el Anexo 3 se encuentra la implementación del modelo heurístico en el lenguaje de programación C++. 4.2 Estimación de Motilidad Espermática Para la clasificación de los espermatozoides en los cuatro grados de motilidad descritos en el Capítulo 2 se hallaron los valores VSL, VCL y LIN los cuales fueron utilizados según lo descrito en la revista libre de Andrología (J. Elia 2010). A continuación se muestran las funciones utilizadas para encontrar dichos valores y un resumen del método de clasificación. • Valores de motilidad: 30 VSL: Velocidad en línea recta, determinada por la distancia entre el punto inicial y el punto final de la trayectoria analizada dividida por el tiempo transcurrido. -^_  Trayectoria E#  =  WX, W, /  VCL: Velocidad a lo largo de la curva, determinada por la distancia recorrida a lo largo de la trayectoria analizada dividida por el tiempo transcurrido. -N_  Trayectoria Y#  = 1 ∗ b  W* , W*c$ *dXM$ *d, LIN: Ratio determinado por la división de VCL entre VSL _e  Trayectoria Y#  = -^_-N_ Donde  ), + representa la distancia Euclidiana entre los puntos ) e +. • Clasificación de valores de motilidad NfgLh 1 i-^_ ≥ 23m -^_ > 10m 10m