NEWS@IMAGING

Immer einen Schritt voraus

VisualApplets 2.0: Grafisches FPGA-Programmieren mit weltweiter Unterstützung

13. September 2013

VisualApplets von Silicon Software erlaubt die Programmierung von FPGAs für den Einsatz in Bildverarbeitungsanwendungen über eine grafische Bedieneroberfläche. Das Werkzeug wurde kürzlich in der 2. Version vorgestellt. Geschäftsführer Dr. Klaus-Henning Noffz spricht über Hintergründe dieser interessanten Technik, die Bedeutung von VisualApplets Competence Centern (VACC) und VisualApplets Design Centern (VADC) sowie die Zusammenarbeit mit STEMMER IMAGING.

Die Zentrale von STEMMER IMAGING in Deutschland wurde kürzlich zum VADC ernannt, die Niederlassung in Großbritannien zum VACC. Was bedeuten diese Ernennungen aus Ihrer Sicht und was wollen Sie mit diesen Kategorien generell bezwecken?
Dr. Klaus-Henning Noffz: Mit VACC und VADC haben wir ein zweistufiges Zertifizierungssystem für VisualApplets eingeführt. Damit verbunden ist eine Qualitätsaussage, die Anwendern von VisualApplets hilft, für ihre VisualApplets-Projekte einen geeigneten und versierten Partner zu finden. Ein VisualApplets Competence Center kann Schulungen und intensive Beratungen durchführen. Auch wenn die Umsetzungen der Programmierungen nicht direkt von unseren VACC-Partnerfirmen durchgeführt werden, können durch die Zertifizierung geschulte Mitarbeiter die Projektanforderungen verstehen und an einen VADC-Partner oder direkt an Silicon Software vermitteln. Ein Kunde bekommt so in kurzer Zeit qualifizierte Antworten über die Möglichkeiten und Umsetzbarkeit von kompletten oder Teilprojekten.

Unsere Partnerfirmen, die die VisualApplets Design Center-Zertifizierung erlangt haben, gehen noch einen Schritt weiter: Sie können Bildverarbeitungsanforderungen über FPGA-Programmierung durch VisualApplets selbständig lösen. Hierdurch bauen wir ein internationales, dezentrales Kompetenznetzwerk auf, in dem Echtzeitlösungen auf FPGAs umgesetzt werden können.

Wie viele Ihrer Partner führen diese Titel?
Dr. Klaus-Henning Noffz: Das Interesse unserer Partner an einer qualifizierten Vermittlung von VisualApplets an ihre Kunden hat uns, ehrlich gesagt, selbst erstaunt. Wir haben in den letzten beiden Jahren annähernd 92% unserer Partnerfirmen als VACC zertifiziert. Das ist ein großer Erfolg. Im Bereich VADC haben wir mit STEMMER IMAGING jetzt die erste Partnerfirma, die auch die zweite Stufe erfolgreich erreicht hat. Damit haben wir im Bereich der europäischen Länder eine sehr starke Präsenz erhalten, um VisualApplets-Projekte zu realisieren. Wir hoffen, dass wir das Partnernetzwerk mit weiteren Aspiranten insbesondere aus Asien und Israel noch enger knüpfen können.

Welche Vorteile haben VisualApplets-Anwender, wenn sie mit Ihren VACC/VADC-Partnern zusammenarbeiten?
Dr. Klaus-Henning Noffz: Für die Umsetzung von Projekten gibt es unterschiedliche Herangehensweisen. Es gibt VisualApplets-Anwender, die die Kontrolle über ihr gesamtes Projekt behalten möchten und die Programmierung selbst durchführen müssen. Diese Kunden benötigen häufig eine einführende Schulung oder anwendungsspezifische Coachings. Viele Kunden wollen den ersten Schritt überspringen und eine Lösung modifizieren oder weiterentwickeln. Sie beauftragen eine Programmierung und lassen sich coachen, um z.B. Anpassungen auf neue Kameras oder ausgefeilte Algorithmen selbst umsetzen zu können. Diese Kunden benötigen bereits einen VADC-Partner für die Realisierung der VisualApplets-Programmierung.

