Automatic detection and correction of (partially occluded) red-eyes



Ähnliche Dokumente
Histogramm Mit dem Histogramm zu besseren Bildern?!

Primzahlen und RSA-Verschlüsselung

1 Mathematische Grundlagen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Advanced Rendering Interior Szene

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Grundlagen der Theoretischen Informatik, SoSe 2008

Belichtung mit Tonwertkorrektur verbessern

Zwischenablage (Bilder, Texte,...)

Hohe Kontraste zwischen Himmel und Landschaft abmildern

Einführung in. Logische Schaltungen

PCD Europe, Krefeld, Jan Auswertung von Haemoccult

Zeichen bei Zahlen entschlüsseln

Wie Sie mit Mastern arbeiten

Diese Prozesse und noch viele andere Tricks werden in der Digitalfotografie mit Hilfe von Bildbearbeitungsprogrammen, wie z. B. Gimp, bewältigt.

Plotten von Linien ( nach Jack Bresenham, 1962 )

Praktikum Physik. Protokoll zum Versuch: Geometrische Optik. Durchgeführt am

6.2 Scan-Konvertierung (Scan Conversion)

Woraus besteht ein Bild? (c) Winfried Heinkele

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Wir arbeiten mit Zufallszahlen

Gutes Leben was ist das?

Bewertung des Blattes

Enigmail Konfiguration

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

7 Rechnen mit Polynomen

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE

Kulturelle Evolution 12

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

NÜTZLICHE TIPPS FÜR OPTIMALE SCANS

Freistellen von Haaren (Für Photoshop CS..)

HDR für Einsteiger Wann brauche ist das? Anregungen aus Fotobuch und ersten eigenen Erfahrungen von Christian Sischka

SUDOKU - Strategien zur Lösung

Simulation LIF5000. Abbildung 1

Professionelle Seminare im Bereich MS-Office

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Erstellen von x-y-diagrammen in OpenOffice.calc

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Konzepte der Informatik

Lichtbrechung an Linsen

Patienteninformation. AcrySof IQ Toric. GraueN star UND Hornhautverkrümmung

Erfahrungen mit Hartz IV- Empfängern

Bildbearbeitungstechniken Lehrerinformation

10.1 Auflösung, Drucken und Scannen

Formelsammlung zur Kreisgleichung

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Der Einsatz von HDRIs in LightWave 7

Wenn Sie am Grauen Star leiden, haben wir die Linse für Sie mit der Sie wieder ohne Brille in die Ferne UND Nähe sehen können!

Rasterpunkte und Rasterdichte (Knoten/km)

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

QM: Prüfen -1- KN

Papierverbrauch im Jahr 2000

Info zum Zusammenhang von Auflösung und Genauigkeit

Übung Bilder verschmelzen

PhotoFiltre: Fotokorrektur schnell und einfach

8. Berechnung der kalkulatorischen Zinsen

Projektmanagement in der Spieleentwicklung

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

1 topologisches Sortieren

Berechnung der Erhöhung der Durchschnittsprämien

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/ L Lentzweiler. G.D.

Professionelle Diagramme mit Excel 2010 erstellen. Peter Wies. 1. Ausgabe, 2. Aktualisierung, März Themen-Special W-EX2010DI

Beweisbar sichere Verschlüsselung

Lineare Gleichungssysteme

4 Aufzählungen und Listen erstellen

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Psychologie im Arbeitsschutz

Photopaint - Linsen. (Speichere deine Arbeit von Anfang an regelmäßig unter dem Namen Linsen.cpt )

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

Anleitung über den Umgang mit Schildern

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Vorbereitungsaufgaben

Hilfedatei der Oden$-Börse Stand Juni 2014

Zahlen auf einen Blick

EINFACHES HAUSHALT- KASSABUCH

3 D Simulation zur Visualisierung eines rotierenden Flare Sterns

Festigkeit von FDM-3D-Druckteilen

2.1 Präsentieren wozu eigentlich?

Anwendungshinweise zur Anwendung der Soziometrie

Informationsblatt Induktionsbeweis

Software- und Druckerzuweisung Selbstlernmaterialien

2.8 Grenzflächeneffekte

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

NKR in Schleswig-Holstein Was hat sich geändert und was kommt noch?

Transkript:

- broele@uni-muenster.de flowdie@uni-muenster.de - monientiedt@uni-muenster.de 25. Januar 2005 1

