Während meinem Urlaub ergab sich mal wieder einiges. Einerseits durfte ich natürlich arbeiten und für einen ausgefallenen Reviewer einspringen. Andererseits wurde ich nun aber auch auf einen Workshop eingeladen um dort meine Arbeit vorzustellen, im Besondern natürlich MegaMol™. Schön wenn man geschätzt wird, auch wenn der Workshop direkt von meinen Kumpels aus dem SFB 716 veranstaltet wird.

Heute möchte ich über eine meiner neusten wissenschaftlichen Publikationen sprechen: Visualisierung multi-dimensionaler Trajektorien. Die Publikation ist in der Wiley Online Library elektronisch verfügbar (http://onlinelibrary.wiley.com/doi/10.1111/cgf.12352/abstract): Visual Analysis of Trajectories in Multi-Dimensional State Spaces [1].

Zunächst einmal, was ist eine multi-dimensionale Trajektorie? Wir untersuchten Zustände komplexer System, wie automatisierte Systeme oder Roboter. Jedes Element in so einem System, z.B. ein Motor oder ein Sensor, besitzt mehrere Zustandsvariablen, wie gemessene Temperator oder Rotationskraft des Motors. Diese Variablen können sogar vektoriell sein. Aber selbst wenn sie nur skalar sind, da System ist üblicherweise aus vielen solchen Elementen zusammengesetzt. Der Zustand des Gesamtsystems ist daher immer der Vektor aller Zustandsvariablen aller Elemente. Die Systeme die wir untersucht hatten haben Vektoren mit mehreren Duzend Variablen. Diese Größenordnung benennt man mit multi-dimensional, im Gegensatz zu hoch-dimensional, womit Räume mit mehreren hundert oder mehreren tausend Dimensionen gemeint sind. Der Zustand eines Systems als Ganzes kann nun als Punkt in dem multi-dimensionalen Zustandsraum interpretiert werden. Allerdings sind unsere Systeme nicht statisch, sondern werden in Echtzeit überwacht. Die Werte der Zustandsvariablen ändern sich, z.B. steigen Temperaturen und Motoren drehen sich. Der Zustandspunkt des System bewegt sich also durch den Zustandsraum. Der Pfad den er dabei nimmt ist seine Trajektorie.

md_trajectory_teaser

Unser Ansatz zur Visualisierung dieser Daten basiert auf klassischen Visualisierungmetaphern der multi-dimensionalen Datenvisualisierung: nämlich Scatterplot Matrizen und Parallele-Koordinaten-Plots. Wir nutzen zusätzliche Darstellungen, z.B. temporale Heat-Maps. Der Hauptaspekt unserer Arbeit ist jedoch die Art und Weise wie wir diese Diagramme berechnen. Normallerweise würde man die multi-dimensionalen Datenpunkte einfach in den Diagrammen als Punkte oder Linienzüge einzeichnen. Wir, jedoch, nutzen die Art der Daten aus, nämlich die zeitliche Kontinuität. Wir integrieren die Daten über die Zeit um kontinuierliche Diagramme zu erzeugen. Diese Arbeit basiert auf Vorarbeiten kontinuierlicher Scatterplots und Paralleler-Koordinaten-Plot, die räumlich integrieren. Wir haben diese Integration auf die zeitliche Dimension übertragen.

md_trajectory_compare

[1] [doi] S. Grottel, J. Heinrich, D. Weiskopf, and S. Gumhold, „Visual Analysis of Trajectories in Multi-Dimensional State Spaces,“ Computer Graphics Forum, vol. 33, iss. 6, pp. 310-321, 2014.
[Bibtex]
@article {Grottel2014HDTraj,
  author = {Grottel, Sebastian and Heinrich, Julian and Weiskopf, Daniel and Gumhold, Stefan},
  title = {{Visual Analysis of Trajectories in Multi-Dimensional State Spaces}},
  year = {2014},
  journal = {Computer Graphics Forum},
volume = {33},
number = {6},
pages = {310--321},
  doi = {10.1111/cgf.12352}
}

Ein echter Dauerbrenner im Kontext der wissenschaftlichen Visualisierung ist das Problem mit Dateiformaten. Im Normalfall taugen die Formate nix oder es gibt keine etablierten Standards. Häufig grinsen einen Simulationsergebnisse als ASCII-Text-Dateien an, die nicht nur unglaublich groß sind, sondern auch unglaublich ätzend zu parsen.

Mit MegaMol™ haben wir mehrfach versucht dieses Problem anzugehen, mit mäßigem Erfolg. Die Liste der Dateiformate die wir wegen unseren Kooperationspartnern lesen können müssen haben wir schön ergänzt, um einen ganzen Zoo eigener Dateiformate die ähnlich wenig taugen. Dieses Jahr ist dann die Notwendigkeit entstanden größere Daten (nicht Big Data) so schnell wie möglich laden zu können. Das Ergebnis ist der augenblicklich sinnvollste Weg Daten für MegaMol anzulegen: das MMPLD-Dateiformat. Dahinter verbirgt sich nichts anderes als ein fetziger Binär-Memory-Dump der einfachsten internen Datenstruktur die MegaMol zu bieten hat.

Was soll ich sagen, es funktioniert. Natürlich ist das keine Lösung mit Nachhaltigkeit oder Skalierbarkeit, aber die große Vielzahl an gescheiterten Versuchen ein sinnvolles Dateiformat zu gründen wirft die Frage auf ob das überhaupt sinnvoll möglich ist. Ich möchte die Hoffnung nicht aufgeben. Wir, das sind CGV-TUD, VISUS, HLRS, ThEt-PB, SCCS TUM und TLD-KL, haben uns zumindest geeinigt, dass wir alle das gleiche Problem haben und zusammen an einer Lösung interessiert sind. Man darf gespannt sein, was die Zukunft bringt.

Diese Woche war ich auf der Jahrestagung der Boltzmann-Zuse-Gesellschaft in Paderborn. Wie immer war es ein großer Spaß und sehr interessant. Vom Grundthema her geht es um molekulare Simulationen mittels Molekulardynamik und Monte-Carlo-Methoden. Natürlich gibt es auch noch ab-initio-Rechnungen, doch die spielen hier keine große Rolle. Bei dem Thema passen meinen Visualisierer-Kollegen aus Stuttgart und ich perfekt dazu. Entsprechend gab es auch viele Ideen und konkrete Pläne zu neuen gemeinsamen Forschungsprojekten.

So, wie versprochen, hier nun ein paar meiner Eindrücke von der diesjährigen EuroVis in Swansea, Wales.

Zunächst einmal zum Ort. Wales bietet wunderschöne Landschaften und hat in der Woche der EuroVis mit untypisch schönem Wetter geglänzt. Zumindest haben mir auch mehrere lokal Ansässige bestätigt, dass so viel Sonne und so wenig Regen nicht normal seien. Mir soll es recht sein. Ich hatte meinen Spaß. Für die Woche hatte ich mich in einem kleinen familiengeführten Bed&Breakfast eingemietet. Auch das war eine gute Entscheidung. Mein Zimmer war sauber und gut ausgestattet. Sicherlich nicht Top-Klasse, was auch immer das heißen mag, aber meine Gastgeber waren super freundlich und ich hatte das Gefühl willkommen zu sein. Einziger Wermutstropfen, die Reise: Swansea liegt wirklich weit weg. Und beim Buchen der Reise hat irgendwer auch eher nicht an Komfort gedacht. So verbrachte ich den Pfingstsonntag und den darauf folgenden Samstag jeweils in einer Straßenbahn, zwei Zügen, zwei Flugzeugen, einem Bus, zwei britischen Zügen (mit Verspätung), und einem Taxi. Gegen lange Reisen habe ich nichts. Aber zwischendurch acht Mal umsteigen zu müssen ist ätzend.

Nun zur Konferenz selber. Die Konferenz war auf der Uni in Swansea in vier Räume in drei Gebäuden verteilt. Aufgrund der großen Anzahl an Teilnehmer war das wohl nicht anders zu organisieren. Aber dennoch war das etwas anstrengend.

Vor der Haupt-Konferenz kamen einige kleiner Workshops, und obwohl ich im Programm Committee der EnvirVis 2014 bin, dem Workshop zu „Visualization in Environmental Sciences“, habe ich die meisten Sessions die EGPGV besucht, den Eurographics Working Group zu Parallel Graphics and Visualization. In der wissenschaftlichen Visualisierung ist „Big Data“ gerade in aller Munde und entsprechend fand ich diese Vorträge ganz interessant, vor allem die Keynote von Valerio Pascucci. Die restlichen Präsentationen waren durchschnittlich gut. Eine schöne Sache, wenn auch von der Idee her nicht besonders neu, war die Arbeit „Freeprocessing Transparent In Situ Visualization Via Data Interception“ von Thomas Fogal et al.. Preloading for the win. :-) Aber es ist ein guter Ansatz der sicherlich nützlich sein kann.

