Ultralytics YOLO27:
Get Started

Detección interactiva de objetos: Gradio y Ultralytics YOLO26#

Introducción a la detección interactiva de objetos#

Esta interfaz de Gradio ofrece una forma sencilla e interactiva de realizar detección de objetos con 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.



Ver: Implementa Ultralytics YOLO26 en un navegador con Gradio | Tutorial completo | IA para visión 🌐

¿Por qué usar Gradio para la detección de objetos?#

  • Interfaz fácil de usar: Gradio ofrece una plataforma sencilla para subir imágenes y visualizar los resultados de detección, sin necesidad de programar.
  • Ajustes en tiempo real: Puedes ajustar sobre la marcha parámetros como los umbrales de confianza e IoU y obtener comentarios inmediatos para optimizar los resultados de detección.
  • Amplia accesibilidad: Cualquiera puede acceder a la interfaz web de Gradio, lo que la convierte en una herramienta excelente para demostraciones, formación y experimentos rápidos.

Gradio YOLO detection interface

Cómo instalar Gradio#

pip install gradio

Cómo usar la interfaz#

  1. Sube una imagen: Haz clic en «Subir imagen» para elegir un archivo de imagen para la detección de objetos.
  2. Ajusta los 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 que permite distinguir los distintos objetos.
  3. Consulta los resultados: Se mostrará la imagen procesada con los objetos detectados y sus etiquetas.

Ejemplos de uso#

  • Imagen de ejemplo 1: Detección de autobuses con los umbrales predeterminados.
  • Imagen de ejemplo 2: Detección en una imagen deportiva con los umbrales predeterminados.

Ejemplo de uso#

En esta sección se incluye el código de Python utilizado para crear una interfaz de Gradio para la detección de objetos con Ultralytics YOLO26. Puedes adaptar el ejemplo a tareas de clasificación, segmentación de instancias, estimación de 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ámetroTipoDescripción
imgImageImagen en 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 separar objetos.

Componentes de la interfaz de Gradio#

ComponenteDescripción
Entrada de imagenPara subir la imagen que se analizará.
DeslizadoresPara ajustar los umbrales de confianza e IoU.
Salida de imagenPara mostrar los resultados de la detección.

Preguntas frecuentes#

  • Para usar Gradio con Ultralytics YOLO26 para la detección de objetos, sigue estos pasos:

    1. Instala Gradio: Usa el comando pip install gradio.
    2. Crea la interfaz: Escribe un script de Python para inicializar la interfaz de Gradio. Consulta el ejemplo de código incluido en la documentación para obtener más detalles.
    3. Sube la imagen y ajusta los parámetros: Sube la imagen y ajusta los umbrales de confianza e IoU en la interfaz de Gradio para obtener resultados de detección de objetos en tiempo real.

    Aquí tienes un fragmento de código básico 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(pil=True)  # Imagen RGB de PIL; plot() sin pil=True devuelve una matriz BGR
    
    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()
  • Usar Gradio para la detección de objetos con Ultralytics YOLO26 ofrece varias ventajas:

    • Interfaz fácil de usar: Gradio ofrece una interfaz intuitiva para subir imágenes y visualizar los resultados de detección, sin necesidad de programar.
    • Ajustes en tiempo real: Puedes ajustar dinámicamente parámetros de detección como los umbrales de confianza e IoU y ver sus efectos al instante.
    • Accesibilidad: Cualquiera puede acceder a la interfaz web, por lo que resulta útil para experimentos rápidos, formación y demostraciones.

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

  • Sí, Gradio y Ultralytics YOLO26 se pueden usar conjuntamente de forma eficaz con fines educativos. La intuitiva interfaz web de Gradio facilita que estudiantes y docentes interactúen con modelos de aprendizaje profundo de última generación, como Ultralytics YOLO26, sin necesidad de tener conocimientos avanzados de programación. Esta configuración es ideal para enseñar conceptos clave de detección de objetos y visión artificial, ya que Gradio ofrece información visual inmediata que ayuda a comprender el efecto de los distintos parámetros en el rendimiento de la detección.

  • En la interfaz de Gradio para YOLO26, puedes ajustar los umbrales de confianza e IoU con los deslizadores disponibles. 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 necesario para detectar objetos. Desliza el control para aumentar o reducir la confianza requerida.
    • Umbral de IoU: Establece el umbral de intersección sobre unión para distinguir los objetos superpuestos. Ajusta este valor para mejorar la separación de objetos.

    Para obtener más información sobre estos parámetros, visita la sección de explicación de los parámetros.

  • Algunas aplicaciones prácticas de combinar Ultralytics YOLO26 con Gradio son:

    • 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: Eficaz para desarrollar y probar rápidamente prototipos de aplicaciones de detección de objetos.
    • Comunidad y colaboraciones: Facilita compartir modelos con la comunidad para recibir comentarios y colaborar.

    Para ver ejemplos de casos de uso similares, consulta la entrada del blog de Ultralytics sobre la monitorización del comportamiento animal, que muestra cómo la visualización interactiva puede contribuir a la conservación de la fauna.

Comentarios