Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Hypo
candock
提交
1de7b3eb
C
candock
项目概览
Hypo
/
candock
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
candock
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1de7b3eb
编写于
3月 27, 2019
作者:
HypoX64
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update README.md
上级
d64e7f43
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
15 deletion
+31
-15
README.md
README.md
+21
-15
image/confusion_mat
image/confusion_mat
+10
-0
未找到文件。
README.md
浏览文件 @
1de7b3eb
# candock
这是一个用于记录毕业设计的日志仓库,其目的是尝试多种不同的深度神经网络结构(如LSTM,RESNET,DFCNN等)对单通道EEG进行自动化睡眠阶段分期.我们相信这些代码同时可以用于
对其他生理信号(如ECG,EMG等)进行
分类.希望这将有助于您的研究.
<br>
这是一个用于记录毕业设计的日志仓库,其目的是尝试多种不同的深度神经网络结构(如LSTM,RESNET,DFCNN等)对单通道EEG进行自动化睡眠阶段分期.我们相信这些代码同时可以用于
其他生理信号(如ECG,EMG等)的
分类.希望这将有助于您的研究.
<br>
## 数据集
使用了三个睡眠数据集进行测试,分别是:
[
CinC Challenge 2018
](
https://physionet.org/physiobank/database/challenge/2018/#files
)
[
sleep-edf
]
(https://www.physionet.org/physiobank/database/sleep-edf/)
[
sleep-edfx
](
https://www.physionet.org/physiobank/database/sleep-edfx/
)
<br>
对于CinC Challenge 2018数据集,使用其C4-M1通道
,对于sleep-edfx与sleep-edf数据集,使用Fpz-Cz通道.
使用了三个睡眠数据集进行测试,分别是:
[
CinC Challenge 2018
](
https://physionet.org/physiobank/database/challenge/2018/#files
)
[
sleep-edf
]
(https://www.physionet.org/physiobank/database/sleep-edf/)
[
sleep-edfx
](
https://www.physionet.org/physiobank/database/sleep-edfx/
)
<br>
对于CinC Challenge 2018数据集,使用其C4-M1通道
<br>
对于sleep-edfx与sleep-edf数据集,使用Fpz-Cz通道
<br>
值得注意的是:sleep-edfx是sleep-edf的扩展版本.
<br>
## 一些说明
*
数据集分割
读取数据集各样本后分割为30s/Epoch作为一个输入,共有5个标签,分别是Sleep stage 3,2,1,R,W,将分割后的eeg信号与睡眠阶段标签进行对应后,打乱其顺序,并将80%的数据用于训练,20%的数据用于测试.
*
数据预处理
对于不同的网络结构,对原始eeg信号采取了预处理,使其拥有不同的shape:
LSTM:将30s的eeg信号进行FIR带通滤波,获得θ,σ,α,δ,β波,并将它们进行连接后作为输入数据
resnet_1d:这里使用resnet的一维形式进行实验,(修改nn.Conv2d为nn.Conv1d).
DFCNN:将30s的eeg信号进行短时傅里叶变换,并生成频谱图作为输入,并使用resnet网络进行分类.
*
关于代码
目前的代码仍然在不断修改与更新中,不能确保其能工作.详细内容将会在毕业设计完成后抽空更新.
<br>
*
数据集分割
<br>
读取数据集各样本后分割为30s/Epoch作为一个输入,共有5个标签,分别是Sleep stage 3,2,1,R,W,将分割后的eeg信号与睡眠阶段标签进行对应后,打乱其顺序,并将80%的数据用于训练,20%的数据用于测试.
*
数据预处理
<br>
对于不同的网络结构,对原始eeg信号采取了预处理,使其拥有不同的shape:
<br>
LSTM:将30s的eeg信号进行FIR带通滤波,获得θ,σ,α,δ,β波,并将它们进行连接后作为输入数据
<br>
resnet_1d:这里使用resnet的一维形式进行实验,(修改nn.Conv2d为nn.Conv1d).
<br>
DFCNN:将30s的eeg信号进行短时傅里叶变换,并生成频谱图作为输入,并使用resnet网络进行分类.
<br>
*
EEG频谱图
<br>
这里展示5个睡眠阶段对应的平铺图,它们依次是wake, stage 1, stage 2, stage 3, REM
!
[
image
](
https://github.com/HypoX64/candock/blob/master/image/spectrum_wake.png
)
!
[
image
](
https://github.com/HypoX64/candock/blob/master/image/spectrum_N1.png
)
!
[
image
](
https://github.com/HypoX64/candock/blob/master/image/spectrum_N2.png
)
!
[
image
](
https://github.com/HypoX64/candock/blob/master/image/spectrum_N3.png
)
!
[
image
](
https://github.com/HypoX64/candock/blob/master/image/spectrum_REM.png
)
*
关于代码
<br>
目前的代码仍然在不断修改与更新中,不能确保其能工作.详细内容将会在毕业设计完成后抽空更新.
<br>
## 部分实验结果
该部分将持续更新... ...
*
sleep-edf
<br>
[
[Confusion matrix]
](
https://github.com/HypoX64/candock/blob/master/image/confusion_mat
)
| Network | Label average recall | Label average accuracy | error rate |
| :------------- | :------------------- | ---------------------- | ---------- |
| lstm | 0.7
878 | 0.9507 | 0.1234
|
| lstm | 0.7
257 | 0.9266 | 0.1836
|
| resnet18_1d | 0.8434 | 0.9627 | 0.093 |
| DFCNN+resnet18 | 0.8567 | 0.9663 | 0.0842 |
image/confusion_mat
浏览文件 @
1de7b3eb
Confusion matrix:
Pred
S1 S2 S3 REM WAKE
S2
True S3
REM
WAKE
DFresnet18_heatmap_sleep-edf
epoch:10 test avg_recall:0.8567 avg_acc:0.9663 error:0.0842
confusion_mat:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录