吴忠躺衫网络科技有限公司

電子發(fā)燒友App

硬聲App

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

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

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

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

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

資料介紹

描述

介紹

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

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

這是從一個(gè)頻道采樣的一小段:

?
poYBAGOSwoOAZQ5cAAA_avDwfj8082.png
而是看頻率
?

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

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

不受嵌入式硬件計(jì)算可行性的現(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)用于頻譜圖一直是語音和信號(hào)處理任務(wù)的一種流行方法。這借鑒了計(jì)算機(jī)視覺的成功經(jīng)驗(yàn),通過重新定義問題來識(shí)別信號(hào)時(shí)頻表示中稱為共振峰的視覺特征。

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

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

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

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

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

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

?
pYYBAGOSwouAYucEAADZuNE96jk932.png
看起來像噪音
?

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

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

?
pYYBAGOSwo-AKkjpAAASGLQ8M3o810.png
?
?

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

為了快速探索 CNN 將帶來一些有用的東西這一想法,我們使用非常簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)架構(gòu)和Keras順序 API 設(shè)置了一個(gè)基線。我們的 vanilla CNN 包括 5x5 卷積過濾器,然后是一個(gè) 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

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

調(diào)用fit 方法,我們?cè)谑褂脦浊€(gè)樣本的訓(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

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

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

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

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

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

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

黑客腦電圖設(shè)備

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

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

最后,我們選擇了NeuroSky MindWave Mobile設(shè)備。價(jià)格介于上述兩個(gè)選項(xiàng)之間,同時(shí)支持收集原始 EEG 信號(hào),該產(chǎn)品看起來很有前途。我們使用這個(gè)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ù)并對(duì)其進(jìn)行推理以預(yù)測(cè)癲癇發(fā)作。

運(yùn)行推理

在渲染圖像之前,我們?cè)谠O(shè)備上應(yīng)用我們的信號(hào)處理管道。

最后,如果檢測(cè)到與即將發(fā)生的癲癇發(fā)作事件相對(duì)應(yīng)的特征,我們會(huì)對(duì)頻譜圖進(jìn)行推理,以向用戶發(fā)出警報(bào)(通過我們?cè)椭械膲弘姺澍Q器)。

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

?
pYYBAGOSwp-ANPUPAATXfgr4c3k551.jpg
第一個(gè)原型
?

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

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

最后的想法

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

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

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


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

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  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元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  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è)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(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ū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  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é)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
百家乐槛| 外围赌球网站| 百家乐官网如何买大小| 百家乐看大小路| 澳门百家乐官网哪家信誉最好| 太阳城百家乐注册平台| G3娱乐城| 百家乐稳赚的方法| 王牌国际| 百家乐路纸发表区| 花莲县| 百家乐太阳城开户| 腾飞国际娱乐城| 百家乐视频游戏双扣| 宣威市| 百家乐珠盘路| 百家乐官网投注双赢技巧| 百家乐必胜法技巧| 方城县| 百家乐澳门赌| 澳门百家乐官网在线| 威尼斯人娱乐场地址| 博彩百家乐官网后一预测软件| 大发888 迅雷下载| 2024年九运的房屋风水吉凶| 澳门赌场色情| 新澳门百家乐软件下载| 百家乐官网连线游戏下载| 游艇会百家乐的玩法技巧和规则| 百家乐官网荷官培训| 大发888下载| 百家乐官网麻将牌| 东源县| 新西兰百家乐的玩法技巧和规则| 百家乐官网网站排名| 宝马会娱乐城官网| 百家乐大小技巧| 崇文区| 百家乐可以破解吗| 百家乐官网自动算牌软件| 大发888娱乐场官网|