From the Lab · Gene Avakyan

How Camera Pixels Become Temporal Events

TRACE — a small computer turns a video stream into a report about what happened. The difficult part is knowing when the evidence is good enough.

September 18, 2026 · by Gene Avakyan

Pixels become observations, observations acquire history, and a mission rule determines what deserves a message.

A car rolls into view, slows, and stops. For a video link, two seconds mean more frames. For an event watcher, they establish that a previously moving vehicle has stopped long enough to satisfy a predefined temporal mission rule.

At Edison Aerospace, we are developing TRACE around that distinction. Our prototype takes recorded road video, follows passenger vehicles, and reports when one has previously moved and then remained visually stationary for more than two seconds. Buses are excluded. So are cars that were parked throughout the observed episode. It is a modest example with a consequential requirement: the computer must remember what happened before the current picture.

Object recognition alone cannot do this. A detector can label a car in six hundred consecutive frames without establishing a single stop event. Motion detection also falls short. Windblown trees, camera shake, and ordinary traffic all move; a stopped vehicle may be the very thing that matters. Temporal reasoning ties observations to a rule and keeps track of whether its conditions have actually been met.

Pipeline diagram: camera pixels become detections, detections acquire track history, and a temporal mission rule decides which events deserve a message.
From pixels to events: detection, track history, and the mission rule.

That changes what leaves the sensor. Instead of sending every image, the system can describe an anonymous track, its observed behavior, its location in the image, and the relevant timestamps. Here, ‘who’ means a temporary track identifier, not a person’s identity or a vehicle owner’s name. Geographic coordinates would require additional camera and navigation calibration. The prototype deliberately leaves them unspecified.

Consider a car that pauses and then accelerates. Its partial stop can be recorded without declaring the mission satisfied. A bus can be visible yet excluded. An obscured car can remain unknown. These distinctions let the recipient track the progress of an event, rather than confuse every detection with an alarm. They also prevent a tempting shortcut: calling half the required waiting time fifty percent certainty.

The software has to remember

Stop event sequence: a moving vehicle is tracked, comes to a stop, and the two-second temporal rule is satisfied before an event is reported.
A stop requires prior movement and a continuous observed interval. Missing observations do not count as stopped time.

The hardware is familiar: a Raspberry Pi 5 and an NVIDIA Jetson Orin Nano, with an Ubuntu laptop receiving the resulting data. We replayed identical files on both boards so camera placement would not confound the comparison. The Pi used its CPU; the Orin used CUDA acceleration. These were laboratory video replays, not airborne demonstrations.

The perception stack combines pretrained YOLOv8n weights through Ultralytics with ByteTrack, which associates detections across frames. OpenCV registers background features to compensate for modest camera movement. A Python state machine, StopEngine, then evaluates the track’s history. It requires evidence of prior motion, tests stationarity within an image tolerance, and measures elapsed source-video time. That last detail matters when processing runs slower than playback.

The system emits structured JSON records containing the predicate, track, location, timestamps, criteria, and uncertainty. A detection score is not presented as the probability that the whole event is true. Losing sight of a car resets the stop clock; a short, geometrically consistent reacquisition can retain the earlier evidence that it moved. Longer gaps or ambiguous identity invalidate that history. Silence must not become invented certainty.

In our selected first-minute example, both boards reported the stop at 41.3 seconds. Both also detected a supplementary positive example and withheld a stop report when a control clip began with the car already stationary. These are development examples, not an independent accuracy benchmark. Using the same cached observations, changing the required stop from two seconds to five moved the report to 44.3 seconds; requiring twenty seconds produced no match.

That experiment separates the mission from the detector. No new vehicle training was needed to change the duration rule. New viewpoints, unfamiliar objects, and difficult weather may still require better data and model adaptation. The rule engine cannot repair observations that were never reliable.

The code keeps those responsibilities separate. passenger_stop.py handles video and perception; stop_event.py implements the temporal rules; compact_transport.py packages the records. Frozen input and model checksums make repeat runs traceable. Sequence numbers and integrity checks reveal missing or damaged packets. Such plumbing is less glamorous than a neural network, but it determines whether a ground station receives a trustworthy record of what the software actually reported.

A smaller message still needs evidence

Future field concept: mission-relevant event reports travel over a separate low-power data link while full imagery remains available for later review.
Future field concept: mission-relevant reports travel over a separate data link while imagery remains available for later review.

The bandwidth difference is measurable. Our first-minute diagnostic stream occupied 1.31 megabytes. Lossless packing into independently compressed, quarter-second batches reduced it to 232,548 bytes, including application framing. That was 98.59 percent smaller than the tested H.265 file. Every semantic record survived reconstruction at the receiver, including uncertainty. Network overhead was excluded, and the codec comparison was preliminary rather than an optimized equal-quality contest.

Preserving records does not prove that their conclusions are correct. One H.264 replay missed the stop, exposing sensitivity to compression and tracking. Speed remains unfinished too: an Orin measurement processed sixty seconds of video in roughly 141 seconds. Its average board-power increase over idle was about 2.26 watts, measured through onboard telemetry, not an independently calibrated camera-and-radio power budget.

Smaller reports nevertheless open a useful design path. Low-power, long-range radios such as LoRa suit small messages rather than continuous video. Our complete diagnostic stream is not yet suitable for the lowest rates: simulated queues overflowed at 10 and 1 kilobit per second. Reaching those links requires event prioritization, compact summaries, and explicit handling of lost or delayed reports. Radio range and interference resilience still require field tests.

For military logistics, a future mission could flag a supply vehicle that stops and blocks an access route, or a perimeter gate left open after a crossing. A police traffic team could request alerts for a car remaining in an emergency lane while ignoring parked vehicles outside it. Search-and-rescue crews could review where activity appeared and then ceased. These are proposed applications requiring validation, not capabilities demonstrated by the road test; no alert establishes identity, hostile intent, or guilt.

The benefit extends beyond saving bandwidth. Mission-specific alerts could reduce irrelevant interruptions, while searchable event timelines help operators find an episode without watching hours of footage. Preserving timestamps, mission settings, model versions, and retrievable imagery supports review of false alarms and accountability for decisions. Human reviewers still need access to contrary evidence and uncertainty. Otherwise we have merely replaced an overloaded video channel with a quieter source of mistakes.

← Back to News