Robotics Equipment Corporation DeutschEnglish
 
 

VisCam Server

VisCam Server bildet den zentralen Bildverarbeitungs- und Objekterkennungprozess von VisCam. Er wird als Applikation auf der intelligenten Kamera ausgeführt und verarbeitet deren Bildaufnahmen.

Die Kompaktheit der intelligenten Kamera stellt aufgrund ihrer eingeschränkten Hardwareressourcen besondere Anforderungen an die verwendeten Algorithmen. Da Verfahren zur Bildverabeitung und -interpretation, sowie zur Objekterkennung meist auf komplexen, rechenintensiven mathematischen Funktionen basieren, sind Hardware-nahe Optimierungen nötig, um vergleichbare Leistungen zu einem PC-basierten Verarbeitungssystem zu erzielen. Darüber hinaus ermöglichen die modulare Verarbeitungs-Pipeline und besondere Features einen flexiblen und dennoch robusten Einsatz.


VisCam Server wird als Anwendung auf der intelligenten Kamera ausgeführt und verarbeitet die Daten des Bildsensors mittels einer mehrstufigen, modularen Pipeline.
Charakterisierung von Polygonen mittels Fourierdeskriptoren (grün). Je höher die Anzahl der Koeffizienten gewählt wird, desto genauer wird das Polygon (violett) approximiert.

VisCam Server Pipeline

Bilderfassung

Die Aufnahme der Objekte mittels geeignetem Bildsensor und die Bereitstellung der Bilddaten stellen den ersten Schritt der Bildverarbeitungskette auf der intelligenten Kamera dar. Dank einer universell adaptierbaren Schnittstelle zur Übernahme der Bilddaten kann VisCam prinzipiell mit einer Vielzahl verschiedener Kameras eingesetzt werden.

Vorverarbeitung

Abhängig von der Art und Qualität der Bilderfassungseinheit können die Eingangs-Bilddaten mit Bildrauschen und/oder anderen Störungen überlagert sein. Deshalb ist VisCam Server in der Lage, die Bilddaten durch Anwendung verschiedener Filter aufzubereiten, und damit für die weitere Verarbeitung zu optimieren. Dies ermöglicht den Einsatz von VisCam mit nahezu beliebigen Bilddaten-Quellen.
Darüber hinaus führen viele Kameras unmittelbar nach der Bildaufnahme eine optionale oder feste Nachbearbeitung durch. VisCam Server unterstützt dank seiner flexiblen Pipeline-Architektur die Nutzung bereits aufbereiteter Eingangsdaten, ohne eine erneute Filterung durchzuführen.

Objektextraktion

VisCam Server verwendet zur Polygonextraktion moderne Algorithmen auf dem neuesten Stand der Forschung. Die aufbereiteten Bilddaten der Vorstufe dienen als Grundlage für die Extraktion einzelner Objekte.

Objektklassifizierung

VisCam Server klassifiziert die extrahierten Objekte und schafft damit die Grundlage der Vergleichbarkeit von Objekten für das anschließende Template Matching. Die Objekte der Bildszene werden dank moderner mathematischer Verfahren mit einem Höchstmaß an Rechenzeit- und Speichereffizienz erfasst.

Objektidentifizierung

Die klassifizierten Objekte der Bildszene werden mit den Objekten der internen Datenbank verglichen (Template Matching). Ein mathematisches Maß quantisiert dabei den Fehler zwischen Test- und Referenz-Objekt. Der Schwellwert für eine gültige Identifizierung kann dabei dynamisch an die Gegebenheiten des Gesamtsystems angepasst werden.

Kommunikation mit der Robotersteuerung

Viscam Server übermittelt die erkannten Objekte samt Lage- und Griffinformationen an die Robotersteurung, welche die weiteren Objekt-spezifischen Aktionen der Anlage koordiniert. Dabei dient eine Telnet-Verbindung als Kommunikationskanal. Sie ermöglicht darüber hinaus die unkomplizierte Anbindung des VisCam-Systems an eine Vielzahl unterschiedlicher Anlagensteuerungen.

Als Erweiterung sind alternative Kommunikationsprotokolle beliebiger Art denkbar. Dank des modularen Kozepts bietet VisCam Server optimale Voraussetzungen für eine Vielzahl denkbarer Erweiterungen.

Zum SeitenanfangSeitenanfang


Die Innenkonturen der Objekte (Festo-Schriftzüge) ermöglichen eine eindeutige Lage-Bestimmung (Rotation).
Linsen und Linsensysteme führen zu typischen optischen Verzerrungen, die durch die Aufnahme regelmäßiger Gitter veranschaulicht werden können.
Vier sich berührende Objekte werden als einzelnes Objekt erkannt.
Ein effizienter Algorithmus sucht mögliche Schnittstellen, um das unbekannte einzelne Objekt in Teilobjekte zu trennen.
Die vier Einzelobjekte können nach der Trennung mittels Template Matching richtig identifiziert werden.

Besondere Features

Innenkonturen