Ein Kunde kann sicher sein, dass unsere VACC- und VADC-Partner auf dem neusten Stand der Technik sind und eine kompetente Beratung sowie eine zeitnahe Umsetzung garantieren. Aber auch der Support kann dezentral, kompetent und in der Landessprache helfen. Da die Zertifizierungsdauer zeitlich begrenzt ist, durchlaufen unsere Partner unsere speziellen Schulungen immer wieder.

Wie arbeiten Sie mit Ihren VACC- und VADC-Partnern zusammen?
Dr. Klaus-Henning Noffz: Neben dem Schulungsangebot vor Ort werden unsere Partner über Telekonferenzen zu speziellen Themen oder auch Anwendungsschwerpunkten, z.B. die 3D-Vermessung geschult. Zudem stehen unsere Partner nie alleine da: Als Hersteller von VisualApplets können wir immer wieder Tipps zu Optimierungen geben und auch bei Second Level Support- oder Anwendungsproblemen schnell helfen.

Für die Systemanforderungen haben wir eine so genannte Technische Kurzbeschreibung erarbeitet, die die projektrelevanten Kriterien und Werte in kurzer Form abfragt. Gerade für die hohen Ansprüche an Echtzeitbedingungen oder die algorithmische Verarbeitung ist diese Beschreibung bei der Kommunikation zwischen Kunde und Partner sowie selbstverständlich mit uns sehr hilfreich.

Was sind die wesentlichen Merkmale von VisualApplets?
Dr. Klaus-Henning Noffz: VisualApplets wurde im Mai 2013 in der Version 2.0 herausgebracht. Die Bedienung ist in dieser Version noch einfacher geworden, und wir konnten die Fehlererkennung und die automatische Behebung noch leistungsstärker gestalten. Zudem ist der Funktionsumfang sowohl bei den Bildverarbeitungsbibliotheken als auch bei der Simulation und den Analysewerkzeugen stark gewachsen. Dieses hilft nicht nur unseren Kunden, sondern auch unseren Partnern, die die Kundenprojekte noch sicherer und schneller umsetzen können.

Für welche Einsatzfelder eignet sich VisualApplets besonders?
Dr. Klaus-Henning Noffz: VisualApplets enthält so genannte Basisoperatoren und komplexe Operatoren. Mit den Basisoperatoren kann man auf einfache Weise visuell programmieren und seine eigenen Operatoren erstellen, eigene Bibliotheken zusammenstellen und Anwendungen programmieren. Es gibt dabei kaum Abhängigkeiten von unserem eigenen Bibliotheksangebot.

Bei den komplexen Operatoren können durch einfache Programmierungs-Designs Anwendungen umgesetzt werden. So benötigt eine Anwendung für eine Objektsegmentierung und –klassifizierung lediglich einen Operator für eine Blob-Analyse, um die Aufgabe in Echtzeit zu erfüllen.

Um Anwender optimal bei ihren Entwicklungen zu unterstützen, liefern wir über 60 Beispiel-Designs aus verschiedenen Bereichen mit aus. Von einer adaptiven Binarisierung über verschiedenste Filterungen, Farbverarbeitung, Pattern Matching oder auch Komprimierungen sind dabei Teillösungen für fast alle Anwendungen vorhanden. Aber gerade die Programmierungsmöglichkeit des Triggers und der digitalen Steuersignale sind für viele Anwendungen ein Grund für den Einsatz von VisualApplets.

