Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
SEP SES TMN . INSTITUTO TECNOLÓGICO DE CHIHUAHUA II “MODULO DE RECONOCIMIENTO DE PARTICULAS MICROSCOPICAS (REMIC)” TESIS PARA OBTENER EL GRADO DE MAESTRÍA EN SISTEMAS COMPUTACIONALES PRESENTA: EDGAR ARMANDO MUÑOZ ESTRADA DIRECTOR DE TESIS: CO-DIRECTOR DE TESIS: M.C. ARTURO LEGARDA SÁENZ DR. CALEB CARREÑO GALLARDO CHIHUAHUA, CHIH., MÉXICO; A MARZO DE 2016 Índice general CAPÍTULO I.Introducción ............................................................................................ 1 1.1 Antecedentes ................................................................................................. 2 1.2 Definición del problema .................................................................................. 3 1.3 Objetivo .......................................................................................................... 4 1.4 Justificación .................................................................................................... 4 1.5 Alcances y limitaciones .................................................................................. 5 1.5.1 Alcances .................................................................................................. 5 1.5.2 Limitaciones ............................................................................................. 5 1.6 Hipótesis ........................................................................................................ 6 CAPÍTULO II. Estado del arte ..................................................................................... 7 2.1 Media Cybernetics, Image Pro Plus 7.0 ......................................................... 7 2.2 Axio Vision ..................................................................................................... 8 2.3 EVOS Digital Microscopes ............................................................................. 9 2.4 TEAM™ EDS Analysis System for Scanning Electron Microscope (SEM) ... 10 2.5 RADIUS (Módulo Detección). ....................................................................... 11 CAPÍTULO III. Marco teórico ...................................................................................... 13 3.1 Medios microscópicos para medición de partículas ..................................... 13 3.2 Contadores de partículas ............................................................................. 13 3.2.1 Principio de Coulter ............................................................................... 13 3.2.2 Bloqueo de Luz ...................................................................................... 14 3.3 La metalografía cuantitativa ......................................................................... 14 3.3.1 Análisis puntual de la fracción volumétrica ............................................ 15 3.4 Visión Computacional ................................................................................... 15 3.4.1 ¿Qué es la visión humana? ................................................................... 16 3.4.2 Visión Artificial ....................................................................................... 16 3.4.3 Representación de la realidad ............................................................... 17 3.4.4 Formación y representación de la imagen ............................................. 18 3.4.5 Etapas de un sistema de visión artificial ................................................ 20 3.4.6 Aplicaciones de la visión computacional ................................................ 21 3.5 Color ............................................................................................................. 22 3.5.1 Representación del color ....................................................................... 23 3.5.2 Modelo RGB .......................................................................................... 23 3.5.3 Modelo HSV........................................................................................... 24 3.6 Histograma ................................................................................................... 25 3.7 Segmentación .............................................................................................. 29 3.8 Técnicas de segmentación ........................................................................... 31 3.8.1 Segmentación por histograma ............................................................... 31 3.8.2 Segmentación orientada a regiones ...................................................... 35 3.8.3 Unión de regiones .................................................................................. 35 3.8.4 Segmentación mediante extracción y análisis de texturas .................... 35 3.8.5 División y unión de regiones (”split and merge”) .................................... 36 3.8.6 Segmentación basada en el color .......................................................... 38 CAPÍTULO IV.Metodología ....................................................................................... 40 4.1 Definición de requerimientos ........................................................................ 41 4.1.1 Requerimientos del usuario ................................................................... 42 4.1.2 Requerimientos del sistema .................................................................. 45 CAPÍTULO V. Diseño ................................................................................................ 53 5.1 Diseño del software ...................................................................................... 53 5.2 Diseño interfaz de usuario ............................................................................ 55 CAPÍTULO VI.Implementación .................................................................................. 58 6.1 Main ............................................................................................................. 58 6.2 Imageviewer ................................................................................................. 58 6.3 Clase “abrirImagen”...................................................................................... 62 6.4 Clase “Ecualizarhist” .................................................................................... 64 6.5 Clase "medicion” .......................................................................................... 66 6.6 Segmentación .............................................................................................. 73 CAPÍTULO VII.Pruebas ............................................................................................. 81 CAPÍTULO VIII.Resultados ....................................................................................... 90 CAPÍTULO IX.Conclusiones...................................................................................... 95 CAPÍTULO X. Bibliografía ......................................................................................... 98 CAPÍTULO XI.ANEXO 1 CÓDIGO DE LA APLICACIÓN ........................................ 100 11.1 Abririmagen.h ............................................................................................. 100 11.2 Imageviewer.h ............................................................................................ 101 11.3 Imageviewer.cpp ........................................................................................ 102 11.4 Colsegment.h ............................................................................................. 108 11.5 Colsegment.cpp ......................................................................................... 108 11.6 Ecualizarhist.h ............................................................................................112 11.7 Ecualizarhist.cpp ........................................................................................ 112 11.8 Guardarreporte.h ........................................................................................ 113 11.9 Guardarreporte.cpp .................................................................................... 114 11.10 Medicion.h ............................................................................................... 115 11.11 Medicion.cpp ........................................................................................... 115 CAPÍTULO XII.Anexo 2 Manual de usuario REMIC ................................................ 121 12.1 Menú “Archivo” ........................................................................................... 123 12.1.1 Abrir ..................................................................................................... 123 12.1.2 Salir ..................................................................................................... 125 12.2 Menú “Ver” ................................................................................................. 126 12.3 Menú “Ayuda”. ............................................................................................ 128 12.4 Menú “Imagen” ........................................................................................... 129 12.4.1 “Ecualizar” ........................................................................................... 129 12.4.2 “Segmentar” ......................................................................................... 131 12.5 “Medir” ........................................................................................................ 142 Índice de figuras Figura 2.1 Conteo de objetos. ..................................................................................... 7 Figura 2.2 Conteo de células con EVOS XL.............................................................. 10 Figura 2.3 Pantalla de interfaz de usuario TEAM EDS. ............................................. 11 Figura 2.4 Interfaz módulo Detection de RADIUS ..................................................... 11 Figura 3.1 Sección plana con un estimador puntual (Red de puntos) ....................... 15 Figura 3.2 La imagen plana (2D) ............................................................................... 18 Figura 3.3 Formación de la imagen. .......................................................................... 19 Figura 3.4 Ejemplo de los ejes (x, y) en una imagen. ................................................ 19 Figura 3.5 Muestras de texturas para una pared....................................................... 22 Figura 3.6 Diagrama cromático. ................................................................................ 24 Figura 3.7 Representación del modelo HSV ............................................................. 25 Figura 3.8 Ejemplos de histogramas ......................................................................... 26 Figura 3.9 Función de trasformación ........................................................................ 27 Figura 3.10 Ecualización por histograma. ................................................................. 28 Figura 3.11 Ejemplo de segmentación por histograma ............................................. 32 Figura 3.12 Histograma de una imagen con múltiples regiones. ............................... 32 Figura 3.13 Comparación entre umbralización global y la umbralización adaptativa. 34 Figura 3.14 Representación en quadtree .................................................................. 37 Figura 4.1 Fases de la metodología en cascada ....................................................... 40 Figura 5.1 Flujo de información REMIC. ................................................................... 53 Figura 5.2 Diagrama de clases REMIC. .................................................................... 54 Figura 5.3 Módulos del sistema REMIC. ................................................................... 55 Figura 5.4 Interfaz Principal REMIC. ......................................................................... 56 Figura 5.5 Ventana de Interfaz OpenCV. .................................................................. 56 Figura 5.6 Ejemplo de ventana “Abrir imagen”. ......................................................... 57 Figura 6.1 Interfaz principal REMIC. ......................................................................... 61 Figura 6.2 Acercamiento del menú “Archivo”. .......................................................... 61 Figura 6.3 Acercamiento del menú “Ver”. ................................................................. 61 Figura 6.4 Acercamiento del menú “Imagen”. .......................................................... 62 Figura 6.5 Acercamiento del menú “Ayuda”. ............................................................ 62 Figura 6.6 Cuadro de diálogo “Abrir Imagen” ............................................................ 64 Figura 6.7 Imagen antes de la ecualización de histograma. ..................................... 65 Figura 6.8 Imagen después de la ecualización de histograma. ................................. 65 Figura 6.9 Interfaz de usuario de módulo de medición. ............................................. 66 Figura 6.10 Icono del botón propiedades. ................................................................. 67 Figura 6.11 Barra de propiedades flotante. ............................................................... 67 Figura 6.12 Cuadro de diálogo generado para firmar imagen. .................................. 71 Figura 6.13 Tamaño de ventanas de selección de vecindad. ................................... 77 Figura 7.1 Instalación de REMIC en Windows XP 32 bits. ........................................ 82 Figura 7.2 REMIC ejecutándose en Windows XP 32 bits. ......................................... 82 Figura 7.3 Instalación de REMIC en Windows 7 32 bits. ........................................... 83 Figura 7.4 REMIC ejecutándose en Windows 7 32 bits. ........................................... 83 Figura 7.5 Instalación de REMIC en Windows 10 64 bits. ......................................... 84 Figura 7.6 REMIC ejecutándose en Windows 10 64 bits. ......................................... 84 Figura 7.7 Muestra de materiales medida con REMIC. ............................................. 85 Figura 7.8 Medición de escala original en la muestra. .............................................. 86 Figura 7.9 Medición de línea trazada en REMIC sobre la muestra. .......................... 86 Figura 7.10 Medición de línea trazada en REMIC sobre la muestra. ........................ 87 Figura 7.11 Medición de línea trazada en REMIC sobre la muestra. ........................ 87 Figura 7.12 Muestra utilizada para la prueba de segmentación. ............................... 88 Figura 7.13 Imagen comparativa entre segmentaciones. .......................................... 89 Figura 8.1 Línea de escala generada en el microscopio. .......................................... 91 Figura 8.2 Medición a línea trazada por REMIC. ....................................................... 92 Figura 8.3 Línea de 100 micrómetros trazada con REMIC. ...................................... 92 Figura 8.4 Medición de línea diagonal. ...................................................................... 93 Índice de tablas. Tabla 8.1 Datos comparativos REMIC vs Axio Vision. .............................................. 94 INTRODUCCIÓN 1 CAPÍTULO I. INTRODUCCIÓN Los investigadores en el área de materiales realizan conteos de partículas, segmentación de áreas, mediciones y otros procedimientos necesarios para el análisis de muestras de materiales, esto conel fin de conocer las propiedades y características con las que cuenta el material y obtener un diagnóstico sobre si el material se puede utilizar para alguna aplicación en específico. Los análisis de los materiales se realizan mediante un muestreo del material obtenido digitalmente con un microscopio y una cámara fotográfica adaptada a él. Con lo anterior se facilita el manejo de las muestras y su análisis con alguna herramienta de software. Debido a esto se decide realizar para el Centro de Investigación en Materiales Avanzados (CIMAV) una herramienta computacional que sea capaz de ayudar a dichos investigadores en sus trabajos de investigación. La cuantificación de partículas en el área de materiales es una tarea repetitiva y tediosa para los investigadores encargados de ella, ya que la gran mayoría de las veces el número de componentes que aparecen en la imagen de la muestra que se requieren cuantificar es muy grande, encontrándose en el orden de los cientos o miles lo que ocasiona que, aunque se tenga mucha experiencia en la cuantificación, algunas veces se pasen detalles que afectan los resultados de la investigación. Otro aspecto importante es resaltar es que, si la persona que está realizando el conteo de los elementos no está en óptimas condiciones, por ejemplo si está cansado o tiene algún resfriado, puede afectar los resultados obtenidos. Afortunadamente existen tecnologías que facilitan estas tareas y pueden ayudar al investigador a realizar estos procesos de manera semiautomática o automática, según se desee. No obstante dejar el trabajo en manos del equipo computacional para que lo realice en forma automática no es del todo bueno, ya que los métodos existentes para el conteo de elementos, aunque tienen un valor muy bajo de error en el resultado, no garantizan el 100% de confiabilidad. Esto puede ser INTRODUCCIÓN 2 compensado con la experiencia del investigador que utilice la herramienta de software. Actualmente en el CIMAV existe software que utilizan los investigadores para facilitar el análisis de imágenes de muestras de materiales con altos grados de fiabilidad. Este software está ligado a un solo equipo de cómputo, lo que genera poca movilidad y disponibilidad para su uso por el resto de investigadores y alumnos de la institución. Los costos de este tipo de software pueden exceder los 50 mil dólares y generalmente se venden en conjunto con el microscopio en licenciamiento monousuario, lo que provoca que únicamente se pueda utilizar la aplicación por un solo usuario a la vez y restringido a donde se encuentre el equipo. Observando la situación anterior es como se decide hacer un desarrollo de software propio en conjunto con el CIMAV y el Instituto Tecnológico de Chihuahua II, el cual será de libre distribución entre los investigadores y alumnos de las dos instituciones antes mencionadas. En este documento se expone el desarrollo de una aplicación de software para el análisis de imágenes de muestras de materiales el cual busca cubrir las necesidades generales de los investigadores y alumnos del CIMAV para realizar sus trabajos de investigación con funciones básicas de análisis de imágenes como lo son: medición de elementos, cálculos de áreas, segmentación de elementos entre otros. 1.1 Antecedentes Como antecedentes por parte del CIMAV no se tiene el registro de ningún desarrollo de software específico para el análisis de imágenes digitales de muestras de materiales tomadas por un equipo de microscopía. El CIMAV publica en su portal tres desarrollos tecnológicos de software coordinados por varios investigadores de este centro, los cuales son: MACLAM - Mechanical Analysis of Composites and LAMinates, Por el Dr Alberto Diaz Diaz. INTRODUCCIÓN 3 ANAELU - Software for Modeling Laue Spots and Debye Rings. Por el Dr. Luis Fuentes Cobas. SAMZ - Software de Cristalografía. Por el Dr. Luis Fuentes Cobas. El primero es para realizar una simulación de las propiedades mecánicas de algún metal o aleación, los otros dos, son de ayuda para el análisis de cristales o estructuras de cristales mediante la difracción de rayos X. En lo que respecta al Tecnológico de Chihuahua II debido a que es la primera generación en este programa de estudios en el instituto, no existe ningún registro de desarrollo de tesis de Maestría en Sistemas Computacionales. 1.2 Definición del problema Para los investigadores y alumnos del Centro de Investigación de Materiales Avanzados (CIMAV) la identificación de elementos y áreas en diversas imágenes adquiridas desde un microscopio, para su posterior interpretación es tarea de todos los días; estas interpretaciones les sirven para poder inferir o demostrar ciertas propiedades o defectos en los materiales analizados. Esta tarea se realiza con software de procesamiento de imágenes el cual es adquirido en conjunto con el microscopio con el que se toman las imágenes de las muestras a ser analizadas. Lo que conlleva a que estos programas estén íntimamente ligados con el equipo computacional que se utiliza para interactuar con los microscopios al grado de que no es posible instalar el software en otro dispositivo, razón por la cual surgen las siguientes áreas de oportunidad: No es posible instalar el software en equipos computacionales donde no se encuentre físicamente el microscopio, lo que limita al usuario a utilizar un solo equipo de cómputo en un lugar específico, ocasionando retrasos en las investigaciones y trabajos de los usuarios. Además por ser el caso de una institución educativa y de investigación, el número de personas que necesitan hacer uso del equipo es alto, en ocasiones hasta 30 personas en lista de espera. INTRODUCCIÓN 4 No se cuenta con recursos económicos suficientes para la adquisición de más equipo de microscopía y software necesario, para cubrir la demanda del centro de investigación. Para una correcta utilización del software existente en el CIMAV es necesario cumplir con requerimientos de hardware elevados para el equipo de cómputo, lo que limita su uso a máquinas que cuenten con muchos recursos de procesamiento. 1.3 Objetivo Desarrollar una aplicación de software de análisis de imágenes tomadas por un equipo de microscopía de muestras de materiales, que sea una herramienta que ayude a los investigadores del CIMAV en el área de materiales. Como objetivo específico se busca obtener un buen rendimiento del software para que sea capaz de funcionar sin problemas en la mayoría de los equipos computacionales de ambiente Windows. Además, al ser una herramienta realizada con software libre, el costo será muy bajo o nulo para los usuarios que necesiten hacer uso de la misma. La herramienta computacional debe cubrir las necesidades de portabilidad del software para hacerlo accesible a los equipos computacionales de los usuarios. Se busca tener un software amigable en su uso, es decir que sea fácil de utilizar por las personas a quien va dirigido sin necesidad de tomar una capacitación extensa acerca del software. 1.4 Justificación El desarrollo del software permitirá a los investigadores y alumnos del CIMAV a realizar sus trabajos de investigación de una manera más rápida al contar con una herramienta computacional desarrollada para el análisis de imágenes de muestras. El software a desarrollar será gratuito, tendrá un impacto económico en la institución, ya que no tendrá costos extras por el desarrollo y distribución, debido a que se seleccionarán ambientes de desarrollo y leguajes de código libre. Además se busca que pueda ser ejecutado en la mayoría de los equipos de los usuarios, ya que INTRODUCCIÓN 5 se trata de obtener un buen rendimiento computacional en equipos de bajos recursos, solo cumpliendo los requerimientos de software establecidos más adelante en la sección de limitaciones. Con esta herramientacomputacional sera posible tener independencia de los equipos de cómputo donde se encuentran instalados los microscopios para la adquisición de las imágenes, pudiendo así realizar los análisis en casi cualquier equipo de cómputo, evitando grandes tiempos de espera para la utilización de dichos equipos, ya que por ser de libre distribución será posible que se instale en diversos equipos de cómputo de alumnos e investigadores y demás personas que necesiten hacer uso del mismo. 1.5 Alcances y limitaciones 1.5.1 Alcances Se desarrollará un software de análisis de imágenes digitales de muestras de materiales, capaz de realizar las siguientes funciones: Segmentación de elementos por tonalidades. o Cálculo de áreas. Ecualización de color de la imagen por histograma. Medición dimensional de elementos. Permitir al usuario calibración de la imagen para poder realizar los cálculos correctos. Firmar la imagen. 1.5.2 Limitaciones En el CIMAV se tienen varias limitaciones para el proyecto, por lo cual se debe de ajustar el desarrollo del mismo a dichas limitaciones. El equipo computacional con el que se cuenta en algunas áreas del CIMAV no presenta altas capacidades de procesamiento, debido a esto se desea garantizar un buen rendimiento en el software a desarrollar, es por eso que se establece que el sistema operativo en el cual se podrá utilizar el software es Windows en su versión XP en adelante, ya que los sistemas operativos antiguos, a pesar de que existen en el centro algunos equipos con ellos funcionando, no garantizan una correcta INTRODUCCIÓN 6 ejecución de las instrucciones y algoritmos de los paquetes de desarrollo que se utilizan para el software. Otra limitante es que el hardware debe ser lo suficientemente potente para poder ejecutar el sistema operativo con el que cuente el equipo de cómputo. 1.6 Hipótesis. El software desarrollado será capaz de discriminar componentes del material por sus tonalidades y realizar cálculos de porcentaje de composición de varios materiales de muestras a partir de imágenes digitales tomadas por un equipo de microscopía. El software será capaz de ejecutarse en la mayoría de los equipos con sistema operativo Windows XP o superior. ESTADO DEL ARTE 7 CAPÍTULO II. ESTADO DEL ARTE En las instalaciones del CIMAV utilizan dos software de análisis de imágenes los cuales son: Image Pro Plus y Axio Vision. En este capítulo se revisan, las más conocidas opciones de software de análisis de imágenes de última generación que existen en el mercado. 2.1 Media Cybernetics, Image Pro Plus 7.0 Dentro de las especificaciones del fabricante (desarrollador) se encuentra la siguiente descripción de las características de este software: Microscopio y automatización de platina incluida. Image-Pro Plus en la versión mas nueva del software se incluye los modulos de automatización de las funciones del microscopio, como lo son el movimiento de la platina donde se deposita la muestra y el enfoque del lente. Es posible controlar la platina en las direcciones X, Y, Z. Análisis y Medidas en tiempo real. Tambien se incluye la opción de realizar los análisis en las muestras sin la necesidad de hacer la captura previa de la imagen. Otra herramienta incluida es Workspace Preview hace que sea fácil contar objetos, efectuar mediciones e interactuar con las imágenes en línea (Figura 2.1). Figura 2.1 Conteo de objetos. ESTADO DEL ARTE 8 Contar y clasificar objetos. Incluye la opción de conteo de objetos con más de 50 instrumentos de medición manual y automática. Se puede seleccionar objetos de interés y ordenar facilmente por tamaño u otros parámetros de medición. Más funciones especificadas por el desarrollador del software se pueden observar en la siguente lista: Es posible medir longitudes, redondez, aspectos, ángulos, áreas, perímetros, y cavidades Establecer rangos válidos de medición para filtrar objetos no deseados Agrupe objetos en clases basados en sus medidas Resolver objetos superpuestos con técnicas de Watershed, Auto-Split, y herramientas de análisis de conjuntos Use colores para separar y medir objetos en imágenes en color Exportación de mediciones estadísticas y paquetes de hojas de cálculo a través de DDE Mostrar las mediciones como histogramas y diagramas de dispersión (Media Cybernetics, 2012) 2.2 Axio Vision Ya que el centro de investigación CIMAV se tiene este software funcionando, se puede tomar en cuenta el dato del costo que implica adquirir una licencia de un usuario. Tiene un costo de $644,626 pesos mexicanos, incluye el equipo necesario para su utilización (microscopio, lentes para el microscopio y software). Para los expertos en metalografía Axio Vision es un software que puede ayudarlo a obtener resultados confiables en los análisis que se realicen mediante el software. Este software de imágenes ofrece una interfaz gráfica de fácil utilización ESTADO DEL ARTE 9 para el usuario con flujos de trabajo adaptados a las demandas industriales. Las características que el desarrollador de software ofrece son: Procesamiento de imagen. Procese sus imágenes de materiales usando funciones como Morfología de Gray, imagen aritmética, trasformadas de Fourier. Separe estructuras de objetos en objetos individuales. Los resultados obtenidos son ideales para los procesos de medición automáticos. Ofrece funciones especiales para manejo de brillos y contraste en las imágenes, incluso elimine partes no deseadas de la imagen. Análisis e Interpretación de Imágenes. Utilizar toda la información en las imágenes. Con nuestros módulos de análisis se puede llevar a cabo las mediciones y la segmentación interactiva o automática, de acuerdo con sus necesidades. (ZEISS, 2014) 2.3 EVOS Digital Microscopes Es relevante mencionar que EVOS no es una licencia de software que se comercialice, es un equipo de microscopía, el cual contiene un software de análisis de imágenes con una fiabilidad comprable a los demás software que se mencionan en este capítulo. Este software es embebido en el propio hardware del microscopio para ser portátil. En la Figura 2.2 se puede observar una pantalla de un análisis de un cultivo celular mediante la interfaz del equipo de microscopía. La línea de microscopios EVOS promete obtener imágenes de alta calidad con una facilidad nunca antes vista en el mercado. Cuentan con iluminación LED, hardware y software integrados, sin bulbos, sin necesidad de alineaciones y sin altos costos de mantenimiento. Ademas gracias a su práctico diseño pueden ser utilizados en cualquier parte del laboratorio sin necesidad de realizar una instalación especial para el equipo. EVOS XL está diseñado para que la microscopía de cultivo celular sea lo más cómoda, fiable y eficaz como sea posible. (ELECTRON MICROSCOPY SCIENCES, 2014) ESTADO DEL ARTE 10 Figura 2.2 Conteo de células con EVOS XL. 2.4 TEAM™ EDS Analysis System for Scanning Electron Microscope (SEM) Lo que se traduce al español como “Espectrometría de dispersión de rayos X” (EDS) Sistema de análisis para microscopio electrónico de barrido (MEB) Según el desarrollador esta distribución de software es la herramienta más intuitiva y fácil de usar disponible para MEB. Las funciones de flujo de trabajo están automatizadas mediante la integración de años de conocimiento y experiencia de la empresa desarrolladora del software EDAX para trabajar para usted. La puesta en marcha, análisis y presentación de informes son fáciles debido a que el software TEAM EDS automatiza cada tarea. “TEAM ™ EDS Enhanced” es un paquete de software completo, que incluye todas las características y opciones para la recolección, análisis y presentación de informes para proporcionar al usuario con métodos avanzados para examinar sus materiales disponiblesy conduce a lo último en análisis de materiales. La interfaz del software se puede ver en la Figura 2.3. (EDAX, 2014) ESTADO DEL ARTE 11 Figura 2.3 Pantalla de interfaz de usuario TEAM EDS. 2.5 RADIUS (Módulo Detección). En palabras del desarrollador del software el módulo Detection (Figura 2.4), es una herramienta para un completo y comprensivo análisis de partículas basado en segmentación por umbralización. Figura 2.4 Interfaz módulo Detection de RADIUS ESTADO DEL ARTE 12 Las principales características que se presentan en el software según el desarrollador son: Análisis de partículas totalmente automatizado. Separación de partículas-Fácil de usar. Análisis de partículas Multifase. Análisis multifase. Detección y clasificación. Parámetros de las partículas definidas por el usuario. Clasificación de Partículas. Filtrado automático. Extensas funciones estadísticas. Los datos que aparecen en las hojas y / o diagramas. Las partículas con enlaces a las entradas de hoja respectivos. Conecte parámetros de las partículas lógicamente. Filtros morfológicos: Erosión, Dilatación, Apertura, Cerramiento, Esqueleto. MARCO TEÓRICO 13 CAPÍTULO III. MARCO TEÓRICO 3.1 Medios microscópicos para medición de partículas En los métodos directos para medición de partículas, la tasa de disposición de partículas está determinada por el conteo del número de partículas depositadas en diferentes intervalos de tiempo. Algunos de los trabajos que utilizan este método son los de Marshal y Kitchener (1966) y de Hull y Kitchener (1969) con el sistema de disco rotatorio. En este método la superficie del colector, que es usualmente el cubreobjetos del microscopio, es secado en un desecador. Luego la superficie del colector se ilumina bajo un microscopio y las partículas son detectadas como puntos de luz dispersa. (Elimelech, Jia, Gregory, & Williams, 1995) 3.2 Contadores de partículas Los contadores más comunes son los que operan con el principio de Coulter y el método de bloqueo de luz (obscurecimiento), auque estos métodos están mas enfocados al conteo individual de las partículas que al porcentaje de composición de las muestras. 3.2.1 Principio de Coulter Se diluye una porción de la muestra a analizar en una solución electrolítica. Dicha suspensión es agitada y drenada a través de una pequeña apertura gracias a una fuente de vacío. Mientras pasan las partículas por la abertura, también se desplazan a través de dos electrodos, lo que habilita a las partículas a que sean censadas en los cambios momentáneos de la resistencia eléctrica. Estos cambios en la resistencia pueden detectarse como series de pulsos de voltaje, donde la altura de cada pulso es proporcional al volumen de la partícula que lo produjo, después los pulsos son amplificados, contados y colocados en la clase de tamaño correcta. El principio de Coulter no se ve afectado por cambios en la composición de los materiales o material, textura de superficie, el índice refractivo o los efectos de interacción de la luz. MARCO TEÓRICO 14 La desventaja del método es el uso de un electrolito como medio de suspensión; ya que este electrolito puede inducir a la agregación de partículas en la suspensión. (Elimelech, Jia, Gregory, & Williams, 1995) 3.2.2 Bloqueo de Luz En los instrumentos de bloqueo de luz, las partículas en la muestra a analizar fluyen a través de un estrecho en un tubo el cual dirige las partículas hacia un haz de luz. Conforme las partículas pasan a través del haz de luz, proyectan una sombra en un foto-detector el cual envía un pulso de voltaje a un analizador de altura de pulso. Las partículas son contadas conforme bloquean a luz y su tamaño se calcula a partir de la altura del pulso de voltaje. La atura del pulso es proporcional al área de la sombra proyectada por la partícula. (Elimelech, Jia, Gregory, & Williams, 1995) 3.3 La metalografía cuantitativa La metalografía cuantitativa pudiera definirse como la técnica de muestreo utilizada para cuantificar los aspectos morfológicos de las imágenes obtenidas de un material mediante microscopía óptica, microscopía de barrido o microscopía de transmisión. La metalografía cuantitativa, juega un rol importante en la ciencia de los materiales y la ingeniería pues permite establecer relaciones entre los procesos, microestructura y propiedades mecánicas de los materiales suministrando información de primera mano necesaria para el establecimiento de modelos matemáticos, que permitan el control y optimización de procesos y productos. A continuación se expone un tema clásico de la metalografía cuantitativa y se desarrolla el fundamento de una herramienta que soporta la metalografía cuantitativa. Tambien se debe resaltar que la mayor parte del proyecto por parte del área de materiales esta basada esta área del análisis de materiales. MARCO TEÓRICO 15 3.3.1 Análisis puntual de la fracción volumétrica Una nueva simplificación fue realizada por Glagolev en 1931, quien demostró que si ponemos una rejilla de puntos sobre una sección plana, la fracción de área A, puede ser estimada de la proporción de puntos P de la rejilla que caen o hacen contacto con la fase en estudio, esto se observa en la Figura 3.1. En ambos casos el estimador es insesgado. Figura 3.1 Sección plana con un estimador puntual (Red de puntos) Los puntos de prueba son los puntos de la rejilla, en nuestro caso hay un total de 9 puntos de prueba; el número de puntos de prueba que caen sobre la fase β es de 3 así que P = 0,33. (Velandia, 2008). 3.4 Visión Computacional Debido a que el desarrollo de este proyecto de tesis se basa en el análisis de imágenes digitales de muestras de materiales obtenidas con un microscopio, es necesario explicar ampliamente cuál es la definición de visión computacional y los principios de la misma para una correcta comprensión de lo que se expone en este trabajo. MARCO TEÓRICO 16 3.4.1 ¿Qué es la visión humana? La visión humana (“visión biológica”, más general) es sinónimo de un extenso conjunto de capacidades animales de muchos tipos diferentes. Comúnmente llamadas simplemente “visión”, la cual incluye gran cantidad de reflejos ópticos encontrados en los animales más simples, pero también presentes en el ser humano. Aunque vital para la supervivencia, esto difícilmente envuelve algo más allá de un simple foto-receptor conectado a alguna respuesta física. (Cipolla, Battiato, & Maria Farinella, 2010) Visión es la ventana al mundo de muchos organismos. Su función principal es reconocer y localizar objetos en el ambiente mediante el procesamiento de las imágenes. La Visión Computacional es el estudio de estos procesos, para entenderlos y construir máquinas con capacidades similares. Existen varias definiciones de visión, entre éstas podemos mencionar las siguientes. • “Visión es saber que hay y dónde mediante la vista” (Aristóteles). • “Visión es recuperar de la información de los sentidos (vista) propiedades válidas del mundo exterior” (Gibson, 1979). • “Visión es un proceso que produce a partir de las imágenes del mundo exterior una descripción que es útil para el observador y que no tiene información irrelevante” (Marr, 1982). Las tres son esencialmente válidas, pero la que tal vez se acerca más a la idea actual sobre visión computacional es la definición de Marr. En esta definición hay tres aspectos importantes que hay que tener presentes: (i) visión es un proceso computacional, (ii) la descripción a obtener depende del observador y (iii) es necesario eliminar la información que no sea útil (reducción de información). (Sucar & Giovani) 3.4.2 Visión Artificial La visión artificial es la transformación de datos provenientes de una cámara fotográfica o de video en una decisión o una nueva representaciónde estos datos. MARCO TEÓRICO 17 Todas estas transformaciones son realizadas con el objetivo de alcanzar una meta en particular. Una nueva representación podría significar convertir una imagen en color en una imagen en escala de grises o la eliminación de movimiento de la cámara de una secuencia de imágenes. (Bradski & Kaehler, 2008) La ciencia informática camina actualmente hacia la creación de computadoras cada vez más rápidas, más expertas y más autónomas. Una de las empresas más ambiciosas consiste en dotar a los ordenadores de la facultad de relacionarse con su entorno del mismo modo que lo hace un humano: a través de los sentidos. Proporcionar capacidad sensorial a un ordenador es una tarea difícil ya que entran en juego elementos accesorios al microprocesador, como son los sensores, las tarjetas adaptadoras de señal o el ruido del entorno. A pesar de los muchos inconvenientes, existe hoy un interés especial por dotar a los ordenadores de uno de los cinco sentidos del hombre: la habilidad de ver. Mientras que el resto de los sentidos humanos no despierta interés, la visión artificial se aplica ya en procesos industriales en los que la simple detección de presencia no resulta una fuente de información suficiente. La visión artificial es una disciplina que engloba todos los procesos y elementos que proporcionan ojos a una máquina y se podría decir que: la visión artificial o comprensión de imágenes describe la deducción automática de la estructura y propiedades de un mundo tridimensional, posiblemente dinámico, bien a partir de una o varias imágenes bidimensionales de ese mundo. Las estructuras y propiedades del mundo tridimensional que se quieren deducir en visión artificial incluyen no sólo sus propiedades geométricas, sino también sus propiedades materiales. Ejemplos de propiedades geométricas son la forma, tamaño y localización de los objetos. Ejemplos de propiedades de los materiales son su color, iluminación, textura y composición. (González Marcos, y otros, 2009). 3.4.3 Representación de la realidad Un sistema de Visión Artificial actúa sobre una representación de una realidad que le proporciona información sobre brillo, colores, formas, etcétera. MARCO TEÓRICO 18 Estas representaciones suelen estar en forma de imágenes estáticas, escenas tridimensionales o imágenes en movimiento. Una imagen bidimensional es una función que a cada par de coordenadas (x, y) asocia un valor relativo a alguna propiedad del punto que representa (por ejemplo su brillo o su matiz). Una imagen acromática, sin información de color, en la que a cada punto se le asocia información relativa al brillo, se puede representar como una superficie (Figura 3.2), en la cual la altura de cada punto indica su nivel de brillo. Una imagen en color RGB se puede representar asociando a cada punto una terna de valores que indica la intensidad de tres linternas (una roja, otra verde y otra azul). Una imagen de color de espectro completo se puede representar asociando a cada punto un diagrama espectral de emisión de color. (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007) Figura 3.2 La imagen plana (2D) de la derecha puede presentarse como una superficie. En ella la coordenada z para el punto (x, y) corresponde al brillo que tiene en la imagen plana. 3.4.4 Formación y representación de la imagen La formación de la imagen ocurre cuando un sensor (ojo, cámara) registra la radiación (luz) que ha interactuado con ciertos objetos físicos, como se muestra en la Figura 3.3 . La imagen obtenida por el sensor se puede ver como una función bidimensional, donde el valor de la función corresponde a la intensidad o brillantez en cada punto de la imagen (imágenes monocromáticas, conocidas como imágenes en “blanco y negro”). Generalmente, se asocia un sistema coordenado (x, y) a la imagen, con el origen en el extremo superior izquierdo, (Figura 3.4). MARCO TEÓRICO 19 Figura 3.3 Formación de la imagen. Figura 3.4 Ejemplo de los ejes (x, y) en una imagen. Una función de la imagen es una representación matemática de la imagen. Esta es generalmente una función de dos variables espaciales (x, y): 𝐼 = 𝑓(𝑥, 𝑦) ( 4.1 ) Donde 𝑓 representa el nivel de brillantez o intensidad de la imagen en las coordenadas (x, y). Si representamos estas funciones gráficamente, se tienen 3 dimensiones: dos que corresponden a las coordenadas de la imagen y la tercera a la función de intensidad, esto se ve en la Figura 3.2. Una imagen multi-espectral 𝐼 es una función vectorial con componentes (𝑓1, 𝑓2,..., 𝑓n), donde cada una representa la intensidad de la imagen a diferentes longitudes de onda. Por ejemplo, una imagen a color generalmente se representa por la brillantez en tres diferentes longitudes de onda: MARCO TEÓRICO 20 𝑓(𝑥, 𝑦) = [𝑓𝑟𝑜𝑗𝑜(𝑥, 𝑦), 𝑓𝑎𝑧𝑢𝑙(𝑥, 𝑦), 𝑓𝑣𝑒𝑟𝑑𝑒(𝑥, 𝑦)]( 4.2 ) Una imagen digital es una imagen que ha sido discretizada tanto en valor de intensidad (𝑓) como espacialmente, es decir que se ha realizado un muestreo de la función continua. Este muestreo se representa matemáticamente mediante la multiplicación de la función con un arreglo bidimensional de funciones delta: 𝑓𝑠(𝑥, 𝑦) = ∬ 𝑓(𝑥, 𝑦), 𝛿(𝑥 − 𝑥0, 𝑦 − 𝑦0), 𝑑𝑥, 𝑑𝑦 ∞ −∞ ( 4.3 ) Donde cada valor de intensidad 𝑓𝑠(𝑥, 𝑦), es mapeado o discretizado a un número, por ejemplo un número entre 0 y 255. Entonces una imagen digital monocromática puede ser representada por una matriz de NxM, donde cada valor es un número que representa el nivel de intensidad del punto correspondiente de la imagen. Cada punto se conoce como pixel (del inglés, picture element) (Sucar & Giovani). 3.4.5 Etapas de un sistema de visión artificial Se ha visto que el ser humano captura la luz a través de los ojos, y que esta información circula a través del nervio óptico hasta el cerebro donde se procesa. Existen razones para creer que el primer paso de este procesado consiste en encontrar elementos más simples en los que descomponer la imagen (como segmentos y arcos). Después el cerebro interpreta la escena y por último actúa en consecuencia. La visión artificial, en un intento de reproducir este comportamiento, define tradicionalmente cuatro fases principales: • La primera fase, que es puramente sensorial, consiste en la captura o adquisición de las imágenes digitales mediante algún tipo de sensor. • La segunda etapa consiste en el tratamiento digital de las imágenes, con objeto de facilitar las etapas posteriores. En esta etapa de procesamiento previo es donde, mediante filtros y transformaciones geométricas, se MARCO TEÓRICO 21 eliminan partes indeseables de la imagen o se realzan partes interesantes de la misma. • La siguiente fase se conoce como segmentación, y consiste en aislar los elementos que interesan de una escena para comprenderla. • Por último se llega a la etapa de reconocimiento o clasificación. En ella se pretende distinguir los objetos segmentados, gracias al análisis de ciertas características que se establecen previamente para diferenciarlos. Estas cuatro fases no se siguen siempre de manera secuencial, sino que en ocasiones deben realimentarse hacia atrás. Así, es normal volver a la etapa de segmentación si falla la etapa de reconocimiento, o a la de pre proceso, o incluso a la de captura, cuando falla alguna de las siguientes. (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007) 3.4.6 Aplicaciones de la visión computacional La visión computacional es usada actualmente en una amplia variedad de aplicaciones en el mundo real, las cuales incluyen (Szeliski, 2011): • Reconocimiento óptico de caracteres (OCR): lectura de manuscritoscomo números y letras, y reconocimiento automático de números de placas en vehículos. • Inspección por maquina: inspección rápida para asegurar la calidad utilizando visión estereoscópica con iluminación especializada para medir tolerancias en partes de aviones o de autopartes. • Construcción de modelos 3D: construcción automatizada de modelos 3D a partir de fotografías aéreas, usado en sistemas como Bing maps. • Imagen médica: registro de imágenes pre-operativas e intra-operativas o realización de estudios sobre la morfología del cerebro de las personas. • Seguridad automotriz: detección de obstáculos inesperados en el camino como peatones, bajo condiciones en las que otros mecanismos como un radar no pueden funcionar correctamente. MARCO TEÓRICO 22 • Vigilancia: detección de intrusos, detección de tráfico en las carreteras e incluso monitoreo de piscinas contra victimas de ahogamiento. • Reconocimiento de huellas dactilares y sistemas biométricos: para controles de acceso a algún lugar, o para la aplicación de técnicas de reconocimiento forense. • Captura de movimiento: técnica utilizada para captar los movimientos de un actor y posteriormente realizar animaciones por computadora en base a estas capturas de movimiento. 3.5 Color Se debe de tomar en cuenta el tema del color ya que para realizar la segmentación de las imágenes se hace en base al color de los diferentes elementos que aparecen en las muestras de materiales con las que se trabaja. Cuando se nos cuestiona sobre la descripción de un objeto, nuestra respuesta generalmente es nombrar su color predominante. Por ejemplo, nosotros podemos preguntar ¿Cuál muestra? cuando miramos la Figura 3.5. Nuestra posible respuesta sea “la verde” en lugar de contestar “la lisa con el acabado mate”. Figura 3.5 Muestras de texturas para una pared La reproducción del color de un objeto es la llave para modelar su apariencia. Gran cantidad de trabajo se ha enfocado al estudio solamente del color. MARCO TEÓRICO 23 Nuestros ojos no son sensibles a todas las posibles variaciones en la distribución del espectro de color. Una descripción simplificada de nuestro sistema de visión es que en niveles normales de luz la luz incidente es procesada por tres sensores: una de las señales corresponde a la cantidad de luz en los rangos cortos de longitud de onda, otra a los rangos medios y la final a los rangos más altos. Estos tres tipos de sensores son como conos en nuestros ojos. Las señales son combinadas de varias maneras para producir nuestra percepción del color. La característica de los receptores que producen el color están relativamente bien estudiados, así como la función de sensibilidad que están midiendo en base a la longitud de onda recibida. (Dorsey, Rushmeier, & Sillion, 2008). 3.5.1 Representación del color Describir los colores con precisión es una cuestión de gran importancia comercial. Muchos productos están estrechamente asociados con un color muy específico, por ejemplo el color de varias computadoras populares, el color de las cajas de los rollos fotográficos. Las manufactureras tienen el gran reto para lograr que los diferentes lotes de producto tengan el mismo color. Esto requiere un sistema estándar para hablar acerca del color. Simples nombres no son suficientes, ya que demasiada gente conoce el nombre de los colores, pero también asocia todo la gama de tonos de color que pueden existir con un solo nombre como por ejemplo “verde”. (Forsyth & Ponce, 2002) Existen diferentes formas de organizar o codificar los diferentes colores a partir de componentes básicas, lo que se conoce como espacios de color. 3.5.2 Modelo RGB El modelo RGB se basa en los tres sensores humanos, considerando que todos los colores son una combinación de tres colores básicos o primarios: R (rojo), G (verde), B (azul). Generalmente los componentes se normalizan, obteniendo: 𝑟 = 𝑅 𝑅+𝐺+𝐵 ( 4.4 ) MARCO TEÓRICO 24 𝑔 = 𝐺 𝑅+𝐺+𝐵 ( 4.5 ) 𝑏 = 𝐵 𝑅+𝐺+𝐵 ( 4.6 ) Se pueden visualizar a todos los colores dentro de un triángulo, ver Figura 3.6, en cuyos vértices se encuentran los componentes primarios, R, G, B. Todos los demás colores, dentro del triángulo, se pueden obtener como una combinación lineal de los primarios. El color blanco se encuentra en el centro del triángulo, con igual proporción de cada color primario. La televisión y las pantallas de computadora se basan en este modelo para generar toda la gama de colores. (Sucar & Giovani) Figura 3.6 Diagrama cromático. El color de cada píxel en una imagen digital se indica generalmente en el estándar RGB, mediante la combinación de los tres colores primarios: rojo, verde y azul; cada canal de color contiene 256 niveles, los que combinados dan un total de 16,777,216 colores (16 millones de colores) (Chirinos Colunga, Valencia Palomo, & Atoche Enseñat, 2005). 3.5.3 Modelo HSV Representa uno de los espacios de coordenadas más clásicos e intuitivos existentes en la literatura. Su interpretación geométrica viene determinada por un cono de base quasi-hexagonal. MARCO TEÓRICO 25 Con esta representación del espacio de color (Figura 3.7), cada color trabaja con 3 componentes básicas: matiz, saturación y brillo. El matiz, Hhsv, hace referencia al valor de cromaticidad o clase de color. La saturación, Shsv, se refiere a las longitudes de onda que se suman a la frecuencia del color, y determina la cantidad de blanco que contiene un color. Entre menos saturado este un color más cantidad de blanco, y entre más saturado este un color menor cantidad de blanco. En definitiva, la saturación representa la pureza e intensidad de un color. Así, la falta de saturación viene dada por la generatriz en la representación del cono HSV. Esa falta de saturación representa la gama de grises desde el blanco hasta el negro. La luminancia, Vhsv, se corresponde con la apreciación subjetiva de claridad y oscuridad. (Gil, Torres, & Ortiz, 2004) Figura 3.7.- Representación del modelo HSV 3.6 Histograma Una de las técnicas que se pueden aplicar a una imagen para su mejoramiento visual son operaciones en su histograma. MARCO TEÓRICO 26 Un histograma de una imagen es la distribución de cada nivel de intensidad dentro de la imagen, es decir nos da un estimado de la probabilidad de ocurrencia de cada nivel de gris (r). 𝑝(𝑟𝑘) = 𝑛𝑘/𝑛 ( 4.7 ) Donde 𝑝(𝑟𝑘) es la probabilidad del nivel k, 𝑛𝑘 es el número de pixels que toma este valor y n es el número total de pixels en la imagen. En la Figura 3.8 se muestra en forma gráfica el histograma de dos imágenes, una con amplio rango de intensidades y otra con un rango reducido. Figura 3.8 Ejemplos de histogramas: (a) Imagen con varias intensidades. (b) Su histograma mostrando un rango amplio de grises o alto contraste. (c) Imagen oscura. (d) Su histograma presenta un rango de grises reducido(menor contraste). El histograma nos presenta una descripción global de la imagen y sobre todo nos da una indicación del contraste en la imagen. De aquí que si modificamos el histograma, podemos controlar el contraste en la imagen. MARCO TEÓRICO 27 Primero asumimos que el nivel de gris de la imagen, r, es una función continua y normalizada (entre 0 y 1). Deseamos realizar una transformación de forma que a cada nivel de gris r corresponda un nuevo nivel s: 𝑠 = 𝑇(𝑟) ( 4.8 ) Esta transformación debe satisfacer lo siguiente (Figura 3.9): Figura 3.9 Función de trasformación T es una función monotónicamente creciente (mantener el orden). 0 ≤ T ≤ 1 (mantener el rango). Podemos considerar las distribuciones de p(r) y p(s) como densidades de probabilidad. Entonces de teoría de probabilidad: 𝑝(𝑠) = [ 𝑝(𝑟)𝑑𝑟 𝑑𝑠 ] ( 4.9 ) Si utilizamos como función de transformación la distribución acumulativade r: 𝑠 = 𝑇(𝑟) = ∫ 𝑝(𝑟)𝑑𝑟 ( 4.10 ) Entonces, derivando s respecto a r en la ecuación anterior, obtenemos: 𝑑𝑠 𝑑𝑟 = 𝑝(𝑟) ( 4.11 ) Y, substituyendo (3.11) en la ecuación (3. 9), finalmente llegamos a que: MARCO TEÓRICO 28 𝑝(𝑠) = 1 ( 4.12 ) De forma que con esta transformación obtenemos una distribución uniforme para el histograma, maximizando así el contraste en la imagen. En el caso discreto, la transformación se convierte en: 𝑠(𝑘) = 𝑇(𝑟) = ∑ 𝑛𝑖/𝑛 𝑘 𝑖=1 ( 4.13 ) Para k = 0, 1, ..., N , donde N es el número de niveles. Esto considera que ambos r y s están normalizados entre cero y uno. Para poner la imagen de salida en otro rango hay que multiplicar por una constante (p. ej., 255). Un ejemplo de aplicar esta técnica a una imagen de bajo contraste se presenta en la Figura 3.10. Figura 3.10 Ecualización por histograma. (a) imagen ecualizada. (b) Histograma modificado. (c) Imagen ecualizada. (d) Histograma modificado. Esto se puede generalizar para obtener una distribución específica que no sea uniforme. También se puede aplicar en forma local a la imagen por regiones. Esta MARCO TEÓRICO 29 técnica provee en general muy buenos resultados para mejorar el contraste de una imagen. (Sucar & Giovani) Se debe notar que los histogramas no dicen nada sobre la disposición espacial de los píxeles. Por ello, un histograma es una forma de representación de imágenes en la que se produce pérdida de información. A partir del histograma de una imagen es imposible deducir la imagen que lo originó. Se deriva que aunque una imagen sólo puede tener un histograma, imágenes diferentes podrían tener el mismo histograma. El histograma de una imagen en niveles de gris proporciona información sobre el número de píxeles que hay para cada nivel de intensidad. En imágenes en color RGB se usan 3 histogramas, uno por cada componente de color. En el caso de imágenes de paleta, el histograma, si bien se puede calcular, tiene una utilidad menos evidente. Al construir histogramas, para evitar la dependencia entre el número de píxeles o el número de niveles de cuantización y el tamaño del histograma, suelen normalizarse los ejes entre 0 y 1. Esta es la razón por la que en los ejes no suelen aparecer las unidades. (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007) 3.7 Segmentación Una parte importante del desarrollo del proyecto es la segmentación de imágenes, a continuación se define el panorama en lo que a segmentación por computadora se refiere. Una perspectiva atractiva de visión es que es un problema de deducción: se tienen ciertas medidas y se desea determinar qué las causó, utilizando una modalidad. Estas son características cruciales que distinguen la visión de muchos otros problemas de inferencia: primeramente tenemos una cantidad horriblemente alta de datos, y segundo, nosotros no sabemos cuáles de estos datos pertenecen a los objetos. Obtener esta representación, es conocido como segmentación (Forsyth & Ponce, 2002). MARCO TEÓRICO 30 La segmentación de imagen es la tarea de encontrar los grupos de pixeles que van juntos. Estadísticamente este problema es conocido como análisis de clusters y es un área ampliamente estudiada con cientos de diferentes algoritmos. En visión computacional, la segmentación de imágenes es uno de los más antiguos y amplios problemas estudiados. Las primeras técnicas tienden a utilizar división de regiones o fusión, que corresponden a algoritmos divisivos o aglomerativos en la literatura de clusters. (Szeliski, 2011) Realmente, la etapa de segmentación es crucial para el reconocimiento de formas pudiéndose complicar o simplificar enormemente según sea la escena más o menos compleja. En un entorno industrial puede ocurrir que las escenas se compliquen más o menos, dependiendo del conjunto de objetos que se tengan que reconocer y de la disposición de estos en el entorno. Al final de la etapa de segmentación, se tienen que conocer perfectamente los objetos que hay para extraer las características propias de cada uno de ellos. Además, cada pixel de la imagen tiene que tener una etiqueta que los defina, de forma que simplemente por agrupación de puntos con la misma etiqueta y conectados espacialmente, se pueda determinar la lista de objetos (estos objetos son realmente zonas o regiones individualizadas dentro de la imagen, ya que un objeto, en el sentido estricto de la palabra, puede estar repartido en varias regiones diferentes dentro de la imagen obtenida). (González Marcos, y otros, 2009) En general, el proceso de la segmentación suele resultar complejo debido, por un lado, a que no se tiene una información adecuada de los objetos a extraer y, por otro, a que en la escena a segmentar aparece normalmente ruido. Es por esto que el uso de conocimiento sobre el tipo de imagen a segmentar o alguna otra información de alto nivel puede resultar muy útil para conseguir la segmentación de la imagen. Algunos ejemplos típicos de procesos de segmentación son: tratar de separar los caracteres que forman una palabra dentro de una imagen de un texto, detectar ciertos tipos de células en imágenes médicas, extraer los vehículos MARCO TEÓRICO 31 que aparecen en una imagen de una carretera. (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007) Existen varias técnicas para la segmentación de regiones. Éstas se pueden clasificar en tres tipos (Sucar & Giovani): 1. Locales – se basan en agrupar pixels en base a sus atributos y los de sus vecinos (agrupamiento). 2. Globales – se basan en propiedades globales de la imagen (división). 3. División–agrupamiento (split & merge) – combinan propiedades de las técnicas locales y globales. 3.8 Técnicas de segmentación 3.8.1 Segmentación por histograma La segmentación por histograma o umbralización (thresholding) es una técnica global que se basa, inicialmente, en asumir que hay un sólo objeto sobre un fondo uniforme. Por esto se consideran dos regiones en la imagen y para dividirlas se toma como base el histograma de intensidades. Podemos asumir que si hay dos regiones se tiene dos picos en el histograma. Entonces se toma el valle (valor mínimo) entre los dos y este se considera la división entre las dos regiones. De esta forma todos los pixels que correspondan a un lado del histograma se toman como una región y el resto como otra. Cabe notar que esta técnica sólo considera la intensidad (u otro atributo) de los pixels, sin tomar en cuenta la coherencia espacial de la región. Por ello, dos pixels separados en la imagen, pueden pertenecer a la misma región si tienen intensidades similares. Un ejemplo de segmentación por histograma se muestra en la Figura 3.11, con diferentes puntos de división (umbrales). Este ejemplo ilustra la importancia de la determinación del punto de división (valor mínimo) en el histograma. (Sucar & Giovani) La técnica de segmentación por histograma se puede extender a N regiones, tomando cada pico del histograma como una región y los mínimos correspondientes como las divisiones entre regiones. Esto se ilustra en la Figura 3.12. En la práctica, MARCO TEÓRICO 32 esta forma de segmentación funciona para “pocas” regiones, ya que al aumentar éstas, se vuelve muy difícil determinar los picos y valles del histograma. Figura 3.11 Ejemplo de segmentación por histograma a) Imagen original b) Segmentación con división en 150 c) Segmentación con división en 200 d) Segmentación con división en 250 Figura 3.12 Histograma de una imagen con múltiples regiones. Cada valle, indicado con una línea punteada, representa la división entre dos regiones. Otra variación de este algoritmo es su aplicación a imágenes de color. Para ello se obtiene el histograma paracada componente de color en diferentes modelos, MARCO TEÓRICO 33 se hace la división en cada histograma y se combinan los resultados. Esto se realiza mediante una división recursiva de la siguiente manera: 1. Considerar cada región (inicialmente toda la imagen) y obtener los histogramas para cada componente. 2. Tomar el pico más significativo de las componentes y utilizarlo para dividir la región en 3 subregiones tomando los dos mínimos en cada lado del pico. 3. Repetir los pasos (1) y (2) hasta que ya no existan picos significativos. Aunque se puede aplicar en imágenes simples, esta técnica presenta ciertas limitaciones (Sucar & Giovani): • Es difícil identificar correctamente los mínimos en el histograma. • Se tienen problemas cuando las regiones varían suavemente su nivel (sombreado, por ejemplo). • Se aplica sólo cuando hay pocas regiones. • No se pueden distinguir regiones separadas de niveles similares de gris (conectividad) Umbralización adaptativa En las técnicas anteriores, los rangos de umbralización se consideran fijos con independencia de las características locales de la imagen considerada. En muchas imágenes, donde la iluminación no es uniforme, puede ocurrir que píxeles del mismo objeto a segmentar tengan niveles de gris muy diferentes. Ello conlleva que no sea posible elegir un único umbral que, sobre toda la imagen, distinga los píxeles de un objeto de los de otro. La umbralización adaptativa o variable permite resolver este problema haciendo que el valor del umbral varíe según una función que depende de las características locales del entorno del punto que se evalúa. El algoritmo queda de la siguiente manera: (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007) - Algoritmo de umbralización adaptativa - Paso 1.- Dividir la imagen original 𝐼(𝑖, 𝑗) en subimágenes 𝐼𝑘(𝑖, 𝑗) donde se supone que los cambios de iluminación no son tan fuertes. MARCO TEÓRICO 34 Paso 2.-Determinar independientemente un umbral 𝑈𝑘 para cada subimagen 𝐼𝑘(𝑖, 𝑗). Paso 3.-Si en alguna subimagen no se puede determinar su umbral, calcularlo mediante la interpolación de los valores de los umbrales de subimágenes vecinas. Paso 4.-Procesar cada subimagen con respecto a su umbral local. La Figura 3.13 presenta un ejemplo (a) en el que la umbralización global no es capaz de rescatar simultáneamente el texto manuscrito y el pre impreso. Esto se debe a que el texto manuscrito se superpone a un fondo del mismo nivel de intensidad que el utilizado para el propio texto pre impreso. Por ello, ni tomando el umbral global en H1 (b), ni en H2 (c) se obtienen resultados aceptables. Sin embargo, el uso del umbral adaptativo (f) permite obtener una imagen umbralizada (d) que sí rescata simultáneamente tanto texto manuscrito como pre impreso. (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007) Figura 3.13 Comparación entre umbralización global y la umbralización adaptativa. MARCO TEÓRICO 35 3.8.2 Segmentación orientada a regiones Los métodos que se examinan ahora construyen las regiones directamente. Las regiones resultantes de estos procesos de segmentación deberán ser homogéneas y maximales, donde maximal significa que los criterios de homogeneidad no se cumplirán tras la unión de una región con alguna de sus adyacentes. El criterio más simple de homogeneidad utiliza el nivel de gris medio de la región, algunas propiedades simples o un vector de medias para imágenes multibanda. 3.8.3 Unión de regiones El método más natural para el crecimiento de las regiones es comenzar considerando cada pixel de la imagen como una región, obviamente en este caso cada región es homogénea, pero no necesariamente cumple el criterio de ser las regiones maximales. El proceso habrá de repetirse hasta que las regiones sean maximales. En algoritmo, el método sería (González Marcos, y otros, 2009): • Definir una segmentación inicial que cumpla el criterio de homogeneidad. • Definir un criterio para unir regiones adyacentes. • Unir las regiones adyacentes si cumplen el criterio de unión. Parar cuando no puedan unirse dos regiones sin romper el criterio de homogeneidad. • En general, podría decirse que lo más importante es seleccionar el criterio para realizar la unión. Algunos criterios de tipo heurístico son: o Unir dos regiones 𝑅𝑖 y 𝑅𝑗 si 𝑤/𝑃𝑚 > 𝜃1, donde 𝑃𝑚 = min (𝑃𝑖, 𝑃𝑗), 𝑃𝑖 y 𝑃𝑗 son los perímetros de 𝑅𝑖 y 𝑅𝑗 y w es el número de localización de frontera débiles, (pixels que a ambos lados tienen una diferencia menor que un cierto umbral). 3.8.4 Segmentación mediante extracción y análisis de texturas Dentro de las técnicas de segmentación actuales, cobran gran importancia todas aquellas que tratan las texturas que se encuentran en la imagen. Realmente, no hay una única y universal definición de textura, aunque se suele determinar que la MARCO TEÓRICO 36 medida de texturas es la medición en una imagen de la rugosidad, suavidad y regularidad dentro de ella. Ehrich y Foith (1978) resumieron el análisis de texturas en tres campos de estudio: • Dada una región con texturas determinar a qué tipo pertenece (dentro de un número finito de clases definido) • Dada una textura obtener una descripción o modelo de ella. • Dada una imagen con múltiples texturas, determinar los contornos entre regiones con distintas texturas. El punto uno se aproxima al reconocimiento de formas. El punto dos se basa en la forma de modelizar las texturas. Y el tercer punto trata de la segmentación de una imagen mediante el análisis de las texturas. Es claro, que el punto tres no puede hacerse sin el uso de los otros dos (modelizado y clasificación). Existe gran cantidad de métodos de segmentación basados en el análisis de texturas. Estos se basan en obtener unos descriptores que permitan clasificar claramente las texturas (media, varianza, etc.), para poder extraerlas de la imagen a analizar (González Marcos, y otros, 2009). 3.8.5 División y unión de regiones (”split and merge”) Horowitz y Pavlidis propusieron en 1976 un método que recibe la imagen a segmentar y devuelve una imagen resultado formada por regiones homogéneas. El algoritmo propuesto sigue la técnica de “divide y vencerás” tiene dos fases: dividir la imagen en subimágenes o regiones (split) y luego agrupar subimágenes similares (merge). Para implementar el algoritmo primero se debe definir una medida que determine la similitud entre regiones de la imagen. Por ejemplo, se podrían utilizar los valores de la media y la desviación típica de los niveles de gris de los píxeles de la región. Una vez definida, dicha medida se aplica inicialmente a toda la imagen. Si esta medida supera un cierto umbral, la imagen inicial se divide MARCO TEÓRICO 37 en cuatro subimágenes de igual tamaño (cuadrantes). Después, se vuelve a calcular esta medida sobre cada una de las cuatro subimágenes. Si la medida en alguna de las imágenes resultantes de la división vuelve a sobrepasar de nuevo el umbral, ésta se vuelve a subdividir en cuatro partes iguales, y así sucesivamente. Cuando la medida sobre alguna de las regiones no supera el umbral, se la etiqueta como indivisible con el valor calculado. En caso contrario, la subdivisión continúa hasta que el tamaño de la región considerada sea de un píxel, momento en que dicha región se etiqueta igualmente con el valor de la medida correspondiente. (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez- Marin, 2007) La segunda fase del algoritmo consiste en unir pares de regiones adyacentes que presenten un valor similar de la medida (de acuerdoa un nuevo umbral). El procedimiento se itera hasta que no quedan zonas adyacentes con similares características que sigan separadas. La aplicación del criterio de unión mediante fuerza bruta puede ser costoso en imágenes grandes. Con objeto de minimizar el número de comparaciones puede usarse una estructura de tipo quadtree para almacenar la representación de las regiones (Figura 3.14). Esta representación permite aplicar reglas como la de que regiones de tipo A sólo adyacen a regiones de tipo B y C. Con estas reglas el número de posibles comparaciones se reduce. Figura 3.14 Representación en quadtree (a) de las regiones de la imagen (b) MARCO TEÓRICO 38 Horowitz y Pavlidis utilizaron como criterio de referencia la media de los valores de intensidad de los píxeles de la región, aunque el criterio de referencia puede ser cualquier otro (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007). 3.8.6 Segmentación basada en el color El aumento de resolución radiométrica siempre aporta nueva información que puede facilitar el proceso de segmentación. Sin embargo siempre debe tenerse en cuenta que los requisitos computacionales aumentan considerablemente respecto a las técnicas basadas en imágenes en niveles de gris o bitonales. Ya se ha estudiado que el color se puede representar como la unión de tres planos, cada uno con la información relativa a la intensidad de cada punto respecto a cada una de las componentes de una base de color (rojo, verde y azul en el modelo RGB). Una técnica común de segmentación en color consiste en separar el proceso en dos fases. En la primera se aplican las técnicas que se han estudiado para niveles de gris a cada uno de los tres planos RGB. En la segunda se integran los resultados de la primera para producir como resultado la segmentación de la imagen en color (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez- Marin, 2007). Una técnica de este tipo es aquella basada en el crecimiento de regiones. En concreto, se aplica una variante que contempla el color del algoritmo de “Split-and-merge”, descrito al explicar la segmentación basada en regiones. El algoritmo queda de la siguiente forma: (Vélez Serrano, Moreno Díaz, Sánchez Calle, & Esteban Sánchez-Marin, 2007). - Algoritmo Split and Merge para segmentación basada en el color- Paso 1.-Se calculan las características de color usando los valores de las componentes de los planos rojo, verde y azul de una imagen RGB. Paso 2.-La imagen se divide en regiones cuadradas de igual tamaño, usando la estructura de datos de árbol cuaternario o “quadtree”. MARCO TEÓRICO 39 Paso 3.- Cuatro cuadrantes situados a un mismo nivel de subdivisión son mezclados si se satisface un cierto criterio de homogeneidad. Un cuadrante se subdivide en otros cuatro si no se satisface una condición de homogeneidad. METODOLOGÍA 40 CAPÍTULO IV. METODOLOGÍA Para el desarrollo del proyecto se seleccionó el “Modelo en Cascada” debido a que el flujo de trabajo que se sigue en esta metodología consiste en avanzar a la fase siguiente solo cuando la fase anterior está totalmente completa, generando un recorrido descendente entre cada una de las fases que componen esta metodología. Las fases del proyecto son cinco: a) definición de requerimientos, b) análisis y diseño de software, c) implementación y pruebas de unidades, d) integración y pruebas del sistema e) operación y mantenimiento. Estas fases se pueden observar en la Figura 4.1 Se incluye en la metodología seleccionada la retroalimentación de fases ya que es posible que después de la entrega del software y la evaluación por parte de los usuarios, sean sugeridos cambios en el software incluyendo las funciones y la interfaz de usuario. Esta retroalimentación por parte del usuario puede dar inicio a trabajos futuros que pueden ser realizados mediante otros proyectos de desarrollo. Figura 4.1 Fases de la metodología en cascada Las principales etapas de este modelo se transforman en actividades fundamentales de desarrollo: METODOLOGÍA 41 Definición de requerimientos. Los servicios, restricciones y metas del sistema se definen a partir de las consultas con los usuarios. Entonces, se definen en detalle y sirven como una especificación del sistema. Análisis y diseño del software. El proceso de diseño del sistema divide los requerimientos en sistemas hardware o software. Establece una arquitectura completa del sistema. El diseño del software identifica y describe las abstracciones fundamentales del sistema software y sus relaciones. Implementación y prueba de unidades. Durante esta etapa, se desarrolla el software como un conjunto o unidades de programas. La prueba de unidades implica verificar que cada una cumpla su especificación. Integración y prueba del sistema. Los programas o las unidades individuales de programas se integran y prueban como un sistema completo para asegurar que se cumplan los requerimientos del software. Después de las pruebas, el sistema software se entrega al cliente. Operación y mantenimiento. Por lo general (aunque no necesariamente), ésta es la fase más larga del ciclo de vida. El sistema se instala y se pone en funcionamiento práctico. El mantenimiento implica corregir errores no descubiertos en las etapas anteriores del ciclo de vida, mejorar la implementación de las unidades del sistema y resaltar los servicios del sistema una vez que se descubren nuevos requerimientos (Sommerville, 2005). 4.1 Definición de requerimientos En esta sección se establecen los requerimientos tanto del usuario como del sistema en una forma formal y clara para una correcta compresión de las necesidades que se deben cubrir con el desarrollo del proyecto de software. Existen diferentes tipos de requerimientos que deben ser cubiertos; como se menciona en el párrafo anterior unos son los requerimientos del usuario, estos son establecidos por los investigadores del Centro de Investigación en Materiales Avanzados (CIMAV) quienes tienen el papel del cliente (usuario final). Y por otro lado los requerimientos propios del software a desarrollar, en este caso los tipos de METODOLOGÍA 42 algoritmos a utilizar, las librerías que se utilizarán para la codificación del software, los módulos concretos que serán desarrollados para cumplir las funciones requeridas por el usuario final, entre otras cuestiones técnicas que deben ser establecidas formalmente para facilitar la comprensión y el desarrollo del software. 4.1.1 Requerimientos del usuario Para una correcta definición de los requerimientos se realizaron reuniones con los investigadores del Centro de Investigación en Materiales Avanzados (CIMAV) en donde surge la idea de realizar un desarrollo tecnológico, en este caso un software de análisis de materiales. La principal preocupación de los investigadores era la cuestión del tiempo disponible y la concurrencia de los usuarios que tenían los equipos de análisis de muestras al ser utilizados, ya que en el CIMAV existe una cantidad limitada de ellos, por lo que al ser un número muy grande de usuarios que necesitan utilizar estas herramientas, el tiempo de espera es muy grande, además de incierto ya que no se tiene establecido un tiempo límite por evento a los usuarios para la utilización de los equipos y el software que los acompaña. En base a esta necesidad de reducir los tiempos de espera se encuentra que la mejor manera de reducir este tiempo, es la adquisición de más equipamiento de microscopía y licencias de software de análisis de muestras para cubrir la demanda. Pero el centro de investigación no cuenta con los recursos necesarios para la adquisición de estos equipos. Una forma de solventar este problema es el desarrollo de un sistema que ayude
Compartir