Hailo AI
Software Suite

Überblick

Hailo-Chips werden von einem umfangreichen KI-Softwarepaket unterstützt, das die Erstellung von Deep-Learning-Modellen und die Implementierung von KI-Anwendungen in Produktionsumgebungen ermöglicht. Die Umgebung für die Modellerstellung lässt sich nahtlos in gängige ML-Frameworks integrieren, um eine reibungslose und einfache Integration in bestehende Entwicklungssysteme zu ermöglichen. Die Laufzeitumgebung ermöglicht die Integration und den Einsatz in Host-Prozessoren, wie z. B. x86- und ARM-basierten Produkten, wenn der Hailo-8™-Prozessor verwendet wird, und im Hailo-15™ Vision-Prozessor.

Das Hailo-Softwarepaket umfasst die folgenden Schlüsselkomponenten:

Model Build Environment

Model Build Computer
Machine Learning Frameworks
User Models
Hailo Model Zoo Dataflow Compiler

Model Zoo, eine Auswahl gängiger und hochmoderner vortrainierter Modelle und Aufgaben in TensorFlow und ONNX.

Dataflow Compiler, für die Offline-Kompilierung und Optimierung von Benutzermodellen für Hailo-Chips

Runtime Environment

TAPPAS, eine Reihe vollständiger Anwendungsbeispiele mit implementierten Pipeline-Elementen und vortrainierten KI-Aufgaben

HailoRT, ein leichtes und ‚produktionstaugliches Runtime-Softwarepaket, das auf dem Host-Prozessor zur Echtzeit-Inferenzierung der vom Dataflow Compiler erstellten Deep-Learning-Modelle ausgeführt wird

AI Vision Processor

Hailo-15

TAPPAS, set of full application examples, implementing pipeline elements and pre-trained AI tasks.

HailoRT, production-grade and light runtime software package running on Hailo-15™ for real-time inferencing the deep learning models compiled by the Dataflow Compiler.

Hauchen Sie mit dem Hailo-8 Prozessor Ihren Edge-Produkten noch heute neues Leben ein

Dataflow Compiler

Eine vollumfängliche und skalierbare Software-Toolchain

Die Produkte von Hailo werden von einer umfassenden KI Software Toolchain begleitet, die sich nahtlos in bestehende Deep Learning Development Frameworks integrieren lässt. Eine Integration in bestehende Entwicklungsökosysteme ist somit problemlos und geht einfach von statten.

Umfassende Toolchain-Funktionen:

Model Translation: Übersetzung von Industriestandard-Frameworks ins Hailo-Format

Numeric Translation: Numerische Übersetzung in Hailo-interne Formate unter Verwendung moderner Quantisierungsalgorithmen.

Resource Allocation: Zuweisung der erforderlichen Ressourcen des Benutzernetzwerks an die physischen Ressourcen in der Hailo-Hardware.

Kompilierung von Modellen in Hailo-Binärcode durch einen dedizierten Deep-Learning-Compiler

Einladen der kompilierten Binaries und Durchführen der Inferenz auf der Zielhardware von Hailo

Das Deep Learning Software Developement Kit (SDK) unterstützt sowohl Standalone-Inferenz mit direktem Zugriff auf die Hardware als auch Tensorflow-integrierte Inferenz zur einfachen Integration in bestehende Umgebungen.

Analyse- und Debugging-Tools:

Emulator zur bitgenauen Emulation des Chip-Verhaltens

Profiler zur Abschätzung der Chip-Leistung (z.B. FPS, Leistung und Latenzzeiten).

Finden Sie das beste Modell für Ihr Hailo-Gerät mit dem neuen MODEL EXPLORER

HailoRT

Runtime Software Suite

HailoRT ist eine produktionstaugliche, leichte, skalierbare Laufzeit-Software, mit intuitiven APIs für optimale Performance. Sie ermöglicht es Entwicklern, einfache und schnelle Pipelines für KI-Anwendungen zu erstellen und eignet sich für Evaluierungs-, Prototyping- und Produktionsanwendungen. 
Sie läuft auf dem Hailo AI Vision Processor oder bei Verwendung des Hailo AI Accelerator auf dem Host-Prozessor. HailoRT ermöglicht die Inferenzierung mit hohem Durchsatz mit einem oder mehreren Hailo-Chips und ist als Open-Source-Software über Hailo Github verfügbar.

Die wichtigsten Merkmale von HailoRT: 

Unterstützung von Multi-Host-Architekturen – unterstützt sowohl x86- als auch ARM-Architekturen 

