Ich bin auf diese Möglichkeit QR-Codes mit Stable-Diffusion zu verfremden bzw. in kleine Kunstobjekte zu verwandeln aufmerksam geworden als ich auf Twitter die neuesten Nachrichten von Rowan Cheung durchgelesen habe. Er hat auch eine kleine Anleitung veröffentlicht wie er seine QR Codes mit z. B. der Lösung Automatic1111, Controlnet und bereits trainierten Modellen verändert hat. Da seine Anleitung den Service von https://rundiffusion.com vorstellt der z. B. für das Verändern von QR-Codes genutzt werden kann musste ich noch das ein oder andere nachlesen um alles bei mir lokal auf meinem Deep Learning Rechner installiert zu bekommen. Wie ich genau vorgegangen bin um alles lokal zu installieren beschreibe ich nachfolgend und dann gehe ich auf die Einstellungen ein wie ihr selber einen QR-Code mit Stable-Diffusion anpassen könnt.

Software Einrichten

Ich gehe davon aus, dass bei euch bereits Automatic1111 installiert ist und läuft. Bei wem das noch nicht der Fall ist der kann meiner Anleitung hier folgen:

URL: Stable Diffusion – AUTOMATIC1111 Ubuntu Installation Teil 1/2

URL: Stable Diffusion – AUTOMATIC1111 Ubuntu Installation Teil 2/2

Dann öffnet bitte lokal Automatic1111 im Web-Browser und installiert die folgende Erweiterung sd-webui-controlnet falls ihr diese noch nicht installiert habt. Ihr findet die Erweiterung sd-webui-controlnet im Reiter “Extensions” und könnt diese von dort aus durch einen Klick installieren. Die Erweiterung Controlnet wird gebraucht um einen bereits funktionierenden QR-Code Bild zu verfremden mit Stable-Diffusionen Techniken.

Wenn Controlnet installiert ist und funktioniert müssen noch ein paar Erweiterungen bzw. Modelle für Controlnet herunter geladen werden.

Jetzt muss zunächst die Erweiterungen control_v11p_sd15_lineart.pth herunter geladen werden die ihr auf der nachfolgenden Seite erhaltet. Die Datei legt ihr in den Ornder ~/stable-diffusion-webui/extensions/sd-webui-controlnet/models/ ab.

URL: https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

Über den nachfolgenden Link findet ihr die Erweiterung control_v1p_sd15_brightness.safetensors die ihr ebenfalls in den Ordner ~/stable-diffusion-webui/extensions/sd-webui-controlnet/models/ auf eurem Rechner ablegt. Dazu jetzt die Datei herunter laden und in den genannten Ordner verschieben.

URL: https://huggingface.co/ioclab/ioc-controlnet/tree/main/models

Jetzt ist alles soweit eingerichtet und eventuell damit alles auf der Web-Oberfläche von Automatic1111 erscheint startet ihr Automatic1111 einfach einmal neu.

QR-Code mit Stable-Diffusion verfremden

Erzeugt euch zunächst einmal einen QR-Code den ihr verändern bzw. mit Stable-Diffusion neu generieren möchtet. Ich habe über den Service von https://www.qrcode-monkey.com mir meinen QR Code erzeugt.

QR-code - ai-box.eu

QR-code – ai-box.eu

Jetzt nach dem ihr euren QR-Code habt wechselt ihr in euer Browser-Fenster und Konfiguriert mit ein paar Klicks Automatic1111 so das euer QR-Code angepasst werden kann.

Stable Diffusion checkpoint – wählen

Jetzt müsst ihr euer Modell bzw. den Stable-Diffusion checkpoint auswählen mit dem ihr den QR-Coder verändern wollt. Ich habe viele Modelle bei mir auf dem Rechner zur Auswahl habe mich aber für diese Anleitung ebenfalls das Modell DreamShaper gewählt das bereits  Rowan Cheung in seiner Anleitung beschrieben hat. Genauer gesagt habe ich diese Anleitung mit der folgenden Version DreamShaper_6.31_BakedVae.safetensors geschrieben. Dieses Modell war über die folgende URL verfügbar und wird im Imstallationsordner von Automatic1111 im Pfad ~/stable-diffusion-webui/models/Stable-diffusion abgelegt.

Promt

Als positiven und negativen Promt habe ich folgendes gewählt.

Positive: picture of a mustang, masterpiece, (photorealistic:1.4), from front, sunset, sharp focus, illustration, highly detailed

Negative: paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), blurry

Bei dem Entwickeln des Prompt ist es wichtig, dass dieser Rücksicht auf den notwendigen Kontrast zwischen QR-code und Hintergrund nimmt. Daher habe ich als Farbe für das Auto Gelb gewählt. So hatte ich eine höhere Chance das der generierte QR Code auch von vielen Smartphones erkannt wird.

Hier einmal ein Bild wie die Konfiguration bis jetzt bei mir aussieht.

Stable-Diffusion - QR-code configuration

Stable-Diffusion – QR-code configuration

Stable-Diffusion Detail-Konfiguration

Jetzt gehe ich auf die generelle Konfiguration von Stable-Diffusion bzw. Automatic1111 ein.

Sample methos: DPM++ 2M Karras

Sampling steps: 20

Width / Hight: 512×512

Batch count: 4

Batch size: 1

CFG Scale: 7

Seed: -1

ControlNet Einstellung

Auch innerhalb der Erweiterung ConrolNet müssen ein paar Einstellungen vorgenommen werden. Aber zunächst einmal übergebt ihr euren QR-Code an ControlNet durch z. B. Drag&Drop in das Fenster. Als Preprocessor habe ich inpaint_global_harmonious gewählt. Als Model das zuvor herunter geladene control_v1p_sd15_brightness ausgewählt. Bei der Einstellung für Control Weight habe ich mit einem Wert zwischen 0.65 und 0.75 gute Erfahrungen gemacht. Dann haben die meisten Smartphones den QR-code noch erkannt.

Der jetzt folgende Screenshot zeigt meine Einstellungen die ich vorgenommen habe.

Stable-Diffusion - QR-code configuration ControlNet

Stable-Diffusion – QR-code configuration ControlNet

Jetzt ist alles soweit fertig Konfiguriert und eingestellt und das erste Bild bzw. QR-code kann generiert werden. Eines das vom Ergebnis her mir gut gefallen hat habe ich nachfolgend angefügt.

Stable-Diffusion - Mustang QR-Code

Stable-Diffusion – Mustang QR-Code

Zusammenfassung

Mit Stable-Diffusion lassen sich schöne Effekte erzielen die dazu genutzt werden können Bilder zu erzeugen auf deren Idee man selber wohl nur schwer gekommen wäre. Da ich selber kein Künstler bin habe ich jetzt aber ein Werkzeug an der Hand das Bilder generiert die mir selber gut gefallen bzw. interessant sind anzuschauen wenn man auch den Weg dorthin etwas kennt. Ob jetzt ein QR-code mit einem Mustang im Hintergrund wirklich etwas Neues ist das nur mit Stable-Diffusion möglich wurde bezweifle ich. Aber die Geschwindigkeit und Qualität mit der jetzt solche QR-Codes generiert werden können ist schon sehr beeindruckend.