Cactus debuts Mirage: A 22MB vision model that runs in 74ms on phones
Cactus just dropped Mirage, a tiny 51.3M-parameter vision model compressed to roughly 22MB via 2-bit quantization. It handles scene description, object detection, OCR, segmentation masks, and spatial reasoning in a single pass—clocking 74ms on a Galaxy S26 NPU. It proves full-featured visual perception can comfortably live on device edge chips without touching the cloud.

Running computer vision on your phone has long forced an annoying compromise: either bounce requests to a cloud server and swallow the latency, or force-feed your device a multi-gigabyte multimodal model that drains the battery in minutes.
Cactus just introduced Mirage, a radically compact alternative. Packing just 51.3 million parameters, the vision model squeezes into roughly 22MB using custom 2-bit Cactus Quants. That is small enough to tuck into a lightweight mobile app without anyone noticing the download.
Speed is where it turns heads. Mirage completes an end-to-end inference pass in just 74 milliseconds on a Samsung Galaxy S26 NPU, and takes 107 milliseconds on the device CPU. Basically, it digests an entire scene locally before you even have time to lower your camera.
Everything everywhere in a single pass
Most lightweight vision tools force you to string together separate modules for bounding boxes, text reading, and segmentation. Mirage handles all of that simultaneously.
In a single pass, it generates a comprehensive JSON payload. That includes broad scene descriptions across seven languages, open-vocabulary object detections that aren't locked to a rigid class list, crisp segmentation masks, and cropped OCR text regions complete with detection scores.
It also maps spatial relationships into a neat scene graph. Your code can easily follow whether a sign is attached to a pole or whether a mug is sitting on a desk. You can even pass it a list of arbitrary labels to have it classify an item or tally objects on demand.
The engineering behind 22MB
Fitting a multitask visual engine into 21.6MB of storage required some clever architectural pruning rather than brute-force compression.
The vision encoder pairs fixed Walsh-Hadamard transforms with three learned banded convolutions, slashing matrix weights by about eight times compared to full layers while keeping channel interactions intact. Its eight-layer decoder borrows the Simple Attention setup from sibling models Needle and Whistle, reusing cached image memory to save tokens.
Precision is handled pragmatically. Most matrices are squashed to 2 bits, but token embeddings keep 4 bits and key convolution bands remain in 16-bit float to preserve fine edge details.
Cactus even tested pairing Mirage with Qwen3-0.6B on the VQAv2 visual question-answering benchmark. The tiny language model never saw a single pixel, answering queries purely by reading the structured text and bounding coordinates Mirage provided.
Why it matters
We think Mirage represents a refreshing reality check for edge AI. While the rest of the industry races to cram bloated multimodal models onto smartphones, Cactus realized that most edge hardware just needs fast, reliable perception.
For wearable builders, drone makers, and mobile developers, waiting several seconds for a generative VLM to describe an obstacle is completely useless. A sub-100ms local model that hands back structured bounding boxes and text masks in 22MB is instantly deployable today.
The trade-offs are real, of course. With only 51.3 million parameters, Mirage lacks deep reasoning chops. In official benchmarks, its short reasoning traces failed to reliably boost answer accuracy, meaning downstream tasks with heavy ambiguity will still need a proper language model in the loop.
Even so, treating perception as a tiny, dedicated sensor that outputs clean JSON rather than a conversational partner is a brilliant architectural detour. It proves that edge intelligence does not have to be heavy to be remarkably capable.
Sources (1)
- cactuscompute.com(opens in a new tab)Originalcactuscompute.com