Esegui Mirage in locale: OCR e rilevamento degli oggetti da una sola immagine

Eva Wong è la redattrice tecnica e appassionata di tecnologia di ZimaSpace. Geek da sempre, appassionata di homelab e software open source, è specializzata nel tradurre concetti tecnici complessi in guide pratiche. Eva crede che l’hosting autonomo debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, aiuta la community a comprendere meglio le configurazioni hardware, dalla costruzione del primo NAS alla padronanza dei container Docker.

Mirage di Cactus Compute può analizzare un'immagine locale e restituire testo, posizioni degli oggetti e campi strutturati. Il modello a due bit dello sviluppatore, di circa 22 MB, è abbastanza piccolo da poter essere provato senza scaricare un checkpoint di visione da più gigabyte. Inizia con l'etichetta di un dispositivo o uno screenshot nitido e confronta i campi restituiti con l'immagine originale prima di automatizzare un flusso di lavoro.

La presentazione ufficiale descrive un modello di visione da 51,3 milioni di parametri, una demo locale nel browser e un runtime installabile. Riporta 74 ms su una configurazione NPU del Samsung Galaxy S26 e 107 ms sulla CPU dello stesso telefono. Questi tempi si riferiscono a quella configurazione. Verifica prestazioni e precisione sul tuo dispositivo e con i tuoi input.

Quali attività sono adatte a questo modello?

Mirage può descrivere scene, rilevare oggetti, leggere testo, restituire maschere e rispondere a domande circoscritte. Per un'attività di inventario, potresti chiedergli di identificare un'etichetta, estrarre l'area di testo e restituire un insieme limitato di campi. Per le foto, potresti usare le posizioni degli oggetti come indizi per chi effettua la revisione. Una risposta strutturata è utile se mantiene un collegamento alle prove nell'immagine.

Lo sviluppatore elenca sette lingue per le descrizioni delle immagini. Non dare per scontato che l'elenco implichi il supporto per ogni sistema di scrittura OCR. Il lettore di testo effettivo potrebbe non rilevare un accento, confondere cifre simili o tralasciare una piccola area. Nella demo di lancio Cactus mostra un risultato OCR imperfetto. La scheda del modello contiene i requisiti di runtime e gli esempi di input.

Panoramica di Mirage pubblicata da Cactus Compute, con OCR, maschere ed estrazione di scene
Panoramica di Mirage pubblicata da Cactus Compute, con OCR, maschere ed estrazione di scene. Fonte originale

Come si esegue il primo esempio in locale?

Prova la sandbox nel browser collegata da Cactus con un'immagine di prova non sensibile. Poi usa il pacchetto Python su una piattaforma supportata dal runtime Cactus. Usa un ambiente pulito e un'immagine che controlli.

python -m venv .venv
source .venv/bin/activate
python -m pip install -U cactus-compute

L'esempio pubblicato per il pacchetto è:

import cactus

model = cactus.Mirage()
print(model.describe("photo.png"))

Al primo utilizzo, il pacchetto può scaricare e memorizzare nella cache il motore e il modello. Cronometra separatamente questa configurazione rispetto all’inferenza. Per verificare che il flusso di lavoro funzioni poi offline, completa l’installazione iniziale e fai una prova con un file locale, disattivando la rete in un ambiente isolato. Controlla la versione del runtime e il comportamento della cache, invece di dedurli dal nome del pacchetto.

Come si può creare un piccolo test di accuratezza?

Scatta tre foto della stessa etichetta: una con illuminazione uniforme e ripresa frontalmente, una ruotata o con riflessi e una con un’altra etichetta nelle vicinanze. Tieni a disposizione una trascrizione di riferimento. Confronta i caratteri esatti e l’associazione ai campi, non solo se il risultato contiene una stringa plausibile. Per il rilevamento degli oggetti, controlla i riquadri. Un’etichetta corretta associata all’oggetto sbagliato può compromettere un record di inventario a valle.

Input Verifica utile Errore tipico da sottoporre a revisione
Etichetta del dispositivo Numero di serie esatto e nome del modello O scambiata per zero, riflessi, stringhe troncate.
Schermata Testo, area di delimitazione e ordine di lettura Caratteri sottili, pannelli sovrapposti ed etichette piccole nell’interfaccia.
Scontrino Totale, data e valuta come campi separati Subtotali errati, separatore decimale sbagliato o voci mancanti.
Scena mista Se ogni oggetto corrisponde alla propria area Etichette duplicate, oggetti piccoli non rilevati o contesto inventato.

