m (AdianezGamboa moved page Draft Gamboa 374900582 to Review 920311942324)
m (AdianezGamboa moved page Review 920311942324 to Draft Gamboa 639370325)
(No difference)

Revision as of 16:09, 22 November 2023

Algoritmo no supervisado para la segmentación de imágenes digitales de micrografías de nanopartíclas de plata (Ag).

Adianez Arhely Gamboa Rivasadianezgamboa@uadec.edu.mxa, José Luis Fraga Almanzaa, Carlos Eduardo Rodríguez Garcíaa, Andrea Molina Estradab, Efraín Viesca Villanuevac

2 Introducción

El Álgebra Lineal Numérica (ALN) comprende entre otros temas diversos, el estudio de algoritmos que realizan operaciones con matrices utilizando una computadora [1]. Es parte fundamental de la matemática aplicada contemporánea, dando solución a problemas de la ingeniería, ciencias de la computación, simulación numérica en ciencias de los materiales, biomatemática, minería de datos, entre muchas otras áreas de la ciencia. Los problemas numéricos actuales, demandan una gran cantidad de recursos de cómputo, debido al diluvio de datos que actualmente se genera con un simple dispositivo móvil por ejemplo.

El problema de agrupamiento de datos y en particular la segmentación de imágenes son tópicos de estudio actualmente. La segmentación de imágenes es un tipo particular de agrupamiento, cuyo objetivo es agrupar píxeles para extraer información valiosa. La Microscopía Electrónica de Transmisión (TEM) genera imágenes con alta resolución, eso implica una gran cantidad de píxeles del orden del millón o más de ellos, su obtención es costosa en distintos sentidos. En este estudio, que actualmente se encuentra en desarrollo, se busca analizar imágenes de nanopartículas de plata y determinar propiedades como cantidad y diámetro. El desafío radica en la alta densidad de píxeles en estas imágenes. La investigación se centra en la aplicación del algoritmo KMeans para abordar este problema. Además, se utilizará una microcomputadora de alto rendimiento, Parallella, para procesar eficientemente los datos [2]. Este enfoque promete avanzar en la caracterización de nanopartículas de plata a partir de imágenes TEM, a pesar de los desafíos relacionados con la resolución y la complejidad de los datos.

3 Preliminares

A continuación se presenta el contexto teórico en el cual se basa el estudio del problema de agrupamiento en imágenes digitales de nanopartículas de plata (Ag). Se define el problema a tratar en esta investigación y que es uno de los problemas actuales dado el diluvio de datos en el que se vive actualmente. Por otra parte, las imágenes que son el objeto de estudio, son obtenidas por una técnica llamada Transmission Electron Microscopy (TEM), es ampliamente utilizada en la síntesis de nanopartículas. Sin embargo, el costo monetario para obtener este tipo de imágenes es considerable, ya que es una técnica experimental que depende de instrumentos delicados y una infraestructura especializada. El resultado de esta técnica son imágenes digitales que se caracterizan por tener una alta resolución de píxeles que llegan al millón o más de los mismos, esto hace que estudiar este tipo de imágenes sea complejo por la cantidad de píxeles que en ella existen. Es por eso, que es relevante hacer un estudio de este tipo de imágenes con algoritmos del tipo no supervisado y particionales para caracterizarlas y realizar estudios posteriores de ellas, en el sentido del agrupamiento de datos.

3.1 Problema de Agrupamiento

En el aprendizaje no supervisado el agrupamiento de datos es un problema relevante en la actualidad [3].

Definición 1: Dado un conjunto de datos con objetos en un espacio -dimensional, agrupar datos es particionar los mismos en grupos tales que los puntos dentro de un grupo son más similares entre ellos que con otros grupos, dicha similitud se mide atendiendo a alguna función distancia.

Ejemplo de puntos graficados en R² y su agrupamiento. Fuente: Elaboración propia.
Figura 1: Ejemplo de puntos graficados en y su agrupamiento. Fuente: Elaboración propia.

En este problema el objetivo principal es encontrar grupos en conjunto de datos con ciertas características partículares. En este sentido se puede decir que este problema es el proceso de organizar objetos con gran similitud, ver Figura 1.

3.2 Microscopía TEM

El TEM (del inglés, Transmission Electron Microscope) tal como lo indica [4] es un instrumento que aprovecha los fenómenos físico-atómicos que se producen cuando un haz de electrones suficientemente acelerado colisiona con una muestra delgada convenientemente preparada. En la muestra los electrones colisionan con respecto a algunas propiedades específicas (grosor y tipo de átomos), por ejemplo [5]. Todo este proceso forman una imagen final con distintas intensidades de gris que corresponde al grado de dispersión de los electrones incidentes.

Draft Gamboa 374900582-TEM2NPsAg 0016.png Ejemplos de imágenes de nanopartículas de plata (Ag) sintetizadas con resina de mezquite, utilizando la técnica TEM. Fuente: Universidad de Guanajuato.
Figura 2: Ejemplos de imágenes de nanopartículas de plata (Ag) sintetizadas con resina de mezquite, utilizando la técnica TEM. Fuente: Universidad de Guanajuato.

Las imágenes TEM ofrecen información sobre la muestra como su estructura por ejemplo, si es amorga o cristalina [6]. Cuando las muestras son cristalinas pueden existir varias familias de planos periódicos cumpliendo la condición de la ley de Bragg y difracten la onda electrónica incidente [7]. Esto da lugar a un diagrama de difracción, que es una imagen de distintos puntos ordenados respecto a un punto central (electrones transmitidos no desviados) que aporta información sobre la orientación y estructura del/los cristales presentes.

Por lo tanto, en lo descrito anteriormente, de lo que trata este trabajo no es de caracterizar nanopartículas de plata por medio de técnicas de síntesis experimentales, si no, más bien, estudiar las imágenes que son el resultado de esta técnica (TEM) por medio de sus elementos individuales llamado píxeles y poder encontrar patrones, relaciones o asociaciones de los mismos para obtener información y poder definir propiedades como los diámetros y la cantidad de nanopartículas existentes en la imagen.

4 Objetivos

4.1 Objetivo General

Estudiar e implantar un algoritmo tipo KMeans utilizando una computadora de nueva generación llamada parallella en la segmentación de imágenes de alta resolución y en tonalidades de grises.

4.2 Objetivos Específicos

  1. Revisar literatura especializada respecto al problema en buscadores especializados.
  2. Estudiar el algoritmo KMeans.
  3. Implementar el algoritmo KMeans para la segmentación de imágenes de alta resolución y en tonalidades de grises.
  4. Conocer la computadora de nueva generación llamada Parallella.

5 Metodología

En esta sección se presenta la metodología a utilizar para llevar a cabo este trabajo. Se describe la búsqueda de la información. Se presenta el algoritmo del tipo particional y no supervisado llamado KMeans que es uno de los más utilizados para llevar a cabo segmentación de imágenes [8,9]. Tiene la característica de ser simple, compacto y fácil de implementar computacionalmente. Sin embargo, es necesario realizar preprocesamientos previos para que el algoritmo funcione de manera adecuada en la solución del problema de agrupamiento. Este problema se presenta en particular para hacer agrupamiento de píxeles es decir hacer segmentación de imágenes en escala de grises y por último se menciona la herramienta computacional que se estará utilizando en el desarrollo de este trabajo.

Metodología a utilizar en el trabajo. Fuente: Elaboración propia.
Figura 3: Metodología a utilizar en el trabajo. Fuente: Elaboración propia.

5.1 Revisión de la literatura

La revisión de la bibliografía se realiza por medio de algunos artículos seleccionados reportados en Google Académico en revistas indizadas en Journal of citation of reports (JCR) u otros índices como Latindex. La metodología usada para tal búsqueda fue mediante los siguientes criterios: 1) frases claves en inglés como Unsupervised algorithms, KMeans aplications. parallel kmeans; 2) Análisis de la información centrado en las algoritmos no supervisados del tipo particionales, enfocándose en aspectos tales como: (i) geometrías, (ii) centroides iniciales y (iii) posibles aplicaciones; 3) Se indagó sobre el problema de agrupamiento poco estudiadas como lo son las algoritmos en paralelo y algoritmos robustos.

