Détection interactive d'objets: Gradio & Ultralytics YOLO11 🚀
Introduction à la détection interactive d'objets
Cette interface Gradio offre un moyen simple et interactif de réaliser la détection d'objets à l'aide du Ultralytics YOLO11 modèle. Les utilisateurs peuvent télécharger des images et ajuster des paramètres tels que le seuil de confiance et le seuil d'intersection au-dessus de l'union (IoU) pour obtenir des résultats de détection en temps réel.
Regarder : Intégration de Gradio avec Ultralytics YOLO11
Pourquoi utiliser Gradio pour la détection d'objets ?
- Interface conviviale : Gradio offre une plateforme simple permettant aux utilisateurs de télécharger des images et de visualiser les résultats de la détection sans avoir besoin de coder.
- Ajustements en temps réel : Les paramètres tels que les seuils de confiance et d'intégrité peuvent être ajustés à la volée, ce qui permet un retour d'information immédiat et l'optimisation des résultats de la détection.
- Large accessibilité : L'interface web de Gradio est accessible à tous, ce qui en fait un excellent outil pour les démonstrations, les objectifs éducatifs et les expériences rapides.
Comment installer Gradio
Comment utiliser l'interface
- Télécharger une image : Cliquez sur "Charger une image" pour choisir un fichier image pour la détection d'objets.
- Ajuster les paramètres :
- Seuil de confiance : Curseur permettant de définir le niveau de confiance minimal pour la détection d'objets.
- Seuil de rapport coût-efficacité : Curseur permettant de définir le seuil de l'indice d'utilité pour distinguer les différents objets.
- Afficher les résultats : L'image traitée avec les objets détectés et leurs étiquettes s'affiche.
Exemples de cas d'utilisation
- Exemple d'image 1 : détection d'un bus avec les seuils par défaut.
- Exemple d'image 2 : Détection sur une image de sport avec les seuils par défaut.
Exemple d'utilisation
Cette section fournit le code Python utilisé pour créer l'interface Gradio avec le modèle Ultralytics YOLO11 . Elle prend en charge les tâches de classification, de détection, de segmentation et de points clés.
import gradio as gr
import PIL.Image as Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO11 model with adjustable confidence and IOU thresholds."""
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
imgsz=640,
)
for r in results:
im_array = r.plot()
im = Image.fromarray(im_array[..., ::-1])
return im
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio",
description="Upload images for inference. The Ultralytics YOLO11n model is used by default.",
examples=[
[ASSETS / "bus.jpg", 0.25, 0.45],
[ASSETS / "zidane.jpg", 0.25, 0.45],
],
)
if __name__ == "__main__":
iface.launch()
Explication des paramètres
Nom du paramètre | Type | Description |
---|---|---|
img |
Image |
L'image sur laquelle la détection d'objet sera effectuée. |
conf_threshold |
float |
Seuil de confiance pour la détection d'objets. |
iou_threshold |
float |
Seuil d'intersection sur l'union pour la séparation des objets. |
Composants de l'interface Gradio
Composant | Description |
---|---|
Entrée d'image | Pour télécharger l'image à des fins de détection. |
Coulisseaux | Ajuster les seuils de confiance et les seuils de référence. |
Sortie d'image | Pour afficher les résultats de la détection. |
FAQ
Comment utiliser Gradio avec Ultralytics YOLO11 pour la détection d'objets ?
Pour utiliser Gradio avec Ultralytics YOLO11 pour la détection d'objets, vous pouvez suivre les étapes suivantes :
- Installer Gradio : Utilisez la commande
pip install gradio
. - Créer l'interface : Ecrivez un script Python pour initialiser l'interface Gradio. Vous pouvez vous référer à l'exemple de code fourni dans la documentation pour plus de détails.
- Télécharger et ajuster : Téléchargez votre image et ajustez les seuils de confiance et d'incertitude sur l'interface Gradio pour obtenir des résultats de détection d'objets en temps réel.
Voici un extrait de code minimal à titre de référence :
import gradio as gr
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
)
return results[0].plot() if results else None
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio YOLO11",
description="Upload images for YOLO11 object detection.",
)
iface.launch()
Quels sont les avantages de l'utilisation de Gradio pour la détection d'objets sur Ultralytics YOLO11 ?
L'utilisation de Gradio pour la détection d'objets sur Ultralytics YOLO11 présente plusieurs avantages :
- Interface conviviale : Gradio propose une interface intuitive permettant aux utilisateurs de télécharger des images et de visualiser les résultats de la détection sans aucun effort de codage.
- Ajustements en temps réel : Vous pouvez ajuster dynamiquement les paramètres de détection, tels que les seuils de confiance et d'incertitude, et en voir immédiatement les effets.
- Accessibilité : L'interface web est accessible à tous, ce qui la rend utile pour des expériences rapides, à des fins éducatives et pour des démonstrations.
Pour plus de détails, vous pouvez lire cet article de blog.
Puis-je utiliser Gradio et Ultralytics YOLO11 ensemble Ă des fins Ă©ducatives ?
Oui, Gradio et Ultralytics YOLO11 peuvent être utilisés ensemble à des fins éducatives de manière efficace. L'interface web intuitive de Gradio permet aux étudiants et aux éducateurs d'interagir facilement avec des modèles d'apprentissage profond de pointe tels que Ultralytics YOLO11 sans avoir besoin de compétences de programmation avancées. Cette configuration est idéale pour démontrer les concepts clés de la détection d'objets et de la vision par ordinateur, car Gradio fournit un retour visuel immédiat qui aide à comprendre l'impact des différents paramètres sur les performances de détection.
Comment ajuster les seuils de confiance et d'incertitude dans l'interface de Gradio pour YOLO11?
Dans l'interface Gradio pour YOLO11, vous pouvez ajuster les seuils de confiance et d'incertitude à l'aide des curseurs fournis. Ces seuils permettent de contrôler la précision de la prédiction et la séparation des objets :
- Seuil de confiance : Détermine le niveau de confiance minimum pour la détection d'objets. Faites glisser le curseur pour augmenter ou diminuer le niveau de confiance requis.
- Seuil IoU : Définit le seuil d'intersection au-dessus de l'union pour distinguer les objets qui se chevauchent. Ajustez cette valeur pour affiner la séparation des objets.
Pour plus d'informations sur ces paramètres, consultez la section d'explication des paramètres.
Quelles sont les applications pratiques de l'utilisation de Ultralytics YOLO11 avec Gradio ?
Les applications pratiques de la combinaison de Ultralytics YOLO11 et de Gradio sont les suivantes
- Démonstrations de détection d'objets en temps réel : Idéal pour montrer comment fonctionne la détection d'objets en temps réel.
- Outils pédagogiques : Utiles dans les établissements d'enseignement pour enseigner la détection d'objets et les concepts de vision par ordinateur.
- Développement de prototypes : Efficace pour développer et tester rapidement des prototypes d'applications de détection d'objets.
- Communauté et collaborations : Faciliter le partage des modèles avec la communauté pour obtenir un retour d'information et une collaboration.
Pour des exemples de cas d'utilisation similaires, consultez le blogUltralytics .
Le fait de fournir ces informations dans la documentation contribuera à améliorer la facilité d'utilisation et l'accessibilité de Ultralytics YOLO11 , ce qui la rendra plus accessible aux utilisateurs de tous niveaux d'expertise.