Skip to content

derHustler/Generative-Models-for-Car-Anonymization

Repository files navigation

Bachelorarbeit · Vergleich von GANs und Diffusions‑Modellen zur Autogenerierung in Cityscapes

Dieses Repository enthält den begleitenden Code zu meiner Bachelorarbeit, in der ich verschiedene Bildgenerierungsmodelle — DP‑GAN, OASIS, Kolors und Stable Diffusion XL (SDXL) — auf dem Cityscapes‑Datensatz vergleiche.


Inhaltsverzeichnis

  1. Setup
    1. Kolors
    2. DP‑GAN
    3. OASIS
    4. SDXL
  2. Cityscapes vorbereiten
  3. Masken generieren
  4. Bilder generieren
    1. Kolors – Steps & Whole
    2. SDXL – Steps & Whole
    3. DP‑GAN
    4. OASIS

Setup

Kolors

Folge der offiziellen Anleitung, um das Kolors‑Inpainting‑Repository zu klonen und die passende Conda‑Umgebung anzulegen: https://github.com/Kwai-Kolors/Kolors/blob/master/inpainting/README.md

Alternativ kannst du das Modell direkt von Hugging Face laden: https://huggingface.co/Kwai-Kolors/Kolors-Inpainting


DP‑GAN

1. Repository klonen: https://github.com/sj-li/DP_GAN 2. Checkpoints herunterladen (ZIP) und in ./checkpoints/ entpacken. Die Struktur sollte danach so aussehen:

DP_GAN/
├── checkpoints/
│   └── dp_gan_cityscapes/
└── scripts/

OASIS


SDXL

conda create -n sdxl python=3.10
conda activate sdxl
pip install -r requirementsSDXL.txt

Cityscapes vorbereiten

Zur Konvertierung und Aufteilung des Cityscapes‑Datensatzes nutze die Anweisungen aus SPADE: https://github.com/NVlabs/SPADE


Masken generieren

Mit mask_generator.py erstellst du binäre Masken (Klasse car) und kopierst die zugehörigen RGB‑Bilder.

conda activate sdxl
python mask_generator.py \
  --input_dir  /datasets/cityscapes/val \
  --output_dir ./outputs/val_masks

Dies legt folgende Ordner an:

outputs/val_masks/
├── images/<city>/*_leftImg8bit.png
└── masks/<city>/*_gtFine_binary.png

Bilder generieren

Kolors

  • Steps (Inpainting jedes Auto einzeln)
conda activate Kolors
python kolors_steps.py \
  --input_dir  ./outputs/val_masks \
  --output_dir ./outputs/kolors_steps
  • Whole (Gesamtmaske in einem Schritt)
conda activate Kolors
python kolors_whole.py \
  --input_dir  ./outputs/val_masks \
  --output_dir ./outputs/kolors_whole

SDXL

  • Steps
conda activate sdxl
python sdxl_steps.py \
  --input_dir  ./outputs/val_masks \
  --output_dir ./outputs/sdxl_steps
  • Whole
conda activate sdxl
python sdxl_whole.py \
  --input_dir  ./outputs/val_masks \
  --output_dir ./outputs/sdxl_whole

DP‑GAN

1. Folge der Originaldoku, um Bilder zu erzeugen: https://github.com/sj-li/DP_GAN 2. Merge mit Originalbildern & Masken:

python combineGANpics.py \
  --ganpics      /pfad/zu/dpgan_results \
  --originalpics ./outputs/val_masks/images \
  --masks        ./outputs/val_masks/masks \
  --output       ./outputs/dpgan_merged

OASIS

1. Folge der Originaldoku, um Bilder zu erzeugen: https://github.com/boschresearch/OASIS 2. Merge‑Schritt analog zu DP‑GAN:

python combineGANpics.py \
  --ganpics      /pfad/zu/oasis_results \
  --originalpics ./outputs/val_masks/images \
  --masks        ./outputs/val_masks/masks \
  --output       ./outputs/oasis_merged

Kontakt

Fragen oder Probleme? → [email protected]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages