Detección y clasificación de colonias en placas de Petri con técnicas de procesamiento de imágenes
El problema
El crecimiento de bacterias en un medio de cultivo sólido es utilizado en experimentos de laboratorios de Microbiología para cuantificar y detectar la presencia de bacterias en muestras. Estas pueden ser biológicas, de agua o de suelo, entre otras. Si se parte de muestras biológicas es posible su uso en el diagnóstico de enfermedades. Debido a esto, poder automatizar el conteo de las colonias formadas es de gran ayuda para el trabajo de laboratorio.
Dataset a utilizar
El dataset utilizado se llama AGAR1, este fue desarrollado por un equipo de trabajo de la empresa Neurosys 2 y la Universidad de Wroclaw, Polonia. El mismo contiene mas de 18000 imágenes de colonias en placas de Petri con 5 especies de bacterias anotadas. Estas imágenes se dividen en dos grandes grupos, por un lado basándose en la iluminación del fondo, si tienen fondo claro, oscuro o ambiguo. Por otro lado de acuerdo a la cantidad de colonias de bacterias presentes, si hay colonias presentes, si no hay o si son incontables (mayor a 300 colonias).
Descripción del Dataset
El dataset, con un tamaño de 32 GB, está organizado según el ID de la imagen y cuenta con una licencia Creative Commons Attribution-NonCommercial 2.0 Generic, que permite su uso libre con fines de investigación. Para obtener acceso al dataset, fue necesario contactar a Neurosys mediante correo electrónico.
Tipo | Iluminación Clara | Iluminación Oscura | Vago (el fondo puede variar) | Baja resolución |
---|---|---|---|---|
Vacía | 1-308 | 2089-2711 | 11738 - 11760 | 12732 - 12993 |
Contable | 309-1302 | 2712-8709 | 11761 - 12617 | 12994 - 17417 |
Incontable | 1303-2088 | 8710-11737 | 12618 - 12731 | 17418 - 18000 |
Cada imagen está anotada con un archivo de tipo JSON con esta estructura:
{
"background": "vague",
"classes": [
"E.coli",
"S.aureus"
],
"colonies_number": 6,
"labels": [
{
"class": "S.aureus",
"height": 57,
"id": 1,
"width": 57,
"x": 2519,
"y": 1842
}, …..]
}
Descripción del JSON de anotación
Cada campo refiere a una característica diferente de las colonias en la imagen:
- background El tipo de iluminación que tiene el fondo y elo área que rodea la placa de Petri.
- classes Las especies que se encuentran presentes en la placa de Petri.
- colonies_number: La cantidad de colonias presentes,
-
labels: Un listado de todos los cuadrados delimitadores junto a sus características.
- class: La especie de la bacteria.
- height: La altura del cuadrado.
- id: El ID interno dentro de la placa de Petri de la colonia.
- width: El ancho del cuadrado
- x: La posición en el eje y del punto superior izquierdo del cuadrado.
- y: La posición en el eje x del punto superior izquierdo del cuadrado.
Ejemplos de imágenes
En la Figura 1, se observa como ejemplo una de las imágenes del dataset.
Uno de los problemas en la detección de colonias es la presencia de aglomerados de colonias como se muestra en la Figura 2, Estos aglomerados consisten en varias colonias que se fusionaron durante el crecimiento, pero a vistas del conteo y clasificación deben ser tratadas como entidades diferentes.
En la Figura 3 se puede observar un resumen de todos los tipos de especies de colonias, junto con los diferentes tipos de iluminación. También se puede ver como todas las colonias tienen un recuadro que las engloba, este puede ser que no esté centrado o tenga un tamaño levemente mayor a la colonia original.
Acerca de
Este proyecto forma parte de la evaluación final de la unidad curricular Tratamiento de Imágenes por Computadora, FING, UdelaR. Este proyecto fue llevado a cabo por Lic. Matías Rolando y tutoreado por Emilio Martinez. En el marco del posgrado Maestría en Ciencia de Datos y Aprendizaje Automático.
Referencias
-
Sylwia Majchrowska, Jarosław Pawłowski, Grzegorz Guła, Tomasz Bonus, Agata Hanas, Adam Loch, Agnieszka Pawlak, Justyna Roszkowiak, Tomasz Golan, and Zuzanna Drulis-Kawa. Agar a microbial colony dataset for deep learning detection. 2021. arXiv:2108.01234. ↩
-
Apr 2024. URL: https://neurosys.com/. ↩