Detección de objetos interactiva: Gradio y Ultralytics YOLO26 🚀#
Introducción a la detección de objetos interactiva#
Esta interfaz de Gradio ofrece una forma sencilla e interactiva de realizar detección de objetos utilizando el modelo de Ultralytics YOLO26. Los usuarios pueden subir imágenes y ajustar parámetros como el umbral de confianza y el umbral de intersección sobre unión (IoU) para obtener resultados de detección en tiempo real.
Watch: Deploy Ultralytics YOLO26 in a Browser with Gradio | Complete Tutorial | Vision AI 🌐
¿Por qué utilizar Gradio para la detección de objetos?#
- Interfaz fácil de usar: Gradio ofrece una plataforma directa para que los usuarios suban imágenes y visualicen los resultados de la detección sin necesidad de programar.
- Ajustes en tiempo real: Los parámetros como los umbrales de confianza y de IoU pueden ajustarse al momento, lo que permite obtener retroalimentación inmediata y optimizar los resultados de detección.
- Amplia accesibilidad: Cualquier persona puede acceder a la interfaz web de Gradio, lo que la convierte en una herramienta excelente para demostraciones, fines educativos y experimentos rápidos.
Cómo instalar Gradio#
pip install gradioCómo utilizar la interfaz#
- Subir imagen: Haz clic en 'Upload Image' (Subir imagen) para elegir un archivo de imagen para la detección de objetos.
- Ajustar parámetros:
- Umbral de confianza: Deslizador para establecer el nivel mínimo de confianza para la detección de objetos.
- Umbral de IoU: Deslizador para establecer el umbral de IoU para distinguir diferentes objetos.
- Ver resultados: Se mostrará la imagen procesada con los objetos detectados y sus etiquetas.
Casos de uso de ejemplo#
- Imagen de muestra 1: Detección de autobuses con los umbrales predeterminados.
- Imagen de muestra 2: Detección en una imagen deportiva con los umbrales predeterminados.
Ejemplo de uso#
Esta sección proporciona el código de Python utilizado para crear una interfaz de Gradio para la detección de objetos con Ultralytics YOLO26. El ejemplo puede adaptarse para clasificación, segmentación de instancias, pose y otras tareas de YOLO cargando el punto de control del modelo correspondiente.
import gradio as gr
from PIL import Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo26n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO26 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 YOLO26n 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()Explicación de los parámetros#
| Nombre del parámetro | Tipo | Descripción |
|---|---|---|
img | Image | La imagen sobre la que se realizará la detección de objetos. |
conf_threshold | float | Umbral de confianza para la detección de objetos. |
iou_threshold | float | Umbral de intersección sobre unión para la separación de objetos. |
Componentes de la interfaz de Gradio#
| Componente | Descripción |
|---|---|
| Entrada de imagen | Para subir la imagen para su detección. |
| Deslizadores | Para ajustar los umbrales de confianza y de IoU. |
| Salida de imagen | Para visualizar los resultados de la detección. |
FAQ#
Para utilizar Gradio con Ultralytics YOLO26 para la detección de objetos, puedes seguir estos pasos:
- Instala Gradio: Usa el comando
pip install gradio. - Crea la interfaz: Escribe un script en Python para inicializar la interfaz de Gradio. Puedes consultar el ejemplo de código proporcionado en la documentación para obtener más detalles.
- Subir y ajustar: Sube tu imagen y ajusta los umbrales de confianza y de IoU en la interfaz de Gradio para obtener resultados de detección de objetos en tiempo real.
Aquí tienes un fragmento de código mínimo como referencia:
import gradio as gr from ultralytics import YOLO model = YOLO("yolo26n.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 YOLO26", description="Upload images for YOLO26 object detection.", ) iface.launch()- Instala Gradio: Usa el comando
Utilizar Gradio para la detección de objetos con Ultralytics YOLO26 ofrece varias ventajas:
- Interfaz fácil de usar: Gradio proporciona una interfaz intuitiva para que los usuarios suban imágenes y visualicen los resultados de la detección sin esfuerzo de programación.
- Ajustes en tiempo real: Puedes ajustar dinámicamente los parámetros de detección, como los umbrales de confianza y de IoU, y ver los efectos inmediatamente.
- Accesibilidad: La interfaz web es accesible para cualquiera, lo que la hace útil para experimentos rápidos, fines educativos y demostraciones.
Para más detalles, puedes leer esta entrada de blog sobre IA en radiología que muestra técnicas de visualización interactiva similares.
Sí, Gradio y Ultralytics YOLO26 se pueden utilizar juntos de manera eficaz con fines educativos. La interfaz web intuitiva de Gradio facilita que estudiantes y profesores interactúen con modelos de deep learning de vanguardia como Ultralytics YOLO26 sin necesidad de conocimientos avanzados de programación. Esta configuración es ideal para demostrar conceptos clave en detección de objetos y computer vision, ya que Gradio proporciona retroalimentación visual inmediata que ayuda a comprender el impacto de diferentes parámetros en el rendimiento de la detección.
En la interfaz de Gradio para YOLO26, puedes ajustar los umbrales de confianza y de IoU utilizando los controles deslizantes proporcionados. Estos umbrales ayudan a controlar la precisión de las predicciones y la separación de objetos:
- Umbral de confianza: Determina el nivel mínimo de confianza para detectar objetos. Desliza para aumentar o disminuir la confianza requerida.
- Umbral de IoU: Establece el umbral de intersección sobre unión para distinguir entre objetos superpuestos. Ajusta este valor para refinar la separación de objetos.
Para obtener más información sobre estos parámetros, visita la sección de explicación de parámetros.
Las aplicaciones prácticas de combinar Ultralytics YOLO26 con Gradio incluyen:
- Demostraciones de detección de objetos en tiempo real: Ideal para mostrar cómo funciona la detección de objetos en tiempo real.
- Herramientas educativas: Útil en entornos académicos para enseñar conceptos de detección de objetos y visión por ordenador.
- Desarrollo de prototipos: Eficiente para desarrollar y probar rápidamente aplicaciones de detección de objetos prototipo.
- Comunidad y colaboraciones: Facilita el intercambio de modelos con la comunidad para obtener comentarios y colaborar.
Para ver ejemplos de casos de uso similares, consulta el blog de Ultralytics sobre supervisión del comportamiento animal, que demuestra cómo la visualización interactiva puede mejorar las iniciativas de conservación de la fauna salvaje.