Seminar “Visual Computing”
Sommersemester 2023

Stand: 25.07.2023


Organisatorisches

Wählen Sie eines der unten genannten Themen aus.

Themenauswahl: Um ein Thema (verbindlich!) zu wählen, posten Sie den Namen des Papers in den Mattermost-Kanal “Town Square” mit der Bemerkung “Themenauswahl:” gefolgt von einer Nennung des Themas (Nummer und Name wie unten angegeben). Schauen Sie bitte dort vorher nach, ob das Thema schon vergeben wurde. Die Themen first-come-first-served vergeben.

Eigene Vorschläge: Es ist zulässig, selbst Themen vorzuschlagen; diese werden dann entsprechend geprüft (Schwierigkeit, Umfang) und zugelassen, falls das Thema geeignet ist. Grundlage muss in jedem Fall eine aktuelle Forschungsarbeit der letzten 10 Jahre im Gebiet maschinelles Lernen oder Computer Vision (und deren Anwendungen) sein. Siehe auch “Joker”-Thema in der Liste unten. Eigene Vorschläge müssen abgesprochen werden; dazu dient ggf. die erste Vorbesprechung am 04.08.2023 (s.u.)

Frist: Sie müssen bis zum Donnerstag, den 10.08.2023 (abends) verbindlich ein Thema auswählen. Wir empfehlen bereits eine Woche vorher ein Thema auszuwählen, damit eine effektive Diskussion im ersten Vorbereitungstreffen möglich ist. (s.u.)

Vorbesprechungen: Am Freitag den 04.08.2023 und Freitag dem 11.08.2023 finden jeweils um 14:00-15:00h (s.t.) zwei Vorbesprechungen zum Seminar statt. Treffpunkt ist Raum 03-331.

Anforderungen

Bei jedem Thema wird in der Beschreibung kurz andiskutiert, ob es mehr oder weniger anspruchsvoll in Bezug auf Theorie und/oder Komplexität ist. Grundsätzlich wird erwartet, dass Studierende im Master Themen tiefer durchdringen und auch vor schwierigeren Aspekten wie einer formal-mathematischen Herleitung, einer komplexeren Einordnung in die aktuelle Literatur, einem komplexen Systementwurf oder anderen anspruchsvollen Aspekten weniger zurückschrecken; im B.Sc. wird etwas großzügiger bewertet, wenn das Thema weniger genau bearbeitet wird. Grundlage für die Bewertung ist immer die im Seminar gezeigte Leistung; schwierigere Themen sind daher nicht grundsätzlich hinderlich für gute Noten; sie bieten mehr Möglichkeiten zur Profilierung, stellen aber ggf. höhere Anforderungen beim Grundverständnis (man muss natürlich schon verstehen, worum es eigentlich geht).

Praktische Aufgaben

Zu jedem Thema wird eine praktische Aufgabenstellung vorgeschlagen, die Sie im Rahmen des Seminarvortrages vorstellen und in Ihrer Ausarbeitung noch etwas genauer aufarbeiten und diskutieren sollten. Hier besteht durchaus Flexibilität – wir können in den weiteren Vorbesprechungen noch genauere Pläne dazu machen. Eigene Ideen werden sehr geschätzt, sollten aber kurz abgesprochen werden.

Die Arbeitszeit sollte für die praktischen Experimente sollte im Rahmen von nicht mehr als 1-3 Tagen liegen (mehr ist nicht verboten, wird aber, auch für gute Noten, nicht verlangt; ggf. –rechtzeitig– Rücksprache nehmen, falls es aus dem Rahmen läuft).

Bei jedem Thema ist es möglich, Experimente direkt zum Thema der wissenschaftlichen Arbeit zu machen, z.B. mit Code, den die Autoren/innen selbst bereitstellen (eine eigene Implementation wäre natürlich grundsätzlich auch zulässig, aber in der Regel viel zu aufwendig). Aufgabe wäre bei solchen Experimenten immer, besser zu verstehen, wie das Verfahren in der Praxis funktioniert und die Ergebnisse zu präsentieren. Diese Möglichkeit ist zwar nicht explizit gelistet, erfordert aber grundsätzlich keine gesonderte Genehmigung oder Absprache. Die aufgelisteten Themen sind i.d.R. Vereinfachungen von Aspekten der Papers, damit der experimentelle Teil nicht zu komplex wird.

