FSC - FloodFill Sky Classification Kirill Bogomasov Heinrich-Heine-Universität Düsseldorf Institut für Informatik Universitätsstraße 1 40225 Düsseldorf, Deutschland kyryl.bogomazov@uni-duesseldorf.de ABSTRACT dass der Himmel sehr vielfältig, und seine Eigenschaften Diese Arbeit behandelt die Klassifizierung des Himmels sehr variationsreich sein können. Verschiedene Himmel- in Bergbildern. Zu Beginn wird ein Verfahren zur Ab- sarten können verschiedene Artefakte bergen. Diese verur- schätzung des Himmels in einem Bild vorgestellt. Im An- sachen maßgebliche Schwierigkeiten in der Verarbeitung. schluss folgt die Vorstellung eines auf FloodFill-basierenden Infolge dessen entstehen unterschiedliche Anforderungspro- Klassifikators. Abschließend werden die Ergebnisse ver- file an einen Segmentierungsalgorithmus. Es ist plausi- schiedener Klassifikatoren vorgestellt. Eine Klassifizierung bel, dass ein einzelnes Segmentierungsverfahren den An- des Himmels dient der Vorbereitung für eine spätere Seg- forderungen kaum gerecht werden kann. Folglich entsteht mentierung der Bergsilhouette. Dabei soll jeder Himmel- die Frage, ob sich ein Verfahren finden lässt, welches für eine sklasse ein passendes Segmentierungsverfahren zugeordnet oder mehrere Himmelskategorien besonders gute Ergebnisse werden. Zu diesem Zweck wird ein neuer Himmelsklassi- erzielt. Für die Wahl eines optimalen Segmentierungsver- fikator vorgestellt, welcher zwischen vier Himmelskategorien fahrens soll untersucht werden, ob eine Klassifizierung des unterscheidet und viel versprechende Ergebnisse liefert. Himmels möglich ist. Zu diesem Zweck wird ein eigenes Ver- fahren vorgestellt. Categories and Subject Descriptors 1.1 Verwandte Verfahren I.4 [Image Processing And Computer Vision]: Feature Anna Heinle arbeitet in Paper [8] mit einem Set haupt- Measurement, Scene Analysis sächlich statistischer Features, die sowohl die Farbe als auch die Struktur beschreiben. Zur Klassifizierung wird ein k- NN-Klassifikator benutzt. Dem Modell liegt eine Train- Keywords ingsmenge von 200 Bildern je Trainingsklasse zugrunde. Classification, Sky Recognition, Silhouette Extraction Die Grundannahme der Wolkenerkennung beruht auf einem geringeren Rotwert innerhalb der Bereiche des klaren Him- 1. EINLEITUNG mels. Yu Changhui [5] stellt in seiner Arbeit ein weiteres In den letzten Jahrzehnten gewinnt der digitale Datenaus- Verfahren vor, um die Trennung von bewölkten Bildern und tausch immer weiter an Bedeutung. Ein großer Anteil da- solchen, die keine Wolken enthalten, sicherzustellen. Er ver- raus, sind Bilddaten. Durch den kontinuierlichen Anstieg, wendet eine Zusammensetzung aus Grauwert-, Frequenz- der im Internet kursierenden Bilder, insbesondere in sozialen und Strukturfeatures. Einen weiteren interessanten Ansatz Netzwerken, ergibt sich die Notwendigkeit der Bildklassi- liefert Nurak Chaisri in [4]. Dieser nutzt das ”Multilayer fizierung. Einen wichtigen Teilbereich stellt die Bergerken- Perceptron neural network (MLP-NN)”. Gearbeitet wird nung dar, welche die Segmentierung der Bergsilhouette vo- mit 18 charakteristischen Parametern für Farb-, Struktur- raussetzt. Dieses Forschungsschwerpunkt soll im Rahmen und Power Spectrum Features. Anschließend kann der dieser Arbeit aufgegriffen werden. Klassifikator entscheiden, ob die Wolken zu Niederschlag Es existiert bereits eine Vielzahl etablierter Segmen- neigen oder nicht. Auch [6] befasst sich mit Wolkenklas- tierungsalgorithmen, darunter auch mehrere speziell auf sifikation. Die Idee liegt hier in der Benutzung von Tex- Bergregionen angepasste Verfahren. Im Hinblick auf tons. Das Texton-Lexikon wird aus k-Means Cluster Zentren das Ziel, zu jeder Himmelsklasse ein passendes Segmen- erzeugt. Die Bilder der Deskriptoren werden über S-Filter tierungsverfahren zu finden, muss dieser zuerst klassifiziert erzeugt. Anschließend werden auf der Basis eines Vergle- werden. Diese Fragestellung ist darauf zurückzuführen, ichs jeden Pixels mit der Texton-Bibliothek ”discriminative” Histogramm-Modelle für jede Kategorie erzeugt. Ein weit- erer Ansatz zur Wolkenklassifikation findet sich in [3]. Dieser basiert ebenfalls auf statistischen Messungen und wird durch Fourier Transformation ergänzt. Aus der Analyse der Daten nach der Tranformation wurde eine Mustererkennung er- hofft. Jedoch wurde der Ansatz wieder verworfen. Dies liegt hauptsächlich daran, dass aufgrund der hohen Variation im Bereich des Himmels die Transformation keine nennenswerte 28th GI-Workshop on Foundations of Databases (Grundlagen von Daten- banken), 24.05.2016 - 27.05.2016, Göttingen, Germany. Erkenntnis aus den Daten liefert. Auch funktioniert die Copyright is held by the author/owner(s). Kantenerkennung nicht optimal. Im [9] beschreibt Shuang 27 FSC - FloodFill Sky Classification Liu ein zweistufiges Verfahren, welches die wenig funktionale ”klarer Himmel”. Die Anzahl der Bilder in der Klasse ”klarer Fourier Transformation durch LBP Histogramme ersetzt. Himmel” wurde nicht reduziert, weil auf verfügbare Informa- Diese sind rotationsbeständig und werden für jedes Bild aus tionen nicht verzichtet werden sollte. jeder Klasse erzeugt, die Wolken enthält. Für die Auswer- tung wird eine Grauwert-Konvertierung vorgenommen. 1.3 Abschätzung des Himmels Eine wichtige Beobachtung aus den betrachteten Ver- Eine Klassifizierung des Wetters erfordert eine möglichst fahren ist, dass die präziseren Ergebnisse auf Farb- und treffende Abschätzung des Himmels. Dabei ist es wichtig Strukturfeatures zurückgehen. Bei den Farbfeatures wird mit der Abschätzung möglichst nah an die Grenze zwischen grundsätzlich über den Vergleich der verschiedenen Far- Berg und Himmel zugelangen. Es ist nicht ungewöhnlich, bkanäle gearbeitet. Die Strukturfeatures lassen sich auf die dass sich Wolken in einer geringen Höhe oberhalb der Berge Arbeit [7] zurückführen. Die Einschränkung bei allen diesen befinden. Auch Sonnenauf- und Sonnenuntergänge sind ein Verfahren liegt in der Benutzung von sogenannten ”whole häufiges Bildmotiv. Eine zu geringe Fläche führt zu einem sky images”. Dabei handelt es sich um Bilder, die auss- potentiellen Klassifikationsfehler. Eine zu großgeschätzte chließlich Himmel enthalten. Dadurch wird die Abgrenzung Fläche führt zu neuen Problemen. In diesem Fall werden des untersuchten Bereiches erspart und die Herausforderung Bergspitzen mit ausgewertet. Dies kann dazu führen, dass deutlich reduziert. Weiterhin findet in den vorgestellten Berge wolkenähnliche Eigenschaften besitzen und als solche Werken hauptsächlich eine Trennung in bewölkt und un- gedeutet werden. In Folge dessen würde eine Missklassi- bewölkt statt, jedoch keine echte Klassifizierung des Him- fizierung begünstigt werden. An diesen Fällen wird deutlich, mels. Dies ist daran zu erkennen, dass beispielsweise der dass eine ungenaue Abschätzung der Ränder maßgebliche Fall ”Sonne” bei keinem Verfahren vorgestellt ist. Folgen für die Klassifizierung haben kann. Es gibt unterschiedliche Möglichkeiten, eine Abschätzung 1.2 Bildersammlung und Datengrundlage vorzunehmen. Eine naive Abschätzung stellt zum Beispiel Die genutzten Bilder sind Grundlage des von Georges den einfachsten Weg dar. Hierbei wird eine Boundary Box Baatz, Olivier Saurer, Kevin Köser und Marc Pollefeys unter in Abhängigkeit von der Bildgröße aufgestellt. Die Prob- dem Titel ”Large Scale Visual Geo-Localization of Images in lematik die dadurch entsteht liegt darin, dass die Höhe des Mountainous Terrain” veröffentlichten Papers [1]. Horizonts sehr stark variieren kann und deshalb eine Ab- Zu Beginn werden die unsortierten Bilder in Kategorien schätzung mittels eines festen Wertes sehr schwierig ist. Für eingeteilt. Dazu wurden drei Kategorien gewählt. Diese eine solche Abschätzung kommt nur ein Segmentierungsver- sind ”klarer Himmel”, ”sonnig” und ”bewölkt”, sie sind es- fahren in Frage. Am besten eignen sich hier Methoden, die sentiell. Die Kategorie ”sonnig” definiert Bilder, auf denen iterativ das Bild ”fluten”. entweder die komplette Sonne oder ein Teil davon abgebildet Aus diesem Grund fällt die Entscheidung auf FloodFill. Der ist. Diese kann von Bergen verdeckt oder am Rande des Algorithmus findet Flächen, die dieselbe Farbe besitzen, Bildes vorzufinden sein. Dadurch ist sie oftmals nicht voll- und ersetzt diese durch eine andere. Zu Beginn des Pro- ständig. Auch Fotos, auf denen besonders helle Sonnen- grammablaufs muss ein Pixel als Startpunkt definiert wer- strahlen festgehalten sind und die Sonne hinter dem Bil- den. Ein weiterer Pflichtparameter ist die Zielfarbe. Ist die drand oder dem Berg vermuten lassen, besitzen ähnliche Farbe ersetzt worden, wird die Nachbarschaft des jeweiligen Eigenschaften bezüglich der Bildhelligkeit und der Farben Pixels betrachtet. Der Aufruf erfolgt rekursiv. Es kann die des Himmels. Somit gehören sie auch der Klasse ”sonnig” Vierer-(engl. 4-Neighbour) oder die Achter-Nachbarschaft an. Die Klasse ”bewölkt” enthält alle Bilder, in denen eine (engl. 8-Neighbour) betrachtet werden. Für die Laufzeitop- Bewölkung vorliegt. Die Intensität und die Dichte spie- timierung des Algorithmus sowie zum Zwecke der Ausreißer- len im Gegensatz zur Anfangsannahme keine Rolle mehr. minimierung werden nur Vierer-Nachbarschaften(engl. 4- Die Klasse ”klarer Himmel” enthält die restlichen Bilder Neighbour) betrachtet. der Datenbank. Sie umfasst alle Bilder, in denen weder Um den Algorithmus effektiver zu gestalten, kann die Sonne noch Wolken abgebildet sind. Durch das strikte Kat- akzeptierte Farbe mit Hilfe einer tolerierten Mindest- egorisieren der Bilder entsteht das Problem der mehrfachen beziehungsweise Höchstabweichung erweitert werden. In Zuordnung in die einzelnen Klassen. So können auf einem Bergbildern hat sich eine Abweichung von 5 Helligkeitsstufen Bild sowohl Sonne als auch Wolken zu sehen sein. Da dieser als sinnvoll erwiesen. Fall bei einer nicht vernachlässigbaren Anzahl von Bilder Bei der betrachteten Problemstellung besteht die Hoffnung, vorzufinden ist, wird eine weitere Klasse definiert - ”bewölkt dass mit FloodFill homogene Bildelemente im Bereich des und sonnig”. Himmels zu Regionen verschmolzen werden. Als Aus- Für weitere Bilder wurden mehrere Online Bilderdaten- gangspunkt dient der Punkt mit der höchsten Wahrschein- banken nach lizensfreien Bildern durchsucht. Die meisten lichkeit, ein Himmelspunkt zu sein. Die gesamte oberste der gefundenen Bilder stammen von www.flickr.com. Pixelreihe des Bildes besitzt die höchste Wahrscheinlichkeit Die Auflösung der zusätzlichen Aufnahmen wurde nach dem Himmel anzugehören. Es ist anzunehmen, dass auf Möglichkeit ähnlich der Auflösung der bereits vorhandenen keinem Bild in der obersten Reihe ein Berg vorzufinden ist. Objekte gewählt. In anderen Fällen wurden die Bilder Insbesondere eignet sich FloodFill, um umrandete oder an- einem Schnitt unterzogen. Zu allen neuen Bildern wurde grenzende Flächen auszufüllen. Im Idealfall stellt die Grenze vom Lehrstuhl mithilfe eines bereits fertigen interaktiven zwischen dem Berg und dem Himmel den Rand dar. Als Re- Verfahrens eine Binärmaske erzeugt. sultat entsteht eine Segmentierungsmaske. [2] Das Resultat einer Abschätzung sollte ein Polygon sein, Insgesamt umfasst die Datenbank 43 Bilder der Klasse welches im Idealfall die Silhouette des Berges beschreibt. Zu ”bewölkt”, 45 Bilder in der Klasse ”bewölkt und sonnig”, 40 diesem Zweck wurde ein eigenes Verfahren zur Himmelsab- Bilder in der Klasse ”sonnig” und 124 Bilder in der Klasse schätzung entwickelt. 28 FSC - FloodFill Sky Classification 2. FSE - FLOODFILL SKY ESTIMATION Zu Beginn des Algorithmus wird FloodFill ausgeführt. Dabei wird das Verfahren in zwei der drei möglichen Vari- anten (Color, Grey-Mask) aufgerufen. Der Grund für einen mehrfachen Aufruf ist, dass jede Methode in verschiede- nen Helligkeitsverhältnissen ihre Stärken aufweist. So hat das Konzept, welches Farbkanäle vorsieht, seine Vorzüge bei Figure 1: Brüchige Fläche Figure 2: Nach der Bereini- klarem blauen Himmel, sowie bei so gut wie allen Wolken- gung typen. Einzig bei tiefen und konturlosen Wolken schneidet es schlecht ab. Mit der Grey-Mask-Variante hingegen funk- tioniert das Verfahren recht gut bei nebeligen Bildern. Auch bei sonnigen Bilder schneidet es deutlich besser ab. Somit 3. FSC - FLOODFILL SKY CLASSIFICA- scheint es sinnvoll zu sein, beide Verfahren zu kombinieren. Nachdem als Resultat zwei verschiedene Bilder erzeugt wur- TION den müssen die Ergebnisse analysiert werden. Die Analyse Bei der FSC-Klassifizierung handelt es sich um einen Klas- dient dazu, das Bild mit den wenigsten Fehlern zu finden. sifikator, welcher nicht erlernt werden muss und sofort mit Zu Beginn wird das Resultat des Farbbildes analysiert. Der der Klassifikation beginnen kann. Zu Beginn erfolgt für Analyse liegen drei Aspekte zugrunde. Es wird untersucht, jedes Bild der Testmenge eine Abschätzung des Himmels ob die entstandene Fläche brüchig ist, so wie dies beim mit dem Verfahren nach Kapitel 2. Sobald der Bereich des FloodFill-Resultat mit Farbe der Fall ist. Außerdem wird Himmels mit dem Silhouette-Polygon definiert ist, kann mit geprüft, ob Bildpunkte im Bereich des Bodens überschrieben der Analyse des Himmels begonnen werden. Dem Algorith- wurden. Wenn dies der Fall ist, so ist FloodFill bis zum Bo- mus liegt die ”FloodFill”-Technik zugrunde. Es wird mit der den durchgelaufen. In der Regel sind auf den Bildern jedoch ”Graumaske” gearbeitet. Zu Beginn des Ablaufs erfolgt eine Berge zu sehen, die die gesamte Breite des Bildes einnehmen. statistische Analyse der Grauwerte. An dieser Stelle muss Läuft FloodFill von oben, wo der Startpunkt liegt, bis un- geprüft werden, wie hoch der Anteil der schwarzen Pixel ten durch, so handelt es sich höchstwahrscheinlich um einen am gesamten Bild ist. Liegt ihr Anteil bei über 95 %, so Fehler. ist davon auszugehen, dass das resultierende Bild sehr ver- Des Weiteren wird der Anteil der gefundenen Himmelsfläche rauscht ist. Meistens liegt die Ursache in einer Unschärfe, am Gesamtbild geprüft. Ist dieser zu groß, kann das Resul- die durch Nebel oder Sonne erzeugt wird. Wird das Bild als tat verworfen werden. Als Grenze dient ein Schwellenwert verrauscht erkannt, muss eine Sonderbehandlung erfolgen. von 80%, welcher im Rahmen der Untersuchung entstand. Es folgt eine Optimierung der FloodFill-Parameter, ähnlich Dieser Schwellenwert ist darauf zurückzuführen, dass eine wie bereits während der Abschätzung. Abbildung von weniger als 20 % des Berges auf der Bild- Im Anschluss findet eine erneute Überprüfung der Pixel- fläche unüblich ist. helligkeit statt. Ist das Bild noch immer sehr verrauscht Werden die drei Bedingungen erfüllt, kann mit dem Bild und überschreitet den festgelegten Grenzwert, wird es in weiter gearbeitet werden. Andernfalls muss es verworfen eine künstliche Klasse ”bright/low contrast” abgelegt. Diese und mit der nächsten FloodFill-Variante, der ”Grey Mask”, Klasse stellt einen Sonderfall dar und kann bisher nicht an- gearbeitet werden. In beiden Fällen wird im nächsten ders behandelt werden. Jedoch ist der Anteil solcher Bilder Schritt FloodFill von unten nach oben durchlaufen. relativ gering und liegt bei den vorhandenen Aufnahmen Anschließend wird das Resultat aufgearbeitet. Die leeren bei unter 1 %. Erfüllt das Bild alle Kriterien, so beginnt inneren Flächen, die vom Berg umschlossen sind werden, die Klassifizierung. Das Verfahren lässt sich in zwei Schritte aufgefüllt. Dies ist deutlich in den Abbildungen 1 und 2 zu untergliedern. erkennen. Im ersten findet eine Wolkensuche statt. Im zweite wird Gehäuft treten Fehler im Bereich der Ränder auf. Um das nach der Sonne gesucht. Die Wolkensuche erfolgt nach dem Problem zu beseitigen, werden vor der Polygon-Extraktion Algorithmus 1 aus dem Resultat die Ränder bereinigt. Es hat sich her- ausgestellt, dass die besten Ergebnisse zustande kommen, 3.1 Suche von Wolken wenn im oberen Bereich des Bildes die oberste Pixelreihe nachgebessert wird. An den seitlichen Rändern werden jew- Das Verfahren trifft für jeden Pixel die Entscheidung, ob eils die äußersten Spalten überschrieben. Im Laufe der Bere- dieser Bestandteil einer Wolke ist oder nicht. inigung werden alle Randpixel, die nach der Segmentierung Ein Pixel wird nur dann betrachtet, wenn dieser oberhalb zum Berg gehören, dem Himmel zugeordnet. Die Höhe der der Silhouette liegt. Nur dann gehört er zum Himmel. Die neuen seitlichen Randspalten des Berges richtet sich nach Bestimmung, ob ein Pixel als ”Wolke” klassifiziert werden der Höhe der zweiten, beziehungsweise der vorletzten Spalte kann oder nicht, beruht auf dem Vergleich der Intensitäten des Bildrasters. Anschließend findet ein erneuter FloodFill- α von Farbkanälen wie in [8]. Aufruf statt. Bei diesem werden die fehlerhaften Flächen innerhalb des Himmels nicht mehr mit berücksichtigt. Diese red channel value α= Abschätzung wird im folgenden Klassifizierungsverfahren blue channel value genutzt. Liegt der Wert α bei 0.9 oder höher, ist der Pixel als Wolke zu klassifizieren. Der Wert, der bereits von A.Heinle in ihrem Paper vorgeschlagen wurde, wurde während einer em- pirischen Untersuchung bestätigt. Dabei wurden α-Werte im Intervall [0, 1] betrachtet. 29 FSC - FloodFill Sky Classification Algorithm 1: Die Suche nach Wolken in Bildern Algorithm 2: Die Suche der Sonne in Bildern 1 findTheClouds (mountSil, picP ath); 1 findTheSun (mountSil, picP ath); Input : mountSil - polygon that describes the Input : mountSil - polygon that describes the mountain silhouette, picPath - path to the mountain silhouette, picPath - path to the picture to be analyzed picture to be analyzed Output: true if clouds are found on the picture, false Output: true if the sun is found on the picture, false otherwise otherwise 2 read in the picture from the given path; 2 read in the picture from the given path; 3 counterSkyPixel = 0; 3 imageTempSunClass := copy of the original image held 4 counterCloudyPixel = 0; in memory; 5 foreach Pixel do 4 coherentAreaList := empty list of pixel sets; 6 if pixel belongs to sky then 5 sunFound := false; 7 counterSkyPixel++; 6 foreach pixel do 8 if pixelIsCloudy then 7 if pixel belongs to sky then 9 countCloudyPixel++; 8 if pixel is bright enough then 10 end 9 // eventually it belongs to the sun 11 end 10 add pixel to coherentAreaList; 12 end 11 set pixel color to bright green in 13 if counterCloudyPixel/counterSkyPixel >0.2 then imageTempSunClass; 14 return true; 12 end 15 else 13 end 16 return false; 14 end 17 end 15 potentialSun := biggest coherent area in coherentAreaList; 16 countSunPixels := number of pixels in potentialSun; 17 // consider area as sun if it has min. 30 pixels 18 if countSunPixels > 30 then 19 if sun is round then 20 sunFound := true; 21 else if sun is at the picture border then 22 sunFound := true; 23 else if sun is not at picture border then 24 if sun is covered by a mountain then Figure 3: Originalbild Figure 4: Wolkensuche 25 sunFound := true; Das Bild 4 zeigt das Endergebnis. Die grüne Fläche er- 26 end setzt dabei den Berg nach der Segmentierungsmaske. Die schwarze Fläche im Bereich des Himmels beschreibt die 27 end Pixel, die als nicht bewölkt eingestuft wurden. 28 write imageTempSunClass to new file; Im nächsten Schritt kann die Suche der Sonne erfolgen. 29 return sunFound; 3.2 Suche der Sonne Die Sonne ist ein wichtiges Attribut des Wetters. Aus berücksichtigt, die als ”sonnig” klassifiziert wurden. Wird diesem Grund wurde für die Bilder mit sonnigem Wetter ein kleineres δ aus dem Intervall [0,1] gewählt, so werden eine eigene Klasse erzeugt. Dieser Klasse wurden Bilder zu- andere Objekte wie zum Beispiel weiße Wolken, als ”Sonne” geordnet, auf denen entweder die Sonne zu sehen ist oder falsch klassifiziert. Wird ein größeres δ gewählt, so entsteht besondere helle Stellen im Bereich des Himmels, die die das Problem, dass so gut wie auf keinem Bild die dargestellte Sonne vermuten lassen. Hierbei ist es nicht wichtig, zwis- Sonne die vorgegebene Helligkeit erreicht. Somit erweist sich chen den Klassen ”sonnig” und ”sonnig und bewölkt” zu der angegebene Wert als optimal. Die Abbildung 5 zeigt, unterscheiden, da die Sonne in jedem Bild zu Beginn der wie die Spiegelung der Sonne im Wasser als ”sonnig” erkannt Analyse gesucht wird. Der gegebene Pseudocode 2 schafft wird. Wird der Grenzwert auf 0.99 erhöht, behebt dies das Einblick in das entstandene Verfahren. In diesem Algo- Problem. (Siehe Abbildung 6) Wird bei demselben Bild der rithmus werden Eigenschaften einer möglichen Sonne unter- Wert noch weiter erhöht, so erfüllt kein einziger Pixel die sucht. Dabei wird zu Beginn die größte zusammenhängende Voraussetzung und die Sonne wird nicht mehr erkannt. Fläche der hellen Pixel in einem Bild gesucht. Um die Hel- Erfüllt ein Pixel diese Bedingung, so wird er zu einer oder ligkeit einzustufen, wird die folgende Formel verwendet: zwei Listen mit sonnigen Pixeln hinzugefügt. Jede Liste enthält dabei nur benachbarte Pixel. Werden zwei Nach- r ∗ 0.2126 + g ∗ 0.7152 + b ∗ 0.0722 luminance = barn in verschiedenen Listen gefunden, müssen diese zu einer 255 neuen Liste verschmolzen werden, bevor der neue Knoten wobei r, g, b Farbkanäle des RGB-Modells sind. hinzugefügt werden kann. Betrachtet wird die Vierer- Nachbarschaft. Wie sich in den ersten experimentellen Ver- Der Grenzwert von δ = 0.99 für die Lichtintensität ist suchen gezeigt hat, stellt die Grenze von 30 Objekten eine das Resultat der Auswertung der Ergebnisse der Sonnen- gute Schranke dar, um das Rauschen zu minimieren. En- suche in allen vorliegenden Bildern. Dabei wurden Bilder thält die größte Liste weniger als 30 Elemente, kann davon 30 FSC - FloodFill Sky Classification ausgegangen werden, dass es sich bei den hellen Pixeln um Rauschen handelt. Dieses Rauschen kann viele Ursachen Anschließend werden alle Distanzen mit einander ver- haben. Einige davon sind: eine Reflexion des Kamerablitzes, glichen. Dabei darf die kleinste Distanz nicht mehr als um eine Stromleitung oder helle Bergpixel, die aufgrund einer 20% von der größten abweichen. Wird die zusammenhän- Fehleinschätzung dem Himmel zugeordnet werden. Sind gende Fläche als rund erkannt, ist davon auszugehen, dass mehr als 30 Pixel gefunden worden, so muss die Menge es sich bei der Fläche um die Sonne handelt und sich die eine der folgenden drei Eigenschaften erfüllen: runde Form, restliche Laufzeit ersparen. Ist die Fläche jedoch nicht rund, Position an der Grenze des Bildes oder vom Berg teilweise so kann dies daran liegen, dass die Sonne am Bildrand liegt verdeckt. und stellenweise nicht komplett ins Bild mit aufgenommen Die erste Eigenschaft scheint selbsterklärend zu sein. Die wurde. Um dies zu prüfen, müssen die Koordinaten der Form einer unter idealen Wetterverhältnissen aufgenomme- äußersten Punkte der analysierten Fläche betrachtet wer- nen Sonne ist rund. Leider entspricht diese im überwiegen- den. Auch hier wird eine gewisse Abweichung in der Hel- den Teil der Aufnahmen keiner Kreisform. Auch abgese- ligkeit akzeptiert. Es ist ein bekanntes Problem der Fo- hen von den in der Datenbank vorliegenden Bildern, stellt tografie, dass die Schärfe in den Bildern zum Rand hin et- die Aufnahme der Sonne eine schwierige Angelegenheit dar. was abschwächen kann. Aus diesem Grund scheint auch Diese setzt eine besondere Ausstattung voraus. In den ein Abschwächen der Helligkeit plausibel zu sein. Bei der meisten Fällen werden Bilder jedoch mit einfachen Mitteln Untersuchung der Randpixel werden bis zu vier Pixel Ab- erzeugt, sodass die Qualität häufig nicht optimal ist. stand vom Rand toleriert. Liegt die Sonne nicht am Bil- Selbst bei Bildern, in denen eine vollständige kreisrunde drand, so kann sich ihre Position am Bergrand befinden. In Sonne abgebildet ist, ist die Helligkeit der Pixel in der diesem Fall ist die Form der Sonne unberechenbar. Ein- Mitte stets höher als am Rand. Es kann also nicht davon erseits kann es sich um beliebig große Kreisteile handeln, ausgegangen werden, dass alle Randpixel gleichermaßen in andererseits auch um eine untergehende oder aufgehende die Menge der hellen Pixel aufgenommen werden. Da die Sonne handeln, die aufgrund der Sonnenstrahlen beliebige Form trotzdem analysiert werden soll, empfiehlt es sich, eine Formen annehmen kann. Da bereits davon auszugehen ist, gewisse Varianz einzuführen. So kann beispielsweise eine dass die Fläche groß genug ist, reicht es auch hier, den Ab- ovale Sonne als rund akzeptiert werden. stand zum Berg zu untersuchen. Diese Stelle ist besonders Der Untersuchungsansatz basiert auf der Annahme, dass der fehleranfällig. Sobald die Abschätzung des Berges von der Abstand der äußersten Punkte der Sonne zum Mittelpunkt tatsächlichen Bergsilhouette abweicht, liegt die Sonne en- in etwa gleich groß sein muss. Um dies zu prüfen, muss tweder zu weit oder aber gar nicht im Bereich des Himmels. zu Beginn der Mittelpunkt der größten zusammenhängen- Um diese möglichen Abweichungen in die Berechnung mit den Fläche der hellen Pixel berechnet werden. Der Berech- einzubeziehen, wurde eine höhere Distanztoleranz angenom- nung des Mittelpunktes liegt die Durchschnittsberechnung men. Um jedoch mögliche ”false positives”, die aufgrund der zugrunde. Hierbei werden die Koordinaten aller Punkte je höheren Distanztoleranz entstehen, abzuschwächen, sucht Dimension aufsummiert und durch die Anzahl der betra- der Algorithmus nach größeren Pixelflächen. Entgegen der chteten Punkte dividiert. Um die erste Distanz zu berech- Untersuchung der Randposition ist es hier also nicht ausre- nen, muss zuerst die Entscheidung getroffen werden, welche ichend, einen einzelnen Pixel zu finden, der nah genug ist. Punkte verglichen werden sollen. Theoretisch ist es möglich, jeden einzelnen Randpunkt der potenziellen Sonne zu betra- chten. Dieser Ansatz ist zwar genau, jedoch sehr zeitinten- siv. Eine Verbesserung der Idee liegt darin, Repräsentanten der Randpunkte zu bestimmen. Diese müssen alle im gle- ichen Abstand gewählt werden. Anschließend wird der Abstand zwischen dem Mit- telpunkt und einem Repräsentanten berechnet. Hierfür di- ent das Ziffernblatt einer Uhr als anschauliches Beispiel. Figure 5: δ = 0.7 Figure 6: δ = 0.99 Ähnlich wie bei einer Uhr werden zwölf Punkte mit der gleichen Winkelweite ausgewählt. Zu diesem Zweck wird die Menge aller hellen Pixelpunkte an ihrem Mittelpunkt 3.3 Zusammenfassung gedreht. Der Rotationswinkel liegt stets bei 30◦ , so dass Zum Schluss müssen die Ergebnisse ausgewertet werden. nach 12 Umdrehungen wieder die Ausgangsmenge erreicht Sind sowohl Wolken als auch Sonne gefunden worden, ist wird. Auf diese Weise entstehen die Sonnenprofile. Von je- das Bild als ”sonnig und bewölkt” zu klassifizieren. Sind nur dem einzelnen Sonnenprofil kann nun der Abstand zwischen Wolken und keine Sonne gefunden worden, so kann auf die dem Mittelpunkt und dem äußersten Punkt orthogonal zur Klasse ”bewölkt” geschlossen werden. Wurde ausschließlich x-Achse berechnet werden. die Sonne gefunden, ist von der Klasse ”sonnig” auszugehen. Die Rotationsmatrix hat dabei die folgende Form: Wurden im Himmel keine relevanten Objekte gefunden, so handelt es sich um ”klaren Himmel”. Die Vielfalt der Möglichkeiten in den Bergbildern ist gren- newXValue = c.X +(p.X −c.X)∗cos(β)−(p.Y −c.Y )∗sin(β) zenlos. Ein perfektes Klassifizierungs-Modell wird daher möglicherweise nie existieren. newYValue = c.Y +(p.X −c.X)∗sin(β)+(p.Y −c.Y )∗cos(β) 4. AUSWERTUNG dabei ist p der Punkt, c das Zentrum und β der Nachfolgend werden in einer abschließenden Betrachtung Drehwinkel die wichtigsten Erkenntnisse zusammengefasst. 31 FSC - FloodFill Sky Classification Bildklasse Precision Recall F1-Measure Sonnig 0.744 0.800 0.771 Bewölkt 0.853 0.674 0.753 Bewölkt und sonnig 0.875 0.457 0.600 Klarer Himmel 0.811 0.968 0.883 Table 1: FSC Verfahren SVM CSift k-NN CSift k-NN Spektr. k-NN Text.u.Spekt. FCS F1-Measure 0.356 0.281 0.515 0.276 0.752 Table 2: Durschnitts F1 über alle Klassen Im Laufe der Arbeit wurden verschiedene Optionen der [2] G. Bradski and A. Kaehler. Learning OpenCV: Klassifizierung des Himmels erforscht. Dabei wurde eine Computer Vision with the OpenCV Library. O’Reilly Methode zur effektiven Abschätzung der Himmelsfläche Media, 2008. entwickelt. Es wurden verschiedene Klassifikatoren imple- [3] J. Calbo and J. Sabburg. Feature extraction from mentiert und an unterschiedlichen Bildmerkmalen getestet. whole-sky ground-based images for cloud-type Eine Klassifizierung des Himmels mittels k-NN- und recognition. Journal of Atmospheric and Oceanic SVM-Klassifikatoren, anhand von CSIFT Deskriptoren, hat Technology, 25(1):3–14, 2008. moderate Ergebnisse gezeigt.(Siehe Tab.2) Dabei wurde [4] N. Chaisri, S. Vanichprapa, and R. Chaisricharoen. die Nachbarschaft im Bereich von [1-10] im Falle von Cloud classification for weather application. k-NN betrachtet. Bei SVM wurde mit dem RBF-Kernel [5] Y. Changhui, Y. Yuan, M. Minjing, and Z. Menglu. gearbeitet und den empfohlenen Standartparametern. Zwar Cloud detection method based on feature extraction in wurden alle Deskriptoren mit CSIFT berechnet, jedoch remote sensing images. ISPRS-International Archives sind nicht alle darunter invariant bezüglich Translation, of the Photogrammetry, Remote Sensing and Spatial Rotation und Skalierung, weil alle Merkmale im Bereich Information Sciences, 1(1):173–177, 2013. des Himmels nach einem Gitter-Prinzip extrahiert wurden. [6] S. Dev, Y. H. Lee, and S. Winkler. Categorization of Eine Keypoint-Suche mittels des CSIFT bliebe für den cloud image patches using an improved texton-based Himmel beinahe erfolglos. approach. In Image Processing (ICIP), 2015 IEEE Deutlich bessere Ergebnisse zeigten sich während der International Conference on, pages 422–426. IEEE, Klassifizierung an Spektral-Merkmalen, insbesondere unter 2015. Einbeziehung von Sonnen- und Wolken-Features. Die [7] R. M. Haralick, K. Shanmugam, and I. H. Dinstein. Ergänzung der Features durch Textur-Merkmale hat keine Textural features for image classification. Systems, Man Verbesserung der Evaluationsergebnisse erzeugt. Unter den and Cybernetics, IEEE Transactions on, (6):610–621, Klassifikatoren hat, der in dieser Arbeit zum ersten Mal 1973. vorgestellte FSC-Algorithmus, die höchste Genauigkeit mit einem durchschnittlichen F1-Wert von 0.752 demonstriert. [8] A. Heinle, A. Macke, and A. Srivastav. Automatic Einen tieferen Einblick zeigt die Tabelle 1. cloud classification of whole sky images. Atmospheric Measurement Techniques, 3(3):557–567, 2010. [9] S. Liu and Z. Zhang. Learning discriminative salient lbp for cloud classification in wireless sensor networks. 5. AUSBLICK International Journal of Distributed Sensor Networks, Mit Hilfe des FSC-Klassifikators lässt sich der Him- 2015, 2015. mel in Bildern kategorisieren. Im nächsten Schritt kann die Suche nach dem leistungsstärksten Segmentierungsal- gorithmus für jede Himmelsklasse in Abhängigkeit von den Bildeigenschaften erfolgen. Wünschenswert bleibt eine größere Bildersammlung mit bereits vorliegenden Segmen- tierungsmasken. Bisher bleibt [1] die einzige bekannte freiverfügbare Bergbildersammlung. In der Zukunft gibt es die Option diese weiter zu erweitern. Außerdem besteht die Überlegung eine Vorverarbeitung mittels Kantenschärfung vorzunehmen und auf diesem Wege den Übergang zwischen der Bergebene und dem Himmel deutlicher hervorzuheben. 6. REFERENCES [1] G. Baatz, O. Saurer, K. Köser, and M. Pollefeys. Large scale visual geo-localization of images in mountainous terrain. In Computer Vision–ECCV 2012, pages 517–530. Springer, 2012. 32