Abbildung 1: Eine Darstellung der Erzeugung gegnerischer Störungen zum Schutz persönlicher Bilder. |
Willkommen im offiziellen Repository für den Artikel „Edit Away and My Face Will not Stay: Personal Biometric Defense against Malicious Generative Editing“.
Jüngste Fortschritte bei Diffusionsmodellen haben die generative Bildbearbeitung zugänglicher denn je gemacht. Während diese Entwicklungen Benutzern die einfache Erstellung kreativer Bearbeitungen ermöglichen, werfen sie auch erhebliche ethische Bedenken auf, insbesondere im Hinblick auf böswillige Bearbeitungen menschlicher Porträts, die die Privatsphäre und Identitätssicherheit des Einzelnen gefährden. Bestehende Allzweck-Bildschutzmethoden konzentrieren sich in erster Linie darauf, störende Störungen zu erzeugen, um Bearbeitungseffekte zu neutralisieren. Diese Ansätze weisen jedoch häufig eine Instabilität beim Schutz vor unterschiedlichen Bearbeitungsanforderungen auf. In dieser Arbeit stellen wir eine neue Perspektive für den Schutz persönlicher Menschenporträts vor böswilliger Bearbeitung vor. Im Gegensatz zu herkömmlichen Methoden, die darauf abzielen, zu verhindern, dass Änderungen wirksam werden, optimiert unsere Methode FaceLock gegnerische Störungen, um sicherzustellen, dass ursprüngliche biometrische Informationen – wie z bearbeitete Ausgabe biometrisch nicht erkennbar. Unser Ansatz integriert Gesichtserkennung und visuelle Wahrnehmungsfaktoren auf innovative Weise in den Störungsoptimierungsprozess und gewährleistet so einen robusten Schutz gegen eine Vielzahl von Bearbeitungsversuchen. Darüber hinaus beleuchten wir mehrere kritische Probleme mit häufig verwendeten Bewertungsmetriken in der Bildbearbeitung und enthüllen Betrugsmethoden, mit denen sie leicht manipuliert werden können, was zu irreführenden Schutzbewertungen führt. Durch umfangreiche Experimente zeigen wir, dass FaceLock alle Baselines in der Verteidigungsleistung gegen eine Vielzahl bösartiger Bearbeitungen deutlich übertrifft. Darüber hinaus weist unsere Methode auch eine hohe Robustheit gegenüber Reinigungstechniken auf. Unsere Arbeit treibt nicht nur den Stand der Technik in der biometrischen Verteidigung voran, sondern legt auch den Grundstein für sicherere und die Privatsphäre schützende Praktiken bei der Bildbearbeitung.
Wir stellen eine Conda-Env-Datei für die Umgebungseinrichtung bereit.
conda env create -f ambient.yml Conda Facelock aktivieren
Wir beginnen mit der Präsentation des Codes für die Bildbearbeitung und -verteidigung, der auf ein einzelnes Eingabebild angewendet wird.
python edit.py --input_path=${Pfad des Eingabebildes} --prompt=${die zum Bearbeiten des Bildes verwendete Anweisungsaufforderung} [--num_inference_steps=100 --image_guidance_scale=1.5 --guidance_scale=7.5 --help]
Erklärung der Argumente:
input_path
der Pfad zum zu bearbeitenden Bild
prompt
die zum Bearbeiten des Bildes verwendete Anweisungsaufforderung
num_inference, image_guidance_scale, guidance_scale
Konfigurationen, die zur Steuerung des Bildbearbeitungsprozesses verwendet werden
help
um weitere Argumente für die Bildbearbeitung anzuzeigen
python defensive.py --input_path=${Eingabebildpfad} --defend_method=${ausgewählte Verteidigungsmethode} [--attack_budget=0.03 --step_size=0.01 --num_iters=100 --help]
Argumenterklärung:
input_path
der Pfad zum zu schützenden Bild
defend_method
die ausgewählte Verteidigungsmethode, wir bieten Optionen unter [encoder/vae/cw/facelock]
attack_budget, step_size, num_iters
Hyperparameter für den Verteidigungsprozess
help
andere Argumente für die Verteidigung eines einzelnen Bildes zu sehen
Als Nächstes erweitern wir dies, um den Code für die Bildbearbeitung und -verteidigung über mehrere Bilder hinweg zu demonstrieren.
python main_edit.py --src_dir=${Eingabebildverzeichnis} --edit_dir=${Ausgabebildverzeichnis} [--num_inference_steps=100 --image_guidance_scale=1.5 --guidance_scale=7.5 --help]
Erklärung der Argumente:
src_dir
der Pfad zum Verzeichnis der zu bearbeitenden Quellbilder
edit_dir
der Pfad zum Verzeichnis, das die bearbeiteten generierten Bilder enthält
Andere Argumente ähneln der Einzelbildbearbeitungsversion. Verwenden Sie help
um weitere Details anzuzeigen
python main_defend.py --image_dir=${Eingabebildverzeichnis} --output_dir=${Ausgabebildverzeichnis} --defend_method=${ausgewählte Verteidigungsmethode} [--attack_budget=0.03 --step_size=0.01 --num_iters=100 --helfen]
Erklärung der Argumente:
image_dir
der Pfad zum Verzeichnis der zu schützenden Quellbilder
output_dir
Der Pfad zum Verzeichnis, das die generierten geschützten Bilder enthält
Andere Argumente ähneln der Einzelbild-Verteidigungsversion. Verwenden Sie help
um weitere Details anzuzeigen
Wir stellen den Evaluierungscode für die Berechnung der im Dokument erwähnten PSNR, SSIM, LPIPS, CLIP-S, CLIP-I, FR
Metriken bereit.
cd-Auswertung# PSNR metricpython eval_psnr.py --clean_edit_dir=${Pfad zu den sauberen Bearbeitungen} --defend_edit_dirs ${Sequenz des Pfades zu den geschützten Bearbeitungen} --seed=${der zum Bearbeiten und Auswerten verwendete Startwert}# SSIM metricpython eval_ssim.py --clean_edit_dir=${Pfad zu den sauberen Änderungen} --defend_edit_dirs ${Sequenz des Pfads zu den geschützten Bearbeitungen} --seed=${der zum Bearbeiten und Auswerten verwendete Startwert}# LPIPS metricpython eval_lpips.py --clean_edit_dir=${Pfad zu den sauberen Bearbeitungen} --defend_edit_dirs $ {Pfadfolge zu den geschützten Bearbeitungen} --seed=${der zum Bearbeiten und Auswerten verwendete Startwert}# CLIP-S metricpython eval_clip_s.py --src_dir=${Pfad zu den Quellbildern} --defend_edit_dirs ${Sequenz des Pfades zu den geschützten Bearbeitungen} --seed=${der zum Bearbeiten und Auswerten verwendete Startwert} [-- clean_edit_dir=${Pfad zu den sauberen Änderungen}]# CLIP-I metricpython eval_clip_i.py --src_dir=${Pfad zu den Quellbildern} --defend_edit_dirs ${Sequenz des Pfads zu den geschützten Bearbeitungen} --seed=${der zum Bearbeiten und Auswerten verwendete Seed} [--clean_edit_dir=${Pfad zu saubere Bearbeitungen}]# FR metricpython eval_facial.py --src_dir=${Pfad zu den Quellbildern} --defend_edit_dirs ${Pfadsequenz zu den geschützten Bearbeitungen} --seed=${der zum Bearbeiten und Auswerten verwendete Startwert} [--clean_edit_dir=${Pfad zu den sauberen Bearbeitungen}]
Für PSNR
, SSIM
und LPIPS
werden die Berechnungen zwischen den Bearbeitungen an den geschützten Bildern und den Bearbeitungen an den sauberen Bildern durchgeführt. Daher sind die Eingaben defend_edit_dirs
und clean_edit_dir
erforderlich.
Bei CLIP-S
umfasst die Berechnung das Quellbild, das bearbeitete Bild und die Bearbeitungsaufforderung. Um Ihre individuellen Anweisungen zu verarbeiten, können Sie utils.py
ändern. Dies erfordert zusätzliche Eingaben für das Quellbildverzeichnis src_dir
. Wenn clean_edit_dir
angegeben wird, werden CLIP-S
Ergebnisse auch für die Bearbeitungen an ungeschützten Bildern berechnet.
Für CLIP-I
und FR
verwenden die Berechnungen das Quellbild und das bearbeitete Bild und nutzen dieselben Eingabeeinstellungen wie CLIP-S
.
Wenn Sie dieses Repository für Ihre Recherche hilfreich finden, denken Sie bitte darüber nach, unsere Arbeit zu zitieren:
@article{wang2024editawayfacestay, title={Bearbeiten weg und mein Gesicht bleibt nicht: Persönlicher biometrischer Schutz gegen böswillige generative Bearbeitung}, Autor={Hanhui Wang und Yihua Zhang und Ruizheng Bai und Yue Zhao und Sijia Liu und Zhengzhong Tu}, Zeitschrift={arXiv preprint arXiv:2411.16832}, }