5.2 El algoritmo KMeans

La aplicación de algoritmos de agrupamiento es una solución a este problema y uno de ellos es KMeans. Este algoritmo es simple y con una gran candidad de variabtes comose describe en [9]. Se mencionan algunas propiedades del algoritmo KMeans, para mayor detalle, consultar en [3,10].

Algoritmo KMeans

Dado un conjunto de datos y un número de clústers a formar, entonces

  1. Seleccionar un conjunto arbitrario o aleatorio de centroides iniciales en para los clústers: .
  2. Para cada de , encontrar el centroide más cercano a y asignamos al clúster
  3. Para cada uno de los clústers recalcular su centroide basado en los elementos que están contenidos en el clúster.
  4. Repetir los pasos 2 y 3 hasta que
  5. donde es una partición de los grupos.

5.3 Segmentación de imágenes

La segmentación de imágenes es un tipo de agrupamiento y es una de las aplicaciones donde se puede utilizar el algoritmo KMeans. A continuación lo aplicaremos a la segmentación de imágenes en escala de grises. Adicionalmente se presenta un pre-procesamiento que ayudará a encontrar centroides iniciales para ayudar al algoritmo a encontrar mejores agrupamientos.

5.3.1 Imágenes a escala de grises

En las imágenes a escala de grises cada píxel puede definir solamente una tonalidad de gris (luminosidad) y el número de píxeles define la cantidad de información que contiene la imagen [11]. Las tonalidades están comprendidas en el intervalo donde el tono negro es el valor de y el blanco es el valor de , ver Figura 4.

Escala de grises de 0 a 255. Fuente: Elaboración propia.
Figura 4: Escala de grises de 0 a 255. Fuente: Elaboración propia.

Una imagen en escala de grises se representa por una matriz. En la Figura 5 se observa un ejemplo de una imagen digital en escala de grises y su matriz asociada que es de píxeles.

Figuras/sonrisa
Figura 5: Representación matricial de una imagen en una computadora. Fuente: Elaboración propia.

El conjunto de datos a agrupar se define a continuación. A cada píxel se le asocia la terna donde es el lugar geométrico que ocupa cada píxel en la matriz asociada a la imagen y es la tonalidad correspondiente. De esta manera se construye otra matriz donde cada renglón representa un píxel. Se usa la norma euclidiana en el algoritmos KMeans para encontrar los grupos que tienen las propiedades siguientes:

  1. Sus componentes y de cada píxel están cercanas entre sí, es decir están cercanas geométricamente.
  2. Sus componentes de cada píxel tienen tonos de gris cercanos entre sí.

5.3.2 Preprocesamiento para escoger los centroides iniciales

La inicialización para que el algoritmo KMeans haga las búsqueda de los grupos siempre ha sido un problema en él. Esto depende del problema a resolver, porque no siempre se tiene información completa respecto al problema y si se tiene, puede llegar a tener mucho ruido o datos basura y esto complica la búsqueda de los grupos para KMeans. En este sentido, para obtener información precisa sobre el conjunto a segmentar, en esta sección se presenta un algoritmo propio para obtener centroides iniciales que son obligatorios para que el algoritmo haga la segmentación de forma más precisa o por lo menos con información adock al conjunto de datos a estudiar.

Algoritmo: Prepocesamiento de los centroides iniciales

  1. Hacemos una particióm de los renglones de la matriz de datos en grupos, de acuerdo al grupo en el que se encuentra la tonalidad de cada renglón.
  2. Calculamos la media de cada uno de esos grupos de renglones de la matriz de datos, estas medias serían los centroides iniciales.
  3. Si alguno de los grupos es vacío, entonces se generan los centroides de manera arbitraria o aleatoria.
