Detecção de Objetos Interativa: Gradio & Ultralytics YOLO26 🚀#
Introdução à Detecção de Objetos Interativa#
Esta interface do Gradio oferece uma maneira fácil e interativa de realizar object detection usando o modelo Ultralytics YOLO26. Os utilizadores 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 deteção em tempo real.
Watch: Deploy Ultralytics YOLO26 in a Browser with Gradio | Complete Tutorial | Vision AI 🌐
Por que usar 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 a necessidade de programação.
- Ajustes em Tempo Real: Parâmetros como limiares 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.
Como instalar o Gradio#
pip install gradioComo usar a interface#
- Fazer upload de imagem: Clique em 'Upload Image' para escolher um arquivo de imagem para detecção de objetos.
- Ajustar parâmetros:
- Limiar de Confiança: Controle deslizante para definir o nível mínimo de confiança para detectar objetos.
- Limiar de IoU: Controle deslizante para definir o limiar de IoU para distinguir diferentes objetos.
- 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 limiares padrão.
- Imagem de Exemplo 2: Detecção em uma imagem de esportes com limiares padrão.
Exemplo de Uso#
Esta seção fornece o código Python usado para criar uma interface Gradio para a detecção de objetos com Ultralytics YOLO26. O exemplo pode ser adaptado para classificação, segmentação de instâncias, pose e outras tarefas YOLO carregando o ponto de verificação 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 | Limiar de confiança para detectar objetos. |
iou_threshold | float | Limiar de interseção sobre união para separação de objetos. |
Componentes da interface Gradio#
| Componente | Descrição |
|---|---|
| Entrada de Imagem | Para fazer upload da imagem para detecção. |
| Controles deslizantes | Para ajustar os limiares de confiança e IoU. |
| Saída de Imagem | Para exibir os resultados da detecção. |
FAQ#
Para usar o Gradio com Ultralytics YOLO26 para detecção de objetos, você pode seguir estes passos:
- Install Gradio: Usa o comando
pip install gradio. - Create Interface: Escreve um script em Python para inicializar a interface do Gradio. Podes consultar o exemplo de código fornecido na documentation para mais detalhes.
- Fazer upload e ajustar: Faça upload da 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()- Install Gradio: Usa o comando
Usar o Gradio para detecção de objetos com 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 da detecção sem 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 mais detalhes, podes ler esta blog post on AI in radiology que demonstra técnicas semelhantes de visualização interativa.
Sim, o Gradio e o Ultralytics YOLO26 podem ser utilizados em conjunto de forma eficaz para fins educativos. A interface web intuitiva do Gradio torna mais fácil para estudantes e educadores interagirem com modelos de deep learning de última geração como o Ultralytics YOLO26, sem precisarem de conhecimentos avançados de programação. Esta configuração é ideal para demonstrar conceitos-chave em deteção de objetos e computer vision, uma vez que o Gradio fornece feedback visual imediato que ajuda a compreender o impacto de diferentes parâmetros no desempenho da deteção.
Na interface do Gradio para YOLO26, podes ajustar os limiares de confiança e de IoU utilizando os seletores fornecidos. Estes limiares ajudam a controlar a accuracy das previsões e a separação de objetos:
- Limiar 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.
- Limiar de IoU: Define o limiar de interseção sobre união para distinguir entre objetos sobrepostos. Ajuste este valor para refinar a separação de objetos.
Para mais informações sobre estes parâmetros, visita a parameters explanation section.
Aplicações práticas de combinar o Ultralytics YOLO26 com Gradio incluem:
- Demonstrações de Detecção de Objetos em Tempo Real: Ideal para demonstrar 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 aplicações de protótipo 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, consulta o Ultralytics blog on animal behavior monitoring que demonstra como a visualização interativa pode melhorar os esforços de conservação da vida selvagem.