Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Die Grundlagen von Edge Impulse: Teil 1 Mike Parks

Edge Impulse-Grundlagen #1: Datenübertragung aus der realen in die virtuelle Welt

(Quelle: putilov_denis - stock.adobe.com)

 

Der Arbeitsablauf für die Entwicklung von Lösungen, die Machine-Learning (ML)-Modelle verwenden, kann sehr komplex sein. Er lässt sich in drei Phasen unterteilen:

 

  • Datenverarbeitung
  • Modelltraining
  • Inferenzierung

Im Mittelpunkt jeder Phase stehen Daten. Und Daten sind der Rohstoff, der die Entwicklung von ML-Modellen vorantreibt. Die Daten können aus einer Vielzahl von Quellen stammen, von Unternehmenssystemen bis hin zu Sensoren, die das Internet der Dinge (IoT) steuern. Es ist unmöglich, ML-Modelle verlässlich zu trainieren, ohne sich auf umfassende und zugängliche Datensätze zu stützen.

Daten müssen zunächst gesammelt, bereinigt, organisiert und katalogisiert werden, bevor sie zum Trainieren von ML-Modellen herangezogen werden können. Zwar können vortrainierte Modelle verwendet werden, doch haben diese den Nachteil, dass sie allgemein sind und möglicherweise präzisiert werden müssen, um für Ihren speziellen Anwendungsfall oder Ihre Betriebsumgebung gut zu funktionieren. So könnte beispielsweise ein Audioerkennungsmodell Schwierigkeiten damit haben, gewünschte Klänge zu erkennen, wenn es nicht mit Daten trainiert wurde, die aus seinem jeweiligen Einsatzbereich stammen. Der Grund dafür ist, dass unterschiedliche Umgebungsgeräusche das Modell beeinflussen könnten.

Erschwert wird das Ganze noch dadurch, dass IoT-Endpunktgeräte wie Mikrocontroller und FPGAs in Bezug auf ihre Speicher- und Prozessorleistung häufig stark eingeschränkt sind. Modelle zu erstellen, die auf derart eingeschränkten Architekturen laufen, ist eine zusätzliche Herausforderung. Mit der Einführung von TensorFlow Lite für CMSIS-NN-Mikrocontroller von Arm® wurden in jüngster Zeit große Fortschritte dabei erzielt, neuronale Netze auf Geräten mit geringem Stromverbrauch laufen zu lassen. Das Sammeln neuer Datensätze und das Trainieren neuer Modelle ist aber nach wie vor keine leichte Aufgabe. Zum Glück gibt es verschiedene Anbieter, die die Datenverarbeitung, das Modelltraining und die Bereitstellung so einfach wie möglich gestalten. Einer davon ist Edge Impulse, ein Unternehmen mit Sitz in San José, Kalifornien (USA).

Edge Impulse ist ein Cloud-basierter Dienst, der es Entwicklern ermöglicht, auf eine Vielzahl eingebetteter Plattformen zuzugreifen, um Sensordaten aus der Cloud zu erfassen, mithilfe dieser Daten ein TinyML-Modell zu trainieren und dieses dann zur Inferenzierung an das IoT-Gerät zurückzusenden (Abbildung 1). Dies geschieht intuitiv mithilfe einer Handvoll hervorragend konzipierter Tools und Workflows.

Abbildung 1: Edge Impulse ist ein Cloud-basiertes Tool, das die Komplexität der Arbeitsabläufe für Entwickler von Embedded Systems erheblich reduziert, wenn sie ihre Produkte mit Machine Learning (ML) ausstatten. (Quelle: Edge Impulse)

Im Laufe des nächsten Jahres werden wir uns die unterschiedlichen Software-Komponenten von Edge Impulse ansehen und auch, wie sie genutzt werden können, um die Entwicklung von maschinellen Lernalgorithmen für den Einsatz in Embedded Systems zu vereinfachen. Dieser Blog beschäftigt sich mit der Entwicklung eines rudimentären Modells, das die Beschleunigungsmesser auf einem Arduino Nano 33 BLE Sense Development Board wirkungsvoll einsetzt.

Der erste Schritt lautet Daten, Daten, Daten