Auf der Hauptkonferenz gab es viel zu sehen. Wie immer, die Vorträge waren durchschnittlich gut. Wenn ich das so schreibe, übrigens, dann meine ich damit, dass die Vorträge nicht bahnbrechend sind, aber man gut zuhören und meist auch folgen kann. Die großen Konferenzen behaupten immer, einen höheren Qualitätsstandard halten zu können als die kleineren Workshops. Meine Meinung dazu ist eher so, dass die großen Konferenzen 95% gute Vorträge habe und nur ganz wenige die gar nichts taugen. Die kleineren Konferenzen haben hier vielleicht eher ein Verhältnis von 2/3 zu 1/3 was gute und schlechte Arbeiten betrifft. Aber zwischen den guten Vorträgen auf kleinen und auf großen Konferenzen gibt es meiner Meinung nach keine Qualitätsunterschiede. Zwei aus meiner Sicht nette Vorträge waren „Fast RBF Volume Ray Casting on Multicore and Many-Core CPUs“ von Arron Knoll et al. und „Sparse Representation and Visualization for Direct Numerical Simulation of Premixed Combution“ von Timo Oster et al.. Der Capstone-Vortrag von John Stasko war auch unterhaltsam.

Was aber auf der diesjährigen EuroVis wirklich geglänzt hat, das waren die STAR-Tracks. STARs sind State-of-the-art-reports, also Überblicksartikel über ein begrenztes Teilgebiet der Forschung. Gute Stars sind pures Gold wert und sind ein idealer Startpunkt um sich in ein Teilgebiet einzuarbeiten. Dieses Jahr gab die EuroVis zum ersten Mal einen Call für STARs aus und hat diese mit ihrem eigenen Track besonders in Rampenlicht gebracht. Völlig zurecht! Dadurch sind einige wirklich gute STARs entstanden und schön präsentiert worden. Ich bin ehrlich begeistert. Besonders gut gefallen hat mir der STAR zu „A Review of Temporal Data Visualizations Based on Space-Time Cube Operations“ von Benjamin Bach et al.. Nicht nur waren die Arbeit selbst und die Präsentation sehr gut, während der Präsentation entstand auch eine lebhafte und konstruktive Diskussion mit mehreren Personen aus dem Publikum, wodurch viele interessante Ideen aufkamen.

