Skip to content

Detecção Interativa de Objetos: Gradio & Ultralytics YOLO11 🚀

Introdução à Detecção de Objetos Interativa

Esta interface Gradio fornece uma maneira fácil e interativa de realizar detecção de objetos usando o modelo Ultralytics YOLO11. Os usuários podem carregar imagens e ajustar parâmetros como limite de confiança e limite de interseção sobre união (IoU) para obter resultados de detecção em tempo real.



Assista: Integração do Gradio com Ultralytics YOLO11

Por que usar Gradio para detecção de objetos?

  • Interface Amigável: O Gradio oferece uma plataforma direta para os usuários carregarem imagens e visualizarem os resultados da detecção sem qualquer requisito de codificação.
  • Ajustes em Tempo Real: Parâmetros como os limiares de confiança e IoU podem ser ajustados em tempo real, permitindo feedback imediato e otimização dos resultados de detecção.
  • Ampla Acessibilidade: A interface web Gradio pode ser acessada por qualquer pessoa, tornando-a uma excelente ferramenta para demonstrações, fins educacionais e experimentos rápidos.

Captura de ecrã do exemplo Gradio

Como Instalar o Gradio

pip install gradio

Como Usar a Interface

  1. Carregar Imagem: Clique em 'Carregar Imagem' para escolher um arquivo de imagem para detecção de objetos.
  2. Ajustar Parâmetros:
    • Threshold de Confiança: Slider para definir o nível mínimo de confiança para detectar objetos.
    • Threshold de IoU: Slider para definir o threshold de IoU para distinguir diferentes objetos.
  3. Ver Resultados: A imagem processada com os objetos detetados e os seus rótulos será exibida.

Exemplos de Casos de Uso

  • Imagem de Amostra 1: Detecção de ônibus com thresholds padrão.
  • Imagem de Amostra 2: Detecção em uma imagem de esportes com thresholds padrão.

Exemplo de Uso

Esta seção fornece o código Python usado para criar a interface Gradio com o modelo Ultralytics YOLO11. O código suporta tarefas de classificação, tarefas de detecção, tarefas de segmentação e tarefas de pontos-chave.

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()

Explicação dos Parâmetros

Nome do Parâmetro Tipo Descrição
img Image A imagem na qual a detecção de objetos será realizada.
conf_threshold float Limite de confiança para detecção de objetos.
iou_threshold float Limite de intersecção sobre união para separação de objetos.

Componentes da Interface Gradio

Componente Descrição
Entrada de Imagem Para carregar a imagem para detecção.
Sliders Para ajustar os limiares de confiança e IoU.
Saída de Imagem Para exibir os resultados da deteção.

FAQ

Como usar o Gradio com Ultralytics YOLO11 para detecção de objetos?

Para usar o Gradio com o Ultralytics YOLO11 para detecção de objetos, pode seguir estes passos:

  1. Instalar Gradio: Use o comando pip install gradio.
  2. Criar Interface: Escreva um script python para inicializar a interface Gradio. Pode consultar o exemplo de código fornecido na documentação para obter detalhes.
  3. Carregar e Ajustar: Carregue sua imagem e ajuste os limiares de confiança e IoU na interface Gradio para obter resultados de detecção de objetos em tempo real.

Aqui está um trecho de código mínimo para referência:

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()

Quais são os benefícios de usar o Gradio para detecção de objetos Ultralytics YOLO11?

Usar o Gradio para detecção de objetos Ultralytics YOLO11 oferece vários benefícios:

  • Interface Amigável: O Gradio fornece uma interface intuitiva para os usuários carregarem imagens e visualizarem os resultados da detecção sem qualquer esforço de codificação.
  • Ajustes em Tempo Real: Você pode ajustar dinamicamente os parâmetros de detecção, como os limiares de confiança e IoU, e ver os efeitos imediatamente.
  • Acessibilidade: A interface web é acessível a qualquer pessoa, tornando-a útil para experimentos rápidos, fins educacionais e demonstrações.

Para obter mais detalhes, você pode ler esta postagem no blog sobre IA em radiologia que mostra técnicas de visualização interativa semelhantes.

Posso usar Gradio e Ultralytics YOLO11 juntos para fins educacionais?

Sim, o Gradio e o Ultralytics YOLO11 podem ser utilizados juntos para fins educacionais de forma eficaz. A interface web intuitiva do Gradio facilita a interação de alunos e educadores com modelos de deep learning de última geração, como o Ultralytics YOLO11, sem a necessidade de habilidades avançadas de programação. Essa configuração é ideal para demonstrar conceitos-chave em detecção de objetos e visão computacional, pois o Gradio fornece feedback visual imediato, o que ajuda a entender o impacto de diferentes parâmetros no desempenho da detecção.

Como ajusto os limiares de confiança e IoU na interface Gradio para YOLO11?

Na interface Gradio para YOLO11, você pode ajustar os limiares de confiança e IoU usando os controles deslizantes fornecidos. Esses limiares ajudam a controlar a precisão da predição e a separação de objetos:

  • Threshold de Confiança: Determina o nível mínimo de confiança para detectar objetos. Deslize para aumentar ou diminuir a confiança necessária.
  • Threshold de IoU: Define o threshold de intersecção sobre união para distinguir entre objetos sobrepostos. Ajuste este valor para refinar a separação de objetos.

Para obter mais informações sobre esses parâmetros, visite a seção de explicação de parâmetros.

Quais são algumas aplicações práticas do uso do Ultralytics YOLO11 com Gradio?

Aplicações práticas da combinação do Ultralytics YOLO11 com Gradio incluem:

  • Demonstrações de Detecção de Objetos em Tempo Real: Ideal para mostrar como a detecção de objetos funciona em tempo real.
  • Ferramentas Educacionais: Útil em ambientes acadêmicos para ensinar detecção de objetos e conceitos de visão computacional.
  • Desenvolvimento de Protótipos: Eficiente para desenvolver e testar aplicações de detecção de objetos protótipos rapidamente.
  • Comunidade e Colaborações: Facilitando o compartilhamento de modelos com a comunidade para feedback e colaboração.

Para exemplos de casos de uso semelhantes, consulte o blog da Ultralytics sobre monitorização do comportamento animal, que demonstra como a visualização interativa pode melhorar os esforços de conservação da vida selvagem.



📅 Criado há 1 ano ✏️ Atualizado há 4 meses

Comentários