Objekte mit maschinellem Lernen zusammenführen
Der ObjectMerger
ist ein Random Forest Classifier, der Teil der apoc-Bibliothek ist und lernen kann, welche Beschriftungen zusammengeführt werden sollen und welche nicht. Er ermöglicht die Nachbearbeitung von Beschriftungsbildern, nachdem Objekte (absichtlich oder unabsichtlich) übersegmentiert wurden.
Ein häufiges Beispiel kann von einem Bild abgeleitet werden, das Intensitäten in Zellmembranen zeigt.
|
cle._ image
shape | (256, 256) |
dtype | float32 |
size | 256.0 kB |
min | 277.0 | max | 44092.0 |
|
Da die Membranen je nach Region im Bild unterschiedliche Intensitäten aufweisen, müssen wir dies zunächst korrigieren.
|
cle._ image
shape | (256, 256) |
dtype | float32 |
size | 256.0 kB |
min | 0.15839748 | max | 11.448771 |
|
Aus technischen Gründen wird auch empfohlen, das Intensitätsbild in ein Bild vom Typ Integer umzuwandeln. Daher kann eine Normalisierung erforderlich sein. Es ist wichtig, dass Bilder, die für das Training verwendet werden, und Bilder, die für die Vorhersage verwendet werden, Intensitäten im gleichen Bereich haben.
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 1.0 | max | 54.0 |
|
Eine Annotation dient dazu, dem Algorithmus mitzuteilen, welche segmentierten Objekte zusammengeführt werden sollen und welche nicht.
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 0.0 | max | 2.0 |
|
Zu Visualisierungszwecken können wir die Annotation mit dem Membranbild überlagern.
Um genauer zu zeigen, was annotiert werden muss, überlagern wir auch das Label-Edge-Bild und die Annotation. Beachten Sie, dass die Kanten, die nicht zusammengeführt werden sollen, kleine Punkte sind, die immer sorgfältig nur zwei Objekte annotieren (die nicht zusammengeführt werden sollen).
Training des Mergers
Der LabelMerger
kann mit drei Merkmalen trainiert werden:
touch_portion
: Der relative Anteil, den ein Objekt ein anderes berührt. Z.B. in einem symmetrischen, wabenartigen Gewebe haben benachbarte Zellen einen Berührungsanteil von 1/6
zueinander.
touch_count
: Die Anzahl der Pixel, an denen sich Objekte berühren. Wenn Sie diesen Parameter verwenden, stellen Sie sicher, dass Bilder, die für Training und Vorhersage verwendet werden, die gleiche Voxelgröße haben.
mean_touch_intensity
: Die durchschnittliche Intensität zwischen sich berührenden Objekten. Wenn eine Zelle übersegmentiert ist, werden mehrere Objekte innerhalb dieser Zelle gefunden. Der Bereich, in dem sich diese Objekte berühren, hat eine geringere Intensität als der Bereich, in dem sich zwei Zellen berühren. So können sie unterschieden werden. Die Normalisierung des Bildes wie oben gezeigt ist entscheidend.
centroid_distance
: Der Abstand (in Pixeln oder Voxeln) zwischen den Schwerpunkten der markierten Objekte.
Hinweis: Die meisten Merkmale werden empfohlen, nur in isotropen Bildern verwendet zu werden.
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 1.0 | max | 31.0 |
|