Detecção de Objetos
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.
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.
| Modelo | tamanho (pixels) | mAPval 50-95 | mAPval 50-95(e2e) | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
- Valores de mAPval são para modelo único em escala única no conjunto de dados COCO val2017.
Reproduza comyolo val detect data=coco.yaml device=0 - Velocidade calculada pela média das imagens COCO val usando uma instância Amazon EC2 P4d.
Reproduza comyolo 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.
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.
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 FNPrever
Use um modelo YOLO26n treinado para executar previsões em imagens.
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 boxVeja detalhes completos do modo predict na página Predict.
Exportar
Exporte um modelo YOLO26n para um formato diferente como ONNX, CoreML, etc.
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.
| Formato | Argumento format | Modelo | Metadados | Argumentos |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DeepX | deepx | yolo26n_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:
- 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.
- 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.
- Treine o Modelo: Execute o método
trainem Python ou o comandoyolo detect trainna CLI.
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.
from ultralytics import YOLO
# Load the model
model = YOLO("path/to/best.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # mAP50-95Para 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.
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:
- Modelos Pré-treinados: Utilize modelos pré-treinados em conjuntos de dados populares como COCO e ImageNet para um desenvolvimento mais rápido.
- Alta Precisão: Alcança pontuações impressionantes de mAP, garantindo uma detecção de objetos confiável.
- Velocidade: Otimizado para inferência em tempo real, tornando-o ideal para aplicações que exigem processamento rápido.
- 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.