Detecção de Objetos Interativa: Gradio e Ultralytics YOLO26#
Introdução à deteção interativa de objetos#
Esta interface do Gradio oferece uma forma fácil e interativa de realizar deteção de objetos utilizando 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 🌐
Porquê utilizar o Gradio para deteção de objetos?#
- Interface fácil de utilizar: O Gradio oferece uma plataforma simples para carregar imagens e visualizar resultados de deteção sem necessidade de programação.
- Ajustes em tempo real: Parâmetros como os limiares de confiança e IoU podem ser ajustados em tempo real, permitindo obter feedback imediato e otimizar os resultados de deteção.
- Ampla acessibilidade: A interface Web do Gradio pode ser acedida por qualquer pessoa, sendo uma excelente ferramenta para demonstrações, fins educativos e experiências rápidas.
Como instalar o Gradio#
pip install gradioComo utilizar a interface#
- Carregar imagem: Clica em 'Upload Image' para escolher um ficheiro de imagem para a deteção de objetos.
- Ajustar parâmetros:
- Limiar de confiança: Controlo deslizante para definir o nível mínimo de confiança na deteção de objetos.
- Limiar de IoU: Controlo deslizante para definir o limiar de IoU para distinguir objetos diferentes.
- Ver resultados: A imagem processada, com os objetos detetados e as respetivas etiquetas, será apresentada.
Exemplos de utilização#
- Imagem de exemplo 1: Deteção de um autocarro com os limiares predefinidos.
- Imagem de exemplo 2: Deteção numa imagem desportiva com os limiares predefinidos.
Exemplo de utilização#
Esta secção apresenta o código Python utilizado para criar uma interface do Gradio para a deteção de objetos com o Ultralytics YOLO26. O exemplo pode ser adaptado para classificação, segmentação de instâncias, pose e outras tarefas YOLO através do carregamento do 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 será realizada a deteção de objetos. |
conf_threshold | float | Limiar de confiança para a deteção de objetos. |
iou_threshold | float | Limiar de interseção sobre união para a separação de objetos. |
Componentes da interface do Gradio#
| Componente | Descrição |
|---|---|
| Entrada de imagem | Para carregar a imagem para deteção. |
| Controlos deslizantes | Para ajustar os limiares de confiança e IoU. |
| Saída de imagem | Para apresentar os resultados da deteção. |
Perguntas frequentes#
Para utilizar o Gradio com o Ultralytics YOLO26 para deteção de objetos, podes seguir estes passos:
- Instalar o Gradio: Utiliza o comando
pip install gradio. - Criar a interface: Escreve um script Python para inicializar a interface do Gradio. Consulta o exemplo de código fornecido na documentação para obter mais detalhes.
- Carregar e ajustar: Carrega a tua imagem e ajusta os limiares de confiança e IoU na interface do Gradio para obter resultados de deteção de objetos em tempo real.
Aqui tens um pequeno trecho de código 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()- Instalar o Gradio: Utiliza o comando
A utilização do Gradio para a deteção de objetos com o Ultralytics YOLO26 oferece várias vantagens:
- Interface fácil de utilizar: O Gradio disponibiliza uma interface intuitiva para carregar imagens e visualizar resultados de deteção sem qualquer esforço de programação.
- Ajustes em tempo real: Podes ajustar dinamicamente parâmetros de deteção, como os limiares de confiança e IoU, e ver imediatamente os efeitos.
- Acessibilidade: A interface Web é acessível a qualquer pessoa, sendo útil para experiências rápidas, fins educativos e demonstrações.
Para obter mais detalhes, podes ler esta publicação de blogue sobre IA em radiologia, que apresenta 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 facilita a interação de estudantes e educadores com modelos de aprendizagem profunda de última geração, como o Ultralytics YOLO26, sem necessidade de conhecimentos avançados de programação. Esta configuração é ideal para demonstrar conceitos fundamentais de deteção de objetos e visão computacional, uma vez que o Gradio fornece feedback visual imediato, ajudando a compreender o impacto de diferentes parâmetros no desempenho da deteção.
Na interface do Gradio para o YOLO26, podes ajustar os limiares de confiança e IoU utilizando os controlos deslizantes fornecidos. Estes limiares ajudam a controlar a precisão das previsões e a separação dos objetos:
- Limiar de confiança: Determina o nível mínimo de confiança para a deteção de objetos. Desliza para aumentar ou diminuir a confiança exigida.
- Limiar de IoU: Define o limiar de interseção sobre união para distinguir objetos sobrepostos. Ajusta este valor para aperfeiçoar a separação dos objetos.
Para obter mais informações sobre estes parâmetros, consulta a secção de explicação dos parâmetros.
As aplicações práticas da combinação do Ultralytics YOLO26 com o Gradio incluem:
- Demonstrações de deteção de objetos em tempo real: Ideais para mostrar como funciona a deteção de objetos em tempo real.
- Ferramentas educativas: Úteis em contextos académicos para ensinar conceitos de deteção de objetos e visão computacional.
- Desenvolvimento de protótipos: Eficazes para desenvolver e testar rapidamente aplicações de deteção de objetos prototípicas.
- Comunidade e colaborações: Facilitam a partilha de modelos com a comunidade para obter feedback e colaborar.
Para ver exemplos de casos de utilização semelhantes, consulta o blogue 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.