Skip to content

Détection interactive d'objets : Gradio & Ultralytics YOLOv8 🚀

Introduction à la détection interactive d'objets

Cette interface Gradio offre un moyen facile et interactif d'effectuer la détection d'objets à l'aide du Ultralytics YOLOv8 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.



Regarde : Intégration de Gradio avec Ultralytics YOLOv8

Pourquoi utiliser Gradio pour la détection d'objets ?

  • Interface conviviale : Gradio offre une plateforme simple aux utilisateurs pour qu'ils puissent tĂ©lĂ©charger des images et 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'IoU 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.

Exemple de capture d'Ă©cran de Gradio

Comment installer Gradio

pip install gradio

Comment utiliser l'interface

  1. Télécharger une image : Clique sur "Télécharger une image" pour choisir un fichier image pour la détection des objets.
  2. Ajuste les paramètres :
    • Seuil de confiance : Curseur permettant de dĂ©finir le niveau de confiance minimum pour la dĂ©tection des objets.
    • Seuil de l'indice d'utilitĂ© : Curseur permettant de rĂ©gler le seuil de l'IoU pour distinguer les diffĂ©rents objets.
  3. Voir 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 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 YOLOv8 . 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("yolov8n.pt")


def predict_image(img, conf_threshold, iou_threshold):
    """Predicts objects in an image using a YOLOv8 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 YOLOv8n 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 des objets 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.
Sliders Pour 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 YOLOv8 pour la détection d'objets ?

Pour utiliser Gradio avec Ultralytics YOLOv8 pour la détection d'objets, tu peux suivre les étapes suivantes :

  1. Installe Gradio : Utilise la commande pip install gradio.
  2. Créer l'interface : Ecris un script Python pour initialiser l'interface Gradio. Tu peux te référer à l'exemple de code fourni dans la documentation pour plus de détails.
  3. Télécharger et ajuster : Télécharge ton image et ajuste les seuils de confiance et d'IoU sur l'interface de 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("yolov8n.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 YOLOv8",
    description="Upload images for YOLOv8 object detection.",
)
iface.launch()

Quels sont les avantages de l'utilisation de Gradio pour la détection d'objets sur Ultralytics YOLOv8 ?

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

  • Interface conviviale : Gradio fournit une interface intuitive aux utilisateurs pour qu'ils puissent tĂ©lĂ©charger des images et visualiser les rĂ©sultats de la dĂ©tection sans aucun effort de codage.
  • Ajustements en temps rĂ©el : Tu peux ajuster dynamiquement les paramètres de dĂ©tection, tels que les seuils de confiance et d'intrusion, et en voir les effets immĂ©diatement.
  • 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, tu peux lire cet article de blog.

Puis-je utiliser Gradio et Ultralytics YOLOv8 ensemble Ă  des fins Ă©ducatives ?

Oui, Gradio et Ultralytics YOLOv8 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 comme Ultralytics YOLOv8 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 ajuster les seuils de confiance et de rapport d'inventaire dans l'interface de Gradio pour YOLOv8?

Dans l'interface Gradio pour YOLOv8, tu peux 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 des objets. Glisse pour augmenter ou diminuer le niveau de confiance requis.
  • Seuil IoU : DĂ©finit le seuil d'intersection sur l'union pour distinguer les objets qui se chevauchent. Ajuste cette valeur pour affiner la sĂ©paration des objets.

Pour plus d'informations sur ces paramètres, visite la section d'explication des paramètres.

Quelles sont les applications pratiques de l'utilisation de Ultralytics YOLOv8 avec Gradio ?

Les applications pratiques de la combinaison de Ultralytics YOLOv8 avec 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 le cadre scolaire 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 des commentaires et des collaborations.

Pour des exemples de cas d'utilisation similaires, consulte le blogUltralytics .

Fournir ces informations dans la documentation contribuera à améliorer la facilité d'utilisation et l'accessibilité de Ultralytics YOLOv8 , la rendant plus accessible aux utilisateurs de tous niveaux d'expertise.



Créé le 2024-02-01, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (6), ambitious-octopus (1), IvorZhu331 (1), RizwanMunawar (1)

Commentaires