Elektroniknet Logo

Advertorial

Die zehn häufigsten Probleme bei KI-basierter Bildverarbeitung


Fortsetzung des Artikels von Teil 1

Auflistung der zehn häufigsten Probleme

Wie kann man dieses Potenzial als Entwickler heben? Die Zusammenarbeit mit einem vertrauenswürdigen Technologiepartner ist sicherlich eine gute Voraussetzung für eine erfolgreiche MV-Entwicklung und -Implementierung. Denn mit ihm können Entwickler die richtigen Entscheidungen bezüglich Hardware, Standards für Kameraschnittstellen, fortschrittliche Analyseverfahren, KI und ML (Maschinenlernen) treffen.

Die Erfahrung anhand vieler Implementierungen hat gezeigt, dass immer wieder Probleme bei der Umsetzung auftreten können. Die nachfolgende Liste umfasst die zehn wichtigsten Aspekte, die bei der Entwicklung moderner MV-Anwendungen beachtet werden müssen, um diese Probleme zu vermeiden.

1. Qualitativ hochwertige Daten: Zuerst müssen qualitativ hochwertige Daten vorliegen, erst dann kann die KI entwickelt werden. Damit Bildverarbeitungssysteme richtig funktionieren, müssen sie Bilder erfassen, verarbeiten, analysieren und erkennen, letzteres wird von der KI übernommen. Damit die KI Objekte erkennen kann, werden Objektinformationen zu Trainingsdaten zusammengefasst und die KI damit trainiert. Je höher die Qualität der Trainingsdaten, desto besser ist die KI und damit auch das MV-System. Trainingsdaten in schlechter Qualität oder zu geringer Menge verschlechtern die KI und beeinträchtigen den Erfolg der MV-Anwendung. Selbst die best-programmierte KI wird keine adäquaten Ergebnisse liefern, wenn ihr keine geeigneten Trainingsdaten zur Verfügung stehen.

2. Nicht alles auf einmal: Jedes Projekt sollte mit realistischen Erwartungen und erreichbaren Zielen begonnen werden. Das menschliche Gehirn kann Daten von fünf Sinnesorganen gleichzeitig verarbeiten und auch sofort darauf reagieren – das ist echtes Multitasking. Das gilt aber nicht zwangsläufig für Maschinen, denn sie sind oft so programmiert, dass sie genau eine Aufgabe hervorragend erledigen. Das heißt, dass die KI dann Schwierigkeiten bekommt, wenn sie verschiedene Aufgaben lernen und ausführen muss. Deshalb sollte sich der Entwickler in der Anfangsphase der Planung auf die wichtigsten, erfolgsversprechenden Fähigkeiten konzentrieren. Der Versuch, die Anfangsversion einer KI-Anwendung für eine Vielzahl von unterschiedlichen Aufgaben zu nutzen, führt typischerweise zu unbefriedigenden Ergebnissen.

3. Vision-Sprache: Erfolgreiche MV-Anwendungen benötigen nicht nur eine leistungsfähige Hardware, sondern auch geschulte Programmierer. Die Programmierung kann mithilfe von KI-Frameworks und Programmiersprachen erfolgen. Der Vorteil von KI-Frameworks: Sie ermöglichen eine schnellere und einfachere Entwicklung von KI-Anwendungen, einschließlich Maschinenlernen, tiefes Lernen (Deep Learning), neurale Netze und Verarbeitung natürlicher Sprache (NLP). Denn KI-Frameworks dienen als Vorlage für die Entwicklung eines KI-Systems, ein Ansatz, der im Vergleich zu einer KI-Entwicklung von Grund auf die Entwicklung, Bereitstellung und Verwaltung viel einfacher macht. Es gibt verschiedene Programmiersprachen und Frameworks für KI-Anwendungen, jede mit ihren eigenen Stärken. Dazu zählen, Caffe, Python, Pytorch, TensorFlow, C++, Lisp, Java, R, Prolog und Model Zoo.
Experten von EBV können gezielt Hilfestellung leisten, wenn es darum geht, die Frage zu beantworten, welches der verfügbaren neuronalen Netzwerke sich besonders für eine Aufgabenstellung eignet. Auch bei den Fragen, wie sich die Entwicklungswerkzeuge der Hersteller bei der AI-Integration unterscheiden und welche Hardware für einen bestimmten Anwendungsfall besonders gut geeignet ist, stehen Spezialisten hilfreich zur Seite.
Während der Planungsphase ist es außerdem wichtig zu entscheiden, ob interne oder externe Ressourcen für die Programmierung in Anspruch genommen werden sollen. Um hier die richtige Entscheidung zu fällen, müssen sich Entwickler mehrere Fragen stellen, einschließlich: Wie hoch ist das Qualifikationsniveau der Programmierer? Welche Programmiersprache soll genutzt werden? Welche Entwicklungs-Tools eignen sich am besten für die gewählte Programmiersprache? Lassen sich das KI-Programm und nachfolgende Updates einfach kompilieren? Wie können Aktualisierungen distributiert werden?

