SlideShare a Scribd company logo
1 of 47
Download to read offline
Motion Recognition with Android devices
             Gabor Paller
        gaborpaller@gmail.com
             Sfonge Ltd.
Setting the context
●   Sensors in smart phones are part of the context-
    aware computing vision.
    ●   “context awareness refers to the idea that computers can
        both sense, and react based on their environment.”
    ●   Location is the most traditional context variable
●   Our goal:
    create context-aware applications on today's smart
    phones that process the motion context variable
    ●   Generate “motion” information from raw sensor data – we
        will concentrate on this
    ●   Use that information in the application – that's your job :-)
Motion sensors
●   Sensors that can be used to detect motion
    ●   Location sources (WiFi, GPS, cellular network)
    ●   Light sensors (e.g. proximity detection)
    ●   Accelerometer
    ●   Gyroscope
Acceleration

Acceleration caused by            Acceleration caused by the change
the change of direction                        of velocity




                                      v1          dV
  dV
               v2

                                            v2
       v1
                             ΔV
                          a=
                             Δt
Accelerometer

●   First smart phone with built-in accelerometer: Nokia 5500
    “sport device”: 2005 Q3 (Symbian)
●   Android supports accelerometer sensor even from pre-1.0 API
●   One frequent type in Android phones: Bosch BMA150
    ●   One-chip solution with internal electro-mechanic structure
    ●   -2g - +2g/-4g - +4g/-8g - +8g (10 bit resolution)
    ●   “Any motion” interrupt mode
    ●   Built-in thermometer
Gyroscope
●   Very new phenomenon as gyroscopes suitable for consumer
    electronic devices appeared very recently
●   First appearance: Wii Motion Plus accessory, 2009 June
●   Android supports gyroscope sensor even from pre-1.0 API
●   First Android smart phone: Nexus S (end of 2010)
●   Example: InvenSense MPU-3000
    ●   One-chip solution with internal electro-mechanic structure
    ●   Measures rotation along 3 axes
    ●   16 bit resolution
Compass
●   Measures the device orientation wrt. the magnetic
    vector of the Earth
    ●   This vector points toward the magnetic center of the
        Earth – mainly down
    ●   It has a component that points to the magnetic North
        pole – that's what we use for orientation
    ●   If, however, the device is not held horizontally, the
        downward vector element influences the measurement
    ●   Also sensitive for all sorts of metal objects
●   Consequence: can be used for motion detection
    only in special cases
Android sensor support
●   In android.hardware.SensorManager
    ●   Listing sensors
    ●   Sensor sampling
    ●   Some processing functions like vector
        transformations
●   In competing platforms:
    ●   Snap, shake and double tap (with accelerometer)
        detection in bada
    ●   Shake detection in iOS
Sampling the sensors
●   With what frequency?
●   With what sampling precision?
●   With what battery budget?
A word from our sponsor
●   The samples were captured with this tool:
    http://mylifewithandroid.blogspot.com/2010/04/
    monitoring-sensors-in-background.html
●   The samples were analyzed with the open-
    source mathematics software called Sage
    http://www.sagemath.org/
Sampling frequency
●   Android API allows you to define the sampling
    frequency only in relative, symbolic way.
    ●   SENSOR_DELAY_NORMAL
    ●   SENSOR_DELAY_UI
    ●   SENSOR_DELAY_GAME
    ●   SENSOR_DELAY_FASTEST
Nexus 1
Label      Average     Maximum       Minimum
          frequency    frequency    frequency

NORMAL      4.09 Hz      4.34 Hz      2.08 Hz



  UI        9.87 Hz      11.11 Hz     4.14 Hz



 GAME       16.16 Hz     20.24 Hz     4.33 Hz



FASTEST     24.45 Hz     33.13 Hz     4.34 Hz
Sony-Ericsson x10 mini
Label      Average     Maximum       Minimum
          frequency    frequency    frequency

NORMAL      4.74 Hz      4.81 Hz      4.49 Hz



  UI        14.15 Hz     14.19 Hz     11.64 Hz



 GAME       32.55 Hz     32.84 Hz     22.75 Hz



FASTEST     94.77 Hz     96.44 Hz     37.68 Hz
Sampling precision:
  even sampling
Sampling precision:
 uneven sampling
Variation of sampling period
 Consecutive sampling periods in milliseconds




            Nexus 1, FASTEST sampling rate
Percentage of uneven sampling
     periods (NORMAL)
 Percentage of sampling period times out of the x% band
       compared to the average sampling period




               Nexus1, NORMAL sampling rate
Percentage of uneven sampling
     periods (FASTEST)
 Percentage of sampling period times out of the x% band
       compared to the average sampling period




               Nexus1, FASTEST sampling rate
