<img alt="" src="https://secure.leadforensics.com/11743.png" style="display:none;">

Welche Prozessoren eignen sich am besten für Embedded Vision?

 

 

Willkommen zur neuesten Ausgabe unserer Blogreihe über maschinelles Sehen. Diese Woche werden wir das Thema Embedded Vision abschließen, indem wir Softwareoptionen für Embedded-Vision-Systeme genauer betrachten.

Egal, ob Sie daran interessiert sind, leistungsstarke Embedded-Vision-Systeme oder kompakte Embedded Vision Geräte zu konfigurieren oder einfach nur mehr über das Thema erfahren möchten, dieser Blogbeitrag ist für Sie. Letztendlich ist Embedded Vision die Zukunft vieler Bildverarbeitungsanwendungen in der Robotik, Industrieautomation, Medizintechnik, Biowissenschaften und der Automobilindustrie, um nur einige zu nennen. Wir wünschen Ihnen viel Spaß beim Lesen.


VS 1-1

 

Open-Source vs. Lizenzierte Bildverarbeitungssoftware für Embedded Vision

Wenn es um die Auswahl von Software für eingebettete Bildverarbeitungssysteme geht, lautet die erste Frage meist wie folgt: Verwende ich Open-Source Software oder lizenzierte Bildverarbeitungssoftware, z. B. ein kostenpflichtiges SDK? Selbst die erfahrensten Spezialisten stehen gelegentlich vor genau diesem Dilemma. Eine Auswahl zwischen den beiden zu treffen, mag einfach klingen, ist es aber oft nicht. Lassen Sie uns die Vor- und Nachteile von Open-Source-Bildverarbeitungssoftware für Embedded Vision genauer betrachten.

Vorteile von Open-Source Embedded Vision Software Kosten

Auch wenn dies ein offensichtlicher Vorteil ist, ist es wichtig zu unterstreichen, dass Open-Source Software per Definition frei und offen ist. Es fallen auch keine fortlaufenden Kosten für unbefristete Lizenzen an. Wenn Sie also ein eingebettetes System mit Ihrer Software versenden, zahlen Sie keine wiederkehrenden Softwarelizenzkosten, wodurch diese Variante für großvolumige Systemimplementierungen mit begrenztem Budget besonders gut geeignet ist.

Ideenaustausch

Open-Source Plattformen fördern den Austausch von Ideen und ermöglichen es Entwicklern und Benutzern, an wichtigen Themen und möglicherweise auftretenden Problemen zusammenzuarbeiten, insbesondere da die produzierte Software nicht reguliert ist. OpenCV ist ein großartiger Ort, um Ideen auszutauschen und Fragen an die Community der OpenCV-Entwickler zu stellen.

Interoperabilität

Bei Open-Source Software ist die Fähigkeit zum Zusammenspiel verschiedener Open-Source-Modelle meist wesentlich zuverlässiger als bei vermarkteter professioneller Bildverarbeitungssoftware. Wenn Sie ständig mit anderen Branchen und Anwendern interagieren und nicht durch etablierte Datenvereinbarungen eingeschränkt werden möchten, ist Open Source der richtige Weg.

Obwohl dies alles sehr ansprechend klingen mag, ist es wichtig, die folgenden potenziellen Nachteile zu berücksichtigen, bevor Sie auf OpenCV springen und eine Entscheidung treffen.

undefined-Nov-18-2021-05-03-00-22-PM

OpenCV ist eine weit verbreitete Open-Source-Bibliothek für Bildverarbeitungssoftware

 

Nachteile von Open-Source Embedded Vision Software

Softwareentwicklung

Sofern Sie die Softwareentwicklung nicht selbst durchführen können, benötigen Sie ein Team von Entwicklern, entweder intern oder extern, mit hervorragenden Softwarekenntnissen in verschiedenen Programmiersprachen und einem tiefen Verständnis für Softwaredesign, Bildverarbeitungsterminologie und Algorithmen.

Support & Verbesserungen

Der Support ist wohl die größte Herausforderung bei Open-Source-Bildverarbeitungssoftware.

Obwohl einige Open-Source-Entwickler eine Garantie anbieten, ist nur begrenzter Support verfügbar, falls Sie auf Inkompatibilitätsprobleme stoßen bzw. Updates benötigen oder sogar auf Codierungsfehler stoßen, die zu Ausfallzeiten führen können.

Darüber hinaus könnte die Inkompatibilität mit anderen Systemen zu einer Fehlfunktion Ihrer Hardware führen, und ohne Support würde sich dies höchstwahrscheinlich als schwierig zu lösen erweisen, Ressourcen in Anspruch nehmen und später viel Zeit und Geld verschwenden.

In Bezug auf Verbesserungen, wenn Sie einen bestimmten Algorithmus benötigen, um schneller oder genauer zu arbeiten, müssen Sie möglicherweise warten, bis die Verbesserung kommt, wenn überhaupt.

Ausgewählte Programmiersprache

Sie müssen auch die Sprache berücksichtigen, in der Sie Ihre Software schreiben, und ob Open-Source Vision Software flexibel genug ist, um Sie in dieser Sprache schreiben zu lassen. Die Schlüsselfrage, die Sie sich stellen sollten, lautet: Wenn ich mich für diese Open-Source Software entscheide, kann ich dann in einer Programmiersprache programmieren, mit der ich bereits vertraut bin?

undefined-Nov-18-2021-05-03-00-41-PM

Python, C#, C++ und Visual Basic sind allesamt weit verbreitete Programmiersprachen für die maschinelle Bildverarbeitung, aber nicht alle werden von Open-Source Software unterstützt.

 

Verlässlichkeit

Auch hier ist es entscheidend, die potenzielle Langlebigkeit und Zuverlässigkeit von Open-Source Software zu berücksichtigen. Wurde es von entsprechenden Bildverarbeitungsexperten ausgiebig getestet? Wenn nicht, können Sie das Risiko eingehen, das Leidenschaftsprojekt eines Bildverarbeitungs-Enthusiasten zu übernehmen und es in ein professionelles Umfeld zu integrieren.

Entwicklungs-/Testumgebungen

Es wäre ein Fehler, neue Softwarealgorithmen in Ihre Embedded-Vision Systeme zu implementieren, ohne sie getestet zu haben. Gibt es eine Möglichkeit, Ihren Algorithmus zu testen, ohne das gesamte System zu verwenden? Wenn nicht, und Sie diese Phase überspringen, kann Open Source für Ihr Projekt durchaus verzögernd wirken.

Funktionalität

Wie komplex sind die Funktionen Ihrer beabsichtigten Bildverarbeitungssoftware? Können Sie mit Open-Source Software sofort tun, was Sie wollen, oder müssen Sie benutzerdefinierte Bildverarbeitungsalgorithmen schreiben? Wenn nicht, werden Sie möglicherweise mit den gleichen Problemen konfrontiert, die wir unter Softwareentwicklung bereits erwähnt haben.

Effizienz

Eine weitere große Frage ist, ob Ihre Open-Source Software die verfügbare Rechenleistung Ihrer Hardware gut nutzt. Wird der benötigte Algorithmus beispielsweise mit der gewünschten Geschwindigkeit ausgeführt bzw. kann er das überhaupt? Mit professionell lizenzierten Paketen werden Algorithmen konsequent bewertet und für die neuesten CPU-Anweisungen wie SSE, SSE2, SSE3, SSE4, AVX, AVX-512 usw. optimiert.

Unterstütze Hardware

Was ist, wenn die Open-Source Algorithmen von Ihrer Bildverarbeitungshardware überhaupt nicht unterstützt werden? Dies ist eine besonders wichtige Frage in der Welt der eingebetteten Bildverarbeitung, wo Ihre Hardwareoptionen aufgrund von Größen- und physikalischen Integrationsüberlegungen möglicherweise eingeschränkter sind. Funktioniert Ihre Software mit der von Ihnen verwendeten CPU, ganz zu schweigen von den Embedded-Vision Kameras, Framegrabbern usw.

Entscheidung zwischen Open-Source und lizenzierten Bildverarbeitungs SDKs

Das Fazit lautet: Wenn Sie ein Hobbie Bildverarbeitungsanwender sind und Softwareprobleme auf lange Sicht nicht Tausende von Euro verschlingen sollen, dann ist Open-Source Software eine gute Option.

Aber wenn Sie ein OEM oder Systemintegrator sind, könnten Sie einen Fehler begehen, wenn Sie sich für Open-Source Software entscheiden.

Um dem Paket jedoch mehr hinzuzufügen, muss auch eine große Hardwareüberlegung angestellt werden …

 

 VS 2

ARM/FPGA vs. Intel/CPU Prozessoren für Embedded Vision

Intel CPUs

Professionelle Bildverarbeitungssoftwarepakete (wie MIL X) sind stark für die von ihnen unterstützten Plattformen optimiert. Bei PC-Vision Systemen läuft also fast alles auf Intel CPUs; Beispielsweise ist die neueste MIL Version von Matrox für die neuesten Intel® Advanced Vector Extensions 512 (AVX-512) geschwindigkeitsoptimiert.

Die Optimierungen, die für Intel CPUs funktionieren, funktionieren nicht für ARM, also brauchen Sie ein Unternehmen, das die echte Low-Level Optimierung durchführen kann – insbesondere, wenn Sie ein Echtzeit Vision System haben, bei dem die Dinge schnell laufen müssen.

Dies kann beispielsweise den Unterschied zwischen dem Musterabgleich in Millisekunden und Sekunden ausmachen.

FPGAs

Dann kommen wir zu FPGAs. In der Regel benötigen Sie einen Hardwareentwickler, der mit VHDL arbeiten kann, um einen Algorithmus auf einem optimierten FPGA zum Laufen zu bringen. Matrox bietet jedoch Framegrabber an, die mit FPGAs geliefert werden, auf denen betriebsbereite Bildverarbeitungsalgorithmen vorinstalliert sind.