4. Die richtige Hardware wählen: Geht es um die Hardware für KI-basierte MV-Anwendungen gibt es diverse Möglichkeiten, einschließlich FPGAs, GPUs, CPUs oder Kombination mit externen Beschleunigerschaltungen.
FPGAs – Field Programmable Gate Arrays sind sehr leistungsfähige Recheneinheiten, die so konfiguriert werden können, dass sie die Anforderungen fast jeder Anwendung erfüllen können. Für sehr spezielle Anwendungen können maßgeschneiderte FPGA-Architekturen realisiert werden. Dadurch sind mit FPGAs im Vergleich zu GPUs und CPUs deutlich höhere Leistungen, geringere Kosten und eine höhere Leistungseffizienz möglich.
GPUs – Graphikprozessoren sind spezialisierte Recheneinheiten, die hauptsächlich für die Verarbeitung von Bildern und Videos optimiert wurden. Im Vergleich zu CPUs basieren sie auf einfacheren Recheneinheiten, verfügen im Gegenzug dazu aber über eine viel größere Anzahl dieser Recheneinheiten. Dadurch eignen sich GPUs hervorragend für Anwendungen, in denen eine große Datenmenge, beispielsweise Bildpixel oder Videocodecs, parallel verarbeitet werden müssen. GPUs sind allerdings sehr leistungshungrig und werden in Sprachen wie CUDA und OpenCL programmiert; im Vergleich zu CPUs werden also deutlich weniger Programmiersprachen unterstützt.
CPUs – Central Processing Units sind mit einer begrenzten Anzahl von Rechenkernen ausgestattet, wodurch die Möglichkeiten, die für die KI benötigten, großen Datenmengen schnell zu verarbeiten, sehr eingeschränkt sind. Dementsprechend sind CPUs nur für kleine Modelle geeignet. Allerdings zeichnen sich CPUs durch Vorteile wie leichte Programmierung, geringe Kosten und eine breite Unterstützung für Programmier-Frameworks aus.
Darüber hinaus müssen aber noch weitere Faktoren bei der Auswahl der richtigen Hardware berücksichtigt werden. Dazu zählen Energieeffizienz, stationärer oder mobiler Betrieb, Anzahl der I/Os, Betriebsumgebung und vor allem die Kosten. Eine gründliche und vorausschauende Planung kann spätere Probleme verhindern. Darüber hinaus sollte für alle Prozessoren und Zusatzkomponenten genügend Rechenleistung für mögliche künftige Funktionen und genügend Onboard-Speicher für Firmware-Updates und neue KI-Algorithmen eingeplant werden.
Jeder Entwickler muss bedenken, dass unterschiedliche Anwendungen unterschiedlich hohe Leistungsanforderungen mit sich bringen. Applikationen wie Condition Monitoring oder NLP sind typischerweise weniger leistungshungrig wie Systeme, die Bild- oder Videodaten in unterschiedlicher Skalierung und Frameraten verarbeiten müssen. So können typische Anwendungen wie Gesichtserkennung mit geringerer Framerate oder Keyword-Spotting bereits auf MCUs - mit oder ohne HW-Beschleunigung - erfolgen. Wird eine hohe Framerate, verbunden mit komplexeren neuronalen Netzen und höherer Erkennungsrate sowie kleiner Latenz gefordert, sind leistungsfähigere Systeme von Nöten, als Systeme die auf MPUs, FPGAs oder unter Zuhilfenahme dedizierte Hardwarebeschleuniger basieren. Häufig angeführte Kennzahlen wie TOPS (Tera Operations Per Second) können hier einen groben Anhalt geben, für eine bessere Abschätzung stehen ebenfalls Experten von EBV Elektronik zur Verfügung.

Relevante Anbieter


  1. Die zehn häufigsten Probleme bei KI-basierter Bildverarbeitung
  2. Auflistung der zehn häufigsten Probleme
  3. Auch beim „Sehen“ müssen diverse Punkte beachtet werden
  4. Zusammenfassung

Verwandte Artikel

EBV Elektronik GmbH & Co. KG