Detect Anything via Next Point Prediction

stato della ricerca deep learning

Rex-Omni in poche parole: vedere (quasi) qualsiasi cosa

Questo paper introduce Rex-Omni, un multimodal large language model da 3 miliardi di parametri capace di fare object detection e molti altri compiti di percezione solo tramite next token prediction di punti e coordinate.
L’idea è superare i limiti dei precedenti MLLM per object detection (bassa recall, box duplicati, box sballati) e arrivare a prestazioni paragonabili o migliori dei classici modelli di regressione come DINO e Grounding DINO, pur mantenendo una forte comprensione del linguaggio.

Il modello unifica tanti task diversi – object detection, referring expression grounding, pointing, GUI grounding, OCR, keypoint detection, spatial referring – tutti formulati come generazione di coordinate quantizzate espresse tramite special token.
Rex-Omni viene addestrato in due fasi: una grande Supervised Fine-Tuning su circa 22 milioni di immagini annotate e poi una Reinforcement Learning phase basata su GRPO con reward geometry-aware che corregge problemi di discretizzazione e comportamento (duplicati, miss, ecc.).

Nei benchmark su COCO e LVIS, in zero-shot (cioè senza essere addestrato direttamente su questi dataset), Rex-Omni arriva a prestazioni paragonabili o superiori ai detector classici e supera altri MLLM come SEED1.5-VL, soprattutto in termini di F1 e qualità delle box.

Paper, Github repo

Indice

Dal token alla box: come funziona Rex-Omni

Un unico formato a coordinate per “tutto”

Il punto di partenza è formulare tutti i task di percezione visiva come generazione di sequenze di coordinate: un punto per pointing, due punti per definire una bounding box, più punti per un poligono (es. OCR), più punti strutturati per i keypoint.
Ogni coordinata dell’immagine viene quantizzata in un intervallo discreto (0-999) e rappresentata da uno special token dedicato nella vocabulary del modello, in modo che il modello faccia classificazione su 1000 possibili valori invece di regressione continua in pixel.

Questo significa che una bounding box è solo una breve sequenza di special token, molto più compatta che spezzare i numeri in cifre o token atomici, come fanno altri MLLM.
Il paper mostra che questo formato relativo-quantizzato riduce la difficoltà del learning, aumenta l’efficienza in termini di token e velocizza l’inferenza soprattutto in scene dense con tanti oggetti.

Interfaccia testuale unificata (più visual prompt)

Tutte le richieste al modello passano comunque da un’interfaccia testuale: si fornisce l’immagine e una domanda in linguaggio naturale che definisce il task, ad esempio “Detect [PHRASE] in this image”.
Per scenari in cui il linguaggio è ambiguo o insufficiente (oggetti rari, forme strane, categorie quasi impossibili da descrivere) Rex-Omni supporta anche visual prompting, dove l’utente seleziona uno o più box di riferimento nell’immagine.

Invece di usare embedding di regione come in altri lavori, le box di input vengono anch’esse convertite in coordinate quantizzate e integrate nella sequenza testuale, così tutto rimane nel paradigma di generative text modeling con next token prediction.
Questo permette al modello di ragionare su “stessa categoria di questo esempio” usando solo language modeling più coordinate, senza moduli esterni o decodificatori aggiuntivi.

Architettura: Qwen2.5-VL-3B con poche modifiche

Rex-Omni parte da Qwen2.5-VL-3B-Instruct, un multimodal large language model con vision encoder basato su Vision Transformer e componente linguistica stile LLM, e modifica solo la parte di gestione delle coordinate.
In pratica, gli ultimi 1000 token della vocabulary vengono “riciclati” per rappresentare i valori di coordinate quantizzate 0-999, passando da coordinate assolute a coordinate relative senza aggiungere nuovi parametri.

