Designing for energy-efficient vision-based interactivity on mobile devices Miguel Bordallo Center for Machine Vision Research
Objective of the research To gain understanding on how to build the future mobile plaftorms in order to satisfy their interactivity requirements To provide insight into the computing needs and characteristics of the future camera-based applications
Smartphones are not smart Current mobile devices lack interactivity – Unable to detect if you hold them – Unable to detect if you are looking – Unable to predict your intentions Mobile devices don’t ”watch you” (or listen) – You need to actively indicate what you want – Application launch has VERY high latency
Typical UIs and interaction methods Buttons – Reduced functionality Touch screens – Needs (often) two hands operations Motion sensors (+ proximity, light, etc) – Mostly used when the user is ”active”
Vision-based interactivity Using cameras as an Input modality Enables recognizing the context in real time (and to see the user and environment) Current mobile devices integrate touch screen, sensors and several cameras But UI s don’t use them together !! The small size of handheld devices and their multiple cameras and sensors are under-exploited assets
Vision-based UI
Vision-based Interaction methods Interactive image capture Head movement triggers Automatic start of applications
Why don’t* we have these kind of methods on our mobile devices? *(some of them are coming)
Challenges/needs of vision-based interactivity
Very low latency (below 100 ms.)
Challenges/needs of vision-based interactivity Very low latency (below 100 ms.) Computationally costly algorithms
Challenges/needs of vision-based interactivity Very low latency (below 100 ms.) Computationally costly algorithms Sensors (cameras) ”always” on
Challenges/needs of vision-based interactivity Very low latency (below 100 ms.) Computationally costly algorithms Sensors (cameras) ”always” on Energy-efficient solutions
Challenges/needs of vision-based interactivity Very low latency (below 100 ms.) Computationally costly algorithms Sensors (cameras) ”always” on Energy-efficient solutions
Are mobile platforms energy-efficient?
Energy-efficiency on mobile devices Battery life is a critical mobile device feature – App. performance is constrained by battery life Energy efficiency is managed by switching off complete subsystems – Cameras, motion sensors, GPS, CPU cores,... Only ”important” subsystems are always on and responsive (standby mode) – GSM/3G modem, buttons
Battery capacity
Battery vs. CPU frequency
Battery vs. CPU power
Battery vs. talk time
Battery vs. ”active use”* time * Don’t trust these numbers
”Active use”* time * Don’t trust these numbers
Active use vs processor power
Current platforms
How can we improve the energy efficiency of Vision-based interactive applications and UI s?
Offering Computer Vision algorithms and apps as a part of a Multimedia/CV Framework - Filtering, feature detection, robust estimators, classifiers, block matching, - Face detection, motion estimation, blending Avoid the use of the application processor for ”sensing” tasks
Asymmetric multiprocessing (Heterogenous computing) Concurrently use different processors on a mobile device to perform suitable tasks Processors identical (multicore) or heterogenous (CPU+GPU+DSP+CoDec)
GP-GPU-based interaction acceleration GPUs are present in most modern mobile devices GP-GPU exploits GPUs for general purpose algorithms Mobile GPUs have architectural advantages Computer Vision on GPUs very popular field but.... Cameras and sensors lack fast data transfer Image formats not always compatible IDE and interfaces not mature (OpenCL, OpenGL ES)
Sensor processor assisted context recognition Dedicated chips for sensor/camera processing – IVA2+, ISP Based on DSP processors + HW codecs Good interconnections with sensors/cameras Reasonably good performance/efficiency but... Complicated and obscure interfaces – Access not always allowed to regular developer Limited flexibility
Dedicated computing for vision-based User Interfaces Dedicated (programmable) architectures offer: – Incredibly high performance (Hybrid SIMD/MIMD) or.. – Extremely good energy efficiency (TTA) but... Not incorporated into current devices – Not likely to be anytime soon
Performance of different processors Platform: OMAP3530 (Nokia N900)
Performance of different processors Platform: OMAP3530 (Nokia N900)
Performance of different processors Platform: OMAP3530 (Nokia N900)
Performance of different processors Platform: OMAP3530 (Nokia N900)
Battery discharge time (constant load) 1320mAh Battery time (h) Power consumed (mW)
Battery discharge time (constant load) Battery time (h) Power consumed (mW)
Battery discharge time (constant load) 2100 mAh Battery time (h) Power consumed (mW)
Battery discharge time (constant load) Battery time (h) Power consumed (mW)
Battery discharge time (constant load) 7000 mAh !! Battery time (h) Power consumed (mW)
Battery discharge time (constant load) Battery time (h) Power consumed (mW)
Battery discharge time (constant load) Battery time (h) Power consumed (mW)
Battery discharge time (constant load) Battery time (h) Power consumed (mW) ”Knee” region Standby zone Active-use zone
Battery discharge time (constant load) Battery time (h) Power consumed (mW)
Battery discharge time (constant load) VB UI (active state) Battery time (h) Power consumed (mW)
Battery discharge time (constant load) VB UI (active state) Battery time (h) Power consumed (mW)
Battery discharge time (constant load) VB UI (active state) Battery time (h) Power consumed (mW)
Designing for interactivity Mobile devices need architectural changes to incorporate Vision-Based Uis Small footprint processors close to the sensors Sensors ”always” ON at a small framerate Only processed data arrives to the application processor
Current platforms
IRcam QVGA IRcam VGA
IRcam QVGA IRcam VGA
Thanks! ???? ? ?? ? ? ? Any question? ? ? ? ? ? ? ? ?? ???