YOLOv2
O YOLOv2, publicado também como YOLO9000, é o detector Darknet-19 que trouxe as anchor boxes e uma camada de passthrough para a linha YOLO. O LibreYOLO o carrega como uma peça de museu congelada e somente de inferência.
- Tarefas
- detection
- Tamanhos
- t, b at 416 to 608 px
- Instalação
pip install libreyolo- Nível de suporte
- Museu, desde a v. Exposição congelada. Somente correções de bugs.
- Origem
- YOLOv2 por Joseph Redmon, Public domain (Darknet "YOLO LICENSE"). Artigo, código-fonte
- Licenças
- Código MIT, pesos Public domain (Darknet "YOLO LICENSE"). Uso comercial
Instalação
O YOLOv2 não precisa de nenhum extra além do pacote base.
pip install libreyoloPredição
Esta família é somente de inferência: train() levanta NotImplementedError,
então esta página não tem seção de Treinamento. Predição, validação e
exportação são todas suportadas. Os pesos são baixados do Hugging Face no
primeiro uso e ficam em cache local.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreYOLO2b.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreYOLO2b.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TrueO objeto Results retornado é o mesmo que todas as famílias retornam, então
trocar por outro detector é uma mudança de uma linha. conf filtra pelo limiar
de confiança e iou pelo limiar de NMS, aplicados sobre as predições baseadas
em âncoras da cabeça region. Veja predição para fontes,
streaming e tratamento de resultados.
Validação
val() retorna um dicionário de chaves metrics/ cobrindo precisão, recall,
mAP 50 e mAP 50-95, medidos contra qualquer dataset no formato em que você
valida.
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO2b.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreYOLO2b.pt data=my-dataset.yamlExportação
| Tarefa | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX: compatível | Detection to TorchScript: compatível | Detection to ExecuTorch: compatível | Detection to TensorRT: compatível | Detection to OpenVINO: compatível | Detection to Paddle: incompatível | Detection to MNN: incompatível | Detection to RKNN: incompatível | Detection to ncnn: compatível | Detection to TFLite: incompatível | Detection to CoreML: incompatível | Detection to Core AI: compatível |
Um artefato exportado é carregado de volta por LibreYOLO() pela extensão do
arquivo, então um arquivo .onnx ou .engine se comporta como um checkpoint e
retorna o mesmo Results. Rodar o grafo em um runtime pelado, sem o LibreYOLO
instalado, também é suportado, mas aí o pré-processamento e o pós-processamento
ficam por sua conta.
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO2b.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreYOLO2b.pt format=onnxlibreyolo export model=LibreYOLO2b.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # A factory roteia pela extensão do arquivo, então um artefato exportado# carrega como qualquer checkpoint e retorna o mesmo objeto Results.model = LibreYOLO("LibreYOLO2b.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Checkpoints
Todos os arquivos de pesos publicados desta família.
| Arquivo | Entrada (px) | Licença dos pesos |
|---|---|---|
| Detection | ||
| LibreYOLO2t.pt | 416 | other |
| LibreYOLO2b.pt | 608 | other |
Todos os arquivos acima existem hoje na organização LibreYOLO e são baixados no primeiro uso.
Licenciamento
Confira a licença no repositório do Hugging Face correspondente aos pesos que você baixar. Cada checkpoint na organização LibreYOLO tem uma licença, e ela nem sempre é a mesma em toda a família. Esse repositório é a fonte oficial. O resumo abaixo descreve o que se aplicava na última verificação desta página.
Esta é uma descrição das licenças envolvidas, não uma orientação jurídica. Se a resposta tiver importância comercial, leia as licenças e procure sua própria assessoria.
- Trabalho original
- YOLOv2, Joseph Redmon
- Licença original
- Public domain (Darknet "YOLO LICENSE")
- Código-fonte original
- github.com/pjreddie/darknet
- Código do LibreYOLO
- MIT
- Pesos
- Public domain (Darknet "YOLO LICENSE"), republicado em huggingface.co/LibreYOLO
- Interpretação
- Darknet's bundled NOTICE quotes its own license in full: "Darknet is public domain. Do whatever you want with it." That covers both the architecture and the pretrained weights LibreYOLO converts from it, with no attribution requirement and no restriction on commercial use. LibreYOLO's own code around this architecture is MIT.