Stapelbearbeitung von Fotos
Massenbearbeitung von Produktfotos für Marktplätze und Shops: Entfernung und Austausch des Hintergrunds, Retusche, Upscaling, Anpassung an die Vorgaben von WB und Ozon, im Strom und nicht Bild für Bild.
Was die Leistung umfasst
Wir bauen für den Kunden eine Pipeline zur Massenbearbeitung von Bildern: Austausch und Bereinigung des Hintergrunds, Retusche von Defekten, Farbkorrektur und Upscaling auf die gewünschte Auflösung in einem Durchlauf. Für einen Katalog aus Tausenden von Produktkarten, eine Bilddatenbank oder ein Aufnahmearchiv wird ein einheitlicher Satz von Regeln eingerichtet, damit alle Bilder in derselben Geometrie, im selben Bildausschnitt und in derselben Farbe herauskommen. Die Stapelbearbeitung von Fotos nimmt die manuelle Routine ab: Der Bediener öffnet nicht mehr jede Datei einzeln, sondern gibt die Parameter einmal vor. Am Eingang nehmen wir Ordner, Links oder einen Export aus dem Warenwirtschaftssystem entgegen, am Ausgang geben wir einen strukturierten Satz fertiger Dateien mit vorhersehbaren Namen heraus. Wir schreiben das Programm und richten den Prozess auf der Anlage und in der Umgebung des Kunden ein, physisch verarbeitet die Dateien seine Maschine oder seine Cloud und nicht wir für ihn.
Wie der Prozess aufgebaut ist
Im Kern liegt eine Pipeline aus aufeinanderfolgenden Schritten, in der jedes Bild eine feste Kette von Operationen ohne menschliches Zutun durchläuft. Zuerst wird das Bild von einem neuronalen Netz erkannt und segmentiert, das das Objekt anhand einer Maske vom Hintergrund trennt, danach werden Retusche, Farbnormalisierung und Skalierung angewandt. Das Upscaling erfolgt nicht durch einfache Interpolation, sondern durch ein Faltungsmodell, das darauf trainiert ist, Details wiederherzustellen, die in der ursprünglichen niedrigen Auflösung nicht direkt vorhanden sind. Das Stapelbearbeitungs-Skript verwaltet die Warteschlange, teilt die große Menge in Partien auf, führt ein Log und wiederholt fehlgeschlagene Dateien, damit ein Durchlauf über Zehntausende von Bildern bis zum Ende kommt. Die Parameter sind in eine Konfiguration ausgelagert, deshalb lässt sich dasselbe Schema auf einen neuen Katalog erneut anwenden, indem man nur die Einstellungen ändert und nicht den Code.
Die Entstehungsgeschichte der Richtung
Die digitale Bildbearbeitung begann 1957, als Russell Kirsch im National Bureau of Standards der USA auf einem Trommelscanner ein Foto seines drei Monate alten Sohnes mit einer Größe von 176 mal 176 Punkten einscannte, und genau damals entstand der Begriff des Pixels. Ein halbes Jahrhundert blieben die Algorithmen manuell: Filter, Schwellenwerte und Transformationen programmierte ein Ingenieur für jede Aufgabe. Den Umbruch brachte die neuronale Revolution: 2012 gewann das Faltungsnetz AlexNet (Alex Krizhevsky, Ilya Sutskever, Geoffrey Hinton) den Wettbewerb ImageNet mit Abstand und bewies, dass die Erkennung von Merkmalen sich nicht von Hand vorgeben, sondern an Daten trainieren lässt. 2014 schlug Ian Goodfellow mit Kollegen die generativen gegnerischen Netze (GAN) vor, die lernten, ein Bild zu synthetisieren und zu vervollständigen und nicht nur zu klassifizieren. Von diesem Moment an verwandelten sich Hintergrundaustausch, Retusche und Upscaling von einer Sammlung von Heuristiken in trainierbare Modelle, und das machte die massenhafte Stapelbearbeitung von Fotos praktikabel.
Warum der Softwareteil entscheidend ist
Bei einem einzelnen Bild ist ein Fehler unbemerkbar, bei einer Partie von Zehntausenden vervielfältigt er sich und wird zum Ausschuss des gesamten Katalogs, deshalb ist der Preis der Präzision hier ein anderer als bei der manuellen Korrektur. Eine Segmentierungsmaske, die ein paar Pixel an der Kontur vorbei abgeschnitten ist, hinterlässt einen Halo um das Objekt; ein falscher Upscaling-Faktor ergibt Unschärfe oder Artefakte an scharfen Kanten. Deshalb hält die Pipeline die Parameter fest und wendet sie deterministisch an, damit das Ergebnis reproduzierbar ist und nicht von der Stimmung des Bedieners abhängt. Vor dem produktiven Durchlauf wird das Schema an einer Kontrollstichprobe durchlaufen, Kennzahlen und Randfälle werden geprüft, und erst danach geht der Start über die volle Menge. Der Softwareteil und die Einstellung entscheiden nicht weniger als das Modell selbst: Genau sie trennen ein einmalig gelungenes Bild von einem stabilen Strom fertiger Dateien.
Mit welchen Werkzeugen wir arbeiten
Der Stack baut sich um neuronale Netze für drei Aufgaben auf: Segmentierung und Hintergrundentfernung, Wiederherstellung und Retusche, gesonderte Upscaling-Modelle, trainiert an Paaren niedriger und hoher Auflösung. Die Steuerschicht schreiben wir mit Stapelbearbeitungs-Skripten in Python, das das Ökosystem des Computer Vision für sich behält und Modelle, Warteschlange und Ein-/Ausgabe zu einem einheitlichen Durchlauf verbindet. Schwere Operationen lagern wir auf die GPU aus, die Inferenz läuft in Partien, und die Modelle selbst werden als austauschbare Bausteine angebunden, um den Upscaler oder das Segmentierungsnetz zu ersetzen, ohne die gesamte Pipeline neu zu schreiben. Konfiguration, Protokollierung und die Wiederholung fehlgeschlagener Aufgaben machen den Durchlauf bei großen Mengen ausfallsicher. Dieser gesamte Stack wird auf der Anlage des Kunden oder in seiner Cloud bereitgestellt und eingerichtet, wir bereiten das Programm und die Parameter vor, und es rechnet seine Infrastruktur.
Wann die wichtigsten Werkzeuge entstanden sind
Die Faltungsnetze, auf denen die moderne Bildbearbeitung beruht, gehen auf die Architektur LeNet von Yann LeCun aus dem Jahr 1998 zur Erkennung handgeschriebener Ziffern zurück, in den industriellen Maßstab gelangten sie aber erst nach AlexNet von 2012. Das Upscaling per Deep Learning begann 2014 mit dem Modell SRCNN (Chao Dong und Kollegen), dem ersten Faltungsnetz, das direkt die Übersetzung von niedriger in hohe Auflösung trainierte und die klassische Interpolation übertraf. Für die präzise Segmentierung und die Trennung des Objekts vom Hintergrund wurde die Architektur U-Net zur Referenz, die Olaf Ronneberger mit Koautoren 2015 vorstellte. Die Sprache Python, in der heute die meisten solcher Pipelines aufgebaut werden, erschien bereits 1991 und wurde im Computer Vision in den 2010er Jahren zusammen mit dem Aufstieg der Deep-Learning-Bibliotheken zum Massenphänomen. Diese wenigen Daten, 1998, 2012, 2014, 2015, bilden das Fundament, auf dem die automatisierte Stapelbearbeitung von Fotos beruht.
Warum Sie das uns anvertrauen können
Die gesammelte Erfahrung des Entwicklungsteams übersteigt 45 Jahre in der IT, und das ist ein technischer und kein künstlerischer Blick auf die Aufgabe: Für uns ist die Bearbeitung eines Katalogs ein reproduzierbarer Prozess mit Kennzahlen und keine Reihe manueller Korrekturen. Wir verstehen, wo das Modell bei einem untypischen Bild versagt, wie man eine einheitliche Qualität bei großen Mengen hält und wie man die Pipeline mit dem Warenwirtschaftssystem und dem Speicher des Kunden koppelt. Jedes Schema durchläuft eine Prüfung an einer Kontrollstichprobe vor dem produktiven Start, deshalb verwandelt sich der vollständige Durchlauf nicht wegen eines unbemerkten Fehlers in der Einstellung in massenhaften Ausschuss. Wir schreiben das Programm und richten den Prozess auf die Infrastruktur des Auftraggebers ein, die Bilder verarbeitet seine Anlage und seine Cloud, und unser Verantwortungsbereich sind Code, Modelle und Parameter. Ein solcher Ansatz liefert ein vorhersehbares Ergebnis und einen Vermögenswert, der beim Kunden bleibt und bei den nächsten Partien wiederverwendet wird.
Was enthalten ist
So arbeiten wir
Hunderte Fotos in der gewünschten Form an einem Tag statt Wochen manueller Retusche, Produktkarten direkt zum Upload auf den Marktplatz.
Fragen und Antworten
Wie viele Fotos auf einmal?+
Von Dutzenden bis Tausenden, wir bearbeiten sie im Strom über unsere eigene Pipeline.
Für welche Plattformen?+
WB, Ozon, Yandex.Market, Ihre Webseite, nach den Vorgaben jeder einzelnen.