RECALL

Edge visual memory · SiMa.ai Modalix · < 10 W

Ctrl+F for the physical world.

One camera on a Modalix DevKit remembers everything that happens in a room and answers out loud, with the snapshot and the moment. Nothing leaves the board.

#2 SILVER LAPTOP .94 STA #3 RED CERAMIC MUG .91 CAR #1 GREEN WATER BOTTLE .96 STA #4 BLACK CELL PHONE .88 STA #5 BLUE HARDCOVER BOOK .90 STA P1 PERSON IN BLUE SHIRT.97 L WRIST → #3 · 41 PX · 0.8 S · PICKED UP CAM 01 1280×720 · H.264 · CH0 10:47:45 UTC SEG LIVE POSE LIVE VLM NAMING OBJECTS 5 PERSONS 1 MODALIX · NO CLOUD
QWhere is the red mug?
AThe person in the blue shirt picked up the red ceramic mug at 10:47:45 and moved right. It is now marked missing.
Evidence event #8 Snapshot 10:47:45 Attribution L wrist · 41 px Link local only

Ask it anything about the room

Plain questions. Answers with a snapshot and a timestamp.

Every answer is generated over the evidence Recall actually recorded, cites the event it came from, and is checked for timestamp grounding before it is spoken.

QWhat's on the table?

Five objects: a green water bottle, a silver laptop, a red ceramic mug, a black cell phone and a blue hardcover book. All stationary since 10:44.

1 snapshot · events #1–#5
QWhere's my red mug?

Last seen at 10:47:47. The person in the blue shirt picked it up at 10:47:45 and moved right, out of frame. It has not come back.

2 snapshots · event #8
QWho took the laptop?

The person in the blue shirt. Their right wrist was 28 px from the laptop at 10:50:45 when it moved, then left the frame to the left.

1 snapshot · event #12

Never leaves the room

Continuous visual memory can only exist on-device.

Nobody will stream a live feed of their home, a hospital ward, a lab or a stockroom to a server. So a camera that remembers everything cannot be a cloud product. It has to run where the video is, and the video has to stay there.

Recall keeps video, names, questions and speech on the local link. The runtime has no cloud client and the UI has zero CDN. The internet cable can be pulled mid-demo and it keeps working, because nothing was going over it in the first place.

  • No cloud clientThe runtime cannot reach a server
  • Zero CDNEvery byte of the UI ships from the board
  • Frames kept 15 minutes, then deleted1 fps snapshots, nothing archived
  • People described by clothing only"Person in the blue shirt", never an identity
  • Unplug the cable and it keeps answeringDemo beat 4

How it remembers

See, track, attribute, answer. One chip does all of it.

The vision-language model is never on the frame path. Stop it and tracking still runs; the memory keeps filling.

  1. 01 · See

    Segment every frame

    YOLO26 instance segmentation turns each frame into an inventory of objects with pixel masks. Every object gets a stable ID and a state.

    modelYOLO26 seg
    rateevery frame
    outputmasks + IDs
  2. 02 · Track

    Keep identity through time

    A tracker matches masks frame to frame so the mug that moves is still #3. Objects settle, go missing and come back without losing their ID.

    matchsame class, mask IoU > 0.30
    orcentroid < 5 % frame width
    stationaryafter 3 s
    missingafter 2 s
    reacquirewithin 60 s
  3. 03 · Attribute

    Whose hand was on it

    YOLO26 pose finds wrists at 10 fps. An object that moves or goes missing while a wrist was within 60 px of its mask in the last 1.5 s is a pickup by that person.

    #3 MASK WRIST → #3 · < 60 PX · < 1.5 S
  4. 04 · Answer

    Grounded in evidence

    Events (appeared, moved, picked up, put down, missing, person entered or left with exit direction) land in SQLite. A question pulls a compact evidence JSON; Qwen3-VL-4B answers over it, citing event IDs.

    name≤ 5 words, with color
    peopleclothing only
    checktimestamp grounding
    voiceWhisper in, Piper out

One chip, seven jobs

Modalix MLSoC · under 10 W
ModelRunsJob
YOLO26 segevery frameObject inventory with pixel masks and stable IDs
YOLO26 pose10 fpsWrist keypoints for pickup attribution
Trackerevery frameIdentity through time: appeared, moved, stationary, missing, reacquired
Qwen3-VL-4B · visiononce per new object or person, off the frame pathNames each object in ≤ 5 words with its color; each person by clothing only
Qwen3-VL-4B · textper questionAnswers over the evidence JSON, cites event IDs, checked for timestamp grounding
Whisper Smallper spoken question, on the MLASpeech to text
Piperper answerText to speech

