Bildbearbeitung: Hintergründe mit Rembg entfernen

Wer kennt es nicht: Hintergründe aus Bildern entfernen ist mit GIMP immer eine größere Aktion, besonders für Ungeübte. Dabei kann es viel einfacher sein, wenn man sich auf die Konsole einlässt und das kleine Tool Rembg einsetzt.

Hintergründe mit AI entfernen

Rembg steht für Remove Backgrounds und ist eine Python-Bibliothek. die genau das und nur das macht. Mit Rembg lassen sich Hintergründe automatisch mittels AI aus Bildern oder ganzen Verzeichnissen mit Bildern entfernen. Dazu bedient sich das Tool bei dem Machine-Learning-Projekt PyTorch und der Mustererkennungs-Software U2-Net. Rembg wird auf GitHub gepflegt.

Ab Python 3.8

Voraussetzung für Rembg ist mindestens Python 3.8. Am einfachsten installiert ihr Rembg mit Pip, dem Package-Installer für Python-Pakete. Dazu müsst ihr, falls noch nicht vorhanden, das Paket python3-pip über euer Paketmanagement installieren. Darauf folgt:

pip install torch==1.7.1+cpu torchvision==0.8.2+cpu -f https://download.pytorch.org/whl/torch_stable.html

und abschließend

pip install rembg

Dann kann es auch schon losgehen. Die Syntax für lokale Bilder lautet:

rembg -o ./output-image.png ./input-image.jpg

oder für ein Verzeichnis:

rembg -p <input_directory> <output_directory>

Ihr könnt aber auch Bilder im Netz freistellen:

curl -s https://input.png | rembg > output.png

Ergebnis immer als PNG

Bei der ersten Anwendung von Rembg ist etwas Zeit gefragt, da im Hintergrund Muster heruntergeladen werden. Danach arbeitet das Tool recht flott. Auch wenn der Input als JPEG vorliegt, muss das Resultat immer ein PNG sein, da als JPEG der Hintergrund nicht transparent, sondern weiß dargestellt würde. Natürlich lässt sich Rembg auch in Scripten verwenden.

Um Hintergründe aus Videos zu entfernen, empfiehlt der Autor Daniel Gatis den Fork Rembg-Greenscreen. Gatis hat Rembg selbst in weiteren Projekten wie Facematch oder Docscan eingesetzt.

Dank geht an Jens für den Tipp zu Rembg

Kommentare

12 Antworten zu „Bildbearbeitung: Hintergründe mit Rembg entfernen“

  1. Avatar von derAlff

    Sehr interessant! Ich hasse diese Freistellerei in Gimp 😅

  2. Avatar von Rene
    Rene

    Naja ganz überzeugend ist es noch nicht ich habe es an zwei Bildern getestet beide Male wurde zu viel entfernt. Bei eindeutigen Vorder und Hintergrund mag das gehen aber wenn beides ineinander läuft hat das Tool noch Probleme.

    1. Avatar von Marcus Liebig
      Marcus Liebig

      Was war das für eine Art Bild? Waren Vordergrund und Hintergrund sehr farbähnlich oder war das Vordergrundobjekt zu unscharf oder ausgefranst?

      1. Avatar von Rene
        Rene

        Naja bei dem einen Bild ging der Vordergrund in die Tiefe der Farbübergang zum eigentlichen Hintergrund war aber deutlich. Bei dem zweiten hat die Person was in der Hand gehalten was weg geschnitten wurde, was wahrscheinlich an ähnlicher Farbgebung von Vorder und Hintergrund lag obwohl der Vordergrund deutlich schärfer war.

        1. Avatar von MaximilianMustermann
          MaximilianMustermann

          Tach, Du könntest den Entwicklern ja die Bilder zur Verfügung stellen.

          Andererseits ist das halt nur ein Programm das nicht weiß was es da ausschneiden soll.

  3. Avatar von Marcus Liebig
    Marcus Liebig

    Was für ein Tipp!!!!!! Was für ein geniales Programm. Habe diese Aufgabe ständig im Zusammenhang mit Produktfotos und das Tool wird mir Stunden um Stunden stumpfsinniger Arbeit ersparen. Vielen Dank!!!

    -Marcus

  4. Avatar von Bernd
    Bernd

    Danke für den Tipp! Kannte solch eine professionelle und effektive Freistellung nur aus Photoshop-Tutorials, wo gezeigt wird wie Photoshop auf Knopfdruck quasi nahezu perfekt selbst komplexe Objekte freistellt. Bei GIMP muss man das alles händisch machen, gibt ja auch zig Tutorials dazu mit was für verschiedenen Mitteln eine optimale Freistellung erreicht werden kann. Nur leider alles manuell und zeitaufwendig, auch mit dem Plugin G’MIC wirds nicht viel besser und Rembg schafft das innerhalb kürzester Zeit. Wirklich unglaublich, sollten sie das in GIMP über Plugin oder sonstwie nachrüstbar machen, so dass man eine automatisch berechnete Auswahl auch nacharbeiten kann, GIMP würde dadurch auf eine ganz neue Stufe gestellt und würde sicherlich viele neue Benutzer finden können.

    1. Avatar von Ferdinand

      Ich dachte mir beim Testen auch, dass das GIMP guttun würde.

      1. Avatar von Bernd
        Bernd

        Ich bin jetzt über Rembg auf das GIMP Plugin „GIMP-ML“ gestoßen, dieses kann auch per AI Gegenstände freistellen, bietet aber noch weit mehr auf Basis von AI. Es kann Gegenstände wegretuschieren (Inpainting), genau wie das aktuell nicht mehr laufende resynthesizer, Denoise, Enlighten und noch andere. Habs noch nicht getestet aber es gibt Videos dazu auf YT, die sehen vielversprechend aus.

        Homepage: https://github.com/kritiksoman/GIMP-ML
        Inpainting Video: https://www.youtube.com/embed/hSZIM175saA
        Allgemeines Video: https://www.youtube.com/watch?v=uAz3A3gHKtA

  5. Avatar von Harrygrey

    Guten Morgen Herr Thommes,
    Da scheint etwas nicht zu stimmen.
    Ich bekomme die Fehlermeldung
    ERROR: numba 0.54.1 has requirement numpy<1.21,>=1.17, but you’ll have numpy 1.21.4 which is incompatible.
    Das wurde ja gerade  vorher installiert!… und ist die falsche Version?!
    Können Sie das noch vor Ihrem Umzug, zu dem ich Ihnen schönes Wetter und schneefreie Straßen wünsche, testen?

    1. Avatar von Ferdinand

      Du kannst mal folgendes versuchen: pip uninstall numpy und dann pip install numpy==1.20.3

  6. Avatar von Harrygrey

    Funktioniert jetzt, danke.
    Die Ergebnisse sind allerdings noch nicht so zufriedenstellend. Das wird sicher von Bild zu Bild unterschiedlich sein. Da muß ich mich noch drauf „einschießen“. Mir geht es darum meine Bilder die vorher einen einfarbigen Hintergrund hatten, freizustellen. Nur manchmal habe ich mein Wasserzeichen drin (andersfarbig). Dann kann es nicht funktionieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert