一种胎动信号识别标记方法、系统、介质、设备与流程

文档序号:18707204发布日期:2019-09-17 23:53阅读:497来源:国知局
一种胎动信号识别标记方法、系统、介质、设备与流程

本发明涉及信息技术领域,特别涉及一种可用于电子胎儿监护软件产品中的胎动信号识别标记方法、系统、介质、设备。



背景技术:

目前基于多普勒超声信号胎儿活动图(actogram)的胎动识别算法比较常用的是阈值判断(包括静态阈值和动态阈值)方法,并且通常只参考若干个计算得到的参数,按照约定规则进行识别判断。例如,2014年lu等人在刊物bio-medicalmaterialsandengineering上发表的“fetalheartratebaselineestimationwithanalysisoffetalmovementsignal”,介绍了一种采用大津法检测胎儿活动的方法,但该方法采用的是静态阈值检测方法,不能很好地适应胎动活动信号的动态变化,具有一定的局限性;2014年januszwrobel等人在刊物journalofmedicalinformatics&technologies发表的“automateddetectionoffetalmovementsindopplerultrasoundsignalsversusmaternalperception”介绍了一种胎活动自动检测算法,该算法在每次记录开始时估计分类阈值,并在记录过程中进行自适应修改,虽然该方法采用了动态阈值算法,但只是基于单一的胎儿活动图信号进行识别判断,在实时性显示方面没有考虑医院产科的实际需求。

实际上,胎动识别标记技术还有一些重要参数需要一起综合考虑,例如胎心宫缩曲线的一些特殊形态、胎儿活动图的细节和胎心率与胎动之间的关联性等问题;同时在实时性显示上也应参考上述多种参数进行标记。目前市场上还没有满足上述需求的产品出现,这正是本专利技术要解决的问题。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种胎动信号识别标记方法、系统、介质、设备,此方法和系统可实现综合考虑各类胎动信号之间的关联、权衡多种参数对标记结果的影响,提高标记结果的可靠性。

本发明的目的通过以下的技术方案实现:

一种胎动信号识别标记方法,包括步骤:

获取胎心率加速曲线、宫缩曲线和胎儿活动图;

通过对胎心率加速曲线进行胎心率基线计算和胎心率加速识别,获取胎心率加速信息;

通过对宫缩曲线的信号进行平滑处理求差值信号并搜索胎动信息,获取第一胎儿活动信息;

通过进行胎儿活动图曲线基线计算和提取动态阈值胎动信息,获取第二胎儿活动信息;

多判据识别胎动,即对胎心率加速基线不同振幅赋予不同的胎心率加速指数分值;设定胎儿活动信息峰值基线值的阈值范围,根据胎儿活动信息的峰值基线值所在的不同阈值范围,赋予相应的宫缩胎动信息指数分值、胎儿活动图胎动指数分值;计算胎心率加速指数分值、宫缩胎动信息指数分值和胎儿活动图胎动指数分值的总分值;

当总分值大于等于阈值t时,标记一次胎动事件。

优选的,通过胎心率基线计算获得了胎心率基线fhrcut和胎心率曲线的复制副本fhrtemp之后,在无宫缩负荷试验中,将满足加速定义的高于基线振幅bpm的幅度阈值定义为accthreshold,持续时间长度阈值定义为acckeeptime,并按照如下步骤提取胎心率加速信息:

步骤s201:从fhrcut起始点向后搜索,记下标位置为索引值i,当fhrcuti>fhrtempi+accthreshold,在位置i后的60个胎心率范围内搜索最大值,记录最大值的数值fhrpeak和位置fhrpeaktime,接着执行步骤s202;否则,继续向后搜索;

步骤s202:从fhrpeaktime位置向前55个胎心率点搜索,记下标位置为索引值j;

如果存在fhrcutj<fhrbaselinej+2,且在[j,fhrpeaktime]范围内的胎心率值均不大于fhrpeak,将位置j标记为accstart;

接着从fhrpeaktime位置向后55个胎心率点搜索,记下标位置为索引值k;

如果存在fhrcutk<fhrbaselinek+2,且在[fhrpeaktime,k]范围内的胎心率值均不大于fhrpeak,将位置k标记为accend;

如果accstart和accend均被标记,且accstart和accend之间的时间间隔超过acckeeptime,将胎心率曲线accstart至accend的范围判断为发生一次胎心率加速;接着从加速位置fhrpeaktime的一分钟后重新执行步骤s201。

更进一步的,对不同孕期孕妇的加速胎心率高于基线幅度和持续时间要求的标准进行区分:

如果孕妇满32孕周,accthreshold=15,acckeeptime=18;

