Faster R-CNN
Faster R-CNNはregion proposal networkから2段階分類器へ入力して物体を検出します。region proposalを独立した処理ではなく、同じ学習済みネットワークの一部にしたアーキテクチャです。LibreYOLOはtorchvisionの実装を物体検出向けに移植しています。
- タスク
- detection
- サイズ
- n, s, m, l at 320 to 800 px
- インストール
pip install libreyolo- サポートティア
- 推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
- ライセンス
- コード:BSD-3-Clause、重み:BSD-3-Clause。商用利用
インストール
Faster R-CNNに任意の追加パッケージは必要ありません。インポートするものはすべて基本 インストールに含まれます。
pip install libreyolo推論
重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。
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)libreyolo predict model=LibreFasterRCNNl.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True返されるResultsオブジェクトはすべてのファミリーで共通のため、別の検出器への切り替えは
1行の変更だけで済みます。confとiouは信頼度とNMSのしきい値を設定します。Faster R-CNNは
queryベースの検出器と異なり、アップストリームのNMS処理を維持します。入力ソース、
ストリーミング、結果の処理については推論を参照してください。
バリアント
サイズは4種類で、同じ構成を拡大縮小したものではなく、それぞれ異なるtorchvision構成です。
nは320 px入力のMobileNetV3-Large、sは800 px入力の同じバックボーン、mはfeature pyramidを
持つResNet-50です。lはv2改訂版で、mのヘッドをより深いregion proposalヘッドと4畳み込みの
ボックスヘッドに置き換えます。nとsは精度と軽量なバックボーンのトレードオフです。
検証
val()は、学習に使った形式の任意のデータセットに対して測定した適合率、再現率、mAP 50、
mAP 50-95を含むmetrics/キーの辞書を返します。
from libreyolo import LibreYOLO model = LibreYOLO("LibreFasterRCNNl.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreFasterRCNNl.pt data=my-dataset.yamlエクスポート
| タスク | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX:対応 | Detection to TorchScript:非対応 | Detection to ExecuTorch:非対応 | Detection to TensorRT:非対応 | Detection to OpenVINO:非対応 | Detection to Paddle:非対応 | Detection to MNN:非対応 | Detection to RKNN:非対応 | Detection to ncnn:非対応 | Detection to TFLite:非対応 | Detection to CoreML:非対応 | Detection to Core AI:非対応 |
Faster R-CNNはバッチサイズ1でONNXだけにエクスポートできます。エクスポートしたグラフは
アップストリームのリサイズ処理を内部に維持するため、LibreYOLOは渡された値にかかわらず
dynamic=Trueを強制します。これにより、正方形ではない入力ソースでもグラフが有効に保たれます。
エクスポートした.onnxファイルは、ファイル接尾辞に基づいてLibreYOLO()から再読み込みされ、
同じResultsを返します。
from libreyolo import LibreYOLO model = LibreYOLO("LibreFasterRCNNl.pt")model.export(format="onnx", imgsz=800)libreyolo export model=LibreFasterRCNNl.pt format=onnx imgsz=800from libreyolo import LibreYOLO, SAMPLE_IMAGE # ファクトリがファイル接尾辞で振り分けるため、エクスポートした成果物も# 通常のチェックポイントと同様に読み込まれ、同じResultsオブジェクトを返すmodel = LibreYOLO("LibreFasterRCNNl.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)チェックポイント
このファミリーで公開されているすべての重みファイルです。
| ファイル | 入力(px) | 重みのライセンス |
|---|---|---|
| Detection | ||
| LibreFasterRCNNn.pt | 320 | bsd-3-clause |
| LibreFasterRCNNs.pt | 800 | bsd-3-clause |
| LibreFasterRCNNm.pt | 800 | bsd-3-clause |
| LibreFasterRCNNl.pt | 800 | bsd-3-clause |
上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。
ライセンス
ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。
これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。
- 原著作物
- Faster R-CNN, PyTorch
- アップストリームのライセンス
- BSD-3-Clause
- アップストリームのソース
- github.com/pytorch/vision
- LibreYOLOのコード
- MIT
- 重み
- BSD-3-Clause、huggingface.co/LibreYOLOで再公開
- 解釈
- 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.
引用
@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}
}著者によるgithub.com/rbgirshick/py-faster-rcnn#citing-faster-r-cnnの引用ブロックからコピーしています。