Battery cost
●   Measurement method:
    ●   Nexus1
    ●   Reference measurement:
        –   airplane mode
        –   fully charged
        –   undisturbed for the whole night (about 8 hours)
        –   Consumption measured by the battery graph application in %
        –   0.25% battery consumption per hour
    ●   Measurements
        –   airplane mode
        –   fully charged
        –   undisturbed for the whole night
        –   sensor sampling with the specified speed
        –   empty sensor event processing callback
Battery cost


                 Battery consumption
Sampling speed
                       (%/hour)

   NORMAL               1.71

      UI                3.19

    GAME                3.27

  FASTEST               3.41
Experiences
●   There are significant differences in the sampling frequency
    values of different phone models
●   The sampling frequency is not stable, there are interruptions
    (sampling is not the most important activity of the phone)
●   The lower the sampling frequency is, the smaller the sampling
    period variation is
●   There is significant battery cost associated with sampling
●   NORMAL sampling frequency has significantly lower battery
    consumption than the others
Consequences
●   Try to use NORMAL sampling frequency if you
    can
●   If you have to measure precisely, use the time
    stamp that comes with the sensor event and
    interpolate
●   Deactivate sampling in case you don't need it
    ●   This advice does not help background motion
        monitoring applications
Extract motion information from
              accelerometer data
●   Accelerometer data is a vector, having 3 axes (x,y,z)
●   This vector has the following components:
    ●   Gravity acceleration
        –   Pointing toward the center of the Earth
        –   Value of about 10 m/s2
        –   That's what we measure when the accelerometer is used to calculate tilt
    ●   Any other acceleration the device is subject to
        –   Added to the gravity acceleration
        –   “Disturbs” tilt measurement in gaming (swift movements cause
            acceleration) – hence the reason for gyroscopes
        –   Can be used for movement detection
Measured acceleration
Absolute value vs. orientation
●   In most of the use cases we don't know the
    orientation of the device
    ●   E.g. the device is in the trouser pocket or held
        casually in the hand – how is the device's z axis
        orientated wrt. the downward axis (pointing to the
        Earth)?
●   In these cases we can use only the length of
    the acceleration vector
    ●   Vector-addition of the gravity acceleration and the
        motion acceleration
Absolute value
●   x, y, z: acceleration vector components
●   g – value of the gravity acceleration (can be
    approximated as 10)


             a= √ x +y +z −g
                     2     2    2
Some simple movements
●   Useful gestures (inspired by bada)
    ●   Snap – one shake
    ●   Shake – repeated shakes
    ●   Double-tap – tapping on the device (anywhere, not
        only on active touch screen)
        –   On inactive touch screen
        –   On the device body
Snap – one way accelerating
         Movement starts:

                Movement ends: decelerating
Snap – two way
                   Movement direction reverses




Movement starts:    Movement ends:
accelerating        decelerating
5 shakes
                Direction reverses




Movement
starts:
accelerating

                                     Final deceleration
Double-tap




Phone was laying on the table, its body (not touch screen) was tapped
5 shakes while walking




Walking, phone held in swinging hand, 5 shakes mid-stride
Separating movements in the
     frequency domain
                        Walking     Shaking
                                                          Walking
                                                          Walking+shaking




                                                                   Hz
 64-point Fast Fourier Transform performed at samples 50 and 200
High-pass filter for separating the
              shakes




                                                                        Hz

Frequency characteristics of the IIR filter designed with the following Sage command:

scipy.signal.iirdesign(5.0/12.5,4.0/13.5,0.1,40.0)
Applying the filter




 4 shakes can be reliably recognized
Some complicated movements
●   Periodic movements can often be recognized
    ●   Beware of sum of movements – often they cannot be separated into components,
        particularly if they have similar frequency
    ●   You can try to use an additional sensor like the gyro to help the separation
●   Placement of the phone is crucial
    ●   Where on the body?
        –   Torso (shirt, trouser pocket)
        –   Hand, swinging
        –   Hand, fixed (like user watching the display while walking)
        –   Legs
    ●   Although placement is “casual” (as opposed to precise placement used in
        professional measurements), extreme cases make movement recognition
        impossible
        –   Like phone in a loose trouser pocket which moves partly independently from the body
Phone in swinging hand while
          walking
             Arm swings forth
               Arm swings back
Phone in steady hand while walking
                                 Steps
                                  Sole bounce-back




          Phone held in hand with display upward,
      position relative to the body is (reasonably) fixed
Shirt pocket, walking
        More pronounced sole bounce-back
Trouser pocket, walking




High level of noise caused by the complex movement of the waist when walking
Shoe, walking
         Very strong bounce-back effect
Horror: loose trouser pocket
Example application: Activity Level
            Estimator (ALE)
●   Current research at the University of Geneva
    (Contact persons: Dr. Katarzyna Wac and Jody Hausmann)
●   An Android application made for users that want to monitor
    their level of physical activity during the whole day and not only
    during sports activities
●   Detects the intensity of the body movement to determine the
    user's level of activity and calories burned
●   Prototype actually developed at the University of Geneva and
    for the European project called TraiNutri
Example application: Activity Level
            Estimator (ALE)
●   Current research at the University of Geneva
●   An Android application made for users that want to
    monitor their level of physical activity during the whole
    day and not only during sports activities
●   Detects the intensity of the body movement to
    determine the user's level of activity and calories
    burned
●   Prototype actually developed at the University of
    Geneva and for the European project called TraiNutri
How it works
●   The raw accelerometer signal is
    ●   filtered, analyzed, converted to kcal
●   The accelerometer is running in the background as
    long as the application is active
●   The battery consumption is high, but possible to have
    more than 22 hours per day in a normal use
●   Tested and validated in a controlled lab vs Indirect
    Calorimetry (the gold standard in medicine)
●   Average accuracy : 90.23% for walking activities
●   http://www.qol.unige.ch/research/ALE.html
Activity Level Estimator
Room for improvement
●   Low-hanging fruit: framework for “easy” signals
    like snap, shake and double-tap
    ●   iOS and bada are ahead of Android with these ones
●   More difficult but important: exploit the sensor
    circuits' “wake on motion” feature to facilitate
    background motion analysis without excessive
    battery consumption
●   Nice to have: less variance in sampling period
    times

More Related Content

What's hot

Exploration and Coverage for Autonomous Vehicles
Exploration and Coverage for Autonomous Vehicles Exploration and Coverage for Autonomous Vehicles
Exploration and Coverage for Autonomous Vehicles Chouaieb NEMRI
 
Using the GPS for people tracking
Using the GPS for people trackingUsing the GPS for people tracking
Using the GPS for people trackingArgongra Gis
 
feature processing and modelling for 6D motion gesture database.....
feature processing and modelling for 6D motion gesture database.....feature processing and modelling for 6D motion gesture database.....
feature processing and modelling for 6D motion gesture database.....jcmcsiit
 
Use of internal sensors of tablets and smarphones in physics #scichallenge2017
Use of internal sensors of tablets and smarphones in physics   #scichallenge2017Use of internal sensors of tablets and smarphones in physics   #scichallenge2017
Use of internal sensors of tablets and smarphones in physics #scichallenge2017Matouš Pikous
 
Total station topcon exp procedures
Total station topcon exp proceduresTotal station topcon exp procedures
Total station topcon exp proceduresNAGESH KUMAR GUTURU
 
Total station Surveying
Total station SurveyingTotal station Surveying
Total station SurveyingKiran M
 
Computer mouse.pptx
Computer mouse.pptxComputer mouse.pptx
Computer mouse.pptxgadhon
 
Build Your Own VR Display Course - SIGGRAPH 2017: Part 3
Build Your Own VR Display Course - SIGGRAPH 2017: Part 3Build Your Own VR Display Course - SIGGRAPH 2017: Part 3
Build Your Own VR Display Course - SIGGRAPH 2017: Part 3StanfordComputationalImaging
 
IRJET- Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...
IRJET-  	  Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...IRJET-  	  Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...
IRJET- Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...IRJET Journal
 

What's hot (20)

Lecture 10: Summary
Lecture 10: SummaryLecture 10: Summary
Lecture 10: Summary
 
Exploration and Coverage for Autonomous Vehicles
Exploration and Coverage for Autonomous Vehicles Exploration and Coverage for Autonomous Vehicles
Exploration and Coverage for Autonomous Vehicles
 
Total station
Total stationTotal station
Total station
 
Using the GPS for people tracking
Using the GPS for people trackingUsing the GPS for people tracking
Using the GPS for people tracking
 
feature processing and modelling for 6D motion gesture database.....
feature processing and modelling for 6D motion gesture database.....feature processing and modelling for 6D motion gesture database.....
feature processing and modelling for 6D motion gesture database.....
 
Total station corrections
Total station correctionsTotal station corrections
Total station corrections
 
Smart car
Smart carSmart car
Smart car
 
Use of internal sensors of tablets and smarphones in physics #scichallenge2017
Use of internal sensors of tablets and smarphones in physics   #scichallenge2017Use of internal sensors of tablets and smarphones in physics   #scichallenge2017
Use of internal sensors of tablets and smarphones in physics #scichallenge2017
 
Total station
Total stationTotal station
Total station
 
Sensors
SensorsSensors
Sensors
 
Resume
ResumeResume
Resume
 
Total Station & GPS
 Total Station & GPS Total Station & GPS
Total Station & GPS
 
Total station topcon exp procedures
Total station topcon exp proceduresTotal station topcon exp procedures
Total station topcon exp procedures
 
Total station Surveying
Total station SurveyingTotal station Surveying
Total station Surveying
 
Computer mouse.pptx
Computer mouse.pptxComputer mouse.pptx
Computer mouse.pptx
 
3 a1 lecture 8
3 a1 lecture 83 a1 lecture 8
3 a1 lecture 8
 
Build Your Own VR Display Course - SIGGRAPH 2017: Part 3
Build Your Own VR Display Course - SIGGRAPH 2017: Part 3Build Your Own VR Display Course - SIGGRAPH 2017: Part 3
Build Your Own VR Display Course - SIGGRAPH 2017: Part 3
 
Gps
GpsGps
Gps
 
Total station
Total station Total station
Total station
 
IRJET- Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...
IRJET-  	  Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...IRJET-  	  Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...
IRJET- Implementation of IoT based Dual Axis Photo-Voltaic Solar Tracker ...
 

Viewers also liked

Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in AndroidSurbhi Jain
 
Activity Recognition using Cell Phone Accelerometers
Activity Recognition using Cell Phone AccelerometersActivity Recognition using Cell Phone Accelerometers
Activity Recognition using Cell Phone AccelerometersIshara Amarasekera
 
Human activity recognition
Human activity recognitionHuman activity recognition
Human activity recognitionRandhir Gupta
 
Human action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptorHuman action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptorSoma Boubou
 
Child Activity Recognition Using Accelerometer and RFID Reader
Child Activity Recognition Using Accelerometer and RFID ReaderChild Activity Recognition Using Accelerometer and RFID Reader
Child Activity Recognition Using Accelerometer and RFID ReaderIJRES Journal
 
Motion design exploring
Motion design exploringMotion design exploring
Motion design exploringSophie Buckle
 
Design in motion动效设计(交互设计新前沿)
Design in motion动效设计(交互设计新前沿)Design in motion动效设计(交互设计新前沿)
Design in motion动效设计(交互设计新前沿)nowit
 
Material design- sujeet kumar mehta
Material design- sujeet kumar mehtaMaterial design- sujeet kumar mehta
Material design- sujeet kumar mehtaSujeet Kumar Mehta
 
R U aBLE? BLE Application Hacking
R U aBLE? BLE Application HackingR U aBLE? BLE Application Hacking
R U aBLE? BLE Application HackingTal Melamed
 
Smart Transitions in User Interface Design
Smart Transitions in User Interface DesignSmart Transitions in User Interface Design
Smart Transitions in User Interface DesignAdrian Zumbrunnen
 
Multi sensor-fusion
Multi sensor-fusionMulti sensor-fusion
Multi sensor-fusion万言 李
 
Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)nikhilus85
 
Wearable Device (Bluetooth Low Energy BLE ) connect with Android
Wearable Device (Bluetooth Low Energy BLE ) connect with  AndroidWearable Device (Bluetooth Low Energy BLE ) connect with  Android
Wearable Device (Bluetooth Low Energy BLE ) connect with AndroidAdun Nanthakaew
 
Android Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBarAndroid Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBarrelayr
 
Smart Phone CPU
Smart Phone CPUSmart Phone CPU
Smart Phone CPU오석 한
 
Android internals 00 - Introduction (rev_1.1)
Android internals 00 - Introduction (rev_1.1)Android internals 00 - Introduction (rev_1.1)
Android internals 00 - Introduction (rev_1.1)Egor Elizarov
 
Android internals 08 - System start up, Media subsystem (rev_1.1)
Android internals 08 - System start up, Media subsystem (rev_1.1)Android internals 08 - System start up, Media subsystem (rev_1.1)
Android internals 08 - System start up, Media subsystem (rev_1.1)Egor Elizarov
 

Viewers also liked (20)

Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in Android
 
Activity Recognition using Cell Phone Accelerometers
Activity Recognition using Cell Phone AccelerometersActivity Recognition using Cell Phone Accelerometers
Activity Recognition using Cell Phone Accelerometers
 
Human activity recognition
Human activity recognitionHuman activity recognition
Human activity recognition
 
Human action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptorHuman action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptor
 
Child Activity Recognition Using Accelerometer and RFID Reader
Child Activity Recognition Using Accelerometer and RFID ReaderChild Activity Recognition Using Accelerometer and RFID Reader
Child Activity Recognition Using Accelerometer and RFID Reader
 
Motion design exploring
Motion design exploringMotion design exploring
Motion design exploring
 
Motion Design For Developers
Motion Design For DevelopersMotion Design For Developers
Motion Design For Developers
 
Viral Game Swatch
Viral Game SwatchViral Game Swatch
Viral Game Swatch
 
Design in motion动效设计(交互设计新前沿)
Design in motion动效设计(交互设计新前沿)Design in motion动效设计(交互设计新前沿)
Design in motion动效设计(交互设计新前沿)
 
Material design- sujeet kumar mehta
Material design- sujeet kumar mehtaMaterial design- sujeet kumar mehta
Material design- sujeet kumar mehta
 
R U aBLE? BLE Application Hacking
R U aBLE? BLE Application HackingR U aBLE? BLE Application Hacking
R U aBLE? BLE Application Hacking
 