Inhaltsverzeichnis 1 Einleitung 4 2 Rote Augen 4 3 Farbmodelle 5 3.1 RGB/ rgb............................... 6 3.2 HSV.................................. 8 3.3 HSI/ HLS............................... 9 4 Korrekturverfahren 10 4.1 Hauterkennung............................ 10 4.2 Augenerkennung........................... 12 4.3 Augenkorrektur............................ 13 4.3.1 Verfahren im RGB-Farbraum................ 14 4.3.2 Verfahren im HSV-Farbraum................. 14 5 MFK-Verfahren 14 5.1 Einleitung - MFK........................... 14 5.2 Hauterkennung............................ 14 5.3 Grauwerttransformation........................ 15 5.4 Kreiserkennung............................ 16 5.5 Augenerkennung/ -korrektur..................... 18 6 Probleme - weitere Ideen 19 7 Fazit 20 2

Abbildungsverzeichnis 1 Roter Augeneffekt........................... 5 2 RGB- und CMYK-Modell...................... 6 3 RGB Modell.............................. 7 4 HSV-Modell.............................. 8 5 Das Auge............................... 13 6 Rote Augen.............................. 13 7 Hauterkennung in RGB, HSV und beide kombiniert......... 15 8 Kreisdetektion: RGB, T-Kanal, I-Kanal, R-Kanal, S-Kanal..... 16 3

1 Einleitung Die Erkennung und Entfernung roter Augen ist in der Bildverarbeitung ein seit einigen Jahren bekanntes Problem. Das perfekte Tool gibt es noch nicht. Dafür aber eine Reihe von manchmal mehr oder weniger viel versprechenden Ansätzen. Es gibt diverse Veröffentlichungen zu diesem Thema. Auf einige werden wir uns in dieser Arbeit abstützen. Kommerzielle Bildbearbeitungsprogramme werben mit ihrer Funktion zur Behebung der roten Augen. Oft bringen sie nicht das gewünschte Ergebnis, oder es handelt sich um manuelle oder halbautomatische Funktionen. Die zugrunde liegenden Algorithmen sind oft nicht frei verfügbar. Auf diesen Sachverhalt gründet die Motivation dieser Ausarbeitung. Im Rahmen des Seminares Ausgewählte Themen zu Bildverstehen und Mustererkennung sollte nun die Erkennung und Behebung des Rote-Augen-Effekts weiter untersucht und eigene Ansätze entwickelt werden. Als Hilfe stand uns das am Fachbereich Mathematik und Informatik der WWU Münster entwickelte frei verfügbare Programm EikonMagikos zur Verfügung. EikonMagikos stellt eine Platform dar, die es erlaubt ohne grösseren Aufwand eigene Bildbearbeitungsoperatoren zu entwickeln und zu testen. Als Programmiersprache wurde Java gewählt. 2 Rote Augen Der Rote Augen Effekt ist ein in der Photographie sehr bekanntes Phänomen, dass seit der Einführung des Blitzlichtes auftritt. Durch ihn werden die schönsten Photos zum Teil unbrauchbar, denn die Pupillen der fotographierten Person (oder auch Tieres) erscheinen Rot. Dies wird durch die Reflexion des Blitzes durch die stark durchblutete Netzhaut des Auges hervorgerufen. Besonders häufig tritt der Effekt auf, wenn sich der Blitz nahe an der Linse der Kamera befindet, wie zum Beispiel bei Kompaktkameras mit eingebautem Blitz. Der Rote-Augen-Effekt ist somit besonders in der Amateurfotographie sehr verbreitet. Auffällig ist auch, dass der Effekt häufiger bei Kindern oder Babys mit blau- 4

en Augen auftritt. Sie reflektieren mehr Licht als dunkle und Kinder haben grössere Pupillen als Erwachsene. Die Wahrscheinlichkeit erhöht sich ebenfalls wenn das Photo bei Dunkelheit geschossen wird, da sich die Pupille dann weiter öffnet, um mehr Licht auf die Netzhaut fallen zu lassen. Allgemein gilt jedoch: Je näher sich der Blitz am Objektiv befindet, desto höher ist die Wahrscheinlichkeit, dass der Effekt eintritt. Dies liegt daran, dass Objektivund Blitzachse sehr nahe beieinander liegen. Überschneiden sich die beiden Achsen, kommt es zu dem Roten-Augen-Effekt. Abbildung 1: Roter Augeneffekt Der Rote-Augen-Effekt kann also von vielen verschiedenen Faktoren ausgelöst werden. Dies macht es besonders schwer ihn zu vermeiden. Gerade bei Schnappschüssen ist die Wahrscheinlichkeit sehr gross, dass es zu diesem Effekt kommt. Nicht immer hat man die Möglichkeit, den richtigen Abstand zum Fotomodell zu wählen, und für optimale Lichtverhältnisse zu sorgen. Auf die Ursache oder Vermeidung des Roten-Augen-Effektes soll hier aber nicht weiter eingegangen werden. 3 Farbmodelle Farbmodelle spielen bei der Erkennung und Korrektur roter Augen eine grosse Rolle. Hier werden das RGB- sowie das HSV/HSI- Farbmodell für die Haut- und Augenerkennung, sowie für die Augenkorrektur in Anspruch genommen. Zum besseren 5

Verständis sollen die Modelle im Folgenden kurz erläutert werden. 3.1 RGB/ rgb Das RGB-Farbmodell besteht aus den drei Grundfarben Rot, Grün und Blau (RGB). Durch additive Farbmischung werden alle weiteren Farben des RGB Farbraumes erzeugt. Mischt man rot und grün in gleichem Verhältnis, so erhält man gelb; rot und blau ergibt magenta; blau und grün ergibt cyan. Mischt man alle drei Grundfarben, so erhält man weiß; schaltet man alle drei Grundfarben ab, so bleibt schwarz. Das Gegenteil zum RGB Modell ist das CMYK (Cyan, Magenta, Yellow). Hier erhält man die Farben durch subtraktive Mischung(siehe Abb.). Abbildung 2: RGB- und CMYK-Modell So lassen sich durch unterschiedliche Mischungsverhältnisse eine grosse Anzahl von Farbtönen darstellen. Das RGB-Farbmodell lehnt sich an das menschliche Auge an, wo unterschiedliche Rezeptoren auf der Netzhaut auf diese drei Grundfarben reagieren. Es ist heute das weit verbreiteteste Farbmodell, da es für die Bildschirmdarstellung genutzt wird. Ein Computer-Monitor mit einer 24 Bit Farbtiefe hat zum Beispiel für jeden Farbkanal 8 Bit zur Verfügung. Das bedeutet, dass der Rote, Grüne und Blaue Kanal für sich jeweils 256 Farbtöne darstellen können. Insgesamt wären das demnach 256 3, also ca. 16 Millionen Farben (True Color). 6

Die Farbe wird innerhalb eines Würfels durch Angabe von Koordinaten, die für die jeweiligen Farbanteile stehen bestimmt. Eine Farbe wird somit durch ein Tripel beschrieben, dessen Komponenten die natürlichen Zahlen von 0 bis 255 oder rationale Zahlen des Intervalls [0,1] sind. Schwarz wäre (0,0,0), Weiss (1,1,1) oder (255,255,255). Die drei Primärfarben und die drei Sekundärfarben, sowie Schwarz und Weiß liegen an den Ecken (rot - grün - blau - cyan - magenta - gelb - schwarz - weiß). Abbildung 3: RGB Modell Oft wird auch der normierte RGB Farbraum benutzt. Da sich hier die Farbanteile besser beschreiben lassen. Sie werden durch Prozente angegeben. Das heisst sie nehmen Werte zwischen 0 und 100 an. Das normierte RGB wird auch oft durch die Kleinbuschstaben rgb angegeben. Im rgb-farbraum benötigt man folglich nur zwei Komponenten, da sich die dritte immer aus den anderen zweien errechnen lässt: b = 100 (r + g). Der normierte RGB Farbraum errechnet sich wie folgt: 7

r : R + G + B R g : R + G + B G b : R + G + B B 100 100 100 3.2 HSV Das HSV-System verwendet Farbe (Hue), Sättigung (Saturation) und Wert (Value) zur Spezifikation von Farben (auch als HSB bekannt, wobei B für Brightness steht). Saturation (Farbsättigung) bezieht sich auf die Reinheit oder Intensität einer Farbe, Value (Farbhelligkeit bzw. Farbwert) auf den prozentualen Anteil von Weiß in einer Farbe. Das HSV-Modell ist ein wahrnehmungsorientiertes dreidimensionales Farbmodell, indem sich die Farbwerte intuitiv verändern lassen. Im Gegensatz zum RGB-Modell, welches auf einem Würfel beruht, dient hier ein kegelförmiger Körper Modell. Abbildung 4: HSV-Modell Der Körper kann zunächst als regelmäßiges Sechseck mit den Eckpunkten Rot, Gelb, Grün, Cyan, Blau und Magenta beschrieben werden. Jeder Farbton (außer Schwarz, Weiß und reinen Grautönen) wird nun durch einen Winkel im Intervall 8

(0;360 ) dargestellt. Dieses Farbsechseck bildet die Basis einer Pyramide, deren Spitze der Helligkeitswert 0 (schwarz) entspricht. Die Achse dieser Pyramide bildet also die Helligkeits-Achse; der Abstand eines Punktes (also einer Farbe) von dieser Achse bestimmt deren Sättigung S. Der Farbton H wird ausschliesslich durch den Winkel im Farbkreis beschrieben. Das RGB und HSV Farbmodell sind ineinander überführbar. Die Umrechnung aus dem RGB Farbraum in den HSV Raum kann folgendermassen erfolgen: V = max(r, G, B) S = 1 min(rgb) max(r, G, B) Je nach Maximum ergeben sich folgende Werte für H: R = max : H = 60 G B R min G = max : H = 60(2 + B = max : H = 60(4 + B R G min ) R G B min ) H < 0 : H = H + 360 3.3 HSI/ HLS Das HSI und HLS Farbmodell sind weitere Varianten des HSV Farbmodells. HSI (manchmal auch HIS) steht entsprechend für Hue, Saturation und Intensity. HLS für Hue, Luminance und Saturation. Die drei Farbmodelle unterscheiden sich nur sehr geringfügig. 9

4 Korrekturverfahren Die Einführung digitaler Fototechnik bringt neue Möglichkeiten das Problem der roten Augen zu beheben, indem Techniken der Bildverarbeitung angewandt werden können. Auch das häufige Auftreten des Effektes hat bewirkt, dass eine Reihe von Korrekturverfahren entwickelt wurden. Diese erziehlen sehr unterschiedliche Ergebnisse. Manuelle Verfahren zur Korrektur hängen oft vom Geschick des Anwenders ab. Automatische Korrekturverfahren hingegen bringen oft nicht das gewünschte Ergebnis. Doch woran liegt es? Um den roten Augen Effekt erfolgreich erkennen und korrigieren zu können, ist zunächst genaue Kenntnis des Erscheinungsbildes und des erwünschten Endergebnisses notwendig. Das Auge muss genau lokalisiert werden können und nach der Korrektur wieder möglichst natürlich aussehen. B.Smolka et al. haben in einen Algorithmus zur Korrektur roter Augen vorgestellt, der als eine Art Blueprint oder Schema gesehen werden kann. Auch wir haben dieses Vorgehen als Vorlage benutzt. Im Folgenden sollen nun die Vorgehensweise und die dabei auftretenden Probleme genauer beschrieben werden. 4.1 Hauterkennung Erkennung der Haut auf Bildern mit komplexem Hintergrund ist noch immer ein schwieriges Problem in der Mustererkennung. Sie ist jedoch ein wichtiger Vorverarbeitungsschritt bei der Bearbeitung roter Augen. Dadurch werden die Bereiche des Bildes eingeschränkt in denen sich die roten Augen befinden können. Genauso wichtig ist es aber auch Bereiche herauszufiltern in denen sich keine Augen befinden können, um nicht versehentlich andere rote Objekte als Auge zu bestimmen (z.b. rote Punkte auf Kleidung). Das bestimmende Merkmal für die Hauterkennung ist die Farbe. Sie ist normalerweise invariant gegenüber Maßstabsänderungen oder Translationen. Die Farbtöne der Haut stellen zusammenhängende Cluster innerhalb eines Farbraumes dar. Insgesamt beanspruchen sie aber nur einen kleinen Teil des Farbraumes. Hautähnliche Regionen unterscheiden sich hauptsächlich in ihrer Helligkeit und nicht in der farb- 10

lichen Abstufung. Da die Helligkeit von den jeweiligen Lichtverhältnissen abhängt, ist es bei extremen Lichtverhältnissen fast unmöglich den Farbton der Haut vorherzusehen. Grosse Probleme treten zum Beispiel bei Schattenwurf auf. Hier kommt es oft zu Fehlinterpretationen. Die farbbasierte Hauterkennung kennt eine Reihe unterschiedlicher Verfahren. Die Identifizierung der Haut erfolgte hier über Schwellenwerte. Diese bilden Intervalle in denen ein Pixel liegen muss, um als Haut klassifiziert zu werden. Schwellenwerte werden durch eine möglichst grosse und repräsentative Zahl von Beispielbildern errechnet. Die genaue Ermittlung der Intervalle ist jedoch nicht trivial. Selbst bei einer grossen Menge von Testdaten stellen sie eine starke Vereinfachung dar. Ausserdem werden so feststehende Werte geschaffen die unflexible gegenüber leichten Abweichungen sind. Trotz alledem lassen sich durch dieses recht simple Verfahren gute Ergebnisse erzielen. Um das Fehlerrisiko zu beschränken, ist es zum Beispiel auch möglich die Hauterkennung in unterschiedlichen Farbräumen durchzuführen und die Ergebnisse dann zu kombinieren. Nur die Pixel, die in allen Farbräumen eindeutig als Haut gekennzeichnet wurden werden auch als Hautpixel übernommen. So kann man versuchen,die Vorteile beider Farbräume zu kombinieren. Die Wahl der richtigen Schwellenwerte ist entscheidend. Diese haben Smolka et al. nach ausführlichen Tests für RGB auf r [38, 55], g [25, 38] festgelegt. Im normierten RGB Modell reichen zwei Parameter zur eindeutigen Bestimmung einer Farbe, da aus den beiden der dritte berechnet werden kann. Es ist leicht zu erkennen das der Rotanteil überwiegt. Im HSV Raum haben sich die Werte H [0, 25] [335, 360], S [0.2, 0.6], V [0.4, 1] als positiv erwiesen. Die Ergebnisse der Untersuchungen im RGB und HSV Farbraum unterscheiden sich teilweise stark. Im RGB Raum wird tendenziell mehr Haut erkannt als im HSV Raum. Dies könnte daran liege, dass die Hautbestimmung im HSV Raum vor allem von der Helligkeit abhängig ist, die je nach Lichtverhältnis variiert. Ausser der Hauterkennung über Schwellenwerte gibt es auch noch weiter Verfahren zur Bestimmung von Haut. Das Verfahren der Distanz zu Referenzfabrtönen errechnet die Wahrscheinlichkeit, mit der es sich bei einem Pixel um ein Hautpi- 11

