Skip to content

Détection d'objets interactive : Gradio et Ultralytics YOLO11 🚀

Introduction à la détection d'objets interactive

Cette interface Gradio fournit un moyen facile et interactif d'effectuer la détection d'objets à l'aide du modèle Ultralytics YOLO11. Les utilisateurs peuvent télécharger des images et ajuster des paramètres tels que le seuil de confiance et le seuil d'intersection sur 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 aucune exigence de codage.
  • Ajustements en temps réel : Les paramètres tels que les seuils de confiance et d'IoU peuvent être ajustés à la volée, ce qui permet un retour d'information immédiat et une optimisation des résultats de détection.
  • Large accessibilité : L'interface web Gradio est accessible à tous, ce qui en fait un excellent outil pour les démonstrations, les objectifs pédagogiques et les expériences rapides.

Capture d'écran d'un exemple Gradio

Comment installer Gradio

pip install gradio

Comment utiliser l'interface

  1. Télécharger une image : Cliquez sur 'Télécharger une image' pour choisir un fichier image pour la détection d'objets.
  2. Ajuster les paramètres :
    • Seuil de confiance : Curseur permettant de définir le niveau de confiance minimal pour la détection d'objets.
    • Seuil IoU : Curseur pour définir le seuil IoU pour distinguer différents objets.
  3. Afficher les résultats : L'image traitée avec les objets détectés et leurs étiquettes sera affichée.

Exemples de cas d'utilisation

  • Exemple d'image 1 : Détection de 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. Le code prend en charge les tâches de classification, les tâches de détection, les tâches de segmentation et les tâches 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'objets sera effectuée.
conf_threshold float Seuil de confiance pour la détection des objets.
iou_threshold float Seuil d'intersection sur union pour la séparation des objets.

Composants de l'interface Gradio

Composant Description
Entrée d'image Pour télécharger l'image pour la détection.
Curseurs Pour ajuster les seuils de confiance et d'IoU.
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 ces étapes :

  1. Installer Gradio : Utiliser la commande pip install gradio.
  2. Créer une interface : Écrivez 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.
  3. Télécharger et ajuster : Téléchargez votre image et ajustez les seuils de confiance et d'IoU 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 Ultralytics YOLO11 ?

L'utilisation de Gradio pour la détection d'objets Ultralytics YOLO11 offre plusieurs avantages :

  • Interface conviviale : Gradio fournit 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'IoU et voir les effets immédiatement.
  • Accessibilité : L’interface web est accessible à tous, ce qui la rend utile pour les expériences rapides, les fins éducatives et les démonstrations.

Pour plus de détails, vous pouvez lire cet article de blog sur l'IA en radiologie qui présente des techniques de visualisation interactive similaires.

Puis-je utiliser Gradio et Ultralytics YOLO11 ensemble à des fins éducatives ?

Oui, Gradio et Ultralytics YOLO11 peuvent être utilisés ensemble efficacement à des fins éducatives. L'interface web intuitive de Gradio permet aux étudiants et aux éducateurs d'interagir facilement avec des modèles de deep learning de pointe comme Ultralytics YOLO11 sans avoir besoin de compétences avancées en programmation. 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 puis-je ajuster les seuils de confiance et d’IoU dans l’interface Gradio pour YOLO11 ?

Dans l'interface Gradio pour YOLO11, vous pouvez ajuster les seuils de confiance et d'IoU à l'aide des curseurs fournis. Ces seuils aident à contrôler la précision de la prédiction et la séparation des objets :

  • Seuil de confiance : Détermine le niveau de confiance minimal pour la détection des objets. Faites glisser pour augmenter ou diminuer la confiance requise.
  • Seuil IoU : Définit le seuil d'intersection sur 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 d'Ultralytics YOLO11 avec Gradio ?

Les applications pratiques de la combinaison d'Ultralytics YOLO11 avec Gradio incluent :

  • Démonstrations de détection d'objets en temps réel : Idéal pour montrer comment la détection d'objets fonctionne en temps réel.
  • Outils éducatifs : Utile dans les contextes universitaires pour enseigner la détection d'objets et les concepts de vision par ordinateur.
  • Développement de prototype : Efficace pour développer et tester rapidement des applications de détection d’objets prototypes.
  • Communauté et collaborations : Faciliter le partage de modèles avec la communauté pour obtenir des commentaires et favoriser la collaboration.

Pour des exemples de cas d'utilisation similaires, consultez le blog Ultralytics sur la surveillance du comportement animal qui montre comment la visualisation interactive peut améliorer les efforts de conservation de la faune.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 5 mois

Commentaires