Smart Transitions in User Interface Design
Smart Transitions in User Interface DesignSmart Transitions in User Interface Design
Smart Transitions in User Interface Design
 
Game controlling via android
Game controlling via androidGame controlling via android
Game controlling via android
 
Multi sensor-fusion
Multi sensor-fusionMulti sensor-fusion
Multi sensor-fusion
 
Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)
 
Wearable Device (Bluetooth Low Energy BLE ) connect with Android
Wearable Device (Bluetooth Low Energy BLE ) connect with  AndroidWearable Device (Bluetooth Low Energy BLE ) connect with  Android
Wearable Device (Bluetooth Low Energy BLE ) connect with Android
 
Android Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBarAndroid Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBar
 
Smart Phone CPU
Smart Phone CPUSmart Phone CPU
Smart Phone CPU
 
Android internals 00 - Introduction (rev_1.1)
Android internals 00 - Introduction (rev_1.1)Android internals 00 - Introduction (rev_1.1)
Android internals 00 - Introduction (rev_1.1)
 
Android internals 08 - System start up, Media subsystem (rev_1.1)
Android internals 08 - System start up, Media subsystem (rev_1.1)Android internals 08 - System start up, Media subsystem (rev_1.1)
Android internals 08 - System start up, Media subsystem (rev_1.1)
 

Similar to Motion recognition with Android devices

Smartphone sensor and gesture
Smartphone sensor and gestureSmartphone sensor and gesture
Smartphone sensor and gestureBhavya5800
 
Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...
Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...
Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...siramatu-lab
 
Virtual reality with glove one – enabling technology
Virtual reality with glove one – enabling technologyVirtual reality with glove one – enabling technology
Virtual reality with glove one – enabling technologyAshwin Ananthapadmanabhan
 
roboticsunit3sensors and -201013084413.pptx
roboticsunit3sensors and -201013084413.pptxroboticsunit3sensors and -201013084413.pptx
roboticsunit3sensors and -201013084413.pptxDrPArivalaganASSTPRO
 
Robotics unit3 sensors
Robotics unit3 sensorsRobotics unit3 sensors
Robotics unit3 sensorsJanarthanan B
 
First fare 2011 sensors for frc robots
First fare 2011 sensors for frc robotsFirst fare 2011 sensors for frc robots
First fare 2011 sensors for frc robotsOregon FIRST Robotics
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)inventionjournals
 
Wearable Computing - Part II: Sensors
Wearable Computing - Part II: SensorsWearable Computing - Part II: Sensors
Wearable Computing - Part II: SensorsDaniel Roggen
 
Hand gesture recognition using ultrasonic sensor and atmega128 microcontroller
Hand gesture recognition using ultrasonic sensor and atmega128 microcontrollerHand gesture recognition using ultrasonic sensor and atmega128 microcontroller
Hand gesture recognition using ultrasonic sensor and atmega128 microcontrollereSAT Publishing House
 
Citron : Context Information Acquisition Framework on Personal Devices
Citron : Context Information Acquisition Framework on Personal DevicesCitron : Context Information Acquisition Framework on Personal Devices
Citron : Context Information Acquisition Framework on Personal DevicesTetsuo Yamabe
 
DSR_Unit-5_Sensors.pptx
DSR_Unit-5_Sensors.pptxDSR_Unit-5_Sensors.pptx
DSR_Unit-5_Sensors.pptxPuneetMathur39
 

Similar to Motion recognition with Android devices (20)

Smartphone sensor and gesture
Smartphone sensor and gestureSmartphone sensor and gesture
Smartphone sensor and gesture
 
Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...
Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...
Supporting System of Improvisational Ensemble Based on User's Motion Using Sm...
 
Sensors 9
Sensors   9Sensors   9
Sensors 9
 
Virtual reality with glove one – enabling technology
Virtual reality with glove one – enabling technologyVirtual reality with glove one – enabling technology
Virtual reality with glove one – enabling technology
 
roboticsunit3sensors and -201013084413.pptx
roboticsunit3sensors and -201013084413.pptxroboticsunit3sensors and -201013084413.pptx
roboticsunit3sensors and -201013084413.pptx
 
Robotics unit3 sensors
Robotics unit3 sensorsRobotics unit3 sensors
Robotics unit3 sensors
 
First fare 2011 sensors for frc robots
First fare 2011 sensors for frc robotsFirst fare 2011 sensors for frc robots
First fare 2011 sensors for frc robots
 
Making sense
Making senseMaking sense
Making sense
 
Mobile Sensors
Mobile SensorsMobile Sensors
Mobile Sensors
 
Base sensor
Base sensorBase sensor
Base sensor
 
Project soli
Project soliProject soli
Project soli
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)
 
Wearable Computing - Part II: Sensors
Wearable Computing - Part II: SensorsWearable Computing - Part II: Sensors
Wearable Computing - Part II: Sensors
 
Mebin progress
Mebin progressMebin progress
Mebin progress
 
Mebin progress
Mebin progressMebin progress
Mebin progress
 
Hand gesture recognition using ultrasonic sensor and atmega128 microcontroller
Hand gesture recognition using ultrasonic sensor and atmega128 microcontrollerHand gesture recognition using ultrasonic sensor and atmega128 microcontroller
Hand gesture recognition using ultrasonic sensor and atmega128 microcontroller
 
Citron : Context Information Acquisition Framework on Personal Devices
Citron : Context Information Acquisition Framework on Personal DevicesCitron : Context Information Acquisition Framework on Personal Devices
Citron : Context Information Acquisition Framework on Personal Devices
 
Soli sensor
Soli sensorSoli sensor
Soli sensor
 
WRAIR
WRAIRWRAIR
WRAIR
 
DSR_Unit-5_Sensors.pptx
DSR_Unit-5_Sensors.pptxDSR_Unit-5_Sensors.pptx
DSR_Unit-5_Sensors.pptx
 

More from Gabor Paller

Towards a floating plastic waste early warning system
Towards a floating plastic waste early warning systemTowards a floating plastic waste early warning system
Towards a floating plastic waste early warning systemGabor Paller
 
Dataflow-based heterogeneous code generator for IoT applications
Dataflow-based heterogeneous code generator for IoT applicationsDataflow-based heterogeneous code generator for IoT applications
Dataflow-based heterogeneous code generator for IoT applicationsGabor Paller
 
Sigfox szenzorfejlesztéssel kapcsolatos tapasztalatok
Sigfox szenzorfejlesztéssel kapcsolatos tapasztalatokSigfox szenzorfejlesztéssel kapcsolatos tapasztalatok
Sigfox szenzorfejlesztéssel kapcsolatos tapasztalatokGabor Paller
 
Energy-efficient operation of GSM-connected infrared rodent sensors
Energy-efficient operation of GSM-connected infrared rodent sensorsEnergy-efficient operation of GSM-connected infrared rodent sensors
Energy-efficient operation of GSM-connected infrared rodent sensorsGabor Paller
 
AgroDat poster at Sensornets 2015 conference
AgroDat poster at Sensornets 2015 conferenceAgroDat poster at Sensornets 2015 conference
AgroDat poster at Sensornets 2015 conferenceGabor Paller
 
Connect your Android to the real world with Bluetooth Low Energy
Connect your Android to the real world with Bluetooth Low EnergyConnect your Android to the real world with Bluetooth Low Energy
Connect your Android to the real world with Bluetooth Low EnergyGabor Paller
 
Advantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingAdvantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingGabor Paller
 
LiveFolders as feeds
LiveFolders as feedsLiveFolders as feeds
LiveFolders as feedsGabor Paller
 
Understanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer toolUnderstanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer toolGabor Paller
 
The dedexer disassembler
The dedexer disassemblerThe dedexer disassembler
The dedexer disassemblerGabor Paller
 

More from Gabor Paller (10)

Towards a floating plastic waste early warning system
Towards a floating plastic waste early warning systemTowards a floating plastic waste early warning system
Towards a floating plastic waste early warning system
 
Dataflow-based heterogeneous code generator for IoT applications
Dataflow-based heterogeneous code generator for IoT applicationsDataflow-based heterogeneous code generator for IoT applications
Dataflow-based heterogeneous code generator for IoT applications
 
Sigfox szenzorfejlesztéssel kapcsolatos tapasztalatok
Sigfox szenzorfejlesztéssel kapcsolatos tapasztalatokSigfox szenzorfejlesztéssel kapcsolatos tapasztalatok
Sigfox szenzorfejlesztéssel kapcsolatos tapasztalatok
 
Energy-efficient operation of GSM-connected infrared rodent sensors
Energy-efficient operation of GSM-connected infrared rodent sensorsEnergy-efficient operation of GSM-connected infrared rodent sensors
Energy-efficient operation of GSM-connected infrared rodent sensors
 
AgroDat poster at Sensornets 2015 conference
AgroDat poster at Sensornets 2015 conferenceAgroDat poster at Sensornets 2015 conference
AgroDat poster at Sensornets 2015 conference
 
Connect your Android to the real world with Bluetooth Low Energy
Connect your Android to the real world with Bluetooth Low EnergyConnect your Android to the real world with Bluetooth Low Energy
Connect your Android to the real world with Bluetooth Low Energy
 
Advantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingAdvantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processing
 
LiveFolders as feeds
LiveFolders as feedsLiveFolders as feeds
LiveFolders as feeds
 
Understanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer toolUnderstanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer tool
 
