Mit diesen Tools peppen Sie Ihr Produkt mit Maschinellem Lernen auf

| Redakteur: Margit Kuther

Maschinelles Lernen: Kits und Software vereinfachen die Entwicklung.
Maschinelles Lernen: Kits und Software vereinfachen die Entwicklung. (Bild: Clipdealer)

Die Hersteller von Mikroprozessoren, Mikrocontrollern und FPGA bieten Werkzeuge an, um die Entwicklung von Inferenzmaschinen zu unterstützen und so den KI-Entwicklungsprozess zu vereinfachen.

Die Zeit ist reif dafür, dass Entwickler von Embedded-Geräten ihre eigenen Anwendungen von Künstlicher Intelligenz (KI) schaffen: Denn die Technologie der Komponenten unterstützt Inferenz in neuralen Systemen am Rand des Netzwerks, selbst bei einem 32-Bit-Mikrocontroller und von den Bauteileherstellern in jüngster Zeit entwickelte Werkzeuge ermöglichen eine effiziente Anpassung von Werkzeugen für trainiertes Maschinelles Lernen an ihre Hardware. Entwicklern von Embedded-Geräten steht eine Vielfalt von Frameworks für das Modelltraining zur Verfügung und Drittanbieter liefern umfangreiche generische Datensätze mit Labels, etwa Bilder. Ebenso können die OEMs Werkzeuge und Hardware zum Sammeln und Kuratieren ihrer eigenen Datensätze verwenden.

Jedoch müssen die Entwicklerteams der OEMs auf einem derart neuen und komplexen Gebiet wahrscheinlich intensive Schulungen durchlaufen, bevor sie ein KI-Produkt erstellen können. Bild 1 (siehe Bildergalerie) von NXP zeigt die vielen Elemente im Verlauf der Entwicklung einer KI-Anwendung. Wenn ein Kunde heute selbst ein vollständiges KI-Entwicklungsprojekt beginnen würde, wäre davon auszugehen, dass es bis zur Markteinführung des fertigen Produkts mindestens zwei Jahre dauert. Bei OEMs ohne Erfahrung in den Techniken und Technologien des Maschinellen Lernens könnte dieser Zeitraum noch wesentlich länger sein.

Tatsächlich ist es möglich, die Fähigkeit zum Maschinellen Lernen in neue produktionsreife Entwicklungen innerhalb von Wochen statt Jahren einzubetten, solange Ihr Produkt nur eine Funktion aus einer kleinen Anzahl gemeinsamer, generischer KI-Funktionen ausführen muss. Möglich wird das, weil die Halbleiterlieferanten erkannt haben, dass viele OEMs die gleichen Anforderungen an KI-fähige Anwendungen, z.B. die Spracherkennung, die Bilderkennung, die Erkennung von Personen und das Zählen, haben. Ihre Antwort darauf sind fertige Referenzentwicklungen von der Stange für diese Anwendungen. Einige dieser Entwicklungen sind produktionsreife Systeme, die ohne oder mit nur wenigen Änderungen in vorhandene Produktentwicklungen integriert werden können.

Maschinen, die hören, sind ein Hit bei den Verbrauchern

Die Einführung von Technologien wie dem Alexa Voice Service von Amazon, der Spracherkennungssoftware in Apples Siri und dem virtuellen persönlichen Assistenten Google Assistant zeigt, dass die Verbraucher förmlich darauf gewartet haben, eine Maschine mit Sprachbefehlen zu steuern. Die Spracherkennung ist ein klassisches Einsatzgebiet der KI. Bei ihr geht es darum, gemeinsame Muster des Schalls, denen zahlreiche Variationen von Tonhöhe und Lautstärke der Stimme, Akzent und Aussprache überlagert sind, zu erkennen und dabei Störgeräusche auszufiltern.

Spracherkennungssysteme von Drittanbietern nutzen