Flexible Schnittstellen für KI-Anwendungen – C/C++- und Python

Einfache Integration mit Geräten und Pipelines – Unterstützung von GStreamer und ONNX Runtime

Unterstützt mehrere Streams – Verarbeitung mehrerer Videostreams gleichzeitig 

Unterstützt die Inferenzierung mit hohem Durchsatz mit bis zu 16 Hailo KI-Beschleunigern

Schnittstellen für die bidirektionale Steuerung und Datenkommunikation mit Hailo NN-Cores

HailoRT umfasst die folgenden Schlüsselkomponenten: 

Integration von Laufzeit-Frameworks

  • pyHailoRT – Python-API zum Laden von Modellen auf Hailo-NN-Cores und zum Senden und Empfangen von Daten 
  • GStreamer-Plugin – bietet das Element „hailonet“, das GStreamer-Frames entsprechend dem konfigurierten Netzwerk ermittelt. Dieses Element kann mehrfach in einer GStreamer-Pipeline verwendet werden, um mehrere Netzwerke parallel zu ermitteln 

Integrations-Tool 

Tool zur Verifizierung der Hardware-Integration von Hailo KI-Beschleunigern

HailoRT CLI

Kommandozeilenanwendung zur Steuerung der Hailo-Chips, zur Durchführung von Inferenzen auf den Chips und zur Erfassung von Inferenzstatistiken und Chipereignissen

HailoRT Library

Robuste C/C++-API für die Steuerung und den Datentransfer von/zu Hailo-Chips im Anwenderbereich

Yocto Layer

  • Ermöglicht die Integration von HailoRT in Yocto für Hailo KI Vision Processoren und Hailo KIBeschleuniger  
  • Enthält Rezepte für die HailoRT-Bibliothek, pyHailoRT und PCIe- und NN-Core-Treiber 

Holen Sie sich die Software-Downloads und die Dokumentation von Hailo

Anmeldung / Registrierung ist erforderlich

Model Zoo

Der Hailo Model Zoo bietet Deep-Learning-Modelle für verschiedenste Computervision-Aufgaben. Die vortrainierten Modelle können zur Erstellung schneller Prototypen auf Hailo-Geräten verwendet werden.

Darüber hinaus bietet das Hailo Modell Zoo Github-Repository Benutzern die Möglichkeit, die veröffentlichte Leistung des Hailo-8 auf den gängigen Modellen und Architekturen in unserem Modell Zoo schnell und einfach zu reproduzieren.

Die wichtigsten Merkmale sind:

Eine Auswahl gängiger und hochmoderner vortrainierter Modelle und Aufgaben in TensorFlow und ONNX

Eine Auswahl gängiger und hochmoderner vortrainierter Modelle und Aufgaben in TensorFlow und ONNX

Jedes Modell enthält zudem eine binäre HEF-Datei, die von der Hailo Toolchain und der Anwendungssuite vollständig unterstützt wird (nur für registrierte Benutzer)

Modell Explorer

Das Hailo Modell Explorer ist ein dynamisches Tool, das den Benutzern hilft, die Modelle im Modell Zoo zu erkunden und die besten NN-Modelle für ihre KI-Anwendungen auszuwählen.

Mit dem Modell Zoo können Benutzer schnell und einfach die von Hailo veröffentlichte Leistung auf den in unserem Modell Zoo enthaltenen gängigen Modellen und Architekturen reproduzieren und diese Modelle neu trainieren. Die Sammlung umfasst sowohl gängige als auch moderne Modelle, die in den Formaten TensorFlow und ONNX verfügbar sind.

Die vortrainierten Modelle können für ein schnelles Prototyping auf Hailo-Geräten verwendet werden. Jedes Modell wird von einer binären HEF-Datei begleitet, die von der Hailo-Toolchain und der Anwendungssuite (nur für registrierte Benutzer zugänglich) vollständig unterstützt wird.

Die Auswahl eines geeigneten Modells für Ihre Anwendung kann aufgrund verschiedener Faktoren wie Inferenzgeschwindigkeit, Modellverfügbarkeit, gewünschte Genauigkeit, Lizenzierung usw. schwierig sein. Die Inferenzgeschwindigkeit ist einzigartig, da sie ohne die zugrunde liegende Hardware nicht einfach geschätzt werden kann.