Themenliste

Die meisten Papers stammen von der Konferenz CVPR 2023, die im Juni diesen Jahres in Vancouver stattgefunden hat. Es geht dabei um Arbeiten im Bereich von Computer Vision, Visual Computing und Mustererkennung. Es gibt einen Mix aus Graphik-nahen (CG), Vision-nahen (CV) und maschine-learning-orientierten (ML) Themen. Die Themenbereiche sind grob gekennzeichnet, gehen aber fließend in einander über.

Aufgabe ist in jedem Fall, die wichtigsten und interessantesten Einsichten der Arbeit zu erklären. Eine gute Auswahl zu treffen, was wichtig/interessant und unwichtig ist, ist immer Teil der Aufgabe.


Thema 1: DeepMAD - CNNs automatisch optimieren (CV/ML)

Thema: In diesem Paper geht es darum, wie man die Architektur von CNNs automatisch so wählen kann, dass sie möglichst gute Performance liefern. Das Paper schlägt ein erstaunlich einfaches Schema vor, dass erstaunlich gute Ergebnisse liefert. Die Begründung zu verstehen, warum das alles so Sinn macht, erfordert einiges an Recherche und Hintergrundwissen (und einige Details bleiben vielleicht auch mysteriös).

Warum diese Thema? Ergebnisse sind verblüffend & cool.

Praktische Aufgabe: Versuchen Sie mit der vorgestellen Methoden ein eigenes kleines Netzwerk zu entwerfen, dass z.B. CIFAR-10 klassifizieren soll. Testen Sie es auf CIFAR-10 und oder MNIST und variieren sie entscheidene Parameter (z.B. die Breite) von Hand. Wie gut ist der automatische Vorschlag? (Achtung: Etwas Erfahrung mit DL und GPU-Hardware notwendig; Aufgabe kann auch durch eine Literaturrecherche ersetzt werden)

Literatur:

Schwierigkeit: Die Theorie (zusammenzutragen) ist eher anspruchsvoll (gut für Master geeignet); das Verfahren selbst ist nicht so schwer zu verstehen.


Thema 2: Continuous Convolutions with Learned Kernels (CV/CG)

Thema: In diesem Paper werden CNNs gebaut, bei denen die Abtastpunkte bewegt werden können und die Anordnung wird mit optimiert. Jeder Abtastpunkt entspricht dabei nicht nur einem Pixel oder einem einfachen Tiefpassfilter (Gauss-Kleckse sind beliebt in 3D Anwendungen), sondern einem komplexeren Muster, das selbst wieder durch ein Netzwerk kodiert wird.

Warum diese Thema? Techniken wie Neural Fields und Deformable Convolutions sind interessant und wurden in letzter Zeit viel untersucht.

Praktische Aufgabe: Das vorgestellte System ist ziemlich komplex und wohl zu schwierig zu reproduzieren. Vorschlag ist daher, die Aufgabe “Neural-Fields” aus der Aufgabensammlung zu lösen, siehe unten.

Literatur:

Schwierigkeit: Das vorgestellte System ist durchaus recht komplex, aber es gibt wenig schwarze Magie (weired-math).


Thema 3: Self-Supervised Learning mit MAEs (ML/CV)

Thema: Dieses Paper ist ein junger Klassiker von der CVPR vom letzten Jahr. Nach ewigen Versuchen, mit unsupervised-pretraining gute Klassifizierer zu bauen, hat man hier einen einfachen Trick gefunden, damit es doch funktioniert: Man lässt bei einem Autoencoder patchweise einen großen Teil des Bildes weg und versucht den wieder vorherzusagen. Das nutzt man zum Vortrainieren und danach kann man mit wenigen “gelabelten” Beispielen gut klassifizeiren. Das scheint sehr gut zu funktionieren und löst das Problem, dass man große gelabelte Datenmengen braucht.

Warum diese Thema? Löst eines der größten offenen Probleme in dem Gebiet. Und das auch noch mit einer relativ einfachen Methode.

Praktische Aufgabe: Die Masked-Autoencoder-Aufgabe aus der Aufgabensammlung unten paßt genau zu diesem Thema.

Literatur:

Schwierigkeit: Der Ansatz an sich ist einfach zu verstehen.


Thema 4: Self-Supervised Learning in 3D (CV/CG)

