一种基于多尺度特征融合和双线性残差网络的AD预测算法的制作方法

文档序号:32337734发布日期:2022-11-26 08:37阅读:452来源:国知局
一种基于多尺度特征融合和双线性残差网络的AD预测算法的制作方法
一种基于多尺度特征融合和双线性残差网络的ad预测算法
技术领域
1.本发明涉及阿尔茨海默症预测技术领域,更具体地,涉及一种基于多尺度特征融合和双线性残差网络的ad预测算法。


背景技术:

2.阿尔茨海默症会导致患者记忆力、注意力和语言能力呈进行性下降,严重影响患者的正常生活,且具有不可逆性,目前无良好的治愈手段。正电子发射断层扫描(pet)是预测阿尔茨海默症有效的显像技术。因此,利用pet图像预测阿尔茨海默症具有重要的现实意义。
3.在阿尔茨海默症预测领域中,现有的大多数工作将问题建模成二分类任务,用以区分ad 和nc。他们忽略了ad和nc之间的一种中间状态,即为轻度认知障碍(mci),也称为阿尔茨海默症早期。mci引起的记忆衰退等相关症状较为轻微,对患者的日常生活影响较小,难以引起患者的重视,以至于病情发展到晚期才有机会被发现。据统计,mci患者中每年大概会有10%~20%发展为ad。若能尽早的筛选mci,并采取相关治疗手段,从而延缓病情的进一步恶化甚至在不久的将来获得治愈性治疗。可见,阿尔茨海默症的早期筛查是具有重大现实意义。为此,一般将包含早期筛查的ad预测问题建模成三分类任务,通过将三种类别的数据进行准确分类,实现ad的早期筛查,从而更好的进行ad预测。
4.近年来,机器学习方法在阿尔茨海默症预测中得到了广泛的研究。现有的大多数方法都是从图像中提取手工艺图像特征,然后训练分类器来进行预测,尽管具有很好的性能,但它在本质上存在一些缺点,如太过于依赖图像预处理、容易忽略潜在病灶特征。
5.现有的关于阿尔茨海默症的三分类算法大多都是通过堆叠神经网络的层数来构建分类网络,虽然可以捕获到感受野中的代表性特征,但由于只是简单的卷积层叠加,容易丢失图像的全局信息。又因为pet图像样本数相对较少,模型容易出现过拟合,导致分类结果较差。此外,由于mci与ad和nc的差异性较小,且脑部萎缩的空间模式是微妙和分散的,导致无法准确捕捉到mci的病灶特征,使准确进行三分类变得更加困难,因此,给ad的早期筛查任务带来了挑战性,影响ad的预测。


技术实现要素:

