Detecção Interativa de Objetos: Gradio & Ultralytics YOLO11 🚀
Introdução à Detecção de Objetos Interativa
Esta interface Gradio fornece uma maneira fácil e interativa de realizar detecção de objetos usando o modelo Ultralytics YOLO11. Os usuários podem carregar imagens e ajustar parâmetros como limite de confiança e limite de interseção sobre união (IoU) para obter resultados de detecção em tempo real.
Assista: Integração do Gradio com Ultralytics YOLO11
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.
Como Instalar o Gradio
pip install gradio
Como Usar a Interface
- Carregar Imagem: Clique em 'Carregar Imagem' para escolher um arquivo de imagem para detecção de objetos.
- 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.
- 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 YOLO11. O código suporta tarefas de classificação, tarefas de detecção, tarefas de segmentação e tarefas de pontos-chave.
import gradio as gr
import PIL.Image as Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO11 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 YOLO11n 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 detecção de objetos. |
iou_threshold |
float |
Limite de intersecção sobre união para separação de objetos. |
Componentes da Interface Gradio
Componente | Descrição |
---|---|
Entrada de Imagem | Para carregar a imagem para detecção. |
Sliders | Para ajustar os limiares de confiança e IoU. |
Saída de Imagem | Para exibir os resultados da deteção. |
FAQ
Como usar o Gradio com Ultralytics YOLO11 para detecção de objetos?
Para usar o Gradio com o Ultralytics YOLO11 para detecção de objetos, pode seguir estes passos:
- Instalar Gradio: Use o comando
pip install gradio
. - 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.
- Carregar e Ajustar: 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("yolo11n.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 YOLO11",
description="Upload images for YOLO11 object detection.",
)
iface.launch()
Quais são os benefícios de usar o Gradio para detecção de objetos Ultralytics YOLO11?
Usar o Gradio para detecção de objetos Ultralytics YOLO11 oferece vários 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 YOLO11 juntos para fins educacionais?
Sim, o Gradio e o Ultralytics YOLO11 podem ser utilizados juntos para fins educacionais de forma eficaz. A interface web intuitiva do Gradio facilita a interação de alunos e educadores com modelos de deep learning de última geração, como o Ultralytics YOLO11, sem a necessidade de habilidades avançadas de programação. Essa 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 limiares de confiança e IoU na interface Gradio para YOLO11?
Na interface Gradio para YOLO11, você pode ajustar os limiares de confiança e IoU usando os controles deslizantes fornecidos. Esses limiares ajudam a controlar a precisão da prediçã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 do uso do Ultralytics YOLO11 com Gradio?
Aplicações práticas da combinação do Ultralytics YOLO11 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.