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

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

Esta interface do Gradio oferece uma forma fácil e interativa de realizar detecção de objetos usando o modelo Ultralytics YOLO26. Os usuários podem fazer upload de imagens e ajustar parâmetros como o limite de confiança e o limite de intersecção sobre união (IoU) para obter resultados de detecção em tempo real.



Watch: Gradio Integration with Ultralytics YOLO26

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

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

Gradio YOLO detection interface

Como instalar o Gradio

pip install gradio

Como usar a interface

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

Exemplos de Casos de Uso

  • Imagem de Exemplo 1: Detecção de ônibus com limites padrão.
  • Imagem de Exemplo 2: Detecção em uma imagem esportiva com limites padrão.

Exemplo de Uso

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

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

Explicação dos Parâmetros

Nome do ParâmetroTipoDescrição
imgImageA imagem na qual a detecção de objetos será realizada.
conf_thresholdfloatLimite de confiança para detectar objetos.
iou_thresholdfloatLimite de intersecção sobre união para separação de objetos.

Componentes da Interface Gradio

ComponenteDescrição
Entrada de ImagemPara fazer o upload da imagem para detecção.
SlidersPara ajustar os limites de confiança e IoU.
Saída de ImagemPara exibir os resultados da detecção.

FAQ

Como uso o Gradio com o Ultralytics YOLO26 para detecção de objetos?

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

  1. Instale o Gradio: Use o comando pip install gradio.
  2. Crie a Interface: Escreva um script Python para inicializar a interface do Gradio. Você pode consultar o exemplo de código fornecido na documentação para detalhes.
  3. Upload e Ajuste: Faça o upload da sua imagem e ajuste os limites de confiança e IoU na interface do 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("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()

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

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

  • Interface Amigável: O Gradio fornece uma interface intuitiva para os usuários fazerem upload de imagens e visualizarem os resultados de 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 limites 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 mais detalhes, você pode ler esta postagem no blog sobre IA em radiologia que apresenta técnicas de visualização interativa semelhantes.

Posso usar o Gradio e o Ultralytics YOLO26 juntos para fins educacionais?

Sim, o Gradio e o Ultralytics YOLO26 podem ser utilizados juntos para fins educacionais de forma eficaz. A interface web intuitiva do Gradio facilita para estudantes e educadores a interação com modelos de deep learning de ponta, como o Ultralytics YOLO26, sem precisar de habilidades avançadas de programação. Esta 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 limites de confiança e IoU na interface do Gradio para o YOLO26?

Na interface do Gradio para o YOLO26, você pode ajustar os limites de confiança e IoU usando os sliders fornecidos. Esses limites ajudam a controlar a precisão da previsão e a separação de objetos:

  • Limite 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.
  • Limite de IoU: Define o limite de intersecção sobre união para distinguir entre objetos sobrepostos. Ajuste este valor para refinar a separação de objetos.

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

Quais são algumas aplicações práticas de usar o Ultralytics YOLO26 com o Gradio?

Aplicações práticas de combinar o Ultralytics YOLO26 com o Gradio incluem:

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

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

Comentários