Himmelsdetektion in CSC-segmentierten Farbbildern

Die Seite wird erstellt Lorenz Rauch
 
WEITER LESEN
Himmelsdetektion in CSC-segmentierten Farbbildern
Himmelsdetektion in CSC-segmentierten
                    Farbbildern

                           Frank Schmitt und Lutz Priese

                 Universität Koblenz-Landau⋆ , Koblenz, Deutschland,
                               fschmitt@uni-koblenz.de,
                 WWW-Homepage: http://www.uni-koblenz.de/~lb

        Zusammenfassung Es wird ein neues Verfahren zur Detektion des
        Himmels in Outdoor-Aufnahmen vorgestellt. Im Gegensatz zu den mei-
        sten bekannten Verfahren (beispielsweise [1], [2]) wird nicht nur wolken-
        loser, blauer Himmel sondern auch bewölkter Himmel und weiße Wol-
        ken im blauen Himmel detektiert. Der vorgestellte Algorithmus basiert
        auf der Analyse von Farbe und Positionseigenschaften zusammenhängen-
        der, farbhomogener Regionen, die mit dem CSC gewonnen werden. Eine
        Untersuchung auf einer Reihe von Bildern, die unter unterschiedlichen
        Wetterverhältnissen aufgenommen wurden, bestätigt die Qualität des
        Verfahrens.

1     Einführung
Für viele Anwendungszwecke ist es hilfreich, in Bilddaten schnell und zuverlässig
den Himmel erkennen zu können. Wurde der Himmel im Bild detektiert sind
Rückschlüsse über den Inhalt des Bildes möglich und es lassen sich Informa-
tionen über die Wetter- und somit auch Beleuchtungsverhältnisse zur Bildauf-
nahme extrahieren. Auch kann die Kenntnis über die zum Himmel gehörenden
Bildbereiche dazu dienen, den Suchraum für weitere, kompliziertere Bilderkenn-
nungsalgorithmen einzuschränken.
     Ein weiterer und für uns besonders relevanter Punkt ist, dass in bebauten
Gebieten die Unterkante der zum Himmel gehörenden Bereiche oft der Oberkan-
te von Gebäuden entspricht. Der Verlauf dieser Gebäudeoberkanten kann erste
Hinweise auf die Position der Kamera relativ zum Gebäude liefern. Dazu ist es
wichtig, den Himmel inklusive eventueller Wolken und bei allen Witterungen zu
finden. Nicht wichtig dazu ist ein Erkennen des Himmels unterhalb von größeren
Gebäudeteilen wie Torbögen.
     Das im Folgenden vorgestellte Verfahren ist für diesen Anwendungsfall im
größeren Szenario der Posedetektion (Detektion von Position und Blickrichtung
einer Kamera in der Welt) optimiert. Das Bild wird zunächst CSC-segmentiert,
die entstehenden Segmente werden dann in Himmel und Nicht-Himmel klassi-
fiziert. Dabei wird davon ausgegangen, dass jedes Himmelsegment eine direkte,
⋆
    Diese Arbeit wurde durch die DFG unter den Nummern PR161/12-1 und PA 599/7-1
    gefördert
Himmelsdetektion in CSC-segmentierten Farbbildern
2

senkrecht nach oben gerichtete Verbindung zu anderen Himmelsegmenten oder
dem oberen Bildrand hat. Diese Einschränkung hat sich für unseren Anwen-
dungsfall als unproblematisch gezeigt.

2   Verwandte Arbeiten

Bekannte Arbeiten zur Himmelsdetektion haben das Ziel den reinen blauen Him-
mel, also das Abbild der Atmosphäre, zu detektieren. Wolken sind bei dieser
Definition explizit nicht Teil des zu findenden Himmels.
    Luo und Etz [2] stellen fest, dass die Farbe des Himmels typischerweise von
einem dunklen Blau im Zenit zu einem sehr hellen, fast weißen Blau am Horizont
übergeht. In ihrem Verfahren werden entlang von Geraden vom Zenit in Richtung
des Horizonts die Werte in drei Farbkanälen als eindimensionale Funktionen
modelliert und auf charakteristische Eigenschaften des Himmels untersucht.
    Gallagher et. al [3] bilden zunächst eine initiale Himmel-Wahrscheinlichkeits-
karte des Bildes basierend auf Klassifikation von Farbwerten. In einem zweiten
Schritt wird die räumliche Variation der Farbwerte der als Himmel bestimmten
Pixel modelliert. Hierzu wird aus den Pixeln mit hoher Himmelswahrschein-
lichkeit für jeden Farbkanal ein zweidimensionales Polynom geschätzt. Durch
Vergleich der Werte im Bild mit den Werten des Polynoms wird die endgültige
Himmelsklassifikation erreicht.
    Zafarifar und de With [1] nutzen Himmelsdetektion im Kontext der Bild-