Der konventionelle Entwicklungspfad für diese Anwendung würde den Abgleich und die Kuratierung einer Vielzahl von Sprachsamples beinhalten, die anschließend dazu verwendet werden, ein eigens entwickeltes Lernmodell zu trainieren, zu validieren und zu testen. Sehr viel einfacher und schneller wäre es, ein von einem Drittanbieter bereits entwickeltes Spracherkennungssystem einzubetten.

Genau das ermöglicht NXP Semiconductors mit seinen Local Voice Commands for Microcontroller Development Kit, das im vierten Quartal 2019 in die Produktion gehen soll. Auf der Grundlage von NXPs Alexa Voice Service für Mikrocontroller, das bereits bei Future Electronics verfügbar ist (Teilenummer SLN-ALEXA-IOT), besteht dieses Kit aus einem produktionsreifen i.MX Voice Solution Board (Bild 2) mit Software für die Erfassung und Verarbeitung des Audiosignals und für die Spracherkennung, wobei all dies auf einem kostengünstigen Crossover-Prozessor i.MX RT106L läuft.

Das Development Kit erlaubt OEMs, zu jedem Endprodukt einfach und zu geringen Kosten eine lokale Sprachsteuerung hinzuzufügen, ohne dass hierzu eine Internetverbindung erforderlich ist. Mit dieser Referenzentwicklung von NXP können OEMs schnell Thermostate, Waschmaschinen, Kühl-/Tiefkühlschränke, Lichtschalter und viele andere Arten von Geräten mit Sprachsteuerung ausstatten. NXP unterstützt die Implementierung kundenspezifischer Wake-Words und Befehle. Das i.MX Voice Solution Board selbst ist klein, und da es kein SRAM, Leistungsmanagement-IC (PMIC) und keinen eMMC-Speicher benötigt, sind auch die Materialkosten vergleichsweise niedrig. Laut NXP liegen sie etwa 10 USD unter denen eines typischen Spracherkennungssystems mit einem Anwendungsprozessor.

Plattformen zur Personenerkennung

Die Grafik veranschaulicht den Prozess zur Entwicklung einer neuen Anwendung für maschinelles Lernen, die auf Embedded-Hardware laufen soll.
Die Grafik veranschaulicht den Prozess zur Entwicklung einer neuen Anwendung für maschinelles Lernen, die auf Embedded-Hardware laufen soll. (Bild: NXP Semiconductors)

Die Erkennung von Personen ist eine weitere Anwendung des Maschinellen Lernens, bei der, ähnlich wie bei der Sprachsteuerung, ein gleiches Muster – das Bild eines menschlichen Körpers – in zahllosen Variationen erkannt werden muss. Wie NXP ist es Lattice Semiconductor gelungen, eine komplexe KI-Anwendung mit sehr einfacher Hardware zu implementieren – in diesem Fall dem kleinen und äußerst energiesparenden FPGA iCE40 von Lattice Semiconductor. Lattice liefert die Referenzentwicklung als Komplettkit mit Hardware und Software.

Die Hardwareplattform ist ein Himax HM01B0 UPduino Shield. Sie baut auf dem UPduino 2.0 Board auf, einem Entwicklungsboard im Arduino-Format, zur schnellen Erstellung von Prototypen mit der Leistung und den E/A-Fähigkeiten des iCE40 UltraPlus FPGA 5.300 Look-Up-Tabellen (LUT), 1 Mbit SPRAM, 120 kbit Block-RAM und acht Multipliern. Außerdem enthält es das energiesparende Bildsensormodul Himax HM01B0 und zwei I2S-Mikrofone und unterstützt so KI-Anwendungen, die visuelle oder Audioeingaben oder auch beides unterstützen. Die Referenzentwicklungen werden in der neuesten Version 2.0 der Entwicklungsumgebung SensAI von Lattice umfassend unterstützt: SensAI liefert Projektdateien und Dokumentation für die Anwesenheitserkennung von Personen mit der Compact CNN (Convolutional Neural Networking) IP für das FPGA von Lattice.

