YOLO Vision 2026:

Uso de Python#

Bem-vindo à documentação de uso do Ultralytics YOLO Python! Este guia foi concebido para ajudar-te a integrar perfeitamente o Ultralytics YOLO nos teus projetos Python para object detection, instance segmentation, semantic segmentation, depth estimation e classification. Aqui, vais aprender a carregar e utilizar modelos pré-treinados, treinar novos modelos e realizar previsões em imagens. A interface Python de fácil utilização é um recurso valioso para quem quer incorporar o YOLO nos seus projetos Python, permitindo-te implementar rapidamente capacidades avançadas de deteção de objetos. Vamos começar!



Watch: Mastering Ultralytics YOLO: Python

Por exemplo, os utilizadores podem carregar um modelo, treiná-lo, avaliar o seu desempenho num conjunto de validação e até export it to ONNX format com apenas algumas linhas de código.

Python
from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolo26n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo26n.pt")

# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to ONNX format
success = model.export(format="onnx")

Treinar#

O Train mode é utilizado para treinar um modelo YOLO num conjunto de dados personalizado. Neste modo, o modelo é treinado utilizando o conjunto de dados especificado e hiperparâmetros. O processo de treino envolve a otimização dos parâmetros do modelo para que este possa prever com precisão as classes e localizações de objetos numa imagem.

Treinar
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # pass any model type
results = model.train(epochs=5)

Exemplos de Treino

Validar#

O Val mode é utilizado para validar um modelo YOLO após este ter sido treinado. Neste modo, o modelo é avaliado num conjunto de validação para medir a sua accuracy e desempenho de generalização. Este modo pode ser utilizado para afinar os hiperparâmetros do modelo de modo a melhorar o seu desempenho.

Validar
from ultralytics import YOLO

# Load a YOLO model
model = YOLO("yolo26n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate on training data
model.val()

Exemplos de Val

Prever#

O Predict mode é utilizado para fazer previsões utilizando um modelo YOLO treinado em novas imagens ou vídeos. Neste modo, o modelo é carregado a partir de um ficheiro de ponto de controlo e o utilizador pode fornecer imagens ou vídeos para realizar a inferência. O modelo prevê as classes e localizações dos objetos nas imagens ou vídeos de entrada.

Prever
import cv2
from PIL import Image

from ultralytics import YOLO

model = YOLO("model.pt")
# accepts all formats - image/dir/Path/URL/video/PIL/ndarray. 0 for webcam
results = model.predict(source="0")
results = model.predict(source="folder", show=True)  # Display preds. Accepts all YOLO predict arguments

# from PIL
im1 = Image.open("bus.jpg")
results = model.predict(source=im1, save=True)  # save plotted images

# from ndarray
im2 = cv2.imread("bus.jpg")
results = model.predict(source=im2, save=True, save_txt=True)  # save predictions as labels

# from list of PIL/ndarray
results = model.predict(source=[im1, im2])

Exemplos de Predição

Exportar#

O Export mode é utilizado para exportar um modelo YOLO para um formato que possa ser utilizado para implementação. Neste modo, o modelo é convertido para um formato que pode ser utilizado por outras aplicações de software ou dispositivos de hardware. Este modo é útil ao implementar o modelo em ambientes de produção.

Exportar

Exporta um modelo YOLO oficial para ONNX com tamanho de lote e tamanho de imagem dinâmicos.

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="onnx", dynamic=True)

Exemplos de Exportação

Rastrear#

O Track mode é utilizado para seguir objetos em tempo real utilizando um modelo YOLO. Neste modo, o modelo é carregado a partir de um ficheiro de ponto de controlo e o utilizador pode fornecer um fluxo de vídeo em direto para realizar o seguimento de objetos em tempo real. Este modo é útil para aplicações como sistemas de vigilância ou self-driving cars.

Rastrear
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official detection model
model = YOLO("yolo26n-seg.pt")  # load an official segmentation model
model = YOLO("path/to/best.pt")  # load a custom model

# Track with the model
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True)
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml")

Exemplos de Rastreamento

Benchmark#

