<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>FSC - FloodFill Sky Classification</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kirill Bogomasov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Heinrich-Heine-Universität Düsseldorf Institut für Informatik Universitätsstraße 1 40225 Düsseldorf</institution>
          ,
          <country country="DE">Deutschland</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>27</fpage>
      <lpage>32</lpage>
      <abstract>
        <p>Diese Arbeit behandelt die Klassifizierung des Himmels in Bergbildern. Zu Beginn wird ein Verfahren zur Abscha¨tzung des Himmels in einem Bild vorgestellt. Im Anschluss folgt die Vorstellung eines auf FloodFill-basierenden Klassifikators. Abschließend werden die Ergebnisse verschiedener Klassifikatoren vorgestellt. Eine Klassifizierung des Himmels dient der Vorbereitung fu¨r eine spa¨tere Segmentierung der Bergsilhouette. Dabei soll jeder Himmelsklasse ein passendes Segmentierungsverfahren zugeordnet werden. Zu diesem Zweck wird ein neuer Himmelsklassifikator vorgestellt, welcher zwischen vier Himmelskategorien unterscheidet und viel versprechende Ergebnisse liefert.</p>
      </abstract>
      <kwd-group>
        <kwd>Classification</kwd>
        <kwd>Sky Recognition</kwd>
        <kwd>Silhouette Extraction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>EINLEITUNG</title>
      <p>1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Verwandte Verfahren</title>
      <p>
        Anna Heinle arbeitet in Paper [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] mit einem Set
hauptsa¨chlich statistischer Features, die sowohl die Farbe als auch
die Struktur beschreiben. Zur Klassifizierung wird ein
kNN-Klassifikator benutzt. Dem Modell liegt eine
Trainingsmenge von 200 Bildern je Trainingsklasse zugrunde.
Die Grundannahme der Wolkenerkennung beruht auf einem
geringeren Rotwert innerhalb der Bereiche des klaren
Himmels. Yu Changhui [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] stellt in seiner Arbeit ein weiteres
Verfahren vor, um die Trennung von bewo¨lkten Bildern und
solchen, die keine Wolken enthalten, sicherzustellen. Er
verwendet eine Zusammensetzung aus Grauwert-,
Frequenzund Strukturfeatures. Einen weiteren interessanten Ansatz
liefert Nurak Chaisri in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Dieser nutzt das ”Multilayer
Perceptron neural network (MLP-NN)”. Gearbeitet wird
mit 18 charakteristischen Parametern fu¨r Farb-,
Strukturund Power Spectrum Features. Anschließend kann der
Klassifikator entscheiden, ob die Wolken zu Niederschlag
neigen oder nicht. Auch [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] befasst sich mit
Wolkenklassifikation. Die Idee liegt hier in der Benutzung von
Textons. Das Texton-Lexikon wird aus k-Means Cluster Zentren
erzeugt. Die Bilder der Deskriptoren werden u¨ber S-Filter
erzeugt. Anschließend werden auf der Basis eines
Vergleichs jeden Pixels mit der Texton-Bibliothek ”discriminative”
Histogramm-Modelle fu¨r jede Kategorie erzeugt. Ein
weiterer Ansatz zur Wolkenklassifikation findet sich in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Dieser
basiert ebenfalls auf statistischen Messungen und wird durch
Fourier Transformation erga¨nzt. Aus der Analyse der Daten
nach der Tranformation wurde eine Mustererkennung
erhofft. Jedoch wurde der Ansatz wieder verworfen. Dies liegt
hauptsa¨chlich daran, dass aufgrund der hohen Variation im
Bereich des Himmels die Transformation keine nennenswerte
Erkenntnis aus den Daten liefert. Auch funktioniert die
Kantenerkennung nicht optimal. Im [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] beschreibt Shuang
Liu ein zweistufiges Verfahren, welches die wenig funktionale
Fourier Transformation durch LBP Histogramme ersetzt.
Diese sind rotationsbesta¨ndig und werden fu¨r jedes Bild aus
jeder Klasse erzeugt, die Wolken entha¨lt. Fu¨r die
Auswertung wird eine Grauwert-Konvertierung vorgenommen.
      </p>
      <p>
        Eine wichtige Beobachtung aus den betrachteten