verbesserung in Videodaten. Ihr Verfahren erstellt eine Himmel-Wahrscheinlich-
keitskarte des Bildes basierend auf Textur, Farbwert, Gradient und vertikaler
Position im Bild. Dabei werden die Systemparameter dynamisch an das Ein-
gangsbild angepasst. Ihr System liefert sehr gute Ergebnisse, kann jedoch eben-
falls nur blauen Himmel erkennen und gibt für Wolken somit eine geringe Wahr-
scheinlichkeit der Zugehörigkeit zum Himmel an.
    In diesen Verfahren kann zwar nicht davon ausgegangen werden, dass der
Himmel farbhomogen ist. Da Wolken nicht als Himmel angesehen werden be-
steht der Himmel jedoch nur aus einem gradientenlosen Farbverlauf. Gerade im
mitteleuropäischen Klima ist ein bewölkter Himmel eher Regel als Ausnahme,
darum halten wir diese Einschränkung für wenig praktikabel. Aus dieser Moti-
vation heraus haben wir ein neues System entwickelt, das den Himmel inklusive
Wolken detektiert und das wir im Rest des Artikels beschreiben werden.

3   Charakteristika des Himmels in Farbbildern

Das im nächsten Abschnitt vorgestellte Verfahren beruht auf einigen Grundan-
nahmen und Beobachtungen über Charakteristika des Himmels in Farbbildern,
die im Folgenden vorgestellt werden sollen.
    Wir gehen davon aus, dass die vorliegenden Bilder horizontal aufgenommen
wurden und sich somit der Himmel oben im Bild befindet. In Anwendungsfällen,
in denen diese Grundannahme nicht getroffen werden kann, könnten Verfahren
Himmelsdetektion in CSC-segmentierten Farbbildern
3

zur Schätzung des Horizonts wie sie zum Beispiel in [4] und [5] vorgestellt werden
genutzt werden.
    Die zweite charakteristische Eigenschaft des Himmels ist seine Farbe. Diese
kann von einem reinen weiß in Schönwetterwolken über verschiedenste Grautöne
in Regenwolken bis zu Blautönen unterschiedlicher Sättigung und Helligkeit in
wolkenlosen Bereichen des Himmels reichen. In wolkenlosen, blauen Bereichen ist
die Farbe des Himmels normalerweise nicht homogen, sondern entspricht einem
kontinuierlichen Farbverlauf von einem gesättigten, dunkleren Blau etwa im 90
Grad-Winkel zur Sonne hin zu einem hellerem, ungesättigterem Blau in der Nähe
der Sonne sowie am Horizont.
    In Ansätzen, in denen nur der wolkenlose Himmel gefunden werden soll kann
weiterhin davon ausgegangen werden, dass der Himmel frei von starken Gradi-
enten ist und seine Helligkeitsverteilung kontinuierlich ist. Da wir auch Wolken
als Teil des Himmels ansehen und diese somit auch detektieren wollen, können
wir diese Annahme nicht treffen.

4     Das Verfahren
4.1   Grundidee des Vorgehens
Der im folgenden vorgestellte Algorithmus ist direkt aus den Beobachtungen im
vorherigen Abschnitt motiviert.
    Zunächst wird das Bild geglättet und in farbhomogene räumlich zusam-
menhängende Regionen segmentiert. Anschließend wird vom oberen Bildrand
absteigend nach Segmenten gesucht, deren mittlere Farbe zum Himmel passen
könnte.
    Die Farbanalyse beruht auf Vergleich der mittleren Farbe der Segmente mit
einem manuell festgelegten Subraum des HSV-Farbraums.

4.2   Vorverarbeitung und Segmentierung
Das Eingangsbild wird zunächst mit einer Iteration des 3×3 Kuwahara-Filters [6]
geglättet und dann mittels des CSC [7] in farblich homogene, zusammenhängen-
de Regionen segmentiert. Prinzipiell kann jedes beliebiges Verfahren zur Re-
gionensegmentierung genutzt werden, jedoch bietet der CSC den Vorteil, dass
er hohe Ausführungsgeschwindigkeit mit sehr robusten Ergebnissen kombiniert.
Wichtig bei der Segmentierung ist, dass die Parameter des Segmentierers so
gewählt werden, dass eher eine Untersegmentierung (zusammengehörende Be-
reiche zerfallen in mehrere Segmente) als eine Übersegmentierung (nicht zu-
sammenhängende Bereiche werden in ein Segment verschmolzen) auftritt, da in
den späteren Schritten des Algorithmus Segmente nur komplett in Himmel bzw.
Nicht-Himmel klassifiziert werden.
    Die CSC-Segmentierung kann entweder im HSV-Farbraum mit Hilfe vorde-
