SlideShare una empresa de Scribd logo
1 de 17
Sensore virtuale di stati
ambientali per Android



       Relatore                Candidato
Prof. Vittorio Scarano      Angelo Santarella
Sensori

• I sensori sono tra le innovazioni più
  interessanti introdotte nel mondo
  consumer di massa.
• Creano macchine che sanno
  “sentire”, quindi recepire nuovi input.
• Nuovi input possono essere
  rappresentati dall’utilizzo
  dell’accelerometro, dalla voce o degli
  altri sensori.




                                            2
Sensore Virtuale di Stati Ambientali
           per Android
• Il sensore virtuale di stati ambientali per Android è una
  libreria che permette il riconoscimento degli scenari
  ambientali in cui il dispositivo Android può trovarsi.

• La libreria utilizza l’accelerometro, il microfono e il sensore di
  prossimità per rendere possibile il riconoscimento automatico
  di:
   – stati di movimento (fermo, auto, cammino, corsa)
   – livelli di rumore (NOISY, NOISELESS)
   – copertura fisica del device (BOXED, UNBOXED)
   – ringer mode (MOD_SILENCED, MOD_NORMAL)


                                                                   3
Analisi dati accelerometro

Obiettivo: riconoscimento automatico del maggior numero
  possibile di scenari di movimento, rilevabili con
  l’accelerometro tramite analisi dei dati.

Operazioni effettuate per il riconoscimento degli stati di
  movimento:
• Rilevazioni possibili stati di movimento
• Analisi della varianza
• Catalogazione stati di movimento
• Inserimento stati di incertezza ed errore


                                                             4
Rilevazioni Accelerometro
                      Fermo                                                                                   Auto
25                                                                                     25
20                                                                                     20
15                                                                                     15
10                                                                                     10
 5                                                                      Asse x          5                                                                 Asse x
 0                                                                      Asse y          0                                                                 Asse y
 -5 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89   Asse z         -5 1 5 9 1317212529333741454953576165697377818589                  Asse z
-10                                                                                -10
-15                                                                                -15
-20                                                                                -20
-25                                                                                -25



                          Cammino                                                                          Corsa
                                                                                 25
25                                                                               20
20                                                                               15
15                                                                               10
10
                                                                                  5                                                                       Asse x
 5                                                                      Asse x
                                                                                  0                                                                       Asse y
 0                                                                      Asse y
                                                                                  -5 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85       Asse z
 -5 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89   Asse z
                                                                                 -10
-10
-15                                                                              -15

-20                                                                              -20
                                                                                                                                                      5
-25                                                                              -25
Grafici delle analisi
                       Fermo                                                  50                              Auto
50
45                                                                            45

40                                                                            40
35                                                                            35
30                                                                            30
                                                                 VarianzaX                                                                          VarianzaX
25                                                                            25
                                                                 VarianzaY                                                                          VarianzaY
20                                                                            20
15                                                               VarianzaZ                                                                          VarianzaZ
                                                                              15
10                                                                            10
5
                                                                              5
0
                                                                              0
     1 6 111621263136414651566166717681869196
                                                                                   1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96



                            Cammino                                                                        Corsa
50                                                                                 50
45                                                                                 45
40                                                                                 40
35                                                                                 35
30                                                                                 30
                                                                  VarianzaX                                                                           VarianzaX
25                                                                                 25
                                                                  VarianzaY                                                                           VarianzaY
20                                                                                 20
15                                                                VarianzaZ        15                                                                 VarianzaZ

10                                                                                 10
 5                                                                                  5
 0                                                                                  0
                                                                                                                                                       6
     1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96                          1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
Soglie accelerometro
                   45
                  120
                  100                             ERROR                                  100
                   40
                  80
                  35
                  …
                  30                                                                       …
Varianza(m/s^2)




                  25                                                         25.5              25.5

                  20                                            20.5                20
                  15
                  10
                   5                                  4.5 3.5          4.5
                                          3.5
                   0    0.1 0   0.5 0.1         0.5
                          ML    UN_M_C      CAR       UN_C_W      WALK       UN_W_R        RUN
                                                Stati di movimento
                                                                                                 7
Analisi Audio

• L’obiettivo è dare un approccio multisensoriale per aumentare
  l’affidabilità delle rivelazioni e il numero di scenari del sensore
  virtuale.
• Analisi audio effettuate usando librerie open source, che
  forniscono il valore dei decibel del rumore presente
  nell’ambiente.
• Gli scenari analizzati riguardano:
    – Ambienti silenziosi
    – Ambiente rumorosi



                                                                    8
-80
      -70
            -60
                  -50
                                         -40
                                                               -30
                                                                     -20
                                                                           -10
                                                                                       0
                                                                                   1
                                                                                   4
                                                                                   7
                                                                                  10
                                                                                  13
                                                                                  16
                                                                                  19
                                                                                  22
                                                                                  25
                                                                                  28
                                                                                  31
                                                                                  34
                                                                                  37
                                                                                  40
                                                                                  43
                                                                                  46
                                                                                  49
                                                                                  52
                                                                                  55
                                                                                  58
                                                                                  61
                                                                                  64
                                                                                  67
                                                                                  70
                                                                                  73
                                                                                  76
                                                                                  79
                                                                                  82
                                                                                  85
                                                                                  88
                                                                                  91
                                                                                  94
                                                                                  97
                                                                                 100
                                                                                           Rilevazioni Audio




                                                                                 103
                                                                                 106
                                                                                 109
                                                                                 112
                                                                                 115
                                                                                 118
                                                                                 121
                                                                                 124
                                                                                 127
                                                                                 130
9
                                     Auto dB
                        Cammino dB
                                               Silenzioso dB
Soglie Audio

                          NOISY          UN_NOISY         NOISELESS
                 0    0
                -10
                -20
                -30
Decibel (dB)




                -40                     -45
                -50           -45
                                                         -55
                -60                              -55
                -70
                -80
                -90
               -100
                                       Stati di rumore          -100

                                                                       10
Progettazione Libreria
                              • La libreria è stata progettata con
                                obiettivo di avere scalabilità e
                                facilità di utilizzo da parte dello
                                sviluppatore.
                              • La libreria restituisce gli stati
                                tramite un vettore dove ogni
                                posizione rappresenta lo stato di
                                un sensore tramite costanti intere:




                                  int[0]        int[1]         int[2]       int[3]

     Motion State:                                                      Ringermode
     MOTIONLESS, CAR, WALK,
     RUN, UN_ML_CAR,                 Proximity           Audio          state:
     UN_CAR_WALK,
                                     State:              State:         MODE_NORMAL, MO
     UN_WALK_RUN                                                        DE_SILENCED
                                                         NOISY, NOIS
                                     BOXED or                                  11
                                                         ELESS, UN_
                                     UNBOXED
                                                         NOISY
Testing

• La libreria è stata convalidata da un gruppo di utenti, con
  l’obiettivo di verificare la validità delle analisi effettuate sulla
  eterogeneità dei dispositivi Android.

• I test funzionali hanno previsto il confronto di tutti gli stati
  ambientali (forniti dalla libreria) con ambienti reali o simulati
  dall’utente.

• I dispositivi finora utilizzati hanno superato tutti i test.



                                                                         12
CaloriesCO2 Counter

         • CaloriesCO2 Counter è
           un’applicazione conta calorie e
           conta CO2 emessa, sviluppata
           usando gli stati di movimento
           forniti dalla libreria.
         • Le calorie consumate e
           l’anidride carbonica emessa
           vengono calcolate ogni 2
           secondi in base agli stati di
           movimento.


                                        13
TelephonyManager

L’applicazione di esempio TelephonyManager ha lo scopo di modificare le
caratteristiche di telefonia del device in modo da adattarle allo stato
ambientale fornito dal sensore virtuale di stati ambientali per Android.




                                                                           14
Features
Le impostazioni di telefonia vengono modificate dopo un controllo degli stati ambientali.
Chiamate:
       – MOTIONLESS:
              • Ambiente silenzioso: diminuisce volume suoneria (2/3 di maxstream)
              • BOXED: imposta max ringtone volume, e attiva vibrazione
              • Modalità silenziosa: attiva vibrazione
       – CAR:
              • Ambiente rumoroso e Unboxed: annuncia chiamata con TTS pronunciando nome chiamante, attiva vivavoce alla
                   risposta, imposta max volume ringtone, TTS, e vivavoce.
              • BOXED: attiva vibrazione
              • Modalità silenziosa : attiva vibrazione
       – WALK&RUN:
              • Modalità silenziosa: attiva vibrazione
              • Altrimenti: imposta max ringtone volume, e attiva vibrazione
SMS:
       – CAR:
              • Se non è in modalità silenziosa e non è Boxed:
                    aumenta volumi, annuncia SMS con TTS pronunciando il nome del mittente, e lancia schermata per la lettura con
                   un tocco dell’ SMS tramite TTS




                                                                                                                             15
Conclusioni

• Il sensore virtuale di stati ambientali è una libreria open
  source capace di riconoscere 10 tipi di scenari ambientali.

• Possibili sviluppi futuri:
   – Inserimento del sensore di luminosità ed altri possibili
     sensori
   – Sviluppi delle applicazioni gratuite TelephonyManager e
     CaloriesCO2 Counter
   – Sviluppo di nuove applicazioni



                                                                16
Grazie per l’attenzione




                          17

Más contenido relacionado

Destacado

Digestive system
Digestive systemDigestive system
Digestive systemArween816
 
Orientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - AcoplamentoOrientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - AcoplamentoLucas pk'
 
Matemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdfMatemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdfLucas pk'
 
Aprendendo inteligência pierluigi piazzi
Aprendendo inteligência   pierluigi piazziAprendendo inteligência   pierluigi piazzi
Aprendendo inteligência pierluigi piazziLucas pk'
 
Matemática Básica - Livro pdf
Matemática Básica - Livro pdfMatemática Básica - Livro pdf
Matemática Básica - Livro pdfLucas pk'
 
ICT-organisatie bij woningcorporaties
ICT-organisatie bij woningcorporatiesICT-organisatie bij woningcorporaties
ICT-organisatie bij woningcorporatiesbimc
 

Destacado (7)

Nganh oto 140716_dnse
Nganh oto 140716_dnseNganh oto 140716_dnse
Nganh oto 140716_dnse
 
Digestive system
Digestive systemDigestive system
Digestive system
 
Orientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - AcoplamentoOrientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - Acoplamento
 
Matemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdfMatemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdf
 
Aprendendo inteligência pierluigi piazzi
Aprendendo inteligência   pierluigi piazziAprendendo inteligência   pierluigi piazzi
Aprendendo inteligência pierluigi piazzi
 
Matemática Básica - Livro pdf
Matemática Básica - Livro pdfMatemática Básica - Livro pdf
Matemática Básica - Livro pdf
 
ICT-organisatie bij woningcorporaties
ICT-organisatie bij woningcorporatiesICT-organisatie bij woningcorporaties
ICT-organisatie bij woningcorporaties
 