Mit Hilfe der Innenkontur-Extraktion kann VisCam Objekt-Merkmale wie Bohrungen, Langlöcher oder anders geformte Aussparungen in Objekten erkennen. Innenkonturen können nicht nur zur eindeuitigen Identifizierung von Objekten genutzt werden. Sie können darüber hinaus auch verwendet werden, Mehrdeutigkeiten in der Objekt-Lage-Bestimmung (z.B. aufgrund symmetrischer Außenkontur) aufzulösen.

Dank des modularen Ansatzes kann der Bediener die Innenkontur-Verarbeitung den jeweiligen Erfordernissen optimal angepassen. Durch die flexible Konfigurierung  kann ein Maximum an Performanz sichergestellt werden.

Korrektur optischer Verzerrungen

Optische Linsen und Linsensysteme (z.B. Kameraobjektiv) führen zu einer Verzeichnung (optischen Verzerrung) des Kamerabildes. Dabei handelt es sich um einen geometrischen Abbildungsfehler, der mit zunehmendem Abstand des Bildpunktes zur optischen Achse größer wird. Dieser optische Effekt kann ohne Kompensation zu einer ungenauen Objekt-Lage-Bestimmung in den Randbereichen des Bildes führen. VisCam ist in der Lage, den Grad der optischen Verzerrung und die tatsächliche Objektlage zu bestimmen.

Mit Hilfe eines einfachen Kalibrierverfahrens kann die Verzeichnung des Systems einmalig bestimmt werden. Die gewonnenen Daten werden anschließend zur Korrektur von Punkten und Koordinaten genutzt.

Erkennung sich berührender Objekte

Sehr eng beieinanderliegende oder sich berührende Objekte können aufgrund der bildbasierten Objekterkennung als ein einzelnes Objekt erfasst werden. Dieser Effekt entsteht vor allem durch die Filterung der Eingangs-Bilddaten im Vorverarbeitungsschritt und durch die verwendeten Methoden zur Polygonextraktion. VisCam ist in der Lage potentielle "Berührpunkte" effizient zu erkennen und unbekannte Objekte (als Komposition mehrere Einzelobjekte) in die ursprünglichen Objekte aufzuteilen.

Behandlung teilweise erfasster Objekte

Die Behandlung von teilweise erfassten Objekten kann in VisCam konfiguriert werden. Befindet sich ein Objekt am Rand des Bilderfassungsbereichs, so kann es in Folge dessen nur teilweise erfasst werden. VisCam kann dieses Objekt wahlweise verwerfen oder aber das Template Matching mit dem erfassten Teilobjekt durchführen. Hierbei gibt ein spezielles mathematisches Maß die Plausibilität einer Übereinstimmung an.

Modularität

VisCam ist als mehrstufige Pipeline modularer Verarbeitungsstufen konzipiert. Dank der vollständig objektorientierten Architektur und aufgrund definierter Schnittstellen können einzelne Teile einfach und gezielt modifiziert werden.

PC-Version

Die Komplexität der Gesamtanlage kann verringert werden, wenn VisCam Server direkt auf der intelligenten Kamera ausgeführt wird, da eine zusätzliche Recheneinheit zur Bildverarbeitung und -interpretation überflüssig wird. Darüber hinaus besteht jedoch auch die Möglichkeit, die modernen Bildverarbei-tungsverfahren von VisCam auf einem Standard-PC zu nutzen. Dies ermöglicht einen schnellen, unkomplizierten und sehr vielseitigen Einsatz von VisCam.

Zum SeitenanfangSeitenanfang


Auch bei komplexen Szenen (viele Objekt, hohe Anzahl möglicher Schnittpunkte, etc.) werden dank zahlreicher Optimierungen kurze Rechenzeiten und hohe Frameraten erreicht. Eine Szene mit acht sich berührenden Objekten benötigt einschließlich aller Analyse-, Rechen- und Vergleichsoperationen ca. 35ms (Intel XScale-Prozessor mit 200 MHz). Dies entspricht einer Framerate von ca. 28 Bildern pro Sekunde.

Optimierungen

Im Vergleich zu klassischen, PC-basierten Lösungen, bei denen ein leistungsfähiger Rechner über vergleichsweise unbegrenzte Ressourcen zur Ausführung bildverarbeitender Algorithmen verfügt, stellen intelligente Kameras aufgrund ihrer beschränkten Betriebsmittel hohe Anforderungen an die verwendeten Algorithmen.

VisCam erzielt Leistungssteigerungen durch folgende Optimierungen:

  • Speicher- und zeiteffiziente Implementierung komplexer mathematischer Datentypen (u.a. Dezimalzahlen, komplexe Zahlen, Vektoren, Matrizen, etc.)
  • Effiziente, Datentyp-spezifische Implementierung mathematischer Grundoperationen
  • Effiziente Implementierung mathematischer Grundoperationen unter Berücksichtigung spezifischer (Hardware-)Merkmale der Zielarchitektur
  • Effiziente Implementierung komplexer mathematischer Verfahren (u.a. Fouriertransformationen, geometrische Berechnungen, etc.) durch Nutzung optimierter Datentypen und mathematischer Grundoperationen.

Zum SeitenanfangSeitenanfang

 
Robotics Equipment Corporation GmbH ·