睡眠音频分割及识别问题(一)
問題描述
通過手機App的錄音功能,獲得用戶一整夜的睡眠音頻,對睡眠音頻進行分割,并對睡眠階段進行判定。
(1)假設條件一:用戶在相對安靜的環境下進行睡眠,背景音可能會出現風聲、雨聲、汽車噪音、空調聲音等,背景音微弱;
(2)假設條件二:一個人睡眠,不考慮多人同時睡眠產生的音頻;
(3)睡眠音頻主要分割出鼾聲、夢話及睡眠靜音,手機App只保存鼾聲和夢話音頻片段;
(4)將睡眠階段分為Deep Sleep, Light Sleep, REM Sleep, Awake,并繪制出如下波形圖:
主要方案
目前采用了兩套方案來實現,方案一利用語音分離技術,方案二利用語音編碼技術。
方案一:語音分離技術
(1)對語音進行編碼,目前主流的方法有: frequency-domain(基于頻域的方法) or time-domain(基于時域的方法) methods;
(2)語音分離:構建算法獲取分離的掩碼矩陣(mask);
(3)對分離后的信息進行反編碼,得到分離后的語音信息。
主流的語音分離技術有:TasNet, TasNet++等網絡。
方案二:語音編碼技術
(1)完成音頻到向量的轉換,1s的音頻轉換為96*64的向量;
(2)進行編碼,目前采用的是VGG網絡,后續可以嘗試用其它網絡來進行編碼,編碼過后1s的音頻轉為128的向量;
(3)設置3類標簽,0類標簽:鼾聲,1類標簽:夢話(使用Google的’Music’,‘Singing’,‘singing’,‘speech’,'speaking’這5個標簽的數據作為夢話標簽的訓練集,Google原有100類樣本),2類標簽:其它(使用Google的其他標簽的數據作為其他標簽的訓練集)。
(4)鼾聲識別在測試集上有80%正確率(訓練集比例2:1:1,2是鼾聲樣本,1是其他樣本與夢話樣本),夢話識別由于沒有找到合適的數據集,目前識別效果不好,測試發現鼾聲樣本識別正確接近百分百,而夢話類與其他類識別準確只有2/3。
面臨的問題
(1)把鼾聲和夢話分離出來后,目前還不知道怎么將睡眠分為如下四個階段:深度睡眠、淺度睡眠、REM期、清醒。我們查閱到REM期(快速動眼期)的定義為:快速眼動睡眠,眼球在此階段時會快速移動。在這個階段,大腦的神經元的活動與清醒的時候相同。多數在醒來后能夠回憶的栩栩如生的夢都是在REM睡眠發生的。它是全部睡眠階段中最淺的。但如何利用鼾聲、夢話、靜默階段的統計數據來將睡眠定義為深度睡眠、淺度睡眠、REM期、清醒沒有思路;
(2)目前的代碼都是基于深度學習框架(如Tensorflow、Pytorch等),這些代碼植入APP會導致安裝包過大。
總結
以上是生活随笔為你收集整理的睡眠音频分割及识别问题(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人电焊电流电压怎么调_【华光】HG1
- 下一篇: pytorch深度学习-微调(fine