Week1

一.数据集ICBHI 2017挑战赛 呼吸音数据库

 

总共5.5小时的录音,包含6898个呼吸周期。其中有1864个爆裂声(crackles) 、886个喘息声(wheezes) 、506个爆裂声和喘息声的结合(both crackles and wheezes)

数据集中是 126个人的920段音频(有注释txt文件和呼吸wav文件)

解释

(1).126个人中的每个人根据采集位置(气管、胸腔左前、胸腔右前等位置)采集设备(麦克风、听诊器等设备)等不同,录制若干段音频,共计920段音频(每段音频为10到90秒)

(2).每段音频有若干个呼吸周期,920段音频累计有6898个呼吸周期

(3).在6898个呼吸周期中,包含了中,包含了上述提到的爆裂声(crackles) 、886个喘息声(wheezes) 、506个爆裂声和喘息声的结合(both crackles and wheezes)

(4).数据集

     a.数据集文件如下图所示:

        上图的命名来源如下图:

  

     b.注释txt文件如下图所示:

                                           

        第一列第四列分别是:

                 呼吸周期开始、呼吸周期结束、有无爆裂声(crackles) 、有无喘息声(wheezes)

二.数据处理:

1.将数据集中的音频文件通过 split_into_cycles.py,该.py文件的作用是将每个音频中包含的呼吸周期一个一个的拆分出来,最后共计6898个呼吸周期并放入splitted_into_cycles文件夹中,同时在该文件夹中创造了一个csv文件(如下两图所示,均为部分节选)

      

csv文件的列分别为:   音频文件名      呼吸周期开始      呼吸周期结束     爆裂音(1)和喘息音(2)

2.split.py创建crackles,wheezes,both,normal四个文件夹并将6898条呼吸周期移动到四个文件夹中,然后创建train,test文件夹并按照类别以0.8/0.2的比例存入

    train和test文件夹

   test文件夹下的四个文件夹(train文件夹下也是一模一样的)

  ../test/both文件夹下的部分文件

3.transformer.py 

   数据增强以得到更多数据(改变振幅,时间平移,改变速度)

   归一化

   特征提取:32*32,通道为1的对数梅尔频谱图(1秒16000采样,再提取频谱到对数域)

三.模型

1.models.py

  采用的28层的wideResnet作为模型训练,(这里宽度取10)

模型的流程图如下图所示:

                                       

                                   图1                                                                         图2

        

                                   图3                                                                     图4

 图1是整体网络结构的流程图

 图2是stacks_blocks的结构图

 图3是 残差块 的结构图

 图4是 残差块*的结构图

四.训练

train.py

1.优化算法:SGD

2.学习率:

 

3. batch_size:96

4.epoch:80

5.采用5折交叉验证:将训练集中分为5等份,每次(kfold=0,1,2,3,4)选取其中1份用于作为验证集,其他4份作为训练集。

以kfold=0举例:选择4份训练集和1份验证集进行80次epoch,会生成80个模型然后保存最好的(best)模型来训练。因为是5折交叉验证(即5次),所以最后将会得到5个模型。

对这5个模型的预测(测试集)求平均的loss,得到下图:

 最后的准确率是57.69%

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值