Alles in Allem war die EuroVis 2014 eine interessante und lohnenswerte Konferenz. Ich bin zufrieden.

Ich bin gerade erst von der Konferenz EuroVis 2014 an der Universität von Swansea in Wales zurückgekommen. Dank der komplizierten Reise bin ich immer noch ziemlich fertig. Also wir (auch) dieser Post hier recht kurz bleiben.

Die Konferenz zwar gut, genau wie das Wetter. Das war etwas was man von Wales nicht erwarten sollte, zumindest haben mir das auch die Leute vor Ort so gesagt. Aber ich hab die Sonne durchaus genossen. Naja. Für den nächsten Post bereite ich etwas Inhalt über die Konferenz vor.

Die deutsche Forschungslandschaft ist in vielerlei Hinsicht problematisch. Diese Woche hatte ich eine schöne Diskussion mit einem Kollegen, dass Forschung, so wie sie augenblicklich betrieben wird, keine Probleme lösen kann. Jeder Forscher ist nur auf der Jagd nach Geld, bzw., die ambitionierten sind auf der Jagd nach einer Festanstellung. Dabei werden so schnell wie möglich so viele Paper wie möglich produziert um die eigene wissenschaftliche Exzellenz zu zeigen. Als Ergebnis dieser Arbeitsweise wird kein einziges der angegangenen Probleme wirklich vollständig gelöst. Immer klammert man alle Sonderfälle aus und zeigt in den Arbeiten sowieso nur die Daten die am besten funktioniert haben; weder repräsentativ noch vollständig. Aber es wird publiziert. Damit sieht die Forschungsgemeinschaft das entsprechende Problem als gelöst an. Gekniffen sind die Doktoranden und Forscher, die diese „Lösung“ einsetzen wollen und dann auf die ganzen Probleme stoßen. Will man „nur“ weiterforschen, so ist das egal. Man ignoriert einfach wieder alle Sonderfälle und Probleme. Will man damit aber arbeiten, so hat man halt Pech. Die viele Arbeite die man investieren muss, damit das ganze wirklich tut, dankt einem niemand. Da die Forschungsgemeinschaft das Problem ja als gelöst ansieht, kann man eine funktionstüchtige Lösung nicht publizieren. Damit ist man als Wissenschaftler gezwungen immer mit unfertigen 1/4s-Lösungen zu arbeiten.

