Salta para o conteúdo

YOLOv3, YOLOv3-Ultralytics, e YOLOv3u

Visão geral

Este documento apresenta uma visão geral de três modelos de deteção de objectos estreitamente relacionados, nomeadamente o YOLOv3, o YOLOv3-Ultralytics e o YOLOv3u.

  1. YOLOv3: Esta é a terceira versão do algoritmo de deteção de objectos You Only Look Once (YOLO). Originalmente desenvolvido por Joseph Redmon, o YOLOv3 melhorou os seus antecessores introduzindo características como previsões multi-escala e três tamanhos diferentes de núcleos de deteção.

  2. YOLOv3-Ultralytics: Este é o Ultralytics' implementação do modelo YOLOv3. Reproduz a arquitetura original do YOLOv3 e oferece funcionalidades adicionais, como o suporte para mais modelos pré-treinados e opções de personalização mais fáceis.

  3. YOLOv3u: Esta é uma versão actualizada do YOLOv3-Ultralytics que incorpora a cabeça de divisão sem âncoras e sem objectos utilizada nos modelos YOLOv8 . O YOLOv3u mantém a mesma arquitetura de espinha dorsal e pescoço que o YOLOv3, mas com a cabeça de deteção actualizada de YOLOv8.

Ultralytics YOLOv3

Características principais

  • YOLOv3: Introduced the use of three different scales for detection, leveraging three different sizes of detection kernels: 13x13, 26x26, and 52x52. This significantly improved detection accuracy for objects of different sizes. Additionally, YOLOv3 added features such as multi-label predictions for each bounding box and a better feature extractor network.

  • YOLOv3-Ultralytics: Ultralytics A implementação do YOLOv3 oferece o mesmo desempenho que o modelo original, mas inclui suporte adicional para mais modelos pré-treinados, métodos de treino adicionais e opções de personalização mais fáceis. Isto torna-o mais versátil e fácil de utilizar em aplicações práticas.

  • YOLOv3u: Este modelo atualizado incorpora a cabeça dividida sem âncoras e sem objectos de YOLOv8. Ao eliminar a necessidade de caixas de âncoras pré-definidas e pontuações de objectos, este design da cabeça de deteção pode melhorar a capacidade do modelo para detetar objectos de diferentes tamanhos e formas. Isto torna o YOLOv3u mais robusto e preciso para tarefas de deteção de objectos.

Tarefas e modos suportados

A série YOLOv3, incluindo YOLOv3, YOLOv3-Ultralytics e YOLOv3u, foi concebida especificamente para tarefas de deteção de objectos. Estes modelos são reconhecidos pela sua eficácia em vários cenários do mundo real, equilibrando precisão e velocidade. Cada variante oferece características e optimizações únicas, tornando-os adequados para uma série de aplicações.

All three models support a comprehensive set of modes, ensuring versatility in various stages of model deployment and development. These modes include Inference, Validation, Training, and Export, providing users with a complete toolkit for effective object detection.

Tipo de modelo Tarefas suportadas Inferência Validação Formação Exportação
YOLOv3 Deteção de objectos
YOLOv3-Ultralytics Deteção de objectos
YOLOv3u Deteção de objectos

Esta tabela fornece uma visão rápida das capacidades de cada variante YOLOv3, destacando a sua versatilidade e adequação a várias tarefas e modos operacionais em fluxos de trabalho de deteção de objectos.

Exemplos de utilização

Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv3. Para obter a documentação completa sobre estes e outros modos, consulta as páginas de documentação Predict, Train, Val e Export.

Exemplo

PyTorch pretrained *.pt modelos, bem como a configuração *.yaml podem ser passados para o YOLO() para criar uma instância de modelo em python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI estão disponíveis para executar diretamente os modelos:

# Load a COCO-pretrained YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

Citações e agradecimentos

Se utilizares o YOLOv3 na tua investigação, cita os artigos originais YOLO e o repositório Ultralytics YOLOv3:

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Agradecemos a Joseph Redmon e Ali Farhadi por terem desenvolvido o YOLOv3 original.

FAQ

Quais são as diferenças entre o YOLOv3, o YOLOv3-Ultralytics e o YOLOv3u?

YOLOv3 is the third iteration of the YOLO (You Only Look Once) object detection algorithm developed by Joseph Redmon, known for its balance of accuracy and speed, utilizing three different scales (13x13, 26x26, and 52x52) for detections. YOLOv3-Ultralytics is Ultralytics' adaptation of YOLOv3 that adds support for more pre-trained models and facilitates easier model customization. YOLOv3u is an upgraded variant of YOLOv3-Ultralytics, integrating the anchor-free, objectness-free split head from YOLOv8, improving detection robustness and accuracy for various object sizes. For more details on the variants, refer to the YOLOv3 series.

Como posso treinar um modelo YOLOv3 utilizando Ultralytics?

Treinar um modelo YOLOv3 com Ultralytics é simples. Podes treinar o modelo utilizando Python ou CLI:

Exemplo

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

Para opções e directrizes de formação mais abrangentes, visita a nossa documentação sobre o modo de formação.

O que torna o YOLOv3u mais preciso para tarefas de deteção de objectos?

O YOLOv3u melhora o YOLOv3 e o YOLOv3-Ultralytics ao incorporar a cabeça dividida sem âncoras e sem objectos utilizada nos modelos YOLOv8 . Esta atualização elimina a necessidade de caixas de ancoragem pré-definidas e pontuações de objetividade, melhorando a sua capacidade de detetar objectos de diferentes tamanhos e formas com maior precisão. Isto torna o YOLOv3u uma melhor escolha para tarefas de deteção de objectos complexas e diversas. Para mais informações, consulta a secção Porquê o YOLOv3u.

Como é que posso utilizar os modelos YOLOv3 para inferência?

Podes efetuar a inferência utilizando modelos YOLOv3 através de Python scripts ou CLI comandos:

Exemplo

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

Consulta a documentação do modo de inferência para obteres mais informações sobre a execução dos modelos YOLO .

Que tarefas são suportadas pelo YOLOv3 e suas variantes?

O YOLOv3, o YOLOv3-Ultralytics e o YOLOv3u suportam principalmente tarefas de deteção de objectos. Esses modelos podem ser usados para vários estágios de implantação e desenvolvimento de modelos, como Inferência, Validação, Treinamento e Exportação. Para obter um conjunto abrangente de tarefas suportadas e detalhes mais aprofundados, visita a nossa documentação sobre tarefas de deteção de objectos.

Onde posso encontrar recursos para citar o YOLOv3 na minha investigação?

Se utilizares o YOLOv3 na tua investigação, por favor cita os artigos originais YOLO e o repositório Ultralytics YOLOv3. Exemplo de citação BibTeX:

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Para mais detalhes sobre as citações, consulta a secção Citações e Agradecimentos.


📅 Created 11 months ago ✏️ Updated 17 days ago

Comentários