鼾聲監測神經網路

来源:https://www.cnblogs.com/mcu-ai-QH/p/18193588
-Advertisement-
Play Games

具體的軟硬體實現點擊 http://mcu-ai.com/ MCU-AI技術網頁_MCU-AI 打鼾是一種普遍的癥狀,嚴重影響睡眠呼吸障礙患者(單純打鼾者)、阻塞性睡眠呼吸暫停(OSA)患者及其床伴的生活質量。研究表明,打鼾可用於OSA的篩查和診斷。因此,從夜間睡眠呼吸音頻中準確檢測打鼾聲一直是最重 ...


具體的軟硬體實現點擊 http://mcu-ai.com/ MCU-AI技術網頁_MCU-AI
打鼾是一種普遍的癥狀,嚴重影響睡眠呼吸障礙患者(單純打鼾者)、阻塞性睡眠呼吸暫停(OSA)患者及其床伴的生活質量。研究表明,打鼾可用於OSA的篩查和診斷。因此,從夜間睡眠呼吸音頻中準確檢測打鼾聲一直是最重要的部分之一。考慮到打鼾在世界各地被忽視的危險性,需要一種自動且高精度的打鼾檢測演算法。在這項工作中,我們設計了一種非接觸式數據採集設備來記錄受試者在私人卧室中的夜間睡眠呼吸音頻,並提出了一種用於自動打鼾檢測的混合捲積神經網路(CNN)模型。該模型由處理原始信號的一維(1D)CNN和表示通過可見性圖方法映射的圖像的二維(2D)CNN組成。在我們的實驗中,我們的演算法實現了89.3%的平均分類準確率、89.7%的平均靈敏度、88.5%的平均特異性和0.947的平均AUC,這超過了根據我們的數據訓練的一些最先進的模型。總之,我們的研究結果表明,本研究中提出的方法對日常生活中OSA患者的大規模篩查是有效和有意義的。我們的工作為時間序列分析提供了一個替代框架。

    打鼾是一種與呼吸有關的事件,它是由睡眠中上呼吸道解剖結構的振動產生的,如咽壁、軟齶、懸雍垂和扁桃體。流行病學研究表明,習慣性打鼾影響了全球9-17%的成年人口,包括約40%的男性和24%的女性。打鼾會嚴重擾亂打鼾者和共用同一睡眠空間的人的睡眠質量和數量。因此,它經常導致白天嗜睡和註意力不集中,從而增加事故風險,以及某些健康狀況,如睡眠障礙、系統性動脈高血壓和冠狀動脈疾病。然而,由於主觀忽視和有限的醫療資源,發達國家約有80-90%的OSA患者仍未得到診斷和治療,而這一問題的嚴重性在發展中國家更為明顯。一般來說,打鼾發生在仰卧睡覺的時候。對於沒有任何其他夜間呼吸道疾病的打鼾者(單純打鼾),側卧可以自然緩解。因此,一些小工具已經被開發出來,當打鼾發生時,通過向打鼾者提供某種通知來防止打鼾。此外,打鼾是最早和最普遍的夜間癥狀之一,70-90%的阻塞性睡眠呼吸暫停(OSA)患者出現打鼾11。研究表明,打鼾聲的特征,如強度12、頻譜13、音調相關特征14、15、時間和頻率相關參數16、規律性參數17和其他一些特征18、19,可以用來描述單純打鼾者和OSA患者之間的差異,以及OSA的嚴重程度。此外,與多導睡眠圖(PSG)相比,記錄音頻信號的設備方便、低成本、無接觸。因此,打鼾信號已成為評估打鼾者病情的主要生理指標之一。因此,打鼾聲的自動檢測在學術研究中引起了極大的關註,成為人們關註的一個突出領域。

鑒於OSA的社區流行率不斷上升,對醫護人員和用品的需求不斷增長20,在過去二十年中,研究人員致力於藉助電腦技術實現打鼾事件的自動檢測21。早期,對原始音頻信號進行物理或數學特征的人工提取,隨後將其應用於訓練分類器,例如基於12個梅爾頻率倒譜繫數(MFCC)的隱馬爾可夫模型(HMM)22,通過主成分分析(PCA)23,24,25基於共振峰頻率或低維特征的無監督聚類演算法,基於時間和譜域特征的AdaBoost分類器26,共振峰頻率的二次判別分析27,由MFCC訓練的K近鄰(KNN)模型和經驗模式分解28。由時間、能量和頻域中的40個特征訓練的高斯混合模型(GMM)29,基於子帶中的平均歸一化能量的線性回歸模型30,基於時域中的多個特征的支持向量機(SVM)31和基於時間和頻譜特征的人工神經網路(ANN)帶32,33。結果證明瞭這些方法在打鼾識別中的有效性。然而,由於打鼾聲音的多樣性和非線性,確定最佳特征集仍然具有挑戰性。

為了應對特征提取的挑戰,研究人員成功地將深度學習演算法應用於分析各種生理信號,包括心電圖(ECG)34、衝擊心電圖(BCG)35、心電向量圖(VCG)36、腦電圖(EEG)37、肌電圖(EMG)38等,深度學習演算法在圖像和自然語言的特征表示方面表現出了顯著的性能。這些演算法在隨後表徵夜間睡眠呼吸音頻信號方面產生了有希望的結果。例如,Nguyen等人39和Çavuşoğlu等人40分別利用多層感知器神經網路(MLP)來區分打鼾聲和非打鼾聲;Arsenali等人41在提取MFCC後,應用長短期記憶(LSTM)模型對打鼾和非打鼾聲音進行分類;Sun等人42提出了SnoreNet,這是一種一維CNN(1D CNN),它直接對原始聲音信號進行操作,而無需手動製作特征;Khan等人8開發了一種二維CNN(2D CNN)來分析MFCC的圖像,用於自動檢測打鼾,並將其應用於可穿戴小工具;薑等人43發現了Mel聲譜圖和CNN-LSTM-DNN的可選組合用於打鼾識別;Xie等人44使用CNN從恆定Q變換(CQT)頻譜圖中提取特征,然後使用遞歸神經網路(RNN)處理順序CNN輸出,將音頻信號分類為打鼾或非打鼾事件。

儘管大多數深度學習演算法在打鼾和非打鼾發作的分類中表現良好,但這些研究仍存在一些不足。首先,培訓數據的可用性有限,缺乏多樣性。到目前為止,大多數研究的數據採集都是在睡眠實驗室或醫院進行的,與家裡的私人卧室相比,那裡的睡眠環境往往相對安靜。這意味著所記錄的音頻信號的信噪比(SNR)可能更高。在一些在家裡進行實驗的研究中,只有不到10名參與者42。當使用來自同一時期和少量受試者的這些數據時,訓練魯棒分類器是負面的。其次,打鼾聲需要一種新的表現形式。一些研究表明,譜圖,特別是梅爾譜,在打鼾檢測中的有效性,同時對於包括單個CNN8、LSTM41和混合模型43、44在內的許多分類器獲得了幾乎相同的精度。可以推斷,目前打鼾檢測的挑戰之一是為原始音頻信號找到更好的特征表示。

在本研究中,我們針對上述問題提出了幾種解決方案。為了增加樣本的多樣性,我們設計了一個實驗,涉及80多名參與者,持續了十多個月。此外,本實驗中的數據採集是在受試者的習慣性睡眠環境下進行的。此外,還引入了可見性圖(VG)方法,利用映射圖像來表示打鼾聲的非線性。然後,提出了一種結合1D-CNN和2D-CNN結構的新型打鼾識別混合模型。其中,1D CNN用於原始信號分析,2D CNN用於VG映射的相應圖像。1D CNN和2D CNN生成的特征由下一個全連接層連接和分析。

本文的主要貢獻如下:

這項工作建立了一個更大、更多樣的夜間睡眠呼吸音頻信號數據集,這些信號記錄在受試者的私人住宅中。

首先引入VG方法來使用映射圖像來表示打鼾聲音。

提出了一種用於打鼾聲音識別的混合1D-2D CNN框架,該框架比我們數據集上最先進的深度學習模型更準確、更穩健。

我們在2019年3月至2019年12月的實驗中記錄了88名年齡在12歲至81歲之間的個體,其中包括23名女性和65名男性。在我們的研究之前,他們所有人或其監護人代表他們簽署了知情同意書。聲音採集設備由我們自己設計,包括以I.MX6ULL為核心的控制模塊、高解析度麥克風(NIS-80V,廣東峰火電子科技有限公司;20-2000Hz頻率範圍 45dB靈敏度)、電源模塊以及允許線上和離線數據存儲和傳輸的傳輸模塊。在實驗過程中,它被放置在受試者周圍,距離範圍為20–150釐米,並記錄採樣頻率為16000赫茲的單聲道夜間呼吸聲。最後,這些信號被保存為一些波形文件,每個文件都是100M。另一方面,攜帶型PSG以10Hz的採樣頻率記錄了各種生理信號,包括血氧飽和度、血壓和呼吸,這些信號由醫學專業人員用於診斷受試者的OSAHS。在我們的實驗中,受試者包括簡單打鼾者和不同嚴重程度的OSAHS患者。記錄的呼吸聲的平均持續時間為7小時26分鐘。

在本文中,有幾個預處理任務用於準備。所涉及的數據處理方法和工作流程如圖1所示。

對於我們實驗中記錄的音頻信號,我們使用具有適當寬度的時間視窗來捕捉連續的聲音片段。為了儘可能多地保留信息,相鄰的時間視窗可能具有一定百分比的重疊。將音頻信號幀化成幀的過程如圖所示2。值得註意的是,時間視窗的重疊率在不同的音頻信號組中有所不同,以防止我們的數據集中數據不平衡的潛在問題45。同時,較短的音頻信號幀可以保持CNN模型的緊湊性。在這項研究中,基於打鼾片段的最小持續時間,時間視窗的長度被設置為0.3秒。然後,通過z分數標準化對這些聲音片段進行歸一化,以提高我們的深度學習模型的精度和收斂速度。