Qwen3-VL-4B runs through SiMa LLiMa and is used twice: once to name what the camera sees, and again in text mode to answer. Stop it and steps 01 to 03 keep running.

Measured on the board

Real latencies from the DevKit, not a spec sheet.

Recorded 2026-09-16 on a Modalix DevKit. Test suite: 40 passed.

0.59sVLM crop namingone object, once
2.67sCustody question with snapshots"Who took the laptop?"
6.23sThree-sentence summary"What happened here?"
3.77sWhisper transcription + answerspoken question, end to end
0.54sPiper speechanswer to audio
32.8tok/sText generationanswer mode

*Measured with a fallback VLM while the exact Qwen package awaited a SiMa login. Segmentation and pose FPS with the exact archives: pending.

The demo

Five questions, one table, no internet.

The whole demo happens on a table in front of the camera. The judges are the people in the memory.

  1. 1

    Take inventory

    QWhat's on the table?

    Five objects, each with a mask, a stable ID, a name from the VLM and a state. Recall reads them back with the snapshot.

    #2 SILVER LAPTOP .94 STA #3 RED CERAMIC MUG .91 STA #1 GREEN WATER BOTTLE .96 STA #4 BLACK CELL PHONE .88 STA #5 BLUE HARDCOVER BOOK .90 STA CAM 01 1280×720 · H.264 · CH0 10:44:49 UTC SEG LIVE POSE LIVE VLM IDLE OBJECTS 5 PERSONS 0 MODALIX · NO CLOUD
    10:44:49 · 5 objects · 0 persons
  2. 2

    Move the mug off-frame

    QWhere's the red mug?

    The mug goes missing after 2 s. The answer names who moved it, when, and which way they went, with the snapshot from the moment of pickup.

  3. 3

    A judge picks up the laptop

    QWho took my laptop?

    Pose puts a wrist within 60 px of the laptop mask as it moves. The pickup is attributed to "the person in the blue shirt", never to a name or a face.

    #2 SILVER LAPTOP .94 CAR #3 RED CERAMIC MUG .91 STA #1 GREEN WATER BOTTLE .96 STA #4 BLACK CELL PHONE .88 STA #5 BLUE HARDCOVER BOOK .90 STA P1 PERSON IN BLUE SHIRT.97 R WRIST → #2 · 28 PX · 0.6 S · PICKED UP CAM 01 1280×720 · H.264 · CH0 10:50:45 UTC SEG LIVE POSE LIVE VLM NAMING OBJECTS 5 PERSONS 1 MODALIX · NO CLOUD
    10:50:45 · R wrist · 28 px · picked up
  4. 4
    Cable out

    Pull the Ethernet cable, ask again

    QWho took my laptop?

    Same answer, same latency. There is no cloud client to lose and no CDN to wait for. The link that matters is the one to the speaker.

  5. 5

    Replay the last ten minutes

    QWhat happened in the last ten minutes?

    A three-sentence summary over the event log: what appeared, what moved, who took what and where they went. Every sentence cites an event ID.

    #2 SILVER LAPTOP .94 MIS #3 RED CERAMIC MUG .91 MIS #1 GREEN WATER BOTTLE .96 STA #4 BLACK CELL PHONE .88 STA #5 BLUE HARDCOVER BOOK .90 STA #3 MISSING · LAST SEEN 10:47:47 · MOVED RIGHT #2 MISSING · LAST SEEN 10:50:47 · MOVED LEFT CAM 01 1280×720 · H.264 · CH0 10:51:52 UTC SEG LIVE POSE LIVE VLM IDLE OBJECTS 3 PERSONS 0 MODALIX · NO CLOUD
    10:51:52 · 3 objects · 2 missing

Where it goes

Anywhere things go missing and the video must not.

Homes

Keys, glasses, medication, packages. The things you lose every week, found by asking.

Where did I leave my glasses?

Hospitals

Custody of mobile equipment on a ward, without a patient's face ever leaving the building.

Who took the infusion pump?

Labs and workshops

Tool handoffs between people and benches, remembered without a sign-out sheet.

Who had the torque wrench last?

Retail back rooms

Stock that walks between the shelf, the cart and the door, with the moment it moved.

What left the stockroom after 6?

Roadmap

What comes after a single camera.

  • NEXT
    Multi-camera memory via the Modalix PCIe card
  • NEXT
    Depth for metric spatial language ("two meters left of the door")
  • THEN
    Open-vocabulary segmentation
  • THEN
    Policy-controlled retention

Open the console. Ask the room.

The live demo runs beside this page. The runtime, the UI, the tracker rules and the test suite are all in one repository: github.com/vnmoorthy/recall