如果未满32孕周,accthreshold=10,acckeeptime=12。

更进一步的,因为胎心率加速识别目的是为了辅助识别胎动,将用上述的提取胎心率加速信息的识别方法进行胎心小加速的识别,区别是在不满足真加速的情况下,将加速判断参数更改为accthreshold=10,acckeeptime=10,满足判断条件即判断为小加速。

优选的,所述从通过对宫缩曲线的信号进行平滑处理求差值信号、搜索胎动信息,获取第一胎儿活动信息的步骤为:

步骤s501、使用五点滑动平均法对原始宫缩曲线进行平滑处理,得到平滑信号ucsignal′;

步骤s502、将原始宫缩信号ucsignal与步骤s501中得到的ucsignal′进行相减,得到新的胎动信号数组ucdiff;将索引值i初始化为0;

步骤s503、对宫缩胎动信号ucdiffi的值进行搜索,如果ucdiffi>5,并且此时没有正在进行标记的胎动点,执行步骤s504;否则,如果存在正在标记的胎动,执行步骤s505;

步骤s504、定义宫缩胎动时间累积数fmpeaknums=0,将i标记为新的宫缩胎动起始点fmstart,将此胎动结束点fmend初始化为i,fmpeaknums=fmpeaknums+1,i=i+1;

步骤s505、如果正在标记的胎动结束点fmend与位置i时间差在5秒以内,则将fmend的值更新为i,fmpeaknums=fmpeaknums+1,i=i+1;否则,结束正在标记的胎动的标记状态,取ucdiff在范围[fmstart,fmend]内的最大值作为胎动幅度值fmpeak;将元组(fmstart,fmend,fmpeak,fmpeaknums)将胎动存入到宫缩胎动数组中,执行步骤s506;

步骤s506、继续执行步骤s503,直到搜索到信号结束;当到达信号结束点时如果还有处于标记状态的胎动点,结束此胎动标记状态并存入到宫缩胎动数组中,宫缩胎动数组即为第一胎儿活动信息。

优选的,所述通过对胎儿活动图曲线基线计算的步骤具体为:

设胎儿活动信号为actosignal,胎儿活动信号基线为actobaseline;actobaseline的计算方式如下:

首先,每隔一分钟计算actosignal,将一分钟内信号从低到高前15%的平均值作为该时间段基线值的初始参考值actobase;按以下修剪公式计算actobaseline:

对胎儿活动信号基线进行前向滤波和后向滤波处理,这里对公式进行了简化处理;前向滤波公式为:

actobaselinei=0.8×actobaselinei-1+0.2×actobaselinei

后向滤波公式为:

actobaselinei=0.8×actobaselinei+1+0.2×actobaselinei;

与获取胎心率加速信息的胎心率基线计算不同,胎儿运动基线只需反映胎儿活动信号较低部分的趋势。因此,这里对胎儿活动信号基线只做前后两次滤波处理;

得到actobaseline基线后,定义差值序列actodiff:

actodiffi=actosignali-actobaselinei

因此,新的胎动信号actodiffsignal按如下公式进行计算:

更进一步的,所述动态阈值提取胎儿活动图胎动信息,获取第二胎儿活动信息的步骤为:

在应用胎儿活动信号基线改善了胎动的识别效果之后,根据临床数据中胎儿活动信号的实际幅度情况,设计了一个新的动态阈值判断函数用于提取初始的胎动活动信息,以供之后进行多判据识别和胎动标记;动态阈值判断函数主要是根据基线的幅度值对阈值进行大小的调整;具体的动态阈值判断函数公式如下:

完成阈值调整后按如下步骤提取第二胎儿活动信息:

步骤s701、初始化i=0;

步骤s702、从actodiffsignal位置i开始向后搜索,如果有actodiffsignali>threshold(i),且此时没有处于标记状态的胎动点,执行步骤3;否则,如果存在处于标记状态的胎动,执行步骤s704;

步骤s703、将i标记为新的胎动起始点fmstart,并将胎动结束点fmend初始化为i;i=i+1;执行步骤s705;

步骤s704、如果已标记胎动的fmend位置与i相差在5秒以内,将fmend的值更新为i,i=i+1;否则,结束已有胎动的标记,取actodiffsignal在[fmstart,fmend]范围内的最大值作为胎动标记的峰值fmpeak,并将最大值的位置标记为fmtime,该位置的基线值定为fmbase,将本次胎动按元组(fmtime,fmpeak,fmbase,fmstart,fmend)存到胎动数组中;执行步骤s705;

步骤s705、继续执行步骤s702,直到搜索到actodiffsignal末端;如果到达末端还有正在标记的胎动未结束标记状态,即结束此胎动标记并将其存到胎动数组中,胎动数组即为第二胎儿活动信息。

