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.
Comment installer Gradio
Comment utiliser l'interface
- Télécharger une image : Clique sur "Télécharger une image" pour choisir un fichier image pour la détection des objets.
- 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.
- 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 :
- Installe Gradio : Utilise la commande
pip install gradio
. - 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.
- 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.