Die Auswahl eines geeigneten Modells für Ihre Anwendung kann aufgrund verschiedener Faktoren wie Inferenzgeschwindigkeit, Modellverfügbarkeit, gewünschte Genauigkeit, Lizenzierung usw. schwierig sein. Die Inferenzgeschwindigkeit ist einzigartig, da sie ohne die zugrunde liegende Hardware nicht einfach geschätzt werden kann.

Der untenstehende Modell Explorer wurde entwickelt, um den Benutzern zu helfen, besser informierte Entscheidungen zu treffen und so eine maximale Effizienz auf der Hailo Plattform zu gewährleisten. Der Modell Explorer bietet eine interaktive Schnittstelle mit Filtern, die auf Hailo-Geräten, Aufgaben, Modellen, FPS und Genauigkeit basieren und es dem Benutzer ermöglichen, zahlreiche NN-Modelle aus der umfangreichen Bibliothek von Hailo zu untersuchen.

Lesen Sie im Hailo Blog mehr darüber, wie das Hailo Modell Zoo funktioniert und was es kann.

Finden Sie das beste Modell für Ihr Hailo-Gerät mit dem neuen MODEL EXPLORER

TAPPAS

TAPPAS

Hailo hat TAPPAS entwickelt, um die Entwicklung und Bereitstellung von Edge-Anwendungen, die eine hohe KI-Leistung erfordern, zu optimieren. Dieses Softwarepaket für Referenzanwendungen hilft Anwendern, ihre Markteinführung zu beschleunigen, indem es den Zeit- und Arbeitsaufwand für die Entwicklung reduziert. TAPPAS enthält einen benutzerfreundlichen GStreamer-basierten Satz voll funktionsfähiger Anwendungsbeispiele, die Pipeline-Elemente und vortrainierte KI-Aufgaben enthalten. Diese Beispiele basieren auf fortschrittlichen Deep Neural Networks, die den klassenbesten Durchsatz und die Leistungseffizienz der KI-Prozessoren von Hailo demonstrieren. Darüber hinaus veranschaulicht TAPPAS die Funktionsweise der Systemintegration von Hailo anhand konkreter Anwendungsfälle auf vordefinierten Software- und Hardware-Plattformen. Durch den Einsatz von TAPPAS können Sie die Integration mit dem Runtime-Software-Stack von Hailo vereinfachen und haben einen Ausgangspunkt für die Feinabstimmung Ihrer Anwendungen.

Die vortrainierten Anwendungen und die Entwicklungsumgebung von TAPPAS reduzieren die Entwicklungszeit und den Entwicklungsaufwand, so dass die Kunden die Markteinführung beschleunigen können. Die offene Anwendungsinfrastruktur bietet verschiedene Betriebsarten sowie Bring-your-own-model- und DIY-Support-Funktionen, die zu einer flexiblen Entwicklung beitragen.

Objekterkennung

Erkennung in einer Videodatei-Quelle durch Ausführen einer Single-Stream-Objekterkennungspipeline.

Das Erkennen und Klassifizieren von Objekten in einem Bild ist eine wichtige Aufgabe in der Computer Vision, bekannt als Objekterkennung. Deep-Learning-Modelle, die mit dem COCO-Datensatz trainiert wurden, einem beliebten Datensatz für die Objekterkennung, bieten unterschiedliche Kompromisse zwischen Leistung und Genauigkeit. Bei der Inferenz auf Hailo-8 erreicht das YOLOv5m-Modell beispielsweise 218 FPS und 42,46mAP Genauigkeit, während das SSD-MobileNet-v1-Modell 1055 FPS und 23,17mAP Genauigkeit erreicht. Der COCO-Datensatz umfasst 80 einzigartige Objektklassen für allgemeine Nutzungsszenarien, einschließlich Innen- und Außenszenen.

Erkennung von Fahrzeugkennzeichen (LPR)

Anwendung zur automatischen Nummernschilderkennung auf der Grundlage einer komplexen Pipeline mit Modellplanung.

Die Pipeline zur Nummernschilderkennung (LPR), die auch als automatische Nummernschilderkennung (ANPR) bezeichnet wird, wird häufig auf dem Markt für Intelligente Verkehrssysteme (ITS) eingesetzt. Diese Beispielanwendung demonstriert einen automatischen Modellwechsel zwischen 3 verschiedenen Netzen in einer komplexen Pipeline. Parallel laufen das Modell YOLOv5m zur Fahrzeugerkennung, das Modell YOLOv4-tiny zur Kennzeichenerkennung und das Modell lprnet zur Textextraktion.

Lesen Sie mehr in unserem Nummernschild-Erkennung Blog Post