优选的,所述多数据识别胎动,赋予胎心率加速指数分值acc_fm_score、宫缩胎动信息指数分值uc_fm_score、胎儿活动图胎动指数分值fmp_fm_score的步骤具体为:

对于胎心率加速,如果是大加速,acc_fm_score=1;如果是小加速,acc_fm_score=0.5;

对于宫缩胎动,如果宫缩胎动中满足fmpeak>7且fmpeaknums≥3且fmend-fmstart>5,uc_fm_score=0.5;宫缩胎动中满足:peaknums≥3,uc_fm_score=0.3;宫缩胎动中满足:fmpeak>8且peaknums<3,uc_fm_score=0.2;

对于胎儿活动图胎动,如果胎儿活动图胎动满足:fmpeak≥1.2fmbase且

fmend-fmstart>6且fmend-fmstart<150,fmp_fm_score=0.8;

如果胎儿活动图胎动满足:fmbase<fmpeak<1.2fmbase且fmend-fmstart>3,fmp_fm_score=0.3;如果胎儿活动图胎动满足:fmpeak≥1.2fmbase且fmend-fmstart≤3,fmp_fm_score=0.3;

在上述指数分值的赋值下,总分值的阈值t为1。

更进一步的,所述胎心率加速的大加速为正常加速,为胎心率基线振幅升高大于等于15bpm,持续时间大于等于15s;小加速为胎心率基线振幅升高小于15bpm但大于等于10bpm,持续时间小于15s但大于等于10s。

优选的,所述多判据识别胎动的步骤具体为:

步骤s1001、初始化i=0;

步骤s1002、从位置i开始向后搜索胎儿监护信号,结合胎心率加速、宫缩胎动信息和胎儿活动图胎动信息进行判断;定义胎动指数fmscore用于衡量当前位置出现胎动的可信程度,fmscore初始化为0;针对胎心率加速、宫缩胎动信息和胎儿活动图胎动信息定义了胎动指数分值acc_fm_score、uc_fm_score和fmp_fm_score,;

步骤s1003、搜索位置i是否在任一胎心率加速事件(包括小加速)的范围附近,即在该加速事件的[accstart,accend]±6范围,如果存在,执行步骤s1004;如果不存在,执行步骤s1005;

步骤s1004、令:

fmscore=fmscore+acc_fm_score

接着搜索范围[accstart,accend]±6是否存在宫缩胎动和胎儿活动图胎动事件,如果存在,更新fmscore:

fmscore=fmscore+uc_fm_score+fmp_fm_score

如果fmscore>1.0,确定为胎动事件,将胎动位置标记fmpoint=accstart;i更新为加速事件、宫缩胎动和胎儿活动图胎动三者结束点间最大值的后续第一个点位置;继续执行步骤3,直到搜索到胎监信号末端;

步骤s1005、搜索位置i是否在任一宫缩胎动事件和胎儿活动图胎动事件范围附近,即在胎动事件的[fmstart,fmend]±6范围,如果存在,按步骤s1004中公式更新fmscore;如果fmscore>1.0,确定为胎动事件,取宫缩胎动和胎儿活动图胎动中时间较前的fmstart,将胎动位置标记fmpoint=fmstart;i更新为宫缩胎动和胎儿活动图胎动二者结束点间最大值的后一个点;继续执行步骤s1003,直到搜索到监护信号末端。

优选的,按如下策略对识别到的胎动进行标记:

步骤s1101、每5秒进行一次胎动识别计算;

步骤s1102、在识别到胎动位置后,如果当前时刻处于胎动范围之内,首选在当前时刻标识胎动,否则重新获取胎心率加速曲线、宫缩曲线和胎儿活动图。

一种胎动信号识别标记系统,包括:

监测模块,用于获取胎心率加速曲线、宫缩曲线和胎儿活动图;

胎心率加速信息计算和识别模块,用于通过对胎心率加速曲线进行胎心率基线计算和胎心率加速识别,获取胎心率加速信息;

第一胎儿活动信息计算和搜索模块,用于通过对宫缩曲线的信号进行平滑处理求差值信号并搜索胎动信息,获取第一胎儿活动信息;

第二胎儿活动信息计算和提取模块,用于通过进行胎儿活动图曲线基线计算和动态阈值提取胎动信息,获取胎儿第二活动信息;