The dedexer disassembler
The dedexer disassemblerThe dedexer disassembler
The dedexer disassembler
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Motion recognition with Android devices

  • 1. Motion Recognition with Android devices Gabor Paller gaborpaller@gmail.com Sfonge Ltd.
  • 2. Setting the context ● Sensors in smart phones are part of the context- aware computing vision. ● “context awareness refers to the idea that computers can both sense, and react based on their environment.” ● Location is the most traditional context variable ● Our goal: create context-aware applications on today's smart phones that process the motion context variable ● Generate “motion” information from raw sensor data – we will concentrate on this ● Use that information in the application – that's your job :-)
  • 3. Motion sensors ● Sensors that can be used to detect motion ● Location sources (WiFi, GPS, cellular network) ● Light sensors (e.g. proximity detection) ● Accelerometer ● Gyroscope
  • 4. Acceleration Acceleration caused by Acceleration caused by the change the change of direction of velocity v1 dV dV v2 v2 v1 ΔV a= Δt
  • 5. Accelerometer ● First smart phone with built-in accelerometer: Nokia 5500 “sport device”: 2005 Q3 (Symbian) ● Android supports accelerometer sensor even from pre-1.0 API ● One frequent type in Android phones: Bosch BMA150 ● One-chip solution with internal electro-mechanic structure ● -2g - +2g/-4g - +4g/-8g - +8g (10 bit resolution) ● “Any motion” interrupt mode ● Built-in thermometer
  • 6. Gyroscope ● Very new phenomenon as gyroscopes suitable for consumer electronic devices appeared very recently ● First appearance: Wii Motion Plus accessory, 2009 June ● Android supports gyroscope sensor even from pre-1.0 API ● First Android smart phone: Nexus S (end of 2010) ● Example: InvenSense MPU-3000 ● One-chip solution with internal electro-mechanic structure ● Measures rotation along 3 axes ● 16 bit resolution
  • 7. Compass ● Measures the device orientation wrt. the magnetic vector of the Earth ● This vector points toward the magnetic center of the Earth – mainly down ● It has a component that points to the magnetic North pole – that's what we use for orientation ● If, however, the device is not held horizontally, the downward vector element influences the measurement ● Also sensitive for all sorts of metal objects ● Consequence: can be used for motion detection only in special cases
  • 8. Android sensor support ● In android.hardware.SensorManager ● Listing sensors ● Sensor sampling ● Some processing functions like vector transformations ● In competing platforms: ● Snap, shake and double tap (with accelerometer) detection in bada ● Shake detection in iOS
  • 9. Sampling the sensors ● With what frequency? ● With what sampling precision? ● With what battery budget?
  • 10. A word from our sponsor ● The samples were captured with this tool: http://mylifewithandroid.blogspot.com/2010/04/ monitoring-sensors-in-background.html ● The samples were analyzed with the open- source mathematics software called Sage http://www.sagemath.org/
  • 11. Sampling frequency ● Android API allows you to define the sampling frequency only in relative, symbolic way. ● SENSOR_DELAY_NORMAL ● SENSOR_DELAY_UI ● SENSOR_DELAY_GAME ● SENSOR_DELAY_FASTEST
  • 12. Nexus 1 Label Average Maximum Minimum frequency frequency frequency NORMAL 4.09 Hz 4.34 Hz 2.08 Hz UI 9.87 Hz 11.11 Hz 4.14 Hz GAME 16.16 Hz 20.24 Hz 4.33 Hz FASTEST 24.45 Hz 33.13 Hz 4.34 Hz
  • 13. Sony-Ericsson x10 mini Label Average Maximum Minimum frequency frequency frequency NORMAL 4.74 Hz 4.81 Hz 4.49 Hz UI 14.15 Hz 14.19 Hz 11.64 Hz GAME 32.55 Hz 32.84 Hz 22.75 Hz FASTEST 94.77 Hz 96.44 Hz 37.68 Hz
  • 14. Sampling precision: even sampling
  • 16. Variation of sampling period Consecutive sampling periods in milliseconds Nexus 1, FASTEST sampling rate
  • 17. Percentage of uneven sampling periods (NORMAL) Percentage of sampling period times out of the x% band compared to the average sampling period Nexus1, NORMAL sampling rate
  • 18. Percentage of uneven sampling periods (FASTEST) Percentage of sampling period times out of the x% band compared to the average sampling period Nexus1, FASTEST sampling rate
  • 19. Battery cost ● Measurement method: ● Nexus1 ● Reference measurement: – airplane mode – fully charged – undisturbed for the whole night (about 8 hours) – Consumption measured by the battery graph application in % – 0.25% battery consumption per hour ● Measurements – airplane mode – fully charged – undisturbed for the whole night – sensor sampling with the specified speed – empty sensor event processing callback
  • 20. Battery cost Battery consumption Sampling speed (%/hour) NORMAL 1.71 UI 3.19 GAME 3.27 FASTEST 3.41
  • 21. Experiences ● There are significant differences in the sampling frequency values of different phone models ● The sampling frequency is not stable, there are interruptions (sampling is not the most important activity of the phone) ● The lower the sampling frequency is, the smaller the sampling period variation is ● There is significant battery cost associated with sampling ● NORMAL sampling frequency has significantly lower battery consumption than the others
  • 22. Consequences ● Try to use NORMAL sampling frequency if you can ● If you have to measure precisely, use the time stamp that comes with the sensor event and interpolate ● Deactivate sampling in case you don't need it ● This advice does not help background motion monitoring applications
  • 23. Extract motion information from accelerometer data ● Accelerometer data is a vector, having 3 axes (x,y,z) ● This vector has the following components: ● Gravity acceleration – Pointing toward the center of the Earth – Value of about 10 m/s2 – That's what we measure when the accelerometer is used to calculate tilt ● Any other acceleration the device is subject to – Added to the gravity acceleration – “Disturbs” tilt measurement in gaming (swift movements cause acceleration) – hence the reason for gyroscopes – Can be used for movement detection
  • 25. Absolute value vs. orientation ● In most of the use cases we don't know the orientation of the device ● E.g. the device is in the trouser pocket or held casually in the hand – how is the device's z axis orientated wrt. the downward axis (pointing to the Earth)? ● In these cases we can use only the length of the acceleration vector ● Vector-addition of the gravity acceleration and the motion acceleration
  • 26. Absolute value ● x, y, z: acceleration vector components ● g – value of the gravity acceleration (can be approximated as 10) a= √ x +y +z −g 2 2 2
  • 27. Some simple movements ● Useful gestures (inspired by bada) ● Snap – one shake ● Shake – repeated shakes ● Double-tap – tapping on the device (anywhere, not only on active touch screen) – On inactive touch screen – On the device body
  • 28. Snap – one way accelerating Movement starts: Movement ends: decelerating
  • 29. Snap – two way Movement direction reverses Movement starts: Movement ends: accelerating decelerating
  • 30. 5 shakes Direction reverses Movement starts: accelerating Final deceleration
  • 31. Double-tap Phone was laying on the table, its body (not touch screen) was tapped
  • 32. 5 shakes while walking Walking, phone held in swinging hand, 5 shakes mid-stride
  • 33. Separating movements in the frequency domain Walking Shaking Walking Walking+shaking Hz 64-point Fast Fourier Transform performed at samples 50 and 200
  • 34. High-pass filter for separating the shakes Hz Frequency characteristics of the IIR filter designed with the following Sage command: scipy.signal.iirdesign(5.0/12.5,4.0/13.5,0.1,40.0)
  • 35. Applying the filter 4 shakes can be reliably recognized
  • 36. Some complicated movements ● Periodic movements can often be recognized ● Beware of sum of movements – often they cannot be separated into components, particularly if they have similar frequency ● You can try to use an additional sensor like the gyro to help the separation ● Placement of the phone is crucial ● Where on the body? – Torso (shirt, trouser pocket) – Hand, swinging – Hand, fixed (like user watching the display while walking) – Legs ● Although placement is “casual” (as opposed to precise placement used in professional measurements), extreme cases make movement recognition impossible – Like phone in a loose trouser pocket which moves partly independently from the body
  • 37. Phone in swinging hand while walking Arm swings forth Arm swings back
  • 38. Phone in steady hand while walking Steps Sole bounce-back Phone held in hand with display upward, position relative to the body is (reasonably) fixed
  • 39. Shirt pocket, walking More pronounced sole bounce-back
  • 40. Trouser pocket, walking High level of noise caused by the complex movement of the waist when walking
  • 41. Shoe, walking Very strong bounce-back effect
  • 43. Example application: Activity Level Estimator (ALE) ● Current research at the University of Geneva (Contact persons: Dr. Katarzyna Wac and Jody Hausmann) ● An Android application made for users that want to monitor their level of physical activity during the whole day and not only during sports activities ● Detects the intensity of the body movement to determine the user's level of activity and calories burned ● Prototype actually developed at the University of Geneva and for the European project called TraiNutri
  • 44. Example application: Activity Level Estimator (ALE) ● Current research at the University of Geneva ● An Android application made for users that want to monitor their level of physical activity during the whole day and not only during sports activities ● Detects the intensity of the body movement to determine the user's level of activity and calories burned ● Prototype actually developed at the University of Geneva and for the European project called TraiNutri
  • 45. How it works ● The raw accelerometer signal is ● filtered, analyzed, converted to kcal ● The accelerometer is running in the background as long as the application is active ● The battery consumption is high, but possible to have more than 22 hours per day in a normal use ● Tested and validated in a controlled lab vs Indirect Calorimetry (the gold standard in medicine) ● Average accuracy : 90.23% for walking activities ● http://www.qol.unige.ch/research/ALE.html
  • 47. Room for improvement ● Low-hanging fruit: framework for “easy” signals like snap, shake and double-tap ● iOS and bada are ahead of Android with these ones ● More difficult but important: exploit the sensor circuits' “wake on motion” feature to facilitate background motion analysis without excessive battery consumption ● Nice to have: less variance in sampling period times