Detecção de Objetos

YOLO object detection with bounding boxes

Detecção de objetos é uma tarefa que envolve identificar a localização e a classe de objetos em uma imagem ou fluxo de vídeo.

A saída de um detector de objetos é um conjunto de caixas delimitadoras que envolvem os objetos na imagem, juntamente com rótulos de classe e pontuações de confiança para cada caixa. A detecção de objetos é uma boa escolha quando você precisa identificar objetos de interesse em uma cena, mas não precisa saber exatamente onde o objeto está ou sua forma exata.



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Dica

Os modelos de Detecção YOLO26 são os modelos YOLO26 padrão, ou seja, yolo26n.pt, e são pré-treinados no COCO.

Modelos

Os modelos de Detecção pré-treinados YOLO26 são mostrados aqui. Os modelos de Detecção (Detect), Segmentação (Segment) e Pose são pré-treinados no conjunto de dados COCO, os modelos Semânticos são pré-treinados no Cityscapes, e os modelos de Classificação (Classify) são pré-treinados no conjunto de dados ImageNet.

Modelos são baixados automaticamente da última versão da Ultralytics no primeiro uso.

Modelotamanho
(pixels)
mAPval
50-95
mAPval
50-95(e2e)
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • Valores de mAPval são para modelo único em escala única no conjunto de dados COCO val2017.
    Reproduza com yolo val detect data=coco.yaml device=0
  • Velocidade calculada pela média das imagens COCO val usando uma instância Amazon EC2 P4d.
    Reproduza com yolo val detect data=coco.yaml batch=1 device=0|cpu
  • Valores de Params e FLOPs são para o modelo fundido após model.fuse(), que mescla as camadas Conv e BatchNorm e, para modelos end2end, remove a cabeça de detecção auxiliar um-para-muitos. Checkpoints pré-treinados retêm a arquitetura de treinamento completa e podem apresentar contagens mais altas.

Treinar

Treine o YOLO26n no conjunto de dados COCO8 por 100 épocas com tamanho de imagem 640. Para uma lista completa de argumentos disponíveis, veja a página de Configuração.

Exemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.yaml")  # build a new model from YAML
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Veja detalhes completos do modo train na página Train. Modelos de detecção também podem ser treinados em GPUs em nuvem através da Plataforma Ultralytics.

Formato do conjunto de dados

O formato do conjunto de dados de detecção YOLO pode ser encontrado em detalhes no Guia de Conjunto de Dados. Para converter seu conjunto de dados existente de outros formatos (como COCO, etc.) para o formato YOLO, utilize a ferramenta JSON2YOLO da Ultralytics. Você também pode anotar e gerenciar conjuntos de dados de detecção diretamente na Plataforma Ultralytics com ferramentas de rotulagem assistidas por IA.

Val

Valide a precisão do modelo YOLO26n treinado no conjunto de dados COCO8. Nenhum argumento é necessário, pois o model retém seus dados (data) e argumentos de treinamento como atributos do modelo.

Exemplo
from ultralytics import YOLO

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

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary with precision, recall, F1, TP, FP, and FN

Prever

Use um modelo YOLO26n treinado para executar previsões em imagens.

Exemplo
from ultralytics import YOLO

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

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box

Veja detalhes completos do modo predict na página Predict.

Exportar

Exporte um modelo YOLO26n para um formato diferente como ONNX, CoreML, etc.

Exemplo
from ultralytics import YOLO

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

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

Os formatos de exportação disponíveis do YOLO26 estão na tabela abaixo. Você pode exportar para qualquer formato usando o argumento format, ou seja, format='onnx' ou format='engine'. Você pode prever ou validar diretamente em modelos exportados, ou seja, yolo predict model=yolo26n.onnx. Exemplos de uso são mostrados para seu modelo após a conclusão da exportação.

FormatoArgumento formatModeloMetadadosArgumentos
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device
DeepXdeepxyolo26n_deepx_model/imgsz, int8, data, optimize, device

Veja detalhes completos de export na página Export.

FAQ

Posso treinar e implementar modelos de detecção sem programar?

Sim. A Ultralytics Platform fornece um fluxo de trabalho baseado em navegador para anotar conjuntos de dados, treinar modelos de detecção em GPUs na nuvem e implementá-los em endpoints de inferência. Consulte o Guia de início rápido da plataforma para começar.

Como treino um modelo YOLO26 no meu conjunto de dados personalizado?

Treinar um modelo YOLO26 em um conjunto de dados personalizado envolve alguns passos:

  1. Prepare o Conjunto de Dados: Certifique-se de que seu conjunto de dados esteja no formato YOLO. Para orientação, consulte nosso Guia de Conjunto de Dados.
  2. Carregue o Modelo: Use a biblioteca Ultralytics YOLO para carregar um modelo pré-treinado ou crie um novo modelo a partir de um arquivo YAML.
  3. Treine o Modelo: Execute o método train em Python ou o comando yolo detect train na CLI.
Exemplo
from ultralytics import YOLO

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

# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)

Para opções detalhadas de configuração, visite a página Configuração.

Quais modelos pré-treinados estão disponíveis no YOLO26?

O Ultralytics YOLO26 oferece vários modelos pré-treinados para detecção de objetos, segmentação de instâncias, segmentação semântica e estimativa de pose. Esses modelos são pré-treinados no conjunto de dados COCO, Cityscapes para segmentação semântica, ou ImageNet para tarefas de classificação. Aqui estão alguns dos modelos disponíveis:

Para uma lista detalhada e métricas de desempenho, consulte a seção Modelos.

Como posso validar a precisão do meu modelo YOLO treinado?

Para validar a precisão do seu modelo YOLO26 treinado, você pode usar o método .val() em Python ou o comando yolo detect val na CLI. Isso fornecerá métricas como mAP50-95, mAP50 e muito mais.

Exemplo
from ultralytics import YOLO

# Load the model
model = YOLO("path/to/best.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # mAP50-95

Para mais detalhes sobre validação, visite a página Val.

Para quais formatos posso exportar um modelo YOLO26?

O Ultralytics YOLO26 permite exportar modelos para vários formatos, como ONNX, TensorRT, CoreML e outros, para garantir a compatibilidade entre diferentes plataformas e dispositivos.

Exemplo
from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.pt")

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

Confira a lista completa de formatos suportados e instruções na página Export.

Por que devo usar o Ultralytics YOLO26 para detecção de objetos?

O Ultralytics YOLO26 foi projetado para oferecer desempenho de última geração para detecção de objetos, segmentação de instâncias, segmentação semântica e estimativa de pose. Aqui estão algumas vantagens principais:

  1. Modelos Pré-treinados: Utilize modelos pré-treinados em conjuntos de dados populares como COCO e ImageNet para um desenvolvimento mais rápido.
  2. Alta Precisão: Alcança pontuações impressionantes de mAP, garantindo uma detecção de objetos confiável.
  3. Velocidade: Otimizado para inferência em tempo real, tornando-o ideal para aplicações que exigem processamento rápido.
  4. Flexibilidade: Exporte modelos para vários formatos como ONNX e TensorRT para implementação em múltiplas plataformas.

Explore nosso Blog para casos de uso e histórias de sucesso mostrando o YOLO26 em ação.

Comentários