PatentDe  


Dokumentenidentifikation DE102004027471B4 03.01.2008
Titel Verfahren und Vorrichtung zur Farbkorrektur von Bildern mit nicht-linearen Beleuchtungsänderungen
Anmelder Ebner, Marc, Dr., 70199 Stuttgart, DE
Erfinder Ebner, Marc, Dr., 70199 Stuttgart, DE
DE-Anmeldedatum 04.06.2004
DE-Aktenzeichen 102004027471
Offenlegungstag 29.12.2005
Veröffentlichungstag der Patenterteilung 03.01.2008
Veröffentlichungstag im Patentblatt 03.01.2008
IPC-Hauptklasse H04N 1/60(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G06T 5/00(2006.01)A, L, I, 20051017, B, H, DE   H04N 1/00(2006.01)A, L, I, 20051017, B, H, DE   H04N 5/243(2006.01)A, L, I, 20051017, B, H, DE   

Beschreibung[de]

Die Erfindung betrifft insbesondere ein Verfahren und eine Vorrichtung zum Korrigieren der ursprünglichen Farbe eines digitalen, digitalisierten bzw. elektronischen ursprünglichen Bildes, das mehrere Bildpunkte aufweist, mindestens ein Objekt abbildet und eine lineare oder nichtlineare Beleuchtung aufweist, um ein erzeugtes Bild mit zumindest einer realistischeren oder gar naturgetreuen Farbe des Objekts zu erhalten.

Das visuelle System des Menschen ist in der Lage, die Farbe von Objekten unabhängig von der Beleuchtung zu bestimmen. Dieser Mechanismus wird als Farbkonstanz bezeichnet. Die Farbe der Objekte hängt von der Reflektanz der Oberfläche ab. Die Reflektanz gibt den Anteil des reflektierten Lichts in Abhängigkeit von der Wellenlänge an. Das visuelle System des Menschen ist also in der Lage, die Reflektanz der Oberflächen anhand des reflektierten Lichts zu schätzen. Analoge oder digitale Kameras dagegen messen das reflektierte Licht. Das reflektierte Licht hängt jedoch in hohem Maße von der Art der Beleuchtung ab. Wenn z.B. eine Lampe mit einem gelblichen Lampenschirm zur Beleuchtung eines Raumes mit weißen Wänden verwendet wird, so erscheinen die weißen Wände auf einem Foto gelblich. Der Fotograf dagegen nimmt die Wände als weiß wahr.

Es existieren bereits eine Vielzahl von Algorithmen zur Farbkonstanz, die diesen Mechanismus des visuellen Systems des Menschen nachbilden sollen. Land und McCann (1971) entwickelten die sog. Retinex Theorie (siehe auch Land (1974, 1983, 1986, 1986a)). Die Retinex Theorie wurde von anderen Wissenschaftlern ergänzt und erweitert (Brainard und Wandell 1992, Brill und West 1981, Funt und Drew 1988, Horn 1974, 1986, Rahman et al. 1999). Weitere Algorithmen zur Farbkonstanz sind sog. Gamut-Constraint Methoden (Barnard et al. 1997, Forsyth 1988, 1992), perspektivische Farbkonstanz (Finlayson 1996), Farbe durch Korrelation (Barnard et al. 2000, Finlayson et al. 1997), die Annahme, daß die Welt im Mittel grau ist (Buchsbaum 1980, Gershon et al. 1987), Bestimmung von Koeffizienten von Basis-Funktionen (Funt et al. 1991, Ho et al. 1992, Maloney und Wandell 1986), Helligkeitsadaption in Verbindung mit Augenbewegungen (D'Zmura und Lennie 1992), Neuronale Netzwerke (Courtney et al. 1995, Dufort und Lumsden 1991, Funt et al. 1996, Herault 1996, Moore et al. 1991, Novak und Shafer 1992), Minimierung einer Energiefunktion (Usui und Nakauchi 1997), Umfassende Farbnormierung (Finlayson et al. 1998), Farbcluster-Rotation (Paulus et al. 1998), Komitee-basierte Methoden, die die Berechnungen mehrerer Algorithmen zur Farbkonstanz zusammenfassen (Cardei und Funt 1999), die Verwendung von genetischer Programmierung (Ebner 2001), die Kombination der Graue-Welt-Hypothese mit dem Retinex Algorithmus (Ebner 2003a), die Filterung von Regionen, die mit einem angenommenem Farbmodell nicht in Einklang stehen (Risson 2003) oder die Berechnung sog. intrinsischer Bilder (Tappen et al. 2002, Finlayson et al. 2004). Eine Software zur Farbkorrektur von Bildern wird von Digital Arts GmbH, Köln, vertrieben (Digital Arts, 2003).

Der Offenbargungsgehalt der genannten Druckschriften bzw. Veröffentlichungen ist hiermit in den Offenbarungsgehalt dieser Beschreibung einbezogen.

Es ist die Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren, eine verbesserte Vorrichtung, ein verbessertes System, ein verbessertes Computerprogrammen mit einer Programmcode Einrichtung, ein verbessertes Computerprogrammenprodukt, ein verbessertes Datenverarbeitungssystem und/oder entsprechende Verwendungen, Einrichtungen, wie einen CCD-Chip, eine CMOS-Chip, eine Digitalkamera, einen Flachbildschirm, ein Flachbildfernsehgerät, ein TFT-Display usw. zum Korrigieren der ursprünglichen Farbe eines digitalen, digitalisierten bzw. elektronischen ursprünglichen Bildes, das mehrere Bildpunkte aufweist und mindestens ein Objekt mit linearer oder nicht-linearer Beleuchtung abbildet, um ein erzeugtes Bild mit zumindest einer realistischeren oder gar naturgetreuen Farbe des Objekts zu erhalten, bereitzustellen.

Diese Aufgabe wird mit den Merkmalen der entsprechenden Ansprüche gelöst.

Die Erfindung betrifft insbesondere ein Verfahren und eine entsprechende Vorrichtung zum Korrigieren der ursprünglichen Farbe eines digitalen, digitalisierten bzw. elektronischen ursprünglichen Bildes, das mehrere Bildpunkte aufweist und mindestens ein Objekt mit linearer oder nichtlinearer Beleuchtung abbildet, um ein erzeugtes Bild mit zumindest einer realistischeren Farbe des Objekts zu erhalten, insbesondere mit den folgenden Schritten:

  • – Ermitteln mindestens der ursprünglichen Farbe von jeweils mehreren zu untersuchenden Bildpunkten des ursprünglichen Bildes,
  • – Gleichmäßiges Mitteln der durchschnittlichen lokalen Farbe von benachbarten Bildpunkten für jeden untersuchten Bildpunkt,
  • – Hinzufügen der ermittelten ursprünglichen Farbe jedes Bildpunktes zu der gleichmäßig gemittelten Farbe von benachbarten Bildpunkten, um die durchschnittliche lokale Farbe mindestens dieses Bildpunktes zu erhalten,
  • – Bestimmung der Richtung der Beleuchtungsänderung anhand der durchschnittlichen lokalen Farbe des Bildpunktes sowie der durchschnittlichen lokalen Farbe benachbarter Bildpunkte,
  • – Mitteln der orientierten durchschnittlichen lokalen Farbe von benachbarten Bildpunkten in einer Richtung orthogonal zur Beleuchtungsänderung,
  • – Hinzufügen der ermittelten ursprünglichen Farbe jedes Bildpunktes zu der gemittelten orientierten durchschnittlichen lokalen Farbe, um die orientierte durchschnittliche lokale Farbe mindestens dieses Bildpunktes zu erhalten.
  • – Korrigieren der Farbe eines untersuchten Bildpunktes anhand der ursprünglichen Farbe des Bildpunktes und der erhaltenen orientierten durchschnittlichen lokalen Farbe des Bildpunktes.

Vorzugsweise wird dann im wesentlichen die senkrecht auf dem Grauvektor stehende Komponente der orientierten durchschnittlichen lokalen Farbe eines Bildpunktes von der ursprünglichen Farbe des Bildpunktes subtrahiert, um die Farbe des Bildpunktes zu korrigieren.

Weiter bevorzugt erfolgt das Korrigieren der Farbe eines Bildpunktes im wesentlichen durch die folgenden Schritte:

  • – Skalieren der ursprünglichen Farbe eines Bildpunktes und der orientierten durchschnittlichen lokalen Farbe eines Bildpunktes auf die Ebene r + g + b = 1 des RGB-Farbraumes,
  • – Subtrahieren der Komponente der orientierten durchschnittlichen lokalen Farbe eines Bildpunktes, die senkrecht auf dem Grauvektor steht, von der ursprünglichen Farbe des Bildpunktes zum Erhalten der korrigierten Farbe des Bildpunktes und
  • – Skalieren der korrigierten Farbe eines Bildpunktes auf die Länge der ursprünglichen Farbe des Bildpunktes.

Alternativ kann das Korrigieren der Farbe eines Bildpunktes auch durch Division mit der orientierten durchschnittlichen lokalen Farbe erfolgen. Bevorzugt wird durch zweimal der orientierten durchschnittlichen lokalen Farbe dividiert.

Es ist ebenfalls eine Unterkombination der genannten Merkmale oder Schritte der Erfindung zur Verwirklichung der Farbkorrektur möglich.

Weiter bevorzugt wird erfindungsgemäß ein Gitter aus Prozessorelementen bereitgestellt, insbesondere bevorzugt für jeden Bildpunkt ein Prozessorelement. Dabei ist jedes Prozessorelement derart ausgebildet, daß es auf die gemessene Farbe des zugehörigen Bildpunktes zugreifen kann und zusätzlich zwei weitere Farben, die durchschnittliche lokale Farbe und die orientierte durchschnittliche lokale Farbe speichern kann. Die Prozessorelemente können auf den Speicherinhalt der benachbarten vier Prozessorelemente zugreifen. Es ist auch ein alternativer oder zusätzlicher Zugriff auf die schräg benachbarten Prozessorelemente möglich. Die Prozessorelemente am Rand des Gitters haben je nach Position entsprechend weniger Nachbarelemente.

Der Gegenstand der Erfindung betrifft vorzugsweise ein paralleles Verfahren zur Lösung des Problems der Farbkonstanz. Das Verfahren berechnet die durchschnittliche lokale Farbe und die orientierte durchschnittliche lokale Farbe mit Hilfe eines Gitters aus einfachen Prozessorelementen. Die orientierte durchschnittliche lokale Farbe wird zur Farbkorrektur eingesetzt. Damit wird eine wesentliche Verbesserung im Vergleich zu einem früheren Verfahren erreicht. Die früheren Verfahren sind in (Ebner 2002, 2003a, 2003b, 2004a, 2004b) beschrieben. Das erfindungsgemäße Verfahren kann auch bei einer nicht-linearen Änderung der Beleuchtung eingesetzt werden.

Die Erfindung bzw. bevorzugte Ausführungsformen werden nachfolgend anhand der beiliegenden Figuren beispielhaft beschriebenen. Es zeigen:

1 Ein Gitter mit 8×8 Prozessorelementen mit Vierer-Nachbarschaft ist links dargestellt. Rechts ist ein 8×8 Gitter mit Achter-Nachbarschaft dargestellt.

2 Lineare Änderung der Beleuchtung von links nach rechts. Die rechte Grafik zeigt den Verlauf der Beleuchtung. Die durchschnittliche lokale Farbe, die von einem Prozessorelement auf der linken Seite berechnet wird, ist kleiner als die durchschnittliche lokale Farbe des aktuellen Prozeßorelements. Die durchschnittliche lokale Farbe, die von einem Prozessorelement auf der rechten Seite berechnet wird, ist größer als die des aktuellen Prozessorelements. Werden die beiden Werte gemittelt, so gleichen sich diese Unterschiede exakt aus. Es entstehen vertikale Streifen.

3 Nicht-lineare Änderung der Beleuchtung von links nach rechts. Die rechte Grafik zeigt den Verlauf der Beleuchtung. Die durchschnittliche lokale Farbe, die von dem Prozessorelement auf der linken Seite berechnet wird, ist deutlich kleiner, als die des aktuellen Elements. Die durchschnittliche lokale Farbe, die von dem Prozessorelement auf der rechten Seite berechnet wird, ist nur geringfügig größer, als die des aktuellen Elements. Bei der Mittelung der beiden Werte erhalten wir daher einen Wert, der kleiner ist, als die Beleuchtung an diesem Punkt.

4 Eine nichtlineare Änderung der Beleuchtung kann näherungsweise als linear betrachtet werden, falls der Bereich, für den die durchschnittliche lokale Farbe berechnet wird, klein genug ist (links). In der Regel berechnen wir die durchschnittliche lokale Farbe aber über einen großen Bereich. Andernfalls wäre die Annahme, daß die Welt im Mittel grau ist, nicht korrekt. Daher ist davon auszugehen, daß sich der Bereich, für den die durchschnittliche lokale Farbe berechnet wird, sich auch über Nichtlinearitäten ausdehnt. In diesem Fall wäre die durchschnittliche lokale Farbe eine schlechte Schätzung der Beleuchtung (rechts).

5 Nicht-lineare Änderung der Beleuchtung. Die Pfeilrichtung zeigt die Richtung des Gradienten. Die Iso-Beleuchtungslinie verläuft senkrecht zur Richtung des Gradienten.

6 Lokales Koordinatensystem, das in Richtung des Gradienten gedreht ist. Die Richtungen vorne/hinten weisen in Richtung des Gradienten. Die Richtungen links/rechts weisen entlang der Iso-Beleuchtungslinie.

7 Zwei Interpolationsmethoden: (a) Die Farbe am Punkt P wird durch Interpolation der Farben an den Punkten A und B berechnet. (b) Falls auch diagonal Verbindungen vorhanden sind, können wir die bilineare Interpolation einsetzen. In diesem Fall wird die Farbe am Punkt P durch Interpolation der Farben der Punkte A, B, C und D berechnet.

8 Prozessorelemente am Rand des Bildes bedürfen einer besonderen Beachtung. Die Farbe der Bildpunkte, die außerhalb des Bildes liegen, ist nicht bekannt. Um die Berechnungen nicht zu verfälschen, sollten über diese Punkte keine Annahmen gemacht werden. Daher werden nur die Daten des aktuellen Elements und der Wert entlang der Iso-Beleuchtungslinie innerhalb des Bildes gemittelt.

9 Falls die Iso-Beleuchtungslinie gekrümmt ist, muß die Krümmung der Line berücksichtigt werden. Sonst werden Daten gemittelt, die nicht auf der Iso-Beleuchtungslinie liegen.

10 Um Werte entlang der Iso-Beleuchtungslinie zu mitteln, müssen wir zunächst die Schnittpunkte des Einheitskreises mit dem Kreis um das Krümmungszentrum berechnen. Wir nehmen für die Berechnung an, daß das Krümmungszentrum an der Position (0, r) liegt, wobei r der Krümmungsradius ist. Es seien P1 und P2 die beiden Schnittpunkte. Daher müssen wir die Werte an den Punkten P1 und P2 durch Interpolation bestimmen.

11 Die Realisation eines Verfahrens zur Farbkonstanz bestehend aus 4 Stufen. Die ursprüngliche Farbe des Bildpunktes wird in Stufe 1 bereitgestellt, die durchschnittliche lokale Farbe wird in Stufe 2 berechnet. Die orientierte durchschnittliche lokale Farbe wird in Stufe 3 berechnet. Die korrigierte Farbe wird in Stufe 4 berechnet.

Das erfingsgemäße Verfahren arbeitet auf einem Gitter aus Prozessorelementen, wobei für jeden Bildpunkt ein Prozessorelement bereitgestellt wird. Jedes Prozessorelement kann auf die gemessene Farbe an diesem Bildpunkt zugreifen. Es sei ci(x, y) die gemessene Intensität des Farbkanals i mit i ∊ {r, g, b} an der Position (x, y) im Gitter. Es sei c(x, y) = [cr(x, y), cg(x, y), cb(x, y)] die gemessene Farbe an der Position (x, y) im Gitter. Zusätzlich hat das Prozessorelement Zugriff auf die Daten der vier direkt benachbarten Prozessorelemente. Ein Zugriff auf die vier diagonalen Nachbarn ist entweder alternativ oder zusätzlich möglich. Im letzteren Fall hat ein Prozessorlement acht Nachbarn (1). Die Prozessorelemente am Rand des Gitters haben je nach Position entsprechend weniger Nachbarelemente. Die Nachbarschaftsbeziehung sei durch N(x, y) = {(x', y')|(x', y') ist Nachbarelement von Element (x, y)} definiert. Die durchschnittliche lokale Farbe wird iterativ durch Mittelung der Daten benachbarter Elemente berechnet. Hierzu nehmen wir an, daß ai(x, y) mit i ∊ {r, g, b} die bisher ermittelte durchschnittliche lokale Farbe am Punkt (x, y) des Gitters ist. In der ersten Iteration kann dieser Wert beliebig gewählt werden. Ferner sei p ein kleiner Wert größer Null. Die folgenden Schritte werden vorzugsweise in ausreichender Zahl, weiter bevorzugt quasi endlos (permanente Verarbeitung solange die entsprechende Vorrichtung im Betrieb ist), wiederholt:

Im ersten Schritt wird vorzugsweise die bisher berechnete durchschnittliche lokale Farbe der benachbarten Prozessorelemente gemittelt. Alternativ können wir auch den berechneten Wert des aktuellen Elements bei der Mittelung berücksichtigen. In diesem Fall wird

berechnet. Im zweiten Schritt wird vorzugsweise die Farbe des Bildpunktes ci(x, y) zum Mittelwert hinzugefügt. Wir erhalten so die durchschnittliche lokale Farbe für jeden Bildpunkt. Der Parameter p definiert den Bereich, für den die durchschnittliche lokale Farbe berechnet wird. Die Farbe des Prozessorelements (x, y) wird mit einem Anteil p zum bisher berechneten Ergebnis hinzugefügt. Falls p klein ist, wird für einen relativ großen Bereich die durchschnittliche lokale Farbe berechnet. Falls p groß ist, wird nur für einen relativ kleinen Bereich die durchschnittliche lokale Farbe berechnet. Die bisher berechnete durchschnittliche lokale Farbe wird mit dem Anteil (1 – p) multipliziert. Daher kann die Initialisierung dieser Werte beliebig sein. Werte im Abstand r vom aktuellen Element beeinflussen dieses nur mit einem Anteil von (1 – p)r. Wichtig für die Berechnung der durchschnittlichen lokalen Farbe ist, daß die Intensitäten linear sind. Falls dies nicht zutrifft, muß zuvor eine Gamma-Korrektur durchgeführt werden.

Die Berechnung der durchschnittlichen lokalen Farbe ist äquivalent zur Faltung des Eingangsbildes mit der Funktion e–|r|&sgr; wobei

den Abstand zum aktuellen Prozessorelement angibt und &sgr; ein Skalierungsfaktor ist. Die durchschnittliche lokale Farbe a ist also durch
gegeben, wobei k so gewählt wird, daß
ist. Diese Art der Berechnung kann mit Hilfe eines Gitters aus Widerständen berechnet werden (Horn 1986, Moore et al. 1991).

In 2 ist eine nicht-uniforme Beleuchtung der Szene dargestellt, bei der sich die Beleuchtung linear von einer Seite des Bildes zur anderen ändert. Ein Prozessorelement mittelt die durchschnittliche lokale Farbe der vier benachbarten Prozessorelemente. Betrachten wir den Fall, daß die Mittelwerte bereits konvergiert sind. Der Mittelwert, der von dem Prozessorelement auf der linken Seite berechnet wurde, wird etwas kleiner sein und der Mittelwert des Prozessorelements auf der rechten Seite wird etwas höher als der aktuelle Mittelwert sein. Dagegen werden die Mittelwerte der Prozessorelemente über und unter dem aktuellen Element den gleichen Wert besitzen. Wenn nun der Durchschnitt der vier benachbarten Prozessorelemente berechnet wird, so gleicht sich der etwas niedrigere Wert des linken Prozessorelements mit dem etwas höheren Wert des rechten Prozessorelements aus. Dies ist auf der rechten Seite von 2 dargestellt. Der neue Mittelwert ist identisch mit dem zuvor berechneten Mittelwert. Auf diese Weise entstehen eine Reihe von vertikalen Streifen. Das eingangs beschriebene Verfahren, ist also in der Lage, bei einer linearen Änderung der Beleuchtung diese zu schätzen.

Wir nehmen nun an, daß die Änderung der Beleuchtung nicht-linear ist. Dies ist in 3 dargestellt. Die Beleuchtung variiert wieder von links nach rechts. Der Mittelwert, der von den Prozessorelementen über und unter dem aktuellen Element berechnet wird, ist wieder identisch mit dem Mittelwert des aktuellen Elements. Dagegen wird der Mittelwert des linken Prozessorelements deutlich kleiner sein als der Mittelwert des aktuellen Elements. Der Mittelwert des rechten Prozessorelements wird dagegen nur geringfügig größer sein. In diesem Fall gleichen sich die Mittelwerte der linken und rechten Seite nicht mehr aus. Für den hier dargestellten Fall wird der berechnete Mittelwert kleiner sein als tatsächlich. Dies ist auf der rechten Seite von 3 dargestellt. Das bisher beschriebene Verfahren kann also nicht für eine nicht-lineare Änderung der Beleuchtung verwendet werden.

Eine nichtlineare Änderung der Beleuchtung kann näherungsweise als linear betrachtet werden, wenn der Bereich für den die durchschnittliche lokale Farbe berechnet wird, klein genug ist. Der Bereich, für den die durchschnittliche Farbe berechnet wird, wird durch den Parameter p definiert. Damit die Graue-Welt-Hypothese erfüllt ist, müssen wir einen kleinen Wert für den Parameter p verwenden. D.h., wir berechnen die durchschnittliche lokale Farbe für einen relativ großen Bereich. Dies bedeutet aber gleichzeitig, daß evtl. vorhandene Nichtlinearitäten im Bild von allen Bereichen überdeckt werden. Dies ist in 4 dargestellt.

Eine genauere Schätzung der Beleuchtung können wir erhalten, indem wir die Daten, nicht wie zuvor beschrieben, gleichmäßig mitteln. Solch eine nicht-uniforme Glättung der Daten wird häufig zur Segmentierung von Bildern eingesetzt und ist unter dem Namen anisotropische Diffusion bekannt (Weickert 1997, Weickert et al. 1998). Nehmen wir an, daß wir eine nichtlineare Beleuchtungsänderung haben, die von links nach rechts verläuft. Die Beleuchtung ist in diesem Fall konstant entlang der Vertikalen. Wir nennen diese Linie die Iso-Beleuchtungslinie. Jedes Prozessorelement hat eine eigene Iso-Beleuchtungslinie. Für diesen einfachen Fall verläuft die Iso-Beleuchtungslinie für alle Prozessorelemente vertikal. Wenn wir nur die Werte von den über und unter dem aktuellen Element liegenden Prozessorelementen mitteln, so können wir die Beleuchtung entlang der Iso-Beleuchtungslinie schätzen, wenn die Szene entlang dieser Linie ausreichend komplex ist, so daß die Graue-Welt-Hypothese erfüllt ist. D.h., die Zahl der Farben, über die entlang der Iso-Beleuchtungslinie gemittelt wird, muß ausreichend groß sein. Falls die Iso-Beleuchtungslinie vertikal oder horizontal verläuft, so können wir die Daten entweder nur entlang der Vertikalen oder nur entlang der Horizontalen mitteln. In der Praxis ist ein horizontaler oder vertikaler Verlauf der Iso-Beleuchtungslinie aber nicht unbedingt gegeben. Die Iso-Beleuchtungslinie kann eine beliebige Orientierung besitzen. Tatsächlich muß es sich nicht um eine gerade Linie handeln. Die Linie kann auch gekrümmt sein. Dies kann bei einer lokalen Beleuchtung, wie z.B. einem Strahler, der Fall sein.

Gekrümmte Iso-Beleuchtungslinien behandeln wir weiter unten. Zunächst müssen wir die Richtung der Iso-Beleuchtungslinie berechnen. 5 zeigt den diagonalen Verlauf einer nichtlinearen Beleuchtung. Der Pfeil markiert die Richtung des Gradienten. Die Iso-Beleuchtungslinie verläuft senkrecht zum Gradienten. Wenn wir die Werte entlang der Iso-Beleuchtungslinie mitteln, erhalten wir eine Schätzung der Beleuchtung entlang dieser Linie, die nicht durch die Nichtlinearität verfälscht wird. Das Ergebnis ist in diesem Fall näherungsweise unabhängig von dem Parameter p, der den Bereich definiert, für den die durchschnittliche lokale Farbe berechnet wird. Wir müssen also bei einer nicht-linearen Beleuchtungsänderung entlang einer Vorzugsrichtung mitteln.

Um die Richtung der Iso-Beleuchtungslinie zu bestimmen, berechnen wir den Gradienten der Beleuchtung. Die Beleuchtung ist aber nicht bekannt. Wir verwenden die durchschnittliche lokale Farbe als Approximation der Beleuchtung. Die durchschnittliche lokale Farbe wird wie oben beschrieben berechnet. Es sei ai(x, y) die durchschnittliche lokale Farbe am Punkt (x, y) für den Farbkanal i. Der Gradient der durchschnittlichen lokalen Farbe berechnet sich dann wie folgt:

Die Berechnung der durchschnittlichen lokalen Farbe sollte in allen drei Farbkanälen gleichmäßig erfolgen. Daher müssen die Gradienten der einzelnen Farbkanäle in geigneter Weise zu einem einzigen Gradienten kombiniert werden. Es sei (dx, dy) der kombinierte Gradient. Bei der Kombination der Gradienten haben wir mehrere Möglichkeiten. Wir können z.B. den Mittelwert der Gradienten berechnen:

Alternativ können wir auch den Farbkanal wählen, in dem der Gradient maximal ist:

Eine weitere Möglichkeit ist die Gradienten der Farbkanäle entsprechend ihres Betrags gewichtet zu mitteln

Die Richtung &agr; des Gradienten (dx, dy) ist durch

gegeben (Gonzalez und Woods 1992).

Wir definieren nun ein lokales Koordinatensystem, das von der Richtung des Gradienten der Lichtquelle abhängt. Die Richtungen vorne/hinten weisen in Richtung des Gradienten. Die Richtungen links/rechts sind orthogonal zum Gradienten orientiert. Dies wird in 6 illustriert. Um die Daten innerhalb dieses Koordinatensystems zu mitteln, müssen wir die Werte, die wir von den benachbarten vier bzw. acht Prozessorelementen erhalten, in geeigneter Weise interpolieren. Zur Interpolation können wir entweder eine Vierer- oder eine Achter-Nachbarschaft verwenden. Beispiele für unterschiedliche Interpolationsmethoden sind in 7 dargestellt.

Die erste Interpolationsmethode (a) berechnet die Farbe des Bildpunktes c(P) am Punkt P, indem die Daten der Punkte der Positionen A und B interpoliert werden. Es sei c(A) und c(B) die Farbe der Bildpunkte an den Positionen A und B. Ferner sei &agr; die Richtung des Gradienten des aktuellen Prozessorelements. Dann wird die Farbe an der Position P wie folgt berechnet c(P) = (1 – s)c(A) + sc(B), wobei s = 2&agr;&pgr; definiert wird. Anstatt den Winkel anhand des Gradienten zu berechnen, was die Verwendung einer trigonometrischen Operation notwendig macht, können wir auch folgende Interpolationsmethode verwenden.

Diese Interpolationsmethode hat fast den gleichen Effekt. Die Differenz zwischen den beiden Varian

Die zweite Variante bietet sich besonders dann an, wenn die Verwendung trigonometrischer Operationen zu aufwendig ist.

Sind die Prozessorelemente auch entlang der Diagonalen verbunden, d.h., wir haben eine Achter-Nachbarschaft, so können wir die bilineare Interpolation verwenden (b). Es seien c(A), c(B), c(C), c(D) die Farben, die an den angrenzenden Elementen gespeichert sind. Dann wird die Farbe an der Position P wie folgt berechnet. c(P) = (1 – u)c(E) + uc(F)

Dabei ist c(E) = (1 – &ngr;)c(C) + &ngr;c(B) und c(F) = (1 – &ngr;)c(A) + c(D), u = cos(&agr;) und &ngr; = sin(&agr;). Hier wird also zunächst entlang der Vertikalen und dann entlang der Horizontalen interpoliert.

Es seien ă(vorne), ă(hinten), ă(links), und ă(rechts) die interpolierten Farben des gedrehten Koordinatensystems. Ferner sei c(x, y) die gemessene Farbe des aktuellen Prozessorelements. Wir können nun die orientierte durchschnittliche lokale Farbe ăi für den Farbkanal i berechnen, indem wir die Daten von links und von rechts in unserem lokalen Koordinatensystem entlang der Iso-Beleuchtungslinie mitteln.

Dabei ist p wieder eine kleine Zahl größer als Null. Die Daten entlang der beiden Richtungen vorne/hinten, können auch hinzugezogen werden. Wir führen hierzu einen zusätzlichen Parameter &ohgr; mit &ohgr; ∊ [0, 0.25] ein.

Falls &ohgr; gleich Null ist, werden nur die Daten entlang der Iso-Beleuchtungslinie gemittelt. Für kleine Werte von &ohgr; wird die Mittelung hauptsächlich entlang der Iso-Beleuchtungslinie durchgeführt. Zusätzlich fließt ein kleiner Anteil auch entlang der beiden Richtungen vorne/hinten in Richtung des aktuellen Prozessorelements.

Alternativ können wir auch das aktuelle Element in die Mittelung einbeziehen. Wir können eine der beiden vorgenannten Operationen zur Mittelung der Daten verwenden, um ă'i zu berechnen und dann den berechneten Wert des aktuellen Elements hinzufügen.

Nun fügen wir die gemessene Farbe des Eingangsbildes langsam zur orientierten durchschnittlichen lokalen Farbe hinzu. ăi(x, y) = ă''i(x, y)·(1 – p) ± ci(x, y)·p

Wenn wir diesen Vorgang oft genug iterieren, erhalten wir ein Bild, bei dem jeder Bildpunkt die orientierte durchschnittliche lokale Farbe entlang der Iso-Beleuchtungslinie zeigt.

Die bisher beschriebene Mittelung entlang der Iso-Beleuchtungslinie ist nur für Prozessorelemente durchführbar, die sich nicht am Rand des Gitters aus Prozessorelementen befinden. Für die Elemente am Rand des Bildes muß das erfindungsgemäße Verfahren leicht abgewandelt werden. Es reicht nicht aus, die Bildpunkte am Rand zu duplizieren. Dies würde das Ergebnis verfälschen. Nehmen wir an, daß sich das Licht diagonal über das Bild ändert. Wenn wir nun die Bildpunkte am Rand duplizieren, so würde ein S-förmiger Verlauf des Lichts entstehen. Dies kommt dadurch zustande, daß wir die durchschnittliche lokale Farbe für einen großen Bereich berechnen. Es werden kleine Werte für p verwendet. Somit beeinflussen die Punkte am Rand des Bildes, die von allen Prozessorelementen berechnete, durchschnittliche lokale Farbe. Daher ist es sinnvoll, keine Annahmen über Bildpunkte zu machen, die sich außerhalb des Bildes befinden. Daher mitteln wir die Daten für den Bereich des Bildes, der bekannt ist. Dies ist in 8 dargestellt. In dem gezeigten Beispiel werden nur die Werte des aktuellen Prozessorelements und der interpolierte Wert entlang der Iso-Beleuchtungslinie gemittelt.

Bisher haben wir nur Beleuchtungen berücksichtigt, die in einer beliebigen Richtung gerade über das Bild verlaufen. Die Iso-Beleuchtungslinie kann aber auch gekrümmt sein. In diesem Fall muß die Krümmung der Linie mitberücksichtigt werden, da sonst Daten interpoliert würden, die nicht auf der Iso-Beleuchtungslinie liegen. Dies ist in 9 dargestellt. Wir berechnen daher die Krümmung der Intensität der Lichtquelle für jedes Prozessorelement. Ist die Krümmung der Intensität der Lichtquelle bekannt, so können wir die Werte auch entlang einer gekrümmten Iso-Beleuchtungslinie mitteln. Die Krümmung K eines Punktes (x, y) auf einer Oberfläche F(x, y) ist wie folgt definiert (Bronstein und Semendjajew 1989):

dabei ist Fx = ∂F/∂x, Fy = ∂F/∂y, Fxy = ∂F/∂x∂ y, Fyx = ∂F/∂y ∂x, Fxx = ∂2F/∂x2 Fyy = ∂2F/∂y2. Wir berechnen die Krümmung der Iso-Beleuchtungslinie, indem wir Fx = dx, Fy = dy, Fxy = ∂/∂x dy, Fyx = ∂/∂y dx, Fxx = ∂/∂x dx und Fyy = ∂/∂y dy setzen, wobei (dx, dy) der kombinierte Gradient der durchschnittlichen lokalen Farbe ist. Mit Hilfe der Krümmung K können wir den Krümungsradius r der Kurve am Punkt (x, y) berechnen.

Der Radius r ist daher durch

gegeben. Das Vorzeichen der Krümmung K sagt uns, auf welcher Seite der Kurve das Zentrum der Krümmung liegt. Falls K > 0, so liegt das Zentrum auf der positiven Seite der Krümmungsnormalen. Das Zentrum liegt auf der negativen Seite der Krümmungsnormalen, falls K < 0. Für den Fall K = 0 wird die Kurve zu einer Linie.

Nachdem das Zentrum der Krümmung bekannt ist, können wir die Schnittpunkte zwischen dem Krümmungskreis und dem Einheitskreis um das aktuelle Element berechnen. Dies ist in 10 dargestellt. Zur Berechnung der Schnittpunkte nehmen wir an, daß das Zentrum der Krümmung am Punkt (0, r) liegt. Dies vereinfacht die Berechnung der Schnittpunkte. Wir berechnen nun die Schnittpunkte P1 und P2. Der Einheitskreis und der Kreis um das Krümmungszentrum sind durch die folgenden beiden Gleichungen beschrieben. x2 + y2 = 1 (x – r)2 + y2 = r2

Wir setzen die erste Gleichung in die zweite Gleichung ein und lösen dann nach x auf.

Die beiden y-Koordinaten erhalten wir dann aus x2 + y2 = 1.

Liegt das Zentrum der Krümmung nicht entlang der Y-Achse, so müssen die berechneten Schnittpunkte noch in geeigneter Weise gedreht werden. Wir können nun die Daten an den Schnittpunkten (x, y1/2) mit einem der oben beschriebenen Interpolationsverfahren extrahieren. Falls nur die Daten entlang der Iso-Beleuchtungslinie berücksichtigt werden, führen wir folgende Berechnungen durch. Es sei ăi(x, y) mit i ∊ {r, g, b} die bisher ermittelte orientierte durchschnittliche lokale Farbe am Punkt (x, y) des Gitters.

Die Daten entlang der beiden Richtungen vorne/hinten, können auch hinzugezogen werden

wobei &ohgr; ∊ [0, 0.25] den Datenfluß in Gradientenrichtung definiert. Wir können eine der beiden vorgenannten Operationen zur Mittelung der Daten verwenden, um ă'i zu berechnen und dann den berechneten Wert des aktuellen Elements hinzufügen.

Schließlich wird die Farbe des aktuellen Elements ci hinzugefügt. ăi(x,y) = ă''i(x,y)·(1 – p) + ci(x,y)·p

Dabei ist p wieder eine kleine Zahl größer als Null. Diese Schritte werden vorzugsweise in ausreichender Zahl, weiter bevorzugt quasi endlos (permanente Verarbeitung solange die entsprechende Vorrichtung im Betrieb ist) wiederholt. Mit dem erfindungsgemäßen Verfahren können wir also die Bildpunkte auch dann entlang der Iso-Beleuchtungslinie mitteln, wenn diese gekrümmt ist. Dies ist z.B. dann der Fall, wenn die Beleuchtung durch lokale Lichtquellen (Strahler) gegeben ist.

Nachdem wir nun die Beleuchtung durch Ermittelung der orientierten durchschnittlichen lokalen Farbe entlang der Iso-Beleuchtungslinie geschätzt haben, können wir diese zur Korrektur der gemessenen Farbe verwenden. Es sei ăi die orientierte durchschnittliche lokale Farbe entlang der Iso-Beleuchtungslinie für den Farbkanal i. Nach der Grauen-Welt-Hypothese kann mit Hilfe der durchschnittlichen lokalen Farbe die Beleuchtung geschätzt werden (Ebner 2001, 2002, 2004b). Hier verwenden wir die orientierte durchschnittliche lokale Farbe zur Approximation der Beleuchtung. Die Beleuchtung Li mit i ∊ {r, g, b} wird durch Li(x, y) = 2ăi(x, y) approximiert. Nachdem nun die Farbe der Lichtquelle für jeden Bildpunkt bekannt ist, kann die Reflektanz Ri für den Farbkanal i an dem Bildpunkt berechnet werden.

Daher berechnen wir den korrigierten Farbwert als

wobei &THgr; eine Schwellwertoperation ist, die als
definiert ist. D.h., Werte, die außerhalb des Farbwürfels liegen, werden auf den gültigen Bereich zurückgesetzt. Alternativ kann die Farbkorrektur auch durch eine Farbverschiebung in Richtung des Grauvektors erfolgen (Ebner 2003b, 2004a). In diesem Fall wird die Korrektur durch oi = &THgr;(ci – ăi + ă), durchgeführt, wobei
ist. Bei einer normierten Farbverschiebung wird die Korrektur er gemessenen Farbe durch
durchgeführt, wobei
ist. Die einzelnen Stufen des Verfahrens sind in 11 dargestellt.

Zitierter in die Offenbarung einbezogener Stand der Technik bzw. Literatur

  • Barnard, K., Finlayson, G., and Funt, B. (1997). Color constancy for scenes with varying illumination. Computer Vision and Image Understanding, 65(2):311-321.
  • Barnard, K., Martin, L., and Funt, B. (2000). Colour by correlation in a three dimensional colour space. In Vernon, D., editor, Proceedings of the 6th European Conference on Computer Vision, Dublin, Ireland, pages 375-389, Berlin. Springer-Verlag.
  • Brainard, D. H. and Wandell, B. A. (1992). Analysis of the retinex theory of color vision. In Healey, G. E., Shafer, S. A., and Wolff, L. B., editors, Color, pages 208-218, Boston. Jones and Bartlett Publishers.
  • Brill, M. and West, G. (1981). Contributions to the theory of invariance of color under the condition of varying illumination. Journal of Mathematical Biology, 11:337-350.
  • Bronštein, I. N. and Semendjajew, K. A. (1989). Taschenbuch der Mathematik. Verlag Harri Deutsch, Thun und Frankfurt/Main, vierundzwanzigste edition.
  • Buchsbaum, G. (1980). A spatial processor model for object colour perception. Journal of the Franklin Institute, 310(1):337-350.
  • Cardei, V. C. and Funt, B. (1999). Committee-based color constancy. In Proceedings of the IS&T/SID Seventh Color Imaging Conference: Color Science, Systems and Applications, Scottsdale, Arizona, pages 311-313.
  • Digital Arts GmbH (2003). Xe847.com.http://www.xe847.com.
  • Courtney, S. M., Finkel, L. H., and Buchsbaum, G. (1995). A multistage neural network for color constancy and color induction. IEEE Transactions on Neural Networks, 6(4):972-985.
  • Dufort, P. A. and Lumsden, C. J. (1991). Color categorization and color constancy in a neural network model of v4. Biological Cybernetics, 65:293-303.
  • D'Zmura, M. and Lennie, P. (1992). Mechanisms of color constancy. In Healey, G. E., Shafer, S. A., and Wolff, L. B., editors, Color, pages 224-234, Boston. Jones and Bartlett Publishers.
  • Ebner, M. (2001). Evolving color constancy for an artificial retina. In Miller, J., Tomassini, M., Lanzi, P. L., Ryan, C., Tettamanzi, A. G. B., and Langdon, W. B., editors, Genetic Programming: Proceedings of the Fourth European Conference, EuroGP 2001, Lake Como, Italy, April 18-20, pages 11-22, Berlin. Springer-Verlag.
  • Ebner, M. (2002). A parallel algorithm for color constancy. Technical Report 296, Universität Würzburg, Lehrstuhl für Informatik II, Am Hubland, 97074 Würzburg, Germany.
  • Ebner, M. (2003a). Combining white-patch retinex and the gray world assumption to achieve color constancy for multiple illuminants. In Michaelis, B. and Krell, G., editors, Pattern Recognition, Proceedings of the 25th DAGM Symposium, Magdeburg, Germany, pages 60-67, Berlin. Springer-Verlag.
  • Ebner, M. (2003b). Verfahren und Vorrichtung zur Farbkorrektur von Bildern. Deutsche Patentanmeldung, Anmeldenr. 14302756, 28 Seiten, 6. Oktober.
  • Ebner, M. (2004a). Color constancy using local color shifts. In European Conference on Computer Vision, 2004.
  • Ebner, M. (2004b). A parallel algorithm for color constancy. Journal of Parallel and Distributed Computing, 64(1):79-88.
  • Finlayson, G. D. (1996). Color in perspective. IEEE Transactions on Pattern Analysis and Machine Intelligence, 18(10):1034-1038.
  • Finlayson, G. D., Hubel, P. M., and Hordley, S. (1997). Color by correlation. In Proceedings of IS&T/SID. The Fifth Color Imaging Conference: Color Science, Systems, and Applications, Nov 17-20, The Radisson Resort, Scottsdale, AZ, pages 6-11.
  • Finlayson, G. D., Schiele, B., and Crowley, J. L. (1998). Comprehensive colour image normalization. In Burkhardt, H. and Neumann, B., editors, Fifth European Conference on Computer Vision (ECCV '98), Freiburg, Germany, pages 475-490, Berlin. Springer-Verlag.
  • Finlayson, G. D., Drew, M. S., and Lu, C. (2004). Intrinsic Images by Entropy Minimization. In Pajdla, T. and Matas, J., editors, Proceedings of the 8th European Conference on Computer Vision, Part III, Prague, Czech Republic, May, pages 582-595, Berlin. Springer-Verlag.
  • Forsyth, D. A. (1988). A novel approach to colour constancy. In Second international Conference on Computer Vision (Tampa, FL, Dec. 5-8), pages 9-18. IEEE Press.
  • Forsyth, D. A. (1992). A novel algorithm for color constancy. In Healey, G. E., Shafer, S. A., and Wolff, L. B., editors, Color, pages 241-271, Boston. Jones and Bartlett Publishers.
  • Funt, B., Cardei, V., and Barnard, K. (1996). Learning color constancy. In Proceedings of the IS&T/SID Fourth Color Imaging Conference, pages 58-60, Scottsdale.
  • Funt, B. V. and Drew, M. S. (1988). Color constancy computation in near-mondrian scenes using a finite dimensional linear model. In Jain, R. and Davis, L., editors, Proceedings of the Computer Society Conference on Computer Vision and Pattern Recognition, Ann Arbor, Mi, pages 544-549. Computer Society Press.
  • Funt, B. V., Drew, M. S., and Ho, J. (1991). Color constancy from mutual reflection. International Journal of Computer Vision, 6(1):5-24.
  • Gershon, R., Jepson, A. D., and Tsotsos, J. K. (1987). From [R,G,B] to surface reflectance: Computing color constant descriptors in images. In McDermott, J. P., editor, Proceedings of the Tenth International Joint Conference on Artificial Intelligence, Milan, Italy, volume 2, pages 755-758. Morgan Kaufmann.
  • Gonzalez, R. C. and Woods, R. E. (1992). Digital Image Processing. Addison-Wesley Publishing Company, Reading, Massachusetts.
  • Herault, J. (1996). A model of colour processing in the retina of vertebrates: From photoreceptors to colour opposition and colour constancy phenomena. Neurocomputing, 12:113-129.
  • Ho, J., Funt, B. V., and Drew, M. S. (1992). Separating a color signal into illumination and surface reflectance components: Theory and applications. In Healey, G. E., Shafer, S. A., and Wolff, L. B., editors, Color, pages 272-283, Boston. Jones and Bartlett Publishers.
  • Horn, B. K. P. (1974). Determining lightness from an image. Computer Graphics and Image Processing, 3:277-299.
  • Horn, B. K. P. (1986). Robot Vision. The MIT Press, Cambridge, Massachusetts.
  • Land, E. H. (1974). The retinex theory of colour vision. Proc. Royal Inst. Great Britain, 47:23-58.
  • Land, E. H. (1983). Recent advances in retinex theory and some implications for cortical computations: color visioonsn and the natural image. Proc. Natl. Acad. Sci. USA, 80:5163-5169.
  • Land, E. H. (1986a). An alternative technique for the computation of the designator in the retinex theory of color vision. Proc. Natl. Acad. Sci. USA, 83:3078-3080.
  • Land, E. H. (1986b). Recent advances in retinex theory. Vision Res., 26(1):7-21.
  • Land, E. H. and McCann, J. J. (1974). Lightness and retinex theory. Journal of the Optical Society of America, 61(1):1-11.
  • Maloney, L. T. and Wandell, B. A. (1986). Color constancy: a method for recovering surface spectral reflectance. Journal of the Optical Society of America A3, 3(1):29-33.
  • Moore, A., Allman, J., and Goodman, R. M. (1991). A real-time neural system for color constancy. IEEE Transactions on Neural Networks, 2(2):237-247.
  • pervised color constancy for machine visioNovak, C. L. and Shafer, S. A. (1992). Sun. In Healey, G. E., Shafer, S. A., and Wolff, L. B., editors, Color, pages 284-299, Boston. Jones and Bartlett Publishers.
  • Paulus, D., Csink, L. and Niemann, H. (1998). Color Cluster Rotation. In Proceedings of the International Conference on Image Processing (ICIP), pages 161-165, 1998.
  • Rahman, Z., Jobson, D. J., and Woodell, G. A. (1999). Method of improving a digital image. United States Patent No. 5,991,456.
  • Risson, V. J. (2003). Determination of an illuminant of digital color image by segmentation and filtering. United States Patent Application, Pub. No. US 2003/0095704 A1.
  • Tappen, M. F., Freeman, W. T., and Adelson, E. H. (2002). Recovering Intrinsic Images from a Single Image. Massachusetts Institute of Technology, Artificial Intelligence Laboratory, AI Memo 2002-015, Sept.
  • Usui, S. and Nakauchi, S. (1997). A neurocomputational model for colour constancy. In Dickinson, C., Murray, I., and Carden, D., editors, John Dalton's Colour Vision Legacy. Selected Proceedings of the International Conference, pages 475-482, London. Taylor & Francis.
  • Weickert, J. (1997). A Review of Nonlinear Diffusion Filtering. In ter Haar Romeny, B., Florack L., Koenderink, J., Viergever, M., editors, Scale-Space Theory in Computer Vision, pages 3-28, Berlin. Springer-Verlag.
  • Weickert, J., ter Haar Romeny, B., Viergever, M. A. (1998). Efficient and Reliable Schemes for Nonlinear Diffusion Filtering. In IEEE Transactions on Image Processing, 7(3):398-410.


Anspruch[de]
Verfahren zum Korrigieren der ursprünglichen Farbe eines digitalen, digitalisierten oder elektronischen ursprünglichen Bildes, das mehrere Bildpunkte aufweist, mindestens ein Objekt abbildet und eine lineare oder nicht-lineare Beleuchtung aufweist, um ein erzeugtes Bild mit zumindest einer realistischeren oder gar naturgetreuen Farbe des Objekts zu erhalten, mit den folgenden Schritten:

(a) Ermitteln der ursprünglichen Farbe von jeweils mehreren zu untersuchenden Bildpunkten des ursprünglichen Bildes,

(b) isotropes Mitteln der durchschnittlichen lokalen Farbe von benachbarten Bildpunkten für jeden untersuchten Bildpunkt,

(c) Hinzufügen der ermittelten ursprünglichen Farbe zu der durchschnittlichen lokalen Farbe benachbarter Bildpunkte, um die durchschnittliche lokale Farbe der Bildpunkte innerhalb eines Bereiches für diese Bildpunkte zu erhalten,

(d) Schätzung der Beleuchtungsänderung durch Bestimmung des Gradienten bzw. der Richtung der Änderung der durchschnittlichen lokalen Farbe des Bildpunktes,

(e) Anisotropes Mitteln der orientierten durchschnittlichen lokalen Farbe von benachbarten Bildpunkten in einer Richtung orthogonal zur geschätzten Beleuchtungsänderung für jeden untersuchten Bildpunkt,

(f) Hinzufügen der ermittelten ursprünglichen Farbe jedes Bildpunktes zu der anisotrop gemittelten orientierten durchschnittlichen lokalen Farbe, um die orientierte durchschnittliche lokale Farbe dieses Bildpunktes zu erhalten,

(g) Korrigieren der Farbe eines untersuchten Bildpunktes anhand der ursprünglichen Farbe des Bildpunktes und der erhaltenen orientierten durchschnittlichen lokalen Farbe des Bildpunktes.
Verfahren nach Anspruch 1, wobei insbesondere vor dem Schritt 1(a) ein Gitter aus Prozessorelementen bereitgestellt wird. Verfahren nach Anspruch 2, wobei für jeden Bildpunkt ein Prozessorelement bereitgestellt wird. Verfahren nach Anspruch 2 oder 3, wobei jedes Prozessorelement derart ausgebildet ist, daß es auf die gemessene Farbe des zugehörigen Bildpunktes zugreifen kann und zusätzlich zwei weitere Farben, die durchschnittliche lokale Farbe und die orientierte durchschnittliche lokale Farbe speichern kann. Verfahren nach einem der vorhergehenden Ansprüche, wobei jedes Prozessorelement derart ausgebildet ist, daß es auf den Speicherinhalt der benachbarten Prozessorelemente oben, unten, rechts, links und/oder schräg oben links, schräg oben rechts, schräg unten links, schräg unten rechts zugreifen kann. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Schritte 1(b) und 1(c) mit folgenden Berechnungen wiederholt werden:
wobei folgendes gilt: die Nachbarschaftsbeziehung ist durch N(x, y) = {(x', y')|(x', y') ist Nachbarelement von Element (x, y)} gegeben, ai(x, y) mit i ∊ {r, g, b} ist der bisher berechnete durchschnittliche lokale Farbwert für den Farbkanal i an der Position (x, y), ci(x, y) ist die Intensität des Farbkanals i an der Position (x, y) im Bild, c(x, y) [cr(x, y), cg(x, y), cb(x, y)] ist der gemessene Farbwert an der Position (x, y) und p ist ein kleiner Wert größer Null.
Verfahren nach einem der vorhergehenden Ansprüche, wobei die Schritte 1(b) und 1(c) mit folgenden Berechnungen wiederholt werden:.
wobei die durchschnittliche lokale Farbe des Elements bei der Mittelung miteinbezogen wird.
Verfahren nach Anspruch 6 oder 7, wobei die Schritte 1(b) und 1(c) quasi endlos durchgeführt werden. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren mit Hilfe eines Gitters aus Widerständen durchgeführt wird bzw. gefaltet wird, insbesondere mit der Funktion ke–|r|&sgr; mit
d.h.
mit der Randbedingung
Verfahren nach einem der Ansprüche 1 bis 8, wobei das Verfahren mit Hilfe einer Faltung des Bildes, insbesondere mit folgender Gauß-Funktion mit
durchgeführt wird:
Verfahren nach einem der Ansprüche 1 bis 10, wobei im Schritt 1(d) die Richtung der Beleuchtungsänderung &agr; durch
berechnet wird, wobei dx und dy aus dem Mittelwert der Gradienten der durchschnittlichen lokalen Farbe ∇ai berechnet wird:
Verfahren nach einem der Ansprüche 1 bis 10, wobei im Schritt 1(d) die Richtung der Beleuchtungsänderung &agr; durch
berechnet wird, wobei dx und dy durch den maximalen Gradienten des Farkbkanals der durchschnittlichen lokalen Farbe gegeben ist
Verfahren nach einem der Ansprüche 1 bis 10, wobei im Schritt 1(d) die Richtung der Beleuchtungsunderung &agr; durch
berechnet wird und dx und dy durch die gewichtete Summation der Gradienten der Farbkanäle der durchschnittlichen lokalen Farbe gegeben ist
Verfahren nach einem der Ansprüche 11 bis 13, wobei die Schritte 1(e) und 1(f) mit folgenden Berechnungen wiederholt werden:
wobei ă(links), und ă(rechts) interpolierte Farben des in Richtung des Gradienten gedrehten Koordinatensystems sind und p ein kleiner Wert größer Null ist.
Verfahren nach einem der Ansprüche 11 bis 13, wobei die Schritte 1(e) und 1(f) mit folgenden Berechnungen wiederholt werden:
wobei ă(vorne), ă(hinten), ă(links), und ă(rechts) interpolierte Farben des in Richtung des Gradienten gedrehten Koordinatensystems sind und &ohgr; ∊ [0, 0.25] ist.
Verfahren nach einem der Ansprüche 14 oder 15, wobei für die orientierte durchschnittliche lokale Farbe anstatt von ăi(links) der Wert ăi(P1) und anstatt von ăi(rechts) der Wert ăi(P2) verwendet wird wobei die Punkte P1 und P2 sich aus den Schnittpunkten des Einheitskreises und des Krümmungskreises des aktuellen Prozessorelementes ergeben, wobei die Krümmung K durch
geben ist, und Fx = dx, Fy = dy, Fxy = ∂/∂x ∂y, Fyx = ∂/∂y ∂x, Fxx = ∂/∂x Fyy = ∂/∂y dy, und (dx, dy) der kombinierte Gradient der durchschnittlichen lokalen Farbe ist und der Krümmungskreis den Radius r
hat.
Verfahren nach einem der Ansprüche 14, 15 oder 16, wobei der Schritt 2.) von Anspruch 14 bzw. 15 durch
ersetzt wird.
Verfahren nach einem der Ansprüche 14 bis 17, wobei die interpolierte orientierte durchschnittliche lokale Farbe an dem Punkt P mit P ∊ {links, rechts, vorne, hinten, P1, P2} durch ă(P) = (1 – s)ă(A) + să(B), berechnet wird, wobei A bzw. B die jeweiligen benachbarten Prozessorelemente des aktuellen Prozessorelements um P sind, s = 2&agr;&pgr; ist und &agr; die Richtung der Beleuchtungsänderung ist. Verfahren nach einem der Ansprüche 14 bis 17, wobei die interpolierte orientierte durchschnittliche lokale Farbe an dem Punkt P mit P ∊ {links, rechts, vorne, hinten, P1, P2} durch
berechnet wird, wobei A bzw. B die jeweiligen benachbarten Prozessorelemente des aktuellen Prozessorelements um P sind, dx und dy die Richtung der Beleuchtungsänderung angibt.
Verfahren nach einem der Ansprüche 14 bis 17, wobei eine Verbindung zu den diagonal benachbarten Prozessorelementen besteht und die interpolierte orientierte durchschnittliche lokale Farbe an dem Punkt P mit P ∊ {links, rechts, vorne, hinten, P1, P2} durch ă(P) = (1 – u)ă(E) + uă(F) berechnet wird, dabei ist ă(E) = (1 – &ngr;)ă(C) + &ngr;ă(B) und ă(F) = (1 – &ngr;)ă(A) + &ngr;ă(D), u = cos(&agr;) und &ngr; = sin(&agr;), wobei A, bzw. B die jeweiligen benachbarten Prozessorelemente des aktuellen Prozessorelements um P sind, C das aktuelle Prozessorelement ist, D das diagonal gegenüberliegende Prozessorelement von C in Richtung von A und B ist und &agr; die Richtung der Beleuchtungsänderung ist. Verfahren nach einem der Ansprüche 14 bis 20, wobei die Schritte 1(e) und 1(f) quasi endlos durchgeführt werden. Verfahren nach einem der Ansprüche 1 bis 21, wobei in Schritt 1(g) das Korrigieren der gemessenen Farbe eines Bildpunktes anhand der ursprünglichen Farbe des Bildpunktes und der erhaltenen orientierten durchschnittlichen lokalen Farbe des Bildpunktes durch Subtraktion der im wesentlichen senkrecht auf dem Grauvektor stehende Komponente der orientierten durchschnittlichen lokalen Farbe eines Bildpunktes von der ursprünglichen Farbe des Bildpunktes erreicht wird wobei
ist und der korrigierte Farbwert o = [or, og, ob] durch
gegeben ist.
Verfahren nach einem der Ansprüche 1 bis 21, wobei in Schritt 1(g) das Korrigieren der gemessenen Farbe eines Bildpunktes im wesentlichen durch die folgenden Schritte erfolgt:

(a) Skalieren der ursprünglichen Farbe eines Bildpunktes und der orientierten durchschnittlichen lokalen Farbe eines Bildpunktes auf die Ebene r + g + b = 1 des RGB-Farbraumes,

(b) Subtrahieren der Komponente der orientierten durchschnittlichen lokalen Farbe eines Bildpunktes, die senkrecht auf dem Grauvektor steht, von der ursprünglichen Farbe des Bildpunktes zum Erhalten der korrigierten Farbe des Bildpunktes und

(c) Skalieren der korrigierten Farbe eines Bildpunktes auf die Länge der ursprünglichen Farbe des Bildpunktes, der korrigierte Farbwert o = [or, og, ob] ist dann durch
gegeben, wobei
ist.
Verfahren nach einem der Ansprüche 1 bis 21, wobei in Schritt 1(g) das Korrigieren der gemessenen Farbe eines Bildpunktes anhand der ursprünglichen Farbe des Bildpunktes und der erhaltenen orientierten durchschnittlichen lokalen Farbe des Bildpunktes durch Division mit der orientierten durchschnittlichen lokalen Farbe erfolgt, wobei der korrigierte Farbwert o = [or, og, ob] dann durch
gegeben ist, wobei der Faktor f bevorzugt auf 2 gesetzt wird.
Verfahren nach einem der Ansprüche 22 bis 24, wobei der korrigierte Farbwert auf den Bereich [0,1] begrenzt wird. Verfahren nach einem der Ansprache 1 bis 25, wobei das Verfahren für mehrere Bildpunkte, vorzugsweise alle Bildpunkte, eines ursprünglichen Bildes durchgeführt wird. Verfahren nach einem der vorhergehenden Ansprache, wobei das Verfahren mittels Transistoren in VLSI durchgeführt wird. Vorrichtung zum Korrigieren der ursprünglichen Farbe eines digitalen, digitalisierten oder elektronischen ursprünglichen Bildes, das mehrere Bildpunkte aufweist und mindestens ein Objekt abbildet, und eine lineare oder nichtlineare Beleuchtung aufweist, um ein erzeugtes Bild mit zumindest einer realistischeren Farbe des Objekts zu erhalten, insbesondere zum Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche, mit:

(a) Einer Einrichtung zum Ermitteln der ursprünglichen Farbe von jeweils mehreren zu untersuchenden Bildpunkten des ursprünglichen Bildes,

(b) einer Einrichtung zum isotropen Mitteln der durchschnittlichen lokalen Farbe von benachbarten Bildpunkten für jeden untersuchten Bildpunkt,

(c) einer Einrichtung zum Hinzufügen der ermittelten ursprünglichen Farbe zu der durchschnittlichen lokalen Farbe benachbarter Bildpunkte, um die durchschnittliche lokale Farbe der Bildpunkte innerhalb eines Bereiches für diese Bildpunkte zu erhalten,

(d) einer Einrichtung zur Schätzung der Beleuchtungsänderung durch Bestimmung des Gradienten bzw. der Richtung der Änderung der durchschnittlichen lokalen Farbe des Bildpunktes,

(e) einer Einrichtung zum anisotropen Mitteln der orientierten durchschnittlichen lokalen Farbe von benachbarten Bildpunkten in einer Richtung orthogonal zur geschätzten Beleuchtungsänderung für jeden untersuchten Bildpunkt,

(f) einer Einrichtung zum Hinzufügen der ermittelten ursprünglichen Farbe jedes Bildpunktes zu der anisotrop gemittelten orientierten durchschnittlichen lokalen Farbe, um die orientierte durchschnittliche lokale Farbe dieses Bildpunktes zu erhalten, (g) einer Einrichtung zum Korrigieren der Farbe eines untersuchten Bildpunktes anhand der ursprünglichen Farbe des Bildpunktes und der erhaltenen orientierten durchschnittlichen lokalen Farbe des Bildpunktes.
Computerprogramm mit einer Programmcode-Einrichtung, das ein Verfahren nach einem der Ansprüche 1 bis 27 durchführt, wenn das Computerprogramm auf einem Computer ausgeführt wird. Computerprogrammprodukt mit einer Programmcode-Einrichtung, die auf einem computerlesbaren Datenträger gespeichert ist, das ein Verfahren nach einem der Ansprüche 1 bis 27 durchführt, wenn das Programmprodukt auf einem Computer ausgeführt wird. Verwendung eines Verfahrens nach einem der Ansprache 1 bis 27, einer Vorrichtung nach Ansprach 28, eines Computerprogramms nach Anspruch 29 und/oder eines Computerprogrammprodukts nach Anspruch 30 zum Korrigieren der ursprünglichen Farbe eines digitalen, digitalisierten bzw. elektronischen ursprünglichen Bildes, das mehrere Bildpunkte aufweist und mindestens ein Objekt abbildet und eine lineare oder nichtlineare Beleuchtung aufweist, um ein erzeugtes Bild zumindest mit einer realistischeren Farbe des Objekts zu erhalten. CMOS-Einrichtung, CCD-Einrichtung, Digitalkamera, Flachbildschirm, Flachbildfernsehgerät und/oder TFT-Display zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 27, mit einer Vorrichtung nach Anspruch 28, mit einem Computerprogramm nach Anspruch 29 und/oder mit einem Computerprogrammprodukt nach Anspruch 30. Digitalkamera, Flachbildschirm und/oder Flachbildfernsehgerät zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 27, mit einer Vorrichtung nach Anspruch 28, mit einem Computerprogramm nach Anspruch 29 und/oder mit einem Computerprogrammprodukt nach Anspruch 30, wobei ein aufgenommenes bzw. dargestelltes Bild vor dem Speichern bzw. vor der Darstellung korrigiert wird.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com