Wie kann ich Histogramme zwischen einem digitalen Bild und seinem Druck vergleichen?

Ich möchte Farbhistogramme zwischen einem digitalen Foto und seiner physisch gedruckten Version auf Stoff (wie einem T-Shirt) vergleichen. Der Prozess ist einfach:

  1. Drucken eines digitalen Bildes (mit guter Auflösung) in ein T-Shirt
  2. Machen Sie ein Foto von diesem bedruckten T-Shirt in richtiger Ausrichtung und Zuschnitt
  3. Histogramme vergleichen

Wie zu erwarten ist, unterscheidet sich das Farbhistogramm des Fotos des bedruckten T-Shirts stark vom Originalbild, wie es sein sollte. Was ich wissen möchte, ist, ob es eine bekannte Methode gibt, um eines der folgenden Ziele zu erreichen:

  1. Wandeln Sie die Farben aus dem digitalen Originalbild so um, dass sie dem gedruckten Farbraumhistogramm näher kommen.
  2. Versuchen Sie, das gedruckte T-Shirt-Foto zu normalisieren oder auf irgendeine Weise zu transformieren, um die ursprünglichen Farben wiederherzustellen.

Mir ist bewusst, dass die Farbverteilung des bedruckten T-Shirts auch von der Kamera abhängt, mit der es aufgenommen wird. Im Moment denke ich darüber nach, ein ML-Modell zu trainieren, um zu versuchen, die Farbtransformation zwischen zwei Farbverteilungen (Original und physisch gedruckt) zu lernen.

Ich frage mich jedoch, ob es Literatur darüber oder ein Verfahren gibt, das ich mit meiner Kamera durchführen kann, um zu versuchen, diese Farbtransformation zu finden, damit ich sie auf andere Drucke anwenden kann.

Mein Ziel ist es, die gedruckte Farbverteilungstransformation aus dem digitalen Originalbild zu verallgemeinern (vorherzusagen). Da ich immer denselben Drucker für den Druck und dieselbe Kamera für das Foto des T-Shirts verwende, sollte dies meiner Meinung nach machbar sein.

Vielen Dank im Voraus.

Auch wenn die Idee, die Sie haben, die richtige ist, gibt es dafür bereits einen bewährten Weg: Mehr dazu finden Sie unter Farbmanagement im Druck.
Danke. Können Sie weitere Stichwörter zu verwandten Techniken nennen? Danke!
Haben Sie darüber nachgedacht, einfach ein oder mehrere Testmuster zu drucken und die Transformation direkt zu messen?
@Caleb meinst du wie eine lineare Transformation unter Verwendung einer Reihe von Farbkorrespondenzen zwischen Druck und Bild? Das sieht interessant aus. Aber was ist, wenn die Transformation irgendwie nichtlinear und komplex ist? Welches Modell verwende ich für diese Transformation? Einige Farben in Originaldaten sind perfekte Farben wie (1,0,0) und werden nach dem Druck zu einer gleichmäßigen Verteilung von Rot und werden per Foto erfasst. Auch der Verteilungsmittelwert verschiebt sich. Ich habe keine Ahnung, welches Modell ich für diese Transformation verwenden soll.
@Caleb meine Idee eines ML-Modus bestand genau darin, diesen Mangel an Wissen über das Transformationsmodell anzugehen. Die Farbkorrespondenzen können verwendet werden, um diesen unbekannten Modus zu trainieren, indem ein ML-Modus mit vielen Parametern erstellt wird.
Dies sieht aus wie ein Standard-Farbkalibrierungsprozess. Wurde jahrzehntelang ohne ML durchgeführt. Genügend Daten für ML zu bekommen würde dich viel in T-Shirts kosten...
Stimmt, obwohl ich Zugriff auf die aktuelle Produktionslinie haben und aktuelle Produkte verwenden kann, um den Datensatz zu erstellen. Aber ich denke, Sie haben Recht, es sieht aus wie ein Farbkalibrierungsverfahren. Ich werde mir das jetzt mal anschauen. Vielen Dank.
Ist es Ihr Ziel, basierend auf Ihrem Kommentar zu Bobs Antwort, die Ausgabe farblich korrigieren zu können oder das Originalbild anhand des T-Shirts identifizieren zu können (oder umgekehrt)? (Um beispielsweise das Versandetikett und den Lieferschein auszudrucken oder das Bild des T-Shirts in der Versandbestätigungs-E-Mail zu verwenden)
@LightBender ja, irgendwie. Das eigentliche Ziel ist es, Bindungen für ein CBIR-System (Content Based Image Retrieval) zu lösen. Ich suche bereits nach Bildern, indem ich bestimmte Merkmalsdeskriptoren verwende, die rotations-, skalierungs- und translationsinvariant sind. Es funktioniert sehr gut, aber diese Beschreibungen sind auf einer gewissen Ebene auch farbinvariant. Wenn also zwei Produkte die gleiche Struktur, aber unterschiedliche Farbdetails haben, werde ich manchmal feststellen, dass beide das gleiche Produkt in Bezug auf die Funktionsübereinstimmung sind. Für diesen Fall muss ich also mit einer anderen Metrik lösen. Farbhistogramme können in diesem Fall helfen, aber nur, wenn das System farbkalibriert ist
Wenn Sie wissen, welche Arten von Bildern Sie in das System einfügen, wenn Sie sie hinzufügen, warum nehmen Sie das nicht einfach in die Metadaten auf. "Finden Sie alles, was mit X übereinstimmt, und filtern Sie nach den Metadaten A, B, C und Q." Ich weiß nicht, ob es ein gängiges Beispiel ist, aber eines der Bücher, die ich über maschinelles Lernen gelesen habe, verwendete das Beispiel des Aufbaus eines Netzwerks, um die Tierart in der Datenbank eines Tierarztes anhand des Bildes der Art zu identifizieren ist eine der Standardfragen bei der Terminvereinbarung.
@LightBender Ich sehe deinen Standpunkt und dein Beispiel machen Sinn. Aber in meinem Fall sind Datenbankbilder: 1) jede Art von Bild, sogar ein abstraktes Ding oder eine Zeichnung; 2) Bilder werden direkt vom Benutzer erstellt und hinzugefügt, daher habe ich keine Kontrolle darüber. Der Benutzer kann jedes beliebige T-Shirt mit benutzerdefinierten Bildern drucken, bei denen es sich häufig um abstrakte Illustrationen handelt. Daher habe ich keine geeignete Methode zum Markieren. Meine „Tags“ sind Merkmalsdeskriptoren, die einige sehr gut definierte Merkmale im Verlaufsraum des Bildes darstellen. Diese repräsentieren das Bild ziemlich gut.
Hallo Pablo. Basierend auf Ihrer Frage und diesen Kommentaren klingt es nicht so, als ob es bei dieser Frage wirklich um Fotografie geht. Es hört sich so an, als ob dies eher im Bereich von ML & Statistik (dh geeignet für Cross Validated ) oder vielleicht allgemeinerer Bildverarbeitung (dh besser bei Signal Processing ) liegt. Scheint eine dieser Seiten gut zu passen?
@scottbb Hallo Scott, es ist lustig, dass du es erwähnt hast, weil ich es zuerst im Statistikforum gepostet habe, aber die Leute haben mir empfohlen, hier zu posten, lol. Da hat niemand geantwortet. Vielleicht war meine Frage sowieso nicht so gut geschrieben. Danke.
@PabloCarneiroElias Ah. Es tut mir leid, dass Sie bei Stats-SE keinen Anklang gefunden haben. Ich glaube nicht, dass es darum geht, nicht gut geschrieben zu sein; es scheint ziemlich gut für den richtigen Kontext geschrieben zu sein. Ich kämpfe gerade mit der Aktualität im fotografischen Kontext. Es gab jedoch nur sehr wenige Einwände (über Abstimmung zum Schließen, weil es nicht zum Thema gehört), daher habe ich keine Eile, es zu schließen oder zu verschieben. Sie haben eine Antwort und vielleicht etwas Hilfe bekommen, also ist das gut. =)
@scottbb ja, danke! Ich habe einige Ideen. Mir wurde klar, dass ich vielleicht nur eine alte einfache Farbkalibrierung brauche. Ich muss den Test noch durchführen, da der Kunde Zeit braucht, um meinen benutzerdefinierten Colorchecker zu drucken. Sobald er das tut, werde ich testen und prüfen, ob die Ergebnisse zufriedenstellend sind, oder ich brauche vielleicht einen anderen Hinweis. Danke!

