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: Introduziu o uso de tr√™s escalas diferentes para dete√ß√£o, aproveitando tr√™s tamanhos diferentes de kernels de dete√ß√£o: 13x13, 26x26 e 52x52. Isto melhorou significativamente a precis√£o da dete√ß√£o para objectos de diferentes tamanhos. Al√©m disso, o YOLOv3 adicionou recursos como previs√Ķes de v√°rios r√≥tulos para cada caixa delimitadora e uma melhor rede de extratores de recursos.

  • 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.

Todos os três modelos suportam um conjunto abrangente de modos, garantindo versatilidade em várias fases de implementação e desenvolvimento de modelos. Estes modos incluem Inferência, Validação, Treino e Exportação, fornecendo aos utilizadores um conjunto de ferramentas completo para uma deteção de objectos eficaz.

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 pr√©-treinado *.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.



Criado em 2023-11-12, Atualizado em 2024-01-07
Autores: glenn-jocher (4)

Coment√°rios