Nota: Tutte le procedure compreso l'uso di soggetti umani sono state compiute da un modo non-invasivo di semplicemente indossando un paio di occhiali. Tutti i dati sono stati acquisiti attraverso la misurazione dei segnali di forza da celle di carico inserite nei bicchieri che non erano in contatto diretto con la pelle. I dati sono stati trasmessi in modalità wireless al modulo di registrazione dati, che, in questo caso è uno smartphone designato per lo studio. Tutti i protocolli non sono stati collegati in vivo/in vitro studi umani. Nessuna droga e sangue campioni sono stati utilizzati per gli esperimenti. Consenso informato è stato ottenuto da tutti i soggetti degli esperimenti.
1. fabbricazione di un modulo di circuito sensore integrato
-
Acquisto di componenti elettronici per il modulo circuito di produzione.
- Acquisto di due celle di carico tipo di palla, ognuno dei quali opera in un range tra 0 N e 15 N e produce un output di bassa tensione differenziale con portata massima di mV 120 in un'eccitazione V 3.3.
Nota: Queste cellule sono utilizzate per misurare di carico forza segnali su entrambi i lati sinistro e destro dell'occhiale.
- Acquistare due amplificatori per strumentazione e kΩ due 15 resistori di impostazione del guadagno.
Nota: L'amplificatore di strumentazione e la resistenza di impostazione del guadagno sono utilizzati per amplificare il segnale di forza cella di carico otto volte, fino a 960 mV.
- Acquisto di un'unità di micro regolatore (MCU) con funzionalità wireless (ad es., connettività Wi-Fi) e un 10-bit analog-to-digital converter (ADC).
Nota: La MCU viene utilizzata per leggere i segnali di forza e di trasmetterli a un modulo di acquisizione dati in modalità wireless. Poiché un pin di ingresso analogico viene utilizzato per due ingressi analogici forza, l'uso di un multiplexer è stato introdotto nel passaggio successivo 1.1.4.
- Acquistare un multiplexer analogico di due canali che gestisce i due segnali di ingresso con un pin di ADC su MCU.
- Acquistare una batteria al litio polimero (LiPo) con 3,7 tensione nominale V, 300 mAh di capacità nominale e tasso di scarico di 1 C.
Nota: La capacità della batteria è stato scelto per fornire abbastanza corrente per ora più di 200 mAh e far funzionare il sistema affidabile per circa 1,5 h di un esperimento.
- Acquistare un regolatore di tensione V 3.3 per giù-regolazione lineare della tensione della batteria di V 3,7 3,3 V tensione di alimentazione del sistema.
- Resistenze di tipo kΩ dispositivi a montaggio superficiale (SMD) acquisto cinque 12 come resistori di pull-up della MCU. L'impronta delle resistenze è 2,0 x 1,2 mm (dimensione del 2012).
-
Fabbricare schede a circuito stampato (PCB). Questo passaggio è su disegno di circuiti stampati e rendendo l'opera d'arte (cioè, il layout della scheda, il file. BRD) e lo schema elettrico (cioè, il file. sch) per fabbricazione di PCB. Una conoscenza di base del processo di creazione di file di schema e opera d'arte è necessaria per lo sviluppo.
- Disegnare lo schema di un circuito sinistro contenente la batteria utilizzando un'applicazione di progettazione elettronica, come mostrato in Figura 1A. Salvare il risultato come file di schema (. sch) e opera (BRD).
- Disegnare lo schema di un circuito di destro contenente il MCU utilizzando un'applicazione di progettazione elettronica, come mostrato in Figura 1B. Salvare il risultato come file di schema (. sch) e opera (BRD).
- Fabbricare i circuiti da un ordine con un'azienda di fabbricazione di PCB.
- Saldare ogni componente elettronico preparato nel passaggio 1.1 per i PCB come mostrato in Figura 2 e Figura 3.
Attenzione: L'amplificatore di strumentazione è molto sensibile alla temperatura di brasatura. Assicurarsi che piombo temperatura non superi i 300 ° C per 10 s durante la saldatura, altrimenti può causare danni permanenti al componente.
2. 3D stampa di una montatura degli occhiali
- Disegnare il modello 3D del pezzo testa degli occhiali utilizzando uno strumento di modellazione 3D, come mostrato in Figura 4A. Esportare il risultato nel formato di file. STL.
- Disegnare il modello 3D dei templi destro e sinistro dei vetri utilizzando un 3D strumento di modellazione, come mostrato in Figura 4e Figura 4B . Esportare i risultati nel formato di file. STL.
- Stampare le parti pezzo e tempio testa utilizzando una stampante 3D e un filamento di fibra di carbonio a 240 ° C di temperatura dell'ugello e 80 ° C di temperatura letto.
Nota: L'uso di qualsiasi stampante 3D commerciale e tutti i tipi di filamenti come acrilonitrile butadiene stirene (ABS) e polilattide (PLA) può essere consentito. Le temperature di ugello e letto possono essere regolate secondo il filamento e condizioni di stampa.
- Le punte dei templi utilizzando un ventilatore di aria calda di un'impostazione di 180 ° C di calore e piegarle verso l'interno circa 15 gradi per contattare l'epidermide dei temporalis muscle come occhiali convenzionali.
Nota: Il grado di piegamento del tempio occhiali non deve necessariamente essere rigoroso, poiché lo scopo della curvatura è di aumentare il fattore di forma aiutando gli occhiali in forma sulla testa di un soggetto quando equipaggiato. Stare attenti, però, come una piegatura eccessiva impedirà i templi di toccare il muscolo di temporalis, che rende impossibile per raccogliere modelli significativi.
- Ripetere i passaggi dal passaggio 2.1-2.4 per stampare due diverse dimensioni del telaio occhiali per adattarsi a diverse dimensioni di testa come mostrato nella Figura 4.
3. montaggio di tutte le parti degli occhiali
- Inserire i PCB su entrambi i lati dei templi degli occhiali con M2 bulloni, come mostrato nella Figura 5.
- Montare il pezzo di testa e i templi inserendo le viti M2 le articolazioni a cerniera.
- Collegare i PCB di sinistro e destro usando i fili di collegamento a 3 poli, come mostrato nella Figura 5.
- Collegare la batteria al circuito sinistro e fissarlo con nastro adesivo alla tempia sinistra. Il lato di montaggio della batteria non è critico, poiché può variare in base alla progettazione di PCB.
- Coprire i bicchieri con nastri di gomma sulla punta e il nasello per aggiungere più attrito con la pelle umana come mostrato nella Figura 5.
4. sviluppo di un sistema di acquisizione dati
Nota: Il sistema di acquisizione dati è composto da un modulo e un modulo di ricezione dei dati di trasmissione di dati. Il modulo di trasmissione di dati legge il tempo e la forza segnali di entrambi i lati e li invia il modulo di ricezione dati, che raccoglie i dati ricevuti e li scrive in un file TSV.
-
Caricare l'applicazione alla MCU del modulo PCB seguendo le procedure descritte in procedura 4.1.1–4.1.3 di trasmissione di dati.
- Eseguire il progetto di "GlasSense_Server" associato ai file supplementari utilizzando un computer.
Nota: Questo progetto è stato costruito con Arduino integrated development environment (IDE). Fornisce la capacità di leggere il tempo e forza segnali con 200 campioni/s e li trasmette al modulo di ricezione dati.
- Collegare il modulo PCB al computer tramite un connettore universal serial bus (USB).
- Premere il pulsante "Carica" l'IDE di Arduino a lampeggiare i codici di programmazione dal punto 4.1.1 in MCU.
-
Caricare l'applicazione ricevente i dati a uno smartphone, che viene utilizzato per ricevere i dati in modalità wireless, seguendo le procedure descritte in procedura 4.2.1–4.2.3.
- Eseguire il progetto di "GlasSense_Client" associato ai file supplementari utilizzando un computer.
Nota: Questo progetto è stato costruito con c# linguaggio di programmazione. Fornisce la possibilità di ricevere dati e salvare i file TSV, che contengono informazioni di un soggetto, come nome, sesso, età e indice di massa corporea (BMI).
- Collegare lo smartphone al computer tramite un connettore USB per costruire l'applicazione di ricezione dati.
- Premere il pulsante "File > Build & Run" sul progetto c# per compilare l'applicazione di ricezione dati sullo smartphone.
5. raccolta di dati da uno studio di utente
Nota: Questo studio raccolti sei insiemi di attività consigliati: resto sedentario (SR), sedentario da masticare (SC), passeggiate (W), masticare mentre si cammina (CW), sedentario parlante (ST) e sedentario wink (SW).
- Selezionare un paio di occhiali che hanno una dimensione appropriata per l'utente di essere testati. Ottimizzare la tenuta con i bulloni di supporto presso entrambe le cerniere (Figura 5).
Attenzione: I valori di forza non devono superare 15 N, dato che i sensori di forza utilizzati in questo studio potrebbero perdere la caratteristica lineare bene oltre l'intervallo di funzionamento. I valori di forza possono essere ottimizzati allentando o il supporto di serraggio bulloni.
-
Registrare le attività di tutti i soggetti premendo il pulsante "Record" sull'applicazione costruita al punto 4.2.3.
- Registrare un'attività durante un blocco di 120-s e generare un file di registrazione di esso.
- Nel caso di SR, il soggetto di sedersi su una sedia e farli utilizzare uno smartphone o leggere un libro. Permettere il movimento della testa, ma evitare il movimento di tutto il corpo.
- Nei casi di SC e CW, hanno i soggetti mangiare due tipi di texture di cibo (pane tostato e gelatina da masticare) al fine di riflettere le proprietà differenti dell'alimento. Servire il pane tostato a fette di 20 mm x 20 mm, che è una buona dimensione per mangiare.
- Nel caso di W, sono soggetti a piedi ad una velocità di 4,5 km/h su un tapis roulant.
- Nel caso di ST, sedersi i soggetti e li leggere un libro ad alta voce in un tono normale e la velocità.
- Nel caso di SW, informare i soggetti a wink sui tempi di un suono di campana di 0,5 s lungo ogni 3 s.
- Generare un file di registrazione in formato TSV dai dati raccolti al punto 5.2.1.
Nota: Questo file contiene una sequenza del tempo quando i dati sono stati ricevuti, un segnale di forza di sinistra, un segnale di forza giusta e un'etichetta che rappresenta l'attuale attività facciale. Visualizzazioni di segnali temporali di tutte le attività in un blocco di un utente sono stati rappresentati in Figura 6. Sei insiemi di attività consigliati (SR, SC, ST, W, CW e SW) sono stati etichettati come 1, 2, 3, 4, 5 e 6, rispettivamente. Le etichette sono state utilizzate per confrontare le classi previste nel paragrafo 8 del protocollo.
- Prendere una pausa di 60-s dopo il blocco di registrazione. Togliti gli occhiali durante la pausa e ri-li indossa nuovamente quando si riavvia il blocco di registrazione.
- Ripetere il blocco-e-pausa set di punti 5.2.1 e 5.2.2 quattro volte per ogni attività.
- Nel caso di SW, hanno il soggetto ripetutamente l'occhiolino con l'occhio sinistro durante un isolato e quindi ammiccano ripetutamente con l'occhio destro durante il blocco successivo.
- Ripetere i passaggi da 5.1 – 5.2 e raccogliere i dati da 10 oggetti. In questo studio, abbiamo usato cinque maschi e cinque femmine, l'età media era di 27,9 ± 4.3 (deviazione standard; s.d.) anni, che andavano alle 19 – 33 anni, e il BMI medio era di 21,6 ± 3.2 (s.d.) kg/m2, che andavano a 17,9 – 27.4 kg/m2.
Nota: In questo studio, i soggetti che non hanno alcuna condizione medicale di masticare il cibo, strizzatina d'occhio e a piedi sono stati reclutati, e questa condizione è stata utilizzata per i criteri di inclusione.
6. segnale di pre-elaborazione e segmentazione
Nota: I segnali destro e sinistro sono calcolati separatamente nelle procedure seguenti.
-
Preparare una serie di fotogrammi temporale di 2 s lunga.
- Segmento il 120 s registrato segnali in un set di 2 s fotogrammi saltando loro ad intervalli di 1-s con MATLAB, come illustrato nella Figura 6.
Nota: I telai segmentati di 2 s lunga sono stati usati per estrarre caratteristiche nella sezione 7. La dimensione di luppolizzazione s 1 era determinata a dividere i segnali dall'intervallo di wink s 3 già menzionato al punto 5.2.1.
- Applicare un filtro passa-basso (LPF) utilizzando un filtro di Butterworth di ordineth 5 con una frequenza di taglio di 10 Hz per ciascun fotogramma.
- Salvare i risultati del passaggio 6.1.2 come le cornici temporali per i passaggi successivi al punto 7.1.
-
Preparare una serie di fotogrammi spettrale.
- Sottrarre la mediana dai segnali originali di ogni fotogramma per rimuovere il precarico quando si indossano gli occhiali.
Nota: Il valore del precarico non è necessario per la seguente analisi di frequenza, poiché non include eventuali informazioni di masticazione, a piedi, wink, ecc potrebbe, tuttavia, contengono informazioni significative, che possono variare da soggetto a soggetto, da ogni impostazione degli occhiali e anche dal momento in cui un soggetto indossa gli occhiali.
- Applicare una finestra di Hanning a ogni frame per ridurre una dispersione spettrale su analisi di frequenza.
- Produrre e risparmiare uno spettro monobraccio applicando una trasformata di Fourier veloce (FFT) per ogni fotogramma.
- Definire una combinazione di un temporale e una cornice spettrale dello stesso tempo come un blocco di frame (o semplicemente un fotogramma).
7. generazione di vettori di Feature
Nota: Un vettore di funzionalità viene generato per ogni frame prodotto nella sezione 6 del protocollo. I frame di sinistra e destro sono calcolati separatamente e combinati in un vettore di funzionalità nelle procedure seguenti. Tutte le procedure sono state implementate in MATLAB.
- Estrarre caratteristiche statistiche da una cornice temporale al punto 6.1 del protocollo. Un elenco del numero totale di 54 caratteristiche è dato nella tabella 1.
- Estrarre caratteristiche statistiche da una cornice spettrale al punto 6.2 del protocollo. Un elenco del numero totale di 30 caratteristiche è dato in tabella 2.
- Generare un vettore di 84-dimensionale caratteristica combinando le caratteristiche temporali e spettrali sopra.
- Etichettare i vettori di feature generato dalle registrazioni al punto 5.2 del protocollo.
- Ripetere i passaggi da punti 7.1-7.4 per tutti i blocchi di telaio e generare una serie di vettori di feature.
8. classificazione delle attività in classi
Nota: Questo passaggio è quello di selezionare il modello di classificazione di un support vector machine (SVM)23 determinando i parametri che mostrano la massima precisione il dato problema (cioè, vettori di feature). il SVM è una macchina di supervisione ben nota apprendimento tecnica, che mostra eccellenti prestazioni nella generalizzazione e robustezza utilizzando un margine massimo tra le classi e una funzione del kernel. Abbiamo usato una griglia-ricerca e un metodo di cross-validazione per definire un parametro di pena C e un kernel parametro γ del kernel (RBF) funzione radiale di base. Per eseguire le procedure seguenti è necessaria una comprensione minima della macchina di apprendimento tecniche e la SVM. Alcuni materiali referenziale23,24,25 sono raccomandati per una migliore comprensione della macchina di apprendimento di tecniche e l'algoritmo SVM. Tutte le procedure in questa sezione sono state implementate utilizzando il pacchetto software di LibSVM25 .
- Definire una griglia di coppie di (C, γ) per la ricerca di griglia. Uso in crescita esponenziale sequenze di C (2-10, 2-5,..., 230) e γ (2-30, 2-25,..., 210).
Nota: Queste sequenze sono state determinate euristicamente.
- Definire un paio di (C, γ)(ad esempio, (2-10, 2-30)).
-
Per la griglia definita al punto 8.2, eseguire lo schema di convalida incrociata 10 volte.
Nota: Questo schema divide i vettori di feature intero in 10 parti sottoinsiemi, quindi testare un sottoinsieme del modello di classificatore addestrato da altri sottoinsiemi e ripeterla sopra tutti i sottoinsiemi, uno per uno. Pertanto, ogni vettori di feature possono essere testati in modo sequenziale.
- Dividere i vettori di feature intero in 10 parti sottoinsiemi.
- Definire un set di testing da un sottoinsieme e un set dai restanti 9 sottoinsiemi di training.
- Definire un vettore di ridimensionamento che si adatta tutti gli elementi dei vettori funzionalità alla gamma di [0, 1] per il set di training.
Nota: Il vettore di ridimensionamento ha la stessa dimensione con il vettore di funzionalità. Si compone di una serie di moltiplicatori che ridimensiona la stessa riga (o colonna) di tutti i vettori di feature alla gamma di [0, 1]. Ad esempio, la prima caratteristica di un vettore di funzionalità viene scalata linearmente alla gamma di [0, 1] per tutte le caratteristiche prime di vettori di feature di formazione. Si noti che il vettore di ridimensionamento è definito dal set di formazione, perché il set di testing dovrebbe essere presupposta per essere sconosciuto. Questo passaggio aumenta l'esattezza della classificazione rendendo le caratteristiche della gamma uguale ed evitando errori numerici durante il calcolo.
- Scala ogni caratteristica della formazione impostare l'intervallo di [0, 1] utilizzando il vettore di ridimensionamento ottenuti al punto 8.2.3.
- Scala ogni caratteristica del testing impostato sull'intervallo di [0, 1] utilizzando il vettore di ridimensionamento ottenuti al punto 8.2.3.
- Treno set di training attraverso il SVM con la coppia definita (c, γ) al punto 8.2 e quindi costruire un modello di classificazione.
- Prova il set di testing attraverso il SVM con la coppia definita (c, γ) al punto 8.2, e il modello di classificazione ottenuta con la procedura di formazione.
- Calcolare un'accuratezza di classificazione sul set di testing. La precisione è stata calcolata dalla percentuale di vettori di feature che sono correttamente classificati.
- Ripetere la procedura 8.2.2–8.2.8 per tutti i sottoinsiemi e calcolare la precisione media di tutti i sottoinsiemi.
- Ripetere i passaggi 8.2 – 8.3.9 per tutti i punti della griglia di un paio di (C, γ).
- Trovare il massimo locale della massima precisione della griglia. Tutte le procedure della sezione 8 sono illustrate nella Figura 7.
- (Opzionale) Se il passo della griglia è considerato grossolano, ripetere i passaggi 8.1 – 8.5 in una griglia più fine vicino il massimo locale trovano nel passaggio 8,5 e trovare un nuovo massimo locale di griglia fine.
- Calcolare la precisione, il richiamo e il punteggio1 F di ciascuna classe di attività dalle equazioni seguenti:
Equazione 1
Equazione 2
Equazione 3
dove TP, FP e FN rappresentano veri positivi, falsi positivi e falsi negativi per ciascuna attività, rispettivamente. La matrice di confusione di tutte le attività è data nella tabella 3.