Auf dem Himax HM01B0 UPduino Shield läuft die KI-Anwendung von Lattice zur Erkennung von Personen.
Auf dem Himax HM01B0 UPduino Shield läuft die KI-Anwendung von Lattice zur Erkennung von Personen. (Bild: Lattice Semiconductor)

Als zusätzliche Hilfe liefert Lattice mit der Software zur Referenzentwicklung auch einen Datensatz zum Training und die Eingabedateien, die beim Modell-Training-Framework verwendet worden sind. Das heißt, dass die Referenzentwicklung nicht nur als fertige Lösung für die Erkennung von Personen, sondern auch als Grundlage für das eigene Personenerkennungssystem des OEM verwendet werden kann. Die Entwickler können den Datensatz von Lattice nutzen und ihr eigenes Modelltraining durchführen, um die Geschwindigkeit, Genauigkeit, Reichweite oder den Hardware-Footprint der Inferenzmaschine im iCE40 zu verändern. Lattice liefert dieselbe produktionsreife Hardware und Software auch zum Zählen von Personen.

Diese Anwendung läuft auf ihrem größeren ECP5-85-FPGA, einem Bauteil mit leistungsfähigerer Hardware als beim iCE40. Diese Referenzentwicklung zum Zählen von Personen läuft auf der Video Interface Plattform von Lattice, einem System, das weniger als 1 W aufnimmt und verschiedene Videoschnittstellen wie MIPI CSI-2, eDP, HDMI und GigE Vision, sowie USB 3.0 bietet. Die Lattice-Anwendung zum Zählen von Personen erkennt und zählt mehrere Menschen in einem Bild. Sie erkennt Bilder von Personen, die nur 6 Pixel groß sind und erkennt Personen in bis zu 8 m Entfernung zur Kamera und in verschiedenen Lagen. Wie die Anwendung zur Erkennung von Personen beim iCE40, so ist auch die Anwendung zum Zählen von Personen eine produktionsreife Entwicklung, die mit dem Datensatz zum Training und den Eingangsdateien für das Framework zum Maschinellen Lernen geliefert wird.

Eine wachsende Auswahl fertiger Lösungen

Das i.MX Voice Solution Board von NXP ermöglicht es jedem Endprodukt, eine lokale Sprachsteuerung hinzuzufügen.
Das i.MX Voice Solution Board von NXP ermöglicht es jedem Endprodukt, eine lokale Sprachsteuerung hinzuzufügen. (Bild: NXP Semiconductors)

Die NXP-Referenzentwicklung zur Sprachsteuerung ist etwa interessant für Hersteller von Haushaltsgeräten, Geräten zur Hausautomatisierung, Beleuchtungen, Unterhaltungselektronik wie Settop-Boxen und WLAN-Zugangspunkten. In ähnlicher Weise können die Anwendungen von Lattice zum Erkennen und Zählen von Personen in der Gebäudeautomatisierung, der Zugangskontrolle, Sicherheit und Überwachung sowie in Systemen zur Automatisierung und Steuerung von Gebäuden eingesetzt werden. Das sind jedoch nicht die einzigen KI-Entwicklungen mit einem weiten Anwendungsbereich.

Auch die Hersteller von Elektronik dürfen immer mehr fertige Implementierungen für Anwendungen des Maschinellen Lernens erwarten. So hat Lattice seine FPGAs iCE40 und ECP5 auch in Anwendungen für die Erkennung von Handgesten, die Gesichtserkennung, die Gesichtsverfolgung und die Erkennung von Verkehrsschildern vorgeführt.

Desweiteren wird bei NXP an folgenden produktionsreifen Referenzentwicklungen gearbeitet: An der Anomalieerkennung, einer Methode zur Lokalisierung sich anbahnender Störungen im Betrieb von Maschinen über die Erkennung von Abweichungen gegenüber den normalen Vibrations- und Geräuschmustern und an der Erkennung und Identifizierung von Gesichtern.

