Ir al contenido

Detección interactiva de objetos: Gradio & Ultralytics YOLO11 🚀

Introducción a la detección interactiva de objetos

Esta interfaz de Gradio proporciona una forma fácil e interactiva de realizar la detección de objetos mediante el programa Ultralytics YOLO11 de Ultralytics. 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.



Observa: Integración de Gradio con Ultralytics YOLO11

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

  • Interfaz fácil de usar: Gradio ofrece una plataforma sencilla para que los usuarios suban imágenes y visualicen los resultados de la detección sin necesidad de codificación.
  • Ajustes en tiempo real: Parámetros como los umbrales de confianza e IoU pueden ajustarse sobre la marcha, lo que permite obtener información inmediata 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.

Captura de pantalla de ejemplo de Gradio

Cómo instalar Gradio

pip install gradio

Cómo utilizar la interfaz

  1. Cargar imagen: Haga clic en "Cargar imagen" 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 de confianza mínimo para detectar objetos.
    • Umbral 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 muestra 1: Detección de bus con umbrales por defecto.
  • Imagen de muestra 2: Detección en una imagen deportiva con umbrales por defecto.

Ejemplo de uso

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

import gradio as gr
import PIL.Image as Image

from ultralytics import ASSETS, YOLO

model = YOLO("yolo11n.pt")


def predict_image(img, conf_threshold, iou_threshold):
    """Predicts objects in an image using a YOLO11 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 YOLO11n 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()

Parámetros Explicación

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 la unión para la separación de objetos.

Componentes de la interfaz de Gradio

Componente Descripción
Entrada de imágenes Para cargar la imagen para su detección.
Deslizadores Para ajustar los umbrales de confianza e IoU.
Salida de imágenes Para visualizar los resultados de la detección.

PREGUNTAS FRECUENTES

¿Cómo se utiliza Gradio con Ultralytics YOLO11 para la detección de objetos?

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

  1. Instala Gradio: Utilice el comando pip install gradio.
  2. Crear interfaz: Escribe un script 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. Cargar y ajustar: Sube 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.

Aquí tienes un fragmento de código mínimo como referencia:

import gradio as gr

from ultralytics import YOLO

model = YOLO("yolo11n.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 YOLO11",
    description="Upload images for YOLO11 object detection.",
)
iface.launch()

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

El uso de Gradio para la detección de objetos en Ultralytics YOLO11 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 la detección sin ningún esfuerzo de codificación.
  • Ajustes en tiempo real: Puede ajustar dinámicamente los parámetros de detección, como los umbrales de confianza e 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, puede leer esta entrada de blog sobre IA en radiología que muestra técnicas similares de visualización interactiva.

¿Puedo utilizar Gradio y Ultralytics YOLO11 juntos con fines educativos?

Sí, Gradio y Ultralytics YOLO11 pueden utilizarse juntos con fines educativos de forma eficaz. La intuitiva interfaz web de Gradio facilita a estudiantes y educadores la interacción con modelos de aprendizaje profundo de última generación como Ultralytics YOLO11 sin necesidad de conocimientos avanzados de programación. Esta configuración es ideal para demostrar conceptos clave en la detección de objetos y la visión por ordenador, ya que Gradio proporciona información visual inmediata que ayuda a comprender el impacto de los diferentes parámetros en el rendimiento de la detección.

¿Cómo se ajustan los umbrales de confianza e IoU en la interfaz de Gradio para YOLO11?

En la interfaz de Gradio para YOLO11, puedes ajustar los umbrales de confianza y de IoU mediante los controles deslizantes que se proporcionan. Estos umbrales ayudan a controlar la precisión de la predicción y la separación de objetos:

  • Umbral de confianza: Determina el nivel de confianza mínimo para detectar objetos. Deslice para aumentar o disminuir la confianza requerida.
  • Umbral IoU: Establece el umbral de intersección sobre unión para distinguir entre objetos superpuestos. Ajuste este valor para refinar la separación de objetos.

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

¿Cuáles son algunas aplicaciones prácticas del uso de Ultralytics YOLO11 con Gradio?

Las aplicaciones prácticas de la combinación de Ultralytics YOLO11 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: Eficaz para desarrollar y probar rápidamente prototipos de aplicaciones de detección de objetos.
  • Comunidad y colaboraciones: Facilitar el intercambio de modelos con la comunidad para obtener comentarios y colaboración.

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

Creado hace 1 año ✏️ Actualizado hace 7 días

Comentarios