O Benchmark mode é utilizado para analisar o perfil de velocidade e precisão de vários formatos de exportação para o YOLO. Os benchmarks fornecem informações sobre o tamanho do formato exportado, as suas métricas mAP50-95 (para deteção e segmentação de objetos) ou métricas accuracy_top1 (para classificação), e o tempo de inferência em milissegundos por imagem em vários formatos de exportação como ONNX, OpenVINO, TensorRT e outros. Esta informação pode ajudar os utilizadores a escolher o formato de exportação ideal para o seu caso de uso específico, com base nos seus requisitos de velocidade e precisão.

Benchmark

Faça um benchmark de um modelo oficial YOLO em todos os formatos de exportação.

from ultralytics.utils.benchmarks import benchmark

# Benchmark
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, device=0)

Exemplos de Benchmark

Usando Trainers#

A classe de modelo YOLO serve como um wrapper de alto nível para as classes Trainer. Cada tarefa YOLO tem o seu próprio formador (trainer), que herda de BaseTrainer. Esta arquitetura permite uma maior flexibilidade e personalização nos teus machine learning workflows.

Exemplo de Trainer de Detecção
from ultralytics.models.yolo.detect import DetectionPredictor, DetectionTrainer, DetectionValidator

# trainer
trainer = DetectionTrainer(overrides={})
trainer.train()
trained_model = trainer.best

# Validator
val = DetectionValidator(args=...)
val(model=trained_model)

# predictor
pred = DetectionPredictor(overrides={})
pred(source=SOURCE, model=trained_model)

# resume from last weight
overrides["resume"] = trainer.last
trainer = DetectionTrainer(overrides=overrides)

Podes facilmente personalizar Trainers para suportar tarefas personalizadas ou explorar ideias de investigação e desenvolvimento. O design modular do Ultralytics YOLO permite-te adaptar o framework às tuas necessidades específicas, quer estejas a trabalhar numa nova tarefa de computer vision ou a afinar modelos existentes para um melhor desempenho.

Tutoriais de personalização

FAQ#

  • Integrar o Ultralytics YOLO em seus projetos Python é simples. Você pode carregar um modelo pré-treinado ou treinar um novo modelo do zero. Veja como começar:

    from ultralytics import YOLO
    
    # Load a pretrained YOLO model
    model = YOLO("yolo26n.pt")
    
    # Perform object detection on an image
    results = model("https://ultralytics.com/images/bus.jpg")
    
    # Visualize the results
    for result in results:
        result.show()

    vê exemplos mais detalhados na nossa secção Predict Mode.

  • O Ultralytics YOLO fornece vários modos para atender a diferentes machine learning workflows. Estes incluem:

    • Train: Treina um modelo utilizando conjuntos de dados personalizados.
    • Val: Valida o desempenho do modelo num conjunto de validação.
    • Predict: Faz previsões em novas imagens ou fluxos de vídeo.
    • Export: Exporta modelos para vários formatos como ONNX e TensorRT.
    • Track: Seguimento de objetos em tempo real em fluxos de vídeo.
    • Benchmark: Avalia o desempenho do modelo em diferentes configurações.

    Cada modo foi concebido para fornecer funcionalidades abrangentes para diferentes fases de model development and deployment.

  • Para treinar um modelo YOLO personalizado, precisas de especificar o teu conjunto de dados e outros hyperparameters. Aqui tens um exemplo rápido:

    from ultralytics import YOLO
    
    # Load the YOLO model
    model = YOLO("yolo26n.yaml")
    
    # Train the model with custom dataset
    model.train(data="path/to/your/dataset.yaml", epochs=10)

    Para mais detalhes sobre o treino e hiperligações para exemplos de utilização, visita a nossa página Train Mode.

  • Exportar modelos YOLO num formato adequado para implementação é simples com a função export. Por exemplo, podes exportar um modelo para o formato ONNX:

    from ultralytics import YOLO
    
    # Load the YOLO model
    model = YOLO("yolo26n.pt")
    
    # Export the model to ONNX format
    model.export(format="onnx")

    Para várias opções de exportação, consulta a documentação de Export Mode.

  • Sim, é possível validar modelos YOLO em diferentes conjuntos de dados. Após o treinamento, você pode usar o modo de validação para avaliar o desempenho:

    from ultralytics import YOLO
    
    # Load a YOLO model
    model = YOLO("yolo26n.yaml")
    
    # Train the model
    model.train(data="coco8.yaml", epochs=5)
    
    # Validate the model on a different dataset
    model.val(data="path/to/separate/data.yaml")

    Consulta a página Val Mode para obter exemplos detalhados e utilização.

Comentários