多判据识别模块,用于多判据识别胎动,即对胎心率加速基线不同振幅赋予不同的胎心率加速指数分值;设定胎儿活动信息峰值基线值的阈值范围,根据胎儿活动信息峰的峰值基线值所在的不同阈值范围,赋予相应的宫缩胎动信息指数分值、胎儿活动图胎动指数分值;计算胎心率加速指数分值、宫缩胎动信息指数分值和胎儿活动图胎动指数分值的总分值;

胎动标记模块,用于当总分值大于等于阈值t时,标记一次胎动事件。

优选的,所述监测模块包括胎心探测器、宫缩压力探测器,所述胎心探测器用于获取胎心率加速曲线和胎儿活动图;所述宫缩压力探测器用于检测宫缩信号。

更进一步的,所述胎心探测器为两个无线蓝牙超声胎心探头,以便检测双胞胎。

一种存储介质,存储有程序,所述程序被处理器执行时,结合监测模块探测的数据,实现上述的胎动信号识别标记方法。

一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,结合监测模块探测的数据,实现上述的胎动信号识别方法。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明综合了胎心率加速、宫缩胎动信息和胎儿活动图胎动信息,结合三种信号源的权值大小综合判断并实现胎动信号标记,使得胎动信号的判断来源更加全面,增加了胎动标记的准确性和实时性。

2、本发明使用了直方图分析和滤波的方法对探头获取的胎动信号进行基线计算,并采用动态阈值提取胎动信号,可以有效地滤除干扰信号,降低信号波动较大所带来的误判,检测出更加准确的胎动信号。

附图说明

图1是本发明基于多判据的胎动信号识别标记方法的流程图。

图2是本发明从胎心率曲线中获取胎心加速信息的流程图。

图3是本发明从宫缩曲线中获取第一胎儿活动信息的流程图。

图4是本发明从胎儿活动图中获取第二胎儿活动信息的流程图。

图5是本发明胎动信号识别标记系统示意图。

具体实施方式

为了更好的理解本发明的技术方案,下面结合附图详细描述本发明提供的实施例,但本发明的实施方式不限于此。

实施例1

如图2所示,本实施例公开了一种胎动信号识别标记方法,包括步骤:

s1、获取胎心率加速曲线、宫缩曲线和胎儿活动图;

具体通过超声胎心探头获取胎心率加速曲线和胎儿活动图;通过宫缩压力探头获取宫缩曲线。

s2、通过对胎心率加速曲线进行胎心率基线计算和胎心率加速识别,获取胎心率加速信息;

s2.1、胎心率基线计算;

胎心率基线计算沿用了anderssons学位论文accelerationanddecelerationandbaselineestimation中的方法。主要的计算步骤如下所述:

s2.1.1:将胎心率曲线断线部分(零值部分)除去,然后求出胎心率曲线的平均值fhrmean;

s2.1.2:去除胎心率曲线首部和尾部的无效胎心率值。从胎心率曲线起始点开始搜索,如果胎心率值比步骤2.1.1中得到的fhrmean小60bpm以上,继续搜索,直到搜索到第一个胎心率值比fhrmean小60bpm以内,然后去除该点前面的这些部分(无效胎心率部分);接着从胎心率曲线末端点向前搜索,如果胎心率值比步骤s2.1.1中得到的fhrmean小60bpm以上,继续搜索,直到搜索到第一个胎心率值比fhrmean小60bpm以内,然后去除该点后边的无效胎心率部分。经过截断后最终得到新的胎心率曲线fhrcut;

s2.1.3:采用线性插值的方法去除fhrcut中的断点。从fhrcuti起点开始向后搜索,当abs(fhrcuti+1-fhrcuti)>30(abs为取绝对值函数)时将坐标i标记为istart,从istart开始向后搜索400个样本点,记下标为j,当abs(fhrcutj+1-fhrcutj)<10且abs(fhrcutj+1-fhrmean)<50时,记下坐标j为iend。将fhrcut在istart至iend之间的片段使用线性插值的方法进行更换,更换后从位置iend后的第一个点开始继续按步骤s2.1.3搜索进行线性插值,直到fhrcut所有断点被插值更换;

s2.1.4:将步骤s2.1.3得到的fhrcut信号(以bpm值为单位)转为以毫秒为单位的逐次心跳间期值数组(interbeatinterval,ibi)fhrps,转化方式为:

转化完成后,去除fhrps中数值在300ms到600ms范围之外的元素。接着通过频数直方图求出fhrps中每个ibi的频数,取频数最高的ibi值为psmax,对所有ibi值频数取和为pssum。接着将频数数组按照ibi值从低到高的次序累加,当累加值大于0.875×pssum时,设此时ibi值为pststart。从pststart开始,在频数数组中按ibi值由高到低搜索,直到搜索到的ibi值fhrpsj满足以下条件:

