Devices, such as wearable devices, may be implemented with an always on computer vision interface. Such an always on computer vision interface may provide the device the ability to respond to stimuli visible to the device in a meaningful way such as by fully powering on, illuminating a display, interacting with the stimulus, or the like, even if the device is otherwise idle. For example, an always on computer vision interface may detect a change in a scene such as a hand of a user appearing and respond in a meaningful way to the detected change such as by implementing a device function based on a gesture made by the user, or the like.
However, wearable devices and the like, may create a number of difficulties for computer vision techniques due to their limited power budgets (e.g., such devices are typically expected to operate on battery power for extended periods of time) and the context of their usage. For example, such computer vision interfaces may need to detect, track, and recognize objects that appear in front of a camera of the device with little or no latency to provide a compelling user experience. Furthermore, full execution of computer vision tasks on entire image frames attained via the device may be suboptimal in terms of power efficiency and, in some cases, may be redundant. For example, when a camera of a device is observing a static scene, computer vision tasks may not need to be performed after an initial scene analysis is complete. Any subsequent computer vision tasks should be triggered by a change in the scene, for example. Furthermore, wearable devices and other small devices may move as the wearer's body moves causing the range of motion and amplitude of random jitter and the like to be substantially larger than in other computer vision contexts.
Current techniques for detecting a change in a scene may not resolve such difficulties, particularly for wearable devices. For example, current techniques may include video surveillance techniques that presume a static camera position and use background modeling to detect changes in captured video, optical flow based techniques, phase detection techniques, and block matching techniques. As discussed, wearable device implementations may not provide a static camera position and optical flow based techniques, phase detection techniques, and block matching techniques may handle only limited ranges of global and local motion. Furthermore, such techniques may require the storage of several previous frames in memory, which may not be feasible in the discussed power limited scenarios.
It may be advantageous to provide an always on computer vision interface that is power efficient and applicable in cases of relatively large global motion by the device. It is with respect to these and other considerations that the present improvements have been needed. Such improvements may become critical as the desire to provide high quality images becomes more widespread.