基于二分类器与检测器融合的睡眠状态检测方法和系统与流程

文档序号:11115511阅读:来源:国知局

技术特征:

1.一种基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,包括:

采集用户在睡眠过程中产生的脑电信号,根据睡眠状态识别的识别任务从所述脑电信号中提取相应的特征数据;

将所述特征数据分别输入预设分类器、第一检测器以及第二检测器进行检测;其中,预设分类器用于检测用户的清醒或睡眠状态,第一检测器用于检测用户的清醒状态,第二检测器用于检测用户的睡眠状态;

若第一检测器与第二检测器的输出结果不一致,则以第一检测器与第二检测器的输出结果检测用户的睡眠状态,并分别对第一检测器与第二检测器输出的特征数据进行类型标注;若第一检测器与第二检测器的输出结果一致,则以预设分类器的输出结果检测用户的睡眠状态;

利用标注的特征数据对所述预设分类器进行训练得到新的分类器,并利用该新的分类器取代所述预设分类器,检测用户的睡眠状态。

2.根据权利要求1所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,所述预设分类器用于检测用户是否处于清醒或睡眠状态,输出结果为“清醒”或“睡眠”;

所述第一检测器用于检测用户是否处于清醒状态,若判断用户处于清醒状态,输出结果为“真”,反之则输出结果为“假”;

所述第二检测器用于检测用户是否处于睡眠状态,若判断用户处于睡眠状态,输出结果为“真”,反之则输出结果为“假”。

3.根据权利要求2所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,若第一检测器输出结果为“真”、第二检测器的输出结果为“假”,分别将第一检测器与第二检测器输出的特征数据类型标注为清醒;若第一检测器输出结果为“假”、第二检测器的输出结果为“真”,分别将第一检测器与第二检测器输出的特征数据类型标注为睡眠。

4.根据权利要求2所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,若第一检测器、第二检测器输出结果同为“真”或同为“假”,放弃第一检测器、第二检测器的输出结果,且不对第一检测器、第二检测器输出的特征数据进行标注。

5.根据权利要求1所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,利用标注的特征数据对所述预设分类器进行训练得到新的分类器的步骤包括:

判断已标注类型的特征数据的数量,当数量达到设定阈值时,将已标注的特征数据作为样本数据输入预设分类器进行训练得到新的分类器。

6.根据权利要求1所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,所述从所述脑电信号中提取相应的特征数据的步骤包括:

提取脑电信号的基线,计算所述基线的变化幅度;其中,所述变化幅度为基线最大值减去最小值;

在去掉基线后,对所述脑电信号进行小波分解,获得小波系数,并根据小波系数计算小波系数的特征参数;其中,所述特征参数包括小波系数的均值、方差、峭度系数和/或斜度系数;

在去掉基线后,计算脑电信号的LZ复杂度和样本熵;

将所述基线的变化幅度、小波系数的特征参数、LZ复杂度和样本熵设为所述特征数据。

7.根据权利要求6所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,还包括:

在小波重构中提取所述脑电信号δ波频段、θ波频段、α波频段和β波频段的信号;

分别计算脑电信号中δ波频段,θ波频段,α波频段,β波频段的能量在总能量中的比例;

分别计算在一帧的时间内,脑电信号中δ波频段,θ波频段,α波频段,β波频段能量最大的时间长度;

将所述比例和时间设为所述特征数据。

8.根据权利要求7所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,所述分别计算脑电信号中δ波频段,θ波频段,α波频段,β波频段的能量在总能量中的比例的步骤包括如下公式:

rδ=∑(yδ)2/ptotal

rθ=∑(yθ)2/ptotal

rα=∑(yα)2/ptotal

rβ=∑(yβ)2/ptotal

其中ptotal=∑(yδ)2+∑(yθ)2+∑(yα)2+∑(yβ)2,yδ,yθ,yα和yβ分别表示重构后的δ频段、θ频段、α频段和β频段的信号,rδ,rθ,rα和rβ分别代表δ频段、θ频段、α频段和β频段的信号的能量在总能量的比例。

9.根据权利要求7所述的基于二分类器与检测器融合的睡眠状态检测方法,其特征在于,所述分别计算在一帧的时间内,脑电信号中δ波频段,θ波频段,α波频段,β波频段能量最大的时间长度的步骤包括如下公式:

<mrow> <msub> <mi>c</mi> <mi>&delta;</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>30</mn> </munderover> <msubsup> <mi>f</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>f</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>&NotEqual;</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

<mrow> <msub> <mi>c</mi> <mi>&theta;</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>30</mn> </munderover> <msubsup> <mi>f</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>f</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>&NotEqual;</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

<mrow> <msub> <mi>c</mi> <mi>&alpha;</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>30</mn> </munderover> <msubsup> <mi>f</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>f</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>&NotEqual;</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

<mrow> <msub> <mi>c</mi> <mi>&beta;</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>30</mn> </munderover> <msubsup> <mi>f</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>f</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>&NotEqual;</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>&delta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&theta;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&alpha;</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msubsup> <mi>r</mi> <mi>&beta;</mi> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

式中,cδ,cθ,cα和cβ表示δ频段、θ频段、α频段和β频段的信号在当前帧内所占能量比例最大的时间长度,分别表示第i秒内δ频段、θ频段、α频段和β频段的信号的能量在总能量的比例。

10.一种基于二分类器与检测器融合的睡眠状态检测系统,其特征在于,包括:

特征数据提取模块,用于采集用户在睡眠过程中产生的脑电信号,根据睡眠状态识别的识别任务从所述脑电信号中提取相应的特征数据;

分类器融合检测模块,用于将所述特征数据分别输入预设分类器、第一检测器以及第二检测器进行检测;其中,预设分类器用于检测用户的清醒或睡眠状态,第一检测器用于检测用户的清醒状态,第二检测器用于检测用户的睡眠状态;

结果判断和数据标注模块,用于若第一检测器与第二检测器的输出结果不一致,则以第一检测器与第二检测器的输出结果检测用户的睡眠状态,并分别对第一检测器与第二检测器输出的特征数据进行类型标注;若第一检测器与第二检测器的输出结果一致,则以预设分类器的输出结果检测用户的睡眠状态;

分类器训练和更新模块,用于利用标注的特征数据对所述预设分类器进行训练得到新的分类器,并利用该新的分类器取代所述预设分类器,检测用户的睡眠状态。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1