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.
-
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.
-
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.
-
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.
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.
Os três modelos suportam um conjunto abrangente de modos, garantindo versatilidade em várias fases da implementação e desenvolvimento do modelo. 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:
Citações e agradecimentos
Se utilizares o YOLOv3 na tua investigação, cita os artigos originais YOLO e o repositório Ultralytics YOLOv3:
Agradecemos a Joseph Redmon e Ali Farhadi por terem desenvolvido o YOLOv3 original.