Lacasa等人46提出的可見性圖(VG)方法基於可見性的幾何原理將時間序列轉換為圖。研究表明,映射可見性圖在結構上繼承了級數的幾個性質:周期級數轉化為正則圖,隨機級數轉化為隨機圖,分數級數轉化為無標度圖46,47。因此,它已被廣泛用於分析不同領域的時間序列,包括心理學、物理學、醫學和經濟學48,49,50,51。在本文中,我們將時間序列的關聯圖視為圖像,這使得能夠進行基於CNN的分析。

對於聲音片段及其相應的可見性圖,提出了一種結合1D CNN和2D CNN的深度神經網路來分別表示它們的特征。然後使用兩個完全連接的層來將這些統一的特征識別為打鼾聲或非打鼾聲。框架如圖3所示。

我們使用五重交叉驗證策略來訓練和測試所提出的模型。88名受試者被隨機分為5組,包括3個18歲受試者組和2個17歲受試組。在每項試驗中,四組用於訓練,其餘一組用於測試。通過確保受試者層面的獨立性,我們可以降低訓練集和測試集中來自同一受試者的數據所導致的高估風險。

在我們的實驗中,使用一批150個樣本來訓練我們的CNN模型,並對其進行了多達150個時期的訓練。學習速率遵循20步逐步預熱,從初始值1e−6開始,速率為1.6。之後,每20個時代,它的震級就降低到原來的10%。圖7顯示了我們的模型在追蹤中識別打鼾碎片的損失和準確性的變化。很明顯,我們的CNN模型隨著迭代次數的增加而逐漸收斂,併在70次迭代後達到穩定。為了避免過度擬合,在迭代過程中,訓練在90步處停止。在我們的實驗中,我們實現了86.4%至91.2%的準確度,88.1%至91.6%的靈敏度,83.0%至91.8%的特異性,0.908至0.973的AUC。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最小Linux系統,安裝Java環境 想想就生氣,去面試個運維,面試官讓我上機裝個centos7,還是個最小安裝包連界面都沒有,只有命令行模式,我都哭了,然後讓把一些環境裝一下,然後再部署個springboot項目,我他媽都多久沒用沒有界面的東西了,最後卡在安裝MySQL上,真想扇自己個 ...
  • 公司給的伺服器上面啥都沒有,自己動手吧,這種活屬於是乾一次以後都不管的 首先檢查Linux系統是多少位 uname -m 下載JDK Linux版本,打不開官網可以點下麵去鏡像網站 https://repo.huaweicloud.com/java/jdk/8u181-b13/ 下載之後傳到伺服器, ...
  • 「Pygors系列」一句話導讀: MinGW-w64只有編譯器,MSYS2帶著更新環境,WSL2實用性比較高 歷史與淵源 Windows平臺 Linux平臺 二進位相容 WSL2:運行Linux程式 Wine:運行Windows程式 介面相容 CygWin:編譯Linux程式 Winelib:編譯W ...
  • 文章目錄 一、進程 二、線程 三、進程和線程的區別與聯繫 四、一個形象的例子解釋進程和線程的區別 五、進程/線程之間的親緣性 六、協程 一、進程 進程,直觀點說,保存在硬碟上的程式運行以後,會在記憶體空間里形成一個獨立的記憶體體,這個記憶體體有自己獨立的地址空間,有自己的堆,上級掛靠單位是操作系統。操作系 ...
  • 使用Ansible來部署Apache服務是一個很好的選擇,因為它可以自動化部署過程,確保所有的伺服器上都有相同的配置。以下是一個簡單的步驟指南,展示如何使用Ansible來部署Apache服務: 1 安裝ansible 在基於Debian的系統中,你可以使用以下命令來安裝Ansible: sudo ...
  • 設置SSH免密登錄本機主要涉及生成密鑰對、將公鑰複製到本地(或遠程伺服器,如果是雙向免密)以及測試免密登錄等步驟。以下是一個基本的設置流程: 生成密鑰對: 打開終端或命令提示符,並執行以下命令來生成RSA密鑰對:ssh-keygen -t rsa 系統將會提示你指定保存密鑰文件的路徑和文件名。預設情 ...
  • 簡單回顧 在開始 lab3 的學習之前,我們先簡單回顧下 到目前為止,我們的內核能做了什麼: lab1中,我們學習了 PC啟動的過程,看到BIOS將我們編寫的boot loader 載入記憶體,然後通過bootloader 將內核載入記憶體。同時,使用了一個寫死的臨時頁表(entry_pgdir)完成了 ...
  • 要在Nginx中配置允許跨域(Cross-Origin Resource Sharing, CORS),你需要修改Nginx的配置文件(通常是nginx.conf或者某個包含在nginx.conf中的單獨的配置文件)。下麵是一個基本的例子,展示瞭如何在Nginx中設置CORS: 打開你的Nginx配 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...