Multi-Stream-Objekt-Erkennung

Erkennungsanwendungen mit mehreren verfügbaren neuronalen Netzen, die einzigartige Funktionen bieten und mehrere Datenströme unterstützen

Die Multi-Stream-Objekterkennung wird in verschiedenen Anwendungen in unterschiedlichen Branchen eingesetzt, darunter auch in komplexen Anwendungen wie Smart City-Verkehrsmanagement und Intelligente Verkehrssysteme (ITS). Sie können entweder Ihr eigenes Objekterkennungsnetzwerk verwenden oder auf vorgefertigte Modelle wie YOLOv5m zurückgreifen, die alle mit dem COCO-Datensatz trainiert wurden. Diese Modelle bieten einzigartige Funktionen wie Tiling, das den hohen Durchsatz von Hailo-8 nutzt, um hochauflösende Bilder (FHD, 4K) zu verarbeiten, indem sie in kleinere Kacheln unterteilt werden. Die Verarbeitung von hochauflösenden Bildern erweist sich als besonders nützlich an belebten Orten und bei Anwendungen im Bereich der öffentlichen Sicherheit, bei denen es viele kleine Objekte gibt, z. B. bei der Analyse von Menschenmengen im Einzelhandel und in intelligenten Städten, neben anderen Anwendungsfällen.

 

Multi-Kamera-Mehrpersonen-Verfolgung (RE-ID)

Multi-Kamera-Mehrpersonen-Verfolgung (RE-ID)

Die Re-Identifizierung mehrerer Personen über verschiedene Datenströme hinweg ist für Sicherheits- und Einzelhandelsanwendungen unerlässlich. Dazu gehört die mehrfache Identifizierung einer bestimmten Person, entweder an einem bestimmten Ort im Laufe der Zeit oder entlang einer Strecke zwischen mehreren Orten. Diese Beispielanwendung demonstriert das Umschalten von NN-Modellen, sowohl der YOLOv5s als auch der repvgg_a0_person_reid Deep-Learning-Modelle, die auf dem Datensatz von Hailo trainiert wurden, in einer komplexen Pipeline mit inferenzbasierter Entscheidungsfindung. Dies wird durch den Modell-Scheduler erreicht, ein automatisches Werkzeug für den Modellwechsel, das die gleichzeitige Verarbeitung mehrerer Modelle zur Laufzeit ermöglicht.

Semantische Segmentierung

Anwendung für die Aufteilung eines Bildes in mehrere Bildsegmente

Die semantische Segmentierung zielt darauf ab, jedem Pixel im Eingabebild eine bestimmte Klasse zuzuordnen und eine Sammlung von Pixeln zu erkennen, die unterschiedliche Kategorien bilden. Diese Technik wird häufig für ADAS-Anwendungen verwendet, damit das Fahrzeug erkennen kann, wo sich die Straße, der Gehweg, andere Fahrzeuge und Fußgänger befinden. Sie verbessert auch die Erkennung von Fehlern in der Qualitätskontrolle durch optische Inspektionsanwendungen in der Industrieautomation und erhöht die Präzision der Detailerkennung in medizinischen Bildgebungskameras, Einzelhandelskameras und mehr. In diesem speziellen Fall stützt sich die Pipeline auf den Cityscapes-Datensatz, der Bilder enthält, die aus der Perspektive der nach vorne gerichteten Kamera eines Fahrzeugs aufgenommen wurden und 19 verschiedene Klassen umfassen. Die vorkonfigurierte TAPPAS-Pipeline zur semantischen Segmentierung zeigt die robuste Rechenkapazität, die für die Verarbeitung eines FHD-Eingangsvideostroms (1080p) unter Verwendung des FCN8-ResNet-v1-18-Netzwerks erforderlich ist.

Tiefenschätzung

Schätzt die Tiefen- oder Entfernungsinformationen aus einem gegebenen 2D-Bild oder -Video, um eine Wahrnehmung der dreidimensionalen Struktur zu ermöglichen

Die Tiefenschätzung aus einem einzigen Bild wird durch die Fähigkeit erreicht, die Tiefen- oder Entfernungsinformationen aus 2D-Bildern zu schätzen und sie in eine 3D-Zuordnung umzuwandeln. Sie ermöglicht es Automobilkameras, die Entfernung zu Objekten besser zu erkennen, hilft industriellen Inspektionskameras bei Aufgaben wie Fehlererkennung und Qualitätskontrolle und kann die Genauigkeit der Personenerkennung bei Sicherheitskameras durch den Nachweis detaillierterer räumlicher Informationen verbessern.