Und was ist mit der Industrie? Die könnte doch die Implementierungen fixen. … Warum sollte sie? Die Industrie baut ihre einen Lösungen, genau auf ihre Probleme zugeschnitten. An allgemeinen oder übertragbaren Ergebnissen, die einer breiten Gemeinschaft zur Verfügung stehen sollten hat die Industrie, völlig zurecht, kein Interesse.

Diese Sicht bezieht sich natürlich ausschließlich auf die Forschungsarbeit die ich um mich herum sehe, also in der Informatik. Ich hoffe, dass andere Disziplinen besser arbeiten.

Wie geht es dann weiter? … Naja, so wie bisher eben auch. Es gibt keine Lösungen, sondern es wird nur unendlich lange Geld verbraucht.

Punkte sind nicht gleich Punkte. Immer wieder gibt es fundamentale Missverständnisse über die Art der Daten mit denen ich in meiner Visualisierungsforschung arbeite.

Ich arbeite mit Partikeldaten. Üblicherweise werden diese von Simulationen erzeugt, z.B. nach der Methode der Molekulardynamik oder der Diskreten-Element-Methode. Die einzelnen Partikel stellen eigenständige Elemente dar, z.B. Atome oder Massepartikel, die untereinander zunächst keinerlei Beziehung haben, weder Verbindungen noch Beeinflussungen. Natürlich, beeinflussen sich die Partikel gegenseitig in der Simulation, aber die reinen Daten die mir für die Visualisierung vorliegen haben keinerlei topologische Strukturinformation in dieser Hinsicht. Die Literatur hat noch weitere Namen für diese Art von Daten: point-based data, mesh-less data oder, vielleicht noch am ehesten passend, scattered data. Technisch gesprochen sind diese Daten eine beliebig sortierte Liste von Elementen, welches jeweils eine Position und weitere Attribute besitzt. Die zusätzlichen Attribute geben dann z.B. noch einen Kugelradius oder eine Farbe an. Aber, das ist dann alles. Es gibt nicht mehr Informationen und man kann keine weiteren Annahmen treffen.

bunnyPSP-OSSNun zu einem sehr häufigen Missverständnis: Es gibt auch den Datentype der point clouds oder point-set surfaces. Diese bezeichnen ebenfalls Daten die eine Liste von zunächst unkorrellierten Punkten abspeichern. Dies stammen üblicherweise aus Punkt-basierter Modellierung in der 3D Computer Graphik oder hauptsächlich aber als Scans realer Objekte, beispielsweise durch Laserscanner, aber auch Structured-Light-Scanner wie die Kinect. Die Tatsache, dass es sich auch um eine einfache Liste von Punkten handelt, technisch praktisch identisch zu den Partikeldaten, führt dazu, dass immer wieder Leute der Meinung sind, dass die beiden Datentypen identisch wären. Das sind sie nicht.