Representación por intervalos para seleccionar centroides iniciales. Fuente: Elaboración propia.
Figura 6: Representación por intervalos para seleccionar centroides iniciales. Fuente: Elaboración propia.

5.4 Computadora de nueva generación llamada Parallella

Dada la cantidad de datos que puede llegar a tener una imagen tanto a color como en escala de grises, es necesario procesarlas de forma adecuada dentro de una computadora. En la mayoría de las computadoras actuales esto no implica un problema evidente. El problema radica a la hora de procesar la gran cantidad de datos que es necesario hacer subconjuntos de ellos o trabajarlos de manera distribuida [12]. Para este último caso, existe un proyecto llamado Parallella diseñado para el alto desempeño numérico. En este trabajo se utilizará este tipo de microcomputadora para procesar la gran cantidad de datos existentes en las imágenes de las nanopartículas de plata y que se pondrá a prueba para conocer este tipo de metodologías de cómputo distribuido [13]. A continuación se mencionan algunas de sus características obtenidas de [13,12].

  • La placa Parallella es una plataforma computacional desarrollada por la compañía Adapteva y compuesta por un total de 18 cores.
  • Posee el tamaño aproximado de una tarjeta de crédito (54mmx 87mm)
  • un dispositivo que ofrece alto rendimiento y bajo consumo de potencia, pudiendo ser utilizado como un ordenador independiente,como un sistema empotrado, o como componente de un cluster de servidores en paralelo.
  • El procesador principal o host de esta placa es un ARM Cortex A9 dual-core, incluido en un SoC Zynq de la empresa Xilinx que se encuentra integrado en la placa.
  • El siguiente componente en importancia es un chip Epiphany-III o Epiphany-16, consistente en una matriz escalable de 16 cores(procesadores RISC), el cual es usado como coprocesador.
  • Los núcleos independientes que conforman esta matriz están conectados entre sí a través de una NoC (Network-on-Chip) integrada internamente en el dispositivo Epiphany, además de una arquitectura DSM (Distributed Shared Memory)

Este tipo de micro computadora tiene como objetivo proporcionar una plataforma para desarrollar e implementar procesamiento paralelo de alto rendimiento. La versión que se utiliza en este trabajo que es la de 18 núcleos (16 núcleos Epiphany y 2 núcleos ARM) alcanza 32 gigaFLOPS ( operaciones por segundo) utilizando solo 5 volts [12,13]. La arquitectura de esta computadora es la clásica de John von Neumann, con la diferencias de que contiene un arreglo de multiprocesadores de nueva generación que se puede observar en la Figura 7.

Arquitectura computacional parallella. Fuente: Elaboración propia.
Figura 7: Arquitectura computacional parallella. Fuente: Elaboración propia.

5.5 Aplicación de KMeans a imágenes de microscopías TEM de NP Ag

El algoritmo KMeans se aplica a una imagen que representa a una micrografía de nanopartículas de plata (Ag), en ella se puede observar una gran cantidad de datos en forma de píxeles en escala de grises, ver Figura 8.

Micrografía TEM de NP de Ag,  imagen con resolución 1020×1030
Figura 8: Micrografía TEM de NP de Ag, imagen con resolución

Para llevar a cabo la segmentación de la Figura 8 es necesario considerar que tiene una resolución en píxeles (es el número de píxeles que contiene una imagen digital) y su matriz de datos asociada es . Esto significa que se tiene un millón cincuenta mil seiscientos píxeles en distintas tonalidades de grises.

Se utiliza el algoritmo KMeans para llevar a cabo una segmentación de esta imagen, utilizando los argumentos de entrada para que significa que se busca dos grupos de tonalidades de píxeles y cuyos centroides serán los primeros dos datos del conjunto de píxeles existentes en la imagen y cuya implementación del algoritmo se hizo utilizando el lenguaje de programación Python.

