Eine Publikation der Swissprofessionalmedia AG
PDF download
Kamerainterface ohne Probleme : Ausgabe 14/2017, 07.09.2017

Wenn Maschinen sehen lernen

Zunehmend wird moderne Bildverarbeitung nicht mehr nur auf PCs gefordert, sondern direkt auf Embedded-Systemen. Maschinen und Geräte werden sehend. Dies stellt spezielle Anforderungen an Kameras, Schnittstellen und Rechner, denn Standards sind hier keine vorhanden.

Autor: Dr. Jürg M. Stettbacher

Bilder: Stettbacher

Mikroprozessoren und kleine PC-Module sind so leistungsfähig geworden, dass inzwischen selbst die digitale Bildverarbeitung in den Embedded-Bereich vorgedrungen ist. Das ist nicht selbstverständlich, denn die numerische Verarbeitung von Kamerabildern erfordert in der Regel sehr viel Rechenleistung auf Grund der hohen Pixelzahlen. Oft werden darum nicht die hochauflösendsten Kameras eingesetzt, sondern jene, die das betreffende Objekt zweckmässig abbilden.

Herausforderung für Entwickler sind primär elementare Fragen

Der Entwickler von Embedded-Image-Processing-Systemen ist indessen zuerst mit elementareren Fragen konfrontiert. Wie wird die Kamera an den eigenen Rechner angeschlossen? Wie gelangen die Bilder in die eigene Software? Welche Standards gibt es? Um die Antwort gleich vorweg zu nehmen: Es ist schlecht bestellt um Standards, jedenfalls im Embedded-Bereich. Und das ist ganz gut so. Denn Embedded-Systeme sind so vielfältig wie ihre Anwendungen. Jeder Standard würde nur einer kleinen Gruppe von entsprechenden Lösungen gerecht und brächte in der Folge wenig Nutzen. Beispielsweise sind LVDS und CSI verbreitete Standards für die Anbindung von Kameras, aber es fehlen genormte Kabel und Stecker. UVC ist eine populäre USB-Device-Klasse in der Consumer-Welt, jedoch ist der Standard wegen seiner Komplexität wenig geeignet für Embedded-Systeme.

Zahlreiche Anbieter umschiffen die Probleme, indem sie zu ihren Kameraprodukten vorkompilierte Treiber abgeben. Diese sind aber oft nur für eine kleine Anzahl von Betriebssystemen – in der Regel Windows – und Prozessorarchitekturen (primär x86) verfügbar. Mit beiden wird der Embedded-Entwickler in vielen Fällen nicht glücklich.

Offengelegtes Kamerainterface als Lösung

Stettbacher Signal Processing AG geht mit seinen O-3000-Kameras (Bild 1) einen ganz anderen Weg: Statt sich an halbherzig passende Standards anzubiedern, wird einfach das Kamerainterface offengelegt (www.open-cam.ch). Der Anwender hat über ein einfaches XML-Protokoll direkten Zugriff auf alle Funktionen der Kamera und auf die Bilddaten. Ein im Quellcode offengelegter Treiber und Anwendungsbeispiele erleichtern dem Entwickler den Einstieg und das Einbinden der Kameras in sein System. Dabei ist es egal, ob es sich um einen Mikrocontroller, ein FPGA oder einen Embedded-PC handelt. Es bestehen keine Einschränkungen bezüglich Hardware, Betriebssystem, Programmiersprache usw.

Textilprüfgerät als Beispiel

Als Beispiel zeigt Bild 2 die Elektronik eines Textilprüfgeräts. Die Bildverarbeitung läuft auf dem ARM-Cortex A9-basierten Rechnermodul, das auch für die Maschinensteuerung zuständig ist. Die O-3000-Kamera (links im Bild) ist via USB verbunden. Als Betriebssystem kommt Embedded Linux zum Einsatz. Harte Echtzeitfunktionen des Geräts sind in einem FPGA realisiert. 

Infoservice

Stettbacher Signal Processing AG
Neugutstrasse 54, 8600 Dübendorf
Tel. 043 299 57 23, Fax 043 299 57 25
dsp@stettbacher.ch, www.stettbacher.ch



Bild 1: Bei der O-3000 hat der Anwender direkten Zugriff auf alle Funktionen der Kamera


Bild 2: Die Bildverarbeitung läuft bei diesem Testgerät auf dem ARM-Cortex A9-basierten Rechnermodul

Autor


Als wissenschaftlicher Mitarbeiter an der ETH Zürich und als Dozent an verschiedenen Fachhochschulen erkannte Dr. Jürg M. Stettbacher in den 1990er-Jahren, dass in der Schweizer Industrie die Methoden und Vorteile der digitalen Signalverarbeitung noch kaum bekannt waren, und dass die Schweiz im internationalen Vergleich in den Rückstand zu geraten drohte. In der Folge organisierte er Übersichtsseminare und Weiterbildungskurse zu diesen Themen. Daraus entstand seine Firma Stettbacher Signal Processing AG, die heute mit rund 10 Ingenieuren als Entwicklungsdienstleister für anspruchsvolle Projekte tätig ist. Daneben bietet die Firma weiterhin verschiedene Kurse an zu Themen der Signalverarbeitung, Regelungstechnik, Informa­tionstheorie, Codierung usw.

Firmenprofil

Die Stettbacher Signal Processing AG offeriert seit 20 Jahren F+E-Dienstleistungen für anspruchsvolle Projekte in den Bereichen elektronische Mess-, Steuer-, Regelungs-, Antriebs- und Kommunikationstechnik für Analytik, Qualitätssicherung, Medizin, Pharma, Verteidigung und Training. Die Firma setzt die O-3000-Kameras, bei denen das Kamerainterface offen gelegt ist, in eigenen Projekten ein und vertreibt sie erfolgreich auf dem Markt. www.open-cam.ch