Il resto della pipeline multimodale (encoder visivo, proiezione, LLM) rimane compatibile con Qwen2.5-VL, il che facilita l’uso e il deployment rispetto a nuovi modelli completamente custom.
Questa scelta mostra bene come una piccola modifica nella rappresentazione possa sbloccare grandi miglioramenti prestazionali su object detection e grounding.

Data engine su larga scala: grounding, referring, pointing, OCR

Per insegnare al modello a mappare correttamente i 1000 token di coordinate allo spazio dei pixel servono tantissimi esempi etichettati con coordinate precise e descrizioni semantiche ricche.
Oltre a circa 8.9 milioni di esempi presi da dataset pubblici (COCO, O365, OpenImages, TextOCR, DocLayNet, ecc.), gli autori costruiscono diversi data engine automatici per generare dati addizionali di grounding, referring, pointing e OCR.

Il Grounding Data Engine genera caption con Qwen2.5-VL-7B, estrae noun phrase con SpaCy, filtra frasi ambigue (con aggettivi) e poi usa un detector open-vocabulary (DINO-X) per assegnare box alle frasi pulite, ottenendo circa 3 milioni di immagini con grounding di alta qualità.
Il Referring Data Engine combina Qwen2.5-VL-7B (per generare espressioni riferite naturali), Molmo (per generare punti di riferimento) e SAM (per maschere) per collegare automaticamente frasi, punti e box in stile referring expression grounding su altri 3 milioni di immagini.

Un ulteriore Pointing Data Engine converte box in punti “centrali” robusti usando SAM e semplici regole geometriche, generando circa 5 milioni di esempi point-level; un OCR Data Engine basato su PaddleOCR aggiunge circa 2 milioni di esempi con poligoni e trascrizioni di testo.
Nel complesso, il training set finale arriva a circa 22 milioni di immagini annotate, coprendo box, punti, poligoni, keypoint e JSON strutturati per tanti tipi di task.

Training in due fasi: SFT e Reinforcement Post-Training

Nella prima fase, il modello viene addestrato con Supervised Fine-Tuning usando cross-entropy sui token, in modo teacher-forced: a ogni passo vede sempre il prefisso ground-truth e impara a prevedere il prossimo token (coordinate incluse).
Questo basta a far apprendere la mappatura base da token 0-999 allo spazio d’immagine, ma lascia due grossi problemi: la discrepanza tra loss di classificazione e geometria continua, e la mancanza di controllo sul comportamento all’inferenza (numero di box, duplicati, ecc.).

Per questo gli autori introducono una seconda fase di Reinforcement Post-Training basata su GRPO (Group Relative Policy Optimization), in cui il modello genera liberamente più candidate output e riceve reward geometry-aware.
In questa fase, i reward misurano direttamente se le box coincidono bene con i ground truth (Intersection-over-Union), se i punti cadono dentro le maschere corrette, se le predizioni sono troppi duplicati o mancano oggetti importanti, spingendo il modello verso output più precisi e “ben regolati”.

Dentro i risultati: dove Rex-Omni brilla davvero

Common object detection su COCO

Il primo test chiave è common object detection su COCO, dove si misura la capacità di trovare e localizzare oggetti di categorie frequenti in scenari di vita reale.
In configurazione zero-shot (senza training diretto su COCO), Rex-Omni ottiene F1 e precision/recall comparabili o migliori rispetto a detector classici come DINO-ResNet50 e Grounding DINO, pur essendo un MLLM generativo.

Rispetto ad altri MLLM (per esempio SEED1.5-VL o versioni di Qwen2.5-VL usate direttamente per detection), Rex-Omni migliora sensibilmente la localizzazione e riduce i box duplicati e i “salti” di coordinate tipici dei modelli solo classificatori di token.
Il risultato più interessante, lato corso di deep learning, è che un MLLM general-purpose può arrivare vicino (o oltre) a specialisti di detection sfruttando una buona formulazione del task e una fase di reinforcement mirata.

Long-tailed, dense e tiny object detection

