一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>癲癇發(fā)作預(yù)測可穿戴設(shè)備的深度學(xué)習(xí)

癲癇發(fā)作預(yù)測可穿戴設(shè)備的深度學(xué)習(xí)

2022-12-12 | zip | 0.43 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

大約 1% 的人對他們的下一次癲癇發(fā)作感到焦慮。抗驚厥藥物對至少 20% 的患者沒有幫助,而且大劑量服用還會帶來副作用。這種恐懼妨礙了執(zhí)行日常任務(wù),例如駕駛汽車或游泳。存在可以檢測癲癇發(fā)作的設(shè)備,但我們的目標(biāo)是構(gòu)建一種可穿戴 EEG 設(shè)備,可以預(yù)測癲癇發(fā)作即將發(fā)生,以便護(hù)理人員和/或用戶可以暫停他們正在做的事情并采取適當(dāng)?shù)?/font>預(yù)防措施.

五年前,一場Kaggle 競賽提出了開發(fā)機(jī)器學(xué)習(xí)算法以幫助預(yù)測癲癇發(fā)作事件的挑戰(zhàn)。向參賽者提供了 106 GB 的訓(xùn)練數(shù)據(jù) in.mat 文件。每個訓(xùn)練樣本代表 10 分鐘的原始顱內(nèi)腦電圖讀數(shù)。對于 5 只狗,數(shù)據(jù)包括以 400 Hz 采樣的 16 個通道讀數(shù)。對于 2 名人類患者,在 24 個通道上以 5000 Hz 的頻率對數(shù)據(jù)進(jìn)行采樣。

這是從一個頻道采樣的一小段:

?
poYBAGOSwoOAZQ5cAAA_avDwfj8082.png
而是看頻率
?

醫(yī)學(xué)研究支持 4 個不同階段的概念,對應(yīng)于:癲癇發(fā)作事件之間、之前、期間和之后。出于此預(yù)測任務(wù)的目的,主要挑戰(zhàn)是開發(fā)二元分類器來區(qū)分所謂的發(fā)作間期(事件之間)和發(fā)作前(事件之前)狀態(tài)。

大多數(shù)參賽者根據(jù) FFT 或通道之間的時間相關(guān)性設(shè)計經(jīng)過實(shí)驗(yàn)室測試的功能,同時考慮到類似同期比賽的結(jié)果。

不受嵌入式硬件計算可行性的現(xiàn)實(shí)限制的約束,獲勝模型涉及使用各種機(jī)器學(xué)習(xí)算法訓(xùn)練的復(fù)雜集成。比賽于 2014 年結(jié)束,比 Tensorflow 等框架可用于深度學(xué)習(xí)實(shí)驗(yàn)早了將近一年。

自比賽以來,將卷積神經(jīng)網(wǎng)絡(luò) (CNN) 應(yīng)用于頻譜圖一直是語音和信號處理任務(wù)的一種流行方法。這借鑒了計算機(jī)視覺的成功經(jīng)驗(yàn),通過重新定義問題來識別信號時頻表示中稱為共振峰的視覺特征。

除了通過傅里葉變換實(shí)現(xiàn)正則化的好處之外,F(xiàn)FT 算法速度非???,可以在資源有限的硬件上執(zhí)行。

CNN 也變得越來越小,因此我們將這兩種強(qiáng)大的算法結(jié)合起來,在嵌入式硬件上實(shí)時運(yùn)行推理,通過識別發(fā)作前狀態(tài)來預(yù)測癲癇發(fā)作。

訓(xùn)練我們的神經(jīng)網(wǎng)絡(luò)

我們從一些簡化的假設(shè)開始。

由于資源限制,我們不想將 10 分鐘的 16/24 通道 EEG 記錄讀入內(nèi)存。相反,我們會將樣本分成 200 個 3 秒的片段。隱含地,我們假設(shè)每個人都同樣很好地代表了我們希望在區(qū)分該片段是否先于癲癇發(fā)作事件時學(xué)習(xí)的簽名。

此外,我們假設(shè)每個通道都獨(dú)立代表這些簽名。這允許我們以忽略通道之間的協(xié)方差為代價來擴(kuò)展數(shù)據(jù)集。首先,我們嘗試在標(biāo)準(zhǔn) FFT 下可視化頻譜圖:

?
pYYBAGOSwouAYucEAADZuNE96jk932.png
看起來像噪音
?

通過試驗(yàn)不同的參數(shù)選擇和 FFT 變體,我們選擇了短時傅里葉變換 ( STFT )。

為了避免重新計算這些變換,我們將圖像輸出到文件。這是在對頻率表示中的表面視覺可辨模式應(yīng)用附加轉(zhuǎn)換和歸一化之后的示例。我們將圖像大小調(diào)整為 128x128 以加載更多圖像并更快地訓(xùn)練。

