YOLO Vision 2026:

YOLOv3 e YOLOv3u#

Visão geral#

Este documento apresenta uma visão geral de três modelos de detecção de objetos intimamente relacionados, a saber, YOLOv3, YOLOv3-Ultralytics e YOLOv3u.

  1. YOLOv3: Esta é a terceira versão do algoritmo de detecção de objetos You Only Look Once (YOLO). Originalmente desenvolvido por Joseph Redmon, o YOLOv3 aprimorou seus antecessores ao introduzir recursos como previsões multiescala e três tamanhos diferentes de kernels de detecção.

  2. YOLOv3u: Esta é uma versão atualizada do YOLOv3-Ultralytics que incorpora o cabeçote dividido sem âncoras e sem pontuação de objeto (anchor-free, objectness-free) usado nos modelos YOLOv8. O YOLOv3u mantém a mesma arquitetura de backbone e neck do YOLOv3, mas com o cabeçote de detecção atualizado do YOLOv8.

Banner do modelo de detecção de objetos YOLOv3

Principais recursos#

  • YOLOv3: Introduziu o uso de três escalas diferentes para detecção, aproveitando três tamanhos diferentes de kernels de detecção: 13x13, 26x26 e 52x52. Isso melhorou significativamente a precisão de detecção para objetos de diferentes tamanhos. Além disso, o YOLOv3 adicionou recursos como previsões de rótulos múltiplos para cada bounding box e uma rede extratora de características melhor.

  • YOLOv3u: Este modelo atualizado incorpora o cabeçote dividido sem âncoras e sem pontuação de objeto do YOLOv8. Ao eliminar a necessidade de caixas âncora pré-definidas e pontuações de objeto, o design deste cabeçote de detecção pode melhorar a capacidade do modelo de detectar objetos de tamanhos e formas variadas. Isso torna o YOLOv3u mais robusto e preciso para tarefas de detecção de objetos.

Tarefas e modos suportados#

O YOLOv3 foi projetado especificamente para tarefas de object detection. A Ultralytics oferece suporte a três variantes do YOLOv3: yolov3u, yolov3-tinyu e yolov3-sppu. O u no nome significa que estes utilizam o cabeçote sem âncoras do YOLOv8, ao contrário de sua arquitetura original, que é baseada em âncoras. Esses modelos são renomados por sua eficácia em vários cenários do mundo real, equilibrando precisão e velocidade. Cada variante oferece recursos e otimizações exclusivos, tornando-os adequados para uma variedade de aplicações.

Todos os três modelos suportam um conjunto abrangente de modos, garantindo versatilidade em vários estágios de model deployment e desenvolvimento. Esses modos incluem Inference, Validation, Training e Export, fornecendo aos usuários um kit de ferramentas completo para a detecção de objetos eficaz.

Tipo de ModeloPesos Pré-treinadosTarefas SuportadasTreinamentoValidaçãoInferênciaExportar
YOLOv3(u)yolov3u.ptDetecção de Objetos
YOLOv3-Tiny(u)yolov3-tinyu.ptDetecção de Objetos
YOLOv3u-SPP(u)yolov3-sppu.ptDetecção de Objetos

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

Exemplos de uso#

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

Exemplo

Modelos *.pt pré-treinados em PyTorch, bem como ficheiros de configuração *.yaml, podem ser passados para a classe YOLO() para criar uma instância de modelo em python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.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 YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Citações e Agradecimentos#

Se você usar o YOLOv3 em sua pesquisa, cite os artigos originais do YOLO e o repositório YOLOv3 da Ultralytics:

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

Agradecimentos a Joseph Redmon e Ali Farhadi por desenvolverem o YOLOv3 original.

FAQ#

  • O YOLOv3 é a terceira iteração do algoritmo de object detection YOLO (You Only Look Once) desenvolvido por Joseph Redmon, conhecido por seu equilíbrio entre accuracy e velocidade, utilizando três escalas diferentes (13x13, 26x26 e 52x52) para detecções. O YOLOv3-Ultralytics é a adaptação do YOLOv3 feita pela Ultralytics que adiciona suporte a mais modelos pré-treinados e facilita a personalização de modelos. O YOLOv3u é uma variante atualizada do YOLOv3-Ultralytics, integrando o cabeçote dividido sem âncoras e sem pontuação de objeto do YOLOv8, melhorando a robustez e a precisão da detecção para vários tamanhos de objetos. Para mais detalhes sobre as variantes, consulte a série YOLOv3.

  • Treinar um modelo YOLOv3 com a Ultralytics é simples. Você pode treinar o modelo usando Python ou a CLI:

    Exemplo
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv3u model
    model = YOLO("yolov3u.pt")
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Para opções de treinamento e diretrizes mais abrangentes, visite nossa documentação do modo Train.

  • O YOLOv3u aprimora o YOLOv3 e o YOLOv3-Ultralytics ao incorporar o cabeçote dividido sem âncoras e sem pontuação de objeto usado nos modelos YOLOv8. Essa atualização elimina a necessidade de anchor boxes pré-definidas e pontuações de objeto, aprimorando sua capacidade de detectar objetos de tamanhos e formatos variados com mais precisão. Isso torna o YOLOv3u uma escolha melhor para tarefas complexas e diversas de detecção de objetos. Para obter mais informações, consulte a seção Principais recursos.

  • Você pode realizar inferência usando modelos YOLOv3 por meio de scripts Python ou comandos da CLI:

    Exemplo
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv3u model
    model = YOLO("yolov3u.pt")
    
    # Run inference with the YOLOv3u model on the 'bus.jpg' image
    results = model("path/to/bus.jpg")

    Consulte a documentação do modo Inference para obter mais detalhes sobre a execução de modelos YOLO.

  • O YOLOv3, o YOLOv3-Tiny e o YOLOv3-SPP suportam principalmente tarefas de detecção de objetos. Esses modelos podem ser usados para vários estágios de implantação e desenvolvimento de modelos, como Inférence, Validation, Training e Export. Para ver um conjunto abrangente de tarefas suportadas e detalhes mais aprofundados, visite nossa documentação de tarefas de Object Detection.

  • Se você usar o YOLOv3 em sua pesquisa, cite os artigos originais do YOLO e o repositório YOLOv3 da Ultralytics. Exemplo de citação BibTeX:

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

    Para mais detalhes de citação, consulte a seção Citações e Agradecimentos.

Comentários