xel handelt. Vorteil hierbei ist, dass es nicht besonders kompliziert ist. Das Problem liegt in der Bestimmung des Referenztones. Ein Referenzton kann unmöglich alle Farbvariationen von Haut beinhalten. Deswegen wird dieses Verfahren eher selten gebraucht. Weitere Ansätze die Haut über Wahrscheinlichkeitsmodelle erkennen sind die parametrisierte bzw. nicht-parametrisierte Ansätze. Diese Modelle können die Verteilung der Farbwerte wesentlich genauer angeben. Sie beruhen auf der Grundlage von einem Satz an Trainingsdaten in dem manuell die Bereiche festgelegt werden, die später auch als Haut erkannt werden sollen. Nachteil ist aber teilweise der sehr hohe Speicherplatzbedarf, vor allem beim parametrisierten Modell. Mehr dazu in RedEyeRemoval, Jirka - Rademacher. Da die Hauterkennung ansich oft nicht exakt genug ist können weitere Operationen durchgeführt werden. Um kleinere Löcher oder Lücken zu füllen gibt es die Möglichkleit der morphologischen Operatoren, wie zum Beispiel Closing oder Opening. Closing Operationen füllen kleine Lücken auf oder verbinden nahe aneinander liegende Regionen. Die Opening Operation lässt kleinere isolierte Objekte verschwinden. Dieser Prozess wird auch morphologischer Säuberungsprozess genannt. Anstatt Opening und Closing Operationen haben wir eine Medianfilterung und einen Maximumfilter angewandt. Dies hat ungefähr den selben Effekt. 4.2 Augenerkennung Nachdem die Hautregionen identifiziert sind, folgt nun die Erkennung der Bereiche in denen Korrekturen durchzuführen sind. Das genaue Erscheinungsbild der roten Augen, unterscheidet sich von Bild zu Bild. Die Pupille kann je nach Lichtverhältniss, Blitzstärke oder Kameratyp ein anderes Rot annehmen. Die Farbtöne variieren teilweise deutlich. Dabei wird das Rot nicht durch die Farbe der Iris beeinflusst. Im Allgemeinen betrifft die Rotfärbung nur die Pupille, unter extremen Lichtverhältnissen kommt es jedoch vor, dass ein Teil der Iris auch Regenbogenhaut genannt, rot erscheint. Nicht immer wird das rote Auge rund oder leicht oval sein. Meisstens werden sie durch das Augenlid teilweise überdeckt, da das Fotomodell nur selten die Augen vollständig geöffnet hat und direkt in die Kameralinse guckt. Ein weiteres Problem 12

Abbildung 5: Das Auge Abbildung 6: Rote Augen tritt auf wenn die Augen durch Haare oder durch eine Brille verdeckt werden. Die Erkennung roter Augen erfolgt also über die Form und/oder Farbe. Da die Rottöne je nach Beleuchtung sehr unterschiedlich seien können, hat sich eine Transformation in ein Graustufenbild als nützlich erwiesen, die später noch genauer erläutert wird. Bereiche in denen die Rotkomponente überwiegt werden hervorgehoben. Ergebnis der Konvertierung ist ein Bild in dem die roten Augen als heller Fleck erkennbar sind. In diesem Bild wird nun, mit Hilfe von Kantenerkennungsalgorithmen nach kreisförmigen Objekten gesucht. 4.3 Augenkorrektur Bei der Korrektur roter Augen muss in erster Linie darauf geachtet werden das sie möglichst natürlich wirken sollen. Das bedeutet die ursprüngliche Augenfarbe sollte beibehalten werden und die Pupille sollte wieder schwarz sein. Auch der sogenannte Schimmer muss bei der Korrektur beibehalten werden, er hat grossen Einfluss auf das natürliche Erscheinungsbild der Augen. Es dürfen reine Ränder zwischen 13

