This repository has been archived on 2025-08-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
seminararbeit-deepfakes/src/README.md
2023-01-09 18:23:11 +01:00

3.4 KiB
Raw Blame History


Das Projekt ist wie folgt strukturiert:

│
├── Deepfake.ipynb  
├── Gesichterextrahierer.py  
├── LoggingCallback.py  
├── README.md
├── daten  
│   ├── cascades  
│   │   └── haarcascade_frontalface_default.xml  
│   ├── lernen  
│   │   └── Gesichter
│   │       ├── A  
│   │       └── B  
│   └── modelle  
│       └── Autoencoder
│           ├── modell.info  
│           ├── Biden
│           │   ├── train.log
│           │   └── Gesichter
│           └── Norris
│               ├── train.log
│               └── Gesichter
└── skripte  
    ├── extrahiere_val_loss.awk  
    ├── frame_shuffle.py  
    ├── log_Analyse.awk
    └── plot.sh  

📒 Deepfake.ipynb
Das zentrale Jupyter Notebook, führe dies aus um ein künstliches Neuronales Netz zu erstellen und zu trainieren.

🐍 Gesichterextrahierer.py
Der Teil des Programms, der es ermöglicht Gesichter aus Videos auszuschneiden und zu manipulieren.

🐍 LoggingCallback.py
Ein Klasse, die dafür zuständig ist den Vortschritt während des Trainierens zu dokumentieren.

📃 README.md
Diese Datei.

🧑🏼‍🦲 haarcascade_frontalface_default.xml
Eine essenzielle Datei, die für das erkennen von Gesichtern im Gesichterextrahierer notwendig ist.

📂 Gesichter
In diesem Ordner werden in den Unterordnern A und B die Extrahierten Gesichter der Personen gespeichert, deren Gesichter ausgetauscht werden sollen. Diese Bilder werden dann zum Lernen verwendet.

📂 modelle
Hier werden, in einzelnen Unterordnern, die Modelle gespeichert. Wird einem Modell ein neuer Name gegeben, wird hier ein neuer Ordner erstellt.

📂 Autoencoder
Ein beispielhafter Ordner, der die Daten zu dem Modell mit dem Namen 'Autoencoder' enthält. Alle Dateien und Ordner, die hier enthalten sind werden automatisch generiert. Die Unterordner 'Biden' und 'Norris' enthalten jeweils einen Autoencoder, deren Namen zuvor gewählt werden kann.

🪵 train.log
Eine Textdatei, in der Lernfortschritt dokumentiert wird.

📂 Bilder
Im Laufe des Trainings werden immer wieder Bilder mit dem Modell erstellt, welche hier dann abgespeichert werden. Die Bilder, die ein 'A' im Namen haben, wurden mit dem Modell komprimiert und so ähnlich wie möglich wiederhergestellt. Die Bilder, die ein 'B' im Namen haben, wurden komprimiert und als die jeweils andere Person wiederhergestellt. Die Zahl im Namen ist die Unixzeit zu der das Bild entstanden ist.

modell.info
Eine Textdatei mit einer Übersicht über die Struktur des Modells.

📂 skripte
Ein Ordner, der ein paar hilfreich Hilfsprogramme enthält.

📄 extrahiere_val_loss.awk
Ein AWK-Skript, dass eine train.log-Datei einliest und eine Liste an Zeitpunkten mit dem passenden Fehlerwert zurückgibt. Es wird für die plot.sh-Datei benötigt.

🐍 frame_shuffle.py
Ein Python-Programm, dass die Bilder in einem Video mischt.

📄 log_Analyse.awk
Ein AWK-Skript, dass eine übergebene train.log-Datei analysiert und eine Zusammenfassung über den Trainingsverlauf gibt.

💲 plot.sh
Ein Bash-Skript, dass aus einer oder mehreren übergebenen train.log-Dateien einen Diagramm erstellt.