Elektroniknet Logo

Bildverarbeitung goes embedded

»Vision in die Box der Kunden bringen«

Horst Mattfeldt, Matrix Vision
Horst Mattfeldt, Matrix Vision: »Embedded-Vision-Systeme können in jeder Hinsicht Grenzen verschieben.«
© Matrix Vision

Embedded Vision umfasst inzwischen weit mehr als nur Board-Level-Kameras. Doch wie sind aktuelle Embedded-Vision-Systeme aufgebaut, was können sie leisten, und was sind die aktuellen Trends? Horst Mattfeldt, Senior Consultant of Embedded Systems bei Matrix Vision, gibt nähere Informationen.

Herr Mattfeldt, wie definieren Sie den Begriff „Embedded Vision“?

Horst Mattfeldt: Embedded Vision umfasst viele verschiedene Aspekte. Embedded-Vision-Systeme können auf einer Vielzahl unterschiedlicher Computerplattformen beruhen, etwa System on Chip oder System on Module. Die Basis bilden CPUs von x86 bis ARM, GPUs und FPGAs oder auch SoC-Bausteine mit integrierter CPU und programmierbarer Logik. Als Betriebssystem dienen können nicht nur Windows oder Windows IoT, sondern auch Linux oder diverse Echtzeitbetriebssysteme.

Ziel solcher Embedded-Vision-Systeme ist meist, Vision in die Box der Kunden zu bringen. Oft werden die Systeme ferngesteuert betrieben; eine lokal angeschlossene Tastatur oder Maus fehlt ebenso wie ein lokal angeschlossener Bildschirm. Die mit einem Embedded-Vision-System verbundenen Kameras sind normalerweise relativ nahe an der Computerplattform angesiedelt. Anwendungsspezifische Hardware ist im System eingebettet oder mit ihm verbunden. Komponenten wie Beleuchtung, Sensoren oder digitale I/O sind integriert oder bereitgestellt. Auch Smart Cameras oder intelligente Kameras gehören als Vision-in-a-Box-Systeme im weiteren Sinne zu Embedded Vision.


Andersherum gefragt: Wenn sogar intelligente Kameras als Embedded-Vision-Systeme zu sehen sind - was ist Embedded Vision dann nicht?

Als typisches Beispiel von dem, was Embedded Vision nicht ist, betrachte ich einen 19-Zoll-Bildverarbeitungs-Rechner, der im Schaltschrank oder Maschinenleitstand eingebaut ist, plus eine oder mehrere Kameras, die über Dutzende Meter abgesetzt in der Maschine verteilt eingebaut sind.


Wie sind heutige Embedded-Vision-Systeme aufgebaut? Aus welchen Komponenten bestehen sie, und wie wirken diese zusammen?

Die zu Embedded-Vision-Systemen gehörigen Kameras sind auf Kompaktheit, kurze Kabelverbindungen sowie Modularität bei Objektiven, Filtern und I/O-Ausgestaltung bei zugleich gestiegener Leistungsfähigkeit und gesunkenem Stromverbrauch getrimmt. Durch die große Bedeutung von ARM-Prozessorarchitekturen spielen entsprechende SoCs etwa von NVIDIA, Broadcom (als Basis des Raspberry Pi) oder NXP sowie System-on-Modules wie SMARC oder COM Express als Recheneinheiten die Hauptrolle. Diese sind auf entsprechenden Carrier Boards lauffähig, quasi als passive Mainboards, die kundenspezifisch sein können. Hier bedeutet Embedded auch, dass man sich als Anbieter weiter in die Kundenapplikation einbringt, weil man eventuell das Carrier Board zusammen mit dem Kunden individuell für seine Anforderungen entwickeln kann oder darf. Der Kunde hat dann die Chance, seine Gesamtlösung hier einzigartig und besser als der Wettbewerb zu gestalten.

Ebenfalls zu erwähnen ist hier, dass viele ARM-SoCs sehr leistungsstarke GPUs und Spezialprozessoren für KI haben, was ihre eigentliche Leistungsstärke und damit ihren Reiz ausmacht. Man denke an die Gesichtserkennung der Smartphone-Kamera, die Klassifizierung der Bilder auf dem Smartphone und die 3D-Unterstützung. Es ist hier wichtig, dass unsere Bilderfassungs-Software-Infrastruktur diese GPUs und Spezialprozessoren mitbenutzen kann, so dass ein kompaktes, aber leistungsstarkes und stromeffizientes Ganzes entsteht. Und diese Lösungen können in jeder Hinsicht Grenzen verschieben; sie können kleiner, leistungsfähiger, cleverer, effizienter und oft preisgünstiger sein.

Relevante Anbieter

Durch ihre PCIe-Schnittstelle sind die Kameras der Serie mvBlueNAOS von Matrix Vision für Embedded-Vision-Anwendungen optimiert.
Durch ihre PCIe-Schnittstelle sind die Kameras der Serie mvBlueNAOS von Matrix Vision für Embedded-Vision-Anwendungen optimiert.
© Matrix Vision

Welche technischen und kommerziellen Entwicklungen zeigen sich im Bereich Embedded Vision derzeit?

Technisch kann man sagen, dass Embedded Vision die Bildverarbeitungs-Lösung für Edge Computing im IoT ist. Edge Computing ist bekanntlich der Ansatz, die Datenverarbeitung zu dezentralisieren, sprich: die erste Vorverarbeitung der verdichteten Daten sozusagen an der Kante (edge) zum Netzwerk und die weitere Verdichtung dann im (Cloud-)Server durchzuführen. Damit wandert das „Internet“ in die Dinge hinein, alles wird (hoffentlich) klüger und besser. Von der Cloud-Seite bei Edge Computing war dabei noch gar nicht die Rede – aber jeder merkt heutzutage schon im Alltag, wie leistungsfähig große Rechner sein können, etwa bei der Spracherkennung oder der Diagnose von Krankheiten durch Bildanalyse mittels künstlicher Intelligenz.

