Arrow Electronic Components Online

Applications d'exemples Linux de Qualcomm – Détection d'objets IA et Fusion IA parallèle

Intelligence artificielle18 sept. 2025
Une personne portant un pull rouge et un lanyard jaune est vue en train de travailler sur un ordinateur portable dans une salle de serveurs.
Voir tous les articles

Dans cet article, découvrez la détection d'objets en direct et les capacités de fusion de capteurs parallèles dans le Qualcomm Intelligent Multimedia SDK.

En raison des variables en constante évolution qui affectent la capacité d’un drone autonome à naviguer, un traitement d’IA puissant est utilisé pour la prise de décision. Parce qu'ils sont si complexes, la mise en œuvre de ces contrôles d'IA peut être difficile. Cependant, les applications d'exemple basées sur Linux de Qualcomm offrent aux développeurs de produits un chemin plus rapide vers le marché. Dans cet article, découvrez la détection d'objets en direct et les capacités de fusion de capteurs parallèles incluses dans le Qualcomm Intelligent Multimedia SDK.   La dernière fois, nous vous avons guidé à travers deux applications d'exemple de base du Qualcomm Intelligent Multimedia SDK. Le SDK est basé sur le logiciel Qualcomm® Linux®, notre distribution qui vous permet d'écrire une fois et d'utiliser pour beaucoup de nos systèmes sur puce (SoC) IoT. Dans cet article, nous explorerons deux autres des 22 applications d'exemple du SDK pour démontrer comment vous pouvez écrire des applications pour nos chipsets IoT.

Voir à travers l'IA : Détection d'objets en direct

Cette application en ligne de commande, gst-ai-object-detection, prend un flux vidéo en direct d'une caméra et le transmet aux modèles AI open source YOLO (You Only Look Once) pour la détection d'objets. Elle effectue la détection d'objets avec prétraitement et inférence AI sur des blocs matériels dédiés, exécutant YOLOV5, YOLOV8 ou YOLO-Nas en utilisant le Snapdragon Neural Processing SDK. Elle affiche ensuite un aperçu avec les résultats superposés, tels que des étiquettes et des boîtes de délimitation, basés sur le modèle.   Le pipeline de l'application ressemble à ceci :

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

  • qtiqmmfsrc – En utilisant ce plugin gstreamer, l'application capture le flux en direct de la caméra, puis utilise tee pour diviser le flux.
  • qtimlvconverter – Ce plugin de prétraitement effectue des tâches telles que la conversion de couleur, le redimensionnement et la normalisation des données de flux. Il convertit le flux vidéo en un flux tensoriel pour l'inférence ultérieure.
  • qtimlsnpe – Ce plugin d'inférence d'apprentissage automatique applique YOLO-Nas (par défaut), YOLOV8 ou YOLOV5 pour détecter des objets dans le flux. Il exécute le runtime de traitement neuronal Snapdragon sur une unité de traitement neuronal (NPU) basée sur CPU, GPU et DSP.
  • Le moteur d'exécution SNPE effectue l'inférence sur le flux de tenseurs et produit un flux de tenseurs avec les résultats de l'inférence.
  • qtimlvdetection – Pour le post-traitement, ce plugin applique le seuil au nombre choisi de résultats souhaités. Il charge le module YOLO-Nas pour le post-traitement, produit des cadres vidéo contenant uniquement des boîtes englobantes (pour superposition) et transmet les cadres pour la composition vidéo.
  • qtivcomposer – Ce plugin superpose des cadres, avec les boîtes englobantes et les étiquettes, sur les cadres du flux de caméra en direct, puis transmet des tampons gst avec les couches combinées.
  • Waylandsink soumet le flux vidéo reçu à Weston, qui affiche le flux vidéo sur un écran local.

Voici un exemple d'utilisation de gst-ai-object-detection pour détecter une personne dans un flux de caméra :

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

Quand utiliseriez-vous cette application ?

gst-ai-object-detection propose des dizaines de classes que vous pouvez intégrer dans vos propres applications pour détecter des objets (personnes, véhicules, animaux, etc.) et les localiser dans le cadre d'une caméra. Parmi les exemples, on trouve la détection de casques, de feu/fumée et d'intrus.

Fusion AI parallèle : Quatre inférences AI sur caméra en direct