1)至少12.5%的ibi值大于当前的psmax;

2)此ibi值频数比要继续搜索的5个连续的ibi值频数都大;

3)此ibi值频数大于0.5%×pssum或abs(psmax-pststart)≤30ms。

如果存在这样的ibi值值,将psmax更正为此ibi值值。接着将psmax转化成单位为bpm的胎心率

s2.1.5:取步骤s2.1.3得到的fhrcut复制为fhrtemp。对fhrtemp中的数据进行5次滤波和4次修剪处理,滤波和修剪交替进行。在滤波之前初始化一个基础胎心率值fhrbase,fhrbase初始值为步骤s2.1.4中得到的psmaxfhr。在每次滤波前对fhrbase重新进行计算。

首先对fhrbase进行一次更新,更新方法为:

从fhrtemp末端开始向前搜索,标记位置下标为i,当abs(fhrtempi-fhrbase)<50时,令:

fhrbase=0.975×fhrbase+0.025×fhrtempi

接着进行滤波操作。一次滤波操作分为前向滤波与后向滤波。前向滤波的具体操作是:从fhrtemp起始点向后搜索,标记位置下标为m,如果abs(fhrtempm-fhrbase)<50,按如下公式更新:

否则,按以下公式进行更新:

后向滤波的具体操作是:从fhrtemp从末端向前遍历,标记位置下标为n,使用如下公式更新:

fhrtempn=0.975×fhrtempn+1+0.025×fhrbase

修剪操作分为上限修剪与下限修剪。具体操作为:

1)定义新的序列newfhrtemp,再定义修剪上限值vh和修剪下限值vl。因为需要进行4次修剪,每次vh的取值依次为20、15、10和5,vl的取值依次为20、15、10和10;

2)从头开始遍历比较fhrtemp和fhrcut,记下标为i。如果有fhrcuti>fhrtempi+vh和fhrcuti+1<fhrtempi+1,将i标记为pend。从pend位置开始向前搜索,记下标为k。如果有fhrcutk<fhrtempk,将k标记为pstart。接着按如下公式更新newfhrtemp:

否则,如果有fhrcuti<fhrtempi-vl和和fhrcuti+1>fhrtempi+1,将i标记为pend。从pend位置开始向前搜索,记下标为k。如果有fhrcutk>fhrtempk,将k标记为pstart。接着按上述公式更新newfhrtemp;

3)继续按步骤2)向后遍历fhrtemp和fhrcut进行修剪,直至更新结束。

经过滤波和修剪,将最终得到的newfhrtemp对fhrtemp进行替换。

s2.1.6:经过以上步骤,原来的胎心率曲线因为截断操作长度发生了变化,这里将新的胎心率曲线与原胎心率曲线进行对齐。将fhrcut复制为fhrcutcopy,fhrtemp复制为fhrtempcopy。设fhrcut的在步骤s2.1.2中的截断起始点为cutstart,截断结束点为cutend。令:

最后,将fhrtemp视为胎心率基线,并定义为fhrbaseline。

s2.2、胎心率加速识别;

胎心率加速搜索主要在加速定义的基础上沿用曹孟毅.基于云服务的胎心宫缩信息分析系统的设计与实现[d].暨南大学,2016.的搜索方法,同时增加了对小加速事件的搜索。这里将在无宫缩负荷试验中,满足加速定义的高于基线振幅bpm的幅度阈值定义为accthreshold,持续时间长度阈值定义为acckeeptime。因为加速的判断依赖胎心率基线的计算。通过胎心率基线计算获得了胎心率基线之后,按照如下步骤提取胎心率加速信息。

s2.2.1:从fhrcut起始点向后搜索,记下标位置为i,当fhrcuti>fhrtempi+accthreshold,在位置i后的60个胎心率范围内搜索最大值,记录最大值的数值fhrpeak和位置fhrpeaktime,接着执行步骤s2.2.2。否则,继续向后搜索;

s2.2.2:从fhrpeaktime位置向前55个胎心率点搜索,记下标位置为j。如果存在fhrcutj<fhrbaselinej+2,且在[j,fhrpeaktime]范围内的胎心率值均不大于fhrpeak,将j标记为accstart。接着从fhrpeaktime位置向后55个胎心率点搜索,记下标位置为k。如果存在fhrcutk<fhrbaselinek+2,且在[fhrpeaktime,k]范围内的胎心率值均不大于fhrpeak,将k标记为accend。如果accstart和accend均被标记,且accstart和accend之间的时间间隔超过acckeeptime,将胎心率曲线accstart至accend的范围判断为发生一次胎心率加速。接着从加速位置fhrpeaktime的一分钟后重新执行步骤s2.2.1。

