BEREICHE
- BASYS VERANSTALTUNGEN
- FÖRDERPROJEKTE
- Frühere Projekte
- Aktuelle Projekte
- Frühere Projekte
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.
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.
Die weißen Anteile des Bildes werden nun über eine Dilatation vergrößert2.
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.
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.
Mittels Blob-Algorithmus werden die weißen Pixel nun zusammengefasst und ein grünes Rechteck um das Objekt gezeichnet.
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.
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.