Kosmos-2
Kosmos-2 es el modelo de grounding de Microsoft: genera una descripción de la imagen y después localiza con una caja cada sintagma nominal de esa descripción. LibreYOLO lo envuelve como detector de objetos de vocabulario abierto: la lista de clases se indica en el momento de predecir.
- Tareas
- detection
- Tamaños
- 224 at 224 px
- Instalación
pip install libreyolo- Nivel de compatibilidad
- Nivel hermano, desde v. Una superficie de producto independiente con su propia factoría y su propio contrato.
- Licencias
- Código MIT, pesos MIT. Uso comercial
Instalación
Kosmos-2 pertenece al nivel VLM-como-detector de LibreYOLO, una superficie de
producto separada de las familias basadas en checkpoints y con su propia
factoría. Necesita el extra vlm.
pip install "libreyolo[vlm]"Predicción
Los pesos se descargan de Hugging Face en el primer uso y se guardan en la
caché local. LibreYOLO carga directamente el repositorio
microsoft/kosmos-2-patch14-224 de la propia Microsoft; a diferencia de
Florence-2, aquí no hace falta ninguna resubida de la comunidad.
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"]) # Cualquier fuente que acepta la biblioteca: archivo, carpeta, URL,# índice de webcam, stream RTSP o una lista .streamsfor result in model.predict("clip.mp4", stream=True, save=True): print(len(result.boxes))Esta familia se carga con la factoría LibreVLM(), no con LibreYOLO(): las
familias VLM no declaran ningún cargador de checkpoints, así que el enrutado por
sufijo de archivo que se describe en otras páginas de modelos no se aplica aquí.
set_classes() define el vocabulario que se le pide a Kosmos-2 que encuentre;
es persistente, así que sigue vigente en todas las llamadas posteriores a
predict()/track() hasta que vuelvas a definirlo. Kosmos-2 ancla sintagmas
nominales en lugar de emparejar una etiqueta de forma exacta, así que el wrapper
de LibreYOLO acepta una coincidencia parcial: una clase llamada "boat" también
coincide con un sintagma generado como "the boats". Todas las detecciones llevan
la misma confianza de relleno, así que filtrar por conf es todo o nada en
lugar de una ordenación, y aquí iou no tiene efecto, ya que el wrapper
construye la lista de detecciones directamente a partir de las entidades
ancladas, sin ningún paso de deduplicación. chat() lanza
NotImplementedError, porque Kosmos-2 se controla con un prompt <grounding> y
no con una plantilla de chat. La CLI de LibreYOLO no cubre este nivel: no existe
una forma libreyolo predict model=... para él. Consulta
predicción para fuentes, streaming y manejo de resultados.
Variantes
Un solo tamaño: kosmos-2-patch14-224, a 224 px, que se carga como
LibreVLM("kosmos-2"). Es un modelo de la época de 2023, y el propio wrapper de
LibreYOLO señala que su grounding es más grueso que el de los detectores más
recientes de este nivel.
LibreYOLO no entrena, valida ni exporta Kosmos-2: train(), val() y
export() lanzan NotImplementedError en todas las familias de este nivel
(consulta el nivel de soporte de arriba). Haz fine-tuning de Kosmos-2 upstream y
carga los pesos resultantes si necesitas un vocabulario personalizado integrado;
revisa a ojo la salida de predict() en lugar de recurrir a una pasada de
validación al estilo COCO, ya que todas las detecciones llevan la misma
confianza de relleno.
Licencia
Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.
Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.
- Trabajo original
- Kosmos-2, Microsoft
- Licencia del proyecto original
- MIT
- Fuente del proyecto original
- github.com/microsoft/unilm/tree/master/kosmos-2
- Código de LibreYOLO
- MIT
- Pesos
- MIT, distribuidos por sus autores. LibreYOLO no los aloja ni los replica.
- Interpretación
- 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.
Cita
@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}
}Copiado del bloque de cita de los autores en github.com/microsoft/unilm/blob/master/kosmos-2/README.md#citation.