Prova con un’immagine vuota, un’immagine priva di campi pertinenti e un ritaglio illeggibile. Un flusso di estrazione utilizzabile deve prevedere esplicitamente uno stato sconosciuto o vuoto. Se il passaggio successivo modifica un record di inventario, inserisci i campi mancanti o incerti in una coda di revisione invece di indovinarli.

Quanta memoria e quale latenza puoi aspettarti?

I 22 MB dichiarati si riferiscono alla rappresentazione del modello a due bit. La memoria usata durante l’esecuzione comprende il motore di inferenza, l’input decodificato, i tensori intermedi e il sovraccarico dell’applicazione. Le dimensioni delle immagini possono influire sulla pre-elaborazione e sulla pressione sulla memoria anche se il file del modello rimane invariato. Per decidere cosa può funzionare insieme agli altri servizi, monitora il picco di memoria del processo oltre alle dimensioni del modello.

Misura l’avvio a freddo, l’inferenza a regime e la latenza end-to-end, includendo la decodifica delle immagini e la post-elaborazione. Un benchmark della NPU di un telefono non può dirti quanto ci vorrà su un NAS o su una CPU x86 a basso consumo. Verifica la compatibilità con il tuo sistema operativo e dispositivo consultando l’elenco dei runtime, poi esegui le misurazioni con le stesse immagini e lo stesso codice che prevedi di distribuire.

Come si mantengono utili i risultati e privati gli input?

Separa il riconoscimento dalle azioni. Archivia i campi con un riferimento al ritaglio originale e uno stato di convalida. Quando possibile, applica controlli deterministici: lunghezza prevista del numero di serie, caratteri consentiti, interpretazione della data o intervallo di quantità. Se serve una correzione, mostra il ritaglio accanto al campo proposto. In questo modo puoi sempre risalire alle prove effettive.

Un endpoint locale per i modelli può ridurre la necessità di trasferire le immagini originali, ma è comunque opportuno controllare il codice del browser, la telemetria, il comportamento della cache e gli altri componenti. Un modello con capacità di ragionamento visivo può interpretare come contenuto il testo presente nell’immagine. Non permettere che quel testo diventi un’istruzione per operazioni sulla shell o sui file. Consulta la guida per mantenere i dati sorgente fuori dalle richieste all’IA.

Qual è il ruolo di un server domestico?

Conserva i file originali in una libreria con accesso limitato e invia al processo di inferenza solo l’immagine necessaria per ogni attività. Inserisci i risultati in una cartella o in un database separato per la revisione. Se il server è condiviso, avvia prima un piccolo lotto e controlla se i processi di riconoscimento interferiscono con i backup, l’indicizzazione dei file o le attività di altri utenti. Il confronto tra elaborazione e archiviazione di file privati e la guida all’isolamento dei backup illustrano i ruoli che questi servizi possono svolgere.

FAQ

La prima esecuzione funziona interamente offline?

Al primo utilizzo, il pacchetto può scaricare il motore e i pesi. Dopo aver installato e memorizzato nella cache i file necessari, verifica il funzionamento offline.

22 MB è l’utilizzo di memoria?

Descrive il modello compresso pubblicizzato, mentre la memoria totale del processo include il runtime e i buffer delle immagini.

Mirage può leggere tutti gli scontrini e le etichette?

Verifica le lingue, l’illuminazione, i caratteri e i layout che incontri davvero. Il testo piccolo o riflettente può generare risultati errati o incompleti.

Posso saltare la revisione manuale?

Prevedi una revisione per i risultati che modificano record o attivano azioni, soprattutto quando i campi sono incerti o non possono essere convalidati.

Posso usare il benchmark del telefono per scegliere un server domestico?

Usalo come esempio per il telefono testato. Valuta l’hardware e il runtime previsti con le tue immagini.

Conclusione

Mirage semplifica l’avvio di un piccolo esperimento locale di OCR e comprensione delle immagini. Installa il runtime supportato, verifica i campi esatti su alcune immagini impegnative e mantieni una procedura di revisione. Passa a lotti più grandi solo dopo aver verificato che misurazioni e gestione degli errori siano adeguate al lavoro.

Assistenza e consigli

Altre letture

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.