Ultralytics YOLO27:

Detección de objetos interactiva: 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 utilizando el modelo Ultralytics YOLO26. Los usuarios pueden cargar 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é usar Gradio para la detección de objetos?#

  • Interfaz fácil de usar: Gradio ofrece una plataforma sencilla para que los usuarios carguen imágenes y visualicen los resultados de 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 comentarios inmediatos y 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, fines educativos y experimentos rápidos.

Gradio YOLO detection interface

Cómo instalar Gradio#

pip install gradio

Cómo usar la interfaz#

  1. Cargar 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: Control deslizante para establecer el nivel mínimo de confianza para detectar objetos.
    • Umbral de IoU: Control deslizante 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.

Ejemplos de uso#

  • Imagen de ejemplo 1: Detección de un autobús con los umbrales predeterminados.
  • Imagen de ejemplo 2: Detección en una imagen deportiva con los umbrales predeterminados.

Ejemplo de uso#

Esta sección proporciona el código Python utilizado para crear una interfaz de Gradio para la detección de objetos con Ultralytics YOLO26. El ejemplo se puede adaptar para clasificación, segmentación de instancias, pose y otras tareas de YOLO cargando el checkpoint correspondiente del modelo.

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
imgImageLa imagen 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 cargar la imagen que se analizará.
Controles deslizantesPara ajustar los umbrales de confianza e IoU.
Salida de imagenPara mostrar los resultados de detección.

Preguntas frecuentes#

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

    1. Instalar Gradio: Usa el comando pip install gradio.
    2. Crear la interfaz: Escribe un script de Python para inicializar la interfaz de Gradio. Consulta el ejemplo de código proporcionado en la documentación para obtener más información.
    3. Cargar y ajustar: Carga tu 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.

    Este es un fragmento de código mínimo a modo de 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()
  • Usar 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 carguen imágenes y visualicen 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 y de IoU, y ver los efectos de inmediato.
    • Accesibilidad: Cualquiera puede acceder a la interfaz web, lo que la hace útil para experimentos rápidos, fines educativos y demostraciones.

    Para obtener más información, 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 utilizar juntos eficazmente 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 conocimientos avanzados de programación. Esta configuración es ideal para demostrar conceptos clave de detección de objetos y visión por ordenador, ya que Gradio proporciona comentarios visuales inmediatos que ayudan a comprender el impacto 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 mediante 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 el control para aumentar o reducir la confianza requerida.
    • Umbral de IoU: Establece el umbral de intersección sobre unión para distinguir entre objetos superpuestos. Ajusta este valor para perfeccionar 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.

  • Entre las aplicaciones prácticas de combinar Ultralytics YOLO26 con Gradio se 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 por ordenador.
    • Desarrollo de prototipos: Eficaz para desarrollar y probar rápidamente aplicaciones prototipo 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 supervisión del comportamiento animal, que muestra cómo la visualización interactiva puede mejorar los esfuerzos de conservación de la fauna.

Comentarios