Wie kann man die Farbtemperatur des Leuchtmittels anhand eines Fotos einer Standardfarbkarte abschätzen?

7

Ich arbeite an einer digitalen Fotokamera. Ich muss die Farbtemperatur des Leuchtmittels programmgesteuert mithilfe eines Algorithmus berechnen (nicht mit einem Drittanbieter-Tool von Adobe usw.).

In meinem Fall werden Bilder mit meiner experimentellen / in der Entwicklung befindlichen Kamera aufgenommen, und das Leuchtmittel ist kein Standardleuchtmittel mit einer bekannten Farbtemperatur. Ich brauche dies für Farbkorrektur / Weißabgleich. Ich möchte die Farbtemperatur (Grad Kelvin) eines Lichtquellen-Leuchtmittels basierend auf einigen Statistiken der RGB-Daten oder der Raw Bayer-Daten des aufgenommenen Bildes von beispielsweise einer Standardfarbkarte (24 Farbfelder) unter diesem Leuchtmittel schätzen.

Wie kann ich die Farbtemperatur anhand dieser Farbkartendaten schätzen?

Alle Hinweise oder Lesematerial oder Algorithmen, die darüber sprechen, würden helfen.

goldene Mitte
quelle
Ich möchte eine Antwort anbieten, bin jedoch neugierig auf eine Sache, bevor ich dies tue. Versuchen Sie, einen automatischen Weißabgleichalgorithmus zu erstellen, oder versuchen Sie, etwas anderes zu tun? Der Weißabgleich müsste nicht unbedingt die Farbtemperatur einer beliebigen Lichtquelle kennen (oder sogar können), aber es ist möglich, ein Bild automatisch weiß auszugleichen.
jrista
jrista: Ich weiß, dass man den automatischen Weißabgleich durchführen kann, ohne die Farbtemperatur des Leuchtmittels zu kennen, indem man nur die Skalierungskoeffizienten erhält, die zum Skalieren der RGB-Werte und zum Ausführen von AWB verwendet werden. Ich versuche etwas anderes zu tun.
Goldenmean
1
@gloldenmean: Kannst du genauer erklären, was du versuchst zu tun? Ich denke, ich habe eine allgemeine Idee, und es ist wahrscheinlich möglich, obwohl es wahrscheinlich einige ausgefallene algorithmische Arbeit erfordern würde, um dies zu erreichen.
jrista

Antworten:

4

Verwenden Sie zur Vereinfachung eine neutrale Graukarte anstelle eines Farbprüfers. Oder verwenden Sie nur einen neutralen Fleck des Farbprüfers. Sie haben in der Bild , um das Gebiet , das entspricht die jeweilige Patch / Graukarte, dann durchschnittlich getrennt die R, G und B zu identifizieren rohe Pixel auf diesem Gebiet. Stellen Sie sicher, dass keines dieser Pixel gesättigt ist. Andernfalls beginnen Sie erneut mit einer geringeren Belichtung.

Am Ende erhalten Sie ein (R, G, B) Triplett, das die Farbe Ihres Leuchtmittels im nativen Farbraum Ihrer Kamera darstellt. Konvertieren Sie dann mit einer Formel wie in den CIE-Standardfarbraum

⎛X⎞   ⎛            ⎞ ⎛R⎞
⎜Y⎟ = ⎜ 3×3 matrix ⎟ ⎜G⎟
⎝Z⎠   ⎝            ⎠ ⎝B⎠

Dabei ist die Matrix die Farbmatrix Ihres Bayer-Sensors, die Sie hoffentlich bereits kennen. Von hier aus können Sie die korrelierte Farbtemperatur mit Standardformeln berechnen .

Edgar Bonet
quelle
2

Was Sie tun möchten, kann ein sehr komplexer Problembereich sein. Farbtheorie, Farbkorrektur / Weißabgleich usw. ist ein sehr komplexes Feld. Um sicherzugehen, dass ich es verstehe, versuchen Sie, einen Algorithmus zu erstellen, mit dem der Weißabgleich einer Szene basierend auf der Beleuchtungslichtquelle in der Szene richtig eingestellt werden kann. Möglicherweise können Sie das tun, was Sie tun müssen, und viele der Algorithmen, die Sie verwenden müssten, sollten heutzutage verfügbar sein.