Sensore Virtuale di Stati Ambientali per Android

  • 1. Sensore virtuale di stati ambientali per Android Relatore Candidato Prof. Vittorio Scarano Angelo Santarella
  • 2. Sensori • I sensori sono tra le innovazioni più interessanti introdotte nel mondo consumer di massa. • Creano macchine che sanno “sentire”, quindi recepire nuovi input. • Nuovi input possono essere rappresentati dall’utilizzo dell’accelerometro, dalla voce o degli altri sensori. 2
  • 3. Sensore Virtuale di Stati Ambientali per Android • Il sensore virtuale di stati ambientali per Android è una libreria che permette il riconoscimento degli scenari ambientali in cui il dispositivo Android può trovarsi. • La libreria utilizza l’accelerometro, il microfono e il sensore di prossimità per rendere possibile il riconoscimento automatico di: – stati di movimento (fermo, auto, cammino, corsa) – livelli di rumore (NOISY, NOISELESS) – copertura fisica del device (BOXED, UNBOXED) – ringer mode (MOD_SILENCED, MOD_NORMAL) 3
  • 4. Analisi dati accelerometro Obiettivo: riconoscimento automatico del maggior numero possibile di scenari di movimento, rilevabili con l’accelerometro tramite analisi dei dati. Operazioni effettuate per il riconoscimento degli stati di movimento: • Rilevazioni possibili stati di movimento • Analisi della varianza • Catalogazione stati di movimento • Inserimento stati di incertezza ed errore 4
  • 5. Rilevazioni Accelerometro Fermo Auto 25 25 20 20 15 15 10 10 5 Asse x 5 Asse x 0 Asse y 0 Asse y -5 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 Asse z -5 1 5 9 1317212529333741454953576165697377818589 Asse z -10 -10 -15 -15 -20 -20 -25 -25 Cammino Corsa 25 25 20 20 15 15 10 10 5 Asse x 5 Asse x 0 Asse y 0 Asse y -5 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 Asse z -5 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 Asse z -10 -10 -15 -15 -20 -20 5 -25 -25
  • 6. Grafici delle analisi Fermo 50 Auto 50 45 45 40 40 35 35 30 30 VarianzaX VarianzaX 25 25 VarianzaY VarianzaY 20 20 15 VarianzaZ VarianzaZ 15 10 10 5 5 0 0 1 6 111621263136414651566166717681869196 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 Cammino Corsa 50 50 45 45 40 40 35 35 30 30 VarianzaX VarianzaX 25 25 VarianzaY VarianzaY 20 20 15 VarianzaZ 15 VarianzaZ 10 10 5 5 0 0 6 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
  • 7. Soglie accelerometro 45 120 100 ERROR 100 40 80 35 … 30 … Varianza(m/s^2) 25 25.5 25.5 20 20.5 20 15 10 5 4.5 3.5 4.5 3.5 0 0.1 0 0.5 0.1 0.5 ML UN_M_C CAR UN_C_W WALK UN_W_R RUN Stati di movimento 7
  • 8. Analisi Audio • L’obiettivo è dare un approccio multisensoriale per aumentare l’affidabilità delle rivelazioni e il numero di scenari del sensore virtuale. • Analisi audio effettuate usando librerie open source, che forniscono il valore dei decibel del rumore presente nell’ambiente. • Gli scenari analizzati riguardano: – Ambienti silenziosi – Ambiente rumorosi 8
  • 9. -80 -70 -60 -50 -40 -30 -20 -10 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 Rilevazioni Audio 103 106 109 112 115 118 121 124 127 130 9 Auto dB Cammino dB Silenzioso dB
  • 10. Soglie Audio NOISY UN_NOISY NOISELESS 0 0 -10 -20 -30 Decibel (dB) -40 -45 -50 -45 -55 -60 -55 -70 -80 -90 -100 Stati di rumore -100 10
  • 11. Progettazione Libreria • La libreria è stata progettata con obiettivo di avere scalabilità e facilità di utilizzo da parte dello sviluppatore. • La libreria restituisce gli stati tramite un vettore dove ogni posizione rappresenta lo stato di un sensore tramite costanti intere: int[0] int[1] int[2] int[3] Motion State: Ringermode MOTIONLESS, CAR, WALK, RUN, UN_ML_CAR, Proximity Audio state: UN_CAR_WALK, State: State: MODE_NORMAL, MO UN_WALK_RUN DE_SILENCED NOISY, NOIS BOXED or 11 ELESS, UN_ UNBOXED NOISY
  • 12. Testing • La libreria è stata convalidata da un gruppo di utenti, con l’obiettivo di verificare la validità delle analisi effettuate sulla eterogeneità dei dispositivi Android. • I test funzionali hanno previsto il confronto di tutti gli stati ambientali (forniti dalla libreria) con ambienti reali o simulati dall’utente. • I dispositivi finora utilizzati hanno superato tutti i test. 12
  • 13. CaloriesCO2 Counter • CaloriesCO2 Counter è un’applicazione conta calorie e conta CO2 emessa, sviluppata usando gli stati di movimento forniti dalla libreria. • Le calorie consumate e l’anidride carbonica emessa vengono calcolate ogni 2 secondi in base agli stati di movimento. 13
  • 14. TelephonyManager L’applicazione di esempio TelephonyManager ha lo scopo di modificare le caratteristiche di telefonia del device in modo da adattarle allo stato ambientale fornito dal sensore virtuale di stati ambientali per Android. 14
  • 15. Features Le impostazioni di telefonia vengono modificate dopo un controllo degli stati ambientali. Chiamate: – MOTIONLESS: • Ambiente silenzioso: diminuisce volume suoneria (2/3 di maxstream) • BOXED: imposta max ringtone volume, e attiva vibrazione • Modalità silenziosa: attiva vibrazione – CAR: • Ambiente rumoroso e Unboxed: annuncia chiamata con TTS pronunciando nome chiamante, attiva vivavoce alla risposta, imposta max volume ringtone, TTS, e vivavoce. • BOXED: attiva vibrazione • Modalità silenziosa : attiva vibrazione – WALK&RUN: • Modalità silenziosa: attiva vibrazione • Altrimenti: imposta max ringtone volume, e attiva vibrazione SMS: – CAR: • Se non è in modalità silenziosa e non è Boxed: aumenta volumi, annuncia SMS con TTS pronunciando il nome del mittente, e lancia schermata per la lettura con un tocco dell’ SMS tramite TTS 15
  • 16. Conclusioni • Il sensore virtuale di stati ambientali è una libreria open source capace di riconoscere 10 tipi di scenari ambientali. • Possibili sviluppi futuri: – Inserimento del sensore di luminosità ed altri possibili sensori – Sviluppi delle applicazioni gratuite TelephonyManager e CaloriesCO2 Counter – Sviluppo di nuove applicazioni 16