Surveillance IoT cameras are becoming autonomous: they operate on batteries without connecting to power wires, and run analytics without help from external compute resources. Such autonomous paradigm significantly frees video analytics from privacy concern and deployment constraint. However, they are constrained by limited energy and on-device compute resources.We present a system AutCam to support counting query, an important query class, on autonomous cameras. The system is built atop three key ideas. First, AutCam identifies and utilizes the rich trade-off between sample quality and sample quantity on a given time window. Second, AutCam introduces a split-phase sampling planner to judiciously allocate energy across multiple time windows, and also balance the capture and process energy. Third, AutCam constructs a unified bounded error by integrating the errors from both sampling and inaccurate neural networks. Tested on over 1,000hour videos, our prototype of AutCam can provide good estimation of ground-truth object counts with bounded, narrow error under typical solar-harvested energy, and achieve up to 10X energy saving over baselines.
How does AutCam operate?To answer a counting query, Aut-Cam processes sparse samples of image frames, as shown in Figure 1. Over the course of each aggregation window, AutCam periodically wakes up and captures frames. Every N windows (i.e. a planning horizon), AutCam materializes per window aggregated counts: it counts objects on captured frames by running neural nets (called NN object counters) on individual frames; based on per frame object counts, AutCam derives per window aggregated counts for all these windows. The notion of planning horizon is common in energyconstrained systems [52]; it gives the systems essential headroom for planning energy use over long timespans.