Können Sie Beispiele nennen, in denen VA bereits erfolgreich eingesetzt wird?
Dr. Klaus-Henning Noffz: Aus den vielen Anwendungen die typischsten Beispiele herauszusuchen fällt schwer. Eine schöne Erfahrung haben wir in Asien mit einer Anwendung für selbststeuernde Schweißroboter gemacht, da hier die Vorteile einer Echtzeitverarbeitung ohne CPU-Einfluss deutlich sichtbar wurden. Zudem haben wir in diesem Beispiel die zeitlichen Anforderungen an die Verarbeitung um den Faktor 5 übertroffen. Eine ganz andere Erfahrung haben wir bei Kameraherstellern gemacht, die VisualApplets zur Sortierung von Sensordaten in der Entwicklungsphase einsetzen. Die Programmierungsdesigns sind nicht aufwändig, können aber sehr schnell umgesetzt werden. Dies ist ein schönes Beispiel für Time-to-Market.

Sehr wichtig waren für uns jedoch zwei weitere Beispiele, die von Stemmer Imaging auf den Messen Vision 2011 und 2012 gezeigt wurden. Im ersten Demonstrator wurden dabei farbige Tischtennisbälle im freien Fall erkannt und sortiert, im zweiten Fall wurde eine Kugel in Echtzeit ausbalanciert. Diese beiden interessanten Messe-Demos haben uns gezeigt, dass unsere Partner ohne Probleme sehr anspruchsvolle Anwendungen mit VisualApplets umsetzen können und bereits heute Lösungspartner für ihre Kunden sind.

Welche Projekte wurden bereits von VADC-Partnern realisiert?
Dr. Klaus-Henning Noffz: Häufig sind es kleine Zusatzfunktionen, die den Ausschlag für den Einsatz von VisualApplets geben. Stemmer Imaging hat hier bereits viele dieser Anpassungen für Kunden realisiert. Die Anpassung der neuesten Kamera an ein Projekt, ein individuelles Timing bei der Ansteuerung von Peripherie, die Synchronisation von Kameras oder ein Stitching, d.h. das nahtlose Aneinanderfügen von Kamerabildern sind Beispiele für solche individuelle Systemkonfigurationen. Aber auch der Einsatz eines Highpass- oder Lowpass-Filters, eine Kantendetektion oder eine Rauschunterdrückung sind typische Beispiele für Zusatzfunktionen, die über VisualApplets programmiert werden können, die die CPU nicht belasten, die hohe Datenraten verarbeiten können und einen hohen Mehrwert bringen.

Welche Voraussetzungen braucht ein Anwender, um mit VisualApplets arbeiten zu können?
Dr. Klaus-Henning Noffz: VisualApplets richtet sich an Softwareprogrammierer. Wir haben immer wieder gesehen, dass sich Hardwareprogrammierer ohne Einarbeitung direkt an Designs wagen und mit VisualApplets schnell leistungsfähige Lösungen realisieren konnten. Aber auch Neueinsteiger waren schon nach kurzer Zeit in der Lage, Designs zu adaptieren oder neu zu erstellen. Erfahrung in der Bildverarbeitung ist natürlich hilfreich, aber nicht notwendig. Da Analysewerkzeuge und Korrekturautomatismen in VisualApplets integriert wurden und auch eine High-Level-Simulation zur Verfügung steht, kann sich der Anwender auf sein Bildverarbeitungsproblem konzentrieren und vergisst, dass er es mit einer Hardwareprogrammierung zu tun hat. Somit bleibt als einzige Voraussetzung der Spaß an der Bildverarbeitung, die der Anwender mitbringen sollte.

Silicon Software

Mannheim, Germany

Die Silicon Software GmbH wurde 1997 mit Sitz in Mannheim gegründet. Das Unternehmen bietet mit seinen Hard- und Software- Entwicklungen auf höchstem technologischen Niveau nicht nur Standard- und OEM-Produkte, sondern auch hochflexible Lösungen, mit denen Sie schnell auf wechselnde Anforderungen reagieren können.

Silicon Software Visual Applets - Grafisch orientiertes Werkzeug zur einfachen FPGA-Programmierung
  • Sehr schnelle und einfache Erstellung von Hardware-Designs
  • Erstellte Hardware-Applets können sofort im SDK oder unter microDisplay eingesetzt werden
  • Kein Vorwissen an Layoutplanung, Synchronisation, Zeitverhalten oder FPGA-Programmierung erforderlich