Florence-2

Florence-2 es el modelo fundacional de visión de Microsoft, que se controla con un token de tarea en lugar de pasar por una cabeza de detección fija. 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
base, large at 768 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.
Proyecto original
Florence-2 de Microsoft, MIT. Artículo, fuente
Licencias
Código MIT, pesos MIT. Uso comercial

Instalación

Florence-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.

bash
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 descarga la resubida del checkpoint hecha por florence-community en lugar del repositorio original microsoft/Florence-2-*; consulta Licencia para saber por qué.

Python
from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("florence-2-base")model.set_classes(["car", "person", "traffic light"])result = model.predict(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
Vídeo
from libreyolo import LibreVLM model = LibreVLM("florence-2-base")model.set_classes(["car", "person", "traffic light"]) # 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 Florence-2 que encuentre en la imagen; es persistente, así que sigue vigente en todas las llamadas posteriores a predict()/track() hasta que vuelvas a definirlo. El objeto Results devuelto lleva boxes con la misma forma que cualquier otra familia, pero 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 iou no tiene efecto: el wrapper de Florence-2 construye la lista de detecciones directamente a partir de la salida parseada del token de tarea, sin ningún paso de deduplicación. Aquí chat() lanza NotImplementedError, porque Florence-2 se controla con el token de tarea <OPEN_VOCABULARY_DETECTION> 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

Dos tamaños: Florence-2-base y Florence-2-large, ambos a 768 px, que se cargan como LibreVLM("florence-2-base") o LibreVLM("florence-2-large"). LibreYOLO no ha publicado ningún benchmark que compare la precisión entre ellos.

LibreYOLO no entrena, valida ni exporta Florence-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 Florence-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
Florence-2, Microsoft
Licencia del proyecto original
MIT
Fuente del proyecto original
huggingface.co/microsoft/Florence-2-large
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 the florence-community re-upload of the checkpoint (florence-community/Florence-2-base and florence-community/Florence-2-large) rather than the original microsoft/Florence-2-* repositories, because those ship with custom remote code that no longer loads on current transformers releases. florence-community republishes the same weights through the native Florence2ForConditionalGeneration class, also under MIT, so nothing about the license changes.

Cita

@article{xiao2023florence,
  title={Florence-2: Advancing a unified representation for a variety of vision tasks},
  author={Xiao, Bin and Wu, Haiping and Xu, Weijian and Dai, Xiyang and Hu, Houdong and Lu, Yumao and Zeng, Michael and Liu, Ce and Yuan, Lu},
  journal={arXiv preprint arXiv:2311.06242},
  year={2023}
}

Copiado del bloque de cita de los autores en huggingface.co/microsoft/Florence-2-large#bibtex.

Verificado con LibreYOLO v1.5.0. Las tablas de compatibilidad, los checkpoints y las cifras de rendimiento de esta página se generan a partir de la biblioteca publicada y los pesos publicados; no se escriben a mano.