Kosmos-2
Kosmos-2はMicrosoftのグラウンディングモデルです。画像にキャプションを付け、そのキャプション内の各名詞句をボックスで特定します。LibreYOLOはこれをオープンボキャブラリ物体検出器としてラップします。推論時にクラス一覧を指定してください。
- タスク
- detection
- サイズ
- 224 at 224 px
- インストール
pip install libreyolo- サポートティア
- 姉妹ティア、v以降。独自のファクトリと契約を持つ、独立した製品インターフェースです。
- ライセンス
- コード:MIT、重み:MIT。商用利用
インストール
Kosmos-2はLibreYOLOの検出器として使うVLM階層に属します。これは独自のファクトリーを持ち、チェックポイントベースのファミリーとは別の製品面です。vlm 追加パッケージが必要です。
pip install "libreyolo[vlm]"推論
重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。LibreYOLOはMicrosoft独自の microsoft/kosmos-2-patch14-224 リポジトリを直接読み込みます。Florence-2とは異なり、コミュニティによる再アップロードは不要です。
from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("kosmos-2")model.set_classes(["boat", "person"])result = model.predict(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreVLM model = LibreVLM("kosmos-2")model.set_classes(["boat", "person"]) # ライブラリが受け付ける任意のソース ファイル フォルダー URL Webカメラ番号# RTSPストリームまたは.streams一覧for result in model.predict("clip.mp4", stream=True, save=True): print(len(result.boxes))このファミリーは LibreYOLO() ではなく、LibreVLM() ファクトリーから読み込みます。VLMファミリーはチェックポイントローダーを宣言しないため、他のモデルページで説明しているファイル接尾辞による振り分けはここでは適用されません。set_classes() はKosmos-2に探させるボキャブラリを設定します。この設定は維持されるため、再設定するまで、その後のすべての predict() または track() 呼び出しに適用されます。Kosmos-2はラベルを正確に照合するのではなく名詞句をグラウンディングするため、LibreYOLOのラッパーは部分一致を受け付けます。"boat" というクラス名は、生成された「the boats」のような句にも一致します。すべての検出結果に同じ仮信頼度が設定されるため、conf によるフィルタリングは順位付けではなく、すべてを残すかすべてを除外するかのどちらかです。また、iou はここでは効果がありません。ラッパーはグラウンディング済みエンティティから、重複除去を行わずに検出一覧を直接構築するためです。Kosmos-2はチャットテンプレートではなく <grounding> プロンプトで動作するため、chat() は NotImplementedError を発生させます。LibreYOLOのCLIはこの階層に対応しておらず、libreyolo predict model=... 形式はありません。ソース、ストリーミング、結果の処理については、推論を参照してください。
バリアント
サイズは224 pxの kosmos-2-patch14-224 1つで、LibreVLM("kosmos-2") で読み込みます。これは2023年頃のモデルであり、LibreYOLO独自のラッパーでは、この階層の新しい検出器よりグラウンディングが粗いと記載されています。
LibreYOLOはKosmos-2の学習、検証、エクスポートを行いません。この階層のすべてのファミリーで、train()、val()、export() は NotImplementedError を発生させます(上のサポート階層を参照)。組み込みのカスタムボキャブラリが必要な場合は、アップストリームでKosmos-2をファインチューニングし、得られた重みを読み込んでください。すべての検出結果が同じ仮信頼度を持つため、COCO形式の検証を行う代わりに、predict() の出力を目視で確認してください。
ライセンス
ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。
これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。
- 原著作物
- Kosmos-2, Microsoft
- アップストリームのライセンス
- MIT
- アップストリームのソース
- github.com/microsoft/unilm/tree/master/kosmos-2
- LibreYOLOのコード
- MIT
- 重み
- MIT、著者が配布。LibreYOLOではホストもミラーもしていません。
- 解釈
- MIT is a permissive license, so these weights can be used in commercial and closed-source products, provided the copyright notice and license text travel with any copy you redistribute. LibreYOLO downloads Microsoft's own microsoft/kosmos-2-patch14-224 repository directly; unlike Florence-2, no community re-upload is needed for it to load on current transformers.
引用
@article{kosmos-2,
title={Kosmos-2: Grounding Multimodal Large Language Models to the World},
author={Zhiliang Peng and Wenhui Wang and Li Dong and Yaru Hao and Shaohan Huang and Shuming Ma and Furu Wei},
journal={ArXiv},
year={2023},
volume={abs/2306}
}著者によるgithub.com/microsoft/unilm/blob/master/kosmos-2/README.md#citationの引用ブロックからコピーしています。