Picture3

Matrox RadientPro CL Framegrabber

 

Gleiches gilt für die neue NET iam Smart Kamera. Diese intelligente Kamera ermöglicht es Benutzern ohne VHDL-Kenntnisse, die FPGA-Ressourcen für ihre eigenen Bildverarbeitungslösungen zu nutzen.

iam_Bild_Produktseite

NET iam Smart Kamera

 

Sie können auch kommerzielle Bibliotheken, OpenCV- oder NET-Funktionen verwenden – in diesem Fall gibt es also vielleicht mehr Nuancen bei der Entscheidung für die Software, anstatt eine einfache Besser oder Schlechter Bewertung zwischen Open-Source und lizenzierter Bildverarbeitungssoftware, da diese Kamera beides unterstützt.

 

Auswahl einer lizenzierten Bildverarbeitungssoftware

MIL X für Embedded Vision

Es gibt einige fantastische Optionen, wenn es um lizenzierte SDKs für maschinelles Sehen geht; Wir empfehlen normalerweise MIL (Matrox Imaging Library) X, da es die beste Bildverarbeitungssoftware darstellt.

 Picture5

Die MIL X-Hardware ist nicht nur effizient, hochfunktional und zuverlässig, sondern ermöglicht Ihnen auch die Nutzung einer riesigen Auswahl an erstaunlichen Bildverarbeitungsfunktionen. Sie müssen keine eigenen Algorithmen schreiben – die Softwareexperten von Matrox haben bereits eine fantastische Auswahl an Bildverarbeitungsfunktionen in MIL X geschrieben.

Sie müssen sich auch keine Gedanken über Ihre bevorzugte Programmiersprache machen, da Sie mit MIL X Ihren Code in Python, C#, C++ und Visual Basic schreiben können.

MIL X ist eine gemeinsame Softwareschnittstelle, was bedeutet, dass derselbe Kern-Code, der für PC-Anwendungen entwickelt wurde, die auf einer Intel-CPU laufen, mit Windows auch auf einem ARM-Prozessor mit Linux verwendet werden kann, wodurch es perfekt für die Installation in Embedded-Vision Anwendungen geeignet ist.

Darüber hinaus ist MIL X für GenICam-kompatible Hardware optimiert, was bedeutet, dass Sie nicht nur eine viel reibungslosere Markteinführung gewährleistet, sondern auch Softwaresupport von echten Bildverarbeitungsprofis.

Lizenzierte Software wie MIL X erfordert nicht das Maß an internem Support, das Open-Source Imaging-Software wahrscheinlich erfordern würde, was wiederum bedeutet das Sie mit Ihrem Projekt schneller vorankommen.

Fazit

Etwas Geld für ein großartiges lizenziertes SDK auszugeben, mag für OEMs und Systemintegratoren eine Vorabinvestition sein, aber es ist eine, die Ihnen später jahrelange Kopfschmerzen ersparen wird. Wenn Sie ein Endbenutzer sind oder mit ARM-Prozessoren arbeiten, gibt es etwas mehr Diskussionsspielraum, und mit der richtigen Vorbereitung ist möglicherweise Open-Source Bildverarbeitungssoftware eine Option für Ihr Embedded-Vision Projekt.

Letztlich kommt es auch auf die Frage der Optimierung an. Wenn Sie sich in eingebetteten Systemen von einer Intel-CPU entfernen, ist es wichtig, die erforderliche Geschwindigkeit Ihres Systems zu berücksichtigen, wie Ihr System optimiert wird, um diese Geschwindigkeitsanforderung zu erfüllen, und schließlich, wer diese Optimierungsarbeiten durchführen wird auf Ihrem System.

Embedded Vision-Lösungen von ClearView Imaging

Das war’s für den Blogpost dieser Woche. Bleiben Sie nächste Woche dran, um mehr über Embedded Vision zu erfahren und einen genaueren Blick auf die Prozessorauswahl zu werfen.

Hier bei ClearView verfügen wir über ein breites Spektrum an Wissen und Expertise im Bereich Bildverarbeitung, um Ihnen bei der Entscheidung für die richtige Lösung für Ihr Projekt zu helfen.

Wir bieten eine riesige Auswahl an Komponenten und unsere Experten helfen Ihnen gerne weiter, egal welche Frage oder welches Problem Sie haben. Nehmen Sie gerne Kontakt mit uns auf und einer unserer Bildverarbeitungsexperten steht bereit, um Ihnen bei Ihrem Projekt zu helfen!

Kontaktieren Sie Uns

Weiterlesen

BILDVERARBEITUNG GIBT COMPUTERN DIE FÄHIGKEIT ZU SEHEN

Mit Hilfe der Bildverarbeitung können Computer Barcodes, Datamatrixcodes, Teilemarkierungen und optische Zeichen erkennen und auslesen – Erfahren Sie hier mehr über die Computer Vision-Technologie

Erfahren Sie mehr
Laptop Image Small-1