Ich versuche zu sehen, ob ich Dask für blockweise Parallelisierung der Erkennung und Segmentierung von Objekten in massiven 2D-Bildern (~ 20-50 GB) nutzen kann ein Cluster.Wie man mit Dask die Objekterkennung auf einem massiven Bild auf dem Cluster parallelisiert
Meine Logik zum Erkennen/Segmentieren von Objekten in einem Bildblock wird in einer Funktion gekapselt.
Ich stieß auf eine Dask-Funktion namens map_blocks, die mich eine benutzerdefinierte Funktion auf jeden Block/Chunk eines DASK-Arrays anwenden kann.
Allerdings sehe ich, dass der Ausgabetyp der Funktion, die ich an map_blocks weitergeben kann, auch ein Array sein sollte.
Für Objekterkennung/-segmentierung möchte ich, dass meine Funktion in der Lage ist, die Koordinaten der Begrenzungskontur jedes im Block gefundenen/erkannten Objekts zurückzugeben. Beachten Sie, dass die Anzahl der Objekte in einem Block unbekannt ist und vom Bild abhängt.
Wie kann ich diesen Anwendungsfall mit map_blocks oder etwas anderem in Dask lösen?
Danke für die Antwort. In der von Ihnen vorgeschlagenen Lösung ist process_block frei, um irgendeinen Objekttyp zurückzugeben? Und ist es möglich, dass die Funktion process_block die block_id kennt? – cdeepakroy
block_id würde benötigt, damit ich meine Objekterkennungsfunktion erzeugen kann, um die begrenzenden Konturkoordinaten der erkannten Objekte im globalen Raum anstelle von Blockraum zu erzeugen. – cdeepakroy