finierter Farbähnlichkeitstabellen [8] oder im L*a*b*-Farbraum, wobei die Ähn-
lichkeit zweier Farben über den euklidischen Abstand bestimmt wird, durch-
geführt werden. Für die Experimente in diesem Artikel wurde der L*a*b*-
Farbraum gewählt. Der Schwellwert der Farbähnlichkeit wurde auf 12 gesetzt,
Himmelsdetektion in CSC-segmentierten Farbbildern
4

d.h. zwei Farben werden bis zu einem euklidischen Abstand von 12 als ähnlich
angesehen.
   Das Ergebnis des CSC ist ein Labelbild, in dem der Wert jedes Bildpunkts
auf die Kennzahl des Segmentes, dem er zugeordnet wurde, gesetzt wird.

4.3     Segmentcharakteristika
Es werden zunächst einige Charakteristika von Segmenten (hier: räumlich zu-
sammenhängende, farbhomogene Bildregionen) definiert.
   Als Farbe eines Segmentes bezeichnen wir den Mittelwert der Farbwerte aller
Pixel innerhalb des Segments. Da die Segmente farbhomogen sind, tritt das
Problem der Entstehung von Falschfarben durch Mittelwertbildung nicht auf.

4.4     Farbanalyse
Alle Segmente werden zunächst dahingehend untersucht, ob sie himmelsfarben
sind, d.h. ob ihr mittlerer Farbwert im Himmel auftreten kann oder nicht. Um
diese Farbklassifikation durchzuführen könnte ein Klassifikator mit sehr vielen
Beispielen von Farben von Himmels- und Nicht-Himmelssegmenten trainiert wer-
den. Hier tritt jedoch das Problem auf, dass die Mengen nicht disjunkt sind. Das
heißt alle Farben, die im Himmel vorkommen, können genauso auch außerhalb
des Himmels auftreten. Wir fanden jedoch durch manuelle Analyse von Beispiel-
bildern einen einfachen Subbereich des HSV-Farbraums, in dem die im Himmel
auftretenden Farben liegen, der ausreichend eng gefasst ist.
    Ein HSV-Farbwert hsv wird im Folgenden als himmelsfarben bezeichnet,
wenn er mindestens einer der folgenden Bedingungen genügt. Dabei sind die
Farbwinkel bis zu einem gewissen Maß kameraabhängig:
    – hsv.saturation < 13 und hsv.value > 216
    – hsv.saturation < 25 und hsv.value > 204 und hsv.hue > 190 und hsv.hue <
      250
    – hsv.saturation < 128 und hsv.value > 153 und hsv.hue > 200 und hsv.hue
      < 230
    – hsv.value > 88 und hsv.hue > 210 und hsv.hue < 220

4.5     Positionsanalyse
Zunächst wird eine erste Menge von Himmelssegmenten gesucht, indem alle Seg-
mente als Himmel klassifiziert werden, deren mittlere Farbe hsvmean himmels-
farben ist und für die gilt, dass mindestens die Hälfte ihres oberen Randes den
oberen Bildrand berührt.
    Anschließend werden alle Segmente, die den unteren Rand mindestens ei-
nes der als Himmel klassifizierten Segmente berühren in einer Kandidatenliste
gespeichert. Für jedes Segment Scur in dieser Kandidatenliste werden zwei Krite-
rien überprüft, die beide erfüllt sein müssen, damit Scur als Himmel klassifiziert
wird:
5

 1. Die Farbe von Scur ist himmelsfarben
 2. Mindestens zwei Drittel der oberen Grenze von Scur berührt bereits als Him-
    mel klassifizierte Segmente oder den oberen Bildrand

    Sind die Bedingungen 1-2 erfüllt, wird Scur ebenfalls als Himmel klassifiziert
und alle Segmente, die noch nicht als Himmel klassifiziert wurden und die den
unteren Rand von Scur berühren, werden in die Kandidatenliste eingefügt. Der
Algorithmus terminiert, wenn die Kandidatenliste leer ist.
    Zu diesem Zeitpunkt sollten alle Segmente, die zum Himmel gehören und eine
Verbindung zum oberen Bildrand besitzen (direkt oder durch andere Himmel-
Segmente hindurch), als Himmel klassifiziert worden sein. Allerdings werden
auch z.B. weiße Fassaden die unmittelbar an den Himmel Grenzen teilweise als
Himmel detektiert. Um solche Fehlklassifikationen zu beheben, soll in Zukunft
vor dem Hinzufügen von CSC-Segmenten zum Himmel eine Analyse durch-
geführt werden, die Segmente ausschließt, die charakteristische Eigenschaften
von Gebäuden aufweisen. Eine solche Eigenschaft könnte zum Beispiel die Ge-
radheit der oberen Segmentgrenze sein.

