Entscheidungshilfe

Weniger Komplexität bei der Programmierung

Ob ein FPGA einer Bildverarbeitungsanwendung Vorteile bringt, muss von Fall zu Fall beurteilt werden. Dabei kommt es auf Faktoren wie die verwendeten Algorithmen, Anforderungen an Latenz oder Jitter, I/O-Synchronisierung und Stromverbrauch an. In den meisten Fällen ist eine Architektur sowohl mit FPGA als auch mit CPU die beste Option in Bezug auf Leistung, Kosten und Zuverlässigkeit. Eine der größten Hürden bei der Implementierung eines FPGA-basierten Bildverarbeitungssystems ist jedoch häufig die komplexe Programmierung von FPGAs. Die Entwicklung von Visionalgorithmen ist schon von Natur aus ein iterativer Prozess, bei dem von vorneherein klar ist, dass für jede Aufgabe verschiedene Ansätze ausprobiert werden müssen. Meistens geht es dabei nicht darum, ob ein Ansatz funktioniert, sondern welcher Ansatz am besten funktioniert, was wiederum von Anwendung zu Anwendung variiert. Bei manchen Anwendungen zählt die Geschwindigkeit, bei anderen die Genauigkeit. Es müssen jedoch immer mehrere Lösungswege getestet werden, um den besten für eine bestimmte Anwendung zu finden. Für eine höhere Produktivität bei der Entwicklung sollten während des Entwurfsprozesses unmittelbar Feedback und Leistungsvergleiche für die jeweiligen Algorithmen ausgegeben werden und zwar unabhängig von der verwendeten Verarbeitungsplattform. Die Anzeige von Algorithmenergebnissen in Echtzeit spart enorm viel Zeit bei solch iterativen Entwicklungsansätzen. Gängige Entwicklungsfragen, wie, welcher Schwellenwert der richtige ist, ab welcher Größe Teilchen von einem binären morphologischen Filter aussortiert werden sollen oder welcher Vorverarbeitungsalgorithmus und welche Parameter ein Bild am besten bereinigen, sollten umgehend beantwortet und Einstellungen entsprechend angepasst werden können. Der herkömmliche Entwicklungsansatz für FPGAs kann diesen Innovationszyklus jedoch verlangsamen, da nach jeder Änderung am Algorithmus erst wieder neu kompiliert werden muss. Eine Möglichkeit, dies zu umgehen, ist der Einsatz eines Entwicklungstools, mit dem sowohl CPU- als auch FPGA-Bereitstellungen in einer Umgebung entwickelt werden können, ohne dass der Prozess durch die FPGA-Kompilierung verzögert wird. Der Vision Assistant von NI bietet genau diese Funktionalität und ermöglicht das Testen der Algorithmen vor der Kompilierung und Bereitstellung auf dem Zielsystem. Außerdem bietet er einfachen Zugriff auf Daten zum Durchsatz und zur Ressourcenauslastung.

 

Seiten: 1 2 3Auf einer Seite lesen

National Instruments Germany GmbH

Das könnte Sie auch Interessieren