Einige Punkte, die Sie berücksichtigen und in Ihre Verarbeitung einbeziehen sollten:

  • Keine Lichtquelle in der Szene
    • Zum Beispiel: Die Sonne beleuchtet eine Szene hinter dem Fotografen
    • Ein weiteres Beispiel: Blitz außerhalb der Szene oder andere Beleuchtung
    • Dies ist wahrscheinlich das größte Problem und würde es so gut wie unmöglich machen, eine lichtquellenbasierte Farbkorrektur durchzuführen
  • Mehrere Lichtquellen
    • Es können mehrere Lichtquellen mit derselben Farbtemperatur vorhanden sein
    • Von größerer Bedeutung sind mehrere Lichtquellen mit unterschiedlicher Farbtemperatur
    • Schlüsselfrage: Was möchten Sie tun, wenn eine Szene mit mehreren Lichtquellen unterschiedlicher Farbe beleuchtet wird?
  • Umgebungslichtquellen gegen Punktlichtquellen
    • Beispiel: Die Sonne beleuchtet einen Raum durch ein Fenster, wobei zusätzliche Beleuchtung die schattierten Teile beleuchtet
    • Schlüsselfrage: Auf welcher Quelle möchten Sie den Weißabgleich durchführen?
  • Lichtquellen radikaler Farbe
    • Manchmal haben Sie Szenen, die von primären Lichtquellen mit radikalen Farben beleuchtet werden
    • Zum Beispiel: rot, grün, blau, lila, gelb usw.
    • Die blau / gelb / rote Ebene kann als Extreme der normalen Farbtemperatur angesehen werden
    • Das Grün / Lila / Magenta-Flugzeug könnte als extremer Farbton angesehen werden
    • Keine gesättigte Farbe, weder primär noch sekundär, ist ein gutes Ziel für den Farbausgleich einer Szene, da dies wahrscheinlich zu einem ausgeprägten Farbstich in Ihrem Bild führen würde
    • Schlüsselfrage: Was tun Sie, wenn Ihre Szene keine gemeinsame Umgebungs- oder Primärbeleuchtung hat und vollständig oder hauptsächlich von radikalen Farben beleuchtet wird?

Wenn wir keine Beleuchtung in der Szene und keine radikalen Farben aus dem Problembereich ausschließen, ist es wahrscheinlich möglich, die Farbtemperatur von Lichtquellen in der Szene zu identifizieren und zu messen. Heutzutage sind einige ziemlich fortschrittliche Formerkennungsalgorithmen verfügbar, die es ermöglichen würden, alle Lichtquellen in einer Szene zu identifizieren, vorausgesetzt, Sie haben eine anständige Basis oder bekannte Lichtquellenformen. Sobald Sie jede Lichtquelle identifiziert haben, können Sie wahrscheinlich eine Art Tristimulusberechnung verwenden, um die Farbtemperatur der Lichtquelle zu bestimmen, indem Sie die grünen, roten und blauen Subpixelwerte oder RAW-Bayer-Pixelwerte mit den richtigen Gewichten verwenden, um Ihre drei Luminanzen zu erzeugen Spitzen.

Ihr Algorithmus wird besonders komplex, wenn Sie nicht standardmäßige oder radikale Szenenbeleuchtung verwenden. Extrem gesättigte Lichtquellen sind keine guten Weißabgleichziele, da sie weit vom "Weiß" -Bereich eines Farbumfangs entfernt sind. Es ist sehr wichtig zu wissen , welcher Teil der Szene am meisten „neutral“ ist , so dass Sie eine richtige „grau oder weiß“ wählen können Ihre Weißabgleich auf der Basis auf, so dass im Grunde wie ist weiß Balance funktioniert. Es ist möglicherweise möglich, Ihre Szene anhand einer anderen Grundfarbe wie Rot farblich auszugleichen. Ich weiß jedoch nicht genau, wie Sie vorhandene mathematische Formeln ändern müssten, um einem solchen Ansatz gerecht zu werden (es gibt eine ganze Menge komplexer Mathematik in der Farbtheorie beteiligt.)

Die schwierigste Situation ist, wenn keine Lichtquellen in der Szene vorhanden sind. Wenn die Szene von einer Lichtquelle außerhalb der Szene beleuchtet wird, ist es so gut wie unmöglich, ihre Farbtemperatur zu berechnen. Wenn Sie das Kameradesign ziemlich radikal angehen möchten, können Sie einige grundlegende Lichtmesssensoren an allen Seiten des Kameragehäuses anbringen. Dies würde es ermöglichen, Licht aus allen Richtungen zu messen, wäre jedoch nicht ganz genau, und die Gewinne bei all der zusätzlichen Komplexität wären wahrscheinlich gering. Ein anderer Ansatz könnte darin bestehen, ein Blitzschuhgerät zu erstellen, das mit mehreren Spotmessgeräten verbunden werden kann und der Kamera für jede Lichtquelle, auf die Sie ein Messgerät richten, genaue Beleuchtungswerte liefert. Szenen mit mehreren Lichtquellen oder Quellen mit radikaler Farbe würden immer noch einen sehr komplexen Algorithmus ergeben.

Der Versuch, die Farbtemperatur der Lichtquellen Ihrer Szenen beispielsweise anhand eines einfachen Fotos einer Farbkorrekturkarte zu bestimmen, wäre äußerst schwierig, wenn nicht sogar unmöglich. Sie müssten zu viele Annahmen treffen oder im Voraus wissen, welche Art von Licht Ihre Szene beleuchtet. Dies ist im Allgemeinen der Grund, warum Weißabgleich- / Farbkorrekturen normalerweise durchgeführt werden, indem der Weißabgleich der Szenen basierend auf einer bekannten neutralen Farbe in einer Szene eingestellt wird. Wenn Sie eine Landschaft zweimal in derselben Beleuchtung fotografieren, einmal mit und einmal ohne Farbkorrekturkarte, können Sie während der Nachbearbeitung eine gültige neutrale oder rein weiße Farbe auswählen, um die richtige Farbbalance festzulegen. Ich selbst habe den X-Rite ColorChecker Passport, der zwei Reihen Farbkorrekturfelder enthält. Eine Reihe ist für Landschaften und die andere für Porträts, und sie entwickeln sich von leicht kühlen zu leicht warmen Farbflecken. Ich kann die Art der Farbbalance einstellen, die ich für meine Szenen haben möchte, die für die Landschaftsfotografie tendenziell wärmer und für Dinge wie Wildtiere oder Makros neutraler weiß getönt (5500k-6500k) ist.