Die Übertragung von Sensordaten in die Cloud ist dank der zunehmenden Verbreitung von drahtlosen Internetverbindungen und vereinfachten Programmierwerkzeugen wie Anwendungsprogrammierschnittstellen (APIs) zu einer relativ trivialen Angelegenheit geworden. Edge Impulse setzt diese Entwicklungen wirksam ein, um die Datenaufnahme weiter zu beschleunigen (Abbildung 2).

Abbildung 2: Edge Impulse bietet mehrere Möglichkeiten, Trainings- und Testdaten in die Umgebung einzubringen, einschließlich .csv-Dateien mit Rohdaten. (Quelle: Edge Impulse)

Edge Impulse bietet drei Tools an, die diese erste Phase der ML-Pipeline unterstützen.

  • Das erste Tool, der Serial Daemon, dient der Integration neuer Geräte, der Konfiguration von Upload-Einstellungen und nicht zuletzt als Proxy für Geräte, die sich nicht mit dem Internet verbinden können.
     
  • Das zweite Tool, der Data Forwarder, wird gemeinsam mit dem Serial Daemon (Abbildung 3) verwendet. Gemeinsam ermöglichen sie es, dass ein Sensorgerät, das nicht über eine integrierte drahtlose Verbindung verfügt, über eine kabelgebundene serielle Verbindung mit Edge Impulse über einen Desktop-Computer mit Internetanschluss verbunden werden kann. Die Geräte schreiben ihre Sensordaten einfach in einem kommagetrennten oder tabulatorgetrennten Format an einen seriellen Anschluss. Die Daten werden anschließend gesammelt, kryptographisch signiert und an den Datenaufnahmedienst von Edge Impulse übermittelt. Dank der weiten Verbreitung kostengünstiger Wi-Fi®-fähiger Einplatinencomputer sorgen diese Tools für einen einfachen wie auch kostengünstigen Einstieg in Embedded-Machine-Learning. Serial Daemon und Data Forwarder sind von der Kommandozeilenschnittstelle (CLI) eines Computers aus zugänglich. Ein Nachteil ist, dass der Data Forwarder im Vergleich zur direkten Programmierung eines eingebetteten Geräts zur Verwendung der API in seiner Geschwindigkeit begrenzt ist.

Abbildung 3: Development Boards, die nicht über eine eigene Internetverbindung verfügen, können Daten via USB an den mit dem Internet verbundenen Hostcomputer senden, der die Daten dann an Edge Impulse weiterleitet. (Quelle: Edge Impulse)

  • Das letzte Tool ist der Uploader. Er akzeptiert .wav-Audiodateien und .jpg-Bilddateien sowie die strukturierten Dateiformate .cbor und .json, die für die meisten anderen Sensordaten nützlich sind. Dies ist ein bequemer Weg, der es Entwicklern ermöglicht, Daten zu sammeln, wie sie es für richtig halten, bevor sie den Datensatz mit einem einfachen Mausklick einlesen. Edge Impulse empfiehlt diese Methode für die Migration von Daten zwischen verschiedenen Edge Impulse-Instanzen. Das für .cbor- und .json-Dateien vorgeschriebene Datenerfassungsformat finden Sie hier.

Edge Impulse bietet für eine Handvoll eingebetteter Development Boards mit integrierten Sensoren eine vorgefertigte Firmware an, die alle Sensordaten mit minimaler Einrichtung an den Aufnahmedienst sendet. Die Firmware sorgt für den größtmöglichen Nutzen der oben erwähnten Tools. Anschließend können Sie im Browser festlegen, welche Daten Sie für die Erstellung Ihres Modells verwenden möchten. Wir werden in einem zukünftigen Beitrag der Edge Impulse-Reihe von Mouser näher auf dieses Thema eingehen.

 



« Zurück


Michael Parks, P.E. ist der Eigentümer von Green Shoe Garage, einem Entwicklungsstudio für kundenspezifische Elektronik und Technologieberatung im Süden von Maryland. Er produziert den S.T.E.A.M. Power-Podcast (ein Podcast über MINT-Themen), mit dem er die Öffentlichkeit für technische und wissenschaftliche Fragen sensibilisieren möchte. Michael ist außerdem zugelassener Ingenieur im Bundesstaat Maryland und hat einen Master-Abschluss in Systemtechnik von der Johns Hopkins University.


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen