CVPR 2025 · Spotlight
Seeing more with less.
A camera video stream is millions of pixels a second, more than any vision-language model can ingest in real time. OpenVector reads it the way human eyes do, high resolution on the spot that matters and coarse everywhere else: full scene understanding from a fraction of the pixels.
Interactive foveation demo
Cameras and AI should already solve this. They don’t.
A high-resolution camera produces frames bigger than any model can read in real time. Every workaround still ships the entire frame first, then works out which parts were worth looking at.
Frames are huge
A high-resolution frame is tens of megapixels. Foundation vision models cap out far below that, and they were tuned for benchmark accuracy, not real-time latency.
Chunk-and-stitch is expensive
Splitting the image into patches, processing each, then reassembling multiplies compute and latency, and still needs the full image in hand.
Compression still ships everything
Token merging coarsens similar regions but transmits the whole frame first. Every pixel it processes is latency spent before the model has looked at anything.
Humans don’t waste pixels.
Your eye captures fine detail only at the center of your gaze and reads the periphery coarsely, roughly 3% of a full-resolution image, then moves the fovea to whatever matters next. So instead of shrinking the image, we taught the model where to look.
A lightweight sub-sampler sits between the camera and the vision model, selecting only the regions worth full detail. The model’s attention feeds back to steer the next fixation. The loop stays fast because it never touches most of the frame.
Watch it run.
See the foveated sub-sampler steer a live feed in real time.
Publications
Same accuracy. Less bandwidth, lower latency.
Foveated sampling is task-agnostic and needs no retraining. It drops in front of models like BLIP‑2, LLaVA, and ViLT and keeps their answers while cutting the pixels that cross the wire and the pixels the model has to process, so bandwidth and latency both drop.
Small enough to stream intelligible frames at 45 kbit/s inside a 70 kbit/s link, so the model runs on the camera and answers without the round trip to a server.
Put edge vision on your cameras.
See the sub-sampler run on a live feed and understand what OpenVector reads, on the hardware you already have.
book a demo how it works