Mirage turns images into reusable data with a 22 MB vision model
Cactus Compute’s Mirage detects objects and reads text on-device. An experiment with Qwen shows what a text-only model can do with those observations.
In a photo of a stop sign, Mirage identifies the red sign, traces its outline, and links it to the pole holding it up. Its text recognition module transcribes the French word “ARRÊT” with the wrong accent. In this example from Cactus Compute, the sign’s position, shape, and lettering appear in separate fields. An app can use the same record to overlay the outline on the photo, retrieve the text, or follow the relationships between objects.
A caption might sum up the scene and leave out the pole or the lettering. Mirage generates a description and returns coordinates, outlines, and links between detected elements in a structured JSON response. An app can save that record and query it repeatedly, without analyzing the photo again for each question. From outlining objects to reading labels
Mirage first builds a representation of the image that several components share. Some identify regions likely to contain objects or text. Others trace object boundaries. The language decoder assigns names and describes how elements relate to one another. In Mirage’s segmentation system, multiple objects draw on the same visual features to build their masks. The decoder can then refer to an object by a short identifier, saving it from having to generate every coordinate along the outline.
To read an inscription, the text recognition module goes back to the original image and crops the region containing the text. It reads long lines in overlapping sections so letters near the seams retain their surrounding context. The transcription is added to the record separately from the scene description. An inscription can appear in the data even if the language decoder never mentions it. A high detection score reflects confidence in the proposed region. The accuracy of the transcription or object label is a separate question.
The deployment file holds 51.3 million parameters and weighs 21.6 MB, with most of its matrices stored at 2-bit precision. In Cactus Compute’s Galaxy S26 measurements, Mirage processed an image in 74 ms on the phone’s neural processing unit and 107 ms on its CPU. Both figures cover Mirage alone. The browser demo runs the model locally on an uploaded photo or an image from the camera. The model weights and configuration are available under the Apache 2.0 license. What Qwen gets from the image record
In an experiment on a subset of VQAv2, Cactus Compute split the work between two models. Mirage analyzed each of the 128 images without seeing the questions. Qwen3-0.6B, a text-only language model, then received the questions and, depending on the test condition, some or all of Mirage’s observations. The 256 evaluation questions covered a separate set of images from the ones used to refine the prompt. Both models kept their original weights.
Qwen scored 9.3 out of 100 with the question alone. A general description of the scene brought the score to 28.1. The detailed record scored 33.1 without Mirage’s generated commentary on its analysis and 31.3 with it. The gap between those last two scores was too small to establish a reliable effect from the commentary. In a separate control, Qwen still scored 22.2 when given the full record for a different image. Comparing records from the right and wrong images gives a better measure of what the relevant observations contributed than comparing the full record with the question alone.
The score measures agreement with human answers under VQAv2’s scoring rules. Wording matters, too. A full sentence that means the same thing as a simple “yes” can receive zero credit. The examples published with the experiment show another limitation. On a photo with a skateboard, Qwen guesses correctly from the question alone. Mirage misses the board and identifies several cars. After reading the record, Qwen answers “a car.” In another image, the record correctly identifies an antenna, but Mirage mistakes the TV for a digital scale. Qwen answers “antenna” when it receives the structured fields, then repeats the scale error when it also gets Mirage’s commentary.