SenseNova-Vision

SenseNova-Vision è un modello multimodale unificato che imposta i task di visione come generazione guidata da prompt su un decoder condiviso: box, punti, keypoint e parole dell'OCR escono come testo etichettato, mentre le mappe di profondità, di maschera e panottiche escono come immagini che un decoder disegna. LibreYOLO lo carica tramite LibreVLM e supporta sette task a partire dall'unico checkpoint da 7B.

Task
detection, instance segmentation, panoptic, pose, point, depth, ocr
Dimensioni
7b at 1024 px
Installa
pip install libreyolo
Livello di supporto
Livello parallelo, dalla v. Un'interfaccia di prodotto separata, con una propria factory e un proprio contratto.
Origine
SenseNova-Vision di SenseTime (OpenSenseNova), Apache-2.0 (code); CC BY-NC 4.0 (weights). Articolo, sorgente
Licenze
Codice Apache-2.0, pesi Apache-2.0 (code); CC BY-NC 4.0 (weights). Uso commerciale

Installazione

SenseNova-Vision richiede un extra proprio, che porta con sé accelerate per il dispatch dei modelli grandi di cui questo checkpoint ha bisogno e, sulle piattaforme diverse da macOS, bitsandbytes per il caricamento a 4 bit.

bash
pip install "libreyolo[sensenova]"

Il checkpoint è replicato su Hugging Face sotto l'organizzazione di LibreYOLO e si scarica automaticamente al primo utilizzo; è CC BY-NC 4.0, solo per uso non commerciale, e il caricatore stampa quell'avviso prima di ogni download automatico. Vedi Licenze qui sotto.

Predizione

Python
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 task sullo stesso modello già caricato.model.set_task("depth")result = model.predict("image.jpg")depth = result.depth_map.data
Segmentazione referring e panottica
from libreyolo import LibreVLM model = LibreVLM("sensenova-vision", task="segment")# La segmentazione è referring: serve una frase target, non una lista di classi.model.set_classes(["the person furthest to the right"])result = model.predict("street.jpg")mask = result.masks.data[0] model.set_task("panoptic")# Senza un vocabolario personalizzato, la panottica ripiega sulle categorie# panottiche COCO su cui il checkpoint è stato messo a punto.result = model.predict("street.jpg")segment_map = result.panoptic.datafor segment in result.panoptic.segments_info:    print(segment)
Punti, posa e OCR
from libreyolo import LibreVLM model = LibreVLM("sensenova-vision", task="point")model.set_classes(["screw"])result = model.predict("board.jpg")print(result.points.xy) # Senza un vocabolario impostato, la posa ripiega su "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)

Ogni predizione è una decodifica per diffusione sul backbone Bagel-MoT condiviso, quindi è un modello di capacità e non un modello in tempo reale: aspettati una latenza per immagine decisamente più alta di quella di un rilevatore o di un segmentatore fatti su misura. dtype="auto" (il valore predefinito) carica in bf16 su una GPU con memoria sufficiente e altrove ripiega sulla quantizzazione NF4 a 4 bit, che richiede bitsandbytes; passa dtype="bf16" per forzare la precisione piena su una GPU abbastanza grande. noise_seed=42 alla costruzione fissa il seed del sampler di diffusione per ottenere output densi riproducibili; passa noise_seed=None per disattivare il seeding.

I sette task condividono un unico checkpoint caricato: set_task() passa dall'uno all'altro senza ricaricarlo. set_classes() imposta il vocabolario attivo; il rilevamento, i punti, la posa e la panottica accettano una lista di classi, mentre la segmentazione è referring e ha bisogno esattamente della frase da isolare. Ogni task restituisce il consueto oggetto Results con un contenuto diverso valorizzato: boxes per detect, points per point, boxes e keypoints per pose, ocr per OCR, depth_map per depth, masks per segment e panoptic (con segments_info) per panoptic. Vedi predizione per sorgenti, streaming e gestione dei risultati.

Checkpoint

FileIngresso (px)Licenza dei pesi
Detection
SenseNovaVision7b.pt1024cc-by-nc-4.0

Oggi tutti i file elencati sopra sono presenti nell<link>organizzazione LibreYOLO</link> e vengono scaricati al primo utilizzo.

Licenze

Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.

Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.

Lavoro originale
SenseNova-Vision, SenseTime (OpenSenseNova)
Licenza upstream
Apache-2.0 (code); CC BY-NC 4.0 (weights)
Codice LibreYOLO
MIT
Pesi
Apache-2.0 (code); CC BY-NC 4.0 (weights), ripubblicati su huggingface.co/LibreYOLO
Interpretazione
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).

Citazione

@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}, 
}

Copiato dal blocco di citazione degli autori disponibile su github.com/OpenSenseNova/SenseNova-Vision#citation.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.