Verfahren ist, dass die pra¨ziseren Ergebnisse auf Farb- und
Strukturfeatures zuru¨ckgehen. Bei den Farbfeatures wird
grundsa¨tzlich u¨ber den Vergleich der verschiedenen
Farbkana¨le gearbeitet. Die Strukturfeatures lassen sich auf die
Arbeit [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] zuru¨ckfu¨hren. Die Einschra¨nkung bei allen diesen
Verfahren liegt in der Benutzung von sogenannten ”whole
sky images”. Dabei handelt es sich um Bilder, die
ausschließlich Himmel enthalten. Dadurch wird die Abgrenzung
des untersuchten Bereiches erspart und die Herausforderung
deutlich reduziert. Weiterhin findet in den vorgestellten
Werken hauptsa¨chlich eine Trennung in bewo¨lkt und
unbewo¨lkt statt, jedoch keine echte Klassifizierung des
Himmels. Dies ist daran zu erkennen, dass beispielsweise der
Fall ”Sonne” bei keinem Verfahren vorgestellt ist.
1.2
      </p>
    </sec>
    <sec id="sec-3">
      <title>Bildersammlung und Datengrundlage</title>
      <p>
        Die genutzten Bilder sind Grundlage des von Georges
Baatz, Olivier Saurer, Kevin Ko¨ser und Marc Pollefeys unter
dem Titel ”Large Scale Visual Geo-Localization of Images in
Mountainous Terrain” vero¨ffentlichten Papers [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Zu Beginn werden die unsortierten Bilder in Kategorien
eingeteilt. Dazu wurden drei Kategorien gewa¨hlt. Diese
sind ”klarer Himmel”, ”sonnig” und ”bewo¨lkt”, sie sind
essentiell. Die Kategorie ”sonnig” definiert Bilder, auf denen
entweder die komplette Sonne oder ein Teil davon abgebildet
ist. Diese kann von Bergen verdeckt oder am Rande des
Bildes vorzufinden sein. Dadurch ist sie oftmals nicht
vollsta¨ndig. Auch Fotos, auf denen besonders helle
Sonnenstrahlen festgehalten sind und die Sonne hinter dem
Bildrand oder dem Berg vermuten lassen, besitzen a¨hnliche
Eigenschaften bezu¨glich der Bildhelligkeit und der Farben
des Himmels. Somit geho¨ren sie auch der Klasse ”sonnig”
an. Die Klasse ”bewo¨lkt” entha¨lt alle Bilder, in denen eine
Bewo¨lkung vorliegt. Die Intensita¨t und die Dichte
spielen im Gegensatz zur Anfangsannahme keine Rolle mehr.
Die Klasse ”klarer Himmel” entha¨lt die restlichen Bilder
der Datenbank. Sie umfasst alle Bilder, in denen weder
Sonne noch Wolken abgebildet sind. Durch das strikte
Kategorisieren der Bilder entsteht das Problem der mehrfachen
Zuordnung in die einzelnen Klassen. So ko¨nnen auf einem
Bild sowohl Sonne als auch Wolken zu sehen sein. Da dieser
Fall bei einer nicht vernachla¨ssigbaren Anzahl von Bilder
vorzufinden ist, wird eine weitere Klasse definiert - ”bewo¨lkt
und sonnig”.</p>
      <p>Fu¨r weitere Bilder wurden mehrere Online
Bilderdatenbanken nach lizensfreien Bildern durchsucht. Die meisten
der gefundenen Bilder stammen von www.flickr.com.
Die Auflo¨sung der zusa¨tzlichen Aufnahmen wurde nach
Mo¨glichkeit a¨hnlich der Auflo¨sung der bereits vorhandenen
Objekte gewa¨hlt. In anderen Fa¨llen wurden die Bilder
einem Schnitt unterzogen. Zu allen neuen Bildern wurde
vom Lehrstuhl mithilfe eines bereits fertigen interaktiven
Verfahrens eine Bina¨rmaske erzeugt.</p>
      <p>Insgesamt umfasst die Datenbank 43 Bilder der Klasse
”bewo¨lkt”, 45 Bilder in der Klasse ”bewo¨lkt und sonnig”, 40
Bilder in der Klasse ”sonnig” und 124 Bilder in der Klasse
”klarer Himmel”. Die Anzahl der Bilder in der Klasse ”klarer
Himmel” wurde nicht reduziert, weil auf verfu¨gbare
Informationen nicht verzichtet werden sollte.
1.3</p>
    </sec>
    <sec id="sec-4">
      <title>Abschätzung des Himmels</title>
      <p>Eine Klassifizierung des Wetters erfordert eine mo¨glichst
treffende Abscha¨tzung des Himmels. Dabei ist es wichtig
mit der Abscha¨tzung mo¨glichst nah an die Grenze zwischen
Berg und Himmel zugelangen. Es ist nicht ungewo¨hnlich,
dass sich Wolken in einer geringen Ho¨he oberhalb der Berge
befinden. Auch Sonnenauf- und Sonnenunterga¨nge sind ein
ha¨ufiges Bildmotiv. Eine zu geringe Fla¨che fu¨hrt zu einem
potentiellen Klassifikationsfehler. Eine zu großgescha¨tzte
Fla¨che fu¨hrt zu neuen Problemen. In diesem Fall werden
Bergspitzen mit ausgewertet. Dies kann dazu fu¨hren, dass
Berge wolkena¨hnliche Eigenschaften besitzen und als solche
gedeutet werden. In Folge dessen wu¨rde eine
Missklassifizierung begu¨nstigt werden. An diesen Fa¨llen wird deutlich,
dass eine ungenaue Abscha¨tzung der Ra¨nder maßgebliche
Folgen fu¨r die Klassifizierung haben kann.</p>
      <p>Es gibt unterschiedliche Mo¨glichkeiten, eine Abscha¨tzung
vorzunehmen. Eine naive Abscha¨tzung stellt zum Beispiel
den einfachsten Weg dar. Hierbei wird eine Boundary Box
in Abha¨ngigkeit von der Bildgro¨ße aufgestellt. Die
Problematik die dadurch entsteht liegt darin, dass die Ho¨he des
Horizonts sehr stark variieren kann und deshalb eine
Abscha¨tzung mittels eines festen Wertes sehr schwierig ist. Fu¨r
eine solche Abscha¨tzung kommt nur ein
Segmentierungsverfahren in Frage. Am besten eignen sich hier Methoden, die
iterativ das Bild ”fluten”.</p>
      <p>Aus diesem Grund fa¨llt die Entscheidung auf FloodFill. Der
Algorithmus findet Fla¨chen, die dieselbe Farbe besitzen,
und ersetzt diese durch eine andere. Zu Beginn des
Programmablaufs muss ein Pixel als Startpunkt definiert
werden. Ein weiterer Pflichtparameter ist die Zielfarbe. Ist die
Farbe ersetzt worden, wird die Nachbarschaft des jeweiligen
Pixels betrachtet. Der Aufruf erfolgt rekursiv. Es kann die
Vierer-(engl. 4-Neighbour) oder die Achter-Nachbarschaft
(engl. 8-Neighbour) betrachtet werden. Fu¨r die
Laufzeitoptimierung des Algorithmus sowie zum Zwecke der
Ausreißerminimierung werden nur Vierer-Nachbarschaften(engl.
4Neighbour) betrachtet.</p>
      <p>Um den Algorithmus effektiver zu gestalten, kann die
akzeptierte Farbe mit Hilfe einer tolerierten
Mindestbeziehungsweise Ho¨chstabweichung erweitert werden. In
Bergbildern hat sich eine Abweichung von 5 Helligkeitsstufen
als sinnvoll erwiesen.</p>
      <p>
        Bei der betrachteten Problemstellung besteht die Hoffnung,
dass mit FloodFill homogene Bildelemente im Bereich des
Himmels zu Regionen verschmolzen werden. Als
Ausgangspunkt dient der Punkt mit der ho¨chsten
Wahrscheinlichkeit, ein Himmelspunkt zu sein. Die gesamte oberste
Pixelreihe des Bildes besitzt die ho¨chste Wahrscheinlichkeit
dem Himmel anzugeho¨ren. Es ist anzunehmen, dass auf
keinem Bild in der obersten Reihe ein Berg vorzufinden ist.
Insbesondere eignet sich FloodFill, um umrandete oder
angrenzende Fla¨chen auszufu¨llen. Im Idealfall stellt die Grenze
zwischen dem Berg und dem Himmel den Rand dar. Als
Resultat entsteht eine Segmentierungsmaske. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
      </p>
      <p>Das Resultat einer Abscha¨tzung sollte ein Polygon sein,
welches im Idealfall die Silhouette des Berges beschreibt. Zu
diesem Zweck wurde ein eigenes Verfahren zur
Himmelsabscha¨tzung entwickelt.</p>
    </sec>
    <sec id="sec-5">
      <title>FSE - FLOODFILL SKY ESTIMATION</title>
      <p>Zu Beginn des Algorithmus wird FloodFill ausgefu¨hrt.
Dabei wird das Verfahren in zwei der drei mo¨glichen
Varianten (Color, Grey-Mask) aufgerufen. Der Grund fu¨r einen
mehrfachen Aufruf ist, dass jede Methode in
verschiedenen Helligkeitsverha¨ltnissen ihre Sta¨rken aufweist. So hat
das Konzept, welches Farbkana¨le vorsieht, seine Vorzu¨ge bei
klarem blauen Himmel, sowie bei so gut wie allen
Wolkentypen. Einzig bei tiefen und konturlosen Wolken schneidet
es schlecht ab. Mit der Grey-Mask-Variante hingegen
funktioniert das Verfahren recht gut bei nebeligen Bildern. Auch
bei sonnigen Bilder schneidet es deutlich besser ab. Somit
scheint es sinnvoll zu sein, beide Verfahren zu kombinieren.
Nachdem als Resultat zwei verschiedene Bilder erzeugt
wurden mu¨ssen die Ergebnisse analysiert werden. Die Analyse
dient dazu, das Bild mit den wenigsten Fehlern zu finden.
Zu Beginn wird das Resultat des Farbbildes analysiert. Der
Analyse liegen drei Aspekte zugrunde. Es wird untersucht,
ob die entstandene Fla¨che bru¨chig ist, so wie dies beim
FloodFill-Resultat mit Farbe der Fall ist. Außerdem wird
gepru¨ft, ob Bildpunkte im Bereich des Bodens u¨berschrieben
wurden. Wenn dies der Fall ist, so ist FloodFill bis zum
Boden durchgelaufen. In der Regel sind auf den Bildern jedoch
Berge zu sehen, die die gesamte Breite des Bildes einnehmen.
La¨uft FloodFill von oben, wo der Startpunkt liegt, bis
unten durch, so handelt es sich ho¨chstwahrscheinlich um einen
Fehler.</p>
      <p>Des Weiteren wird der Anteil der gefundenen Himmelsfla¨che
am Gesamtbild gepru¨ft. Ist dieser zu groß, kann das
Resultat verworfen werden. Als Grenze dient ein Schwellenwert
von 80%, welcher im Rahmen der Untersuchung entstand.
Dieser Schwellenwert ist darauf zuru¨ckzufu¨hren, dass eine
Abbildung von weniger als 20 % des Berges auf der
Bildfla¨che unu¨blich ist.</p>
      <p>Werden die drei Bedingungen erfu¨llt, kann mit dem Bild
weiter gearbeitet werden. Andernfalls muss es verworfen
und mit der na¨chsten FloodFill-Variante, der ”Grey Mask”,
gearbeitet werden. In beiden Fa¨llen wird im na¨chsten
Schritt FloodFill von unten nach oben durchlaufen.
Anschließend wird das Resultat aufgearbeitet. Die leeren
inneren Fla¨chen, die vom Berg umschlossen sind werden,
aufgefu¨llt. Dies ist deutlich in den Abbildungen 1 und 2 zu
erkennen.</p>
      <p>Geha¨uft treten Fehler im Bereich der Ra¨nder auf. Um das
Problem zu beseitigen, werden vor der Polygon-Extraktion
aus dem Resultat die Ra¨nder bereinigt. Es hat sich
herausgestellt, dass die besten Ergebnisse zustande kommen,
wenn im oberen Bereich des Bildes die oberste Pixelreihe
nachgebessert wird. An den seitlichen Ra¨ndern werden
jeweils die a¨ußersten Spalten u¨berschrieben. Im Laufe der
Bereinigung werden alle Randpixel, die nach der Segmentierung
zum Berg geho¨ren, dem Himmel zugeordnet. Die Ho¨he der
neuen seitlichen Randspalten des Berges richtet sich nach
der Ho¨he der zweiten, beziehungsweise der vorletzten Spalte
des Bildrasters. Anschließend findet ein erneuter
FloodFillAufruf statt. Bei diesem werden die fehlerhaften Fla¨chen
innerhalb des Himmels nicht mehr mit beru¨cksichtigt. Diese
Abscha¨tzung wird im folgenden Klassifizierungsverfahren
genutzt.
3.</p>
    </sec>
    <sec id="sec-6">
      <title>FSC - FLOODFILL SKY CLASSIFICA</title>
    </sec>
    <sec id="sec-7">
      <title>TION</title>
      <p>Bei der FSC-Klassifizierung handelt es sich um einen
Klassifikator, welcher nicht erlernt werden muss und sofort mit
der Klassifikation beginnen kann. Zu Beginn erfolgt fu¨r
jedes Bild der Testmenge eine Abscha¨tzung des Himmels
mit dem Verfahren nach Kapitel 2. Sobald der Bereich des
Himmels mit dem Silhouette-Polygon definiert ist, kann mit
der Analyse des Himmels begonnen werden. Dem
Algorithmus liegt die ”FloodFill”-Technik zugrunde. Es wird mit der
”Graumaske” gearbeitet. Zu Beginn des Ablaufs erfolgt eine
statistische Analyse der Grauwerte. An dieser Stelle muss
gepru¨ft werden, wie hoch der Anteil der schwarzen Pixel
am gesamten Bild ist. Liegt ihr Anteil bei u¨ber 95 %, so
ist davon auszugehen, dass das resultierende Bild sehr
verrauscht ist. Meistens liegt die Ursache in einer Unscha¨rfe,
die durch Nebel oder Sonne erzeugt wird. Wird das Bild als
verrauscht erkannt, muss eine Sonderbehandlung erfolgen.
Es folgt eine Optimierung der FloodFill-Parameter, a¨hnlich
wie bereits wa¨hrend der Abscha¨tzung.</p>
      <p>Im Anschluss findet eine erneute U¨ berpru¨fung der
Pixelhelligkeit statt. Ist das Bild noch immer sehr verrauscht
und u¨berschreitet den festgelegten Grenzwert, wird es in
eine ku¨nstliche Klasse ”bright/low contrast” abgelegt. Diese
Klasse stellt einen Sonderfall dar und kann bisher nicht
anders behandelt werden. Jedoch ist der Anteil solcher Bilder
relativ gering und liegt bei den vorhandenen Aufnahmen
bei unter 1 %. Erfu¨llt das Bild alle Kriterien, so beginnt
die Klassifizierung. Das Verfahren la¨sst sich in zwei Schritte
untergliedern.</p>
      <p>Im ersten findet eine Wolkensuche statt. Im zweite wird
nach der Sonne gesucht. Die Wolkensuche erfolgt nach dem
Algorithmus 1
3.1</p>
    </sec>
    <sec id="sec-8">
      <title>Suche von Wolken</title>
      <p>Das Verfahren trifft fu¨r jeden Pixel die Entscheidung, ob
dieser Bestandteil einer Wolke ist oder nicht.</p>
      <p>
        Ein Pixel wird nur dann betrachtet, wenn dieser oberhalb
der Silhouette liegt. Nur dann geho¨rt er zum Himmel. Die
Bestimmung, ob ein Pixel als ”Wolke” klassifiziert werden
kann oder nicht, beruht auf dem Vergleich der Intensita¨ten
α von Farbkana¨len wie in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>α =
red channel value
blue channel value</p>
      <p>
        Liegt der Wert α bei 0.9 oder ho¨her, ist der Pixel als Wolke
zu klassifizieren. Der Wert, der bereits von A.Heinle in
ihrem Paper vorgeschlagen wurde, wurde wa¨hrend einer
empirischen Untersuchung besta¨tigt. Dabei wurden α-Werte
im Intervall [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ] betrachtet.
      </p>
      <sec id="sec-8-1">
        <title>Algorithm 1: Die Suche nach Wolken in Bildern</title>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>Suche der Sonne</title>
      <p>Die Sonne ist ein wichtiges Attribut des Wetters. Aus
diesem Grund wurde fu¨r die Bilder mit sonnigem Wetter
eine eigene Klasse erzeugt. Dieser Klasse wurden Bilder
zugeordnet, auf denen entweder die Sonne zu sehen ist oder
besondere helle Stellen im Bereich des Himmels, die die
Sonne vermuten lassen. Hierbei ist es nicht wichtig,
zwischen den Klassen ”sonnig” und ”sonnig und bewo¨lkt” zu
unterscheiden, da die Sonne in jedem Bild zu Beginn der
Analyse gesucht wird. Der gegebene Pseudocode 2 schafft
Einblick in das entstandene Verfahren. In diesem
Algorithmus werden Eigenschaften einer mo¨glichen Sonne
untersucht. Dabei wird zu Beginn die gro¨ßte zusammenha¨ngende
Fla¨che der hellen Pixel in einem Bild gesucht. Um die
Helligkeit einzustufen, wird die folgende Formel verwendet:
luminance =
r ∗ 0.2126 + g ∗ 0.7152 + b ∗ 0.0722
255
wobei r, g, b Farbkana¨le des RGB-Modells sind.</p>
      <p>Der Grenzwert von δ = 0.99 fu¨r die Lichtintensita¨t ist
das Resultat der Auswertung der Ergebnisse der
Sonnensuche in allen vorliegenden Bildern. Dabei wurden Bilder</p>
      <sec id="sec-9-1">
        <title>Algorithm 2: Die Suche der Sonne in Bildern</title>
        <p>1 findTheSun (mountSil, picP ath);</p>
        <p>Input : mountSil - polygon that describes the
mountain silhouette, picPath - path to the
picture to be analyzed
Output: true if the sun is found on the picture, false
otherwise
2 read in the picture from the given path;
3 imageTempSunClass := copy of the original image held
in memory;
4 coherentAreaList := empty list of pixel sets;
5 sunFound := false;
6 foreach pixel do
7 if pixel belongs to sky then
8 if pixel is bright enough then
9 // eventually it belongs to the sun
10 add pixel to coherentAreaList;
11 set pixel color to bright green in</p>
        <p>imageTempSunClass;
12 end
13 end
14 end
15 potentialSun := biggest coherent area in</p>
        <p>
          coherentAreaList;
16 countSunPixels := number of pixels in potentialSun;
17 // consider area as sun if it has min. 30 pixels
18 if countSunPixels &gt; 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
25 sunFound := true;
26 end
27 end
28 write imageTempSunClass to new file;
29 return sunFound;
beru¨cksichtigt, die als ”sonnig” klassifiziert wurden. Wird
ein kleineres δ aus dem Intervall [
          <xref ref-type="bibr" rid="ref1">0,1</xref>
          ] gewa¨hlt, so werden
andere Objekte wie zum Beispiel weiße Wolken, als ”Sonne”
falsch klassifiziert. Wird ein gro¨ßeres δ gewa¨hlt, so entsteht
das Problem, dass so gut wie auf keinem Bild die dargestellte
Sonne die vorgegebene Helligkeit erreicht. Somit erweist sich
der angegebene Wert als optimal. Die Abbildung 5 zeigt,
wie die Spiegelung der Sonne im Wasser als ”sonnig” erkannt
wird. Wird der Grenzwert auf 0.99 erho¨ht, behebt dies das
Problem. (Siehe Abbildung 6) Wird bei demselben Bild der
Wert noch weiter erho¨ht, so erfu¨llt kein einziger Pixel die
Voraussetzung und die Sonne wird nicht mehr erkannt.
Erfu¨llt ein Pixel diese Bedingung, so wird er zu einer oder
zwei Listen mit sonnigen Pixeln hinzugefu¨gt. Jede Liste
entha¨lt dabei nur benachbarte Pixel. Werden zwei
Nachbarn in verschiedenen Listen gefunden, mu¨ssen diese zu einer
neuen Liste verschmolzen werden, bevor der neue Knoten
hinzugefu¨gt werden kann. Betrachtet wird die
ViererNachbarschaft. Wie sich in den ersten experimentellen
Versuchen gezeigt hat, stellt die Grenze von 30 Objekten eine
gute Schranke dar, um das Rauschen zu minimieren.
Entha¨lt die gro¨ßte Liste weniger als 30 Elemente, kann davon
ausgegangen werden, dass es sich bei den hellen Pixeln um
Rauschen handelt. Dieses Rauschen kann viele Ursachen
haben. Einige davon sind: eine Reflexion des Kamerablitzes,
eine Stromleitung oder helle Bergpixel, die aufgrund einer
Fehleinscha¨tzung dem Himmel zugeordnet werden. Sind
mehr als 30 Pixel gefunden worden, so muss die Menge
eine der folgenden drei Eigenschaften erfu¨llen: runde Form,
Position an der Grenze des Bildes oder vom Berg teilweise
verdeckt.
        </p>
        <p>Die erste Eigenschaft scheint selbsterkla¨rend zu sein. Die
Form einer unter idealen Wetterverha¨ltnissen
aufgenommenen Sonne ist rund. Leider entspricht diese im
u¨berwiegenden Teil der Aufnahmen keiner Kreisform. Auch
abgesehen von den in der Datenbank vorliegenden Bildern, stellt
die Aufnahme der Sonne eine schwierige Angelegenheit dar.
Diese setzt eine besondere Ausstattung voraus. In den
meisten Fa¨llen werden Bilder jedoch mit einfachen Mitteln
erzeugt, sodass die Qualita¨t ha¨ufig nicht optimal ist.
Selbst bei Bildern, in denen eine vollsta¨ndige kreisrunde
Sonne abgebildet ist, ist die Helligkeit der Pixel in der
Mitte stets ho¨her als am Rand. Es kann also nicht davon
ausgegangen werden, dass alle Randpixel gleichermaßen in
die Menge der hellen Pixel aufgenommen werden. Da die
Form trotzdem analysiert werden soll, empfiehlt es sich, eine
gewisse Varianz einzufu¨hren. So kann beispielsweise eine
ovale Sonne als rund akzeptiert werden.</p>
        <p>Der Untersuchungsansatz basiert auf der Annahme, dass der
Abstand der a¨ußersten Punkte der Sonne zum Mittelpunkt
in etwa gleich groß sein muss. Um dies zu pru¨fen, muss
zu Beginn der Mittelpunkt der gro¨ßten
zusammenha¨ngenden Fla¨che der hellen Pixel berechnet werden. Der
Berechnung des Mittelpunktes liegt die Durchschnittsberechnung
zugrunde. Hierbei werden die Koordinaten aller Punkte je
Dimension aufsummiert und durch die Anzahl der
betrachteten Punkte dividiert. Um die erste Distanz zu
berechnen, muss zuerst die Entscheidung getroffen werden, welche
Punkte verglichen werden sollen. Theoretisch ist es mo¨glich,
jeden einzelnen Randpunkt der potenziellen Sonne zu
betrachten. Dieser Ansatz ist zwar genau, jedoch sehr
zeitintensiv. Eine Verbesserung der Idee liegt darin, Repra¨sentanten
der Randpunkte zu bestimmen. Diese mu¨ssen alle im
gleichen Abstand gewa¨hlt werden.</p>
        <p>Anschließend wird der Abstand zwischen dem
Mittelpunkt und einem Repra¨sentanten berechnet. Hierfu¨r
dient das Ziffernblatt einer Uhr als anschauliches Beispiel.
A¨ hnlich wie bei einer Uhr werden zwo¨lf Punkte mit der
gleichen Winkelweite ausgewa¨hlt. Zu diesem Zweck wird
die Menge aller hellen Pixelpunkte an ihrem Mittelpunkt
gedreht. Der Rotationswinkel liegt stets bei 30◦, so dass
nach 12 Umdrehungen wieder die Ausgangsmenge erreicht
wird. Auf diese Weise entstehen die Sonnenprofile. Von
jedem einzelnen Sonnenprofil kann nun der Abstand zwischen
dem Mittelpunkt und dem a¨ußersten Punkt orthogonal zur
x-Achse berechnet werden.</p>
        <p>Die Rotationsmatrix hat dabei die folgende Form:
newXValue = c.X +(p.X −c.X)∗cos(β)−(p.Y −c.Y )∗sin(β)
newYValue = c.Y +(p.X −c.X)∗sin(β)+(p.Y −c.Y )∗cos(β)
dabei ist p der Punkt, c das Zentrum und β der
Drehwinkel</p>
        <p>Anschließend werden alle Distanzen mit einander
verglichen. Dabei darf die kleinste Distanz nicht mehr als um
20% von der gro¨ßten abweichen. Wird die
zusammenha¨ngende Fla¨che als rund erkannt, ist davon auszugehen, dass
es sich bei der Fla¨che um die Sonne handelt und sich die
restliche Laufzeit ersparen. Ist die Fla¨che jedoch nicht rund,
so kann dies daran liegen, dass die Sonne am Bildrand liegt
und stellenweise nicht komplett ins Bild mit aufgenommen
wurde. Um dies zu pru¨fen, mu¨ssen die Koordinaten der
¨außersten Punkte der analysierten Fla¨che betrachtet
werden. Auch hier wird eine gewisse Abweichung in der
Helligkeit akzeptiert. Es ist ein bekanntes Problem der
Fotografie, dass die Scha¨rfe in den Bildern zum Rand hin
etwas abschwa¨chen kann. Aus diesem Grund scheint auch
ein Abschwa¨chen der Helligkeit plausibel zu sein. Bei der
Untersuchung der Randpixel werden bis zu vier Pixel
Abstand vom Rand toleriert. Liegt die Sonne nicht am
Bildrand, so kann sich ihre Position am Bergrand befinden. In
diesem Fall ist die Form der Sonne unberechenbar.
Einerseits kann es sich um beliebig große Kreisteile handeln,
andererseits auch um eine untergehende oder aufgehende
Sonne handeln, die aufgrund der Sonnenstrahlen beliebige
Formen annehmen kann. Da bereits davon auszugehen ist,
dass die Fla¨che groß genug ist, reicht es auch hier, den
Abstand zum Berg zu untersuchen. Diese Stelle ist besonders
fehleranfa¨llig. Sobald die Abscha¨tzung des Berges von der
tatsa¨chlichen Bergsilhouette abweicht, liegt die Sonne
entweder zu weit oder aber gar nicht im Bereich des Himmels.
Um diese mo¨glichen Abweichungen in die Berechnung mit
einzubeziehen, wurde eine ho¨here Distanztoleranz
angenommen. Um jedoch mo¨gliche ”false positives”, die aufgrund der
ho¨heren Distanztoleranz entstehen, abzuschwa¨chen, sucht
der Algorithmus nach gro¨ßeren Pixelfla¨chen. Entgegen der
Untersuchung der Randposition ist es hier also nicht
ausreichend, einen einzelnen Pixel zu finden, der nah genug ist.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>AUSWERTUNG</title>
      <p>Nachfolgend werden in einer abschließenden Betrachtung
die wichtigsten Erkenntnisse zusammengefasst.</p>
      <sec id="sec-10-1">
        <title>Bildklasse</title>
      </sec>
      <sec id="sec-10-2">
        <title>Sonnig</title>
        <p>Bewo¨lkt
Bewo¨lkt und sonnig
Klarer Himmel
k-NN Spektr. k-NN Text.u.Spekt.</p>
      </sec>
      <sec id="sec-10-3">
        <title>F1-Measure 0.356 0.281 0.515 0.276</title>
        <p>
          0.752
Im Laufe der Arbeit wurden verschiedene Optionen der
Klassifizierung des Himmels erforscht. Dabei wurde eine
Methode zur effektiven Abscha¨tzung der Himmelsfla¨che
entwickelt. Es wurden verschiedene Klassifikatoren
implementiert und an unterschiedlichen Bildmerkmalen getestet.
Eine Klassifizierung des Himmels mittels k-NN- und
SVM-Klassifikatoren, anhand von CSIFT Deskriptoren, hat
moderate Ergebnisse gezeigt.(Siehe Tab.2) Dabei wurde
die Nachbarschaft im Bereich von [
          <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7 ref8 ref9">1-10</xref>
          ] im Falle von
k-NN betrachtet. Bei SVM wurde mit dem RBF-Kernel
gearbeitet und den empfohlenen Standartparametern. Zwar
wurden alle Deskriptoren mit CSIFT berechnet, jedoch
sind nicht alle darunter invariant bezu¨glich Translation,
Rotation und Skalierung, weil alle Merkmale im Bereich
des Himmels nach einem Gitter-Prinzip extrahiert wurden.
Eine Keypoint-Suche mittels des CSIFT bliebe fu¨r den
Himmel beinahe erfolglos.
        </p>
        <p>Deutlich bessere Ergebnisse zeigten sich wa¨hrend der
Klassifizierung an Spektral-Merkmalen, insbesondere unter
Einbeziehung von Sonnen- und Wolken-Features. Die
Erga¨nzung der Features durch Textur-Merkmale hat keine
Verbesserung der Evaluationsergebnisse erzeugt. Unter den
Klassifikatoren hat, der in dieser Arbeit zum ersten Mal
vorgestellte FSC-Algorithmus, die ho¨chste Genauigkeit mit
einem durchschnittlichen F1-Wert von 0.752 demonstriert.
Einen tieferen Einblick zeigt die Tabelle 1.</p>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>AUSBLICK</title>
      <p>
        Mit Hilfe des FSC-Klassifikators la¨sst sich der
Himmel in Bildern kategorisieren. Im na¨chsten Schritt kann
die Suche nach dem leistungssta¨rksten
Segmentierungsalgorithmus fu¨r jede Himmelsklasse in Abha¨ngigkeit von
den Bildeigenschaften erfolgen. Wu¨nschenswert bleibt eine
gro¨ßere Bildersammlung mit bereits vorliegenden
Segmentierungsmasken. Bisher bleibt [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] die einzige bekannte
freiverfu¨gbare Bergbildersammlung. In der Zukunft gibt es
die Option diese weiter zu erweitern. Außerdem besteht die
U¨ berlegung eine Vorverarbeitung mittels Kantenscha¨rfung
vorzunehmen und auf diesem Wege den U¨ bergang zwischen
der Bergebene und dem Himmel deutlicher hervorzuheben.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>G.</given-names>
            <surname>Baatz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Saurer</surname>
          </string-name>
          , K. Ko¨ser, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Pollefeys</surname>
          </string-name>
          .
          <article-title>Large scale visual geo-localization of images in mountainous terrain</article-title>
          .
          <source>In Computer Vision-ECCV</source>
          <year>2012</year>
          , pages
          <fpage>517</fpage>
          -
          <lpage>530</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bradski</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Kaehler</surname>
          </string-name>
          .
          <article-title>Learning OpenCV: Computer Vision with the OpenCV Library.</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Calbo</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Sabburg</surname>
          </string-name>
          .
          <article-title>Feature extraction from whole-sky ground-based images for cloud-type recognition</article-title>
          .
          <source>Journal of Atmospheric and Oceanic Technology</source>
          ,
          <volume>25</volume>
          (
          <issue>1</issue>
          ):
          <fpage>3</fpage>
          -
          <lpage>14</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Chaisri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Vanichprapa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Chaisricharoen</surname>
          </string-name>
          .
          <article-title>Cloud classification for weather application</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Changhui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yuan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Minjing</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Menglu</surname>
          </string-name>
          .
          <article-title>Cloud detection method based on feature extraction in remote sensing images</article-title>
          .
          <source>ISPRS-International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>173</fpage>
          -
          <lpage>177</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Dev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. H.</given-names>
            <surname>Lee</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Winkler</surname>
          </string-name>
          .
          <article-title>Categorization of cloud image patches using an improved texton-based approach</article-title>
          .
          <source>In Image Processing (ICIP)</source>
          ,
          <year>2015</year>
          IEEE International Conference on, pages
          <fpage>422</fpage>
          -
          <lpage>426</lpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Haralick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Shanmugam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I. H.</given-names>
            <surname>Dinstein</surname>
          </string-name>
          .
          <article-title>Textural features for image classification</article-title>
          .
          <source>Systems, Man and Cybernetics</source>
          , IEEE Transactions on, (
          <volume>6</volume>
          ):
          <fpage>610</fpage>
          -
          <lpage>621</lpage>
          ,
          <year>1973</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Heinle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Macke</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Srivastav</surname>
          </string-name>
          .
          <article-title>Automatic cloud classification of whole sky images</article-title>
          .
          <source>Atmospheric Measurement Techniques</source>
          ,
          <volume>3</volume>
          (
          <issue>3</issue>
          ):
          <fpage>557</fpage>
          -
          <lpage>567</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Liu</surname>
          </string-name>
          and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhang</surname>
          </string-name>
          .
          <article-title>Learning discriminative salient lbp for cloud classification in wireless sensor networks</article-title>
          .
          <source>International Journal of Distributed Sensor Networks</source>
          ,
          <year>2015</year>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>