一种面向ct图像分割的知识蒸馏方法
技术领域
1.本发明属于ct图像卷积神经网络分割领域,尤其涉及一种面向ct图像分割的知识蒸馏方法。
背景技术:
2.在临床诊断上,计算机断层扫描(ct)是放射科医生和肿瘤学家用来评估和病变的最常用的影像方式。在ct图像上分割恶性组织对于癌症等病症的诊断、治疗、计划和跟踪治疗反应非常重要。器官和病灶分割也是许多治疗方案的先决条件。近年来,深度学习分割方法逐渐成为了主流。然而其中的主流算法为了追求分割的精度,其复杂度越来越高,难以在实际场景中部署。例如比较常用的神经网络分割模型deeplabv3 (l.c.chen,g.papandreou,i.kokkinos,k.murphy,and,a.l.yuille,deeplab:semantic image segmentation with deep convolutional nets,atrous convolution,and fully connected crfs,ieee trans.pattern anal.mach.intell.)的模型参数量高达5680万,而一种名为enet(a.paszke,a.chaurasia,s.kim,and e.culurciello,enet:a deep neural network architecture for real-time semantic segmentation,2016,arxiv:1606.02147.)的轻量型神经网络分割模型参数量仅有35.3万。但轻量级模型的效果往往较差。因此,如何压缩和优化大型模型使得最终算法既轻量的同时分割精度也令人满意成为了图像分割。
3.近年来,一种名为知识蒸馏的方法逐渐成为深度学习中的研究热点。该类方法是一种特殊的模型训练方法,能在训练过程中迫使学生模型(通常为轻量级模型)近似教师模型的输出结果或者卷积过程从而使得在不改变学生模型结构的前提下,提升其预测能力。近期也有一些用于分割问题的知识蒸馏方法被提出,例如结构化知识蒸馏(y.liu,k.chen,c.liu,z.qin,z.luo,and j.wang,structured knowledge distillation for semantic segmentation,proc.ieee conf.comput.vis.pattern recognit.)利用过程特征图中像素特征值之间的相似性关系作为知识进行蒸馏。适应性知识蒸馏(t.he,c.shen,z.tian,d.gong,c.sun,and y.yan,knowledge adaptation for efficient semantic segmentation,proc.ieee conf.comput.vis.pattern recognit.)采用了自监督技术,使得学生网络可以从通过自监督模块对齐后的特征中进行学习。但是,此前还没有一种为医学影像分割问题设计的知识蒸馏方法。
技术实现要素:
4.本发明的目的在于针对现有知识蒸馏技术应用在医学影像分割场景时的不足,提供一种面向ct图像分割的知识蒸馏方法。本发明在使用卷积神经网络对ct图像进行分割时,优化与压缩ct图像分割网络,使轻量级分割神经网络模型(学生模型)在训练过程中,从已经训练好的(效果更好的)重量级神经网络模型(教师模型)中学习特征表达,以提升自身的分割效果;在训练完成后其本身仍然能保持原本的高预测效率。
5.本发明的目的是通过以下技术方案来实现的:一种面向ct图像分割的知识蒸馏方法,包括如下步骤:
6.(1)特征图对提取:将同一份ct图像输入学生神经网络和教师神经网络,并从两种网络中分别提取尺寸相同的特征图。
7.(2)提取语义区域代表特征:按照输入ct图像对应的各语义标注区域,在步骤(1)提取出来的教师特征图和学生特征图上,找出各区域内的特征,计算出各语义区域代表特征。
8.(3)计算蒸馏误差损失:对步骤(2)计算出来的各语义区域代表特征,两两之间计算相似度,将学生模型和教师模型的区域语义相似度差值,作为蒸馏误差损失值;
9.(4)完成训练:将步骤(3)计算出的蒸馏误差损失和原本学生模型的分割任务损失,合并后,回传给学生模型,更新学生模型的网络参数完成训练,得到最终的轻量级ct图像自动分割模型。
10.(5)将待分割ct图像,输入步骤(5)训练好的轻量级自动分割模型,得到分割结果。
11.进一步地,所述步骤(1)包括如下子步骤:
12.(1.1)将一份待分割的ct图像输入学生神经网络s,同时输入训练好的教师神经网络t。
13.(1.2)在网络s和网络t的卷积过程中,提取出一对空间尺寸相同的特征图,分别为学生特征图εs和教师特征图ε
t
。
14.进一步地,步骤(1.1)中,采用的教师神经网络t的分割效果优于学生神经网络s。
15.进一步地,步骤(1.2)中,提取的学生特征图和教师特征图的通道数量不同。
16.进一步地,所述步骤(2)包括如下子步骤:
17.(2.1)根据步骤(1.1)输入的待分割ct图像对应的分割标注图m,将该标注图线性缩放为与学生特征图εs空间尺寸相同的新标注图m。
18.(2.2)针对新标注图m中标注的每个语义区域,建立跟m大小一样的二元标注图m1,m2,
……mn
。n是语义区域的数量。每一个二元标注图中,仅有目标语义区域的元素值为1,其他区域元素值为0。
19.(2.3)将每一个语义区域的二元标注图与学生特征图εs逐像素相乘后求取平均值,得到学生区域语义代表特征
20.(2.4)将每一个语义区域的二元标注图与和教师特征图ε
t
逐像素相乘后求取平均值,得到教师区域语义代表特征
21.进一步地,所述步骤(3)包括如下子步骤:
22.(3.1)对步骤(2.3)计算出的学生区域语义代表特征,两两之间计算余弦相似度,得到学生语义相似度图
23.(3.2)对步骤(2.4)计算出的教师区域语义代表特征,两两之间计算余弦相似度,得到教师语义相似度图
24.(3.4)计算与差值的l2范数。得到蒸馏误差损失值l
ra
。
25.进一步地,步骤(4)中,将步骤(3)计算出的蒸馏误差损失l
ra
和原本学生模型的分割任务损失l
seg
,通过以下公式合并:
26.l=l
seg
αl
ra
27.其中,α是自定义权重,l为合并后的最终损失值。
28.进一步地,步骤(4)中,权重α可以为0.1。
29.进一步地,步骤(4)中,任务本身的分割损失,由预测分割图和标注分割图,进行交叉熵计算得出。
30.本发明的有益效果是:
31.(1)本发明以各区域语义代表特征之间的相似度,作为知识表征用于知识蒸馏时,仅需要对ct图像的目标区域的分割边界做粗略的标注;有效克服了现有用于分割模型的知识蒸馏方法需要精准分割边界标注的问题;而精准的分割边界标注需要专业医生大量的时间和精力,这在现实场景中要大量获取这种数据是不切实际的;
32.(2)本发明首次为医学ct图像分割量身定制知识蒸馏方法,弥补了当前市场上的知识蒸馏方法在医学影像任务上的应用空缺;在医学影像上的效果明显优于现有的知识蒸馏方法;
33.(3)本发明在不影响轻量级分割网络的运行效率的基础上,大大提高了其分割效果;使得轻量级模型在实际应用场景中可以替代重量级模型运行;本发明的通用性强,使用方便,效果优于现有技术。
附图说明
34.图1为本发明方法的整体流程图;
35.图2为本发明用于蒸馏的知识表征提取方法在ct图像二元分割任务场景的示意图;
36.图3为本发明用于蒸馏的知识表征提取方法在ct图像多元分割任务场景的示意图;
37.图4为本发明实施例效果图。
具体实施方式
38.本发明一种面向ct图像分割的知识蒸馏方法,利用分割标注,提取网络中间特征图中各语义区域的代表特征,并计算各区域语义代表特征之间的相似度,作为用于蒸馏的知识表征。使轻量级分割神经网络模型(学生模型),从卷积过程中,着重学习来自复杂分割神经网络模型(教师模型)的不同器官区域之间的关系信息,从而达到知识蒸馏的目的。
39.如图1所示,具体包括以下步骤:
40.(1)特征图对提取:在训练用于ct图像分割的学生神经网络的过程中,将同一份待分割的ct图像输入教师神经网络,并从两种网络中分别提取尺寸相同的特征图。包括以下子步骤:
41.(1.1)将一份待分割的ct图像输入学生神经网络s,同时输入训练好的教师神经网络t。采用的教师神经网络t的分割效果需要优于学生神经网络s。
42.(1.2)在网络s和网络t的卷积过程中,提取出一对空间尺寸相同,通道数量可以不同的特征图,分别为学生特征图εs和教师特征图ε
t
。
43.(2)提取语义区域代表特征:按照输入的待分割ct图像对应的各语义标注区域,在
步骤(1.2)提取的教师特征图和学生特征图上,找出各区域内的特征,计算出各语义区域代表特征。包括以下子步骤:
44.(2.1)根据步骤(1.1)输入的待分割ct图像对应的分割标注图m,将分割标注图m线性缩放为,与学生特征图εs空间尺寸相同的新标注图m。
45.(2.2)针对新标注图m中标注的每个语义区域,建立跟m大小一样的二元标注图m1,m2,
……
,mn。n是语义区域的数量。每一个二元标注图中,仅有目标语义区域的元素值为1,其他区域元素值为0。
46.(2.3)如图2所示,将每一个语义区域的二元标注图与学生特征图εs,逐像素相乘后,求取平均值,得到学生区域语义代表特征将每一个语义区域的二元标注图与和教师特征图ε
t
,逐像素相乘后,求取平均值,得到教师区域语义代表特征计算公式如下:
[0047][0048]
其中,i=1~n是语义区域索引,最大值为区域数量n。j=1~w
×
h是特征图位置索引,最大值为特征图大小即w
×
h;w为特征图的宽,h为特征图的高。ni是第i个语义区域的像素数量。ri包括和对应的εj包括和为便于理解,图2仅展示本步骤在n=2时的计算流程。
[0049]
(3)计算蒸馏误差损失:对步骤(2)计算出来的各语义区域代表特征,两两之间计算相似度,将学生模型和教师模型的区域语义相似度差值,作为蒸馏误差损失值。具体包括以下子步骤:
[0050]
(3.1)如图3所示,对步骤(2.3)计算出的学生区域语义代表特征两两之间计算余弦相似度,得到学生语义相似度图对步骤(2.4)计算出的教师区域语义代表特征两两之间计算余弦相似度,得到教师语义相似度图计算公式如下:
[0051][0052]
其中,v
rc
包括和rj包括和j=1~n且j≠i。(i,j)在这里表示n个区域中的一对,一共有对;||||2代表求l-2范数。从而,可以分别用教师模型特征图ε
t
和学生模型特征图εs,通过以上公式,计算出区域代表特征的距离度量和
[0053]
(3.2)计算与差值的l2范数,得到蒸馏误差损失值l
ra
。计算公式如下:
[0054][0055]
(4)训练学生神经网络:将步骤(3)计算出的蒸馏误差损失l
ra
和原本学生模型的分割任务损失l
seg
通过以下公式合并:
[0056]
l=l
seg
αl
ra
[0057]
其中,α是控制分割任务和知识蒸馏任务的侧重权重值,通常设为0.1。在实际部署中可以根据具体医学影像数据环境进行调整,任务本身的分割损失l
seg
通常可以由预测分割图和标注分割图进行交叉熵计算得出。
[0058]
将本轮训练的最终损失值l回传给学生神经网络,更新其网络参数。
[0059]
(5)完成训练:重复步骤(1)~(4),直至遍历所有可训练的ct图像,训练完成。得到最终的轻量级ct图像自动分割模型。
[0060]
(6)预测阶段:基于步骤(5)训练好的轻量级自动分割模型,将其部署在满足配置要求的计算设备上。给定新的待预测ct图像,输入轻量级自动分割模型后,即可快速得到分割结果。
[0061]
在一台配备intel core i7-4770中央处理器,nvidia gtx2080图形处理器及32gb内存的机器上,实现本发明的一种实施例。按照附图1所示的训练流程和实施步骤,完成从复杂ct图像分割网络到轻量级ct图像分割网络的蒸馏。完成后轻量级分割网络可以单独部署在任意满足运行条件的环境中进行使用。
[0062]
如图4所示,本发明在肝肿瘤分割数据集lits(bilic p,christ p f,vorontsov e,et al.the liver tumor segmentation benchmark(lits)[j].arxiv preprint arxiv:1901.04056,2019.)和肾肿瘤分割数据集kits19(heller n,sathianathen n,kalapara a,et al.the kits19 challenge data:300kidney tumor cases with clinical context,ct semantic segmentations,and surgical outcomes[j].arxiv preprint arxiv:1904.00445,2019.)两大数据集上做了有效性验证。图4中的4行展示了4例ct图像。a)为肝部肿瘤分割示例,b)为肝部分割示例,c)为肾部肿瘤分割示例,d)为肾部分割示例。从每一行的最后一列结果可以观察到,经过本发明方法蒸馏后的学生网络分割效果得到了大幅度的提升,基本上跟专家标注结果一致。进一步证明了本发明方法可以使学生网络在经过知识蒸馏后具有替代教师网络的潜在价值。
转载请注明原文地址:https://tc.8miu.com/read-1142.html