YOLOv1

YOLOv1はYOLOファミリーに名前を与えた2016年の初代検出器です。全結合ヘッドを持つ1つの畳み込みネットワークが、アンカーボックスを使わず、1回の処理ですべてのボックスとクラススコアを予測します。LibreYOLOはこれを凍結された推論専用の展示物として提供します。

タスク
detection
サイズ
t, b at 448 px
インストール
pip install libreyolo
サポートティア
ミュージアム、v以降。凍結された展示です。バグ修正のみ行います。
アップストリーム
Joseph RedmonのYOLOv1、Public domain (Darknet "YOLO LICENSE")。論文ソース
ライセンス
コード:MIT、重み:Public domain (Darknet "YOLO LICENSE")。商用利用

インストール

YOLOv1には基本パッケージ以外の追加パッケージは不要です。

bash
pip install libreyolo

推論

このファミリーは推論専用です。train()NotImplementedError を発生させるため、このページに「学習」セクションはありません。推論、検証、エクスポートにはすべて対応します。重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。

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

返される Results オブジェクトはすべてのファミリーで共通のため、別の検出器への置き換えは1行の変更で済みます。このファミリーには2つの固有事項があります。公開チェックポイントはCOCOではなくPascal VOC(2007+2012)で学習されているため、box.cls は80個のCOCOカテゴリではなく、20個のVOCカテゴリ(aeroplane、bicycle、bird、boat、bottle、bus、car、cat、chair、cow、diningtable、dog、horse、motorbike、person、pottedplant、sheep、sofa、train、tvmonitor)のインデックスです。また、全結合検出ヘッドは一度に1枚の画像だけを受け付けるため、ソース一覧は実際のバッチとして実行されず、ループで処理されます。ソース、ストリーミング、結果の処理については、推論を参照してください。

検証

val()metrics/ キーの辞書を返します。内容は適合率、再現率、mAP 50、mAP 50-95で、チェックポイントの学習に使用したものと同じVOC形式のラベル空間を持つデータセットに対して測定されます。

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

エクスポート

タスクONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection 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 を返します。LibreYOLOをインストールせず、素のランタイムでグラフを実行することもできますが、その場合は前処理と後処理を自分で実装します。

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO1b.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreYOLO1b.pt format=onnxlibreyolo export model=LibreYOLO1b.pt format=tensorrt half=True
エクスポートしたファイルを使う
from libreyolo import LibreYOLO, SAMPLE_IMAGE # ファクトリーはファイル接尾辞で振り分けるためエクスポート済み成果物も# チェックポイントと同様に読み込まれて同じResultsオブジェクトを返すmodel = LibreYOLO("LibreYOLO1b.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

チェックポイント

このファミリーで公開されているすべての重みファイルです。

ファイル入力(px)重みのライセンス
Detection
LibreYOLO1b.pt448other

上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。

ライセンス

ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。

これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。

原著作物
YOLOv1, Joseph Redmon
アップストリームのライセンス
Public domain (Darknet "YOLO LICENSE")
アップストリームのソース
github.com/pjreddie/darknet
LibreYOLOのコード
MIT
重み
Public domain (Darknet "YOLO LICENSE")、huggingface.co/LibreYOLOで再公開
解釈
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. One thing to know before deploying this checkpoint: it is trained on Pascal VOC 2007+2012, not COCO, so it detects and names the 20 VOC categories rather than the 80 COCO ones.

LibreYOLO v1.5.0で検証済みです。このページのサポート表、チェックポイント、ベンチマーク値は手作業で記述したものではなく、リリース済みライブラリと公開済みの重みから生成されています。