Antworten (1)

Die Industriestandardmethode würde zwei Transformationen verwenden, die als ICC-Profile kodiert sind . Das Eingabegerät würde eine Abbildung von seinen Farbeigenschaften auf den Profilverbindungsraum verwenden. Ebenso würde die Ausgabe eine Zuordnung vom Profilverbindungsraum zu seinem Ausgabefarbraum verwenden.

Dies ist der Standard, da er es ermöglicht, jedes Eingabegerät mit jedem Ausgabegerät zu verbinden.

Ein Zurückgehen vom Druck ist auf direktem Weg nicht wirklich möglich. Sie benötigen ein Eingabegerät (z. B. eine Kamera oder einen Scanner), um ein Bild des Drucks aufzunehmen. Und dann sind Sie auf sein ICC-Profil (oder ein logisches Äquivalent) angewiesen, um wieder in den Profile Connection Space zu gelangen.

Das soll nicht heißen, dass Sie es nicht können … das ist es, was Druckerprofilierungshardware tut.

Wie auch immer, die Möglichkeit, die Art von Dingen zu tun, die Sie tun möchten, ist von Unternehmen wie Xrite und DataColor mit ICC-Profilen erhältlich. Es ist nicht billig. Aber es ist so billig wie es nur geht.

Danke. In meinem Fall entwickle ich ein CBIR (Content Based Image Retrieval) und muss die Farbkalibrierung als Teil des Produkts selbst entwickeln.
@PabloCarneiroElias (a->b & b->c) -> a->c. Deshalb können Sie ICC-Profile für beliebige Transformationen verwenden. Aber die Transformationen werden empirisch durch Maß bestimmt. Sie können nicht genau darüber nachdenken, wie mehrere Tinten auf einem bestimmten physischen Medium kombiniert werden. Mathe wird nicht die richtige Antwort geben. Empirische Ergebnisse sind erforderlich.
Ja, es gibt keine Möglichkeit, chemisch einfach zu verstehen, wie das Medium die Lichtabsorption/-reflexion beeinflusst. Auch der Farbraum der Kamera kann zwar getrennt modelliert werden. Da ich jedoch immer denselben Drucker und dieselbe Kamera verwende, ist für mich das Gesamtendergebnis aus Druck + Kameraerfassung entscheidend. Ein endgültiger Colorchecker, der gedruckt, dann erfasst und mit den ursprünglichen RGB-Werten verglichen wurde, reicht also aus, um das Modell für die Korrektur wie ein einheitliches Modell zu erstellen.