Il paper valuta anche il modello su scenari impegnativi come long-tailed detection (categorie sbilanciate), dense e tiny object detection (tanti oggetti piccoli e ravvicinati).
In queste condizioni Rex-Omni mostra miglioramenti di F1 e recall rispetto sia ai modelli basati su regression sia alle precedenti soluzioni MLLM, grazie alla combinazione di coordinate quantizzate, training su tanti dataset diversi e reward geometry-aware.

In particolare, la rappresentazione compatta con pochi token per box permette di gestire efficacemente scene con molte istanze senza esplosione della lunghezza della sequenza.
La fase di reinforcement aiuta a ridurre sistematicamente errori come mancate rilevazioni di oggetti piccoli o box duplicati leggermente traslati, che danneggiano molto F1 in contesti densi.

Oltre la detection: referring, GUI, OCR, pointing, keypoint

Rex-Omni viene testato anche su referring expression comprehension e referring object detection, dove l’input è una descrizione testuale naturale (“the man in the yellow shirt”) e il modello deve trovare l’oggetto corretto.
Qui la combinazione di forte language understanding ereditato da Qwen2.5-VL e coordinate quantizzate consente di gestire meglio descrizioni complesse rispetto a open-vocabulary detector basati solo su text encoder relativamente “shallow” come CLIP.

Nei task come GUI grounding (puntare un pulsante o elemento di interfaccia), layout grounding per documenti, OCR con poligoni testuali e keypoint detection, Rex-Omni mostra una buona generalizzazione usando sempre la stessa interfaccia e gli stessi special token.
Questo supporta l’idea che una formulazione unificata per coordinate + reinforcement mirato possa servire da backbone per una “object-centric” perception molto generale.

Cosa studiare prima di tuffarsi nel paper

Object detection classica vs open-vocabulary e open-set

Per seguire il paper è importante avere chiaro il passaggio da object detection “chiusa” (pochissime classi fisse, tipo COCO-80) a open-vocabulary detection e open-set detection.
Nei modelli come Grounding DINO e DINO-X, le categorie non sono solo ID numerici ma frasi testuali embeddate con un text encoder (CLIP, BERT), permettendo di rilevare categorie mai viste esplicitamente via transfer semantico.

Tuttavia questi modelli restano limitati da un linguaggio relativamente superficiale: faticano con descrizioni lunghe e composizioni semantiche complesse (“the second person from the left in a red coat holding an umbrella”).
Rex-Omni nasce proprio per unire un language model potente (Qwen2.5-VL) con una pipeline di coordinate abbastanza precisa da competere con i detector classici.

Multimodal large language model (MLLM)

Un multimodal large language model è un LLM che riceve sia testo sia immagini (o altri segnali) e genera tipicamente testo, ma può essere adattato a generare special token che rappresentano altre strutture, come coordinate.
Qwen2.5-VL-3B è un esempio: un vision encoder trasforma l’immagine in una sequenza di token visivi, che vengono concatenati con i token testuali e processati da un transformer linguistico di dimensione miliardaria.

Nel paper, questa architettura viene riutilizzata quasi invariata, ma reinterpretando una parte della vocabulary come coordinate quantizzate, dimostrando come un MLLM general-purpose possa diventare un forte object detector con poco overhead architetturale.
Capire bene come funziona il flusso immagine → token visivi → transformer → token di output è fondamentale per seguire le sezioni di task formulation e training.

Coordinate quantizzate e special token

Invece di prevedere coordinate continue in pixel, Rex-Omni le rappresenta come classi discrete {0, …, 999} che corrispondono a posizioni relative lungo larghezza e altezza dell’immagine.
Questi valori vengono codificati come special token dedicati nella vocabulary dell’LLM, in modo che ogni punto (x, y) sia una coppia di token, una bounding box siano quattro token, un poligono una sequenza di token pari ai vertici.

