Deutliche CPU-Entlastung

FPGA basierte Smart-Kameras als IPC-Ersatz

Bildverarbeitungsvorgänge in Vision-Applikationen beanspruchen oft immense Ressourcen der CPU. Eine Steigerung der Performance ist deshalb bei beengten Platzverhältnissen oft eine große Herausforderung. FPGAs können diesem Problem mit deutlicher Effizienzsteigerungen begegnen. Welche Bildverarbeitungsvorgänge sind für FPGAs aber prädestiniert, wie genau unterscheidet sich die Performance zwischen CPU und FPGA im laufenden Betrieb und wie sollte eine Build-in-Lösung zur FPGA Bildvorverarbeitung aufgebaut sein?
Auch wenn sich konventionelle Machine-Vision-Lösungen bislang auf hoch performante CPUs verlassen haben, um die erforderliche Geschwindigkeit und Qualität der Bildverarbeitungsapplikationen zu erreichen, tendieren die leistungsfähigen Prozessoren dazu, sowohl teurer zu sein als auch größere und komplexere Systeme zu erfordern. Für IPC-basierte Lösungen werden deshalb oft Stand-Alone Industrie-PCs verwendet und die externen Kameras über externe oder eingebettete Framegrabber angebunden. Eine Alternative hierzu sind Smart-Kameras. Hier sind alle Vision-Komponenten in einer einzigen Small Form Factor Unit integriert. Ein Nachteil ist jedoch, dass konventionelle Smart-Kameras oft einen Low-Power Single-Core Atom Prozessor nutzen, um die erzeugte Wärme zu reduzieren und den Bedarf nach einer aktiven Lüftung zu beseitigen. Grafikaufwendigere Applikationen, die große Datenmengen verarbeiten, bauen aber auf einer starken CPU-Leistung auf. Inhärente Konflikte können jedoch die Folge sein. Diese tauchen immer dann auf, wenn die Anforderung nach hoher Leistung zugleich auf die Anforderung nach geringer Größe und/oder geringen Kosten stößt, denn eine intensive Datenverarbeitung erfordert auch immer eine teurere CPU, die zudem auch noch mehr Wärme erzeugt und somit auch ein größeres und auch leistungsfähigeres System zur Wärmeabführung benötigt. Deshalb war es schon immer eine der größten Herausforderungen, Systeme zu entwickeln, die die konträren Anforderungen einer kleineren Größe bei großer Leistung optimal ausbalancieren. Durch den Einsatz von FPGAs kann man diese Herausforderungen bewältigen.

Vorteile von FPGA

FPGAs sind umprogrammierbare Schaltungen, die eine parallele Computing-Architektur verwenden, die aus mehreren konfigurierbaren Logikblöcken (CLBs), festen Funktionslogikblöcken und einem integrierten RAM bestehen. Bei FPGAs werden die Rechenaufgaben mithilfe einer Konfigurationsdatei entwickelt, die vorgibt, wie die Komponenten miteinander verbunden sind. Über vorgefertigte Logikblöcke und programmierbare Routing-Ressourcen können die FPGAs konfiguriert werden. So lassen sich benutzerdefinierte Hardware-Funktionen implementieren; zeitaufwendige und komplizierte PCB Herstellungsprozesse für kundenspezifische ASIC-Design sind nicht erforderlich. Da FPGAs sich vollständig rekonfigurieren lassen, können sie jedes Mal, wenn ihre Datei neu kompiliert wird, um eine neue Schaltungskonfiguration vorzuschreiben, eine andere funktionelle Identität übernehmen. FPGAs verbinden zudem das Beste aus zwei Welten: Sie liefern eine Hardware-basierte Geschwindigkeit und Zuverlässigkeit und behalten dennoch zugleich auch eine hohe flexibel programmierbare Anwendungsflexibilität bei. Dadurch kombinieren sie das Beste von ASICs und Prozessor-basierten Systemen und sind deshalb in vielen Industriebereichen sehr beliebt. Bei der Halbleiterverarbeitung werden FPGAs oft für das Produkt-Prototyping eingesetzt, um Ideen und Funktionen zu testen und zu überprüfen – und das ohne die Kosten und Schwierigkeiten eines kompletten Chipherstellungsprozesses. Der vollständig parallele Aufbau von FPGAs erlaubt es, jede unabhängige Verarbeitungsaufgabe einem speziellen Bereich des Chips zuzuordnen. Das geschieht mittels Verarbeitungsoperationen in einem Bereich, der von anderen Logikblöcken isoliert wird, so dass die Leistung dieses Bereiches nicht beeinflusst wird, wenn weitere Verarbeitungsaufgaben hinzugefügt werden. Folglich können FPGAs mehrere Aufgaben gleichzeitig verwalten und das bei maximalen Verarbeitungsgeschwindigkeiten, was FPGAs für die Implementierung einer datenintensiven Verarbeitung von parallelen Algorithmen prädestiniert. Weitere Vorteile von FPGA sind…

