LingBot-Vision
LingBot-Visionは、密な空間認識に向けた境界中心のmasked modelingで自己教師あり学習された視覚Transformerバックボーンのファミリーで、Robbyantが公開しています。LibreYOLOはバックボーンを密出力ヘッドと組み合わせ、セマンティックセグメンテーションという1つのタスクでサポートします。
- タスク
- semantic
- サイズ
- インストール
pip install libreyolo- サポートティア
- サポート対象、v以降。補助的な学習可能モデル:CIで正常な状態を維持し、機能は機会に応じて追加されます。
- ライセンス
- コード:Apache-2.0、重み:Apache-2.0。商用利用
インストール
LingBot-Visionに任意の追加パッケージは必要ありません。インポートするものはすべて基本インストールに含まれています。
pip install libreyolo推論
重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreLingBotVisions-sem.pt")result = model(SAMPLE_IMAGE, save=True) mask = result.semantic_maskprint(mask.data.shape, mask.classes)libreyolo predict model=LibreLingBotVisions-sem.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Trueresult.semantic_mask は密なクラスマップを保持します。.data は元画像サイズのクラスIDを持つ (H, W) テンソルで、.classes は実際に存在するクラスIDを列挙します。インスタンスごとの検出結果がないため、result.boxes は None です。conf と iou はAPIの一貫性のために受け付けますが、出力は変更しません。モデルが絞り込み対象の検出結果ではなく、pixelごとに1つのクラスを返すためです。ソース、ストリーミング、結果の処理については推論を参照してください。
バリアント
公開済みサイズはs、b、lの3つで、1.1BパラメータのViT-g/16 teacherから蒸留されています。サイズ g のteacher自体もLibreYOLOで読み込み、ファインチューニングできますが、LibreYOLOは独自の g チェックポイントをホストしません。
| ファイル | 入力(px) | 重みのライセンス |
|---|---|---|
| semantic | ||
| LibreLingBotVisions-sem.pt | apache-2.0 | |
| LibreLingBotVisionb-sem.pt | apache-2.0 | |
| LibreLingBotVisionl-sem.pt | apache-2.0 | |
上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。
学習
train() は公開済みチェックポイントをファインチューニングします。デフォルトの手順はアップストリームの報告にあるlinear probeです。ViTバックボーンを凍結して1x1 dense headだけを学習し、上記のLibreYOLOホストの重みが生成された方法に合わせます。ネットワーク全体をファインチューニングするには freeze_backbone=False を渡し、それに応じて lr0 を下げることを想定してください。
from libreyolo import LibreYOLO # アップストリームの評価手順に合わせ、デフォルトでバックボーンを凍結# 学習するのは1x1 dense headだけmodel = LibreYOLO("LibreLingBotVisions-sem.pt")model.train(data="my-dataset.yaml", epochs=20, imgsz=512, batch=16)libreyolo train model=LibreLingBotVisions-sem.pt data=my-dataset.yaml \ epochs=20 imgsz=512 batch=16from libreyolo import LibreYOLO model = LibreYOLO("LibreLingBotVisions-sem.pt")model.train( data="my-dataset.yaml", epochs=20, imgsz=512, batch=16, freeze_backbone=False,)libreyolo train model=LibreLingBotVisions-sem.pt data=my-dataset.yaml \ epochs=20 device=0,1 batch=32データセット、データ拡張、マルチGPU、loggerについては学習を参照してください。
検証
val() は、学習に使った形式の任意のデータセットに対して測定したmIoUとpixel accuracyを含む metrics/ キーの辞書を返します。
from libreyolo import LibreYOLO model = LibreYOLO("LibreLingBotVisions-sem.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mIoU"])print(metrics["metrics/pixel_accuracy"])libreyolo val model=LibreLingBotVisions-sem.pt data=my-dataset.yamlエクスポート
| タスク | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| semantic | semantic to ONNX:対応 | semantic to TorchScript:対応 | semantic to ExecuTorch:対応 | semantic to TensorRT:対応 | semantic to OpenVINO:対応 | semantic to Paddle:非対応 | semantic to MNN:非対応 | semantic to RKNN:非対応 | semantic to ncnn:非対応 | semantic to TFLite:非対応 | semantic to CoreML:非対応 | semantic to Core AI:対応 |
エクスポート済み成果物はファイル接尾辞に基づいて LibreYOLO() から再度読み込めます。そのため、.onnx または .engine ファイルはチェックポイントと同様に動作し、同じ Results を返します。エクスポートには、すべての形式で受け付ける引数が記載されています。
from libreyolo import LibreYOLO model = LibreYOLO("LibreLingBotVisions-sem.pt")model.export(format="onnx", imgsz=512)model.export(format="coreai", imgsz=512)libreyolo export model=LibreLingBotVisions-sem.pt format=onnx imgsz=512from libreyolo import LibreYOLO, SAMPLE_IMAGE # ファクトリーはファイル接尾辞で経路を選ぶため、エクスポート済み成果物も# 通常のチェックポイントと同様に読み込まれ、同じResultsオブジェクトを返すmodel = LibreYOLO("LibreLingBotVisions-sem.onnx")result = model(SAMPLE_IMAGE) print(result.semantic_mask.data.shape)チェックポイント
このファミリーで公開されているすべての重みファイルです。
| ファイル | 入力(px) | 重みのライセンス |
|---|---|---|
| semantic | ||
| LibreLingBotVisions-sem.pt | apache-2.0 | |
| LibreLingBotVisionb-sem.pt | apache-2.0 | |
| LibreLingBotVisionl-sem.pt | apache-2.0 | |
上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。
ライセンス
ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。
これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。
- 原著作物
- LingBot-Vision, Robbyant (Ant Group)
- アップストリームのライセンス
- Apache-2.0
- アップストリームのソース
- github.com/robbyant/lingbot-vision
- 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. The LibreYOLO-hosted checkpoints combine Robbyant's Apache-2.0 backbone weights with a dense segmentation head LibreYOLO trained itself, so the whole checkpoint file carries the same permissive terms end to end.
アップストリームのリリースでは、このViTをMeta AIが公開したDINOv2・DINOv3アーキテクチャに基づくものと説明しています。Robbyantは実装をApache-2.0で配布しており、このLibreYOLO移植はRobbyantリポジトリだけから行われ、MetaのDINOv2またはDINOv3コードからは行われていません。
引用
@article{lingbot-vision2026,
title={Vision Pretraining for Dense Spatial Perception},
author={Fu, Zelin and Tan, Bin and Sun, Changjiang and Liu, Shaohui and Zheng, Kecheng and Xu, Yinghao and Zhu, Xing and Shen, Yujun and Xue, Nan},
journal={arXiv preprint arXiv:2607.05247},
year={2026}
}著者によるgithub.com/robbyant/lingbot-vision#-citationの引用ブロックからコピーしています。