Entwicklung eines KI-gestützten Verfahrens zur automatisierten Detektion von Poren in Gesteinen - ITERATOR
Projektanfang: 01.01.2020
Projektende: 01.12.2022
Projektstand: 10.03.2021
Die Häufigkeit, die Verteilung, die Form und die Größe von Poren kontrollieren nahezu alle Eigenschaften eines jeden Festkörpers. Auch in der Petrophysik ist die Ermittlung der Porosität daher seit langer Zeit ein essentieller Bestandteil. Das Projekt ITERATOR setzt nun auf Bildverarbeitungsalgorithmen, die Poren in Aufnahmen von Rasterelektronenmikroskopen semi-automatisch detektieren sollen. Dabei wird nicht nur die Porosität, sondern auch die Verteilung von Porengrößen und Porenformen bestimmt. Aus diesen Informationen lassen sich wichtige Parameter ableiten, zum Beispiel zu Wärme- und Fluidfluss. Zudem können mit ITERATOR auch mögliche Zusammenhänge von einzelnen Mineralphasen und Porosität sowie von Spannungsregime und Porenorientierung erkannt werden.
Technische Umsetzung
Auf Basis von Tensorflow (einer Pythonbibliothek) können verschiedenste neuronale Netze programmiert werden. In dem Projekt ITERATOR wurde in einem ersten Test ein so genanntes Mask-RCNN (Masking Region-Based Convolutional Neural Network) umgesetzt. Mask-RCNN ist ein neuronales Netz zur Maskierung und semantischen Segmentierung von Objekten in Bildern. Parallel werden auch andere Ansätze zur Detektion von Objekten oder Mustern in Bildern untersucht. Hier wird zum Beispiel ein U-Net verwendet. Dies ist ein vollständig verbundenes neuronales Netz, bei dem die Ergebnisse einer Schicht Neuronen sowohl an die direkt folgende als auch an eine später folgende Schicht übergeben werden.
Als Ausgangs- und Trainingsdaten werden Rasterelektronenmikroskopaufnahmen von einer Probe aus Opalinuston verwendet, die vor der Aufnahme mittels eines Ionenstrahls poliert wurde.
Quelle: BGR
Erste Ergebnisse
Aus den ersten bisher laufenden Tests und Entwicklungen konnten bereits vielversprechende Ergebnisse erzielt werden. Beispielhaft zeigen die nachfolgenden Bilder die Ausgangs- und Zieldaten sowie das nach dem Training des verwendeten neuronalen Netzes erhaltene Vorhersageergebnis.
Quelle: BGR
Im Detail wurden auf einem Datensatz mit einer Einzelbildgröße von 1024 mal 1024 Bildpunkten ein neuronales Netzt trainiert, welches eine Unterscheidung in Pore und umgebenes Gestein ermöglicht.
Quelle: BGR | Quelle: BGR | Quelle: BGR |
Gut zu sehen ist (nachfolgendes Bild), dass ein Großteil der Poren erkannt und lagemäßig mit den Erwartungswerten übereinstimmt. Hier wurde zum Training ein so genannter Auto-Encoder verwendet, der im Verlauf der einzelnen Schichten des neuronalen Netzes das Bild erst verkleinert (wobei Bildinformationen verloren gehen). In der zweiten Hälfte des Netzes wird das Bild wieder vergrößert und es werden Ergebnisse vorheriger Schichten genutzt, um verloren gegangene Informationen auszugleichen (U-Net Architektur).
Quelle: BGR
Ausblick und weiteres Vorgehen
Die aktuellen Implementierungen werden mit weiteren neuen REM Aufnahmen getestet, die zum Training nicht verwendet wurden. Da nicht alleine die Lage und das Vorhandensein von Poren als Ergebnis erzeugt werden soll, werden weitere Architekturen von neuronalen Netzen entwickelt, trainiert und getestet. Die aktuellen Implementierungen werden in einem nächsten Schritt so ausgebaut, dass eine semantische Unterscheidung von mehreren Poren möglich ist. Es soll jede im Bild enthaltene Pore als einzelnes Objekt identifizierbar sein. Daran anschließend sind weitere Parametererfassungen zu den Poren geplant (Ausrichtung; Größe; etc.)