Saltar para o conteúdo

Deteção de objectos

Exemplos de deteção de objectos

A deteção de objectos é uma tarefa que envolve a identificação da localização e da classe dos objectos numa imagem ou fluxo de vídeo.

O resultado de um detetor de objectos é um conjunto de caixas delimitadoras que envolvem os objectos na imagem, juntamente com etiquetas de classe e pontuações de confiança para cada caixa. A deteção de objectos é uma boa escolha quando é necessário identificar objectos de interesse numa cena, mas não é necessário saber exatamente onde se encontra o objeto ou a sua forma exacta.



Ver: Deteção de objectos com modelo Ultralytics YOLO pré-treinado.

Dica

YOLO11 Os modelos de deteção são os modelos predefinidos de YOLO11 , ou seja yolo11n.pt e são pré-treinados em COCO.

Modelos

YOLO11 Os modelos Detect pré-treinados são mostrados aqui. Os modelos Detetar, Segmentar e Pose são pré-treinados no conjunto de dados COCO, enquanto os modelos Classificar são pré-treinados no conjunto de dados ImageNet.

Os modelos são transferidos automaticamente a partir daversão mais recentede Ultralytics na primeira utilização.

Modelo tamanho
(pixéis)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4TensorRT10
(ms)
params
(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 são valores para modelo único e escala única em COCO val2017 conjunto de dados.
    Reproduzir por yolo val detect data=coco.yaml device=0
  • Velocidade média das imagens COCO val utilizando um Amazon EC2 P4d instância.
    Reproduzir por yolo val detect data=coco.yaml batch=1 device=0|cpu

Comboio

Treinar YOLO11n no conjunto de dados COCO8 para 100 épocas com o tamanho de imagem 640. Para obter uma lista completa dos argumentos disponíveis, consulte a página 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

YOLO O formato do conjunto de dados de deteção pode ser consultado em pormenor no Guia do conjunto de dados. Para converter o seu conjunto de dados existente de outros formatos (como COCO, etc.) para o formato YOLO , utilize a ferramenta JSON2YOLO em Ultralytics.

Val

Validar o modelo YOLO11n treinado exatidão no conjunto de dados COCO8. Não são necessários argumentos, uma vez que o model mantém a sua formação 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

Utilize 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
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

Ver completo predict detalhes do modo no Prever página.

Exportação

Exportar 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 disponíveis em YOLO11 encontram-se na tabela abaixo. É possível exportar para qualquer formato utilizando o botão format argumento, ou seja format='onnx' ou format='engine'. É possível prever ou validar diretamente nos modelos exportados, ou seja yolo predict model=yolo11n.onnx. São apresentados exemplos de utilização para o seu modelo após a conclusão da exportação.

Formato format Argumento Modelo Metadados Argumentos
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, optimize, batch
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n.pb imgsz, batch
TF Leve tflite yolo11n.tflite imgsz, half, int8, batch
TF Borda TPU edgetpu yolo11n_edgetpu.tflite imgsz
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch
MNN mnn yolo11n.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch
IMX500 imx yolov8n_imx_model/ imgsz, int8

Ver completo export pormenores no Exportação página.

FAQ

Como é que treino um modelo YOLO11 no meu conjunto de dados personalizado?

O treinamento de um modelo YOLO11 em um conjunto de dados personalizado envolve algumas etapas:

  1. Preparar o conjunto de dados: Certifique-se de que o seu conjunto de dados está no formato YOLO . Para obter orientação, consulte o nosso Guia de 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: Executar o train em Python ou o método yolo detect train em 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 obter opções de configuração detalhadas, visite a página Configuração.

Que modelos pré-treinados estão disponíveis em YOLO11?

Ultralytics YOLO11 oferece vários modelos pré-treinados para deteção de objectos, segmentação e estimativa de pose. Estes modelos são pré-treinados no conjunto de dados COCO ou ImageNet para tarefas de classificação. Eis alguns dos modelos disponíveis:

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

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

Para validar a precisão do seu modelo YOLO11 treinado, pode utilizar o .val() em Python ou o método yolo detect val em CLI. Isto fornecerá métricas como mAP50-95, mAP50, e 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 obter mais informações sobre a validação, visite a página Val.

Para que formatos posso exportar um modelo YOLO11 ?

Ultralytics YOLO11 permite exportar modelos para vários formatos, como ONNX, TensorRT, CoreML, entre 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 razão devo utilizar Ultralytics YOLO11 para a deteção de objectos?

Ultralytics YOLO11 foi concebido para oferecer um desempenho topo de gama na deteção de objectos, segmentação e estimativa de pose. Eis 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. Elevada precisão: Obtém pontuações mAP impressionantes, assegurando uma deteção de objectos fiável.
  3. Velocidade: Optimizado para inferência em tempo real, tornando-o ideal para aplicações que requerem um processamento rápido.
  4. Flexibilidade: Exporte modelos para vários formatos, como ONNX e TensorRT , para implantação em várias plataformas.

Explore o nosso blogue para conhecer casos de utilização e histórias de sucesso que mostram o YOLO11 em ação.

📅C riado há 1 ano ✏️ Atualizado há 2 meses

Comentários