?
pYYBAGOSwo-AKkjpAAASGLQ8M3o810.png
?
?

要了解有關(guān)我們數(shù)據(jù)處理的更多信息,請參閱我們的博客文章。

為了快速探索 CNN 將帶來一些有用的東西這一想法,我們使用非常簡單的神經(jīng)網(wǎng)絡(luò)架構(gòu)和Keras順序 API 設(shè)置了一個基線。我們的 vanilla CNN 包括 5x5 卷積過濾器,然后是一個 3x3 卷積層,然后通過具有 ReLU 激活的完全連接層進(jìn)行展平和漏斗,以及用于額外正則化的 dropout。

def build_network():
   model = Sequential()
   model.add(Conv2D(32, (5, 5), input_shape=(128, 128, 1)))
   model.add(Activation('relu'))
   model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
   model.add(Conv2D(32, (3, 3)))
   model.add(Activation('relu'))
   model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
   model.add(Conv2D(32, (3, 3)))
   model.add(Activation('relu'))
   model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
   model.add(Flatten())
   model.add(Dense(2048))
   model.add(Activation('relu'))
   model.add(Dropout(.5))
   model.add(Dense(512))
   model.add(Activation('relu'))
   model.add(Dropout(.5))
   model.add(Dense(256))
   model.add(Activation('relu'))
   model.add(Dropout(.5))
   model.add(Dense(1))
   model.add(Activation('sigmoid'))
   adam = Adam(lr=0.0001, beta_1=0.9, beta_2=0.999, epsilon=1e-8)
   model.compile(optimizer=adam, loss='binary_crossentropy', metrics=['accuracy'])
   return model

由于極端的類別不平衡,我們對發(fā)作前的例子進(jìn)行了上采樣。

調(diào)用fit 方法,我們在使用幾千個樣本的訓(xùn)練輸出中看到了學(xué)習(xí)的跡象。為了擴(kuò)大訓(xùn)練規(guī)模,我們切換到fit_generator方法來迭代我們收集的近 1000 萬張圖像。

我們發(fā)現(xiàn)我們的模型是欠擬合的,正如訓(xùn)練和驗(yàn)證性能相似的損失平穩(wěn)所證明的那樣:

Epoch 4/100
128/128 [==============================] - 525s 4s/step - loss: 0.6798 - acc: 0.5515 - val_loss: 0.6768 - val_acc: 0.5682
Epoch 5/100
128/128 [==============================] - 509s 4s/step - loss: 0.6769 - acc: 0.5668 - val_loss: 0.6775 - val_acc: 0.5579
Epoch 6/100
128/128 [==============================] - 532s 4s/step - loss: 0.6761 - acc: 0.5624 - val_loss: 0.6732 - val_acc: 0.5728
Epoch 7/100
128/128 [==============================] - 504s 4s/step - loss: 0.6748 - acc: 0.5714 - val_loss: 0.6706 - val_acc: 0.5803
Epoch 8/100
128/128 [==============================] - 505s 4s/step - loss: 0.6737 - acc: 0.5686 - val_loss: 0.6696 - val_acc: 0.5791
Epoch 9/100
128/128 [==============================] - 504s 4s/step - loss: 0.6733 - acc: 0.5665 - val_loss: 0.6685 - val_acc: 0.5808
Epoch 10/100
128/128 [==============================] - 504s 4s/step - loss: 0.6674 - acc: 0.5834 - val_loss: 0.6670 - val_acc: 0.5852
Epoch 11/100
128/128 [==============================] - 504s 4s/step - loss: 0.6676 - acc: 0.5782 - val_loss: 0.6669 - val_acc: 0.5863
Epoch 12/100
128/128 [==============================] - 503s 4s/step - loss: 0.6667 - acc: 0.5803 - val_loss: 0.6655 - val_acc: 0.5884
....
Epoch 99/100
128/128 [==============================] - 502s 4s/step - loss: 0.6242 - acc: 0.6316 - val_loss: 0.6317 - val_acc:
0.6271
Epoch 100/100
128/128 [==============================] - 521s 4s/step - loss: 0.6253 - acc: 0.6318 - val_loss: 0.6266 - val_acc:
0.6321

盡管如此,我們可以開始圍繞我們的簡化假設(shè)確定一些細(xì)節(jié),并探索更復(fù)雜的模型。

接下來,我們嘗試通過使用TF-Slim在 ImageNet 上預(yù)訓(xùn)練的 inception_v3 架構(gòu)訓(xùn)練模型來進(jìn)行遷移學(xué)習(xí)。

