Telepath: Sensory Offloading for Wearable Devices

Slides:



Advertisements
Similar presentations
Pseudo-Relevance Feedback For Multimedia Retrieval By Rong Yan, Alexander G. and Rong Jin Mwangi S. Kariuki
Advertisements

Measuring PA. What aspects of PA do we measure? Timeframe – day, week, month etc. Sport and exercise vs PA Domains – Leisure time- household / gardening.
Context Awareness System and Service SCENE JS Lee 1 An Energy-Aware Framework for Dynamic Software Management in Mobile Computing Systems.
Accelerometer-based Transportation Mode Detection on Smartphones
TRADING OFF PREDICTION ACCURACY AND POWER CONSUMPTION FOR CONTEXT- AWARE WEARABLE COMPUTING Presented By: Jeff Khoshgozaran.
Watchdog Confident Event Detection in Heterogeneous Sensor Networks Matthew Keally 1, Gang Zhou 1, Guoliang Xing 2 1 College of William and Mary, 2 Michigan.
A Practical Approach to Recognizing Physical Activities Jonathan Lester Tanzeem Choudhury Gaetano Borriello.
© 2013 IBM Corporation Efficient Multi-stage Image Classification for Mobile Sensing in Urban Environments Presented by Shashank Mujumdar IBM Research,
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
SoundSense: Scalable Sound Sensing for People-Centric Application on Mobile Phones Hon Lu, Wei Pan, Nocholas D. lane, Tanzeem Choudhury and Andrew T. Campbell.
Ambulation : a tool for monitoring mobility over time using mobile phones Computational Science and Engineering, CSE '09. International Conference.
July 25, 2010 SensorKDD Activity Recognition Using Cell Phone Accelerometers Jennifer Kwapisz, Gary Weiss, Samuel Moore Department of Computer &
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Low-Power Wireless Sensor Networks
Human Activity Recognition Using Accelerometer on Smartphones
Exploiting Context Analysis for Combining Multiple Entity Resolution Systems -Ramu Bandaru Zhaoqi Chen Dmitri V.kalashnikov Sharad Mehrotra.
Human Tracking System Using DFP in Wireless Environment 3 rd - Review Batch-09 Project Guide Project Members Mrs.G.Sharmila V.Karunya ( ) AP/CSE.
1.Research Motivation 2.Existing Techniques 3.Proposed Technique 4.Limitations 5.Conclusion.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Sensors in android. App being more applicable Keeping track of your heart beat while jogging. Pointing the phone camera towards the night sky to know.
SATIRE: A Software Architecture for Smart AtTIRE R. Ganti, P. Jayachandran, T. F. Abdelzaher, J. A. Stankovic (Presented by Linda Deng)
Secure Unlocking of Mobile Touch Screen Devices by Simple Gestures – You can see it but you can not do it Muhammad Shahzad, Alex X. Liu Michigan State.
Xiangnan Kong,Philip S. Yu An Ensemble-based Approach to Fast Classification of Multi-label Data Streams Dept. of Computer Science University of Illinois.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
Enhancing Mobile Apps to Use Sensor Hubs without Programmer Effort Haichen Shen, Aruna Balasubramanian, Anthony LaMarca, David Wetherall 1.
December 13, G raphical A symmetric P rocessing Prototype Presentation December 13, 2004.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
If you have a transaction processing system, John Meisenbacher
A Software Energy Analysis Method using Executable UML for Smartphones Kenji Hisazumi System LSI Research Center Kyushu University.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
CPE 490/590 – Smartphone Development
Introduction to Mobile-Cloud Computing. What is Mobile Cloud Computing? an infrastructure where both the data storage and processing happen outside of.
Unobtrusive Mobile User Recognition Patent by Seal Mobile ID Presented By: Aparna Bharati & Ashrut Bhatia.
DAC50, Designer Track, 156-VB543 Parallel Design Methodology for Video Codec LSI with High-level Synthesis and FPGA-based Platform Kazuya YOKOHARI, Koyo.
Sparse Coding: A Deep Learning using Unlabeled Data for High - Level Representation Dr.G.M.Nasira R. Vidya R. P. Jaia Priyankka.
Introduction to Machine Learning, its potential usage in network area,
INTRODUCTION TO WIRELESS SENSOR NETWORKS
In the name of God.
Mobile Activity Recognition
Harini Kolamunna Yining Hu Diego Perino Kanchana Thilakarathna
My Tiny Ping-Pong Helper
Outline Introduction Standards Project General Idea
Walk n’ Play Group #8 - Team Murali Krishna Goli Viswanath Patimalla
Realizing the potential of mobile devices as experimental devices: Human computer interface and performance considerations Chiung Ching Ho & C. Eswaran.
Genomic Data Clustering on FPGAs for Compression
Vijay Kumar Kolagani Dr. Yingcai Xiao
Making Exercise Easy Matthew Penk.
Video and Sensor Network Architecture and Displays
Vijay Srinivasan Thomas Phan
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Sentio: Distributed Sensor Virtualization for Mobile Apps
Bluetooth Based Smart Sensor Network
Parallelizing Dynamic Time Warping
08/03/14 Energy Consumption in Mobile Phones: A Measurement Study and Implications for Network Applications REF:Balasubramanian, Niranjan, Aruna Balasubramanian,
CMSC 611: Advanced Computer Architecture
Smita Vijayakumar Qian Zhu Gagan Agrawal
Course Project Topics for CSE5469
Workflow applications
WISDM Activity Recognition & Biometrics Applications of Classification
Approaching an ML Problem
Dynamic Authentication of Typing Patterns
Activity Recognition Classification in Action
Xin Qi, Matthew Keally, Gang Zhou, Yantao Li, Zhen Ren
Uncertainty-driven Ensemble Forecasting of QoS in Software Defined Networks Kostas Kolomvatsos1, Christos Anagnostopoulos2, Angelos Marnerides3, Qiang.
ConText By: Team Flirt.
LO2 – Understand Computer Software
CMSC 611: Advanced Computer Architecture
AUthor:Liang WanG, Tao Gu, Xianping Tao, Jian Lu reporter:何知涵
Presentation transcript:

Telepath: Sensory Offloading for Wearable Devices Songchun Fan, Qiuyun Llull, Benjamin C. Lee Duke University This work was done with my colleague Qiuyun and my advisor Ben at Duke.

Aggregating resources from multiple mobile/wearable devices Scope Aggregating resources from multiple mobile/wearable devices The scope of this paper is to aggregate resources from multiple mobile or wearable devices, that are often carried simultaneously by today’s users.

Continuous-Sensing Wearable Apps for Activity Tracking In this paper, we focus on… In specific, this work focuses on continuous sensing wearable apps, and how aggregated resources can help activity tracking

Today’s wearable devices Computing power Battery capacity As powerful as phones 11% of phones on average If we look at the specs of today’s wearable devices, we notice that todays wearable devices are equipped with computing power that is competitive with phones. They might have even more sensors. However, a smart watch, for example, due to its small size, has only about 11% of a phone’s battery capacity on average. This huge gap contributes to the limited wearable usages.

Continuous Sensing Wearable Apps Activity tracking Gesture recognition Health monitoring …… …… …… On the one hand, wearables are suitable for continuous sensing apps, as they are placed at fixed, convenient positions on users. This makes activity recognition easier and stimulates the growing market of wearable sensing apps. On the other hand, these apps are energy hungry, and the tiny battery in a wearable might not able to support these apps for day long.

Problem: High sensing cost ExampleApp Sensing Sensing Feature Extraction sd_x = 2.36 Computing 2.36 > Threshold => “Running” Classification The problem is the high sensing cost. Let us looks at an example app. It is a watch app that reads the accelerometer data from the sensors, processes it, and classifies if the user is doing a certain activity. The energy cost of this app can be divided into sensing cost and computing cost.

Problem: High sensing cost The cost of sensing dominates the power consumption Computational offloading does not help with sensing The power measurements tell us that the cost of sensing dominates the power consumption, and this is because the main CPU has to be awake to move and process the sensing data Due to the large amount of data, the cost of sensing cannot be mitigated by traditional computational offloading.

One Solution: Wearable Hardware Improvement Energy efficient (main CPU can sleep) Fast (specialized hardware) Not scalable (limited to a few activities) Long development cycles (simulation, ASIC design, verification, tapeout…)

Ideal Solution Energy efficient Fast Scalable for any sensing app Easy to deploy Easy to adapt to existing apps

Our Solution: Offload Sensing + Computing Observation: same user carries multiple devices Motion signals on phone and watch are highly correlated Use phone to take over watch’s sensing and computing Therefore, we propose a software based solution, that is to offloading both sensing and computing to the phone. Our observation is that… And that the motion signals … If such correlation is strong, why not use the phone to …, as a “battery extender”?

Solution: Let Phone Emulate Watch Step 1: Predict what the watch senses Predict

Solution: Let Phone Emulate Watch Step 1: Predict what the watch senses Predict

Solution: Let Phone Emulate Watch Step 2: Activity recognition with watch’s model Activity recognition apps have carefully calibrated classifiers, such as a support vector machine to determine if the user is biking or running based on sd of x-accel, and y-accel. Training data is collected from many users to make the model accurate. Instead of letting developers retrain the model, we want to re-use the model by clone it into the phone. Using the predicted sensing data to make the old model work again.

Solution: Let Phone Emulate Watch Step 2: Activity recognition with watch’s model Watch Biking Running Instead of simple threshold based classifiers, Activity recognition apps have carefully calibrated classifiers, such as a support vector machine to determine if the user is biking or running based on sd of x-accel, and y-accel. Training data is collected from many users to make the model accurate. Instead of letting developers retrain the model, we want to re-use the model by clone it into the phone. Using the predicted sensing data to make the old model work again.

Solution: Let Phone Emulate Watch Step 2: Activity recognition with watch’s model Watch Biking Running clone Instead of simple threshold based classifiers, Activity recognition apps have carefully calibrated classifiers, such as a support vector machine to determine if the user is biking or running based on sd of x-accel, and y-accel. Training data is collected from many users to make the model accurate. Instead of letting developers retrain the model, we want to re-use the model by clone it into the phone. Using the predicted sensing data to make the old model work again.

Design Considerations Phone must accurately predict the watch’s sensing data Must be energy efficient for both devices APIs must be easy to deploy Must handle various device placements Such an approach requires the phone to accurately… In this paper, we focus on the first two design points

Telepath Framework Phone Sensor Drivers Application Clone Watch Use TelepathSensor & TelepathSensorListener Telepath Use SensorManager & SensorEventListener OS Telepath is a shim layer that sits on top of a mobile OS Instead of talking to android sensor api directly, an app’s interface talks to telepath sensor api, which handles remote or local data streams

Telepath Framework Wearable Phone App Front-end User Interface Telepath (Receiver) Telepath (Sender) Computing Computing App Back-end App Clone Sensing Sensing Telepath (Sender) Telepath (Predictor) Verification Operating System Operating System Local Resources Remote Resources Sensors Sensors Data flow Local Data flow Remote Verification & Results

Telepath Predictor Transfer Function Clustering Raw Sensing Wearable Raw Sensing Phone The key technique behind the framework is the predictor. After experiments many algorithms in machine learning and time series analysis, we built a the predictor with two essential components. It contains two parts:

Telepath Predictor Transfer Function Clustering Raw Sensing Wearable Raw Sensing Phone

Transfer Function Modeling (TFM) Describes the relationship between correlated time series Watch’s History of X Phone’s sensing data Other effects The transfer function modeling is a time series analysis technique that captures the relationship… A transfer function is the linear relationship between one time series history and another time series The modeling process is to calculate the coefficients of this function. Telepath borrows this technique to predict the watch’s sensing data from the phone’s.

Telepath Predictor Transfer Function Clustering Raw Sensing Wearable Raw Sensing Phone

Data Clustering Data stationarity Users perform different motions -> data not stationary Each independent activity -> stationary Solution: data clustering -> one TFM for each cluster v0, v1, v2, Nt v’0, v’1, N’t v’’0, v’’1, v’’2, v’’3, N’’t TFM requires the time series data to be stationary. However, we found that… We adopt a hierarchal approach. We segment the time series to be segments, and classify each segment into clusters. Segmentation length: 128 * 0.02 = 2.56s

Training Pipeline A repetitive process that executes daily Wearable Telepath (Logger) Phone Telepath (Logger) Pre-process Computing Transfer Function 1 Server K-means Clustering … Function M Overall, the training pipeline simply collects data, and…, and… this process is repetitive and the transfer function models update everyday, adapts to users A repetitive process that executes daily

Evaluation Baseline: directly using the phone to run watch’s tasks Metrics: accuracy and power Applications App Running Walking Cycling C25K ✔ Endomondo Google Fit Loseit Map My Fitness Map My Hike Map My Ride Map My Run Map My Walk MevoLife Misfit Runkeeper Runtastic Under Armour Record We select top 14 sensing wearable apps in Android app store Common activities

Evaluation: Accuracy Telepath achieves on average 85% accuracy of the watch. Since we don’t know which classifiers are used in those commercial apps, We select 10 classifiers that are commonly used in activity recognition. Each classifier has been previously trained with watch’s data. The y-axis is F1-score. F1 Score = 2 * (precision * recall) / (precision + recall)

Evaluation: Power Telepath extends the watch’s battery life by 2.1x Sending raw sensing data to process in phone Sending extracted features to classify in phone Explain baselines “Transfer battery life” Transfer battery life from phone to watch

Conclusion Collaboration of Devices This work attempts to aggregate sensing resources from multiple mobile devices Wearable Sensing Apps A prototype for sensing data prediction, applied to wearable sensing apps Other Applications? The idea of shared resources can be applied to other use cases for wearable devices. Exploiting Signal Correlations A training and prediction pipeline based on time series analysis and data clustering Extending Wearables Battery Trading 15% accuracy loss for 2x battery life improvement Better Algorithms? Advanced data processing & management schemes can be applied for optimization

Thanks! Any questions ? Read full paper at https://schfan.github.io/files/hotmobile6_0120.pdf. Email me at schfan@google.com if you have any question.

Backup Slides

Telepath Deployment: Code Example w/o Telepath w/ Telepath public class MainActivity extends WearableActivity implements SensorEventListener { SensorManager sensorManager = (SensorManager) getContext().getSystemService(SENSOR_SERVICE); Sensor mSensor = sensorManager.getDefaultSensor( Sensor.TYPE_ACCELEROMETER); sensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_FASTEST); public void onSensorChanged(SensorEvent event){ float[] accel = event.values; double feature = getStandardDeviation(accel ); int label = (int) svm.predict(svmModel, feature); display(label); } public class MainActivity extends WearableActivity implements TelepathSensorListener{ TelepathWear tp = new TelepathWear(context, this); tp.getTelepathSensor(Sensor.TYPE_ACCELEROMETER, SensorManager.SENSOR_DELAY_FASTEST); public void onTelepathEvent(TelepathEvent event){ int label = tp.getResults(event); //dynamic display(label); } @override public int compute(TelepathEvent event){ float[] accel = event.values; double feature = getStandardDeviation(accel ); int label = (int) svm.predict(svmModel, feature); return label; Easily change to use telepath api Developers don’t need to manage device usages or know where the data is from

Evaluation: Accuracy in Activity Recognition Since we don’t know which classifiers are used in those commercial apps, We select 10 classifiers that are commonly used in activity recognition. Here we present the result of using a llinear discriminant classifier to recognize the three activities. The classifier has been previously trained with watch’s data. The y-axis is F1-score. F1 = 2 * (precision * recall) / (precision + recall)

Impact on Latency Logging apps are not latency sensitive Prediction latency per data point is 3.42ms < sampling period

Presentation template by SlidesCarnival Photographs by Unsplash Credits for template Special thanks to all the people who made and released these awesome resources for free: Presentation template by SlidesCarnival Photographs by Unsplash