Anzeige
  • • Gesteigerte Leistung: Die Parallelität von Hardware ermöglicht es FPGAs, die CPUs hinsichtlich der Verarbeitung bestimmter Algorithmen (besonders diejenigen mit paralleler Beschaffenheit) mit mehr als tausendfacher Geschwindigkeit zu übertreffen. Im Gegensatz zu FPGAs berechnen CPUs der Reihe nach, teilen Algorithmen in sequentielle Operationen auf und begrenzen die Ausführung auf jeweils einen Vorgang.
  • • Schnellere Time-to-Market: Die Umprogrammierbarkeit von FPGAs erlaubt es, Ideen und Funktionen auf der Hardware zu testen und zu überprüfen – und dies ohne die Zeit, Kosten und Schwierigkeiten, die bei einem kompletten Chipherstellungsprozess zustande kämen. Änderungen können innerhalb von Stunden anstatt Wochen umgesetzt (oder auch verworfen) und getestet werden.
  • • Kostensenkung: Im Vergleich zu den einmaligen Engineering Kosten für benutzerdefinierte ASICs sind FPGAs sehr kosteneffizient und das nicht nur für das Produkt-Prototyping, sondern auch für System-Upgrades und Erweiterungen. Inkrementelle Änderungen an FPGA-Designs zur Erweiterung und/oder Verbesserung der Funktionalität können einfach und günstig umgesetzt werden, ohne das Hardwaredesign ändern zu müssen. Da FPGAs außerdem auch im laufenden Betrieb beim Kunden im Feld aufrüstbar sind, bieten sie in der Regel auch eine längere Lebensdauer mit verringerten langfristigen Systemwartungs- bzw. Systemaustauschkosten.

Einen FPGA-Chip als Co-Prozessor zu nutzen, um ausgewählte Bildverarbeitungsalgorithmen (z.B. Tabellenlesen) zu implementieren, kann zur Entlastung der CPU beitragen und so Ressourcen freistellen, mit denen man andere Operationen durchführen kann. Bilddaten können zudem zwischen FPGA und CPU gestreamt werden, um gemeinsam Aufgaben abzuarbeiten und so die Gesamtleistung des Vision Systems beträchtlich zu steigern.

Leistungsvergleich CPU – FPGA

Wie Tabelle 2 zeigt, dauert eine CPU-basierte Operation 4,5ms und verwendet vier Prozent der Verarbeitungsressourcen für ein häufig verwendetes Dienstprogramm zur Bildverarbeitung, um einen LUT Algorithmus auf ein 2MP Bild anzuwenden. Ein FPGA hingegen führt diese Aufgabe in 0,025ms aus, ohne jegliche CPU-Ressourcen zu verbrauchen, d.h. eine 100.000-fache Erhöhung der Geschwindigkeit. Wenn zudem Funktionen zur Shading-Korrektur durchgeführt werden, braucht die CPU mit Bildverarbeitungssoftware 1,3ms und zwei Prozent der CPU Ressourcen, um die Verarbeitungsaufgabe abzuschließen, während der FPGA nur 25ns braucht und keine CPU-Leistung in Anspruch nimmt. Trotz der offensichtlichen Vorteile hinsichtlich Kosten, Flexibilität und Leistung sind FPGAs in Vision Systemen bisher nicht so weit verbreitet. Ein Hauptgrund sind Schwierigkeiten bei der Programmierung. Wenige Programmierer sind mit den sehr hardwarenahen Sprachen, wie VHDL oder Verilog, vertraut, die für FPGAs verwendet werden und dadurch entsteht ein Hindernis für eine breite Entwicklung und Nutzung. Mit dem Aufkommen neuer Interface-Produkte und Design-Tools gewinnen FPGAs jedoch neue Marktimpulse.

