Faster R-CNN

Faster R-CNN détecte les objets avec un réseau de propositions de régions qui alimente un classifieur à deux étages, l'architecture qui a fait entrer les propositions de régions dans le même réseau entraîné au lieu d'en faire une étape séparée. LibreYOLO porte l'implémentation torchvision pour la détection.

Tâches
detection
Tailles
n, s, m, l at 320 to 800 px
Installer
pip install libreyolo
Niveau de support
Inférence uniquement, depuis v. Prédiction, validation et export uniquement. Les fonctionnalités d'entraînement ne s'appliquent pas.
Origine
Faster R-CNN par PyTorch, BSD-3-Clause. Article, source
Licences
Code BSD-3-Clause, poids BSD-3-Clause. Usage commercial

Installation

Faster R-CNN ne demande aucun extra optionnel. Tout ce qu'il importe fait partie de l'installation de base.

bash
pip install libreyolo

Prédire

Les poids sont téléchargés depuis Hugging Face au premier usage, puis mis en cache localement.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreFasterRCNNl.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreFasterRCNNl.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

L'objet Results renvoyé est celui que renvoie chaque famille, si bien que passer à un autre détecteur ne demande qu'une ligne. conf et iou fixent les seuils de confiance et de NMS ; Faster R-CNN conserve l'étape de NMS d'origine, contrairement à un détecteur à base de requêtes. Voir la prédiction pour les sources, le streaming et le traitement des résultats.

Variantes

Quatre tailles, chacune une configuration torchvision différente plutôt qu'une version redimensionnée de la même : n est MobileNetV3-Large avec une entrée de 320 px, s est le même backbone à 800 px, m est ResNet-50 avec une pyramide de caractéristiques, et l est la révision v2, avec une tête de propositions de régions plus profonde et une tête de boîtes à quatre convolutions à la place de celle de m. n et s échangent de l'exactitude contre un backbone plus léger.

Valider

val() renvoie un dictionnaire de clés metrics/ couvrant la précision, le rappel, la mAP 50 et la mAP 50-95, mesurées sur n'importe quel dataset au format avec lequel vous avez entraîné.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreFasterRCNNl.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])
CLI
libreyolo val model=LibreFasterRCNNl.pt data=my-dataset.yaml

Exporter

TâcheONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX : pris en chargeDetection to TorchScript : non pris en chargeDetection to ExecuTorch : non pris en chargeDetection to TensorRT : non pris en chargeDetection to OpenVINO : non pris en chargeDetection to Paddle : non pris en chargeDetection to MNN : non pris en chargeDetection to RKNN : non pris en chargeDetection to ncnn : non pris en chargeDetection to TFLite : non pris en chargeDetection to CoreML : non pris en chargeDetection to Core AI : non pris en charge

Faster R-CNN n'exporte que vers ONNX, avec une taille de batch de 1. Le graphe exporté conserve en son sein l'étape de redimensionnement d'origine, si bien que LibreYOLO force dynamic=True quelle que soit la valeur passée, afin de garder le graphe valide pour des sources qui ne sont pas carrées. Un fichier .onnx exporté se recharge via LibreYOLO() selon son extension de fichier et renvoie le même Results.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreFasterRCNNl.pt")model.export(format="onnx", imgsz=800)
CLI
libreyolo export model=LibreFasterRCNNl.pt format=onnx imgsz=800
Utiliser le fichier exporté
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factory s'appuie sur l'extension du fichier, donc un artefact# exporté se charge comme n'importe quel checkpoint et renvoie le# même objet Results.model = LibreYOLO("LibreFasterRCNNl.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Checkpoints

Tous les fichiers de poids publiés de cette famille.

FichierEntrée (px)Licence des poids
Detection
LibreFasterRCNNn.pt320bsd-3-clause
LibreFasterRCNNs.pt800bsd-3-clause
LibreFasterRCNNm.pt800bsd-3-clause
LibreFasterRCNNl.pt800bsd-3-clause

Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.

Licence

Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.

Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.

Travail d'origine
Faster R-CNN, PyTorch
Licence du projet d'origine
BSD-3-Clause
Source du projet d'origine
github.com/pytorch/vision
Code de LibreYOLO
MIT
Poids
BSD-3-Clause, republiés sur huggingface.co/LibreYOLO
Interprétation
BSD-3-Clause is a permissive license, so this code can be used in commercial and closed-source products with no obligation on your own application code. It asks only that you keep the copyright notice and disclaimer with any copy you redistribute, and it carries no patent grant. The four published checkpoints used for parity testing are not distributed in the LibreYOLO source tree: torchvision's own documentation notes that a pretrained model's terms may depend on its training data, so each Hugging Face mirror ships the BSD text on that implied basis and repeats the caveat rather than issuing an explicit checkpoint-specific grant.

Citation

@inproceedings{renNIPS15fasterrcnn,
    Author = {Shaoqing Ren and Kaiming He and Ross Girshick and Jian Sun},
    Title = {Faster {R-CNN}: Towards Real-Time Object Detection
             with Region Proposal Networks},
    Booktitle = {Advances in Neural Information Processing Systems ({NIPS})},
    Year = {2015}
}

Copié depuis le bloc de citation des auteurs sur github.com/rbgirshick/py-faster-rcnn#citing-faster-r-cnn.

Vérifié avec LibreYOLO v1.5.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.