这里根据胎心率加速的定义,不同孕期孕妇的加速胎心率高于基线幅度和持续时间要求的标准有所不同。如果孕妇满32孕周,accthreshold=15,acckeeptime=18;如果未满32孕周,accthreshold=10,acckeeptime=12。另外,这里的胎心率加速识别目的是为了辅助识别胎动,因此,这里将用上述的提取胎心率加速信息的识别方法进行胎心小加速的识别,区别是在不满足真加速的情况下,将加速判断参数更改为accthreshold=10,acckeeptime=10,满足判断条件即判断为小加速。

s3、通过对宫缩曲线的信号进行平滑处理求差值信号、搜索胎动信息,获取第一胎儿活动信息;

s3.1、使用五点滑动平均法对原始宫缩曲线进行平滑处理,最终得到平滑信号ucsignal′;所述五点滑动平均法对于n个非平稳数据{yi},视之为每m个相邻数据的小区间内是接近平稳的,即其均值接近于常量。于是可取每m个相邻数据的平均值,来表示该m个数据中任一个的取值,并视其为抑制了随机误差的测量结果或消除了噪声的信号。通常多用该均值来表示其中点数据或端点数据的测量结果或信号。当m取5时为五点滑动平均。通过滑动平均后,可滤掉数据中频繁随机起伏,显示出平滑的变化趋势,同时还可得出随机误差的变化过程,从而可以估计出其统计特征量。具体参照裴益轩,郭民.滑动平均法的基本原理及应用[j].火炮发射与控制学报,2001(1):21-23。

s3.2、将原始宫缩信号ucsignal与s3.1中得到的ucsignal′进行相减,得到新的胎动信号数组ucdiff。i初始化为0;

s3.3、对宫缩胎动信号ucdiffi的值进行搜索,如果ucdiffi>5,并且此时没有正在进行标记的胎动点,执行步骤s3.4;否则,如果存在正在标记的胎动,执行步骤s3.5;

s3.4、定义宫缩胎动时间累积数fmpeaknums=0。将i标记为新的宫缩胎动起始点fmstart,将此胎动结束点fmend初始化为i,fmpeaknums=fmpeaknums+1,i=i+1;

s3.5、如果正在标记的胎动结束点fmend与位置i时间差在5秒以内,则将fmend的值更新为i,fmpeaknums=fmpeaknums+1,i=i+1。否则,结束正在标记的胎动的标记状态,取ucdiff在范围[fmstart,fmend]内的最大值作为胎动幅度值fmpeak。将元组(fmstart,fmend,fmpeak,fmpeaknums)胎动存入到宫缩胎动数组中。执行步骤s3.6;

s3.6、继续执行步骤s3.3,直到搜索到信号结束。当到达信号结束点时如果还有处于标记状态的胎动点,结束此胎动标记状态并存入到宫缩胎动数组中。

s4、通过对胎儿活动图曲线基线计算和动态阈值提取胎动信息,获取第二胎儿活动信息;

s4.1、胎儿活动图曲线基线计算;

设胎儿活动信号为actosignal,胎儿活动信号基线为actobaseline。actobaseline的计算方式如下:

首先,每隔一分钟计算actosignal一分钟内信号从低到高前15%的平均值作为该时间段基线值的初始参考值actobase。按以下修剪公式计算actobaseline:

接着按照计算胎心率基线的思想,对胎儿活动信号基线进行前向滤波和后向滤波处理,这里对公式进行了简化处理。前向滤波公式为:

actobaselinei=0.8×actobaselinei-1+0.2×actobaselinei

后向滤波公式为:

actobaselinei=0.8×actobaselinei+1+0.2×actobaselinei

与获取胎心率加速信息的胎心率基线计算不同,胎儿运动基线只需反映胎儿活动信号较低部分的趋势。因此,这里对胎儿活动信号基线只做前后两次滤波处理。

得到actobaseline基线后,定义差值序列actodiff:

actodiffi=actosignali-actobaselinei

因此,新的胎动信号actodiffsignal按如下公式进行计算。

s4.2、动态阈值提取胎动信息;

在应用胎儿活动信号基线改善了胎动的识别效果之后,根据临床数据中胎儿活动信号的实际幅度情况,设计了一个新的动态阈值判断函数用于提取初始的胎动信息,以供下一节进行多判据识别和胎动标记。动态阈值判断函数主要是根据基线的幅度值对阈值进行大小的调整。具体的动态阈值判断函数公式如下:

接着按如下步骤初步提取胎动信息:

s4.2.1初始化i=0;