Thema: Man kann die Sache mit dem MAE natürlich auch weiter treiben. Hier ein Vorschlag, wie man das ganze für Transfer-Learning im 2D/3D Bereich einsetzen kann. Das Paper ist komplexer als Thema 3, was entsprechend berücksichtigt wird.

Warum diese Thema? Man sieht hier, was man aus dem MAE-Paradigma so rausholen kann (insbesondere bei 3D Vision, was immer noch ziemlich hinterherhinkt)

Praktische Aufgabe: Hier paßt auch die Masked-Autoencoder-Aufgabe aus der Aufgabensammlung unten gut zum Thema; der Originalansatz ist eher zu komplex für eigene Experimente.

Literatur:

Schwierigkeit: Auch hier ist eher Komplexität das Problem; kompliziert ist es nicht.


Thema 5: NERF Grundlagen (CG/CV)

Thema: Eines der ersten Papers, das die “NERF”-(Neural Radience Fields)-Idee vorgestellt hat. Hier ist der Name im Titel (es gab vorher schon Neural Rendering Ideen, aber dieses Paper ist der Klassiker).

Warum diese Thema? Ein Klassiker – NERFs

Praktische Aufgabe: “Neural Fields”-Aufgabe aus der Aufgabensammlung.

Literatur:

Schwierigkeit: Eher einfach zu verstehen; Grundkenntnisse in Computergraphik sind nötig.


Thema 6: Ein generatives Modell für NERFs (CG/CV)

Thema: Ein System, um NERF-Modelle (Neural Radience Fields, eine Methode um NNs zu nutzen, um photorealistische 3D Modelle zu erzeugen) aus Text-Prompts zu erzeugen.

Warum diese Thema? Ist schon nett, was man dieser Tage alles automatisch erzeugen kann. Hier lernt man, wie solche Systeme funktionieren.

Praktische Aufgabe: “Neural Fields”-Aufgabe aus der Aufgabensammlung.

Literatur:

Schwierigkeit: Sehr komplexes System; Master-Studenten/innen sollten die Bausteine etwas besser verstehen/grob einordnen können (alles “von-Null-an” erklären kann man aber auf keinen Fall).


Thema 7: Segmentierung mit NERFs (CV)

Thema: Segmentieren zu lernen ist nicht so einfach; warum nicht einfach NERFs dafür lernen (das Aussehen ist die Segmentierung). Kann man machen :-D

Warum dieses Thema: “Warum nicht?” Eine wilde Idee, die aber tatsächlich funktioniert!

Praktische Aufgabe: “Neural Fields”-Aufgabe aus der Aufgabensammlung.

Literatur:

Schwierigkeit: Die Idee und Umsetzung sind eigentlich relativ leicht zu verstehen.


Thema 8: Videokompression mit NERFs (CV)

Thema: Man kann NERFs auch dazu benutzen, um Videos zu komprimieren. Hier ein (recht komplexes) Beispielsystem.

Warum dieses Thema: Videokompression mit DNNs war auf der CVPR 2023 ein “heißes” Thema. Da kommt vielleicht noch was…

Praktische Aufgabe: “Neural Fields”-Aufgabe aus der Aufgabensammlung.

Literatur:

Schwierigkeit: Es kommt eine gewisse Komplexität zusammen.


Thema 9: Theorie der Diffusionsmodell (ML)

Thema Es sind drei Papers angegeben, die die Grundlagen dafür legen, wie moderne Diffusionsmodelle funktionieren. Das Thema ist theoretisch sehr anspruchsvoll; daher entfällt die praktische Aufgabe.

Warum dieses Thema? Ich mag Theorie. Ich will wissen, wie Diffusionsmodelle funktionieren, weil die gerade super-hot sind und atemberaubende Ergebnisse produzieren. Ich habe keine Angst vor einem wilden Ausritt in die angewandte Mathematik. Praxis brauche ich nicht unbedingt.

Praktische Aufgabe: Entfällt ersatzlos (freiwillig gerne, ist aber nicht verlangt). In der Ausarbeitung sollten Sie auf ca. 2 Seiten in eigenen Worten zusammenfassen, was die Grundidee(n) hinter Diffusionsmodellen sind. Dies ist keine Zusammenfassung der Originalquellen – Sie sollen erklären, was die wesentlichen Ideen sind, ohne Rücksicht auf die Struktur der Originalpapiere. Es gibt keinen praktischen Anteil in der Ausarbeitung (außer, Sie möchten unbedingt).

