Wie auf der Hauptseite beschrieben, können Sie eines der unten genannten Themen auswählen; es ist aber auch möglich, eigene Vorschläge einzubringen (dies bitte möglichst bereits in der Vorbesprechung diskutieren/absprechen).
Um ein Thema (verbindlich!) zu wählen, posten Sie den Namen des Papers in den Teams-Kanal “Themenauswahl”. Schauen Sie dort vorher nach, ob das Thema schon vergeben wurde. Falls Sie einen eigenen Vorschlag machen möchten, besprechen Sie dies bitte zunächst mit uns in den entsprechenden Treffen. Themen grundsätzlich first-come-first-served vergeben.
Seminarvorträge
Jedes Thema besteht aus ein oder mehreren Papers. Aufgabe für das Seminar ist es, die wichtigen / interessanten Inhalte diese Papers wiederzugeben. Die Entscheidung darüber, was besonders betont werden soll, liegt dabei bei den Studierenden, die das Thema bearbeiten. Teil der Bewertung ist dabei natürlich auch, wie gut diese Auswahl gelungen ist (hat man wirklich entscheidende Aspekte verstanden und gut vermittelt?). Ein Fokus auf eine Teilmenge der Inhalte ist dabei natürlich fast immer notwendig.
Bei den meisten Themen ist eine “Aufgabenstellung” für das Seminar formuliert, die dabei helfen soll, wichtige Aspekte zu identifizieren. Dies hat allerdings den Status einer Empfehlung.
Für jedes Thema ist auch angegeben, ob es für B.Sc., M.Sc. oder beides (dann mit höheren Erwartungen im Master) geeignet ist. M.Sc. Themen sind immer auch für B.Sc. Studierende (auf freiwilliger Basis; sollten B.Sc. Themen fehlen, bitte Bescheid geben) zulässig.
Experimente für Seminarvortrag und Ausarbeitung
Weiterhin gibt es zu jedem Thema ein oder mehrere Vorschläge für praktische Experimente. Auch dies sind Empfehlungen. Grundsätzlich ist es immer möglich (sogar wünscheswert), zu versuchen Teile der Ergebnisse der Originalquellen selbst zu reproduzieren, bei nicht-trivialen Verfahren auch durch Verwendung von Implementationen Dritter, z.B. Code der Autoren. Bei den Computer Graphik Themen sollten Sie ggf. mit Frau Schnur von der AG Schömer rücksprache halten, falls die eigene Implementation des vorgeschlagenen Themen nicht gelingt oder zu umfangreich erscheint. Bei den Themen zu Modellierung und Computer Vision gibt es einen Katalog an Ausweichthemen am Ende, den Sie immer nutzen können (ohne um Erlaubnis fragen zu müssen). Auch der Rückgriff auf Experimente zu einem anderen Paper aus dem gleichen Themengebiet (am besten mit ähnlichen Inhalten) ist grundsätzlich erlaubt.
Die Themenvorschläge bestehen zum Teil aus mehreren Stufen: Dies ist so zu verstehen, dass man die “Ausbaustufen” der Aufgabe nacheinander bearbeiten sollte; es kann sein, dass der Zeitrahmen bereits ausgeschöpft ist, bevor alle Stufen bearbeitet wurden; die Lösung wäre dann aber trotzdem ok. In einigen Themen sind auch “alternative” Ansätze beschrieben; hier ist die Idee, dass man nur eine dieser Alternativen ausprobieren sollte.
Es wird noch eine weitere Vorbesprechung geben, auf der die Gestaltung des Seminarvortrages und die Ausrichtung der Experimente nochmal individuell abgesprochen wird (nur das ist dann verbindlich); auf dieser Webseite finden sich Themenvorschläge.
Experimente für das Praktikum
Weiterführende Experimente im Rahmen des Praktikums werden individuell abgesprochen. Es wird dabei erwartet, umfangreichere und/oder eigenständigere Experimente und Untersuchungen durchzuführen (z.B. eigenes Nachimplementieren statt Code vom Netz, genauere Analyse der Auswirkung verschiedener Parameter, etc.).
Hinweis: Die Themenliste wurde am 02. Juli 2024 (abends) online bereit gestellt.
Es gibt vier Teilbereiche, die gewählt werden müssen, je nachdem mit welcher Vorlesung das Seminar im Modulkonzept kombiniert werden soll:
Im folgenden sind die Themen in Abschnitten gelistet, die die Affinität zu den Themenbereichen wiederspiegeln. Es gibt aber einzelne Themen, die für mehrere Bereiche zulässig sind; daher steht bei jedem Thema nochmal eine Markierung des Themengebiets dabei (z.B. CV/M2). Grundsätzlich sind die Themen zu Modellierung 2 auch mit der Veranstaltung Modellierung 1 und der Computer Vision kombinierbar (da anspruchsvoller); dies wird aber nicht empfohlen (bei besonderem Interesse aber kein formales Problem).
Hinweise: Die Themen werden von Ronja Schnur aus der AG Schömer betreut – bei Fragen können Sie sich gerne direkt an sie wenden (insbesondere z.B. bei Absprachen zu den praktischen Aufgaben)
[CG]
Bachelor
Inhalt: Ein Verfahren zur Verbesserung der Schatten in 3D-Renderings. Sie simuliert den Effekt von Umgebungslicht, das durch nahegelegene Geometrie blockiert wird, indem die Tiefen- und Normaleninformationen in Bildschirmpixeln analysiert werden. Dies verbessert die visuelle Tiefe und das Volumen von Objekten in der Szene.
Quellen: - https://dl.acm.org/doi/10.1145/1281500.1281671 - https://learnopengl.com/Advanced-Lighting/SSAO, (Learn OpenGL ISBN: 978-9090332567)
Aufgabe (Seminar): Erklären Sie das Verfahren, im besten Fall anhand Ihrer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Master/Bachelor
Screen Space Reflections (SSR) ist eine Rendering-Technik in der Computergrafik, die Reflexionen auf Oberflächen erzeugt, indem sie Bildschirminformationen nutzt. Sie verfolgt Reflexionsstrahlen in den Tiefen- und Farbwerten des Bildschirms, um realistische Spiegelungen und Reflexionseffekte in Echtzeit zu erzeugen (Screen Space RayTracing).
Quellen:
Aufgabe (Seminar): Erklären Sie das Verfahren, im besten Fall anhand Ihrer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Bachelor
Cascading Shadow Maps (CSM) ist eine Technik zur Verbesserung der Schattenqualität in 3D-Renderings. Sie teilt den Kamerablickwinkel in mehrere Abschnitte auf und rendert für jeden Abschnitt eine separate Schattenkarte. Dies ermöglicht eine höhere Auflösung und Genauigkeit der Schatten in verschiedenen Entfernungen und verbessert die visuelle Qualität der Szene.
Quellen:
Aufgabe (Seminar): Erklären Sie das Verfahren, im besten Fall anhand Ihrer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Master/Bachelor
Deferred Rendering ist eine Rendering-Technik in der Computergrafik, die die Beleuchtung und Materialien in einem separaten Schritt nach der Geometrie- und Texturierungsberechnung verarbeitet. Dies ermöglicht eine effizientere Beleuchtungsberechnung und die Verwendung von komplexen Materialien und Effekten in Echtzeit.
Quellen:
Aufgabe (Seminar): Erklären Sie das Verfahren, im besten Fall anhand Ihrer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Bachelor
Parallax Mapping ist eine Technik in der Computergrafik, die die Illusion von Tiefe und Volumen auf flachen Oberflächen erzeugt, indem sie die Texturkoordinaten basierend auf der Betrachtungsperspektive verschiebt. Dies verbessert die visuelle Qualität von Texturen und erzeugt realistische Relief- und Volumeneffekte.
Quelle:
Aufgabe (Seminar): Erklären Sie das Verfahren, im besten Fall anhand Ihrer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Bachelor
Depth of Field (DOF) ist eine Technik in der Computergrafik, die den Fokus und die Unschärfeeffekte basierend auf der Entfernung von der Kamera simuliert. Sie erzeugt realistische Tiefenwirkungen und verbessert die visuelle Qualität von Renderings, indem sie den Fokus auf bestimmte Objekte oder Bereiche in der Szene legt.
Quelle:
Aufgabe (Seminar): Erklären Sie das Verfahren und die theoretischen Hintergründe, im besten Fall anhand Ihrer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Bachelor
Frustum Culling ist eine Technik in der Computergrafik, die die Sichtbarkeit von Objekten basierend auf dem Kamerablickwinkel und der Entfernung zur Kamera bestimmt. Sie reduziert die Anzahl der gerenderten Objekte in einer Szene und verbessert die Leistung und Effizienz von 3D-Renderings.
Quelle:
Aufgabe (Seminar): Erklären Sie das Verfahren und die theoretischen Hintergründe, im besten Fall anhand Ihrer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Master
Physically Based Rendering (PBR) ist eine Rendering-Technik in der Computergrafik, die physikalische Eigenschaften von Materialien und Lichtquellen simuliert, um realistische und konsistente Renderings zu erzeugen. Sie basiert auf physikalischen Modellen und Gleichungen, um die Reflexion, Brechung, Absorption und Streuung von Licht zu berechnen.
Quellen:
Aufgabe (Seminar): Erklären Sie das Verfahren und die theoretischen Hintergründe im besten Fall anhand ihrerer eigenen Implementierung.
Praktische Aufgabe: Implementieren Sie das Verfahren in WebGL.
[CG]
Master
Nanite Virtualized Geometry ist eine Technologie in der Computergrafik, die die Darstellung und Rendern von hochauflösenden Geometrien in Echtzeit ermöglicht. Sie basiert auf virtuellen Geometrien, die dynamisch in kleinere Teile aufgeteilt und gerendert werden, um eine hohe Detailgenauigkeit und Leistung zu erzielen.
Quellen:
Aufgabe (Seminar): Erklären Sie das Verfahren und die theoretischen Hintergründe.
Praktische Aufgabe: Falls Sie das Thema wählen – bitte Rücksprache mit Frau Schnur (da die Umsetzung hier sehr komplex ist).
[CV]
Bachelor/Master
Paper:
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.
Schwierigkeit: Das vorgestellte System ist durchaus recht komplex, aber es gibt wenig schwarze Magie (weired-math).
[CV]
Bachelor
Paper:
Inhalt: Dieses Paper ist ein junger Klassiker von der CVPR 2022. 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.
Schwierigkeit: Der Ansatz an sich ist einfach zu verstehen.
[CV]
[CG]
Bachelor
Paper:
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.
Schwierigkeit: Eher einfach zu verstehen; Grundkenntnisse in Computergraphik sind nötig.
[CV]
[CG]
[M1]
Bachelor/Master
Paper: - Alex Yu, Sara Fridovich-Keil, Matthew Tancik, Qinhong Chen, Benjamin Recht,Angjoo Kanazawa Plenoxels: Radiance Fields without Neural Networks CVPR 2022
Thema: Wie sich herausstellt, kann man NERFs auch ohne Deep Learning machen. Also von NERFs zu ’RFs, sozusagen. Fitting von Voxeln mit Spherical Harmonics (Graphikern nicht unbekannt) reicht.
Warum diese Thema? Das Ende eines jungen Klassikers – NERFs braucht man gar nicht? Alles nur Snake-Oil? Read to find out more!
Praktische Aufgabe: “Neural Fields”-Aufgabe aus der Aufgabensammlung.
Schwierigkeit: Moderat; Grundkenntnisse in Computergraphik sind nötig.
[CV]
[M2]
Bachelor/Master
Paper: - Moritz Böhle, Navdeeppal Singh, Mario Fritz, Bernt Schiele B-cos Networks: Alignment is All We Need for Interpretability (Extended Version: B-cos Alignment for Inherently Interpretable CNNs and Vision Transformers) CVPR 2022 / IEEE Trans. PAMI 2024 https://openaccess.thecvf.com/content/CVPR2022/papers/Bohle_B-Cos_Networks_Alignment_Is_All_We_Need_for_Interpretability_CVPR_2022_paper.pdf (Conference Version; Thema des Vortrags) https://arxiv.org/abs/2306.10898 (extended Version für mehr Infos)
Inhalt: Das Paper zeigt, das Probleme bei der Interpretierbarkeit von DNNs auch schlichtweg an der Zielfunktion liegen können; eigentlich funktionieren auch einfache Methoden ganz gut (z.B. bei Self-Supervised Pretraining wie in Thema CV-2). Wieder ein mysteriöses Problem gelöst, mit einer ganz einfachen und einleuchtenden Erklärung.
Aufgabe: Erklären Sie die Kernideen aus dem (Konferenz-) Paper.
Praktische Aufgabe: “Netzwerke via Eingabe-Gradient visualisieren” aus der Aufgabensammlung.
In diesem Bereich gibt es zwei Themen zur Bildverarbeitung und zwei Themen zur Oberflächenrekonstruktion aus Punktwolken (diese erfordern etwas Hintergrund in Computer Graphik). Alle vier Papers sind “Klassiker”. Falls noch Themen fehlen, bitte Bescheid geben.
[M1]
Bachelor/Master
Paper: - Patrick Pérez, Michel Gangnet, Andrew Blake Poisson Image Editing Siggraph 2003 https://www.cs.jhu.edu/~misha/Fall07/Papers/Perez03.pdf
Inhalt: Um Teile von Bildern/Photos miteinander zu kombinieren, kombiniert man nur die Gradientenfelder statt der Pixelwerte. Passt alles viel besser. Technisch geht es um “Variational Modelling”.
Aufgabe: Idee und Anwendungen in der Bildverarbeitung erklären.
Praktische Aufgabe: Versuchen Sie die Methode zu reproduzieren und experimentieren Sie damit (es gibt Implementationen im Netz).
Schwierigkeit: Moderat, man muss die mathematischen Hintergrunde des Kapitels “Variational Modelling” aus der Vorlesung Modellierung 1 gut verstanden haben.
[M1]
Bachelor/Master
Paper: - Ramesh Raskar, Amit Agrawal, Jack Tumblin Coded Exposure Photography: Motion Deblurring using Fluttered Shutter ACM SIGGRAPH 2006 https://web.media.mit.edu/~raskar/deblur/
Inhalt: Wie aus der Vorlesung bekannt, kann man durch eine temporale Kodierung in der Belichtung es leichter machen, Bewegungsunschärfe aus Aufnahmen zu entfernen.
Aufgabe: Erklären Sie genauer, wie das ganze funktioniert (und die Theorie dahinter). Für Master: Erlären Sie auch die Theorie und Praxis hinter der u.g. praktischen Aufgabe.
Praktische Aufgabe: Versuchen Sie, unscharfe Photos zu schärfen, indem Sie mit Hilfe einer 2D-FFT einen Faltungsfilter invertieren. Sie können sich zunächst synthetische Daten erzeugen, indem Sie ein Bitmap-Bild mit z.B. mit Gauß’scher Unschärfe versehen und etwas Rauschen (unabhängig für alle Pixel) hinzufügen. Danach kann man mit der FFT die Unschärfe (aber nicht das Rauschen) rückgängig machen. Achten Sie auf eine sinnvolle Regularisierung! Bonus: Klappt es mit unscharfen “echten” Photos? Wie weit kann man gehen?
Schwierigkeit: Relativ einfach, da schon in der VL Modellierung 1 besprochen. Daher bei Master höheres Gewicht auf Experimente und theoretische Aufarbeitung (von Paper und Experimenten).
[M1]
Bachelor/Master
Paper: - J. C. Carr, R. K. Beatson, J. B. Cherrie, T. J. Mitchell, W. R. Fright, B. C. McCallum, T. R. Evans Reconstruction and Representation of 3D Objects with Radial Basis Functions Siggraph 2001 http://mesh.brown.edu/DGP/pdfs/Carr-sg2001.pdf
Inhalt: Oberflächenrekonstruktion mit radialen Basisfunktionen, die direkt den Raum der Lösungen des Variationsproblems aufspannen. Kurz in der Vorlesung Modellierung 1 angesprochen.
Schwierigkeit: Die Mathematik ist von der Methodik her nicht sehr schwer, aber das ganze komplett zu verstehen ist durchaus recht anspruchsvoll. Algorithmisch gibt es auch ein paar fortgeschrittene Methoden (fast-multipole-methode mit Octrees). Also leichter Einstieg, aber insgesamt doch nicht ganz einfach.
Praktische Aufgabe: Implementieren Sie das Verfahren brute-force (ohne Octrees o.ä.) für eine 2D-Punktwolke, die eine einfache Kurve (z.B. einen verrauschten Kreis oder eine mit der Maus mit dem Einzelpixelwerkzeug in Paint gemalte Kurve) zu einer impliziten Funktion umwandelt/rekonstruiert. Experimentieren Sie mit einfachen Basisfunktionen (Sie können auch die aus dem Paper nehmen, z.B. als 2D Schnitt). Visualisierung z.B. mit MatPlotLib in Python.
Alternative: Experimente von Thema M1-4 sind auch geeignet.
[M1]
Bachelor/Master
Paper: - Michael Kazhdan , Matthew Bolitho, Hugues Hoppe Poisson Surface Reconstruction https://hhoppe.com/poissonrecon.pdf
Inhalt: Legendäres Paper zur Oberflächenrekonstruktion aus 3D Punktwolken. Nicht die beste oder einfachste Methode, aber die Mathematik ist einfach sehr elegant, daher sehr populär.
Schwierigkeit: Man muss sich mit Variationsmodellierung auskennen und ein bisschen recherchieren. Eher “keine Angst vor Mathematik” aber “nicht schwer”, wenn man die richtigen Voraussetzungen hat.
Aufgabe: Erklären, wie das alles funktioniert (vor allem die Theorie ist interessant).
Praktische Aufgabe: Es gibt Code dazu im Netz - einfach mal ausprobieren mit einer echten Punktwolke (z.B. einem Modell aus dem Stanford 3D Scanning Repository; zum Experimentieren und Visualisieren ist z.B. das Tool MeshLab gut geeignet; hier ist sogar eine Variante der Methode schon eingebaut). Dann testen, wie sich Parameter auswirken.
[M1]
Bachelor/Master
Paper: - Terzopoulos, D., Platt, J., Barr, A., Fleischer, K.: Elastically deformable models. In: Siggraph 87: Proceedings of the 14th annual conference on Computer graphics and interactive techniques, 205–214, ACM, 1987. http://web.cs.ucla.edu/~dt/papers/siggraph87/siggraph87.pdf
Inhalt: Legendäres Paper – die Autoren haben einen “Oscar” ("technical achievment award) dafür gewonnen. Es beschreibt, wie man physikalisch-basierte Deformationsmodelle für elastisch verformbare Objekte konstruieren kann.
Schwierigkeit: Nicht ganz einfach, schließt aber an die Diskussion in der Vorlesung an.
Aufgabe: Erklären die wesentlichen Ideen aus dem Paper. Man muss nicht alle Details genau verstehen/erklären.
Praktische Aufgabe: Rücksprache mit Betreuern, falls Thema gewählt wird.
[M2]
Master
Paper:
Inhalt: Druckfrisch von der ICML (Wien, Ende Juli 2024) – vielleicht die erste vernünftige Erklärung, warum Training mit hohen Lernraten dazu führt, dass Netzwerke besser generalisieren (ein ewig bekanntes, ungeklärtes Phänomen). Wie so oft ist die Erklärung eigentlich ganz einfach (doch keine schwarze Magie), aber man muss erstmal drauf kommen.
Praktische Aufgabe: Versuchen Sie mit einem einfachen Toy-Problem nachzustellen und zu visualisieren, wie eine Optimierung bei einer Quadratischen Zielfunktion in einer Eigenrichtung divergiert und der anderen konvergiert (mit z.B. NumPY + Plotbibliotheken). Versuchen Sie dann eine Funktion höherer Ordnung (quadratisch reicht nicht) zu konstruieren, bei der man nach dem “Katapult” in ein flacheres Minimum fällt.
Schwierigkeit: Mathematisch anspruchsvoll, aber durchaus verständlich und intuitiv. Von Thema und Ergebnissen her einfach super interessant.
[M2]
Master
Paper: - Adityanarayanan Radhakrishnan, Daniel Beaglehole, Parthe Pandit, Mikhail Belkin Mechanism for feature learning in neural networks and backpropagation-free machine learning models Science, 7 Mar 2024, Vol 383, Issue 6690, pp. 1461-1467 https://arxiv.org/abs/2212.13881 (preprint) https://www.science.org/doi/10.1126/science.adi5639 (via JGU / not open access)
Inhalt: Das Paper nutzt äußere Produkte von Gradienten als Modell um zu erklären, welche Features ein DNN lernt.
Schwierigkeit: Die Mathematik ist nicht besonders schwer zu verstehen. Die Herausforderung liegt eher darin, nachzuvollziehen, was das ganze Modell für einen Nutzen hat. Das ist auch beim zweiten Lesen nicht sofort klar.
Aufgabe: Erklären Sie den Ansatz des Papers und versuchen Sie zu erklären, was dies an Einsichten über DNNs bringt und warum (Anmerkung: Eher eine explorative Aufgabe; mir ist es nicht wirklich klar geworden.)
[M2]
Bachelor/Master
Die Topoologie der Loss-Landschaft eines tiefen Netzes ist interessant – die lokalen Minima sind dabei durch Pfade mit guter Performance verbunden.
Quelle:
Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.
Praktische Aufgabe: Versuchen Sie, 2D-Schnitte aus der Loss-Landschaft eines (sehr viel höherdimensionalen) DNNs zu visualisieren (mit z.B. mit Python-Plot-Bibliotheken wie MatPlotLib, dabei z.B. Dichteplots oder Höhenfelder nutzen). Vorschlag: Vergleichen Sie z.B. Netzwerke mit/ohne BatchNorm oder mit/ohne Residual-Connections. Die Mode-Connectivity wird man hier aber wohl nicht sehen (nicht nötig für die prakt. Aufg.).
[M2]
Master
Quelle:
Inhalt: Adversariale Beispiele (minimal geänderte Bilder, die von einem DNN völlig falsch klassifiziert werden) sind genauso nervig wie mysteriös. Dieses Paper kommt der Sache näher. Die Lösung: PCA, was sonst (die kleinen Hauptachsen sind böse).
Aufgabe (Seminar): Erklären Sie die wichtigsten Ideen und Ergebnisse.
Praktische Aufgabe: Experimentieren Sie mit adversarialen Beispielen für Bildklassifikation (Code gibt es im Netz). Das Paper selbst zu reproduzieren ist numerisch sehr (zu) anspruchsvoll.
[M2]
Master
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.
[M2]
Bachelor
Paper: - Kfir Aberman, Jing Liao, Mingyi Shi, Dani Lischinski, Baoquan Chen, Daniel Cohen-Or: Neural Best-Buddies: Sparse Cross-Domain Correspondence ACM Siggraph 2018 https://kfiraberman.github.io/neural_best_buddies/
Inhalt: Das Paper beschreibt, wie man vortrainierte CNNs benutzen kann, um damit Korrespondenzen in Bildern zu finden. Das funktioniert wirklich gut, wie unsere AG aus eigener Erfahrung weiss. In einer Zeit, in der man sich mit generativ trainierten Transformern unterhalten kann, mag das unspektakulär wirken, aber es war damals wirklich verblüffend.
Aufgabe: Erklären, was die Autoren hier herausgefunden haben. Optional kann man auch noch das CNNMRF Paper (https://arxiv.org/abs/1601.04589) hinzuziehen - das benutzt einen ähnlichen Trick, um gute Korrespondenzen zu finden.
Schwierigkeit: Recht einfach. Experimente sind daher hier wichtig.
Praktische Aufgabe: Laden Sie ein Vortrainiertes CNN runter (Empfehlung: das klassische VGG-19, von dem man die full-connected Layer entfernt) und suchen sie nach Matches im Bild, indem sie 3x3 Pixel regionen aus dem obersten Konvolution layer vergleichen, der für zwei verschiedene Bilder berechnet wurde. Testen Sie z.B. Photos von Personen oder Gesichtern in ungefähr gleicher Pose.
[M2]
Bachelor
Paper: - Rana Hanocka, Amir Hertz, Noa Fish, Raja Giryes, Shachar Fleishman, Daniel Cohen-Or: MeshCNN: A Network with an Edge ACM Siggraph 2019 https://ranahanocka.github.io/MeshCNN/
Inhalt: Das Paper beschreibt eine Idee, wie man convolutional Networks direkt auf Dreiecksnetzen implementieren kann. Das Paper ist nicht schwer zu verstehen und bietet eine nette Kombination von Graphik und ML/DL.
Aufgabe: Erklären Sie den beschriebenen Ansatz.
Schwierigkeit: Recht einfach, aber Grundkenntnisse in Computer Graphik notwendig.
Praktische Aufgabe: Suchen Sie sich Code für dieses Paper (verfügbar) und/oder ein anderes 3D-Shape-Recognition Netzwerk und experimentieren Sie damit (z.B. Vergleich dieser Methode mit einer neueren/moderneren).
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.
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):
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).
Nutzen Sie ein vortrainiertes CNN für Bilderkennung (z.B. VGG-19 oder ein kleines ResNet-CNN) und bilden sie den Gradienten einer der Klassenwahrscheinlichkeiten (oder eines der Logits) nach den Eingabepixeln (mit einem der Trainigs- oder Testbilder als Entwicklungspunkt/Eingabe). Visualisieren Sie das Ergebnis als Bild.
Weniger Rechenzeithungrige Variante: Falls Sie nicht die nötige (GPU-)Leistung oder Erfahrung mit DNN-Tools haben, können Sie auch eine einfachere Version mit linearen Modellen nutzen:
Trainieren Sie eine lineare Support-Vector-Maschine oder einen logistischen Regressor (oder etwas ähnliches, z.B. einen Fischer-Discriminierer) “one-vs.-all” auf einem Standard-Benchmark wie z.B. CIFAR-10 oder MNIST. Visualisieren Sie dann dann den Normalenvektor der Hyperebene für die verschiedenen Klassen (bei der SVN; bei anderen linearen Verfahren entsprechend die linearen Parameter) als Bild und schauen Sie sich an was passiert.
Quelle zur einfacheren Variante mit SVMs: Die Idee dazu stammt aus der Machine Learning Vorlesung von Andrej Karpathy.
Eine Anleitung sowie Beispielergebnisse findet sich auch in den Folien zur Vorlesung Modellierung 2:
Die Videos (speziell V05b, V09) stehen auf auf Panopto zur Verfügung.