6.1.发明要解决的技术问题
7.针对mci患者与ad患者的脑部pet图像病灶特征不明显的问题,本发明提供了一种基于多尺度特征融合和双线性残差网络的ad预测算法,选用新型的双线性残差网络作为骨干网络,并将sk模块嵌入到骨干网络中,丰富接受域的多样性,学习到更有鉴别性的信息,提高分类的准确率,更好的完成早筛任务,从而实现更早的ad预测。
8.2.技术方案
9.为达到上述目的,本发明提供的技术方案为:
10.本发明的一种基于多尺度特征融合和双线性残差网络的ad预测算法,首先,设计
了基于dcgan的pet图像数据扩增模块,通过生成的高质量数据,丰富了数据的多样性,提高了模型的泛化能力。其次,设计了基于i_resnet18的双线性残差网络作为预测算法的骨干模型,通过双线性的cnn对输入数据进行局部特征交互,提高网络的表征能力。再次,将多尺度特征融合模块嵌入双线性网络中的特征提取网络中,能够捕捉到原始特征信息中不同病灶区域的特征差异,避免了病灶信息丢失。最后,与现有的主流ad预测算法进行了对比实验,本发明提出算法的准确度达到了82.9%,相较于次优算法的结果提高了5.2%。
11.3.有益效果
12.采用本发明提供的技术方案,与已有的公知技术相比,具有如下显著效果:
13.(1)本发明的一种基于多尺度特征融合和双线性残差网络的ad预测算法,设计了基于 dcgan的pet图像数据扩增模块。通过提出的训练策略和样本生成原则生成高质量的数据,并利用一定原则进行筛选,最终选取符合原则的数据作为扩增数据,丰富了数据的多样性,为后续实验提供了一个相对完备的数据集,从而提高后续模型的泛化性。
14.(2)本发明的一种基于多尺度特征融合和双线性残差网络的ad预测算法,设计了基于 i_resnet18的双线性残差网络作为骨干模型。该模型既可以通过简单的两路cnn对输入数据进行局部特征的交互,又能通过特征提取网络的替换使网络定位到类别之间的判别性特征,从而提高网络的表征能力。
15.(3)本发明的一种基于多尺度特征融合和双线性残差网络的ad预测算法,设计了多尺度特征融合模块,将选择性核(sk)模块嵌入到双线性网络中的特征提取网络中,可以捕捉到原始特征信息中不同病灶区域的特征差异,并对其捕获到的特征进行融合,避免病灶信息丢失带来的影响,进一步提高了预测的准确率。
16.(4)本发明的一种基于多尺度特征融合和双线性残差网络的ad预测算法,经过在adni 的实验结果得知,相比现有的包含早筛的ad预测算法提升了5.2%,本发明设计的算法有效,能尽快筛查出mci,从而进行早期ad预测。
附图说明
17.图1为本发明中生成对抗网络的基本架构图;
18.图2为本发明中双线性卷积神经网络的基本架构图;
19.图3为本发明中双线性残差网络的基本架构图;
20.图4为本发明中sk模块的基本架构图;
21.图5为本发明的ad预测算法的算法框架图;
22.图6(a)为单线性网络cnn(resnet18)的roc曲线图;
23.图6(b)为双线性网络bcnn(resnet18)的roc曲线图;
24.图6(c)为双线性网络bcnn(i_resnet18)的roc曲线图;
25.图6(d)为双线性网络bcnn(i_resnet18+sk)的roc曲线图;
26.图6(e)为本发明的ad预测算法gbnn的roc曲线图。
具体实施方式
27.为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。
28.实施例1
29.结合图5,本实施例的一种基于多尺度特征融合和双线性残差网络的ad预测算法,包括如下步骤:
30.步骤一、采用生成对抗网络获得高质量样本数据进行数据扩充:
31.基于深度卷积生成对抗网络对数据集进行数据扩增;先设计包括生成器和判别器的生成对抗网络,生成对抗网络(generative adversarial network,gan)是2014年ian goodfellow提出的生成式模型。将两个网络进行对抗性训练,当达到纳什均衡时,获得近似于真的生成图像。生成对抗网络的基本架构如图1所示。
32.生成对抗网络由生成器和判别器组成。生成器的作用是创建尽可能真实的数据,以适应真实数据的可能分布,从而欺骗鉴别网络。判别器的作用是正确识别真实数据和伪数据。其优化目标函数见式(1):
33.mingmaxdv(d,g)=e
x,p(x)
[logd(x)]+e
z,p(z)
[log(1-d(g(z)))]
ꢀꢀ
(1)
[0034]
其中,x代表真实样本,z代表随机噪声向量,g(z)代表生成器生成的数据,e代表期望, d(x)代表判别器将x与真实数据区分开的概率,d(g(z))代表判别器将生成数据判别为真的概率。判别器和生成器是一对矛盾的两个部分。判别器的目标是正确的确定数据源,所以它希望d(g(z))接近0,而生成器的目标是使它接近1。
[0035]
由于原始gan网络在网络结构方面采用mlp来实现,会存在训练不稳定和模式崩溃等问题,而cnn在提取图像特征方面优于mlp,本实施例使用深度卷积生成对抗网络(deep convolutional generative adversarial networks,dcgan),具有一定的架构约束和良好的图像生成性能。具体来说,这些约束包括对cnn架构采用,并提出了三个修改:用鉴别器上的跨步卷积和生成器上的转置卷积替换池化层。在生成网络和判别网络上都使用批量归一化。除了最后一层外,在生成模型的每一层中使用relu激活,而在判别模型的所有各层中使用 leakyrelu激活。它的优化目标函数见式(2):
[0036]
mingmaxdv(d,g)=e
x,p(x)
[logd(x,y)]+e
z,p(z)
[log(1-d(g(z),y))]
ꢀꢀꢀ
(2)
[0037]
其中,x是原始图像,y是输入进生成网络的失真图像,g(z)是生成的图像。
[0038]
本实施例以dcgan实现pet图像数据的生成,从而进行数据扩充。
[0039]
为了将dcgan与pet图像识别相结合,实施例对其进行以下流程设计:
[0040]
s1、设定训练周期,并获取样本;
[0041]
s2、针对mci和cn进行数据扩增,为mci和nc各自训练一个独立的dcgan进行数据生成;
[0042]
s3、生成伪图像,筛选1000个得分高的数据作为扩增数据。
[0043]
其中,训练原则为:
[0044]
仅针对部分困难类别进行数据扩增。针对传统模型在做包含早期筛查的ad预测任务时存在mci识别率不高的现象以及cn识别率也不高的现象,我们针对mci和cn进行数据扩增,选择为mci和nc各自训练一个独立的dcgan进行数据生成,避免类别混淆造成误差。
[0045]
样本生成策略为:
[0046]
训练mci和nc的dcgan时,训练周期(epoch)设为300000,隔30个epoch取生成样本,最终mci和nc都能得到10000个伪数据。需要注意的一点:并不是将全部伪图像作为扩增数据,而是进行一个筛选过程,使用基于多尺度特征融合的双线性残差网络对伪图像按照一定的标准进行筛选。本实施例的筛选标准是从正确识别的样本中选取1000个得分高的数据
作为扩增数据。
[0047]
步骤二、将i_resnet18作为双线性卷积神经网络的特征提取网络,设计基于i_resnet18 的双线性残差网络,用于获取具有判别性的病灶特征:
[0048]
双线性卷积神经网络(bilinear,bcnn)由输入层、主干网络、输出层组成,其中主干网络由两个分支的cnn组成,用于特征提取。输出由一个外积函数组成,因此,与传统的cnn 模型相比,bcnn模型产生了大量的信息。bcnn结构如图2所示。
[0049]
bcnn可以被形式化为一个四元组b=f(f
x
,fy,p,c)组成,其中fc和fy是基于cnn的特征函数,p是池化函数,c是分类函数。一个特征函数就表示一种映射,映射关系如式(3) 所示:
[0050]
f:i
×
l
→rk
×
t
ꢀꢀ
(3)
[0051]
其中,i表示输入图像,l一般表示位置和尺度,输出得到一个大小为k
×
t的特征r。为了得到双线性特征,通过使用矩阵外积,将f
x
和fy在每个位置的输出合并输出,如式(4)所示:
[0052]
b(l,i,f
x
,fy)=f
x
(l,i)
tfy
(l,i)
ꢀꢀ
(4)
[0053]
然后,将图像中所有位置(l表示位置集)的特征双线性组合,进行求和汇聚以获得图像的全局表示如式(5)所示:
[0054][0055]
其中,将得到的双线性向量做为x,然后对x进行带符号的平方根运算得到向量y,如式(6)所示:
[0056][0057]
最后对y进行正则化约束得到最终的双线性向量z,以提高模型在实践中的性能,如式(7) 所示:
[0058][0059]
bcnn模型一般选择具有良好特征提取能力的vggnet作为特征提取网络,但对于pet 图像分类来说,其有大量的冗余信息,且nc、mci和ad三类的类间距离小,类内距离不大,导致采用vggnet作为特征提取网络并不能提取到具有判别性的病灶特征从而进行有效分类。除此之外,还有一个vggnet不可避免的问题,它在训练学习特征时,会需要进行大量参数的学习,导致对内存的过度占用,从而使模型速度过慢,精度也会有所影响,甚至对计算机显卡也有较高的要求,不利于我们进行相关实验的研究。
[0060]
基于以上问题,本实施例将改进resnet18(i_resnet18)作为双线性网络的特征提取网络。 i_resnet18通过残差学习结构既可以保留全局信息,也可以减少参数,同时通过1
×
1卷积层的加入又增加了特征之间的非线性关系,提高模型对潜在病灶特征的学习能力,最终也提高了分类结果,实用性比较高。
[0061]
因此,本实施例提出了对ad病灶特征更具有针对性的双线性残差网络结构,模型结构如图3所示。双线性残差网络的特征提取网络是i_resnet18,它主要包含一个初始卷积层和四个改进residual block层,其中每一个改进residual block都添加了一个1
×
1卷积,在保持特征维数大小的前提下实现多个特征图线性变化。相较于原始bcnn的特征提取
网络 vggnet,i_resnet18不仅减小了参数,降低对资源的要求,而且更能提取到pet数据的全局语义特征信息,避免了传统特征提取网络仅使用堆叠卷积层造成的全局病灶信息丢失现象的发生,从而提高了预测的准确率。
[0062]
步骤三、将sk模块嵌入i_resnet18中,多尺度的捕获病灶特征:
[0063]
选择性内核网络(selective kernel network,sknet),简称sk模块。采用不同尺度非线性聚合的方法获取不同接受域的信息,实现自适应接受域,在很多领域中已被广泛应用。为了满足三分类准确率都需提高的标准,同时考虑到阿尔茨海默症的病灶位置多处于不固定状态,不同病人的pet图像也具有异质性,存在形状和大小的差异,需要在不同范围内选择相应的特征等问题。本实施例选择在双线性网络中的i_resnet18中引入sk模块,将sk模块与 i_resnet18相结合,通过对输入的pet图像进行的多尺度卷积运算,进行不同病灶区域范围内的特征提取和特征融合,解决了语义特征提取不完全的问题,高效的获取更深层次的病灶特征,从而更好的进行阿尔茨海默症的三分类任务,有效的进行ad早期预测。
[0064]
sk模块如图4所示,主要包括分割(split),融合(fuse),选择(select)三大模块。
[0065]
分割(split):对输入的特征图x∈rh×w×c进行卷积核分别为3
×
3和5
×
5大小的卷积操作,获得输出和
[0066]
融合(fuse):首先,融合不同分支的特征图,即逐元素添加,如式(8)所示:
[0067][0068]
得到合并后的结果u。然后对结果u执行全局平均池化操作,获取每个通道上的全局信息。具体来说就是通过将u缩小到空间维数h
×
w得出s的第c的元素,如式(9)所示:
[0069][0070]
最后,对输出的特征向量s(维度为c
×1×
1)使用全连接来找到每个通道的比例,从而生成d
×1×
1的向量z。
[0071]
选择(select):利用softmax函数将向量z转换为每个信道的概率权重矩阵a和b,如式(10) 所示:
[0072][0073]
式中,ai,bi表示两个通道可学习参数。需要注意一点,因为我们采取的是两分支卷积核进行特征提取,所以矩阵a,b满足ac+bc=1的关系,b矩阵是冗余的。最终将ac和bc分别对和进行加权求和操作,得到最终的输出向量v。如式(11)所示:
[0074][0075]
其中v=[v1,v2,

,vc],vc∈rh×w。
[0076]
本实施例中,针对阿尔茨海默症病灶的形状和大小在不同的切片和不同的患者之间有很大的差异,将sk模块添加在双线性残差网络中的特征提取网络中,利用其两种不同大小的卷积核对pet图像不同大小范围内的病灶特征进行充分提取,并分别进行特征融合拼接,强化了特征的深层语义性,避免了特征信息丢失的现象,充分提取pet图像中关于病灶区域的相关信息,提高预测准确率。
[0077]
实施例2
[0078]
(1)数据采集与获取
[0079]
本实施例选择adni2阶段中brain 18f-fdg pet的450位受试者数据作为训练数据,其中148例ad,150例mci和135例nc。数据集的被试分布见表1。
[0080]
表1样本分布情况表
[0081]
数据集受试者数切片数男/女年龄mmse得分cdr得分ad148310875/7374.2
±
8.023.2
±
2.20.9
±
0.25mci150327478/7271.7
±
7.526.9
±
2.70.5
±
0.03nc152319277/7574.8
±
6.829.2
±
1.70
±0[0082]
(2)pet图像预处理
[0083]
从adni数据库直接下载的pet影像数据是3d格式,为了降低pet数据量和节约资源成本,将3d脑pet图像分解为2d切片来训练模型,并在此基础上对pe图像进行一系列的预处理,以防止pet图像个体的差异而造成不正确的分类。具体流程如下:首先,通过 spm(https://www.fil.ion.ucl.ac.uk/spm/)工具将pet 3d影像数据归一化为一个国际大脑映射联盟的模板。所有数据都在神经图像信息技术(nifti)格式中。然后,进行平均、空间对齐、插值到标准体素大小、强度归一化等,其他的参数都被设置为它们的默认值,生成的图像尺寸为79
×
95
×
79。最后,使用python中的图像预处理库将每个三维pet图像切片并平铺成二维图像序列,减少了计算量,同时为了过滤掉头骨区域和其他不需要的区域,前10张和最后 10张切片被淘汰,剩下的切片作为数据集,图像大小为95
×
79。
[0084]
表2硬件配置表
[0085]
名称配置cpuintel i7-7700@3.6ghzgpunvidia geforce gtx 1080 6gb内存32gb硬盘3tb
[0086]
(3)实验环境与参数设置
[0087]
本实施例在ubuntu16.04系统下进行实验,基于python3.7和pytorch-gpu实现pann算法,主要的硬件配置如表2所示,所涉及的实验参数如表3所示。
[0088]
表3参数设置表
[0089]
[0090]
消融实验
[0091]
为了评估采用dcgan进行扩增的方式、双线性网络和sk模块对算法性能的贡献,本实施例设计了若干对照组进行消融实验。表4给出了实验结果,图6(a)-(e)给出了对应的roc曲线。对照组设置如下:
[0092]
(1)cnn(resnet18)是以resnet18为骨干网络的单线性cnn模型;
[0093]
(2)bcnn(resnet18)是以resnet18为特征提取网络的双线性cnn模型;
[0094]
(3)bcnn(i_resnet18)是以i_resnet18为特征提取网络的双线性cnn模型;
[0095]
(4)bcnn(i_resnet18+sk)是在bcnn(i_resnet18)中加入sk模块后的双线性cnn 模型;
[0096]
(5)gbnn是在bcnn(i_resnet18+sk)的基础上采用基于dcgan扩充的数据集训练的双线性cnn模型。
[0097]
表4消融实验结果表
[0098][0099]
从表4和图6可以看出:与单线性网络cnn(resnet18)对比,双线性网络bcnn(resnet18) 的分类准确率提升了12.4%,且ad、nc、mci的auc值分别提升了12.2%、3.7%和7.2%。证明了双线性网络对于三分类的有效性。相对于传统的单线性网络,它通过其两路卷积的结构对具有判别性的病灶区域有着较强关注,进一步学习pet图像的细节特征,从而提高分类的准确率。
[0100]
对比bcnn(resnet18),bcnn(i_resnet18)的分类准确率提升了10.1%,且ad、nc、 mci的auc值提升了5.5%、1.9%和7%。证明了i_resnet18作为特征提取网络的有效性,使得网络可以提取到更加具有区分性和包含抽象潜在病灶信息的特征,从而提高每个类别的 auc值。
[0101]
对比bcnn(i_resnet18),bcnn(i_resnet18+sk)分类准确率提高了4.6%,ad、nc、 mci的auc值提升了2.5%、2.5%和2.7%,证明了sk模块的有效性,使得网络能提取到不同区域大小的病灶特征,提升了分类准确率。
[0102]
最后,对比bcnn(i_resnet18+sk),本文所提出的gbnn算法的分类精度提升了2%, ad、nc、mci的auc值分别提升了1%,1.7%和1.8%,这证明了基于gan网络的数据扩增的有效性。综上所述,双线性残差模块、sk模块以及基于dcgan的数据扩增模块对算法的性能提升是有效的。
[0103]
方法对比实验
[0104]
为了验证gbnn算法的有效性,本实施例将gbnn与现有的ad预测算法进行了对比,数据集都来源于adni数据库。表5给出了对比实验的结果。
[0105]
表5gbnn与其他算法的对比实验结果表
[0106][0107]
如表5所示,首先,对比基于roi特征提取的densenet、ngf和a_lda算法,gbnn 算法的分类精确度最高提升了29.1%,这表明联合特征提取阶段和分类器构建阶段可以提高算法的性能,并且双线性的结构可以捕获到部分特征交互之间的两两相关性,抑制不太重要的冗余特征,增强特征与病灶区域的相关性。其次,对比lstm算法,gbnn算法的分类精度最低提升了5.2%,这表明通过针对pet图像的特点设计的dcgan数据扩增模块可以得到高质量的数据,进而可以丰富网络提取到的病灶信息,降低模型过拟合的风险。最后,对比未考虑到病灶大小的inception-v3算法,gbnn算法的分类精度提升了19.2%,这表明sk 模块的加入有助于模型提取到多尺度的潜在病灶特征,避免了同一尺度提取特征的单一性导致的误差,对pet图像中信息量较多的目标区域自适应提取特征,从而可以提高模型的识别能力,最终实现ad预测。综上所述,本文所提出的算法可以有效提升包含早期筛查的ad 预测精度,可以尽早将早期患者筛查出来,采取相应的干预手段,降低mci发展为ad的可能性。
[0108]
本实施例针对现有ad预测算法大多都是二分类研究,不适用早期筛查mci,而已有的部分包含早期筛查的预测算法没有考虑到ad病理不清楚,病灶区域大小并不一致,分类结果较差,无法对ad进行早筛,提出了基于多尺度特征融合和双线性残差网络的ad预测算法。首先基于dcgan对pet数据进行数据扩增,并提出相应的训练策略和样本生成原则,从而生成高质量的扩充数据,丰富数据样本的多样性,为后续分类研究提供参考价值。然后将基于i_resnet18的双线性残差网络作为骨干网络,利用双线性的结构具有强化特征交互的特点,使得特征提取过程中会对pet图像中具有判别性的特定病灶区(如海马区、颞叶以及额叶等区域)有较强的响应,同时将i_resnet18作为其特征提取网络,使模型能够获取到潜在的更为丰富的病灶信息,获得具有判别性的局部特征信息。最后,将sk模块嵌入到i_resnet,多尺度的对病灶区域进行特征提取,避免了病灶区域的丢失。实验结果表明,本实施例所提出算法的分类精度优于目前主流算法,有利于早期患者筛查,从而实现ad预测。
[0109]
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1