Literatur:

Schwierigkeit: Für Studierende im Master geeignet. Für Nebenfach Physik (oder Mathematik) könnte es besonders attraktiv sein. Das Thema ist eine Ausnahme im Seminar, aber vielleicht mag ja jemand wirklich Theorie.


Thema 10: Diffusionsmodelle für Video (CV/ML)

Thema: Generative Modelle für Videos mit Diffusionsmodellen. Genutzt wird nicht-lineare Dimensionsreduktion mit Autoencodern, damit die Sache machbar wird.

Warum dieses Thema: Videoerzeugung ist der nächste Schritt (siehe Diskussion hier und Ergebnisse hier; Vorsicht – Subreddit ist etwas euphorisch bezgl. ML/AI; beides externe Links).

Praktische Aufgabe: Benutzen Sie einen gewöhnlichen Autoencoder (Code vom Web reicht), um Bilder zu komprimieren. Füttern Sie den AE mit einer kurzen Video-Sequenz (trainieren Sie darauf) und spielen Sie das Video wieder ab, indem Sie nur die komprimierten Koordinaten der einzelnen Video-Frames in Dekoder stecken. Schaffen Sie es, damit wirklich zu komprimieren?

Literatur:

Schwierigkeit: Grundidee ist nicht sehr schwer zu verstehen. In die Details kann man beliebig tief einsteigen, wenn man möchte.


Thema 11: Sampling von Punktwolken mit Attention (CG)

Thema: Mal eher eine Computergraphik-Anwendung. Man wählt die wichtigsten Punkte aus einer 3D Punktwolke aus, indem man ein Netzwerk mit “Attention” auf einen Task drauf trainiert. Naja, dann weiß man halt, was am wichtigsten ist.

Warum diese Thema: Man kann auch 2023 noch über Sampling diskutieren :-) Ein Thema für Graphiker/innen!

Praktische Aufgabe: Bei Wahl des Themas nach Absprache.

Literatur:

Schwierigkeit: Moderat, aber man muss grob wissen, wie Transformer et al. funktionieren.


Thema 12: Polynomielle Repräsentationen für Funktionen mit DNNs (ML/CV)

Thema: Eine neue Repräsentation für neural fields (direkte Repräsentation von Funktionen/Bildsignalen durch Netzwerke). Diesmal mit Polynomen. Scheint gut zu funktionieren.

Warum diese Thema: Man kann nie genug Repräsentationen für Daten kennen.

Praktische Aufgabe: “Neural Field” Aufgabe aus der Aufgabensammlung unten.

Literatur:

Schwierigkeit: Nichts super kompliziertes, aber man muss vielleicht ein bischen “Related Work” lesen, um den Kontext zu verstehen.


Thema 13: Unlernable Examples – Lernen, nichts lernen zu können (ML/CV)

Thema: Kann man Daten gegen Lernen mit DNNs schützen? Ja, auch sowas gibt es. Lernen nichts zu lernen, indem man die Daten so aussehen läßt, dass sie keinen Einfluss auf die Zielfunktion zu haben scheinen. (Auf CVPR 2023 gab es follow-up work, aber das Original ICLR 2021 Paper ist für das Seminar vielleicht besser geeignet).

Warum diese Thema: Das Thema ist originell und paßt vielleicht gut in die aktuelle sozilogisch-politischen Debatten dieser Tage.

Praktische Aufgabe: Experimentieren Sie mit dem Code zum Paper. Falls das Probleme macht, können Sie alternativ auch mit “gewöhnlichen” Adversarialen Beispielen experimentieren, die Bildern die falsche Klasse zuordnen (hier gibt es sehr viele Ressourcen online).

Literatur:

Schwierigkeit: Moderat, aber man muss grob wissen, wie Transformer et al. funktionieren.


Thema 14: Joker (CV/ML/CG)