In diesem Beispiel verwenden wir das Deep-Learning-Modell fast_depth, das auf dem NYUv2-Datensatz trainiert wurde und eine Abstandsmatrix (unterschiedliche Tiefe für jedes Pixel) mit der gleichen Form des Eingabebildes vorhersagt.

Instanzsegmentierung

Die Anwendung identifiziert, umreißt und färbt verschiedene Objekte und Personen für eine präzise Objektlokalisierung und -trennung

Bei der Instanzsegmentierung werden die Fähigkeiten der Objekterkennung (einschließlich der Identifizierung und Kategorisierung von Objekten) und der semantischen Segmentierung (die einzelnen Pixeln bestimmte Klassen zuordnet) zusammengeführt, um eine eindeutige Maske für jedes Objekt innerhalb einer bestimmten Szene zu erstellen. Diese Aufgabe ist besonders wichtig, wenn die Bounding Boxen für die Lokalisierung nicht präzise genug sind und wenn die Anwendung eine Unterscheidung zwischen den Objekten auf Pixelebene erfordert. Diese Anwendung verwendet entweder die yolov5seg- oder die YOLACT-Architektur und trainiert diese Modelle mit dem COCO-Datensatz.

Haltungsschätzung

Verstehen und Analysieren menschlicher Aktivitäten oder Erkennen und Verfolgen verdächtiger oder abnormaler menschlicher Haltungen oder Bewegungen

Bei der Posenschätzung handelt es sich um eine Computer-Vision-Technologie, die menschliche Körperhaltungen in Bildern oder Videos erkennt und verfolgt. Von der Erkennung von Notsituationen zu Hause oder in der Fabrikhalle bis hin zur Analyse des Kundenverhaltens für bessere Geschäftsergebnisse. Dabei werden die verschiedenen Teile des menschlichen Körpers wie Kopf, Schultern, Arme, Beine und Rumpf lokalisiert und ihre Positionen und Ausrichtungen in einem 3D-Raum geschätzt. Diese Pipeline umfasst eine Kombination von Centerpose-Modellen, die mit dem COCO-Datensatz trainiert wurden.

Gesichtsdetektion und Erkennung

Anwendungen in den Bereichen Überwachung und Sicherheit, Authentifizierung und Zugangskontrolle sowie Mensch-Computer-Interaktion.

Die Erkennung von Gesichtern ist eine allgemeine Aufgabe, bei der ein Objekterkennungsnetzwerk für ein bestimmtes Objekt, nämlich Gesichter, verwendet wird. Das Gesichtserkennungsnetzwerk wurde mit dem WIDER-Datensatz trainiert, und seine Ausgabe ist die Vorhersage der Boxen aller Gesichter im Bild. Diese Anwendung demonstriert, wie die vom Detektor erzeugte Region of Interest (ROI) beschnitten und ein zweites Netzwerk mit der Vorhersage von Gesichtsmerkmalen für jedes vorhergesagte Gesicht gefüttert werden kann. Gesichtsmerkmale sind wichtige Merkmale für die Analyse der Gesichtsausrichtung, -struktur usw.

Kacheln

Ermöglicht es, bestimmte Bereiche eines Bildes detaillierter zu untersuchen, ohne die Auflösung zu beeinträchtigen

Um die Verarbeitungsleistung von Hailo-Geräten für große Eingabeauflösungen zu verbessern, können wir ein Eingabebild in mehrere Kacheln aufteilen und einen Objektdetektor auf jeder Kachel einzeln ausführen. Nehmen wir zum Beispiel ein Objekt, das 10×10 Pixel in einem 4K-Eingabebild einnimmt. Dieses Objekt enthält nur 1 Pixel an Informationen für einen 640×640-Detektor wie YOLOv5m, wodurch es fast unmöglich ist, es zu erkennen. Um diese Herausforderung zu meistern, verwenden wir Kacheln, um das Eingabebild in kleinere Bereiche zu unterteilen und das Objekt in jeder Kachel zu erkennen, ohne dass Informationen aufgrund von Größenänderungen verloren gehen. Die Kacheln sind durch blaue Rechtecke gekennzeichnet, und wir verwenden ein vortrainiertes SSD-MobileNet-v1-Modell, das mit dem VisDrone-Datensatz trainiert wurde.

Hauchen Sie Ihrer Kamera Leben ein mit den AI Vision Processors von Hailo