inception_v3 架構(gòu)比我們上面的簡單架構(gòu)具有更高的學(xué)習(xí)數(shù)據(jù)模式的能力。通過微調(diào),許多圖像特征將適合我們的任務(wù),即使圖像集非常不同。

經(jīng)過一段時間的訓(xùn)練后,我們的模型在近 100 萬張頻譜圖圖像的平衡子集上達(dá)到了72% 的驗(yàn)證準(zhǔn)確率。一旦我們在 pi 上快速運(yùn)行,我們堅信會投入時間和精力在更多數(shù)據(jù)上訓(xùn)練和評估這樣的模型。

此外,我們可能會嘗試無監(jiān)督預(yù)訓(xùn)練,因?yàn)橐话肟捎玫?Kaggle 數(shù)據(jù)由測試樣本組成。

更新:使用更新的 api、不同的模型架構(gòu)和略有不同的預(yù)處理,我們在這個jupyter notebook中達(dá)到了更高的驗(yàn)證準(zhǔn)確性。

黑客腦電圖設(shè)備

我們嘗試了 Muse 耳機(jī),因?yàn)?/font>Adafruit 教程將其描述為直接破解。不幸的是,制造商無法繼續(xù)支持這一點(diǎn),并且引用的似乎已失效。

我們還找到了更實(shí)惠的Force Trainer 。但是,固件會執(zhí)行 FFT 并返回功率譜中不同波段內(nèi)的值。相反,我們需要原始 EEG 信號,就像我們用來開發(fā)機(jī)器學(xué)習(xí)模型進(jìn)行分析的那樣。

最后,我們選擇了NeuroSky MindWave Mobile設(shè)備。價格介于上述兩個選項(xiàng)之間,同時支持收集原始 EEG 信號,該產(chǎn)品看起來很有前途。我們使用這個repo從耳機(jī)中讀取原始 EEG 值。

import bluetooth
from mindwavemobile.MindwaveDataPoints import RawDataPoint
from mindwavemobile.MindwaveDataPointReader import MindwaveDataPointReader
import textwrap
if __name__ == '__main__':
    mindwaveDataPointReader = MindwaveDataPointReader()
    mindwaveDataPointReader.start()
    try:
        if (mindwaveDataPointReader.isConnected()):
        while True:
            dataPoint = mindwaveDataPointReader.readNextDataPoint()
            if (dataPoint.__class__ is RawDataPoint):  #Only want the raw vals
                 print(dataPoint)  #printing as a test
        else:
            print((textwrap.dedent("""\
            Exiting because the program could not connect
            to the Mindwave Mobile device.""").replace("\n", " ")))
    except KeyboardInterrupt:
        sys.exit()

這款耳機(jī)將通過藍(lán)牙將數(shù)據(jù)傳輸?shù)轿覀兊?a target='_blank' class='arckwlink_none'>樹莓派。然后 pi 將像我們的訓(xùn)練樣本一樣格式化數(shù)據(jù)并對其進(jìn)行推理以預(yù)測癲癇發(fā)作。

運(yùn)行推理

在渲染圖像之前,我們在設(shè)備上應(yīng)用我們的信號處理管道。

最后,如果檢測到與即將發(fā)生的癲癇發(fā)作事件相對應(yīng)的特征,我們會對頻譜圖進(jìn)行推理,以向用戶發(fā)出警報(通過我們原型中的壓電蜂鳴器)。

為了減少誤報,我們需要開發(fā)一個后處理工作流程,這樣用戶就不會被模型錯誤弄得筋疲力盡。一個簡單的想法是僅在某個時間窗口內(nèi)的陽性計數(shù)超過憑經(jīng)驗(yàn)確定的閾值后才發(fā)出警報。

?
pYYBAGOSwp-ANPUPAATXfgr4c3k551.jpg
第一個原型
?

使用設(shè)備,我們可以執(zhí)行數(shù)據(jù)收集,這將有助于改進(jìn)我們的模型。為了進(jìn)一步降低成本,可以考慮構(gòu)建一個 EEG 電路,或許可以使用更少的電極。

未來,我們計劃將該模型應(yīng)用于更小的低功耗設(shè)備,如Blue Pill ,它可以使用紐扣電池運(yùn)行。

最后的想法

通過輕松訪問廉價硬件等資源以及開源機(jī)器學(xué)習(xí)算法和數(shù)據(jù),參與醫(yī)療設(shè)備技術(shù)的概念化和開發(fā)是一個激動人心的時刻。

我們希望激勵其他人將改變未來生活的技術(shù)產(chǎn)品化。

在這里查看我們關(guān)于這個項(xiàng)目的回購協(xié)議!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)