Das könnte Sie auch interessieren

Wie können komplette 3D-Daten erfasst, interne Defekte in Gussteilen erkannt und sogar deren 3D-Koordinaten bestimmt werden? Das Unternehmen Carl Zeiss Industrielle Messtechnik GmbH hat ein informatives Video veröffentlicht, in dem die Inline-Prozessinspektion mit dem Zeiss VoluMax in der Leichtmetallgießerei am BMW-Produktionsstandort Landshut veranschaulicht wird.

Anzeige

Klassische Wärmebildkameras benötigen einen mechanischen Shutter, mithilfe dessen ca. alle 2 bis 3 Minuten Referenzdaten zur Kalibrierung der Wärmebilddarstellung und der Temperaturmessung aufgenommen werden. Jedoch erzeugt das Schließen des Shutters ein Geräusch und die Videoaufzeichnung ist während dieser Zeit unterbrochen. Daher hat Tamron nun ein Shutter-loses Wärmebildkameramodul auf Basis eines amorphen Silikonwärmebildsensors entwickelt. Dieser Sensor verfügt über eine exzellente Temperaturwiedergabe selbst wenn sich seine eigene Temperatur verändert.

www.tamron.eu

Der Industriescanner VTCIS ist in der Lage, im Druckbild fehlende Nozzles bei einer Auflösung von 1.200dpi automatisch zu detektieren. Da der CIS (Compact Image Sensor) nicht das komplette Bild einzieht, sondern nur bestimmte Bereiche scannt, wird die Datenverarbeitung vereinfacht und die Datenmenge deutlich reduziert. Außerdem garantiert die integrierte Flüssigkeitskühlung Farbstabilität über den gesamten Druckprozess hinweg und schließt Farbabweichungen aus. Dank einer Zeilenrate von bis zu 250kHz und einer Abtastgeschwindigkeit von bis zu 20m/s ist der Scanner für sehr schnell laufende Druckprozesse bestens geeignet.

www.tichawa.de

Die neuesten Versionen der 3D-Kameras für Lasertriangulation erreicht Triangulationsraten von bis zu 68kHz. Die Kamera basiert dabei auf einem 2/3″ Hochgeschwindigkeitssensor von Cmosis, der auch bei schwachen Lichtverhältnissen eine hervorragende Leistung erbringt. Als Schnittstelle verwendet die 3D05 das standardisierte GigEVision-Interface. Für eine einfache Integration und Synchronisierung besitzt die Kamera eine komplette, in die Kamera integrierte Drehgeberschnittstelle (RS422 und HTL). Das HTL-Interface ermöglicht dabei auch einen stabilen und effizienten Einsatz in der Schwerindustrie oder Bereichen mit starken elektrischen Störquellen.

www.photonfocus.com

Sensoren bis zu 1/1.2 und 1″ wurde die HF-XA-5M Objektivserie von Fujinon entwickelt. Die Objektive erreichen eine konstant hohe Auflösung von 5MP über das gesamte Bildfeld – bei einem Pixelabstand von 3,45µm. Dies gilt bei offener Blende ebenso wie bei verschiedenen Arbeitsabständen. Mit 29,5mm Außendurchmesser eignen sich die Objektive für platzkritische Anwendungen.

www.polytec.de

Die Messsoftware Wave ist für den hochpräzisen Wegmesssensor IDS3010. Damit können Messdaten in Echtzeit analysiert, verarbeitet und ausgewertet werden. Die Software verfügt über verschiedene Funktionen zur Visualisierung und Analyse von Daten, beispielsweise können die angezeigten Messdaten vergrößert/verkleinert werden oder die Datenvisualisierung kann gestoppt werden, um bestimmte Zeitbereiche zu analysieren. Außerdem ist eine Live Fast-Fourier-Transformation von Messwerten implementiert.

www.attocube.com

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige