Contrôle vert
Lien copié dans le presse-papiers

Exécute une application d'IA interactive avec Streamlit et Ultralytics YOLO11

Apprends à exécuter les inférences de YOLO11 à l'intérieur d'une interface Streamlit et à construire une interface d'IA interactive pour les tâches de vision par ordinateur sans avoir de connaissances en codage.

Les modèles de vision par ordinateur sont des outils d'IA impactants qui permettent aux machines d'interpréter et d'analyser les 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 des compétences en développement web ou en applications mobiles, pour les déployer et les rendre accessibles à un public plus large.

Prends Ultralytics YOLO11par exemple. C'est un modèle qui prend en charge diverses tâches et qui est utile dans toute une série d'applications. Cependant, sans certaines connaissances techniques frontales, la construction et le déploiement d'une interface conviviale pour une interaction transparente peuvent sembler un peu difficiles pour certains ingénieurs en IA.

Streamlit est un framework open-source qui vise à faciliter ce processus. C'est un outil 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'efforts.

Ultralytics va encore plus loin avec sa solution Live Inference, qui rend l'intégration de Streamlit encore plus facile. Avec une seule 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 allons voir comment configurer et exécuter YOLO11 en utilisant la solution Live Inference d'Ultralyticsavec Streamlit, ce qui rend 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 apps alimentées par l'IA sans avoir à s'occuper des subtilités du développement frontal. 

Il est conçu pour fonctionner de manière transparente avec les 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. Caractéristiques principales de Streamlit. Image de l'auteur.

L'une de ses principales caractéristiques est le rendu dynamique. Lorsque les utilisateurs apportent des modifications, l'appli se met à jour automatiquement sans nécessiter de rechargement manuel de la page.

De plus, comme il est léger et facile à utiliser, Streamlit fonctionne efficacement à la fois sur des machines locales et des plateformes cloud. Cela en fait un excellent choix pour déployer des applications d'IA, partager des modèles avec d'autres personnes et offrir une expérience utilisateur intuitive et interactive.

Ultralytics YOLO11: Un modèle Vision AI polyvalent

Avant de plonger dans la façon d'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 par ordinateur 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 à grande vitesse avec une précision impressionnante.

Fig 2. Exemple d'utilisation de YOLO11 pour la détection d'objets.

L'un des plus grands avantages de YOLO11est sa facilité d'utilisation. Il n'est pas nécessaire de procéder à des configurations complexes ; les développeurs peuvent installer le paquet Ultralytics Python 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 aide également à 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 plusieurs plateformes, notamment les appareils périphériques, les environnements cloud et les systèmesGPU 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 de vision avancée plus accessible que jamais.

Avantages de l'utilisation de Streamlit avec Ultralytics YOLO11

Tu te demandes peut-être comment savoir si Streamlit est la bonne option de déploiement pour moi ? Si tu cherches un moyen simple et peu gourmand en code pour faire fonctionner YOLO11 sans t'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 plus petit nombre d'utilisateurs.

Il rationalise le processus de travail avec YOLO11 en éliminant toute 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 : Tu peux ajouter des curseurs, des listes déroulantes et des boutons à ton 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'intelligence artificielle : 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 tableaux et des graphiques permet aux utilisateurs de visualiser sans effort la détection d'objets, les résultats de la segmentation ou les idées de 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 à l'aide de Streamlit avec YOLO11.

Installer le paquetage Ultralytics Python

La première étape consiste à installer le paquetageUltralytics Python . Cela peut être fait à l'aide de la commande suivante :

1# Install the ultralytics package from PyPI
2pip install ultralytics

Une fois installé, YOLO11 est prêt à être utilisé sans aucune configuration compliquée. Si tu rencontres des problèmes lors de l'installation des paquets requis, tu peux te référer à notre Guide des problèmes courants pour obtenir des conseils de dépannage et des solutions.

Lancement de l'application Streamlit avec YOLO11 

Normalement, tu devrais développer un script Python utilisant des composants Streamlit pour exécuter YOLO11. Cependant, Ultralytics propose un moyen simple d'exécuter YOLO11 avec Streamlit. 

En exécutant le script Python suivant, tu lanceras instantanément l'application Streamlit dans ton navigateur Web par défaut :

1from ultralytics import solutions
2
3inf = solutions.Inference(
4    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
5)
6
7inf.inference()
8
9### Make sure to run the file using command `streamlit run <file-name.py>`

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 t'intéresse, et des curseurs pour ajuster la confiance dans la détection. Tout est bien organisé, ce qui permet aux utilisateurs d'exécuter des inférences sans effort et sans écrire de code supplémentaire.

Exécuter des inférences avec YOLO11 sur l'application Streamlit

Maintenant que l'application Streamlit s'exécute dans ton 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 pour télécharger un fichier, sélectionner un modèle et afficher les résultats en temps réel :

  • Télécharge un fichier vidéo : Sélectionne "vidéo" dans le menu déroulant de la configuration utilisateur, ce qui indique à l'application de traiter un fichier préenregistré au lieu d'un flux de webcam.
  • Choisis un modèle YOLO11 : Sélectionne "YOLO11l" dans la liste déroulante des modèles pour la détection d'objets à l'aide d'un grand modèle YOLO11 .
  • Lance le processus de détection: Clique sur "Démarrer", ce qui permet à YOLO11 d'analyser la vidéo image par image et de détecter les objets en temps réel.
  • Visualise la vidéo traitée: Regarde la vidéo apparaître à l'écran avec des mises à jour en direct, affichant les objets détectés avec des boîtes englobantes.
  • Interagis avec les résultats dans Streamlit: Utilise 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 examiné 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 tu n'utilises l'application Ultralytics YOLO Streamlit que nous avons mise en place dans les étapes ci-dessus. Dans la plupart des cas, un certain travail de développement est nécessaire pour personnaliser l'application afin qu'elle réponde à des besoins spécifiques. Bien que Streamlit simplifie le déploiement, tu devras tout de même configurer les composants nécessaires pour assurer le bon fonctionnement de YOLO11 .

Explorons deux exemples pratiques de la façon dont Ultralytics YOLO11 peut être efficacement déployé avec Streamlit dans des scénarios réels.

Compte les objets pour les contrôles d'inventaire à l'aide de 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 validation de principe (PoC) avant de s'engager dans un déploiement à grande échelle.

Avec cette configuration, les utilisateurs peuvent télécharger une image ou utiliser un flux de 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 surveiller 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 boîtes ou de produits emballés sont présents sans avoir à les compter manuellement. En tirant parti de YOLO11 et de 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

Garder les zones restreintes sécurisées dans les bureaux, les entrepôts ou les lieux d'événements peut être difficile, surtout 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.

Un flux de caméra peut être connecté à l'interface Streamlit, où YOLO11 est utilisé pour identifier et suivre les personnes qui pénètrent dans les zones restreintes. 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 aux zones de stockage de haute sécurité, ou un bureau peut suivre les mouvements dans les sections restreintes sans avoir besoin d'une supervision constante.

Ce projet peut être révélateur pour les entreprises qui souhaitent explorer la surveillance de la sécurité pilotée 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 surveiller une appli d'IA interactive avec Streamlit

L'utilisation d'outils comme 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 configuré 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: Effectue le suivi de la précision de la détection, de la vitesse d'inférence et de l'utilisation des ressources. Ajuste les paramètres du modèle ou mets à niveau le matériel si les performances diminuent.
  • Gérer les utilisateurs multiples et l'évolutivité : À mesure que la demande des utilisateurs augmente, l'optimisation de l'infrastructure est essentielle pour maintenir les performances. Les plateformes cloud et les solutions de déploiement évolutives permettent d'assurer un fonctionnement fluide.
  • Maintenir le modèle à jour : La mise à jour du modèle et des bibliothèques améliore la précision, la sécurité et l'accès aux nouvelles fonctions.

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, permettant 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 le besoin de développer manuellement l'interface utilisateur. En combinant

Grâce aux capacités de YOLO11et à 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. 

Fais partie de notre communauté et explore notre dépôt GitHub pour obtenir plus d'informations sur l'IA. Jette un coup d'œil à nos pages de solutions pour en savoir plus sur des innovations telles que l 'IA dans la fabrication et la vision par ordinateur dans les soins de santé. Vérifie nos options de licence et lance-toi dès aujourd'hui !

Logo FacebookLogo de TwitterLogo LinkedInSymbole du lien de copie

Lire la suite dans cette catégorie

Construisons ensemble le futur
de l'IA !

Commence ton voyage avec le futur de l'apprentissage automatique.