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 caraterí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.
Caraterísticas principais
-
YOLOv3: Introduziu o uso de três escalas diferentes para deteção, aproveitando três tamanhos diferentes de núcleos 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, esta conceção 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 caraterí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 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 esses e outros modos, consulte as páginas de documentos Prever, Treinar, Val e Exportar.
Exemplo
PyTorch pré-treinado *.pt
modelos, bem como a configuração *.yaml
podem ser passados para os ficheiros 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 utilizar o YOLOv3 na sua investigação, cite os documentos originais YOLO e o repositório Ultralytics YOLOv3:
Obrigado a Joseph Redmon e Ali Farhadi pelo desenvolvimento do YOLOv3 original.
FAQ
Quais são as diferenças entre o YOLOv3, o YOLOv3-Ultralytics e o YOLOv3u?
O YOLOv3 é a terceira iteração do algoritmo de deteção de objectos YOLO (You Only Look Once) desenvolvido por Joseph Redmon, conhecido pelo seu equilíbrio entre precisão e velocidade, utilizando três escalas diferentes (13x13, 26x26 e 52x52) para as detecções. YOLOv3-Ultralytics é Ultralytics' adaptação do YOLOv3 que adiciona suporte para mais modelos pré-treinados e facilita a personalização do modelo. YOLOv3u é uma variante actualizada do YOLOv3-Ultralytics, integrando a cabeça dividida sem âncoras e sem objectos de YOLOv8, melhorando a robustez e a precisão da deteção para vários tamanhos de objectos. Para mais pormenores sobre as variantes, consulte a série YOLOv3.
Como é que posso treinar um modelo YOLOv3 utilizando Ultralytics?
O treino de um modelo YOLOv3 com Ultralytics é simples. Pode treinar o modelo utilizando Python ou CLI:
Exemplo
Para obter opções e diretrizes de formação mais abrangentes, visite 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, consulte a secção Porquê o YOLOv3u.
Como é que posso utilizar os modelos YOLOv3 para inferência?
Pode efetuar a inferência utilizando modelos YOLOv3 através de Python scripts ou CLI comandos:
Exemplo
Consulte a documentação do modo de inferência para obter mais pormenores 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, visite a nossa documentação sobre tarefas de deteção de objectos.
Onde posso encontrar recursos para citar o YOLOv3 na minha investigação?
Se utilizar o YOLOv3 na sua investigação, cite os documentos originais YOLO e o repositório Ultralytics YOLOv3. Exemplo de citação BibTeX:
Para mais informações sobre as citações, consulte a secção Citações e agradecimentos.