Imagen de micrografía de nanopartículas de plata (Ag) segmentada con KMeans. Fuente: Elaboración propia.
Figura 9: Imagen de micrografía de nanopartículas de plata (Ag) segmentada con KMeans. Fuente: Elaboración propia.

Es evidente que la imagen segmentada es un mal agrupamiento, ver Figura 9. Una idea errónea de la segmentación de imágenes es que se intente reproducir la imagen original. En este caso, ni siquiera se puede decir eso. Este mal agrupamiento puede estar influenciado por los argumentos iniciales que se le proporcionan al algoritmo y por la cantidad de datos (píxeles) existentes en la imagen. Considerando este último factor se reduce en la imagen la cantidad de píxeles para generar otra imagen de píxeles, es decir con una resolución de que son la cantidad de píxeles en esta nueva imagen.

Draft Gamboa 374900582-NPAg100 5nm.png Draft Gamboa 374900582-NPAg100 5nmk2sin1.png
(a) (b)
Figura 10: La imagen a) es una reducción de la original y que es de píxeles, b) Es la imagen segmentadad con KMeans con un valor de y centroides iniciales no aleatorioa. Fuente: Elaboración propia.

En la segmentación de la imagen de la Figura 10 se observa solo dos tonalidades de píxeles agrupados. Estas tonalidades son el blanco y negro, dado que se le indica al algoritmo un valor de . En la siguiente Figura 11 se observa la misma imagen segmentada pero ahora utilizando el preprocesamiento descrito en la sección 5.3.2.

Draft Gamboa 374900582-NPAg100 5nm.png Draft Gamboa 374900582-NPAg100 5nmk2con.png
(a) (b)
Figura 11: La imagen a) es una reducción de la original y que es de píxeles, b) Es la imagen segmentadad con KMeans utilizando el preprocesamiento descrito en la sección 5.3.2. Fuente: Elaboración propia.

El resultado es un mejor agrupamiento de los datos (píxeles). Esto es así, porque los centroides iniciales que se dan como argumentos de entrada al algoritmo KMeans son datos extraídos propiamente del conjunto de datos a agrupar y por lo tanto, el agrupamiento mejora. Esto no significa que es la única forma de inicializarlo, pueden existir otras más. No obstante, esto sugiere que en esta fase de la investigación se ha logrado un progreso significativo en la capacidad de analizar las imágenes de alta densidad de píxeles que se desean estudiar.

5.6 Consideraciones finales

Para poder hacer la segmentación de la imagen, fue necesario reducir la resolución de la misma para poder procesarla. Esto da un indicio de tener la necesidad de distribuir los datos contenidas en las imágenes para poder tratarlas, sobre todo en aquellas imágenes de alta resolución y más aún si se tiene un conjunto de este tipo de imágenes a procesar.

El preprocesamiento para obtener los centroides iniciales para el algoritmo KMeans proporciona un buen resultado hasta el momento, pero se considera una heurística que puede tener fallos, una de ellas es cuando las imágenes tengan ruido y este proceso no sea capaz de detectarlo. Es necesario utilizar técnicas más precisas para garantizar un conjunto óptimo de centroides iniciales. Una de ellas es el uso del análisis de componentes principales (Principal Component Analysis,PCA) que es una técnica ampliamente utilizada y que en otros trabajos se considera que puede calcular centroides óptimos para el algoritmo KMeans.

El mal agrupamiento en la imagen original se debe a varios factores, uno de ellos es la gran cantidad de píxeles que tiene que agrupar el algoritmo (del millón o más) y esto hace que no lo haga adecuadamente por la cantidad de datos a procesar. El otro factor, es que una parte débil del algoritmo es que se pierde en óptimos locales y esto hace que realice malos agrupamientos, esto hace evidente que es necesario una selección adecuada de centroides iniciales.

Para contabilizar la cantidad de nanopartículas y sus diámetros, existe software especializado para lleva a cabo esta tarea. Pero al igual que en la obtención de las propias imágenes de microscopía TEM tiene un alto costo monetario por su licenciamiento ya que el software cae dentro del conjunto de los llamados privativos y esto hace complejo el estudiar este tipo de imágenes. Sin embargo esto es un nicho de oportunidad para incentivar a generar nuevo conocimiento utilizando algoritmos tan simple y fáciles de implementar como el algoritmo KMeans.