Thema: Suchen Sie sich ein Paper von der aktuellen CVPR 2023 aus (Liste z.B. hier; es gibt über 2000 Stück). Um ein solches alternatives Thema zu wählen, müssen Sie einen Vorschlag für die Präsentation des Themas und eine geeignete praktische Aufgabe selbst entwickeln und in der ersten Vorbesprechung am 04.08.2023 absprechen (damit ggf. Zeit für Überarbeitungen ist). Grundsätzlich sind auch allgemein Papers aus den letzten 10 Jahren im Bereich maschinelles Lernen und Visual Computing möglich, hier aber möglichst vorher schon anfragen ob das in das Seminar paßt.

Warum diese Thema: Wenn Sie sehr persönliche Vorstellungen davon haben, was Sie in diesem Gebiet interessiert. Außerdem: bringt es Unglück, genau 13 Themen zur Auswahl zu haben (Spoiler:nein, das ist Aberglaube).

Praktische Aufgabe: Eigener Vorschlag (s.o.)


Sammlung praktischer Aufgaben

Viele der Methoden, die in diesem Seminar diskutiert werden, sind relativ komplex und es ist daher schwierig in sinnvoller Zeit (höchstens einige Tage) Experimente damit zu machen. Während es immer möglich ist, den Code der Autoren zu nutzen (wo verfügbar) und die Sache einfach mal durchzutesten, ist es vielleicht interessanter einen Teilaspekt selbst umzusetzen und damit zu experimentieren. Im Folgenden werden daher einige Aufgaben beschrieben, die Teilaspekte von mehrere o.g. Themen darstellen.

Die “optionalen” Experimente muss man nicht bearbeiten; es handelt sich um Anregungen, falls Sie sehr schnell vorankommen und daher noch etwas mehr ausprobieren möchten. Die Arbeitszeit sollte für die Experimente sollte im Rahmen von 1-3 Tagen liegen.

Aufgabe “Neural Fields”

Ein “neural field” ist eine Funktion, die direkt als Netzwerk dargestellt wird. Dazu gibt man ihr Koordinaten als Eingabe, und die Funktion spuckt direkt die Funktionswerte aus. Typischerweise ist die Eingabe niedrig-dimensional (1D/2D/3D, ggf. via “positional encoding” dargestellt) und die Ausgabe sind z.B. Farben eines Bildes oder die Dichte eines Faltungskerns für ein CNN. Das Netzwerk ist typischerweise ein einfaches “fully-connected” Netzwerk (auch “MLP, multi-layer-perceptron” genannt) mit mehreren Schichten.

In dieser Aufgabe soll nun ein Photo als FCN/MLP kodiert werden. Wählen Sie dazu eine geeignete Architektur (dies kann auch ein sehr kleines Netzwerk mit 1-2 Schichten sein, falls Sie keine GPU-Unterstützung haben) und “overfitten” Sie das Netzwerk gegen ein Bild (s/w oder Farbe) Ihrer Wahl. Bei geringen Ressourcen können Sie ein Bild niedriger Auflösung wählen. Visualisieren Sie dann das Approximationsergebnis als Bild und werten Sie insbesondere auch das Bild in höherer Auflösung aus.

Anregungen für weitere Experimente (optional):

Aufgabe “Masked Autoencoders”

Ein Autoencoder lernt dadurch, dass er Daten erst codiert und dann wieder dekodiert und es soll das gleiche rauskommen, was man reingesteckt hat (typ. mit least-squares loss, z.B. pixelweise bei Bildern). Der klassische Autoencoder benutzt ein Bottleneck, bei dem der Encoder eine niedrig-dimensionale Kodierung erzeugt, aus der der Dekoder dann wieder ein komplettes Bild machen muss. Der Masked Autoencoder dagegen verdeckt Teile der Eingabe und lässt den Encoder-Decoder-Stack die verborgenen Bildteile wiederherstellen.

Trainieren Sie einen solchen Masked-Autoencoder auf einem geeignete Datensatz (z.B. CIFAR-10 oder MNIST mit einem linearen oder 2,3-Schichten Modell für reines CPU-Training). Wie gut sagt der AE fehlende Bildteile voraus?

Anregung für weitere Experimente (optional): - Versuchen Sie, Transferlearning zu machen, indem Sie die zuvor trainierte Kodierung (in der “Mitte” des AE-Stacks) mit einem einfachen linearen SoftMax+CrossEntropy-Layer verbinden und dann auf die 10 Klassen von CIFAR-10 trainieren (aber nur mit wenigen gelabelten Beispielen).







Datenschutz     Impressum