Fusión de objetos utilizando aprendizaje automático
El ObjectMerger es un Clasificador de Bosque Aleatorio parte de la biblioteca apoc que puede aprender qué etiquetas fusionar y cuáles no. Permite el post-procesamiento de imágenes de etiquetas después de que los objetos hayan sido (intencionalmente o no) sobresegmentados.
Un ejemplo común puede derivarse de una imagen que muestra intensidades en membranas celulares.
|
cle._ image
| shape | (256, 256) |
| dtype | float32 |
| size | 256.0 kB |
| min | 277.0 | | max | 44092.0 |
|
Como las membranas tienen diferentes intensidades dependiendo de la región en la imagen, necesitamos corregir esto primero.
|
cle._ image
| shape | (256, 256) |
| dtype | float32 |
| size | 256.0 kB |
| min | 0.15839748 | | max | 11.448771 |
|
Por razones técnicas, también se recomienda convertir la imagen de intensidad en una imagen de tipo entero. Por lo tanto, la normalización podría ser necesaria. Es importante que las imágenes utilizadas para el entrenamiento y las imágenes utilizadas para la predicción tengan intensidades en el mismo rango.
|
cle._ image
| shape | (256, 256) |
| dtype | uint32 |
| size | 256.0 kB |
| min | 1.0 | | max | 54.0 |
|
Una anotación sirve para indicar al algoritmo qué objetos segmentados deben fusionarse y cuáles no.
|
cle._ image
| shape | (256, 256) |
| dtype | uint32 |
| size | 256.0 kB |
| min | 0.0 | | max | 2.0 |
|
Para fines de visualización, podemos superponer la anotación con la imagen de la membrana.
Para mostrar más de cerca lo que necesita ser anotado, también superponemos la imagen de bordes de etiquetas y la anotación. Nótese que los bordes que no se supone que deben fusionarse son pequeños puntos que siempre anotan cuidadosamente solo dos objetos (que no deben fusionarse).
Entrenando el fusionador
El LabelMerger puede ser entrenado usando tres características:
touch_portion: La cantidad relativa en que un objeto toca a otro. Por ejemplo, en un tejido simétrico, similar a un panal, las células vecinas tienen una porción de contacto de 1/6 entre sí.
touch_count: El número de píxeles donde los objetos se tocan. Al usar este parámetro, asegúrate de que las imágenes utilizadas para el entrenamiento y la predicción tengan el mismo tamaño de vóxel.
mean_touch_intensity: La intensidad promedio entre objetos que se tocan. Si una célula está sobresegmentada, se encuentran múltiples objetos dentro de esa célula. El área donde estos objetos se tocan tiene una intensidad más baja que el área donde se tocan dos células. Por lo tanto, pueden diferenciarse. Normalizar la imagen como se mostró anteriormente es clave.
centroid_distance: La distancia (en píxeles o vóxeles) entre los centroides de los objetos etiquetados.
Nota: se recomienda usar la mayoría de las características solo en imágenes isotrópicas.
|
cle._ image
| shape | (256, 256) |
| dtype | uint32 |
| size | 256.0 kB |
| min | 1.0 | | max | 31.0 |
|