Cette application en ligne de commande, gst-ai-parallel-inference, étend l'application à un canal mentionnée précédemment à quatre canaux de traitement parallèle de modèles AI sur des blocs matériels dédiés. En plus de la détection d'objets, elle ajoute la classification, la détection de pose et la segmentation, puis affiche des aperçus réduits et composés du flux de la caméra en direct avec les résultats superposés des quatre modèles.   Le pipeline de l'application est une variation de celui ci-dessus, avec un flux séparé pour chaque inférence AI comme illustré ci-dessous :

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

  • qtiqmmfsrc – En utilisant ce plugin gstreamer, l'application capture le flux en direct de la caméra, puis utilise des tee pour générer quatre flux parallèles.
  • qtimlvconverter – Ce plugin de prétraitement effectue des tâches telles que la conversion des couleurs, le redimensionnement et la normalisation des données du flux. Il convertit le flux vidéo en un flux de tenseurs pour une inférence ultérieure.
  • qtimlsnpe – Ce plugin d'inférences d'apprentissage automatique applique YOLO-Nas pour la détection d'objets et DeepLabv3 pour la segmentation d'images. Le plugin exécute le runtime Snapdragon Neural Processing en matériel sur un CPU-,
  • qtimltflite – Ce plugin applique PoseNet pour la détection de pose et Inception V3 pour la classification d'objets. Le plugin exécute le runtime TFLite en matériel sur une unité de traitement neural (NPU) basée sur CPU, GPU et DSP.
  • Le post-traitement utilise un plugin différent pour chaque modèle.
  • qtimlvdetection – Pour la détection d'objets, ce plugin applique le seuil au nombre choisi de résultats souhaités. Il charge le module de post-traitement YOLO-Nas, produit des trames vidéo contenant uniquement des boîtes englobantes (pour la superposition) et transmet les trames pour la composition vidéo.
  • qtimlvclassification – Pour la classification, ce plugin applique le seuil au nombre choisi de résultats souhaités. Il charge le module de post-traitement Inception V3, produit des trames vidéo avec des étiquettes de classification (pour superposition) et transmet les trames pour la composition vidéo.
  • qtimlvpose – Pour l'estimation de pose, ce plugin applique le seuil au nombre choisi de résultats souhaités. Il est capable de charger des modules pour différents modèles d'estimation de pose. Dans ce cas d'utilisation, il charge le module PoseNet, produit des images vidéo avec les poses dessinées (pour superposition) et transmet les images pour la composition vidéo.
  • qtimlvsegmentation – Pour la segmentation, ce plugin convertit les tenseurs d'inférence qu'il reçoit en formats vidéo que nos plugins multimédias peuvent comprendre par la suite.
  • qtivcomposer – Ce plugin superpose les cadres des modèles AI sur les cadres du flux de la caméra en direct, puis transfère les tampons gst avec les couches combinées.
  • Waylandsink soumet le flux vidéo reçu à Weston, qui restitue le flux vidéo sur un affichage local.

Voici un exemple du flux vidéo rendu par gst-ai-parallel-inference :

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

Quand utiliseriez-vous cette application ?

En tant que sur-ensemble de gst-ai-object-detection, gst-ai-parallel-inference vous permet de détecter des personnes, des véhicules, des animaux et d'autres objets - même la fumée et le feu - dans une image de caméra.   Avec la détection de pose, vous pouvez déterminer, par exemple, si une personne est allongée, assise ou debout, avec la possibilité de savoir si la personne est tombée. Un entraîneur de gym ou un instructeur de yoga peut utiliser la détection de pose pour comprendre si un élève assume correctement une pose ou non. Une application d'ergonomie peut surveiller et rappeler la posture correcte sur une chaise ou un bureau.   Les scénarios pour les applications de classification incluent la catégorisation des produits, et pour la segmentation, ils incluent la fabrication, la santé et la logistique.

Prochaines étapes

Ce sont deux autres des applications convaincantes que nous avons créées pour mettre en valeur Qualcomm Linux. Vous pouvez les obtenir ainsi que l’ensemble du Qualcomm Intelligent Multimedia SDK en open source, avec 20 autres applications pour AI et multimédia. Ensuite, vous pouvez commencer à les intégrer à vos propres applications.   Nous avons conçu Qualcomm Linux pour que vous puissiez écrire une fois et exécuter sur plusieurs chipsets IoT avec le même code source. Le Qualcomm Intelligent Multimedia SDK est la première fois que nous ouvrons tous nos sous-systèmes multimédia – y compris la caméra, l’intelligence artificielle et l’audio – aux développeurs via des AI API. Alors que nous donnons plus à l'open source, vous pouvez personnaliser, essayer et contribuer à ce travail. C’est un grand pas dans notre état d'esprit axé sur les développeurs, dans lequel nous facilitons le développement des types de personnalisations que vous souhaitez dans vos applications IoT fonctionnant sur Linux.

Étiquettes d'article

Drones
Internet of Things (IoT)
QUALCOMM
Intelligence artificielle (AI)

Contenu connexe