korrigiertem und nicht korrigiertem Bereich entstehen. Es darf nicht zu wenig aber auch nicht zuviel korrigiert werden, da dies sofort auffallen würde. 4.3.1 Verfahren im RGB-Farbraum Das Korrekturverfahren im RGB-Farbraum beruht darauf die Rotkomponente, die bei roten Augen logischerweise am stärksten ausgebildet ist, zu reduzieren. Allerdings hängt der Erfolg dieser Methode sehr stark von der eigentlichen Augenfarbe ab. Bei braunen Augen kann es dann zum Beispiel vorkommen, dass dem braun der Iris das Rot entzogen wird und der korrigierte Bereich grün erscheint. Smolka et al. gehen daher etwas anders vor und weisen dem Rotkanal den Mittelwert der Grünund Blauwerte zu. 4.3.2 Verfahren im HSV-Farbraum Der HSV-Farbraum ist was die Korrekturverfahren angeht weit flexibler als der RGB-Farbraum. Denn hier kann entweder die Farbsättigung beeinflusst werden, wobei natürliche Reflexionen erhalten bleiben, oder es wird lediglich der Farbton geändert und die Werte für Helligkeit und Sättigung bleiben erhalten. Beides führ zu einem weitgehend natürlicherem Ergebnis. 5 MFK-Verfahren 5.1 Einleitung - MFK 5.2 Hauterkennung Es wurde ein eikonmagikos-operator zur Hauterkennung implementiert. Der Operator erwartet ein Farbbild und gibt Binärbilder der Hauterkennung im normierten RGB-Farbraum und im HSV-Farbraum, sowie eine Kombination der beiden Ergebnisse zurück. Nach einer Transformation in den HSV-Farbraum und der Normierung im RGB-Farbraum, läuft die Hauterkennung über das oben beschriebene Verfahren mit Schwellwerten. Die Schwellwerte wurden durch Smolka et. al durch Tests er- 14

mittelt: rgb - r [38, 55] und g [25, 38] HSV - H [0, 25] [335, 360] und S [0.2, 0.6] und V [0.4, 1] Zur Erkennung der Kreise, die innerhalb von Haut liegen sind noch Filteroperatrionen nötig. Zuerst sollen durch 3x3-Medianfilterung Rauschen unterdrückt werden. Es werden also einzelne Pixel eleminiert, die mit hoher Wahrscheinlichkeit keine Hautpixel sind. Im einem zweiten Schritt werden mit einem 20x20 Maximumfilter Löcher geschlossen. Es werden dadurch Lücken in Hautpartien, die nicht erkannt wurden, aufgefüllt. Der letzte Schritt wird bei der Roten-Augenerkennung benötigt. Bei der Korrektur wird er nicht verwendet, da hier als Haut klassifizierte Bereiche nicht korrigiert werden. Abbildung 7: Hauterkennung in RGB, HSV und beide kombiniert 5.3 Grauwerttransformation Zum Auffinden der Farbwerte, die den rote Augeneffekt verursachen, wird in einem ersten Schritt ein spezielles Grauwertbild erzeugt, das die Stärke der Rottöne berücksichtigt (siehe Smolka et al.). Bei jedes Pixel wird die Differenz des Rotwerts zum Maximum von Grün- und Blauwert berechnet. Somit werden die Werte von Pixeln mit hohem Rotwert groß, alle anderen klein. T 1 (i, j) = R(i, j) max[g(i, j), B(i, j)] Dann wird das ganze noch einmal in einer normalisierte Form durchgeführt, um Helligkeitsschwankungen auszugleichen. T 2 (i, j) = 1 (R(i, j) max[g(i, j), B(i, j)]) R(i, j) 15

Automatic detection and correction Die Kombination dieser beiden Berechnungen ergibt die besten Ergebnisse zur Ermittlung der Rotto ne. T3 = T1 T2 = 1 (R(i, j) max[g(i, j), B(i, j)])2 R(i, j) Der T-Raum wird bei uns zur Detektion der Kreise genutzt und zur eigentlichen Korrektur der roten Augen. Als Schwellenwert fu r den T3 wurde nach Test der Wert 15 als am flexibelsten ermittelt. BEISPIEL T-Raum-Bild 5.4 Kreiserkennung Zur Lokalisierung der Augen wird eine Kreiserkennung mittels der Hough-Transformation durchgefu hrt. Die Kreiserkennung erfolgt im T-Band. Dieses Band liefert die besten Ergebnisse (siehe Beispiel) Abbildung 8: Kreisdetektion: RGB, T-Kanal, I-Kanal, R-Kanal, S-Kanal Die Kreiserkennung wird durch folgende EikonMagikos-Operatoren realisiert. Zuerst wird eine Kantendetektion mittels des Canny-Operators durchgefu hrt (σ = 1.0, N M S, T = 50). Dazu mu ssen folgende Verarbeitungschritte durgefu hrt werden: a) Zuerst wird das Bild mit einer Gauss-Gla ttung bearbeitet mit σ = 1.0: h(x, y) = G(x, y)? f (x, y) G(x, y) = 1 x2 +y2 2 e 2σ 2πσ 2 b) Es folgt die Kantenerkennung mit Sobel. Der Sobel Operator ist der popula rste Operator zur Kantenerkennung. Mit einer einfachen Maskenoperation kann man die Kantensta rke sowie eine sehr exakte Kantenrichtung berechnen. 16