Wenn Sie etwas wesentlich Spezialisierteres tun, können Sie möglicherweise einen kleineren Problembereich definieren, in dem Sie einen Algorithmus erstellen können, der genau das tut, was Sie benötigen. Der Problembereich müsste ziemlich eng sein, mit ziemlich genau definierten Parametern und Grenzen, um genügend bekannte Daten zu generieren, damit der Algorithmus beim Weißabgleich einer Szene die richtigen Entscheidungen treffen kann. Jede Szene ohne primäre Lichtquellen innerhalb des Rahmens wird sehr schwierig sein, einen automatischen Weißabgleich oder eine Farbkorrektur durchzuführen.

jrista
quelle
Vielen Dank. Nur noch wenige Fragen, wenn Sie dies zulassen. 1] Wie werden die 3 Luminanzspitzen erzeugt? - Wird der Durchschnitt der R-, G- und B-Daten berechnet, die nach dem Demosaikieren erhalten wurden? 2] Was meinen Sie mit "Durchschnitt der Proben ergibt einen ziemlich genauen Farbtemperaturwert"? Was sind die Berechnungsschritte hier?
Goldenmean
1

Verstehe ich Sie richtig, dass der Zweck darin besteht, dass Sie eine neue Digitalkamera bauen? Dh an der Entwicklung von Firmware arbeiten, und so etwas?

In diesem Fall scheint der Artikel über die Farbtemperatur in Wikipedia einige gute Informationen zu enthalten , insbesondere den Abschnitt Berechnung .

Das habe ich vorher noch nicht gemacht, daher sind meine Kenntnisse begrenzt. Ich sollte jedoch denken, dass ein wesentlicher Teil davon darin besteht, zu wissen, wovon das Bild ist. Das Aufnehmen einer weißen oder neutralen Graukarte mit gleichmäßiger Beleuchtung wäre daher eine naheliegende Wahl. Und Ihre Wahl einer Standardfarbtabelle ist auch gut, solange Ihre Software weiß, auf welchem ​​Teil der Karte ein bestimmter Satz von Pixeln basiert, auf dem Sie Berechnungen durchführen möchten. Wenn Sie also vorhaben, eine Reihe von Aufnahmen dieser Karte in verschiedenen Beleuchtungssituationen zu machen, sollten Sie entweder eine Art Rig erstellen, mit dem die Karte für jede Aufnahme relativ zur Kamera an derselben Stelle gehalten werden kann, oder Bestimmen Sie die Position der Karte (möglicherweise mit Kantenerkennung und / oder ähnlichen Methoden).

Natürlich sollten Sie Ihre Ergebnisse auch mit bekannten Werten vergleichen. Möglicherweise sind ein kolorimetrischer Belichtungsmesser oder andere Geräte erforderlich, um dies wirklich richtig zu machen. Und es gibt verschiedene Arten ... diejenigen, die für Fotografen (oder Videofilmer oder Filmfotografen) bestimmt sind, scheinen mit einer einzigen Google-Suche aufzutauchen , während es auch solche gibt, die möglicherweise stärker auf das Labor ausgerichtet sind . Ich kenne zum Beispiel jemanden mit einem Messgerät, der am Ende einer Stange eine kleine Kugel (ca. 1 cm Durchmesser) hat, die dann an einen USB-Anschluss eines Computers angeschlossen wird und die Lichtintensität bei verschiedenen Frequenzen misst. Geben einer echten Spektrumanalyse einer Lichtquelle. Ich bin mir nicht sicher, wie das Gerät genau heißt, aber ich könnte wahrscheinlich herausfinden, ob das nützlich ist.

Natürlich müssen diese Geräte es auch irgendwie tun, also reicht es vielleicht, nur die Theorie und Mathematik zu lernen? :) Mit einer Google-Suche können verschiedene nützliche (und ich bin sicher einige weniger nützliche) Elemente gefunden werden . Ich kann mir vorstellen, dass Sie ernsthafte Nachforschungen vor sich haben, die über den Rahmen hinausgehen, auf den Sie hier harte Antworten erhalten können. Hoffentlich gibt Ihnen dies jedoch einige Ansatzpunkte.

Lindes
quelle
@Ja: Ich plane, die Karte an einem Schraubstock zu befestigen, der an einem Tisch befestigt ist, das Kameragerät auch an einer Klemme zu befestigen und die Lichtquellen zu wechseln.
Goldenmean