Per chi è abituato a regression loss L1 o IoU, questo passaggio a classificazione su 1000 classi può sembrare strano, ma ha il vantaggio di ricondurre tutto a next token prediction, che gli LLM gestiscono molto bene.
Allo stesso tempo, crea una discrepanza tra la loss di cross-entropy (discreta) e l’errore geometrico continuo, che è proprio uno dei motivi per cui il paper introduce la fase di Reinforcement Learning con reward geometry-aware.

Supervised Fine-Tuning vs Reinforcement Learning (GRPO)

Supervised Fine-Tuning con teacher forcing è il classico schema: il modello vede sempre la sequenza corretta e impara a predire il token successivo minimizzando cross-entropy, ma non sperimenta mai gli errori che farà realmente in generazione libera.
Per coordinate, questo si traduce in un modello bravo a imitare il teacher quando il contesto è perfetto, ma poco robusto quando le proprie predizioni precedenti sono leggermente sbagliate, portando facilmente a errori a cascata e box “rotte”.

La fase GRPO-based Reinforcement Learning lascia il modello generare più soluzioni complete e assegna a ciascuna un reward che misura precisione geometrica, recall, duplicati e altri aspetti di comportamento globale.
In questo modo il training ottimizza direttamente la qualità dell’output finale (box e punti) invece di limitarsi alla correttezza token per token, riducendo misalignment tra training e inferenza.

Geometry-aware reward

I reward usati nel paper sono progettati per riflettere la qualità geometrica delle predizioni: per le box si usa una combinazione di IoU, precision e recall per derivare un “F1-style” reward, mentre per i punti si controlla se cadono dentro le maschere o le box corrette.
Questo permette al modello di capire che due coordinate token vicini possono rappresentare un errore trascurabile o gravissimo a seconda del contesto, cosa che la cross-entropy pura non distingue.

Inoltre la definizione dei reward punisce sia l’over-prediction (troppe box inutili) sia l’under-prediction (oggetti mancanti), spingendo il modello verso un numero di predizioni bilanciato e semanticamente coerente.
Capire l’intuizione di questi reward è importante per leggere le sezioni di analisi sul “perché GRPO funziona” e sulle dinamiche di training mostrate dagli autori.

Quiz per verificare di aver capito

Di seguito alcuni quiz pensati per studenti di laurea magistrale in deep learning; le risposte sono subito dopo ogni domanda.

Q1. Perché Rex-Omni usa coordinate relative quantizzate 0-999 con special token invece di coordinate assolute in pixel o cifre separate?
A1. Per ridurre la complessità del problema a una classificazione su 1000 classi per coordinata, limitare la lunghezza delle sequenze (poche token per box) e rendere più efficiente l’inferenza, evitando di dover gestire numeri lunghi scomposti in molte cifre.

Q2. Quali sono le due principali limitazioni della sola Supervised Fine-Tuning per coordinate secondo gli autori?
A2. Primo, la geometric discretization issue: la cross-entropy non riflette bene errori piccoli vs grandi nello spazio continuo delle box; secondo, la behavioral regulation deficiency: con teacher forcing il modello non impara a regolare da solo quante box generare, causando box mancanti o duplicati all’inferenza.

Q3. Qual è il ruolo del Grounding Data Engine e che differenza introduce rispetto a pipeline precedenti?
A3. Il Grounding Data Engine costruisce un grande dataset automatico di frasi-box generando caption, estraendo noun phrase e assegnando loro box con un detector open-vocabulary; a differenza dei lavori precedenti introduce una fase di phrase filtering che elimina frasi ambigue con aggettivi, riducendo errori sistematici di labeling.

Q4. Perché serve un Referring Data Engine separato e quali modelli esterni utilizza?
A4. Serve perché i dataset pubblici con referring expression ricche sono pochi e costosi da annotare a mano; il data engine genera automaticamente frasi riferite con Qwen2.5-VL-7B, punti con Molmo e maschere con SAM, collegando poi punti e box per produrre annotazioni di referring su larga scala.

