1 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 llamada 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.

2 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.

2.1 Problema de Agrupamiento

En la actualidad el uso de grandes cantidades de datos generados por diversos dispositivos y equipos electrónicos, ópticos u otra tecnología de medición, generan un problema de análisis de datos en el momento de extraer la información de interés desde las muestras adquiridas. Uno de ellos, es agrupar correctamente los datos para obtener información relevante y precisa para evidenciar el fenómeno físico que se desea abordar [3,4]. A continuación se define el problema de agrupamiento.

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 un 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.

2.2 Microscopía TEM

El TEM (del inglés, Transmission Electron Microscope) tal como lo indica [5] 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 [6]. 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 639370325-TEM2NPsAg 0016.png Ejemplos de imágenes de nanopartículas de plata (Ag) sintetizadas con resina de mezquite, utilizando la técnica TEM. Fuente: División de Ciencias e Ingeniería de la Universidad de Guanajuato Campus León.
Figura 2: Ejemplos de imágenes de nanopartículas de plata (Ag) sintetizadas con resina de mezquite, utilizando la técnica TEM. Fuente: División de Ciencias e Ingeniería de la Universidad de Guanajuato Campus León.

Las imágenes TEM ofrecen información sobre la muestra como su estructura por ejemplo, si es amorfa o cristalina [7]. 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 [8]. 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.

3 Objetivos

3.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.

3.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.

4 Metodología

En esta sección se presenta la metodología a utilizar para llevar a cabo este trabajo. En la Figura 3 se muestran las etapas a seguir. Se inicia por la revisión de la literatura. 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 [4,9,10,11]. 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 el tipo de computadora 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.

4.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.

4.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 variantes como se describe en [10]. Se mencionan algunas propiedades del algoritmo KMeans, para mayor detalle, consultar en [3,12].

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.

4.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 que algoritmo encuentre mejores agrupamientos.

4.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 [13,14]. 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 algoritmo 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í.

4.3.2 Preprocesamiento para escoger los centroides iniciales

La inicialización para que el algoritmo KMeans haga la 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 precisa con información propia del conjunto de datos a estudiar.

Algoritmo: Prepocesamiento de los centroides iniciales

  1. Se hace una partición 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, ver Figura 6.
  2. Se calcula 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.

4.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 una gran cantidad de datos, que es necesario hacer subconjuntos de ellos o procesarlos de manera distribuida [4,11,15,16]. 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 [17,18]. A continuación se mencionan algunas de sus características obtenidas de [18,16].

  • 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)
  • Una computadora 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 microcomputadora 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 GFLOPS ( operaciones por segundo) utilizando solo 5 volts [16,18]. 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: parallella.org.
Figura 7: Arquitectura computacional parallella. Fuente: parallella.org.

4.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 639370325-NPAg100 5nm.png Draft Gamboa 639370325-NPAg100 5nmk2sin1.png
(a) (b)
Figura 10: La imagen (a) es una reducción de la original y que es de píxeles. La imagen (b) es la imagen segmentadad con KMeans con un valor de y centroides iniciales no aleatorios. 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 639370325-NPAg100 5nm.png Draft Gamboa 639370325-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 inicial 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.

4.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, y por lo tanto hace evidente la necesidad de 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 simples y fáciles de implementar como el algoritmo KMeans.

En este trabajo se propone usar el algoritmo 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] Xiaoyu Zhang and Tengfei Zhang and Yudi Zhang and Fumin Ma. (2023) "Improved interval type-2 fuzzy K-means clustering based on adaptive iterative center with new defuzzification method", Volume 160. International Journal of Approximate Reasoning 108968

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

[6] 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

[7] 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

[8] 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

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

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

[11] T.A. Sipkens and S.N. Rogak. (2021) "Technical note: Using k-means to identify soot aggregates in transmission electron microscopy images", Volume 152. Journal of Aerosol Science 105699

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

[13] Debelee, Taye Girma and Schwenker, Friedhelm and Rahimeto, Samuel and Yohannes, Dereje. (2019) "Evaluation of modified adaptive k-means segmentation algorithm", Volume 5. Springer. Computational Visual Media 347–361

[14] 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

[15] Sardar, Tanvir Habib and Ansari, Zahid. (2018) "An analysis of MapReduce efficiency in document clustering using parallel K-means algorithm", Volume 3. Elsevier. Future Computing and Informatics Journal 2 200–209

[16] 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

[17] Martínez, Gabriel Bravo and Aceves, Jesús Martin Silva and Argüelles, Soledad Vianey Torres and Aguilera, Francisco Javier Enríquez. (2018) "Implementación de Algoritmos de Procesamiento Digital de Señales en Hardware Paralelo: Artículo de revisión", Volume 66. Cultura Científica y Tecnológica

[18] 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?