Ultralytics YOLO27:

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.

Gradio YOLO detection interface

Como instalar o Gradio#

pip install gradio

Como utilizar a interface#

  1. Carregar imagem: Clica em 'Upload Image' para escolher um ficheiro de imagem para a deteção de objetos.
  2. 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.
  3. 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âmetroTipoDescrição
imgImageA imagem na qual será realizada a deteção de objetos.
conf_thresholdfloatLimiar de confiança para a deteção de objetos.
iou_thresholdfloatLimiar de interseção sobre união para a separação de objetos.

Componentes da interface do Gradio#

ComponenteDescrição
Entrada de imagemPara carregar a imagem para deteção.
Controlos deslizantesPara ajustar os limiares de confiança e IoU.
Saída de imagemPara 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:

    1. Instalar o Gradio: Utiliza o comando pip install gradio.
    2. 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.
    3. 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()
  • 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.

Comentários