DETR
DETRは元祖detection transformerで、アンカーや密なグリッドの代わりにHungarian matchingを行うtransformerデコーダーで固定数の物体を予測します。LibreYOLOは物体検出向けに4サイズを推論専用で提供します。
- タスク
- detection
- サイズ
- r50, r50dc5, r101, r101dc5 at 800 px
- インストール
pip install libreyolo- サポートティア
- 推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
- ライセンス
- コード:Apache-2.0、重み:Apache-2.0。商用利用
インストール
DETRに任意の追加パッケージは必要ありません。インポートするものはすべて基本インストールに含まれます。
pip install libreyolo推論
重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDETRr50.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreDETRr50.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True返されるResultsオブジェクトはすべてのファミリーで共通のため、別の検出器への切り替えは
1行の変更だけで済みます。confとmax_detはqueryの選択を絞り込みます。iouはAPIの
一貫性のため受け付けますが、効果はありません。デコーダーがNMS処理のないset predictorである
ためです。入力ソース、ストリーミング、結果の処理については推論を参照してください。
LibreYOLOのDETRは推論専用です。アップストリームはHungarian matchingを使って500エポック
学習しますが、そのレシピはここでは未実装です。そのためtrain()はNotImplementedErrorを
発生させます。
バリアント
4個のチェックポイントは、ResNet-50またはResNet-101という2種類のバックボーン深度と、任意の dilated C5段階を組み合わせます。DC5バリアントはバックボーンの最終段階でさらにダウンサンプリング せずフル解像度を維持するため、デコーダーは同じ入力サイズからより細かい特徴マップを読み取ります。 4種類すべてが100個の学習済みobject queryと6層のtransformer encoder-decoderを共有し、同じ 入力解像度で動作します。
検証
val()は、学習に使った形式の任意のデータセットに対して測定した適合率、再現率、mAP 50、
mAP 50-95を含むmetrics/キーの辞書を返します。
from libreyolo import LibreYOLO model = LibreYOLO("LibreDETRr50.pt") # val()はオブジェクトではなく通常のdictを返すmetrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])print(metrics["metrics/precision"], metrics["metrics/recall"])libreyolo val model=LibreDETRr50.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:非対応 |
エクスポートした成果物はファイル接尾辞に基づいてLibreYOLO()から再読み込みされます。そのため、
.onnxまたは.engineファイルはチェックポイントと同様に動作し、同じResultsを返します。
エクスポートには各形式が受け付ける引数の一覧があります。
from libreyolo import LibreYOLO model = LibreYOLO("LibreDETRr50.pt")model.export(format="onnx", imgsz=800)model.export(format="tensorrt", imgsz=800, half=True)libreyolo export model=LibreDETRr50.pt format=onnx imgsz=800libreyolo export model=LibreDETRr50.pt format=tensorrt imgsz=800 half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # ファクトリがファイル接尾辞で振り分けるため、エクスポートした成果物も# 通常のチェックポイントと同様に読み込まれ、同じResultsオブジェクトを返すmodel = LibreYOLO("LibreDETRr50.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)チェックポイント
このファミリーで公開されているすべての重みファイルです。
| ファイル | 入力(px) | 重みのライセンス |
|---|---|---|
| Detection | ||
| LibreDETRr50dc5.pt | 800 | apache-2.0 |
| LibreDETRr50.pt | 800 | apache-2.0 |
| LibreDETRr101dc5.pt | 800 | apache-2.0 |
| LibreDETRr101.pt | 800 | apache-2.0 |
上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。
ライセンス
ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。
これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。
- 原著作物
- DETR, Meta AI (FAIR)
- アップストリームのライセンス
- Apache-2.0
- アップストリームのソース
- github.com/facebookresearch/detr
- LibreYOLOのコード
- MIT
- 重み
- Apache-2.0、huggingface.co/LibreYOLOで再公開
- 解釈
- Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. It places no obligation on your own application code, and weights you train yourself on your own data are yours. The four checkpoints are the official releases linked from the Apache-2.0 repository's model zoo, and the official Hugging Face DETR card independently declares the same license.