Die Lösung zur reibungslosen Gesichtserkennung für MCUs wird die automatische Benutzererkennung in Endprodukten wie intelligenten Hausgeräten und Thermostaten ermöglichen. Beim Betrieb auf dem Crossover-Prozessor i.MX RT106F bietet sie eine Inferenzzeit von unter 750 ms und erkennt die Gesichter von über zehn Benutzern. Sie wird mit einsatzbereiten Algorithmen zur Gesichtserkennung geliefert. NXP hat auch eine Lösung zur sicheren Identifizierung bei der Gesichtserkennung, ein leistungsfähigeres System für das sichere Anmelden von Benutzern, das auf dem Anwendungsprozessor i.MX 8M Mini läuft.

Die NXP-Lösung zur Anomalieerkennung ist eine weitere mikrocontrollerbasierende Referenzentwicklung. Sie läuft auf einem i.MX RT106C. Das Board der Referenzentwicklung enthält außerdem einen Beschleunigungssensor und einen Differenzdrucksensor. Das Element zum Maschinellen Lernen bei dieser Lösung ist eine Art von SVM-Algorithmus (Support Vector Machine). Der SVM-Algorithmus wird unter normalen Bedingungen trainiert, wenn die Maschine einwandfrei funktioniert. Anschließend erkennt sie automatisch Anomalien, die von den als „normal“ klassifizierten Vibrationsmustern abweichen.

Der schnellste Weg zur Implementierung von KI

Während ein großer Teil der Literatur über KI in Embedded-Systemen den Entwicklern erklärt, wie sie den komplexen Prozess von der Beschaffung von Datensätzen zum Training über das Training eines Modells bis zur Implementierung dieses Modells in einer Inferenzmaschine beherrschen können, werden einige OEM den aufwendigen Workflow bei der KI-Entwicklung lieber vollständig umgehen und stattdessen die Lösungen einsetzen, die NXP, Lattice und andere bereits entwickelt haben. Die Verfügbarkeit dieser Referenzentwicklungen zeigt, dass die Implementierung von KI weder schwierig noch riskant oder zeitaufwendig sein muss.

Dieser Fachbeitrag basiert auf Unterlagen von Future Electronics.

Dieser Beitrag ist erschienen in der Fachzeitschrift ELEKTRONIKPRAXIS Ausgabe 19/2019 (Download PDF)

So managen Sie die erste MCU, die auf Arm Cortex-M33 basiert

So managen Sie die erste MCU, die auf Arm Cortex-M33 basiert

18.09.19 - Entwickler müssen für ihre Applikationen oft ein Gleichgewicht zwischen Leistung, geringer Leistungsaufnahme und Sicherheit finden. Dies gelingt mit der Mikrocontrollerfamilie LPC55S6 von NXP. lesen

Künstliche Intelligenz, komprimiert auf Intels Neural Compute Stick 2

Künstliche Intelligenz, komprimiert auf Intels Neural Compute Stick 2

19.02.19 - Intels Neural Compute Stick 2 ist ein lüfterloser Deep-Learning-Stick, mit dem Entwickler die Programmierung Künstlicher Intelligenz am Edge erlernen können. lesen

Die Rolle des Deep Learnings für die Fahrzeuggeneration von morgen

Die Rolle des Deep Learnings für die Fahrzeuggeneration von morgen

05.11.18 - Viele bisherige Systeme waren zwar durchaus künstlich, aber alles andere als intelligent. Seit gut sieben Jahren ändert sich das rasant: Mit tiefen neuronalen Netzwerken haben Entwickler mächtige Werkzeuge zur Hand. Doch wie funktioniert Deep Learning und wie lässt es sich für künftige Fahrzeuggenerationen nutzen? Ein Überblick am Beispiel Porsche. lesen

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46109214 / Tools & Softwarekomponenten)