Point Clouds sind diskrete Abtastungen einer kontinuierlichen Funktionen, nämlich der darunterliegenden Fläche des modellierten oder realen Objekts. Sprich die Positionen der Punkte liegen innerhalb kleiner Fehlerschranken auf eben dieser 2D Fläche eingebettet im 3D Raum. Dieser Aspekt ist fundamental anders als bei Partikeldaten, welche sich völlig frei im 3D Raum positionieren. Praktisch alle Algorithmen die mit Point Clouds arbeiten ziehen ihre Motivation aus diesem Aspekt der darunterliegenden Fläche. Aus genau diesem Grund ist es nicht möglich diese Algorithmen direkt auf Partikeldaten anzuwenden.

Tja. Offensichtlich habe ich immer noch nicht genug publiziert um diesen Unterschied bei meinen Fachkollegen klar zu machen. Dann will ich mal …

Ende dieser Woche war es soweit: die wichtigen Demo-Termine.

Am Donnerstag fand die Output statt. Eine Art Tag der offenen Tür der TU Dresden, an dem Forschungsergebnisse und studentische Arbeiten der Öffentlichkeit präsentiert werden. Zusammen mit Ständen von Industriepartnern bietet diese Mini-Messe einen Überblick über alles was so aus der Uni entsteht. Dieses Mal war die Demo für uns recht wichtig. Die Nachwuchsforschergruppe VICCI, in der ich arbeite, ist an ResUbic angeschlossen, ein Verbund mehrerer Nachwuchsforschergruppen für die gemeinsame Arbeit an Themen rund um das Internet der Dinge und Cyber-physikalische Systeme. Für viele Gruppen ist dies das letzte Jahr ihrer Finanzierung und daher war die diesjährige Präsentation auf der Output für einen großen Teil von ResUbic eine Abschlusspräsentation. Entsprechen waren auch viele wichtige Personen eingeladen: Industriepartner, Presse und Regierungsvertreter. Entsprechen viel Aufwand haben wir alle in unsere Demos gesteckt, damit diese einen sehr guten Eindruck machen können.

Die vielleicht beste Demo von VICCI, wobei ich hier natürlich voreingenommen bin, ist die Follower-Demo die meine beiden Kollegen Alex und André aufgesetzt haben. Sie zeigt die Kombination aus einfacher Robotersteuerung und Bildverarbeitung, genauer: Objektverfolgung. Der Roboter besitzt ein Kamera, in unserem Fall eine Kinect, mit der er ein Objekt anlernt und dieses anschließend im Kamerabild verfolgt. In diesem Bild haben wir eine rote Kaffeetasse benutzt. Der Roboter versucht nun immer einen festen Abstand und eine gerade Orientierung zum verfolgten Objekt zu halten. Damit ist es möglich berührungslos den Roboter fernzusteuern indem man einfach die Tasse entsprechend bewegt.

Das Schöne an dieser Demo ist aber nicht, dass wir einen Roboter mit einer Kaffeetasse steuern können. Das ist zwar ein tolle Gimmick, aber halt nicht richtig wissenschaftlich. Die interessanten Details stecken im Verfolgen und Anlernen des Objekts. Hier nutzt Alex einen Partikelfilter-Algorithmus der mit Wahrscheinlichkeitsverteilungen die Objektpositionen schätzt, aktualisiert und schließlich erkennt. Die Objektverfolgung ist dadurch sehr robust und schnell. Neue Objekte, wie zum Beispiel auch einfach eine Hand, können innerhalb eines Sekundenbruchteils angelernt und zur Steuerung des Roboters genutzt werden.

Am Freitag kann gleich im Anschluss an die Output die lange Nacht der Wissenschaft. Der zweite Demo-Marathon. Prinzipiell zeigten wir dort die gleichen Demos wie schon zur Output. Lediglich einige andere Forschergruppen aus ResUbic haben zur langen Nacht keine Präsentationen mehr gegeben. Nun, wir aber schon. Wir haben den ganzen Abend und die Nacht bis zum Ende um etwa 1 Uhr alles gezeigt, was VICCI ermöglicht.

Als fazit kann ich sagen, die zwei Tage waren sehr anstrengend und ich bin froh, dass sie endlich vorbei sind. Abgesehen davon, waren den unsere Demonstrationen ein voller Erfolg und sind beim Publikum sehr gut angekommen.