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.
Como instalar o Gradio#
pip install gradioComo usar a interface#
- Enviar imagem: Clique em 'Enviar imagem' para escolher um arquivo de imagem para a detecção de objetos.
- 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.
- 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â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 detectar objetos. |
iou_threshold | float | Limite de interseção sobre união para separar objetos. |
Componentes da interface do Gradio#
| Componente | Descrição |
|---|---|
| Entrada de imagem | Para enviar a imagem que será usada na detecção. |
| Controles deslizantes | Para ajustar os limites de confiança e IoU. |
| Saída de imagem | Para exibir os resultados da detecção. |
Perguntas frequentes#
Para usar o Gradio com Ultralytics YOLO26 para detecção de objetos, siga estas etapas:
- Instalar o Gradio: Use o comando
pip install gradio. - 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.
- 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()- Instalar o Gradio: Use o comando
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.