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.