Q5. In che modo la fase GRPO-based Reinforcement Learning migliora la qualità delle predizioni rispetto alla sola SFT?
A5. Lasciando il modello generare output completi e assegnando reward basati su precision, recall, IoU e presenza di duplicati, il training ottimizza direttamente l’obiettivo finale di “buone box” e non solo la correttezza token per token, correggendo problemi di discretizzazione e comportamenti indesiderati come box ripetuti o mancati.

Q6. Quali categorie di task, oltre all’object detection classica, Rex-Omni riesce a coprire con la stessa interfaccia di coordinate?
A6. Referring object detection, object pointing, visual prompting, GUI grounding, layout grounding per documenti, OCR con poligoni e bounding box, keypoint detection e spatial referring, tutti formulati come generazione di sequenze di coordinate quantizzate.

Q7. Perché, secondo gli autori, i classici open-vocabulary detector basati su CLIP o BERT non bastano a “detect anything”?
A7. Perché il loro linguaggio è relativamente superficiale e fatica con descrizioni complesse o composte, tendendo a rilevare tutte le istanze di una categoria anche quando la frase richiede un sottoinsieme specifico (es. “red apple”), mentre un MLLM come Rex-Omni può ragionare molto più finemente sulle istruzioni testuali.

Lavori collegati da conoscere e come si inseriscono

Pix2Seq e la famiglia dei “direct coordinate prediction”

Pix2Seq è uno dei primi lavori a proporre di trattare object detection come language modeling di coordinate discrete, rappresentando le coordinate come token e usando next token prediction invece della classica regressione.
Rex-Omni adotta lo stesso paradigma generale (direct coordinate prediction) ma lo estende a un MLLM moderno, a tanti task diversi e a una pipeline di RL e data engine molto più sofisticata.

Grounding DINO e DINO-X per open-vocabulary detection

Grounding DINO e DINO-X sono esempi di detector open-vocabulary che usano text encoder (CLIP o simili) per rappresentare categorie come embedding testuali e collegarle a feature visive tramite matching, ottenendo detection “a livello di categoria” senza dover addestrare su tutte le classi.
Nel paper servono sia come baseline sperimentale, sia come componenti all’interno dei data engine (ad esempio DINO-X nel Grounding Data Engine), ma vengono superati da Rex-Omni in zero-shot su COCO in termini di F1.

Qwen2.5-VL e SEED1.5-VL come MLLM di partenza

Qwen2.5-VL è il backbone multimodale su cui si costruisce Rex-Omni: gli autori mostrano che con piccole modifiche alla rappresentazione delle coordinate e molto lavoro su dati e training si può trasformare un MLLM generico in un object detector di stato dell’arte.
SEED1.5-VL è una baseline MLLM che usa coordinate quantizzate ma senza special token dedicati, spezzandole in più token atomici; Rex-Omni dimostra che la scelta di usare special token dedicati porta vantaggi concreti in precisione e velocità.

T-Rex2, Molmo e SAM: mattoni per data engine

T-Rex2 è citato come esempio di modello che usa visual prompting, dimostrando l’utilità di input visivi quando il linguaggio non basta a descrivere la categoria, e ispira la parte di visual prompting di Rex-Omni.
Molmo è un modello di referring che fornisce punti di riferimento di alta qualità, usato come “teacher” nel Referring Data Engine per generare dati automatici di alto livello semantico, mentre SAM (Segment Anything Model) fornisce maschere robuste per derivare punti e box.

Questi lavori non vengono sostituiti da Rex-Omni ma inglobati come sorgenti di supervisione per costruire grandi dataset sintetici di grounding, mostrando come combinare modelli pre-esistenti in un’architettura di data engine.
Per uno studente di deep learning, il messaggio è che spesso il salto di qualità arriva non solo dal modello, ma dal modo creativo in cui si costruiscono dati e pipeline di training sfruttando l’ecosistema esistente.

Torna in alto