s4.2.2从actodiffsignal位置i开始向后搜索,如果有actodiffsignali>threshold(i),且此时没有处于标记状态的胎动点,执行步骤s4.2.3;否则,如果存在处于标记状态的胎动,执行步骤s4.2.4;

s4.2.3将i标记为新的胎动起始点fmstart,并将胎动结束点fmend初始化为i。i=i+1。执行步骤s4.2.5;

s4.2.4如果已标记胎动的fmend位置与i相差在5秒以内,将fmend的值更新为i,i=i+1;否则,结束已有胎动的标记,取actodiffsignal在[fmstart,fmend]范围内的最大值作为胎动标记的峰值fmpeak,并将最大值的位置标记为fmtime,该位置的基线值定为fmbase,将本次胎动按元组(fmtime,fmpeak,fmbase,fmstart,fmend)存到胎动数组中。执行步骤s4.2.5;

s4.2.5继续执行步骤s4.2.2,直到搜索到actodiffsignal末端。如果到达末端还有正在标记的胎动未结束标记状态,即结束此胎动标记并将其存到胎动数组中。

s5、多判据识别胎动,即对胎心率加速基线不同振幅赋予不同的胎心率加速指数分值;设定胎儿活动信息峰值基线值的阈值范围,根据胎儿活动信息的峰值基线值所在的不同阈值范围,赋予相应的宫缩胎动信息指数分值、胎儿活动图胎动指数分值;计算胎心率加速指数分值、宫缩胎动信息指数分值和胎儿活动图胎动指数分值的总分值;

s5.1、初始化i=0;

s5.2、从位置i开始向后搜索胎儿监护信号,结合胎心率加速、宫缩胎动信息和胎儿活动图胎动信息进行判断。定义胎动指数fmscore用于衡量当前位置出现胎动的可信程度,fmscore初始化为0。针对胎心率加速、宫缩胎动信息和胎儿活动图胎动信息定义了胎动指数分值acc_fm_score、uc_fm_score和fmp_fm_score,具体的取值按如下规则选取:

1)对于加速,如果是大加速,acc_fm_score=1;如果是小加速,acc_fm_score=0.5;

2)对于宫缩胎动,如果宫缩胎动中满足fmpeak>7且fmpeaknums≥3且fmend-fmstart>5,uc_fm_score=0.5;宫缩胎动中满足:

fmpeaknums≥3,uc_fm_score=0.3;宫缩胎动中满足:fmpeak>8且peaknums<3,uc_fm_score=0.2。

3)对于胎儿活动图胎动,胎儿活动图胎动满足:fmpeak≥1.2fmbase且fmend-fmstart>6且fmend-fmstart<150,fmp_fm_score=0.8;

胎儿活动图胎动满足:fmbase<fmpeak<1.2fmbase且fmend-fmstart>3,fmp_fm_score=0.3;胎儿活动图胎动满足:fmpeak≥1.2fmbase且fmend-fmstart≤3,fmp_fm_score=0.3。

s5.3、搜索位置i是否在任一胎心率加速事件(包括小加速)的范围附近,即在该加速事件的[accstart,accend]±6范围,如果存在,执行步骤s5.4。如果不存在,执行步骤s5.5;

s5.4、令:

fmscore=fmscore+acc_fm_score

接着搜索范围[accstart,accend]±6是否存在宫缩胎动和胎儿活动图胎动事件,如果存在,更新fmscore:

fmscore=fmscore+uc_fm_score+fmp_fm_score

如果fmscore>1.0,确定为胎动事件,将胎动位置标记fmpoint=accstart。i更新为加速事件、宫缩胎动和胎儿活动图胎动三者结束点间最大值的后续第一个点位置。继续执行步骤s5.3,直到搜索到胎监信号末端;

s5.5、搜索位置i是否在任一宫缩胎动事件和胎儿活动图胎动事件范围附近,即在胎动事件的[fmstart,fmend]±6范围,如果存在,按步骤s5.4、中公式更新fmscore。如果fmscore>1.0,确定为胎动事件,取宫缩胎动和胎儿活动图胎动中时间较前的fmstart,将胎动位置标记fmpoint=fmstart。i更新为宫缩胎动和胎儿活动图胎动二者结束点间最大值的后一个点。继续执行步骤s5.3,直到搜索到监护信号末端。

s6、当总分值大于等于1时,标记一次胎动事件,否则重新获取胎心率加速曲线、宫缩曲线和胎儿活动图。

按如下策略对识别到的胎动进行标记:

每5秒进行一次胎动识别计算;

在算法识别到胎动位置后,如果当前时刻处于胎动范围之内,首选在当前时刻标识胎动。

