Detecção de Objetos
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 o Modelo YOLO Ultralytics Pré-treinado.
Dica
Os modelos de Detecção YOLO11 são os modelos YOLO11 padrão, ou seja, yolo11n.pt
e são pré-treinados em COCO.
Modelos
Os modelos de Detecção YOLO11 pré-treinados são mostrados aqui. Os modelos de Detecção, Segmentação e Pose são pré-treinados no conjunto de dados COCO, enquanto os modelos de Classificação são pré-treinados no conjunto de dados ImageNet.
Os Modelos são baixados automaticamente da versão mais recente do Ultralytics no primeiro uso.
Modelo | tamanho (pixels) |
mAPval 50-95 |
Velocidade CPU ONNX (ms) |
Velocidade T4 TensorRT10 (ms) |
parâmetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
- mAPval Os valores são para modelo único, em escala única, em COCO val2017 dataset.
Reproduzir poryolo val detect data=coco.yaml device=0
- Velocidade com média sobre imagens COCO val usando uma Amazon EC2 P4d instância.
Reproduzir poryolo val detect data=coco.yaml batch=1 device=0|cpu
Treinar
Treine o YOLO11n no conjunto de dados COCO8 por 100 épocas no tamanho de imagem 640. Para obter uma lista completa dos argumentos disponíveis, consulte a página de Configuração.
Exemplo
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.yaml") # build a new model from YAML
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.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=yolo11n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.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=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640
Formato do conjunto de dados
O formato do conjunto de dados de deteçã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
Validar o modelo YOLO11n treinado precisão no conjunto de dados 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("yolo11n.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 contains map50-95 of each category
yolo detect val model=yolo11n.pt # val official model
yolo detect val model=path/to/best.pt # val custom model
Prever
Use um modelo YOLO11n treinado para executar previsões em imagens.
Exemplo
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.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=yolo11n.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 YOLO11n para um formato diferente, como ONNX, CoreML, etc.
Exemplo
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.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=yolo11n.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model
Os formatos de exportação YOLO11 disponíveis estão na tabela abaixo. Você pode exportar para qualquer formato usando o format
argumento, ou seja, format='onnx'
ou format='engine'
. Você pode prever ou validar diretamente em modelos exportados, ou seja, yolo predict model=yolo11n.onnx
Exemplos de uso são mostrados para seu modelo após a conclusão da exportação.
Formato | format Argumento |
Modelo | Metadados | Argumentos |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , half , dynamic , optimize , nms , batch , device |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch , device |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data , fraction , device |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data , fraction , device |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch , device |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch , device |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch , device |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , nms , batch , data , fraction , device |
TF Edge TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz , device |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , nms , batch , device |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch , device |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half , device |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch , device |
IMX500 | imx |
yolo11n_imx_model/ |
✅ | imgsz , int8 , data , fraction , device |
RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz , batch , name , device |
Veja todos os detalhes do modo export
detalhes em Exportar página.
FAQ
Como faço para treinar um modelo YOLO11 no meu conjunto de dados personalizado?
Treinar um modelo YOLO11 num conjunto de dados personalizado envolve alguns passos:
- 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.
- Carregue o Modelo: Utilize a biblioteca Ultralytics YOLO para carregar um modelo pré-treinado ou criar um novo modelo a partir de um ficheiro YAML.
- Treinar o Modelo: Execute o método
train
em python ou o comandoyolo detect train
na CLI.
Exemplo
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo11n.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=yolo11n.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 YOLO11?
O Ultralytics YOLO11 oferece vários modelos pré-treinados para deteção de objetos, segmentação e estimativa de pose. Estes 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 YOLO11 treinado, pode utilizar o comando .val()
em python ou o comando yolo detect val
na CLI. Isto 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 YOLO11?
Ultralytics YOLO11 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("yolo11n.pt")
# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx
Consulte a lista completa de formatos suportados e as instruções na página Exportar.
Por que devo usar o Ultralytics YOLO11 para detecção de objetos?
O Ultralytics YOLO11 foi concebido para oferecer um desempenho de ponta para deteção de objetos, segmentação 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: Atinge pontuações mAP impressionantes, 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 o nosso Blog para casos de uso e histórias de sucesso que mostram o YOLO11 em ação.