Ir para o conteúdo

Detecção de Objetos

Detecção YOLO com caixas delimitadoras

A 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 seu formato exato.



Assista: Detecção de Objetos com Modelo Ultralytics YOLO Pré-treinado.

Dica

Os modelos YOLO26 detect são os modelos YOLO26 padrão, ou seja, yolo26n.pt, e são pré-treinados em COCO.

Modelos

Os modelos YOLO26 detect pré-treinados são apresentados aqui. Os modelos detect, segment e de pose são pré-treinados no conjunto de dados COCO, enquanto os modelos 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)
parâmetros
(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
  • mAPval Os valores são para modelo único, em escala única, em COCO val2017 dataset.
    Reproduzir por yolo val detect data=coco.yaml device=0
  • Velocidade com média sobre imagens COCO val usando um Amazon EC2 P4d instância.
    Reproduzir por yolo val detect data=coco.yaml batch=1 device=0|cpu

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, consulte 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)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo26n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo26n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo26n.yaml pretrained=yolo26n.pt epochs=100 imgsz=640

Formato do conjunto de dados

O formato do conjunto de dados de detecção YOLO pode ser encontrado em detalhes no Guia do Conjunto de Dados. Para converter seu conjunto de dados existente de outros formatos (como COCO etc.) para o formato YOLO, use a ferramenta JSON2YOLO da Ultralytics.

Validar

Valide o modelo YOLO26n treinado precisão no dataset COCO8. Não são necessários argumentos, pois o model mantém seu treinamento data e argumentos 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
yolo detect val model=yolo26n.pt      # val official model
yolo detect val model=path/to/best.pt # val custom model

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
yolo detect predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg'      # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model

Veja todos os detalhes do modo predict na Prever página.

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")
yolo export model=yolo26n.pt format=onnx      # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model

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

Formatoformat ArgumentoModeloMetadadosArgumentos
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, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, 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, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

Veja todos os detalhes do modo export detalhes em Exportar página.

FAQ

Como faço para treinar um modelo YOLO26 no meu conjunto de dados personalizado?

Treinar um modelo YOLO26 em um conjunto de dados personalizado envolve algumas etapas:

  1. Prepare o Conjunto de Dados: Certifique-se de que o seu conjunto de dados está no formato YOLO. Para orientação, consulte o nosso Guia do Conjunto de Dados.
  2. Carregar o Modelo: Use a biblioteca Ultralytics YOLO para carregar um modelo pré-treinado ou criar um novo modelo a partir de um arquivo YAML.
  3. Treinar 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)
yolo detect train data=my_custom_dataset.yaml model=yolo26n.pt epochs=100 imgsz=640

Para opções de configuração detalhadas, visite a página de 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 e estimativa de pose. Esses modelos são pré-treinados no conjunto de dados COCO 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 secçã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 .val() em python ou o comando yolo detect val comando 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
yolo detect val model=path/to/best.pt

Para mais detalhes sobre a 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 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")
yolo export model=yolo26n.pt format=onnx

Consulte a lista completa de formatos suportados e as instruções na página Exportar.

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

O Ultralytics YOLO26 foi projetado para oferecer desempenho de ponta para detecção de objetos, segmentação e estimativa de pose. Aqui estão algumas das principais vantagens:

  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: Atinge pontuações de mAP impressionantes, 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 que mostram o YOLO26 em ação.



📅 Criado há 2 anos ✏️ Atualizado há 2 dias
glenn-jocherBurhan-Qambitious-octopusUltralyticsAssistantpderrengerY-T-GMatthewNoyceRizwanMunawar

Comentários