为保持方法的最佳识别效果,从探头获取的胎儿活动图信号,硬件方面需要调整探头输出的信号强度,使发生胎动时信号幅度尽量大于10个单位值,如果硬件层面无法调整,可在软件算法层面上将胎儿活动图信号进行放大化处理,使发生胎动时的胎动信号值大于10个单位值。

实施例2

本实施例提供了一种胎动信号识别标记系统,包括:监测模块,用于获取胎心率加速曲线、宫缩曲线和胎儿活动图;

胎心率加速信息计算和识别模块,用于通过对胎心率加速曲线进行胎心率基线计算和胎心率加速识别,获取胎心率加速信息;

第一胎儿活动信息计算和搜索模块,用于通过对宫缩曲线的信号进行平滑处理求差值信号并搜索胎动信息,获取第一胎儿活动信息;

第二胎儿活动信息计算和提取模块,用于通过进行胎儿活动图曲线基线计算和动态阈值提取胎动信息,获取胎儿第二活动信息;

多判据识别模块,用于多判据识别胎动,即对胎心率加速基线不同振幅赋予不同的胎心率加速指数分值;设定胎动幅度值、胎动时间累积数、胎动时长、胎动标记的峰值基线值的阈值范围,根据胎动幅度值、胎动时间累积数、胎动时长、胎动标记的峰值基线值所在的不同阈值范围,赋予相应的宫缩胎动信息指数分值、胎儿活动图胎动指数分值;计算胎心率加速指数分值、宫缩胎动信息指数分值和胎儿活动图胎动指数分值的总分值;

胎动标记模块,用于当总分值大于等于1时,标记一次胎动事件。

所述监测模块包括胎心探测器、宫缩压力探测器,所述胎心探测器为无线蓝牙超声胎心探头(fhr_pb),用于获取胎心率加速曲线和胎儿活动图;所述宫缩压力探测器为无线蓝牙宫缩压力探头(toco_pb),用于检测宫缩信号。所述胎心探测器配置两个探头,以便检测双胞胎。三个探头中的mcu模块通过各种通信接口和外设进行通信,实现数据的采集、控制和存储。超声工作频率为:标称频率1.0mhz,误差不大于±10%。

实施例3

本实施例提供了一种存储介质,该存储介质存储有一个或多个程序,所述程序被处理器执行时,根据实施例1监测模块监测到的数据,实现上述实施例1的胎动信号识别标记方法,如下:

获取胎心率加速曲线、宫缩曲线和胎儿活动图;

通过对胎心率加速曲线进行胎心率基线计算和胎心率加速识别,获取胎心率加速信息;

通过对宫缩曲线的信号进行平滑处理求差值信号并搜索胎动信息,获取第一胎儿活动信息;

通过进行胎儿活动图曲线基线计算和动态阈值提取胎动信息,获取第二胎儿活动信息;

多判据识别胎动,即对胎心率加速基线不同振幅赋予不同的胎心率加速指数分值;设定胎儿活动信息峰值基线值的阈值范围,根据胎儿活动信息的峰值基线值所在的不同阈值范围,赋予相应的宫缩胎动信息指数分值、胎儿活动图胎动指数分值;计算胎心率加速指数分值、宫缩胎动信息指数分值和胎儿活动图胎动指数分值的总分值;

当总分值大于等于1时,标记一次胎动事件。

本实施例中所述的存储介质可以是rom、ram、磁盘、光盘等介质。

实施例4

本实施例提供了一种计算设备,该计算设备包括处理器和存储器,存储器存储有一个或多个程序,处理器执行存储器存储的程序时,实现上述实施例1的胎动信号识别标记方法,如下:

获取胎心率加速曲线、宫缩曲线和胎儿活动图;

通过对胎心率加速曲线进行胎心率基线计算和胎心率加速识别,获取胎心率加速信息;

通过对宫缩曲线的信号进行平滑处理求差值信号并搜索胎动信息,获取第一胎儿活动信息;

通过进行胎儿活动图曲线基线计算和动态阈值提取胎动信息,获取第二胎儿活动信息;

多判据识别胎动,即对胎心率加速基线不同振幅赋予不同的胎心率加速指数分值;设定胎儿活动信息峰值基线值的阈值范围,根据胎儿活动信息的峰值基线值所在的不同阈值范围,赋予相应的宫缩胎动信息指数分值、胎儿活动图胎动指数分值;计算胎心率加速指数分值、宫缩胎动信息指数分值和胎儿活动图胎动指数分值的总分值;

当总分值大于等于1时,标记一次胎动事件。

本实施例中所述的计算设备可以是台式电脑、笔记本电脑、智能手机、pda手持终端、平板电脑或其他具有显示功能的终端设备。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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