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 zu wählen, folgen Sie bitte der Anleitung in der Email, die Sie erhalten haben. Sollten Sie bis zum 11. November 2024 (Abends) keine Email bezüglich der Auswahl der Seminarthemen erhalten haben, schreiben Sie bitte dem Dozenten; dann läge ein technischer Fehler vor.
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.
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.
Hinweis: Die Themenliste wurde am 10. November 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:
Modulzuordnungen hatten wir hier schon in der Vorbesprechung besprochen. Bitte wählen Sie entsprechend ein Thema, das zu “Ihrem” Bereich passt.
Im Bereich Computer Vision schauen wir uns Themen zum Inversen Rendering bzw. Rekonstruktion von Radiance Fields an. Alle diese Themen sind recht “Computer-Graphik affin”. Hinzu kommt eine weitere, sehr interessante Arbeit zu “Explanable-AI”; diese kann man auch mit der “Deep Learning”-Vorlesung kombinieren.
Bachelor/Master
(Vision + Graphik)
Paper:
Thema: NERFS (Neural Radiance Fields) haben viel Aufmerksamkeit erregt. Wie sich herausstellt, kann man NERFs auch ohne Deep Learning (ohne Neural) 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.
Bachelor/Master
(Vision + Graphik)
Paper:
Thema: Dieses Paper beschreibt eine Punkt-basierte Darstellung (mit geeignetem Anti-Aliasing) zur direkten Rekonstruktion von 3D Scenen.
Warum diese Thema? Die Idee ist eigentlich ganz einfach, aber die Ergebnisse sind wirklich gut.
Praktische Aufgabe: Code ist verfügbar (ggf. auch von anderer Stelle); falls dies zu komplex ist, kann man alternativ die Aufgabe “Neural-Fields” (s.u.) lösen.
Schwierigkeit: Moderat; Graphik / CV Kenntnisse hilfreich.
Bachelor/Master
(Vision + Graphik)
Paper:
Thema: Dieses Paper beschreibt, wie man direkt 3D Geometrie (Meshes) an Bilder (Multi-View-Stereo) anpassen kann, in dem man einfach per Gradientenabstieg Geometrie und Abstrahlung optimiert. Eigentlich galt das immer als unmöglich, da das Problem zu viele lokale Minima hat. Mit einem guten Regularisierer schreint es aber zu klappen.
Warum diese Thema? Sehr schön aufbereitete Arbeit die eindrucksvoll zeigt, dass Regularisierung von inversen Problemen nicht unwichtig ist. :-) Tolle Ergebnisse.
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).
Bachelor/Master
(auch für “Deep Learning” / “Modellierung 2” geeignet)
Paper:
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 diese Bereich schauen wir uns 20 Jahre alte “Klassiker” des Gebietes an – alle Arbeiten beschäftigen sich mit der Statistik von “Shape Spaces” bzw. mit der Deformation von Objekten. Alle Themen sind dieses Semester recht “Computer-Graphik affin”.
Bachelor
Paper:
Inhalt: Ein Klassiker – ein Deformationsmodel das Gradienten der Deformationsfunktion erhält, um die Form von Objekten zu erhalten. In etwa “Poisson Image Editing” aus dem letzten Semester, aber für Verformungen.
Aufgabe: Erklären Sie die Methode und diskutieren Sie die Ergebnisse, die man damit erreichen kann.
Praktische Aufgabe: Es gibt frei verfügbare Implementationen der Idee. Experimentieren Sie damit. Sollte dies Schwierigkeiten bereiten, ist auch eine andere Aufgabe möglich (Rücksprache mit dem Betreuer).
Schwierigkeit: Moderat.
Bachelor/Master
Paper:
Brett Allen Brian Curless Zoran Popović
The space of human body shapes: reconstruction and parameterization from range scans
Siggraph 2003
https://www.cs.jhu.edu/~misha/Fall07/Papers/Perez03.pdf
Inhalt: Ein Klassiker – in Erweiterung des berühmten “Morphable Face Models” von Blanz und Vetter, welches wir in der Vorlesung besprochen haben, wird hier das gleiche versucht, um den Raum der Geometrie des menschlichen Körpers mit einem 3D Modell aufzuspannen. Graphiklastig, aber interessant. Kombiniert variationsmethoden und PCA.
Aufgabe: Erklären Sie das grobe Konzept, die Herausforderungen, und wichtige Aspekte der vorgeschlagenen Lösung.
Praktische Aufgabe: Falls Sie die Aufgabe zu den “Eigenkatzen” aus Modellierung 1 bearbeitet haben, versuchen Sie das gleiche mal mit dem TOSCA Datensatz (siehe z.B. https://paperswithcode.com/dataset/tosca). Falls Sie die Aufgabe noch nicht bearbeitet haben, dann wäre dies Ihre praktische Aufgabe (entsprechend ggf. Absprache mit Betreuer zu Details).
Schwierigkeit: Die Mathematik ist nicht sehr kompliziert, aber es kommen viele Komponenten zusammen. Man muss den Überblick behalten.
Bachelor/Master
Paper:
Inhalt: Dieses Paper löst die gleiche Aufgabe wie das vorherige, aber mit einer verfeinerten Methode. Durch ein rotations-invariantes Deformationsmodell kann die Registrierung der Modelle einfacher gestaltet werden.
Aufgabe: Erklären Sie die wesentlichen Ideen des Papers. Dabei ist ein Vergleich mit Thema M1-1 sinnvoll; am besten arbeitet man an beiden Papers in Gruppenarbeit.
Praktische Aufgabe: Gleiche Aufgabe wie bei M1-2.
Schwierigkeit: Dadurch, dass man eigentlich zwei Papers lesen und auch das andere grob verstehen muss, ist das Thema etwas anspruchsvoller. Andererseits ist das Paper relativ kurz und die neuen Ideen sind nicht so schwer zu verstehen und zu erklären.
(PS: Das Paper ist keine 20 Jahre alt, sondern nur 15 :-) )
bereits vergeben
Dieses Paper wurde bereits vergeben. Es ist hier nur der Vollständigkeit halber gelistet.
Paper:
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 Poisson Surface Reconstruction aus SoSem-24 sind auch geeignet.
Master
Paper:
Inhalt: Fast druckfrisch von der ICML (Wien, 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.
Master
Paper:
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.)
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.).
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.
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.
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.
Die Aufgabe wird regelmäßig als Übungsaufgabe in Modellierung 1 gestellt, und dient hier als Grundlage für die praktischen Aufgaben zu den “Morphable Body Models”. Dies sollte eigentlich bekannt sein. Falls Sie dennoch die Materialien zur Aufgabe benötigen, schreiben Sie einfach kurz eine formlose Email an den Dozenten.