Ultralytics YOLO27:
Get Started

Detecção interativa de objetos: Gradio e Ultralytics YOLO26#

Introdução à detecção interativa de objetos#

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



Assista: Implante Ultralytics YOLO26 no navegador com Gradio | Tutorial completo | IA de visão 🌐

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

  • Interface fácil de usar: O Gradio oferece uma plataforma simples para enviar imagens e visualizar os resultados da detecção, sem exigir programação.
  • Ajustes em tempo real: Parâmetros como os limites de confiança e IoU podem ser ajustados na hora, permitindo obter feedback imediato e otimizar os resultados da detecção.
  • Amplo acesso: Qualquer pessoa pode acessar a interface web do Gradio, 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. Enviar imagem: Clique em 'Enviar imagem' para escolher um arquivo de imagem para a detecção de objetos.
  2. Ajustar parâmetros:
    • Limite de confiança: Controle deslizante para definir o nível mínimo de confiança necessário para detectar objetos.
    • Limite de IoU: Controle deslizante para definir o limite de IoU usado para distinguir objetos diferentes.
  3. Ver resultados: A imagem processada, com os objetos detectados e seus rótulos, será exibida.

Exemplos de uso#

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

Exemplo de uso#

Esta seção apresenta o código Python usado para criar uma interface do Gradio para detecção de objetos com Ultralytics YOLO26. O exemplo pode ser adaptado para classificação, segmentação de instâncias, pose e outras tarefas do YOLO, carregando o checkpoint do modelo correspondente.

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

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 interseção sobre união para separar objetos.

Componentes da interface do Gradio#

ComponenteDescrição
Entrada de imagemPara enviar a imagem que será usada na detecção.
Controles deslizantesPara ajustar os limites de confiança e IoU.
Saída de imagemPara exibir os resultados da detecção.

Perguntas frequentes#

  • Para usar o Gradio com Ultralytics YOLO26 para detecção de objetos, siga estas etapas:

    1. Instalar o Gradio: Use o comando pip install gradio.
    2. Criar a interface: Escreva um script Python para inicializar a interface do Gradio. Para ver detalhes, consulte o exemplo de código fornecido na documentação.
    3. Enviar e ajustar: Envie 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.

    Veja abaixo um exemplo mínimo de código:

    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)  # Imagem PIL RGB; plot() sem pil=True retorna um array 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 o Gradio para detecção de objetos com Ultralytics YOLO26 oferece vários benefícios:

    • Interface fácil de usar: O Gradio oferece uma interface intuitiva para enviar imagens e visualizar os resultados da detecção sem precisar programar.
    • Ajustes em tempo real: Você pode ajustar dinamicamente parâmetros de detecção, como os limites de confiança e IoU, e ver os efeitos imediatamente.
    • Acessibilidade: Qualquer pessoa pode acessar a interface web, que é útil para experimentos rápidos, fins educacionais e demonstrações.

    Para mais detalhes, leia esta publicação no blog sobre IA em radiologia, que apresenta técnicas semelhantes de visualização interativa.

  • Sim, o Gradio e Ultralytics YOLO26 podem ser usados juntos com eficácia para fins educacionais. A interface web intuitiva do Gradio facilita a interação de estudantes e educadores com modelos de aprendizado profundo de ponta, como Ultralytics YOLO26, sem exigir conhecimentos avançados de programação. Essa configuração é ideal para demonstrar conceitos fundamentais de 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.

  • Na interface do Gradio para YOLO26, você pode ajustar os limites de confiança e IoU usando os controles deslizantes disponíveis. Esses limites ajudam a controlar a precisão das previsões e a separação dos objetos:

    • Limite de confiança: Determina o nível mínimo de confiança necessário para detectar objetos. Deslize o controle para aumentar ou diminuir o nível de confiança exigido.
    • Limite de IoU: Define o limite de interseção sobre união para distinguir objetos sobrepostos. Ajuste esse valor para refinar a separação dos objetos.

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

  • Entre as aplicações práticas da combinação de Ultralytics YOLO26 com Gradio estão:

    • Demonstrações de detecção de objetos em tempo real: Ideais para mostrar como a detecção de objetos funciona em tempo real.
    • Ferramentas educacionais: Úteis em contextos 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ção: Facilita o compartilhamento de modelos com a comunidade para obter feedback e colaborar.

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

Comentários