En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Paramètres des cookies
En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Apprenez à exécuter les inférences de YOLO11 dans une interface Streamlit et à construire une interface d'IA interactive pour les tâches de vision par ordinateur sans connaissances particulières en matière de codage.
Les modèles de vision par ordinateur sont des outils d'intelligence artificielle qui permettent aux machines d'interpréter et d'analyser des données visuelles, en effectuant des tâches telles que la détection d'objets, la classification d'images et la segmentation d'instances avec une grande précision. Cependant, ils peuvent parfois nécessiter une expertise technique supplémentaire, comme le développement web ou les compétences en matière d'applications mobiles, pour les déployer et les rendre accessibles à un public plus large.
Prenons l'exemple d'Ultralytics YOLO11. Il s'agit d'un modèle qui prend en charge diverses tâches et qui est utile dans toute une série d'applications. Cependant, sans connaissances techniques de base, la construction et le déploiement d'une interface conviviale pour une interaction transparente peut sembler un peu difficile pour certains ingénieurs en IA.
Streamlit est un framework open-source qui vise à faciliter ce processus. Il s'agit d'un outil basé sur Python qui permet de créer des applications interactives sans développement frontal complexe. Associé à YOLO11, il permet aux utilisateurs de télécharger des images, de traiter des vidéos et de visualiser les résultats en temps réel avec un minimum d'effort.
Ultralytics va encore plus loin avec sa solution Live Inference, qui rend l'intégration de Streamlit encore plus facile. D'une simple commande, les utilisateurs peuvent lancer une application Streamlit préconstruite pour YOLO11, éliminant ainsi la nécessité d'une configuration et d'un codage manuels.
Dans cet article, nous verrons comment configurer et exécuter YOLO11 en utilisant la solution Live Inference d'Ultralytics avec Streamlit, rendant le déploiement de l'IA en temps réel plus rapide et plus accessible.
Qu'est-ce que Streamlit ?
Streamlit est un framework Python qui simplifie la création d'applications web interactives. Les développeurs d'IA peuvent créer des applications alimentées par l'IA sans avoir à s'occuper des complexités du développement frontal.
Il est conçu pour fonctionner de manière transparente avec des modèles d'IA et d'apprentissage automatique. Avec seulement quelques lignes de Python, les développeurs peuvent créer une interface où les utilisateurs peuvent télécharger des images, traiter des vidéos et interagir avec des modèles d'IA.
Fig. 1. Principales caractéristiques de Streamlit. Image de l'auteur.
L'une de ses principales caractéristiques est le rendu dynamique. Lorsque les utilisateurs apportent des modifications, l'application est mise à jour automatiquement sans qu'il soit nécessaire de recharger manuellement la page.
De plus, grâce à sa légèreté et à sa facilité d'utilisation, Streamlit fonctionne efficacement aussi bien sur des machines locales que sur des plates-formes en nuage. Il s'agit donc d'un excellent choix pour déployer des applications d'IA, partager des modèles avec d'autres et offrir une expérience utilisateur intuitive et interactive.
Ultralytics YOLO11 : un modèle Vision AI polyvalent
Avant de voir comment exécuter des inférences en direct avec Ultralytics YOLO11 dans une application Streamlit, examinons de plus près ce qui rend YOLO11 si fiable.
Ultralytics YOLO11 est un modèle conçu pour les tâches de vision artificielle en temps réel telles que la détection d'objets, la segmentation d'instances et l'estimation de la pose. Il offre des performances élevées et une précision impressionnante.
Fig. 2. Exemple d'utilisation de YOLO11 pour la détection d'objets.
L'un des principaux avantages de YOLO11 est sa facilité d'utilisation. Les développeurs peuvent installer le paquetage Python Ultralytics et commencer à faire des prédictions avec seulement quelques lignes de code.
Le package Ultralytics Python offre une série de fonctionnalités permettant aux utilisateurs d'affiner les modèles et d'ajuster les paramètres de détection. Il permet également d'optimiser les performances sur différents appareils pour un déploiement plus fluide.
Au-delà de la flexibilité, le package Ultralytics Python prend en charge les intégrations sur de multiples plateformes, y compris les appareils périphériques, les environnements cloud et les systèmes équipés de GPU NVIDIA. Qu'il soit déployé sur un petit appareil embarqué ou sur un serveur cloud à grande échelle, YOLO11 s'adapte sans effort, rendant l'IA visionnaire avancée plus accessible que jamais.
Avantages de l'utilisation de Streamlit avec Ultralytics YOLO11
Vous vous demandez peut-être comment savoir si Streamlit est la bonne option de déploiement pour moi ? Si vous recherchez un moyen simple et efficace d'exécuter YOLO11 sans avoir à vous préoccuper du développement frontal, Streamlit est une bonne option - en particulier pour le prototypage, les projets de validation de concept (PoC) ou les déploiements destinés à un petit nombre d'utilisateurs.
Il rationalise le processus de travail avec YOLO11 en éliminant la complexité inutile et en fournissant une interface intuitive pour une interaction en temps réel. Voici quelques autres avantages clés :
Contrôles personnalisables de l'IA : Vous pouvez ajouter des curseurs, des listes déroulantes et des boutons à votre interface, ce qui permet aux utilisateurs d'affiner les paramètres de détection et de filtrer facilement des objets spécifiques.
Intégration avec d'autres outils d'IA : Streamlit prend en charge l'intégration avec NumPy, OpenCV, Matplotlib et d'autres bibliothèques d'apprentissage automatique, améliorant ainsi les capacités du flux de travail de l'IA.
Visualisation interactive des données : La prise en charge intégrée des diagrammes et des graphiques permet aux utilisateurs de visualiser sans effort la détection d'objets, les résultats de la segmentation ou les informations sur le suivi.
Facilité de collaboration : les applications Streamlit peuvent être facilement partagées avec les membres de l'équipe, les parties prenantes ou les clients par le biais d'un simple lien, ce qui permet un retour d'information et une itération instantanés.
Guide étape par étape pour déployer YOLO11 dans une application web Streamlit
Maintenant que nous avons exploré les avantages de l'utilisation de Streamlit avec YOLO11, voyons comment exécuter des tâches de vision par ordinateur en temps réel dans un navigateur en utilisant Streamlit avec YOLO11.
Installation du paquetage Ultralytics Python
La première étape consiste à installer le paquetage Ultralytics Python. Ceci peut être fait en utilisant la commande suivante :
Une fois installé, YOLO11 est prêt à être utilisé sans aucune configuration compliquée. Si vous rencontrez des problèmes lors de l'installation des paquets requis, vous pouvez vous référer à notre Guide des problèmes courants pour obtenir des conseils et des solutions de dépannage.
Lancement de l'application Streamlit avec YOLO11
Normalement, vous devriez développer un script Python utilisant des composants Streamlit pour exécuter YOLO11. Cependant, Ultralytics fournit un moyen simple d'exécuter YOLO11 avec Streamlit.
L'exécution du script Python suivant lancera instantanément l'application Streamlit dans votre navigateur web par défaut :
Aucune configuration supplémentaire n'est nécessaire. L'interface de l'application Streamlit comprend une section de téléchargement pour les images et les vidéos, un menu déroulant pour sélectionner la variante du modèle YOLO11 qui vous intéresse, et des curseurs pour ajuster la confiance dans la détection. Tout est bien organisé, ce qui permet aux utilisateurs d'effectuer des inférences sans effort et sans écrire de code supplémentaire.
Exécution d'inférences avec YOLO11 sur l'application Streamlit
Maintenant que l'application Streamlit s'exécute dans votre navigateur web, voyons comment l'utiliser pour effectuer des inférences avec YOLO11.
Par exemple, disons que nous voulons analyser un fichier vidéo pour détecter des objets. Voici les étapes à suivre pour télécharger un fichier, sélectionner un modèle et afficher les résultats en temps réel :
Téléchargez un fichier vidéo : Sélectionnez "vidéo" dans le menu déroulant de la configuration utilisateur, ce qui indique à l'application de traiter un fichier préenregistré au lieu du flux de la webcam.
Choisissez un modèle YOLO11: Sélectionnez "YOLO11l" dans la liste déroulante des modèles pour la détection d'objets à l'aide d'un grand modèle YOLO11.
Démarrer le processus de détection: Cliquez sur "Démarrer" pour permettre à YOLO11 d'analyser la vidéo image par image et de détecter les objets en temps réel.
Visualisez la vidéo traitée: Regardez la vidéo apparaître à l'écran avec des mises à jour en direct, affichant les objets détectés avec des boîtes de délimitation.
Interagissez avec les résultats dans Streamlit: Utilisez l'interface pour ajuster les paramètres ou analyser les détections, le tout sans configuration ou codage supplémentaire.
Fig. 3. L'interface de l'application Ultralytics YOLO Streamlit.
Cas d'utilisation de Streamlit et YOLO11
Nous avons vu comment Streamlit est idéal pour créer des prototypes, des outils de recherche et des applications de petite ou moyenne taille. Il offre un moyen simple de déployer des modèles d'IA sans développement frontal complexe.
Cependant, faire fonctionner YOLO11 avec Streamlit n'est pas toujours une solution prête à l'emploi - à moins que vous n'utilisiez l'application Ultralytics YOLO Streamlit que nous avons mise en place dans les étapes ci-dessus. Dans la plupart des cas, un travail de développement est nécessaire pour adapter l'application à des besoins spécifiques. Bien que Streamlit simplifie le déploiement, vous devrez toujours configurer les composants nécessaires pour assurer le bon fonctionnement de YOLO11.
Examinons deux exemples pratiques de la manière dont Ultralytics YOLO11 peut être efficacement déployé avec Streamlit dans des scénarios réels.
Comptage d'objets pour les contrôles d'inventaire avec YOLO11
Le suivi des stocks dans les magasins de détail, les salles de stockage ou les zones de fournitures de bureau peut prendre beaucoup de temps et être sujet à des erreurs. En utilisant YOLO11 avec Streamlit, les entreprises peuvent automatiser le comptage d'objets rapidement et efficacement, ce qui en fait une excellente option pour une démonstration de faisabilité avant de s'engager dans un déploiement à grande échelle.
Avec cette configuration, les utilisateurs peuvent télécharger une image ou utiliser une caméra en direct, et YOLO11 peut aider à détecter et à compter instantanément les objets. Le comptage en temps réel peut être affiché dans l'interface Streamlit, offrant ainsi un moyen facile de contrôler les niveaux de stock sans effort manuel.
Par exemple, le propriétaire d'un magasin peut scanner une étagère et voir immédiatement combien de bouteilles, de cartons ou de produits emballés s'y trouvent, sans avoir à les compter manuellement. En s'appuyant sur YOLO11 et Streamlit, les entreprises peuvent réduire le travail manuel, améliorer la précision et explorer l'automatisation avec un investissement minimal.
Fig. 4. Détection de bouteilles dans un réfrigérateur à l'aide de YOLO11.
Renforcer la sécurité avec YOLO11 et Streamlit
Assurer la sécurité des zones restreintes dans les bureaux, les entrepôts ou les lieux d'événements peut s'avérer difficile, en particulier avec une surveillance manuelle. En utilisant YOLO11 avec Streamlit, les entreprises peuvent mettre en place un système de sécurité simple alimenté par l'IA pour détecter les accès non autorisés en temps réel.
Une caméra peut être connectée à l'interface Streamlit, où YOLO11 est utilisé pour identifier et suivre les personnes qui pénètrent dans les zones d'accès restreint. Si une personne non autorisée est détectée, le système peut déclencher une alerte ou enregistrer l'événement pour examen.
Par exemple, un responsable d'entrepôt peut surveiller l'accès à des zones de stockage hautement sécurisées, ou un bureau peut suivre les mouvements dans des sections restreintes sans avoir besoin d'une supervision constante.
Ce projet peut s'avérer révélateur pour les entreprises qui souhaitent explorer la surveillance de la sécurité par Vision AI avant de s'engager dans un système plus important et entièrement automatisé. En intégrant YOLO11 à Streamlit, les entreprises peuvent renforcer la sécurité, minimiser la surveillance manuelle et réagir plus efficacement en cas d'accès non autorisé.
Conseils pour le suivi d'une application d'IA interactive avec Streamlit
L'utilisation d'outils tels que Streamlit pour déployer des modèles de vision par ordinateur permet de créer une expérience interactive et conviviale. Cependant, après avoir mis en place l'interface en direct, il est important de s'assurer que le système fonctionne efficacement et fournit des résultats précis au fil du temps.
Voici quelques facteurs clés à prendre en compte après le déploiement :
Suivi régulier: Suivez la précision de la détection, la vitesse d'inférence et l'utilisation des ressources. Ajustez les paramètres du modèle ou mettez à niveau le matériel si les performances diminuent.
Gestion d'utilisateurs multiples et évolutivité : À mesure que la demande des utilisateurs augmente, l'optimisation de l'infrastructure est essentielle pour maintenir les performances. Les plateformes en nuage et les solutions de déploiement évolutives contribuent à assurer un fonctionnement sans heurts.
Mise à jour du modèle : La mise à jour du modèle et des bibliothèques améliore la précision, la sécurité et l'accès aux nouvelles fonctionnalités.
Principaux enseignements
Ultralytics simplifie le déploiement de YOLO11 grâce à une interface Streamlit live prête à l'emploi qui s'exécute avec une seule commande - aucun codage n'est nécessaire. Cela permet aux utilisateurs de commencer à utiliser la détection d'objets en temps réel instantanément.
L'interface comprend également une personnalisation intégrée qui permet aux utilisateurs de changer de modèle, d'ajuster la précision de la détection et de filtrer les objets en toute simplicité. Tout est géré au sein d'une interface simple et conviviale, ce qui élimine la nécessité d'un développement manuel de l'interface utilisateur. En combinant
Grâce aux capacités de YOLO11 et à la facilité de déploiement de Streamlit, les entreprises et les développeurs peuvent rapidement prototyper, tester et affiner les applications basées sur l'IA.