SenseNova-Vision
SenseNova-Vision est un modèle multimodal unifié qui formule les tâches de vision comme une génération guidée sur un décodeur partagé : les bounding boxes, points, points clés et mots OCR sont produits sous forme de texte balisé, tandis que les cartes de profondeur, de masques et panoptiques sont produites sous forme d'images rendues par un décodeur. LibreYOLO le charge par l'intermédiaire de LibreVLM et prend en charge sept tâches à partir de l'unique checkpoint 7B.
- Tâches
- detection, instance segmentation, panoptic, pose, point, depth, ocr
- Tailles
- 7b at 1024 px
- Installer
pip install libreyolo- Niveau de support
- Niveau parallèle, depuis v. Une interface produit distincte avec sa propre factory et son propre contrat.
- Origine
- SenseNova-Vision par SenseTime (OpenSenseNova), Apache-2.0 (code); CC BY-NC 4.0 (weights). Article, source
- Licences
- Code Apache-2.0, poids Apache-2.0 (code); CC BY-NC 4.0 (weights). Usage commercial
Installer
SenseNova-Vision nécessite son propre extra. Celui-ci installe accelerate
pour la répartition des grands modèles dont ce checkpoint a besoin et, sur les
plateformes autres que macOS, bitsandbytes pour le chargement en 4 bits.
pip install "libreyolo[sensenova]"Le checkpoint est répliqué sur Hugging Face sous l'organisation propre à LibreYOLO et se télécharge automatiquement à la première utilisation. Il est sous licence CC BY-NC 4.0, réservée à un usage non commercial, et le chargeur affiche cet avertissement avant chaque téléchargement automatique. Consultez la section Licence ci-dessous.
Prédire
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() change de tâche sur le même modèle déjà chargé.model.set_task("depth")result = model.predict("image.jpg")depth = result.depth_map.datafrom libreyolo import LibreVLM model = LibreVLM("sensenova-vision", task="segment")# La segmentation suit une expression référente : elle exige une phrase cible, pas une liste de classes.model.set_classes(["the person furthest to the right"])result = model.predict("street.jpg")mask = result.masks.data[0] model.set_task("panoptic")# Sans vocabulaire personnalisé, la segmentation panoptique utilise les catégories# panoptiques COCO sur lesquelles le checkpoint a été affiné.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) # Sans vocabulaire défini, la pose utilise "person" par défaut.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)Chaque prédiction est un décodage par diffusion sur le backbone Bagel-MoT
partagé. Il s'agit donc d'un modèle de capacités et non d'un modèle temps
réel\u00a0: attendez-vous à une latence par image nettement supérieure à celle d'un
détecteur ou segmenteur spécialisé. dtype="auto" (la valeur par défaut)
charge le modèle en bf16 sur un GPU disposant de suffisamment de mémoire et se
rabat ailleurs sur une quantification NF4 en 4 bits, qui nécessite
bitsandbytes\u00a0; transmettez dtype="bf16" pour imposer la pleine précision
sur un GPU suffisamment grand. Le paramètre noise_seed=42 à la construction
initialise le sampler de diffusion afin de rendre les sorties denses
reproductibles\u00a0; transmettez noise_seed=None pour désactiver cette
initialisation.
Les sept tâches partagent un seul checkpoint chargé\u00a0: set_task() passe de
l'une à l'autre sans rechargement. set_classes() définit le vocabulaire
actif\u00a0; la détection, les points, la pose et la segmentation panoptique
acceptent une liste de classes, tandis que la segmentation suit une expression
référente et exige exactement la phrase désignant l'élément à isoler. Chaque
tâche renvoie l'objet Results standard avec une charge utile différente\u00a0:
boxes pour detect, points pour point, boxes et keypoints pour pose,
ocr pour OCR, depth_map pour depth, masks pour segment et panoptic
(avec segments_info) pour panoptic. Consultez la
prédiction pour les sources, le streaming et la gestion des
résultats.
Checkpoints
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| Detection | ||
| SenseNovaVision7b.pt | 1024 | cc-by-nc-4.0 |
Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.
Licence
Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.
Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.
- Travail d'origine
- SenseNova-Vision, SenseTime (OpenSenseNova)
- Licence du projet d'origine
- Apache-2.0 (code); CC BY-NC 4.0 (weights)
- Source du projet d'origine
- github.com/OpenSenseNova/SenseNova-Vision
- Code de LibreYOLO
- MIT
- Poids
- Apache-2.0 (code); CC BY-NC 4.0 (weights), republiés sur huggingface.co/LibreYOLO
- Interprétation
- 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).
Citation
@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},
}Copié depuis le bloc de citation des auteurs sur github.com/OpenSenseNova/SenseNova-Vision#citation.