查看 Markdown

Kosmos-2

Kosmos-2 是微软的视觉定位(grounding)模型:它先给图像生成一段描述,再用检测框把描述里的每个名词短语定位出来。LibreYOLO 把它包装成一个开放词汇目标检测器:在预测时提供类别列表即可。

任务
detection
尺寸
224 at 224 px
安装
pip install libreyolo
支持层级
兄弟层级,自 v 起。一个独立的产品面,有自己的工厂和契约。
上游
Kosmos-2,由 Microsoft 发布,采用 MIT 许可。论文源码
许可
代码采用 MIT,权重采用 MIT。商用

安装

Kosmos-2 属于 LibreYOLO 的 VLM-as-detector 这一档,是和基于检查点(checkpoint) 的家族分开的另一块产品面,有自己的工厂函数。它需要 vlm 这个 extra。

bash
pip install "libreyolo[vlm]"

预测

权重在首次使用时从 Hugging Face 下载,并缓存在本地。LibreYOLO 直接加载微软自己的 microsoft/kosmos-2-patch14-224 仓库;和 Florence-2 不同,这里不需要社区的二次 上传。

Python
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、摄像头索引、# RTSP 流,或者一个 .streams 列表for result in model.predict("clip.mp4", stream=True, save=True):    print(len(result.boxes))

这个家族通过 LibreVLM() 工厂函数加载,而不是 LibreYOLO():VLM 家族没有声明 检查点加载器,所以其他模型页上讲的按文件后缀分发在这里不适用。set_classes() 设定要求 Kosmos-2 去找的词汇;它是粘性的,会在之后每一次 predict()/track() 调用中持续生效,直到你再次设定。Kosmos-2 定位的是名词短语,而不是精确匹配一个 标签,所以 LibreYOLO 的包装层接受部分匹配:一个名为 "boat" 的类别也能匹配到 「the boats」这样生成出来的短语。每个检测结果带的都是同一个占位置信度,所以 conf 过滤是全有或全无,而不是一个排序;iou 在这里也没有作用,因为包装层直接用定位到 的实体构建检测列表,没有去重这一步。chat() 会抛出 NotImplementedError,因为 驱动 Kosmos-2 的是一个 <grounding> 提示词,而不是聊天模板。LibreYOLO 的 CLI 不覆盖这一档:没有对应的 libreyolo predict model=... 形式。输入源、流式处理和 结果处理见预测

变体

只有一个尺寸:kosmos-2-patch14-224,输入 224 px,用 LibreVLM("kosmos-2") 加载。它是 2023 年前后的模型,LibreYOLO 自己的包装层也注明,它的定位比这一档里 更新的那些检测器要粗。

LibreYOLO 不训练、不验证、也不导出 Kosmos-2:对这一档里的每个家族,train()val()export() 都会抛出 NotImplementedError(见上面的支持档位)。如果 你需要把自定义词汇固化进模型,请在上游微调 Kosmos-2,再加载得到的权重;由于每个 检测结果带的都是同一个占位置信度,用眼睛看 predict() 的输出,而不是跑一遍 COCO 式的验证。

许可

请检查你所下载的具体权重在 Hugging Face 仓库中的许可。LibreYOLO 组织里的每个检查点都附有许可,同一家族内也不一定相同。该仓库是权威来源;以下摘要说明本页上次验证时适用的情况。

这里只说明涉及的许可证,不构成法律意见。如果答案对商用很重要,请自行阅读许可证并咨询法律顾问。

原始工作
Kosmos-2, Microsoft
上游许可
MIT
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 上提供的引用块。

已针对 LibreYOLO v1.5.0 验证。本页的支持表、检查点和基准测试数据由已发布的库和权重生成,并非手工编写。