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 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: Gradio Integration with Ultralytics YOLO26

¿Por qué usar 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 se pueden ajustar sobre la marcha, lo que permite obtener una respuesta inmediata y optimizar los resultados de la detección.
  • Gran 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.

Gradio YOLO detection interface

Cómo instalar Gradio

pip install gradio

Cómo utilizar la interfaz

  1. Subir imagen: Haz clic en 'Upload Image' para elegir un archivo de imagen para la detección de objetos.
  2. Ajustar parámetros:
    • Umbral de confianza: Deslizador para establecer el nivel mínimo de confianza para detectar objetos.
    • Umbral de IoU: Deslizador para establecer el umbral de IoU para distinguir diferentes objetos.
  3. 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 umbrales predeterminados.
  • Imagen de muestra 2: Detección en una imagen deportiva con umbrales predeterminados.

Ejemplo de uso

Esta sección proporciona el código de Python utilizado para crear la interfaz de Gradio con el modelo Ultralytics YOLO26. El código admite tareas de clasificación, detección, segmentación y puntos clave.

import gradio as gr
import PIL.Image as 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ámetroTipoDescripción
imgImageLa imagen sobre la que se realizará la detección de objetos.
conf_thresholdfloatUmbral de confianza para detectar objetos.
iou_thresholdfloatUmbral de intersección sobre unión para la separación de objetos.

Componentes de la interfaz de Gradio

ComponenteDescripción
Entrada de imagenPara subir la imagen para la detección.
DeslizadoresPara ajustar los umbrales de confianza y de IoU.
Salida de imagenPara mostrar los resultados de la detección.

Preguntas frecuentes

¿Cómo utilizo Gradio con Ultralytics YOLO26 para la detección de objetos?

Para utilizar Gradio con Ultralytics YOLO26 para la detección de objetos, puedes seguir estos pasos:

  1. Instalar Gradio: Utiliza el comando pip install gradio.
  2. Crear interfaz: Escribe un script de Python para inicializar la interfaz de Gradio. Puedes consultar el ejemplo de código proporcionado en la documentación para obtener más detalles.
  3. 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()

¿Cuáles son las ventajas de utilizar Gradio para la detección de objetos con Ultralytics YOLO26?

El uso de 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 cualquier persona, lo que la hace útil para experimentos rápidos, fines educativos y demostraciones.

Para obtener más detalles, puedes leer esta entrada del blog sobre IA en radiología que muestra técnicas de visualización interactiva similares.

¿Puedo utilizar Gradio y Ultralytics YOLO26 juntos para fines educativos?

Sí, Gradio y Ultralytics YOLO26 pueden utilizarse juntos eficazmente para fines educativos. La intuitiva interfaz web de Gradio facilita que estudiantes y educadores interactúen con modelos de aprendizaje profundo de última generación 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 visión artificial, ya que Gradio proporciona una respuesta visual inmediata que ayuda a comprender el impacto de los diferentes parámetros en el rendimiento de la detección.

¿Cómo ajusto los umbrales de confianza y de IoU en la interfaz de Gradio para YOLO26?

En la interfaz de Gradio para YOLO26, puedes ajustar los umbrales de confianza y de IoU utilizando los deslizadores proporcionados. Estos umbrales ayudan a controlar la precisión de la predicción y la separación de los 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.

¿Cuáles son algunas aplicaciones prácticas de utilizar Ultralytics YOLO26 con Gradio?

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: Útiles en entornos académicos para enseñar conceptos de detección de objetos y visión artificial.
  • Desarrollo de prototipos: Eficiente para desarrollar y probar rápidamente aplicaciones de prototipos de detección de objetos.
  • Comunidad y colaboraciones: Facilita la compartición de modelos con la comunidad para recibir comentarios y colaborar.

Para ver ejemplos de casos de uso similares, echa un vistazo al blog de Ultralytics sobre el seguimiento del comportamiento animal, que demuestra cómo la visualización interactiva puede mejorar los esfuerzos de conservación de la vida silvestre.

Comentarios