5   Auswertung

Für eine erste Evaluation wurden drei zu unterschiedlichen Tageszeiten und un-
terschiedlichen Witterungsverhältnissen aufgenommene Datensätze mit insge-
samt 111 Bildern untersucht. Alle Bilder zeigten Outdoorszenen und enthielten
Himmel.
    Von den 111 Bildern wurde der Himmel in 75 Bildern korrekt gefunden. In
27 Bildern wurden größere Flächen unter dem Himmel fälschlich als Himmel
detektiert. Wir sind zuversichtlich diese Zahl durch eine erweiterte Segmentana-
lyse stark reduzieren zu können. In sechs Bilder wurden Teile des Himmels nicht
erkannt, in zwei wurde der Himmel komplett nicht erkannt und in einem Bild
wurde sowohl Nicht-Himmel als Himmel als auch umgekehrt erkannt. Im Anhang
werden vier Beispielbilder gezeigt.

6   Zusammenfassung und Ausblick

Es wurde ein schnelles und robustes Verfahren vorgestellt, um den Himmel in
Kamerabildern detektieren zu können. Im Gegensatz zu bekannten Verfahren
wird nicht nur blauer Himmel sondern auch bewölkter Himmel detektiert. Das
Verfahren ist schnell und eine Evaluation auf einem Datensatz von 111 Bildern
zeigte seine Robustheit. Wir erweitern momentan den Algorithmus dahingehend,
dass himmelsfarbene Gebäudeteile die an den Himmel angrenzen, nicht fälschli-
cherweise als Himmel erkannt werden.
6

Literatur
1. Zafarifar, B., de With, P.H.N.: Blue sky detection for picture quality enhancement.
   In: Advanced Concepts for Intelligent Vision Systems. Volume 4179/2006 of Lecture
   Notes in Computer Science., Springer Berlin / Heidelberg (2006) 522–532
2. Luo, J., Etz, S.P.: A physical model-based approach to detecting sky in photogra-
   phicimages. IEEE Transactions on Image Processing 11(3) (March 2002) 201–212
3. Gallagher, A.C., Luo, J., Hao, W.: Improved blue sky detection using polynomial
   model fit. In: Image Processing, 2004. ICIP ’04. 2004 International Conference on.
   Volume 4. (October 2004) 2367–2370
4. Ettinger, S.M., Nechyba, M.C., Ifju, P.G., Waszak, M.: Towards flight autonomy:
   Vision-based horizon detection for micro air vehicles. In: Florida Conference on
   Recent Advances in Robotics 2002. (2002)
5. Fefilatyev, S., Smarodzinava, V., Hall, L.O., Goldgof, D.B.: Horizon detection using
   machine learning techniques. In: ICMLA ’06: Proceedings of the 5th International
   Conference on Machine Learning and Applications, Washington, DC, USA, IEEE
   Computer Society (2006) 17–21
6. M. Kuwahara, K. Hachimura, S. Eiho, and M. Kinoshita: Processing of ri-
   angiocardiographic images. In Preston, K., Onoe, M., eds.: Digital Processing of
   Biomedical Images. (1976) 187–202
7. Rehrmann, V., Priese, L.: Fast and robust segmentation of natural color scenes. In
   Chin, R.T., Pong, T.C., eds.: 3rd Asian Conference on Computer Vision (ACCV’98).
   Number 1351 in LNCS, Springer Verlag (1998) 598–606
8. Rehrmann, V.: Stabile, echtzeitfähige Farbbildauswertung. PhD thesis, Universität
   Koblenz-Landau, Fölbach Verlag, Koblenz (1994)
7

A    Beispielbilder
In den folgenden Abbildungen 1 bis 4 sind links die Originalbilder und rechts das
Ergebnis der Klassifikation zu sehen. Dabei steht in den Ergebnisbildern weiß
für Himmel, grau für himmelsfarbene Segmente die nicht als Himmel klassifiziert
wurden und schwarz für nicht-himmelsfarbene Segmente.

      Abbildung 1: Aufnahme bei schönem Wetter mit Schönwetterwolke

                   Abbildung 2: Aufnahme bei Regenwetter
8

               Abbildung 3: Aufnahme bei starker Bewölkung

Abbildung 4: Ein himmelsfarbenes Segment in einer Gebäudefront, das sich un-
mittelbar unter dem Himmel befindet wird fälschlicherweise als Himmel detek-
tiert
Sie können auch lesen