Kommerziell lässt sich sagen, dass es möglich ist, Bildverarbeitungs-Lösungen preisgünstiger zu machen, beispielsweise mit einem Raspberry Pi Compute Module 4. Auf jeden Fall erschaffen die neuen Möglichkeiten neue Märkte, ohne notwendigerweise die etablierten und bewährten Lösungen zu kannibalisieren.


Was können heutige Embedded-Vision-Systeme in der industriellen Bildverarbeitung leisten? Inwieweit können sie Systeme auf PC-Basis oder intelligente Gehäusekameras ersetzen?

Wenn die PC-Lösung zu groß und teuer ist, zu viel Strom verbraucht oder zu viel Overhead hat und am Ende ihres Lebenszyklus ist, dann lohnt sich der Blick auf Embedded-Lösungen. Dies gilt auch, wenn die intelligente Gehäusekamera zu schwach, zu wenig flexibel oder zu wenig offen ist - im Sinne von Offenheit bei Software-Architektur und Programmen, die genutzt werden können.


Welche Schnittstellen-Standards werden innerhalb von Embedded-Vision-Systemen und zwischen den Embedded-Vision-Systemen und ihrer Umgebung angewandt? Welche Rolle spielen hier PCI Express (PCIe) und MIPI?

PCIe eignet sich hervorragend und ist plattformübergreifend sehr gut standardisiert. In unserer Bilderfassungs-Programmierschnittstelle „mvIMPACT Acquire SDK“ ist PCIe als GenICam-GenTL-Producer und -Consumer realisiert. Dies ermöglicht prinzipiell auch Consumern anderer Anbieter, direkt mit den Geräten zu reden. Das ist die komplizierte Antwort darauf, dass wir GenICam-GenTL-kompatibel sind. Wichtig ist dies für uns, weil wir die Kunden, die existierende Lösungen haben und migrieren wollen, optimal unterstützen möchten, so dass sie dies mit geringem Aufwand tun können.

Bei MIPI ist das momentan etwas anders. MIPI ist für sich betrachtet auch eine Art Standard bei ARM-Mobilprozessoren, benötigt aber für ein bestimmtes SoC und einen bestimmten MIPI-Sensor den jeweiligen Hardware-Treiber und somit für jedes SoC und jeden Bildsensor einen anderen. Zudem sind die existierenden Bildsensoren eher low end und von ihrer Framerate eher bei USB3 platziert, aber natürlich attraktiv vom Preis her.

Eine Kamera der Serie mvBlueNAOS von Matrix Vision mit angeschlossenem Adapterboard
Eine Kamera der Serie mvBlueNAOS von Matrix Vision mit angeschlossenem Adapterboard
© Matrix Vision

Welche Systemkomponenten und Dienstleistungen für Embedded Vision bietet Matrix Vision derzeit an?

Neben den bereits etablierten USB-2.0- und USB3-Vision-Embedded-Kameraserien bieten wir seit diesem Jahr zudem unsere High-end-Embedded-Kameraserie „mvBlueNAOS“ sowie die dafür nötigen Flexkabel und Adapter an. Die kompakt gebauten mvBlueNAOS-Kameras haben IMX-GS-Bildsensoren von Sony mit 1,6 MPixel bis 24,6 MPixel und erreichen eine hohe Framerate über die PCIe-Schnittstelle. Sie bieten unser All-in-One-Interface „NAOS for Embedded“ (N4e), Adapter für PCIe und M2.M sowie den Generic Transport Layer (GenTL), der für den Transport der Kamera-Daten in die Benutzer-Anwendung verantwortlich ist. Ihre PCIe-Schnittstelle sorgt durch DMA (Direct Memory Access) für einen fast latenzfreien Transfer der Bilddaten direkt in den Speicher. Die Kameras haben einen geringen Stromverbrauch und unterstützen ARM-SoCs und Intel-SoMs wie SMARC und COM Express, wobei sie nur eine geringe CPU/GPU-Last verursachen. Sie ermöglichen Multikamerasysteme und unterstützen die KI-Einheiten der SoCs. Matrix Vision bietet Support für kundenspezifische Carrier Boards und generelle Systemberatung an.


Welche Roadmap verfolgt Matrix Vision derzeit in puncto Embedded Vision?

Wir bauen unsere PCIe-Familie konsequent aus. Die mvBlueNAOS2 ist für die zweite Generation der IMX-Bildsensoren von Sony optimiert, die mvBlueNAOS4-Serie für die vierte, weil sie die schnelle EC-Schnittstelle der Sony-Sensoren unterstützt. Damit erreichen wir über vier Lanes PCIe Gen2 mehr als 1,5 GB/s Datenrate, also das Vierfache der via USB3 erzielbaren Framerate. Gleichzeitig beschäftigen wir uns mit den verschiedenen SoCs und SoMs, um deren Spezifika und Coprozessoren möglichst gut verstehen zu können. Um optimalen Multikamerabetrieb zu unterstützen, gibt es neben der sogenannten Bifurcation die Nutzung von Switch-ICs, die sich dann auf kundenspezifische Carrier Boards platzieren lassen. Bifurcation meint hier die Möglichkeit, dass einzelne Prozessoren interne Switches haben, um die Anzahl der PCIe-Lanes, die der Prozessor bietet, auf unterschiedliche Devices aufsplitten zu können.


Verwandte Artikel

MATRIX VISION GmbH