Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

de:universeller_bayescher_bilderkenner:mixedcolours

Sensor für zusammengesetzte Farben

Für das Robotik-Projekt Gestenroboter“ wurde ein Sensor programmiert, der ein Objekt das aus 3 verschiedenen Farben zusammengesetzt ist erkennen und Objekte welche die Farben nicht beinhalten ausschließen soll.

?2
Das Adobe Flash Plugin wird benötigt, um diesen Inhalt anzuzeigen.

Funktionsweise

?2

Zuerst wird wie beim Hautsensor1 nach den einzelnen Farben des Objekts, Schwarzton, Braunton und Weißton im HSV-Kanal gefiltert. HSV-Werte:

Braunton Schwarzton Weißton
Hue 15-23 182-204 130-240
Saturation 22-35 13-17 78-104
Value 32-43 27-35 92-98

Dadurch entstehen 3 unterschiedliche Grauwertbilder.

?2

Die weißen Anteile des Bildes werden nun über eine Dilatation vergrößert2.

?2

Die folgenden Bilder veranschaulichen das Prinzip der Dilatation. Das linke Bild ist eine 11×11 Pixel bmp-Datei(vergrößerte Darstellung) mit einem 1 Pixel großen Punkt in der Mitte RGB-Werte(255,255,255). Umschlossen wird der Pixel von 8 Pixeln mit den RGB-Werten(245,245,245) und 16 Pixeln mit den RGB-Werten(231,231,231). Die restlichen 96 Pixel haben den RGB-Wert(0,0,0) Schwarz.

Legt man nun einen Dilatationsfilter über das Bild werden alle weißen Pixel im Bild Wert(255,255,255) mit einem Quadrat beliebiger Größe multipliziert. Im Falle des rechten Bildes war es ein Quadrat der Größe 3×3 Pixel. Im Rechten Bild wurde also aus dem 1x Pixel großen weiß ein 3×3 Pixel großes weiß.

Die weißtöne um den Pixel herum wurden entsprechend erweitert (245,245,245) sind nun 16 Pixel, (231,231,231) 32 Pixel und (0,0,0) wurde entsprechend verkleinert auf 64 Pixel.

?2

Anschließend werden die 3-Bilder übereinandergelegt, dies geschieht über eine AND-Verknüpfung, bei dem ein Ergebnis-Bild erzeugt wird indem nur die Pixel weiß sind die in allen anderen 3-Bildern auch weiß waren.

?2

Mittels Blob-Algorithmus werden die weißen Pixel nun zusammengefasst und ein grünes Rechteck um das Objekt gezeichnet.

?2

Test

Der Sensor wurde mit einer Bilddatenbank aus 67 Bildern getestet. Zusätzlich wurden noch Tests gemacht wie effektiv eine Filterung nach den einzelnen Farben, Schwarzton, Weißton und Braunton ist.

Ergebnis:

Sensivität Spezivität
Farbzusammensetzung 76% 97%
Weißton 100% 71%
Braunton 100% 77%
Schwarzton 100% 80%

ROC-Kurve:

?

Das Ergebnis zeigt eine starke Verbesserung der Spezifität wenn nach Kombinierten Farben gesucht wird. Die Sensivität sinkt jedoch stark, Falsch Negative Resultate bei der Erkennung traten vor allem bei unterschiedlichen Lichtverhältnissen auf. Sollen die Koordinaten eines Objekts sicher erkannt werden, wie beim Roboter, ist diese Methode eine gute Möglichkeit. Das beschriebene Verfahren hat jedoch auch Nachteile, da hiermit keinerlei Objekteigenschafen wie die Form bestimmt werden kann, da die Konturen durch die Überlagerung verloren gehen.

Alternativen

Eine weitere Möglichkeit wäre es die einzelnen Farben zu segmentieren und einen Vergleich der Koordinaten der einzelnen Segmente zu machen. So müssten beim Beispiel des Kaffeebechers die Koordinaten des weißen Bereichs unterhalb des schwarzen Bereichs sein und der braune Bereich oberhalb des schwarzen Bereichs, um den Kaffeebecher korrekt zu Klassifizieren.

Sourcecode

Literatur

de/universeller_bayescher_bilderkenner/mixedcolours.txt · Zuletzt geändert: 2014/11/24 13:20 (Externe Bearbeitung)