Sobelmasken: Kantenstärke: h x : 1 0 1 2 0 2 1 0 1 s(r, c) = h y : 1 2 1 0 0 0 1 2 1 h 2 x(r, c) + h 2 y(r, c) Kantenrichtung: d(r, c) = tan 1 ( h x /h y ) 0 d(r, c) < 360 c) Dann wird eine NonMaximum-Unterdrückung durchgeführt. Das NonMaximum- Verfahren eleminiert hohe Kantenwerte, die sich in der nähe einer Kante befinden, dehalb hohe Werte haben aber eigentlich keine Kantenpunkte sind. Jedes Kantenpixel bleibt nur Kante, wenn keines der beiden Nachbarkixel senkrecht zur Kantenrichtung grösser. Sonst wird es auf Null gesetzt. So werden 8 Kantenrichtungen untersucht mit einem besseren Kantenbild als Resultat. d) Zum Schluss wird das Hysterese Schwellenwertverfahren durchgeführt. Dies ist ein verbessertes Schwellwertverfahren, dass sich nicht nur auf einen Schwellwert stützt sondern auf zwei. Das heisst, dass auf dem Kantenbild ein zweistufiger Algorithmus ausgeführt wird, der im ersten Schritt alle Kantenpunkte in das Ergebnis hineinnimmt, wenn sie über einem oberen Schwellenwert T H liegen. Im zweiten Schritt werden alle Kantenpunkte akzeptiert, welche über einem unteren Schwellenwert T L liegen und mindestens einen Nachbarn haben, der schon als Kantepunkt akzeptiert wurde. Dieser Schritt wird solange wiederholt bis das Ergebnis stabil ist. Die Schwellwerte für das Hysterese Verfahren können von Bild zu Bild stark variieren. Deshalb werden die Kantenpunkte vor Anwendung des Hysterese Verfahren noch normiert. Dann kann das Schwellwertverfahren mit den Schwellenwerten T L = 25, T H = 50 durchgeführt werden. Zur eigentlichen Kreiserkennung wird die Hough-Transformation durchgeführt. Bei diesem Verfahren werden Kreise mit dem Mittelpunkt (a 0, b 0 ), festem Radius 17

r 0 und der Kreisformel x = a 0 + r 0 cos θ C a0 b 0 = y = b 0 + r 0 cos θ 0 θ < 2π in den ab-raum transformiert. Die Häufungspunkte in diesem Raum (Akkumulator) sind die Mittelpunkte der Kreise im xy-raum. Dieses Verfahren hat den Vorteil, dass auch unvollständige Kreise gefunden werden, also Kreise die unterbrochen sind oder z.b. auch Halbkreise. So können auch teilweise verdeckte Augen detektiert werden. Die eigentliche Hough-Transformation wurde nun erweitert. Zur Optimierung der Trans Zum einen wird ein dreidimensionaler Die Hough-Transformation wird nun mit mehreren Radien (2-20 px) durchgeführt. So können (bis auf extreme Grossaufnahmen) die meisten Augengrößen erfasst werden. BEISPIELE Kreise 5.5 Augenerkennung/ -korrektur Um die roten Augen zu erkennen, werden die Resultate der vorherigen Phasen (Kreiserkennung, Hauterkennung und T3-Schwellwert) weiterverarbeitet und kombiniert. Ergebnis dieses Prozesses bildet eine Maske aller Pixel, bei denen eine Korrektur stattfinden soll. Den ersten Schritt bildet eine Ausdehnung der erkannten Kreise, um möglicherweise aufgetretene Ungenauigkeiten bei der Kreiserkennung auszugleichen. Hierzu wird der Radius der Kreise um die Hälfte erhöht. Die so erhaltenen Kreise werden nun auf Hautnähe überprüft, indem alle Kreise, die keinen Pixel der mit Medianund Maxiumumfilter bearbeiteten Hautmaske enthalten, entfernt werden. Aus den resultierenden Kreisen werden alle Pixel entfernt, die als Haut erkannt wurden (hierzu ist die unbehandelte Maske von Nöten, da es darum geht, Haut von Nichthaut zu unterscheiden, statt einfach nur die Hautnähe zu betrachten), sowie alle Pixel, deren T 3-Wert unter dem Schwellwert liegt, also alle Pixel, die nicht rot genung sind. An den restlichen Pixeln wird nun die Korrektur vorgenommen. Bei der Korrektur handelt es sich um eine pixelweise Operation. Idee ist es, zu- 18

