Arrow Electronic Components Online

Qualcomm Linux-Beispiel-Apps – KI-Objekterkennung und parallele KI-Fusion

Künstliche Intelligenz18 Sept. 2025
Eine Person, die einen roten Pullover und ein gelbes Lanyard trägt, ist zu sehen, wie sie in einem Serverraum an einem Laptop arbeitet.
Alle Artikel anzeigen

In diesem Artikel erfahren Sie mehr über Live-Stream-Objekterkennung und parallele Sensorfusion-Funktionen im Qualcomm Intelligent Multimedia SDK.

Aufgrund der ständig wechselnden Variablen, die die Navigationsfähigkeit einer autonomen Drohne beeinflussen, wird leistungsstarke KI-Verarbeitung für die Entscheidungsfindung eingesetzt. Da diese Systeme so komplex sind, kann die Implementierung dieser KI-Steuerungen schwierig sein. Aber die Linux-basierten Musteranwendungen von Qualcomm bieten Produktentwicklern einen schnelleren Weg auf den Markt. In diesem Artikel erfahren Sie mehr über die Funktionen zur Live-Streaming-Objekterkennung und parallelen Sensorfusion, die im Qualcomm Intelligent Multimedia SDK enthalten sind.   Beim letzten Mal haben wir Ihnen zwei Grundbaustein-Musteranwendungen des Qualcomm Intelligent Multimedia SDK vorgestellt. Das SDK basiert auf der Qualcomm® Linux® Software, unserer Distribution, die es Ihnen ermöglicht, Ihre Anwendung einmal zu schreiben und für viele unserer IoT-System-on-Chips (SoCs) zu verwenden. In diesem Beitrag werden wir zwei weitere der insgesamt 22 Musteranwendungen im SDK erkunden, um zu demonstrieren, wie Sie Apps für unsere IoT-Chipsätze entwickeln können.

Durch AI sehen: Live-Stream Objekterkennung

Diese Kommandozeilenanwendung, gst-ai-object-detection, nimmt einen Live-Videostream von einer Kamera und gibt ihn an Open-Source-YOLO (You Only Look Once) KI-Modelle zur Objekterkennung weiter. Sie führt die Objekterkennung mit Vorverarbeitung und KI-Inferenz auf dedizierten Hardware-Blöcken aus und verwendet dabei YOLOV5, YOLOV8 oder YOLO-Nas in Kombination mit dem Snapdragon Neural Processing SDK. Anschließend zeigt sie eine Vorschau mit überlagertem Ausgabeergebnis, wie beispielsweise Labels und Begrenzungsrahmen, basierend auf dem Modell.   Die Anwendungspipeline sieht wie folgt aus:

A technical diagram illustrating the workflow of the Qualcomm Neural Processing SDK.

  • qtiqmmfsrc – Mithilfe dieses GStreamer-Plugins erfasst die Anwendung den Live-Stream der Kamera und verwendet anschließend „tee“, um den Stream zu splitten.
  • qtimlvconverter – Dieses Vorverarbeitungs-Plugin führt Aufgaben wie Farbkonvertierung, Herunter-/Hochskalierung und Normalisierung der Stream-Daten aus. Es konvertiert den Videostream in einen Tensor-Stream für die spätere Inferenz.
  • qtimlsnpe – Dieses Machine-Learning-Inferenz-Plugin verwendet standardmäßig YOLO-Nas, YOLOV8 oder YOLOV5, um Objekte im Stream zu erkennen. Es führt die Snapdragon Neural Processing Runtime hardwarebasiert auf einer CPU-, GPU- und DSP-basierten Neural Processing Unit (NPU) aus.
  • Die SNPE-Laufzeit führt Inferenz auf dem Tensor-Stream durch und erzeugt einen Tensor-Stream mit den Inferenzresultaten.
  • qtimlvdetection – Für die Nachbearbeitung wendet dieses Plugin den Schwellenwert auf die gewünschte Anzahl von Ergebnissen an. Es lädt das YOLO-Nas-Modul für die Nachbearbeitung, erzeugt Videoframes, die nur Begrenzungsrahmen (für Overlay) enthalten, und übergibt die Frames für die Videokomposition.
  • qtivcomposer – Dieses Plugin überlagert Frames mit den Begrenzungsrahmen und Beschriftungen auf Frames aus dem Live-Kamerastream und übergibt anschließend GStreamer-Puffer mit den kombinierten Ebenen.
  • Waylandsink übergibt den empfangenen Videostream an Weston, das den Videostream auf einem lokalen Display rendert.

Hier ist ein Beispiel für die Verwendung von gst-ai-object-detection, um eine Person in einem Kamerastream zu erkennen:

A person wearing a red sweater and yellow lanyard is seen working on a laptop in a server room.

Wann würden Sie diese Anwendung verwenden?

gst-ai-object-detection enthält Dutzende von Klassen, die Sie in Ihre eigenen Anwendungen einbauen können, um Objekte (Personen, Fahrzeuge, Tiere usw.) zu erkennen und ihre Position in einem Kamerabild zu bestimmen. Beispiele umfassen die Erkennung von Helmen, Feuer/Rauch und Eindringlingen.

Parallele KI-Fusion: Vier KI-Schlussfolgerungen auf Live-Kamera

Diese Kommandozeilen-Anwendung, gst-ai-parallel-inference, erweitert die oben beschriebene Ein-Kanal-Anwendung auf vier Kanäle für die parallele Verarbeitung von KI-Modellen auf dedizierten Hardware-Einheiten. Neben der Objekterkennung fügt sie Klassifikation, Pose-Erkennung und Segmentierung hinzu und zeigt dann verkleinerte, zusammengesetzte Vorschauen des Live-Kamerastreams mit überlagerter Ausgabe aller vier Modelle an.   Die Pipeline der Anwendung ist eine Abwandlung der oben beschriebenen, mit einem separaten Fluss für jede KI-Inferenz, wie unten dargestellt:

A technical diagram showcasing a video processing pipeline for AI applications.

  • qtiqmmfsrc – Mithilfe dieses GStreamer-Plugins erfasst die Anwendung den Live-Stream der Kamera und verwendet T-Taps (tee), um vier parallele Streams zu erzeugen.
  • qtimlvconverter – Dieses Preprocessing-Plugin führt Aufgaben wie Farbkonvertierung, Down-/Upscaling und Normalisierung auf den Streaming-Daten aus. Es konvertiert den Videostream in einen Tensor-Stream für die spätere Inferenz.
  • qtimlsnpe – Dieses Machine-Learning-Inferenz-Plugin verwendet YOLO-Nas für die Objekterkennung und DeepLabv3 für die Bildsegmentierung. Das Plugin führt die Snapdragon Neural Processing Runtime hardwarebasiert auf einer CPU aus,
  • qtimltflite – Dieses Plugin verwendet PoseNet für die Pose-Erkennung und Inception V3 für die Objektklassifizierung. Das Plugin führt die TFLite-Laufzeit hardwareseitig auf einer neuralen Verarbeitungseinheit (NPU) basierend auf CPU, GPU und DSP aus.
  • Die Nachbearbeitung verwendet ein anderes Plugin für jedes Modell.
  • qtimlvdetection – Für die Objekterkennung wendet dieses Plugin den Schwellenwert auf die gewünschte Anzahl von Ergebnissen an. Es lädt das YOLO-Nas-Nachbearbeitungsmodul, erstellt Videoframes, die nur Begrenzungsrahmen (zum Overlay) enthalten, und übergibt die Frames für die Videokomposition.
  • qtimlvclassification – Für die Klassifizierung wendet dieses Plugin den Schwellenwert auf die gewünschte Anzahl von Ergebnissen an. Es lädt das Post-Processing-Modul von Inception V3, erstellt Videoframes mit Klassifizierungslabels (für Overlays) und übergibt die Frames für die Videokomposition.
  • qtimlvpose – Für die Pose-Schätzung wendet dieses Plugin die Schwelle auf die ausgewählte Anzahl gewünschter Ergebnisse an. Es ist in der Lage, Module für verschiedene Pose-Schätzungsmodelle zu laden. In diesem Anwendungsfall lädt es das PoseNet-Modul, erstellt Videoframes mit eingezeichneten Posen (für Überlagerungen) und übergibt die Frames für die Videokomposition.
  • qtimlvsegmentation – Für die Segmentierung wandelt dieses Plugin die erhaltenen Inferenz-Tensoren in Videoformate um, die von unseren Multimedia-Plugins später verstanden werden können.
  • qtivcomposer – Dieses Plugin überlagert Frames von den KI-Modellen mit Frames aus dem Live-Kamerastream und übergibt dann gst-Puffer mit den kombinierten Ebenen.
  • Waylandsink übergibt den empfangenen Videostream an Weston, das den Videostream auf einem lokalen Display rendert.

Hier ist ein Beispiel des gerenderten Videostreams von gst-ai-parallel-inference:

A male cyclist rides a mountain bike on a rugged dirt trail surrounded by greenery under a clear blue sky.

Wann würden Sie diese Anwendung nutzen?

Als Übermenge von gst-ai-object-detection ermöglicht gst-ai-parallel-inference Ihnen, Personen, Fahrzeuge, Tiere und andere Objekte – sogar Rauch und Feuer – in einem Kamerabild zu erkennen.   Mit Pose-Erkennung können Sie beispielsweise feststellen, ob eine Person liegt, sitzt oder steht, und möglicherweise bestimmen, ob die Person gestürzt ist. Ein Fitnesstrainer oder Yoga-Lehrer kann die Pose-Erkennung nutzen, um zu beurteilen, ob ein Schüler eine Pose korrekt ausführt oder nicht. Eine Ergonomie-Anwendung kann darauf achten und daran erinnern, die richtige Haltung auf einem Stuhl oder an einem Schreibtisch einzunehmen.   Szenarien für Klassifikationsanwendungen umfassen z. B. die Produktkategorisierung, und für Segmentierung umfassen sie Fertigung, Gesundheitswesen und Logistik.

Nächste Schritte

Das sind zwei weitere der überzeugenden Anwendungen, die wir entwickelt haben, um Qualcomm Linux vorzustellen. Sie können diese und das gesamte Qualcomm Intelligent Multimedia SDK aus der Open-Source-Community beziehen, mit 20 weiteren Anwendungen für KI und Multimedia. Dann können Sie anfangen, sie in Ihre eigenen Anwendungen zu integrieren.   Wir haben Qualcomm Linux so gestaltet, dass Sie einmal schreiben und auf mehreren IoT-Chipsätzen mit dem gleichen Quellcode ausführen können. Das Qualcomm Intelligent Multimedia SDK ist das erste Mal, dass wir alle unsere Multimedia-Subsysteme – einschließlich Kamera, künstliche Intelligenz und Audio – über APIs für Entwickler geöffnet haben. Da wir mehr für Open Source bereitstellen, können Sie diese Arbeit anpassen, ausprobieren und dazu beitragen. Es ist ein großer Schritt in unserer Entwickler-zuerst-Einstellung, mit der wir es Ihnen erleichtern, die Art von Anpassungen zu entwickeln, die Sie in Ihren auf Linux basierenden IoT-Anwendungen wünschen.

Artikel Tags

Drohnen
Internet der Dinge (IoT)
QUALCOMM
Künstliche Intelligenz (AI)

Verwandte Inhalte