Para identificar el número de nanopartículas y su diámetro en imágenes de microscopía electrónica de transmisión mediante agrupación de KMeans. En este trabajo se propone usar el algoritmo no supervisado KMeans que generalmente funciona mal para imágenes con ruido o gradientes, segmentar la imagen primero requiere métodos de procesamiento previo y posterior de la imagen, incluida la eliminación del fondo, la eliminación de ruido, una medida de la textura de la imagen y una imagen binaria de umbral ajustado. Estas versiones preprocesadas de la imagen se podrían compilar en capas de características antes de la segmentación utilizando este algoritmo, por ejemplo. Esto es una tarea a realizar en este trabajo.

BIBLIOGRAFÍA

[1] Mejía, Carlos Enrique and Restrepo, Tomás and Trefftz, Christian and others. (2001) "Lapack una colección de rutinas para resolver problemas de algebra lineal numérica", Volume 37. Revista Universidad EAFIT 123 73–80

[2] Gálvez-Rojas, Sergio and Dorado-Pérez, Gabriel and Hernández, Pilar and Esteban-Risueño, Francisco and others. (2015) "Arquitectura Epiphany III. Una primera toma de contacto". Universidad de Málaga

[3] Gan, Guojun and Ma, Chaoqun and Wu, Jianhong. (2007) "Data clustering: theory, algorithms, and applications", Volume 20. Society for Industrial and Applied Mathematics

[4] C.Y. Tang and Z. Yang. (2017) "Chapter 8 - Transmission Electron Microscopy (TEM)". Membrane Characterization. Elsevier 145-159

[5] Bello Jurado, Estefanía. (2019) "ESTUDIO DE TRATAMIENTOS ÁCIDO/BÁSICOS EN ZEOLITAS MONODIMENSIONALES. CORRELACIÓN ENTRE PROPIEDADES TEXTURALES Y ACTIVIDAD CATALÍTICA". Universitat Politecnica de Valencia. Universitat Politècnica de València

[6] Rey Ballesteros, Arturo del and others. (2017) "Determinación de cambios estructurales mediante microscopía de fuerza atómica en superficies tratadas con plasma de gases". Universidad de Valladolid. Facultad de Ciencias

[7] Fernández Herrera, Omar Luzgardo. (2015) "Determinación del tamaño de grano cristalino por difracción de rayos-x de polvo". Universidad Nacional Mayor de San Marcos. Universidad Nacional Mayor de San Marcos

[8] de Amorim, Renato Cordeiro. (2016) "A survey on feature weighting based k-means algorithms", Volume 33. Springer. Journal of Classification 210–242

[9] Anil K. Jain. (2010) "Data clustering: 50 years beyond K-means", Volume 31. Pattern Recognition Letters 8 651 - 666

[10] Eldén, Lars. (2007) "Matrix methods in data mining and pattern recognition". SIAM

[11] Burney, SM Aqil and Tariq, Humera. (2014) "K-means cluster analysis for image segmentation", Volume 96. Foundation of Computer Science. International Journal of Computer Applications 4

[12] Varghese, Anish and Edwards, Bob and Mitra, Gaurav and Rendell, Alistair P. (2017) "Programming the adapteva epiphany 64-core network-on-chip coprocessor", Volume 31. SAGE Publications Sage UK: London, England. The International Journal of High Performance Computing Applications 4 285–302

[13] Kruger, Michael Johan. (2015) "Building a Parallella board cluster". Bachelor of Science Honours thesis), Rhodes University, Grahamstown, South Africa

Back to Top

Document information

Published on 02/12/23
Submitted on 22/11/23

Licence: CC BY-NC-SA license

Document Score

0

Views 98
Recommendations 0

Share this document

claim authorship

Are you one of the authors of this document?