erst die Rotsättigung und die Magentasättigung zu reduzieren, um die Rotfärbung aus dem Auge zu entfernen. Danach wirkt die Pupille zu hell. Da bei einer einfachen Reduzierung der Helligkeit auch der Schimmer im Auge verdunkelt wird, dieser aber bestehen bleiben soll, muss eine Operation gefunden werden, die helle Pixel hell behält, Pixel mittlerer Helligkeit jedoch verdunkelt, was mit einer Gammakorrektur erreicht wird. Gute Ergebnisse erzielten wir, als wir die Rotsättigung um 90% und die Magentasättigung um 50% reduzierten. Dazu kam eine Gammakorrektur mit γ = 0.75. Für die farbbedingte Reduzierung der Sättigung haben wir folgende Formel genommen: Zuerst sei anzumerken, dass sich jeder Farbwert (Hue) durch einen Winkel zwischen 0 und 360 Grad darstellen läßt. Sei nun d(θ 1, θ 2 ) der Abstand zwischen zwei Winkeln (hierbei sie zu beachten, dass die beiden Winkel θ 1 = 350 und θ 2 = 10 den Abstand d(θ 1, θ 2 ) = 20 besitzen) und sei H 0 der Farbwert, dessen Sättigung reduziert werden soll(also H 0 = 0 für rot und H 0 = 300 für Magenta). Desweiteren seien S die Sättigung, H der Farbwert des Pixels und p der Anteil, um den reduziert werden soll. Dann gilt: S falls d(h, H 0 ) 60 S new = ( ) 1 p d(h,h 0) S falls d(h, H 60 0 ) < 60 6 Probleme - weitere Ideen 1.Hauterkennung Verfahren zur Hauterkennung sind noch nicht vollständig erforscht. Es gibt eine Vielzahl von Veröffentlichungen auf diesem Gebiet. Optimierungen bei der Hauterkennung ermöglichen eine noch bessere Korrektur von roten Augen, da rote Augen fälschlich als Haut klassifiziert werden können und dann nicht korrigiert werden. Probleme traten überwiegend bei der Korrektur auf, wo ein Teil des Augenlides nicht als Haut erkannt wurde oder der Bereich nicht in ein Intervall der Schwellenwerte passte, und somit im Endergebnis von dem korrigiertem Auge überdeckt wurde. Verfahren mit parametrisierten oder nicht-parametrisierten Modellen könnte eventuell zu einem besseren Ergebnis bei der Hauterkennung führen. 19

2.Augenkorrektur Der Erfolg der Augenkorrektur hängt teilweise noch von der eigentlichen Augenfarbe ab. Um zu vermeiden, dass zum Beispiel bei braunen Augen die Rottöne aus der braunen Farbe der Iris entfernt werden, müsste hier eine leicht abgewandelte Farbreduktion des roten Kanals stattfinden. Es wäre denkbar vor der Korrektur die Augenfarbe abzufragen um dann einen entsprechenden Algorithmus durchzuführen. 2.Optimierung durch Clustering weiss noch nciht genau ob wir das reinnehmen sollen (Allgemeine Probleme Das Testen der Operatoren in EikonMagikos hat sich als etwas umständlich erwiesen. Die Funktion eines Operators muss an einer representativen Menge Bildern überprüft werden. Leider muss jedes Bild einzeln getestet werden was sehr zeitaufwendig ist.) 7 Fazit Die automatische Erkennung und Behebung von roten Augen bleibt ein spannendes Thema. Es bedarf noch einige Nachforschungen und Tests. Vor allem die Hauterkennung ist ein wichtiger Teilaspekt der massgeblich am Gelingen der Korrektur beteiligt ist. Die genaue Bestimmung von Schwellenwerten stellt eine weitere Herausforderung dar. Hierzu sind zahlreiche, teilweise sehr Zeitaufwendige Tests nötig. Eine umfangreiche Datenbank mit Beispielbildern ist unersätzlich. Dadurch dass es teilweise grosse Unterschiede in der Ausprägung des rote-augen-effektes und des des Fotos ansich gibt, ist es schwierig einen Algorithmus zu finden der bei allen Bildern gleichermassen erfolgreich ist. Die eingesetzten Algorithmen müssen exakt arbeiten, um zu einem natürlichen Endergebnis zu kommen. Die kleinste Abweichung kann bewirken, dass die korrigierten Augen unnatürlich wirken. 20