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…

  • • 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

Embedded Vision Europe Conference 2017

Der europäische Bildverarbeitungsverband EMVA plant erstmals vom 12. bis 13. Oktober zusammen mit der Messe Stuttgart die Ausrichtung der Embedded Vision Europe (EVE) Conference in Stuttgart. Über die Ziele und Inhalte der Veranstaltung sprach inVISION mit Gabriele Jansen, Mitglied im ehrenamtlichen Vorstand der EMVA und Geschäftsführerin von Vision Ventures.

www.embedded-vision-emva.org

Projekt zu 3D-Gesichtserkennungssystemen

Das Centre for Machine Vision der University of the West of England (UWE Bristol) kooperiert mit dem britischen Unternehmen Customer Clever, um ein System zur 3D-Gesichtserkennung zu entwickeln, das erstmals auch gewerblich genutzt werden könnte. Das auf zwei Jahre angesetzte Projekt wird u.a. durch 170.000£ Förderung von der staatlichen Agentur Innovate UK mitfinanziert.

info.uwe.ac.uk

Anzeige
Automation Technology erweitert Produktionsstandort

Aufgrund des wachsenden Auftragsvolumens hat AT seinen Produktionsstandort in Bad Oldesloe erweitert. Die seit Mai offiziell in Betrieb befindliche Halle erweitert die Produktionsstätte um mehr als 1.000m² und ist mit einer Solaranlage ausgerüstet, die in Kombination mit neuen Energiespeichern zukünftig eine nahezu autarke Stromversorgung des gesamten Unternehmens erlaubt.

www.automationtechnology.de

Vertriebskooperation zwischen Tattile und Framos

Die beiden Unternehmen Tattile und Framos haben eine gemeinsame Zusammenarbeit bekannt gegeben. Die Vertriebskooperation umfasst die gesamte Palette an Hardware- und Softwareprodukten (Vision Controller, Industriekameras etc.) des Unternehmens Tattile, die zukünftig über das Framos-Vertriebsnetz in Europa und Nordamerika erhältlich sein wird.

www.tattile.com

Anzeige
Robotics & Automation 2017

Die neue ‚Robotics & Automation‘-Messe findet vom 11. bis 12. Oktober in der Arena MK in Milton Keynes, Großbritannien, statt. Die Messe richtet sich vor allem an Kunden aus den Bereichen Manufacturing, Automotive, Distribution, Warehouse, Einzelhandel sowie an pharmazeutische Kunden und beinhaltet neben Messe-Ständen auch Vorträge und Live-Applikationen.

www.roboticsandautomation.co.uk

Schneider-Kreuznach mit neuem Vertriebsleiter

Seit 1. Mai ist Dr. Raimund Lassak neuer Vertriebsleiter der Jos. Schneider Optische Werke GmbH. Der 52-jährige gelernte Ingenieur bringt weitreichende Erfahrungen aus verschiedenen Managementpositionen bei Technologie-Unternehmen mit sich. Er verantwortet bei Schneider-Kreuznach nun sämtliche globalen Vertriebsaktivitäten.

www.schneiderkreuznach.com

Anzeige