Info

Abstract and Research Paper

Through diffuse hydrothermal seafloor vents water flows out of the seafloor. Though the inflowing water is transparent, it often has a different temperature or different dissolved substances than the surrounding water. This leads to a difference in the refractive indices between the various water types. This causes an optical effect, called Schlieren. Therefore, Schlieren are a way to visually detect seafloor vents.

We created a software for optical detection of Schlieren. The software is based on the Horn-Schunck algorithm. It is capable of highlighting Schlieren in a video and to process live stream video data.

To provide test data for the detection software a raytracer was developed, where rays get refracted based on a data from a Computational fluid dynamics (CFD) simulation. The raytracer supports 2D- as well as 3D-simulation data. The underlying CFD simulation software is Ansys. Additionally, an experiment was conducted in a tank. Its footage was used to evaluate the simulation software through side by side comparison and provide additional test data for the detection software. The detection software performed well on the footage from the simulation and the experiment, as well as on real deep sea footage with little noise and movement. Though there are still issues with the robustness of the results and with camera movements.

Download Paper

Zusammenfassung und Forschungsergebnisse

Durch diffuse Quellen am Meeresboden strömt Wasser aus dem Meeresgrund aus. Obwohl dieses einströmende Wasser durchsichtig ist, hat es häufig eine andere Temperatur oder gelöste Mineralstoffe als das umgebende Wasser. Dies führt zu unterschiedlichen Brechungsindizes, welche einen optischen Effekt, genannt Schlieren, erzeugen. Aus diesem Grund sind Schlieren ein Indiz für Quellen am Meeresgrund und lassen sich zu deren Erkennung nutzen.

Wir haben eine Software entwickelt, die dazu gedacht ist, optische Schlieren zu erkennen. Diese arbeitet mit dem Horn-Schunck Algorithmus. Dieser erlaubt es, solche Schlieren in Videoaufzeichnungen und Livestream-Videomaterial zu verarbeiten und hervorzuheben.

Um Testdaten für diese Erkennungssoftware zu erstellen wurde ein Raytracer entwickelt. Das Licht wird auf Grundlage eines Modells, welches mittels Computational fluid dynamics (CFD) simuliert wurde, gebrochen. Diese Simulationen sind mit der Software Ansys erfolgt. Eine experimentelle Nachstellung von Unterwasserquellen erfolgte durch das Einleiten von warmen oder salzhaltigen Wasser durch ein speziell entwickeltes Einflusssystem in einen Wasserbehälter. Die unterschiedlichen Brechungsindizes erzeugen den visuellen Effekt von Schlieren. Die Erkennungssoftware hat gute Ergebnisse für die in Experimenten und Simulation generierten Bilddaten geliefert und funktioniert ebenfalls gut bei Aufzeichnungen mit unbewegter Kamera. Es existieren weiterhin Probleme mit der Robustheit der Ergebnisse und dem Umgang mit Bewegungen und Störquellen.

Ergebnisse herunterladen (Englisch)

Motivation

Das Projekt Tiefsee entstand im Wintersemester 2019/2020 als Bachelorprojekt einer Gruppe von Studierenden der Informatik an der Universität Bremen und wurde in Zusammenarbeit mit dem MARUM (Zentrum für marine Umweltwissenschaften) angegangen. Die Idee dieses Projekts entstammt dabei einer Problematik aus der Tiefseeforschung. Sogenannte Hydrothermalquellen am Boden der Tiefsee sind für Forscher sehr interessant und ihre Erforschung ist ein wichtiger Bestandteil der marinen Umweltwissenschaften.

Hydrothermalquellen mit diffusen Ausflüssen sind sehr schwer zu erkennen. Bei Tiefseeausfahrten mit einem ferngesteuerten Unterwasserfahrzeug müssen Forscher oft stundenlanges Videomaterial nach den charakteristischen Schlieren durchsuchen, wobei immer das Risiko besteht, eine diffuse Quelle zu übersehen - Gerade dann, wenn man bereits mehrere Stunden danach sucht und die Konzentration nachlässt. Trotzdem sind gerade diese diffusen Quellen interessant für die Tiefseeforschung. Durch ihre Eigenschaften, die ideale Lebensbedingungen für viele Lebewesen unter Wasser bieten, findet man zum Beispiel oft eine hohe Bevölkerung verschiedener Arten in ihrer Umgebung. Das ist nur einer der Gründe, warum die Erforschung diffuser Ausflüsse von besonderer Bedeutung ist.

Hier setzt also die Idee dieses Projekts an. Durch eine Detektionssoftware, die die Schlieren über den hydrothermalen Ausflüssen unter Wasser erkennen kann, soll es den zuständigen Forschern erleichtert werden, diffuse Ausflüsse zu finden. Dazu soll diese Software Videomaterial entgegennehmen - sowohl Live-Streams als auch aufgenommene Videos - und diffuse Quellen in den Videos optisch kenntlich machen. Um die Funktionalität der aus diesem Projekt hervorgehenden Detektionssoftware zu prüfen, werden noch zwei weitere Ziele im Rahmen dieses Projektes verfolgt. Zum Einen soll es gelingen, durch Experimente in einem Wasserbecken einen diffusen Ausfluss nachzustellen, sodass die Bilder von diesem Experiment als Input für die Detektionssoftware genutzt werden können. Das ist vor Allem in den Anfangsphasen der Entwicklung wichtig, um die grundlegende Funktion des Erkennens von Schlieren zu testen, ohne die weiteren Umstände der Tiefsee berücksichtigen zu müssen. So kann sichergestellt werden, dass Schlieren überhaupt erkannt werden, bevor das Entwicklungsteam der Software sich darum kümmert, dass zum Beispiel vorbeischwimmende Fische oder in der Tiefsee schwimmende Partikel die Detektion nicht behindern. Zum Anderen soll eine weitere Gruppe computererstellte Simulationen von diffusen Ausflüssen generieren. So hat man einerseits weiteres Inputmaterial für die Detektionssoftware, kann andererseits aber auch die Ergebnisse der Experimente mit den Simulationen vergleichen und sichergehen, dass die Ergebnisse valide sind.

Über die Webseite

Diese Webseite soll einen Überblick über das Projekt bieten, sowie Einzelheiten und Ergebnisse darstellen. Sie ist in fünf Bereiche unterteilt. Meta- und themenübergreifende Informationen sind unterteilt in:

  • Über das Projekt (diese Seite) stellt das Projekt und den Projektrahmen vor
  • Hintergrund gibt einen Einblick in den aktuellen Stand der Forschung über hydrothermale Quellen und stellt dafür wichtige physikalische Effekte vor

Inhalte des Projekts lassen sich in drei weitere Kategorien unterteilen:

  • Detektion stellt die Entwicklung der Detektionssoftware vor
  • Experiment beschreibt die durchgeführten Experimente, sowie die Ergebnisse
  • Simulation stellt die Entwicklung der Simulationssoftware dar

Diese drei Kategorien entsprechen auch den gebildeten Teilgruppen innerhalb des Projektes.

Projekttag

Dieses Projekt findet im Rahmen der Informatik Bachelorprojekte der Universität Bremen statt. Klassischerweise werden werden die Bachelorprojekte an einem messeähnlichen Bachelorprojekttag vorgestellt.

Aufgrund von Covid-19 ist der Bachelorprojekttag leider ausgefallen. Diese Website ist Teil eines Ersatzangebots, dass auf der Website zum Projekttag zusammengetragen ist.

Kleines Bild der Projekttag-Website

Projektabschluss

Insgesamt wurde im Projektverlauf viel erreicht. Während die Detektionssoftware gute Ergebnisse für die Simulation und das Experiment liefert, gibt es noch Komplikationen beim Erkennen von echten Videos aus der Tiefsee, in denen vermehrt Ungenauigkeiten auftreten. Das zeigt zum einen, dass die grundlegenden Ziele der einzelnen Teilgruppen erreicht wurden. Die Simulations- und Experimentgruppe konnten Videos mit Schlieren erzeugen, welche durch die Detektionssoftware erkannt werden können. Zum anderen ist es nötig, dass die Schlierennachstellung in Experiment und Simulation weiter verbessert werden muss, sodass sie realistischer sind. Die Ausflüsse sollten näher an realen diffusen Tiefsee Ausflüssen sein und auch andere Umstände berücksichtigen, die damit einhergehen. Zusätzlich sollte die Detektionssoftware robuster gegenüber Störungen sein, sodass auch reale Ausflüsse zuverlässig erkannt werden.

Insgesamt bietet dieses Projekt also die Möglichkeit fortgesetzt zu werden und die bereits erreichten Ergebnisse weiter zu verbessern.

Ausblick

Wegen der begrenzten Projektlaufzeit bleiben noch Punkte offen und es gibt Platz für Verbesserungen. Im Folgenden sollen diese Punkte beschrieben werden, sodass auch eventuelle Folgeprojekte einen Ausgangspunkt haben.

Experiment

Eine erste Verbesserung für das Experiment wäre, den Einfluss variabel zu gestalten. Dafür könnte z.B. ein Ventil manuell bedient werden, um die Stärke des Einflusses und das einfließende Wasservolumen zu variieren.

Darüber hinaus wäre es sinnvoll auch die Eigenschaften des einfließenden Wassers über den Salzgehalt und die Temperatur hinaus zu verändern, z.B. das Wasser mit anderen Materialien zu vermischen oder zu verunreinigen.

Auch der Einfluss selbst hat noch Verbesserungspotential. Statt eines Einflusses mit regelmäßig gebohrten Löchern wäre eine Methode wünschenswert, die es erlaubt, das Wasser noch diffuser einzuleiten. Eine Idee dafür ist es eine dickere Platte 3D zu drucken. Diese bildet dann ein feines PLA Mesh, durch das das Wasser durch müsste.

Für das Kamerasetup gibt es auch Verbesserungsideen. Zunächst wäre ein ‘realistischerer’ Winkel und Abstand zwischen Kamera und Ausfluss sinnvoll. Zusätzlich dazu würden die Ergebnisvideos noch realistischer werden, wenn man auf dem Boden im Experiment einen Meeresboden nachstellen würde, anstatt ein einfaches Bild als Hintergrund zu verwenden. Darüber hinaus könnten auch noch Bewegungen der Kamera, die in echten Tiefseeaufnahme unvermeidbar sind, eingesetzt werde. Dabei wäre es auch interessant Videos mit Kameras aufzunehmen, die auch tatsächlich dafür bei Tiefseeausfahrten verwendet werden.

Simulation

Der Raytracer hat vor allem Verbesserungspotential bei der Performance. Momentan steigt die Renderzeit einzelner Bilder nämlich rapide mit der Komplexität der Szene an. Ein erster Ansatz dafür wurde auch schon ausprobiert, die Parallelisierung auf der CPU. Diese bietet sich an, da das Nachverfolgen einzelner Rays je von einem Thread übernommen werden kann. Ein großes Performancepotential besteht auch darin, das Raytracing auf einer GPU laufen zu lassen. Insgesamt ist es auch durchaus möglich, dass der Raytraceingalgorithmus selbst verbesserbar ist, z.B. durch mathematische Optimierungen, Vereinfachungen oder Heuristiken.

Mit zusätzlichem Fachwissen wäre es möglich, eine CFD-Simulation realistischer zu gestalten, zum Beispiel durch ein detailliertes Modell oder eine andere Auswahl von Datenquellen. Bezüglich CFD gab es kein Vorwissen, daher hat die Einarbeitung in das Thema viel Zeit gekostet. Wegen der langen Renderzeiten konnten auch weniger verschiedenen Einstellungen und Parameter ausprobiert werden. Mit mehr Fachwissen kann also auch ein realistischeres Ergebnis erzielt werden. Wichtig hierbei sind vor allem die Auswahl des Berechnungsmodells und der Initialisierungsparameter.

Detektion

Neben der Python Variante von ‘Deeptector’ gibt es noch eine in C++, welche aufgrund der Anforderungen an die Laufzeit vermutlich eher weiter entwickelt werden sollte. Dort ist die Berechnung auch teilweilse mit CUDA beschleunigt.

Desweiteren ist es wichtig, etwas gegen die Fehler zu tun, die durch Eigenbewegung des ROVs und Bewegungen der Kamera entstehen. Wie uns auffiel, ist Zoomen der Grund für die meisten Fehlerkennungen unseres Programms und beim Bewegen über den Meeresgrund hinweg treten perspektivische Änderungen auf, welche zusammen mit dem Zoomen die größten Probleme verursacht haben. Erwähnte Fehler scheinen vor allem bei zu starken Seitwärtsbewegungen aufzutreten und vor allem, wenn die Bodenstrukturen mit Kies bedeckt sind.

Außerdem sollte eingebaut werden, dass man sich auch nach dem Neustart des Programms die interessanten Regionen, welche durch die Bookmarks festgehalten sind, angucken kann.

Weitere Informationen

Das Projekt Tiefsee ist ein Bachelorprojekt des Fachbereich 3 (Mathematik/Informatik) der Universität Bremen in Verbindung mit dem MARUM - Zentrum für Marine Umweltwissenschaften.

Ziel des Projektes ist die Entwicklung von Software zur Detektion und Visualisierung diffuser Ausflüsse in der Tiefsee. Das Team besteht aus dreizehn Studierenden der Universität Bremen und wird betreut von Prof. Dr. Ralf Bachmayer und Prof. Dr. Gabriel Zachmann. Wir möchten uns an dieser Stelle auch ganz besonders bei den beiden Arbeitsgruppen bedanken, die uns sehr unterstützt haben.