SenseNova-Vision
SenseNova-Vision es un modelo multimodal unificado que plantea las tareas de visión como generación guiada por prompt sobre un decodificador compartido: las cajas, los puntos, los keypoints y las palabras de OCR salen como texto etiquetado, y los mapas de profundidad, de máscara y panópticos salen como imágenes que renderiza un decodificador. LibreYOLO lo carga a través de LibreVLM y admite siete tareas desde un único checkpoint de 7B.
- Tareas
- detection, instance segmentation, panoptic, pose, point, depth, ocr
- Tamaños
- 7b at 1024 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
- SenseNova-Vision de SenseTime (OpenSenseNova), Apache-2.0 (code); CC BY-NC 4.0 (weights). Artículo, fuente
- Licencias
- Código Apache-2.0, pesos Apache-2.0 (code); CC BY-NC 4.0 (weights). Uso comercial
Instalación
SenseNova-Vision necesita su propio extra, que arrastra accelerate para el dispatch de modelos grandes que requiere este checkpoint y, en plataformas que no son macOS, bitsandbytes para la carga en 4 bits.
pip install "libreyolo[sensenova]"El checkpoint está replicado en Hugging Face bajo la organización propia de LibreYOLO y se descarga automáticamente en el primer uso; es CC BY-NC 4.0, solo para uso no comercial, y el cargador imprime ese aviso antes de cada descarga automática. Consulta Licencia más abajo.
Predicción
from libreyolo import LibreVLM model = LibreVLM("sensenova-vision", task="detect")model.set_classes(["bird", "boat"])result = model.predict("image.jpg")print(result.boxes.xyxy) # set_task() cambia de tarea sobre el mismo modelo ya cargado.model.set_task("depth")result = model.predict("image.jpg")depth = result.depth_map.datafrom libreyolo import LibreVLM model = LibreVLM("sensenova-vision", task="segment")# La segmentación es referring: necesita una frase objetivo, no una lista de clases.model.set_classes(["the person furthest to the right"])result = model.predict("street.jpg")mask = result.masks.data[0] model.set_task("panoptic")# Sin vocabulario propio, la panóptica recurre a las categorías panópticas# de COCO con las que se ajustó el checkpoint.result = model.predict("street.jpg")segment_map = result.panoptic.datafor segment in result.panoptic.segments_info: print(segment)from libreyolo import LibreVLM model = LibreVLM("sensenova-vision", task="point")model.set_classes(["screw"])result = model.predict("board.jpg")print(result.points.xy) # Sin vocabulario definido, pose recurre a "person".model.set_task("pose")result = model.predict("gym.jpg")print(result.boxes.xyxy, result.keypoints.data.shape) model.set_task("ocr")result = model.predict("sign.jpg")print(result.ocr.texts)Cada predicción es un decodificado por difusión sobre el backbone Bagel-MoT compartido, así que es un modelo de capacidades y no de tiempo real: espera una latencia por imagen bastante más alta que la de un detector o un segmentador hechos a medida. dtype="auto" (el valor por defecto) carga bf16 en una GPU con memoria suficiente y recurre a la cuantización NF4 de 4 bits en el resto de casos, lo que necesita bitsandbytes; pasa dtype="bf16" para forzar la precisión completa en una GPU lo bastante grande. noise_seed=42 en la construcción fija la semilla del muestreador de difusión para obtener salidas densas reproducibles; pasa noise_seed=None para desactivar la semilla.
Las siete tareas comparten un único checkpoint cargado: set_task() alterna entre ellas sin volver a cargarlo. set_classes() define el vocabulario activo; la detección, los puntos, la pose y la panóptica aceptan una lista de clases, mientras que la segmentación es referring y necesita exactamente la frase que hay que aislar. Cada tarea devuelve el objeto Results estándar con un contenido distinto relleno: boxes para detect, points para point, boxes y keypoints para pose, ocr para OCR, depth_map para depth, masks para segment y panoptic (con segments_info) para panoptic. Consulta predicción para fuentes, streaming y manejo de resultados.
Checkpoints
| Archivo | Entrada (px) | Licencia de los pesos |
|---|---|---|
| Detection | ||
| SenseNovaVision7b.pt | 1024 | cc-by-nc-4.0 |
Todos los archivos anteriores existen hoy en la organización de LibreYOLO y se descargan la primera vez que se usan.
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
- SenseNova-Vision, SenseTime (OpenSenseNova)
- Licencia del proyecto original
- Apache-2.0 (code); CC BY-NC 4.0 (weights)
- Fuente del proyecto original
- github.com/OpenSenseNova/SenseNova-Vision
- Código de LibreYOLO
- MIT
- Pesos
- Apache-2.0 (code); CC BY-NC 4.0 (weights), republicados en huggingface.co/LibreYOLO
- Interpretación
- LibreYOLO's SenseNova-Vision port is Apache-2.0 code adapted from SenseTime's OpenSenseNova/SenseNova-Vision release, which is itself built on Apache-2.0 sources: ByteDance's Bagel decoder, Hugging Face Transformers' Qwen2 and SigLIP modules, and Black Forest Labs' FLUX autoencoder. The SenseNova-Vision-7B-MoT checkpoint is a separate artifact under CC BY-NC 4.0, NON-COMMERCIAL USE ONLY. LibreYOLO mirrors it byte-identical, with attribution, at LibreYOLO/SenseNovaVision7b, but mirroring does not change the license: it stays non-commercial, and the loader prints that notice before every automatic download. One upstream file, modeling/bagel/modeling_utils.py, carries an incompatible CC BY-NC 4.0 license inherited from Meta's DiT; LibreYOLO did not port it. The small permissive routines it would have supplied were re-derived independently instead, from Hugging Face Transformers' ViTMAE implementation (Apache-2.0) and OpenAI's guided-diffusion (MIT).
Cita
@misc{sensenova2026sensenovavision,
title={Vision as Unified Multimodal Generation},
author={Xiaoyang Han and Jianhua Li and Kewang Deng and Zukai Chen and Xuanke Shi and Sihan Wang and Boxuan Li and Linyan Wang and Siyi Xie and Xin You and Jinsheng Quan and Zhongang Cai and Haiwen Diao and Ziwei Liu and Lei Yang and Dahua Lin and Quan Wang},
year={2026},
eprint={2607.06560},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2607.06560},
}Copiado del bloque de cita de los autores en github.com/OpenSenseNova/SenseNova-Vision#citation.