Ir para o conteúdo

Detect de Objetos Interativo: Gradio & Ultralytics YOLO26 🚀

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

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



Assista: Integração do Gradio com Ultralytics YOLO26

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.

Interface YOLO Gradio YOLO

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 YOLO26. O código suporta tarefas de classificação, tarefas de detect, tarefas de segment e tarefas de keypoint.

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 detecção de objetos.
iou_thresholdfloatLimite de intersecção sobre união para separação de objetos.

Componentes da Interface Gradio

ComponenteDescrição
Entrada de ImagemPara carregar a imagem para detecção.
SlidersPara ajustar os limiares de confiança e IoU.
Saída de ImagemPara exibir os resultados da deteção.

FAQ

Como usar Gradio com Ultralytics YOLO26 para detect de objetos?

Para usar Gradio com Ultralytics YOLO26 para detect de objetos, você 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. Carregue e Ajuste: 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("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 Gradio para detect de objetos com Ultralytics YOLO26?

O uso de Gradio para detect de objetos com Ultralytics YOLO26 oferece diversos 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 YOLO26 juntos para fins educacionais?

Sim, Gradio e Ultralytics YOLO26 podem ser utilizados em conjunto para fins educacionais de forma eficaz. A interface web intuitiva do Gradio facilita a interação de estudantes e educadores com modelos de deep learning de ponta como Ultralytics YOLO26, sem a necessidade de habilidades avançadas de programação. Essa configuração é ideal para demonstrar conceitos-chave em detect de objetos e visão computacional, pois o Gradio fornece feedback visual imediato, o que auxilia na compreensão do impacto de diferentes parâmetros no desempenho da detect.

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

Na interface Gradio para YOLO26, você pode ajustar os limiares de confiança e IoU usando os controles deslizantes fornecidos. Esses limiares ajudam a controlar a precisão da previsã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 de usar Ultralytics YOLO26 com Gradio?

Aplicações práticas da combinação de Ultralytics YOLO26 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 dias
glenn-jocherRizwanMunawarUltralyticsAssistantambitious-octopusIvorZhu331RizwanMunawar

Comentários