Wechsel von Plesk zu Webmin/Virtualmin

Unser „Provider“, der die „1“ im Namen trägt dachte sich vor einiger Zeit, dass es irgendwie cool wäre, an den Betriebssystemen zu basteln und uns nicht darüber zu informieren, dass die bezahlte Plesk-Lizenz nicht mehr funktioniert.

Ich fand das eher unwitzig …

Hier der Lösungsweg für den Wechsel von Plesk zu Webmin/Virtualmin

Putty besorgen und da entsprechend den Angaben einloggen (IP, root, passwort etc.)

  1. install + update ubuntu
    sudo apt update
    sudo apt install ubuntu-release-upgrader-core
    sudo do-release-upgrade
    sudo apt install certbot
    sudo apt install mysql-server
  2. sudo apt update
    sudo apt install curl
  3. curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
    sh setup-repos.sh
  4. apt-get install –install-recommends webmin
  5. sudo sh -c „$(curl -fsSL https://software.virtualmin.com/gpl/scripts/virtualmin-install.sh)“
  6. https://xxx.xxx.x.xx:10000/ root + passwort
  7. Virtualmin -> Adresses and Networkung -> Change IP-Adresses -> xxx.xxx.x.xx
  8. Alle Domains installieren -> Virtualmin -> Manage Virtual Server – Setup SSL Certificate -> Lets Encrypt
    Alles Relevante veranlassen und bei Putty sudo systemctl restart apache2

Deepfakes erkennen – Teil 3

Etwas komplizierter war und ist die Analyse von Deepfake-Videos. Hierbei experimentierte ich mit verschiedenen Ansätzen, wie Fraktalanalysen und der interessante Analyseweg ist die Prüfung auf der Pixelebene.

Beispiele „Deepfakes“

Beispiel „Kein Deepfake“

Die Analyseidee kam mir nach der Sichtung extrem vieler Video-Deepfakes. Hier fand ich bei personengebundenen Werken 2 Auffälligkeiten: (1) ein Austausch des Gesichtes und (2) ein Austausch der Mund- und Lippenareale.

In extrem vielen Fällen sind die Resultate sehr schlecht und relativ zügig erkennbar, in wenigen Fällen war die „manuelle“ Erkennung durchaus etwas komplizierter. Jedoch ist mir aufgefallen, dass die manipulierten Areale leicht „wackeln“ und hinsichtlich der Bewegungsabläufe leicht oder sehr stark unlogisch sein können.

Der Weg der Pixelanalyse kann Manipulationen visualisieren und hier fallen einige spannende Sachen auf: Deepfakes produzieren „matschige Areale“, die Gesichtskonturen verschwimmen und das liegt daran, dass bei den analysierten Proben die manipulierten Areale sich nicht im Kontext zum Gesamtwerk „bewegen“.

Deepfakes erkennen – Teil 2

Eine weitere potentiell spannende Deepfake-Erkennungsoption ist die Analyse der Datensätze. Hier gehe ich über 2 Wege vor:

(1) Die Prompts

Im Grunde ist das simpel zu erklären. Man besorgt sich Zugänge zu den relevanten Online-Generierungsdiensten (bitte selbst recherchieren, oder bei uns anrufen!) und testet die wichtigen + wichtigeren „Checkpoints“ via Prompt so durch: „instagramphoto, [Name der Person]“ und prüft da die Resultate.

Man kann das manuell oder maschinell realisieren und ich fand bei beiden Varianten nicht nur die üblichen Prominenten, Schauspieler:innen und Politiker:innen (teilw. weltweit), sondern auch kleine + große Influencer:innen (TikTok, Instagram und LinkedIN).

Leider fand ich (noch) keine Gelegenheit, einen Workflow zu realisieren, welcher die Resultate der „Prompt-Variante“ daher nimmt, um die Rohdatenquellen zu identifizieren.

(2) Die Loras

Speziell auf der Plattform https://civitai.com/ lassen sich, nach meiner Prüfung, sogenannte „Loras“ finden, welche auf Basis öffentlicher Bilder von Promis, Politiker:innen (weltweit) und auch Schauspieler:innen generiert wurden. Diese Loras sind als „Mini-KI“ zu verstehen und lassen sich mittels Prompts in Verbindung mit den großen Datensätzen selbstverständlich verwenden.

Zusammengefasst:

Der Modus (1) und (2) beschreibt zwar nicht die Erkennung von Deepfakes auf Basis von vorgelegten Medien, allerdings habe ich die Rechercheoptionen in das „Tagesgeschäft“ überführt, weil die Existenz von Datenspuren (Modelle + Loras) im Grunde aussagt: „Man kann da Deepfakes erstellen“.

Deepfakes erkennen – Teil 1

Vor einigen Monaten sprach mich ein alter Geschäftskontakt und Freund auf diese Deepfakeproblematik an und ich fand endlich Gelegenheit, mir das Thema sehr genau anzuschauen. Wie ging ich hier vor? Die Antwort ist simpel: ich organisierte mir die Software „Automatic 1111“ inkl. aller relevanten Checkpoints (Daten) + Loras und generierte im ersten Schritt 50.000 Deepfakes. Hierbei wurde auf folgende Punkte geachtet:

  1. Generierung von Medien mit verschiedenen Qualitäten
  2. Promptaufbau auch mit Fokus auf Emotionen, Licht/Schatten-Effekte
  3. Generierung von Deepfakes mit Inhalt(en): alle Geschlechter, alle Altersgruppen, viele Millieu-Beispiele

Ich legte die besten Generierungen diversen Freund:innen zur Ansicht vor, um meine (!) Fehlinterpretationen zu bereinigen. Bei der Vorlage achtete ich sehr genau darauf, dass ich ausschließlich weibliche „normschöne“ Deepfakes (keine Aktfotografien) 2 Gruppen präsentierte:

  1. männlichen Freunden
  2. weiblichen Freunden

Hochspannend waren die Rückmeldungen aus der Gruppe (2) und ich hörte in vielen Gesprächen folgende Hinweise:

  • „Da stimmt etwas nicht“
  • „Die Personen haben keinen Charakter“
  • „Die Personen haben keine Seele“

Die Gruppe (1) reagierte anders:

  • „Wow“
  • „Wo hast Du die Frau kennen gelernt?“

Eigentlich witzig, hier noch einmal über die Ergebnisse meiner kleinen und natürlich unprofessionell durchgeführten „Marktforschung“ nachzudenken. Allerdings entschied ich mich, mich mit der Aussage „Die Personen haben keine Seele“ etwas intensiver zu beschäftigen und da die Augen ja der „Spiegel der Seele“ sind, war die Problemlösung „Deepfakeerkennung“ schnell geregelt.

Alle geprüften Deepfakes aus dem Pool der 50.000-Bilder zeigen diese Deepfake-Indikatoren:

  • Deformierte Iris + Pupille
  • leichte und starke Abweichungen der Iris + Pupillengröße bei beiden Augen
  • leichte und starke Fehldarstellungen der Irisgestaltung (Bezug: ein Auge, beide Augen)

In dem Umfeld der Bildgenerierung existieren selbstverständlich extrem gut trainierte Daten und auch Loras, welche das Problem der (fehlerhaften) Augendarstellung lösen können, jedoch sind auch in den relevanten Experimenten die genannten „Bugs“ aufgefallen.

Wie sieht nun unser Ansatz aus? Wir sammeln noch ca. 150.000 weitere Deepfakes, trainieren eine sehr spezielle KI und geben das Resultat (DIE Daten, DIE KI) Mitte 2024 einem potentiell interessierten Publikum frei.

Wie kann man nun Deepfakes OHNE tiefergehendes technisches Wissen und Daten erkennen? Meine Ratschläge sind:

  1. Wenn es sich „komisch anfühlt“, stimmt mit dem Medium etwas nicht.
  2. Wenn das Medium zu glatt und zu professionell ausschaut und die Gestaltung nicht in den Kontext und die Story passt, stimmt etwas mit dem Medium nicht.
  3. Immer auf die Verbindung der Motive (Vordergrund, Mittelgrund, Hintergrund) achten, hier lassen sich auch manchmal Unstimmigkeiten erkennen.
  4. Interessant sind auch Leberflecken, Narben an untypischen Stellen im Gesicht / auf der Haut
  5. Unstimmigkeiten bei Zähnen / Zahndarstellungen liefern Hinweise auf Deepfakes

Neue Dienstleistung: „Bildgenerierung“ und KI-Training.

Ab sofort bieten wir folgende Dienstleistung an:

  1. Analyse + Beratung zu den ansprechbaren Zielgruppen
  2. Entwicklung von Prompts unter Berücksichtigung der Datenmodelle (Stable Diffusion)
  3. Training von sog. „Concept“-Loras
  4. Training von sog. „Objekt“-Loras
  5. Aufsetzen der BildgenerierungsKI-Umgebung
  6. Generierung von ~100 Bildern je Prompt / Szenarium unter Berücksichtigung der üblichen Auflösungen

Folgende Anwendungen ergeben sich aus diesem Komplex:

  1. absolut perfektes Briefing für Fotograf:innen, da den Einkäufer:innen kreativer Dienstleistungen (Fotografie, Bildgestaltung etc.) auf Basis der Bilder die Grundlage für Briefings gegeben werden können.
  2. Stimmungsbilder für Blogs und Socialmedia-Auftritte

Interesse? Gerne Kontakt.

Lora: c41_hasselblad_portra400Lora

Das Modell basiert auf einigen ausgewählten Analog-Scans vom Typ Mittelformat. Hierbei handelt es sich um einen überlagerten Portra400-Farbfilm.

Wofür ist das Paket interessant?

  1. Stimmungsbilder (Urlaub, emotionale Szenen)
  2. Details, Detailbilder mit Fokus auf „Natürlichkeit“
  3. Produktfotos
  4. Innenraumgestaltungen (Wohnzimmer, Schlafzimmer, Küche)

Wir haben mit dem Modell 2000 Bilder generiert und es ist eine Gewichtung von 0.8 bis 1.0 in Verbindung mit den bekannten „SDXL“-Datensätzen zu empfehlen.

Interesse an einer Zusammenarbeit? Gerne Kontakt via office@pontipix.de.

Portfolioauszug und Download des Lora unter: https://civitai.com/models/353556/c41hasselbladportra400

Training von Loras // Civitai-Variante

Im Bereich der Contentproduktion inkl. Befüllung von Blogs + SocialMedia-Accounts wird der Einsatz moderner KI-Methoden immer interessanter u. eine Variante ist die Bildgenerierung mit Hilfe von StableDiffusion.

Ich mag SD / SDXL (StableDiffusion) wegen der unkomplizierten Organisation und der beachtlichen Qualität. Ein wichtiges Kernelement sind die Loras, hierbei möchte ich nicht zuviel Technik erklären und nur auf EINE Trainingsmöglichkeit eingehen.

Wozu das Training? Antwort: Loras kann man im Grunde als „kleine“ trainierte Modelle, die Informationen zu der Darstellung von „Umgebungen“, „Lichtverhältnisse“ oder auch kleine + große Objekte beinhalten können.

Ich trainiere aktuell unsere Loras mit Hilfe der Plattform: https://civitai.com/login?ref_code=WOB-CEH (Ref.-Link). Diese Plattform vergleiche ich gerne mit einer Art Facebook für Digital-Künstler:innen.

Zum Training (Achtung: Besorge Dir da einen Account!)

  1. https://civitai.com/models/train
  2. Dem Lora einen Namen geben (Bspw: KB_Kentmere400 für das Training auf Basis meiner Negativscans | Fotolanor)
  3. Auf die Kachel „Concept“ Clicken
  4. Alles Bestätigen
  5. Bilder hochladen und Label definieren (Label dient im Nachgang auch als „Triggerword“, daher Label GUT definieren und notieren!)

Rest: siehe Galerie.

Hier alles bestätigen, die 500 „Buzz“ bezahlen und den Trainingsprozess auslösen!

Testreihe // Validierung von Modellen (KI-generierte Portraits (6)

Prompt: „front shot, portrait photo of a 25 y.o french woman, looks away, natural skin, skin moles, cozy interior, (cinematic,kodak portra 200, 35mm film grain)1.1“

Negativ-Prompt: „(worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed, grayscale, bw, bad photo, bad photography, bad art)1.4, (watermark, signature, text font, username, error, logo, words, letters, digits, autograph, trademark, name)1.2, (blur, blurry, grainy)+, morbid, ugly, asymmetrical, mutated malformed, mutilated, poorly lit, bad shadow, draft, cropped, out of frame, cut off, censored, jpeg artifacts, out of focus, glitch, duplicate, (airbrushed, cartoon, anime, semi-realistic, cgi, render, blender, digital art, manga, amateur)1.3, (3D ,3D Game, 3D Game Scene, 3D Character)1.1, (bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities)1.3“

Model: sdvn6Realxl_detailface

Testreihe // Validierung von Modellen (KI-generierte Portraits (5)

Prompt: „front shot, portrait photo of a 25 y.o french woman, looks away, natural skin, skin moles, cozy interior, (cinematic,kodak portra 200, 35mm film grain)1.1“

Negativ-Prompt: „(worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed, grayscale, bw, bad photo, bad photography, bad art)1.4, (watermark, signature, text font, username, error, logo, words, letters, digits, autograph, trademark, name)1.2, (blur, blurry, grainy)+, morbid, ugly, asymmetrical, mutated malformed, mutilated, poorly lit, bad shadow, draft, cropped, out of frame, cut off, censored, jpeg artifacts, out of focus, glitch, duplicate, (airbrushed, cartoon, anime, semi-realistic, cgi, render, blender, digital art, manga, amateur)1.3, (3D ,3D Game, 3D Game Scene, 3D Character)1.1, (bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities)1.3“

Model: theTrualityEngine_trualityENGINEPRO.safetensors.diff

Testreihe // Validierung von Modellen (KI-generierte Portraits (4)

Prompt: „front shot, portrait photo of a 25 y.o french woman, looks away, natural skin, skin moles, cozy interior, (cinematic,kodak portra 200, 35mm film grain)1.1“

Negativ-Prompt: „(worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed, grayscale, bw, bad photo, bad photography, bad art)1.4, (watermark, signature, text font, username, error, logo, words, letters, digits, autograph, trademark, name)1.2, (blur, blurry, grainy)+, morbid, ugly, asymmetrical, mutated malformed, mutilated, poorly lit, bad shadow, draft, cropped, out of frame, cut off, censored, jpeg artifacts, out of focus, glitch, duplicate, (airbrushed, cartoon, anime, semi-realistic, cgi, render, blender, digital art, manga, amateur)1.3, (3D ,3D Game, 3D Game Scene, 3D Character)1.1, (bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities)1.3“

Model: epicphotogasm_lastUnicorn.safetensors.diff