一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于视网膜OCT图像的CNV病灶伪造方法、装置及系统与流程

2022-09-01 11:00:18 来源:中国专利 TAG:

基于视网膜oct图像的cnv病灶伪造方法、装置及系统
技术领域
1.本发明属于视网膜图像处理技术领域,具体涉及一种基于视网膜oct图像的cnv病灶伪造方法、装置及系统。


背景技术:

2.光学相干断层扫描(optical coherence tomography,oct)是一种形成眼底影像的成像技术,由于其能反应眼底不同生理结构对入射的弱相干光的反射、散射特性,形成的三维影像具有深度层面的信息,相比与眼底彩照等影像,其具有独特的优势。
3.脉络膜新生血管(choroidal neo vascularization,cnv),又称视网膜下新生血管,是年龄相关性黄斑变性、中央渗出性脉络膜视网膜病变、特发性脉络膜新生血管、病理性近视黄斑变性、眼组织胞浆病综合征等多种眼内疾病的一种基本病理改变。它常累及黄斑,对中央视力造成严重损害。
4.针对视网膜oct图像cnv处理的问题,已经有大量文献报道了各种不同的算法,主要包括基于深度学习的有监督和无监督方法,基于图论的图割/图搜索方法等。基于深度学习视网膜oct图像cnv处理方法省略了人工设计特征的繁琐过程,采用卷积和池化等操作从原始图像数据中学习到抽象、深层次的特征,但是,深度学习算法的模型训练通常需要大量有标注的训练数据进行模型参数优化,与自然图像相比,带标注的且包含cnv病灶的视网膜oct影像非常稀缺,并且需要有丰富的临床经验的专家医生手动完成数据标注,标注成本极高,同时难以保证训练数据与实际测试应用数据之间的独立同分布性,使得模型易产生过拟合和泛化性不足的问题。另外,不同机器拍摄的oct图像,由于波长、算法等原因,其病灶的特征也不同,因此,通常情况下只能针对一种机型拍摄的oct图像训练模型,如果跨机型训练模型,会降低模型的处理效果;另外,用一种机型拍摄的oct图形训练的模型,通常也无法应用到另外一种机型拍摄的oct图像。然而,特定机型且有标注的带cnv病灶的视网膜oct图像,多少情况下是非常匮乏的。
5.面对带cnv病灶的视网膜oct图像匮乏的问题,现有的解决方式包括:收集和标注更多的数据,利用预训练模型以及对抗网络生成模型等等。收集和标注更多的数据需要花费大量的时间和金钱,而且和其他医疗图像一样,视网膜oct图像同样难以收集,尤其是特定机型且带有疾病的oct图像。由于预训练的模型结构灵活性差、应用场景受限,难以针对视网膜oct图像处理的具体问题,找到合适预训练模型进行微调。利用对抗网络生成模型生成的虚拟数据,难以捕捉到cnv复杂的病灶特征,且生成的特征不具有可解释性,难以提高视网膜oct图像处理模型的准确率。


技术实现要素:

6.针对上述问题,本发明提出一种基于视网膜oct图像的cnv病灶伪造方法、装置及系统,能够从少量真实的带cnv病灶的视网膜oct图像中提取真实cnv病灶的特征,并基于提取到的真实cnv病灶的特征,在大量的不带cnv病灶的视网膜oct图像伪造cnv病灶,最终生
成高准确率的视网膜oct图像处理模型。
7.为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
8.第一方面,本发明提供了一种基于视网膜oct图像的cnv病灶伪造方法,包括:
9.利用真实的带cnv病灶的视网膜oct图像,以及对应的标签,训练出cnv判别器;
10.基于真实的带cnv病灶的视网膜oct图像,提取出cnv真实特征;
11.获取cnv模拟特征;
12.基于所述cnv真实特征和cnv模拟特征,在不带cnv病灶的视网膜oct图像上伪造cnv病灶,批量生成带cnv病灶的视网膜oct图像及标签,并送入所述cnv判别器;
13.将cnv判别器输出的合格数据和真实的带cnv病灶的视网膜oct图像送入深度学习模型进行训练,得到视网膜oct图像处理模型。
14.可选地,所述真实的带cnv病灶的视网膜oct图像数量小于第一阈值;所述cnv模拟特征的数量大于第二阈值,所述第一阈值小于第二阈值。
15.可选地,所述cnv判别器的训练方法包括:
16.在自然数据集上使用2-ways-5query-20shot方式训练出元学习器和二分类器;
17.基于所述元学习器和二分类器,在所述真实的带cnv病灶的视网膜oct图像上继续训练,最终得到cnv判别器。
18.可选地,所述cnv真实特征的提取方法包括:
19.从所述真实的带cnv病灶的视网膜oct图像上提取cnv病灶的大小、轮廓和位置特征;
20.对cnv病灶进行仿射变换和弹性变形,并提取cnv病灶的大小、轮廓和位置特征,进行对cnv病灶的大小、轮廓和位置特征的扩充。
21.可选地,所述cnv模拟特征的获取方法包括:
22.基于cnv特征模拟算法,自动生成cnv病灶的大小、轮廓和位置特征。
23.可选地,所述带cnv病灶的视网膜oct图像及标签的生成方法包括:
24.获取视网膜oct图像及其视网膜分层金标准数据,基于所述视网膜分层金标准数据定位出视网膜各层的位置,并计算出视网膜各层的特征;
25.选择一组cnv真实特征或cnv模拟特征;
26.若基于所述视网膜各层的特征,判断出该视网膜oct图像适合伪造cnv病灶,则根据cnv真实特征或cnv模拟特征的位置特征,以及定位出的视网膜各层的位置,计算出适合在该张视网膜oct图像上伪造cnv病灶的位置;
27.根据计算出的视网膜各层厚度,以及cnv真实特征或cnv模拟特征的大小和轮廓特征,计算出适合在该张视网膜oct图像上伪造病灶的大小和轮廓;
28.基于计算出的适合伪造cnv病灶的位置、大小和轮廓,分别对获取到的oct图像及其分层金标准进行采样和像素变换,得到带cnv病灶的视网膜oct图像及分层标签。
29.可选地,所述对获取到的oct图像及其分层金标准进行采样和像素变换,包括以下步骤:
30.基于计算出的适合伪造cnv病灶的位置、大小和轮廓,确定出伪造的cnv病灶;
31.分别计算伪造的cnv病灶轮廓内的各点p2(w
p2
,h
p2
)的像素值,其中,w
p2
为横坐标,h
p2
为纵坐标;所述像素值的计算包括以下子步骤:
32.定义p1(w
p1
,h
p1
)和p3(w
p3
,h
p3
)分别为伪造的cnv病灶轮廓上某两点的位置,其中w
p1
和w
p3
分别为横坐标,h
p1
和h
p3
分别为纵坐标,w
p1
=w
p3
=w
p2
;q(wq,hm)为视网膜外丛装层与内核分割线上的某一点,wq为该点的横坐标,hm为该点的纵坐标,其中wq=w
p3
;采样点t(w
t
,h
t
)的像素值用q表示,点p2(w
p2
,h
p2
)像素值用表示,则e为0~10之间的随机整数;
33.计算出采样点t(w
t
,h
t
)的位置,进而获得采样点t(w
t
,h
t
)的像素值,并根据采样点t(w
t
,h
t
)的像素值计算出点p2(w
p2
,h
p2
)的像素值,其中,采样点t(w
t
,h
t
)的位置的计算公式为:
34.w
t
=w
p2
±
σ
[0035][0036]
其中,σ是随机整数。
[0037]
可选地,生成的标签为分类标签、分割标签或检测标签,所述标签基于分层标签转换而成;所述视网膜oct图像处理模型为分类模型、分割模型或检测模型。
[0038]
第二方面,本发明提供了一种基于视网膜oct图像的cnv病灶伪造装置,包括:
[0039]
训练模块,用于利用所述真实的带cnv病灶的视网膜oct图像,以及对应的标签,训练出cnv判别器;
[0040]
提取模块,用于基于所述真实的带cnv病灶的视网膜oct图像,提取出cnv真实特征;
[0041]
获取模块,用于获取cnv模拟特征;
[0042]
伪造模块,用于基于所述cnv真实特征和cnv模拟特征,在不带cnv病灶的视网膜oct图像上伪造cnv病灶,批量生成带cnv病灶的视网膜oct图像及标签,并送入所述cnv判别器;
[0043]
模型训练模块,用于将cnv判别器输出的合格数据和真实的带cnv病灶的视网膜oct图像送入处理oct图像的深度学习模型进行训练,得到视网膜oct图像处理模型。
[0044]
第三方面,本发明提供了一种基于视网膜oct图像的cnv病灶伪造装置,包括:cnv特征生成模块、cnv判别器、cnv病灶伪造模块和模型训练模块;
[0045]
所述cnv特征生成模块包括cnv特征提取器、cnv特征模拟器和特征扩充器,所述cnv特征提取器从真实的带cnv病灶的视网膜oct图像中提取cnv病灶的cnv真实特征,然后输入特征扩充器进行仿射和弹性变换,批量扩充cnv病灶的特征;所述cnv特征模拟器批量生成cnv模拟特征;
[0046]
所述cnv判别器是在真实的带cnv病灶的视网膜oct图像上使用元学习的方式训练获得;
[0047]
所述cnv病灶伪造模块使用cnv特征生成模块输出的cnv真实特征和cnv模拟特征,在大量无cnv病灶的oct图像上伪造cnv病灶,批量生成带cnv病灶的视网膜oct图像及标签,并送入所述cnv判别器进行判断;
[0048]
所述模型训练模块接收cnv判别器输出的合格的数据和真实的带cnv病灶的视网膜oct图像,并进行训练,得到视网膜oct图像处理模型。
[0049]
第四方面,本发明提供了一种基于视网膜oct图像的cnv病灶伪造系统,包括处理
器及存储介质;
[0050]
所述存储介质用于存储指令;
[0051]
所述处理器用于根据所述指令进行操作以执行根据第一方面任一项所述方法的步骤。
[0052]
与现有技术相比,本发明的有益效果:
[0053]
本发明能够从少量真实的带cnv病灶的视网膜oct图像中提取真实cnv病灶的特征,并基于提取到的真实cnv病灶的特征,在大量的不带cnv病灶的视网膜oct图像伪造cnv病灶,最终生成高准确率的视网膜oct图像处理模型。
[0054]
本发明使用基于元学习maml算法的模型训练方式训练cnv判别器,能够有效地避免由于缺少数据导致模型过拟合的问题。
[0055]
本发明通过提取cnv病灶的cnv真实特征,并进行弹性变形和仿射变换,以及算法自动模拟生成cnv模拟特征,可以最大程度的覆盖cnv特征的多样性。
[0056]
本发明基于cnv真实特征和cnv模拟特征,在大量的不带cnv病灶的视网膜oct图像伪造病灶,可以无限扩充带cnv病灶的视网膜oct图像及标签,有效的解决了数据量少、标注困难的问题。
[0057]
本发明通过cnv判别器判断批量生成的样本和标签是否和合格,保证了生成的样本数据和真实样本的相似性,显著提高判别的效率,并极大缩减人工判断所花费的时间和精力。
[0058]
本发明中的标签和样本的批量生成是同时进行的,生成的标签既可以是分类标签,也可以是分割、检测的标签,因此生成的样本可以用于分类模型,也可以用于分割、检测模型,大大丰富了视网膜oct图像处理范围。
附图说明
[0059]
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
[0060]
图1为本发明一种实施例的基于视网膜oct图像的cnv病灶伪造方法流程示意图;
[0061]
图2为本发明一种实施例的基于视网膜oct图像的cnv病灶伪造装置的示意图;
[0062]
图3为本发明一种实施例的cnv特征生成过程示意图;
[0063]
图4为本发明一种实施例的cnv伪造过程示意图;
[0064]
图5为视网膜分层图;
[0065]
图6为本发明一种实施例的oct图像的采样和像素变换操作示意图。
具体实施方式
[0066]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
[0067]
下面结合附图对本发明的应用原理作详细的描述。
[0068]
实施例1
[0069]
本发明实施例中提供了一种基于视网膜oct图像的cnv病灶伪造方法,包括以下步
骤:
[0070]
(1)利用真实的带cnv病灶的视网膜oct图像,以及对应的标签,训练出cnv判别器;由于真实的带cnv病灶的视网膜oct图像非常匮乏,为此,本发明实施例中仅需要少量的真实的带cnv病灶的视网膜oct图像即可;
[0071]
(2)基于真实的带cnv病灶的视网膜oct图像,提取出cnv真实特征;
[0072]
(3)获取cnv模拟特征;在具体实施过程中,所述cnv模拟特征的数量较大,用于最大程度的覆盖cnv特征的多样性;
[0073]
(4)基于所述cnv真实特征和cnv模拟特征,在不带cnv病灶的视网膜oct图像上伪造cnv病灶,批量生成带cnv病灶的视网膜oct图像及标签,并送入所述cnv判别器;
[0074]
(5)将cnv判别器输出的合格数据和真实的带cnv病灶的视网膜oct图像送入处理oct图像的深度学习模型进行训练,得到视网膜oct图像处理模型;在具体实施过程中,所述深度学习模型可以是神经网络模型。
[0075]
可见,本发明实施例中的于视网膜oct图像的cnv病灶伪造方法,能够从少量真实的带cnv病灶的视网膜oct图像中提取真实cnv病灶的特征,并基于提取到的真实cnv病灶的特征,在大量的不带cnv病灶的视网膜oct图像伪造cnv病灶,最终生成高准确率的视网膜oct图像处理模型。
[0076]
在本发明实施例的一种具体实施方式中,由于真实的带cnv病灶的视网膜oct图像非常匮乏,为此,所述真实的带cnv病灶的视网膜oct图像数量小于第一阈值;为了最大程度的覆盖cnv特征的多样性,所述cnv模拟特征的数量大于第二阈值,所述第一阈值小于第二阈值。
[0077]
由于特定机型且有标注的带cnv病灶的视网膜oct图像匮乏,使用传统的方式训练模型容易出现过拟合的问题。为此,在本发明实施例的一种具体实施方式中,提出基于元学习maml算法的模型训练方式来训练获得cnv判别器。具体地,所述cnv判别器的训练方法包括以下步骤:
[0078]
在自然数据集上使用2-ways-5query-20shot方式训练出元学习器和二分类器;
[0079]
基于所述元学习器和二分类器,在所述真实的带cnv病灶的视网膜oct图像上继续训练,最终得到cnv判别器。
[0080]
在本发明实施例的一种具体实施方式中,所述cnv真实特征的提取方法包括以下步骤:
[0081]
从所述真实的带cnv病灶的视网膜oct图像上提取cnv病灶的大小、轮廓和位置特征;
[0082]
对cnv病灶进行仿射变换和弹性变形,并提取仿射变换和弹性变形后的cnv病灶的大小、轮廓和位置特征,进行对cnv病灶的大小、轮廓和位置特征的扩充。在具体实施过程中,所述仿射变换包括平移、放缩等操作,具体参见图3。
[0083]
在本发明实施例的一种具体实施方式中,所述cnv模拟特征的获取方法包括:
[0084]
基于cnv特征模拟算法,自动生成cnv病灶的大小、轮廓和位置特征;
[0085]
在具体实施过程中,如图3所示,所述基于cnv特征模拟算法,自动生成cnv病灶的大小、轮廓和位置特征,具体包括:首先批量生成随机大小和形状的椭圆和三角图像;然后经过透视投影变换,生成类似cnv病灶的图像;最后进行cnv病灶的大小、轮廓和位置特征提
取,完成自动生成cnv病灶的大小、轮廓和位置特征。
[0086]
本发明根据cnv真实特征进行cnv病灶伪造,可最大程度保证伪造的带cnv病灶的视网膜oct图像与真实的带cnv病灶的视网膜oct图像的相似性;利用cnv特征模拟算法自动、批量生成的cnv模拟特征,在保证模拟特征与真实特征相似性的同时,也最大程度覆盖cnv病灶特征的多样性。
[0087]
在本发明实施例的一种具体实施方式中,如图4所示,所述带cnv病灶的视网膜oct图像及标签的生成方法包括:
[0088]
步骤(1):选择一张oct图像及其视网膜分层金标准数据,定位视网膜各层的位置,并计算视网膜各层厚度、倾斜度、亮度等特征;选择一组cnv生成特征(cnv真实特征或cnv模拟特征);
[0089]
步骤(2):根据步骤(1)得到的算视网膜的特征,判断该张视网膜oct图像是否适合伪造cnv病灶,不适合则重新选择一张oct图像及其金标准数据,适合则进行步骤(3)。
[0090]
步骤(3):根据步骤(1)计算的视网膜各层的层厚度和cnv生成特征的大小和轮廓特征,计算出适合在该张视网膜oct图像上伪造cnv病灶的大小和轮廓,具体的计算过程包括:
[0091]
视网膜各层厚度用d(d1,d2,d3,d4,d5)表示,d1表示脉络膜(choroid)厚度,d2表示色素上皮层(rpe)和威尔赫夫膜(vm)总厚度,d3表示外节层(osl)、连接纤毛层(cl)、外丛状层(opl)、内核层(inl)和内丛状层(ipl)总厚度、d4表示神经节细胞(gcl)、神经纤维层(rnfl)和玻璃体(vitreous)的总厚度,d5表示玻璃体(vitreous)厚度。将cnv生成特征的大小用b(像素个数)表示,轮廓用c(x,y)表示,o表示真实的带cnv病灶的视网膜oct图像的分层金标准,宽和高分别用w0和h0表示,其中,x=(x1...x2,xm)表示横坐标,y=(y1...y2,ym)表示对应的纵坐标。计算x最大的差值x
max
若,计算y最大的差值y
max
,则适合伪造的cnv病灶的轮廓的计算公式如下:
[0092][0093]
其中,d=d2 d3 d4。若y
max
≥d且b《d*x
max
,则若y
max
≥d或b≥d*x
max
,则对c进行缩小,缩小过程包括:将图像o缩小至宽为高为e1和e2是0~d/4的随机整数;根据缩小后的图像o,重新提取cnv病灶的轮廓特征大小特征和位置特征,则和就是计算得到的适合伪造cnv的轮廓特征和大小特征。
[0094]
步骤(4):若图像o未经过缩放,则使用原始的位置特征,否则使用步骤(3)重新提取的位置特征,并结合步骤(1)定位的视网膜各层的位置,计算出适合在该张视网膜oct图像上伪造cnv病灶的位置。计算过程具体为:
[0095]
视网膜各层的位置特征用m[m1,m2,m3]表示,m1[w1,h1]表示脉络膜层与色素上皮层的分割线,m2[w2,h2]表示威尔赫夫膜与外节层的分割线,m3[w3,h3]表示外丛状层与内核层的分割线,其中wk=(w1...w
n-1
,wn)是表示横坐标,hk=(h1...h
n-1
,hn)表示对应的纵坐标,k
=1,2,3,n表示坐标总数;cnv生成特征的位置特征用i[(w1,h1),(w2,h2)]表示,(w1,h1)表示cnv生成特征的左上角坐标,(w2,h2)表示cnv生成特征的右下角坐标,则适合在该张视网膜oct图像上伪造cnv病灶的位置为hk∈h2作为伪造的cnv的起始位置。
[0096]
步骤(5):根据步骤(3)和步骤(4)计算的适合伪造cnv病灶的位置、大小和轮廓,分别在该张视网膜oct图像上及其分层金标准上进行采样和像素变换等操作,得到带cnv病灶的视网膜oct图像及分层标签。
[0097]
其中,oct图像的采样和像素变换操作详细过程参考图6,具体包括以下步骤:
[0098]
首先在无cnv病灶的oct图像上定位到适合伪造cnv的位置hk∈h2,结合适合伪造cnv病灶的大小和轮廓,确定出伪造的cnv病灶;
[0099]
重新计算伪造的cnv病灶轮廓内各点的像素值,具体包括:
[0100]
伪造的cnv轮廓及轮廓内的位置集合用p[p1,p2...pm]表示,假设需要计算伪造的cnv轮廓内的某一点p2(w
p2
,h
p2
)的像素值;p1(w
p1
,h
p1
)和p3(w
p3
,h
p3
)分别为轮廓的上某两点的位置,其中w
p1
=w
p3
=w
p2
;q(wq,hm)是外丛装层与内核分割线m3[w3,h3]上的某一点,其中wq=w
p3
且wq∈h3,hq∈h3。采样点t(w
t
,h
t
)的像素值用q表示,位置p2(w
p2
,h
p2
)像素值用表示,则e为0~10之间的随机整数;
[0101]
计算出采样点t(w
t
,h
t
)的位置,进而获得采样点t(w
t
,h
t
)的像素值,并根据采样点采样点t(w
t
,h
t
)的像素值计算出点p2(w
p2
,h
p2
)的像素值,其中,采样点t(w
t
,h
t
)的位置的计算公式为:
[0102]wt
=w
p2
±
σ,σ是(-3,3)之间的随机整数
[0103][0104]
由于位置和像素值是对应的,当采样点t(w
t
,h
t
)的位置被计算出来后,其像素值可以基于key-value获得。
[0105]
分层金标准的采样和像素变换操作和oct图像的保持一致。
[0106]
在本发明实施例的一种具体实施方式中,生成的标签为分类标签,所述视网膜oct图像处理模型为分类模型。在本发明实施例的其他实施方式中,生成的标签还可以是分割标签或检测标签,所述视网膜oct图像处理模型还可以是分割模型或检测模型。所述分类标签、分割标签或检测标签均可以通过前述分层特征通过现有技术转换而成。
[0107]
下面结合一具体实施方式,对本发明实施例中的cnv病灶伪造方法进行详细说明。
[0108]
针对带标注的且包含cnv病灶的视网膜oct图像稀缺、标注成本高、模型容易过拟合等问题,本发明提供一种视网膜oct图像的cnv病灶伪造方法,如图1所示,可以分为三个步骤:
[0109]
步骤一、cnv判别器训练、cnv特征提取和自动生成
[0110]
1.1、利用cnv病灶特征提取算法,从少量的真实的带cnv病灶的视网膜oct图像上,提取cnv病灶的大小、轮廓和位置特征,并对真实的cnv病灶进行仿射变换、弹性变形,对cnv病灶的大小、轮廓和位置特征进行扩充。
[0111]
1.2、利用cnv特征模拟算法,自动生成cnv的大小、轮廓、位置等特征;
[0112]
1.3、由于特定机型且有标注的带cnv病灶的视网膜oct图像匮乏,使用传统的方式训练模型容易出现过拟合的问题,因此本发明提供一种基于元学习maml算法的模型训练方式:首先在自然数据集上使用2-ways-5query-20shot方式训练出元学习器和二分类器,然后基于此元学习器和二分类器,在少量带cnv病灶的视网膜oct图像上继续训练,最终得到cnv判别器。
[0113]
步骤二、cnv病灶伪造和生成样本筛选
[0114]
2.1、根据步骤一种提取的cnv真实特征和算法自动生成的cnv模拟特征,在大量不带cnv病灶的视网膜oct图像上伪造cnv病灶,批量生成带cnv病灶的视网膜oct图像及标签。
[0115]
2.2、使用步骤一训练出的cnv判别器,判断生成的带cnv的oct图像及标签数据是否合格。不合格则返回步骤(1),销毁并重新生成,合格则进入步骤三;
[0116]
步骤三、模型训练和验证
[0117]
3.1、使用步骤二中批量生成的带cnv病灶的视网膜oct图像和标签,送入处理oct图像的深度学习模型进行训练,生成视网膜oct图像处理模型,以提高模型的准确率并避免模型过拟合;所述视网膜oct图像处理模型可以用于进行视网膜oct图像分类、视网膜oct疾病分割和视网膜oct疾病检测。
[0118]
实施例2
[0119]
基于与实施例1相同的发明构思,本发明实施例中提供了一种基于视网膜oct图像的cnv病灶伪造装置,包括:
[0120]
训练模块,用于利用所述真实的带cnv病灶的视网膜oct图像,以及对应的标签,训练出cnv判别器;
[0121]
提取模块,用于基于所述真实的带cnv病灶的视网膜oct图像,提取出cnv真实特征;
[0122]
获取模块,用于获取cnv模拟特征;
[0123]
伪造模块,用于基于所述cnv真实特征和cnv模拟特征,在不带cnv病灶的视网膜oct图像上伪造cnv病灶,批量生成带cnv病灶的视网膜oct图像及标签,并送入所述cnv判别器;
[0124]
模型训练模块,用于将cnv判别器输出的合格数据和真实的带cnv病灶的视网膜oct图像送入处理oct图像的深度学习模型进行训练,得到视网膜oct图像处理模型。
[0125]
可见,本发明实施例中的于视网膜oct图像的cnv病灶伪造装置,能够从少量真实的带cnv病灶的视网膜oct图像中提取真实cnv病灶的特征,并基于提取到的真实cnv病灶的特征,在大量的不带cnv病灶的视网膜oct图像伪造cnv病灶,最终生成高准确率的视网膜oct图像处理模型。
[0126]
在本发明实施例的一种具体实施方式中,由于真实的带cnv病灶的视网膜oct图像非常匮乏,为此,所述真实的带cnv病灶的视网膜oct图像数量小于第一阈值;为了最大程度的覆盖cnv特征的多样性,所述cnv模拟特征的数量大于第二阈值,所述第一阈值小于第二阈值。
[0127]
由于特定机型且有标注的带cnv病灶的视网膜oct图像匮乏,使用传统的方式训练模型容易出现过拟合的问题。为此,在本发明实施例的一种具体实施方式中,提出基于元学习maml算法的模型训练方式来训练获得cnv判别器。具体地,所述cnv判别器的训练方法包
括以下步骤:
[0128]
在自然数据集上使用2-ways-5query-20shot方式训练出元学习器和二分类器;
[0129]
基于所述元学习器和二分类器,在所述真实的带cnv病灶的视网膜oct图像上继续训练,最终得到cnv判别器。
[0130]
在本发明实施例的一种具体实施方式中,所述cnv真实特征的提取方法包括以下步骤:
[0131]
从所述真实的带cnv病灶的视网膜oct图像上提取cnv病灶的大小、轮廓和位置特征;
[0132]
对cnv病灶进行仿射变换和弹性变形,并提取仿射变换和弹性变形后的cnv病灶的大小、轮廓和位置特征,进行对cnv病灶的大小、轮廓和位置特征的扩充。在具体实施过程中,所述仿射变换包括平移、放缩等操作,具体参见图3。
[0133]
在本发明实施例的一种具体实施方式中,所述cnv模拟特征的获取方法包括:
[0134]
基于cnv特征模拟算法,自动生成cnv病灶的大小、轮廓和位置特征;
[0135]
在具体实施过程中,如图3所示,所述基于cnv特征模拟算法,自动生成cnv病灶的大小、轮廓和位置特征,具体包括:首先批量生成随机大小和形状的椭圆和三角图像;然后经过透视投影变换,生成类似cnv病灶的图像;最后进行cnv病灶的大小、轮廓和位置特征提取,完成自动生成cnv病灶的大小、轮廓和位置特征。
[0136]
本发明根据cnv真实特征进行cnv病灶伪造,可最大程度保证伪造的带cnv病灶的视网膜oct图像与真实的带cnv病灶的视网膜oct图像的相似性;利用cnv特征模拟算法自动、批量生成的cnv模拟特征,在保证模拟特征与真实特征相似性的同时,也最大程度覆盖cnv病灶特征的多样性。
[0137]
在本发明实施例的一种具体实施方式中,如图4所示,所述带cnv病灶的视网膜oct图像及标签的生成方法包括:
[0138]
步骤(1):选择一张oct图像及其视网膜分层金标准数据,定位视网膜各层的位置,并计算视网膜各层厚度、倾斜度、亮度等特征;选择一组cnv生成特征(cnv真实特征或cnv模拟特征);
[0139]
步骤(2):根据步骤(1)得到的算视网膜的特征,判断该张视网膜oct图像是否适合伪造cnv病灶,不适合则重新选择一张oct图像及其金标准数据,适合则进行步骤(3)。
[0140]
步骤(3):根据步骤(1)计算的视网膜各层的层厚度和cnv生成特征的大小和轮廓特征,计算出适合在该张视网膜oct图像上伪造病灶的大小和轮廓,具体的计算过程包括:
[0141]
如图5所示,视网膜各层厚度用d(d1,d2,d3,d4,d5)表示,d1表示脉络膜(choroid)厚度,d2表示色素上皮层(rpe)和威尔赫夫膜(vm)总厚度,d3表示外节层(osl)、连接纤毛层(cl)、外丛状层(opl)、内核层(inl)和内丛状层(ipl)总厚度、d4表示神经节细胞(gcl)、神经纤维层(rnfl)和玻璃体(vitreous)的总厚度,d5表示玻璃体(vitreous)厚度。将cnv生成特征的大小用b(像素个数)表示,轮廓用c(x,y)表示,o表示真实的带cnv病灶的视网膜oct图像的分层金标准,宽和高分别用w0和h0表示,其中,x=(x1...x2,xm)表示横坐标,y=(y1...y2,ym)表示对应的纵坐标。计算x最大的差值x
max
若,计算y最大的差值y
max
,则适合伪造的cnv的轮廓的计算公式如下:
[0142][0143]
其中,d=d2 d3 d4。若y
max
≥d且b《d*x
max
,则若y
max
≥d或b≥d*x
max
,则对c进行缩小,缩小方式包括:
[0144]
(1)将图像o缩小至宽为高为e1和e2是0~d/4的随机整数。
[0145]
(2)根据缩小后的图像o,重新提取cnv病灶的轮廓特征大小特征和位置特征,则和就是计算得到的适合伪造cnv的轮廓特征和大小特征。
[0146]
步骤(4):若图像o未经过缩放,则使用原始的位置特征,否则使用步骤(3)重新提取的位置特征,并结合步骤(1)定位的视网膜各层的位置,计算出适合在该张视网膜oct图像上伪造cnv病灶的位置。计算过程具体为:
[0147]
视网膜各层的位置特征用m[m1,m2,m3]表示,m1[w1,h1]表示脉络膜层与色素上皮层的分割线,m2[w2,h2]表示威尔赫夫膜与外节层的分割线,m3[w3,h3]表示外丛状层与内核层的分割线,其中wk=(w1...w
n-1
,wn)是表示横坐标,hk=(h1...h
n-1
,hn)表示对应的纵坐标;cnv生成特征的位置特征i[(w1,h1),(w2,h2)]用表示,(w1,h1)表示cnv左上角坐标,(w2,h2)表示cnv右下角坐标;则适合在该张视网膜oct图像上伪造cnv病灶的位置为hk∈h2作为伪造的cnv的起始位置。
[0148]
步骤(5)根据步骤(3)和步骤(4)计算的适合伪造cnv病灶的位置、大小和轮廓,分别在该张视网膜oct图像上及其分层金标准上进行采样和像素变换等操作,得到带cnv病灶的视网膜oct图像及分层标签。
[0149]
oct图像的采样和像素变换操作详细过程参考图6,具体包括以下步骤:
[0150]
首先在无cnv病灶的oct图像上定位到适合伪造cnv的位置hk∈h2,结合适合伪造病灶的大小和轮廓,确定出伪造的cnv病灶;
[0151]
重新计算cnv病灶轮廓内各点的像素值,具体包括:cnv轮廓及轮廓内的位置集合用p[p1,p2...pm]表示,假设需要计算cnv轮廓内的某一点p2(w
p2
,h
p2
)的像素值;p1(w
p1
,h
p1
)和p3(w
p3
,h
p3
)分别为轮廓的上某两点的位置,其中w
p1
=w
p3
=w
p2
;q(wq,hm)是外丛装层与内核分割线m3[w3,h3]上的某一点,其中wq=w
p3
且wq∈h3,hq∈h3。采样点t(w
t
,h
t
)的像素值用q表示,位置p2(w
p2
,h
p2
)像素值用表示,则e为0~10之间的随机整数;
[0152]
计算出采样点t(w
t
,h
t
)的位置,进而获得采样点t(w
t
,h
t
)的像素值,并根据采样点采样点t(w
t
,h
t
)的像素值计算出点p2(w
p2
,h
p2
)的像素值,其中,采样点t(w
t
,h
t
)的位置的计算公式为:
[0153]wt
=w
p2
±
σ,σ是(-3,3)之间的随机整数
[0154]
[0155]
由于位置和像素值是对应的,当采样点t(w
t
,h
t
)的位置被计算出来后,其像素值可以基于key-value获得。
[0156]
分层金标准的采样和像素变换操作和oct图像的保持一致。
[0157]
在本发明实施例的一种具体实施方式中,生成的标签为分类标签,所述视网膜oct图像处理模型为分类模型。在本发明实施例的其他实施方式中,生成的标签还可以是分割标签或检测标签,所述视网膜oct图像处理模型还可以是分割模型或检测模型。
[0158]
实施例3
[0159]
本发明实施例中提供了一种基于视网膜oct图像的cnv病灶伪造装置,如图2所示,包括:cnv特征生成模块、cnv判别器、cnv病灶伪造模块和模型训练模块;
[0160]
所述cnv特征生成模块包括cnv特征提取器、cnv特征模拟器和特征扩充器,所述cnv特征提取器从真实的带cnv病灶的视网膜oct图像中提取cnv病灶的cnv真实特征,然后输入特征扩充器进行仿射和弹性变换,批量扩充cnv病灶的特征;所述cnv特征模拟器批量生成cnv模拟特征;
[0161]
所述cnv判别器是在真实的带cnv病灶的视网膜oct图像上使用元学习的方式训练获得;
[0162]
所述cnv病灶伪造模块使用cnv特征生成模块输出的cnv真实特征和cnv模拟特征,在大量无cnv病灶的oct图像上伪造cnv病灶,批量生成带cnv病灶的视网膜oct图像及标签,并送入所述cnv判别器进行判断;
[0163]
所述模型训练模块接收cnv判别器输出的合格的数据和真实的带cnv病灶的视网膜oct图像,并进行训练,得到视网膜oct图像处理模型。
[0164]
可见,本发明实施例中的于视网膜oct图像的cnv病灶伪造装置,能够从少量真实的带cnv病灶的视网膜oct图像中提取真实cnv病灶的特征,并基于提取到的真实cnv病灶的特征,在大量的不带cnv病灶的视网膜oct图像伪造cnv病灶,最终生成高准确率的视网膜oct图像处理模型。
[0165]
在本发明实施例的一种具体实施方式中,由于真实的带cnv病灶的视网膜oct图像非常匮乏,为此,所述真实的带cnv病灶的视网膜oct图像数量小于第一阈值;为了最大程度的覆盖cnv特征的多样性,所述cnv模拟特征的数量大于第二阈值,所述第一阈值小于第二阈值。
[0166]
由于特定机型且有标注的带cnv病灶的视网膜oct图像匮乏,使用传统的方式训练模型容易出现过拟合的问题。为此,在本发明实施例的一种具体实施方式中,提出基于元学习maml算法的模型训练方式来训练获得cnv判别器。具体地,所述cnv判别器的训练方法包括以下步骤:
[0167]
在自然数据集上使用2-ways-5query-20shot方式训练出元学习器和二分类器;
[0168]
基于所述元学习器和二分类器,在所述真实的带cnv病灶的视网膜oct图像上继续训练,最终得到cnv判别器。
[0169]
在本发明实施例的一种具体实施方式中,所述cnv真实特征的提取方法包括以下步骤:
[0170]
从所述真实的带cnv病灶的视网膜oct图像上提取cnv病灶的大小、轮廓和位置特征;
[0171]
对cnv病灶进行仿射变换和弹性变形,提取cnv病灶的大小、轮廓和位置特征,进行cnv病灶的大小、轮廓和位置特征扩充。
[0172]
在本发明实施例的一种具体实施方式中,所述cnv模拟特征的获取方法包括:
[0173]
基于cnv特征模拟算法,自动生成cnv病灶的大小、轮廓和位置特征。
[0174]
在本发明实施例的一种具体实施方式中,如图4所示,所述带cnv病灶的视网膜oct图像及标签的生成方法包括:
[0175]
步骤(1):选择一张oct图像及其视网膜分层金标准数据,定位视网膜各层的位置,并计算视网膜各层厚度、倾斜度、亮度等特征;选择一组cnv生成特征(cnv真实特征或cnv模拟特征);
[0176]
步骤(2):根据步骤(1)得到的算视网膜的特征,判断该张视网膜oct图像是否适合伪造cnv病灶,不适合则重新选择一张oct图像及其金标准数据,适合则进行步骤(3)。
[0177]
步骤(3):根据步骤(1)计算的视网膜各层的层厚度和cnv生成特征的大小和轮廓特征,计算出适合在该张视网膜oct图像上伪造病灶的大小和轮廓,具体的计算过程包括:
[0178]
如图5所示,视网膜各层厚度用d(d1,d2,d3,d4,d5)表示,d1表示脉络膜(choroid)厚度,d2表示色素上皮层(rpe)和威尔赫夫膜(vm)总厚度,d3表示外节层(osl)、连接纤毛层(cl)、外丛状层(opl)、内核层(inl)和内丛状层(ipl)总厚度、d4表示神经节细胞(gcl)、神经纤维层(rnfl)和玻璃体(vitreous)的总厚度,d5表示玻璃体(vitreous)厚度。将cnv生成特征的大小用b(像素个数)表示,轮廓用c(x,y)表示,o表示真实的带cnv病灶的视网膜oct图像的分层金标准,宽和高分别用w0和h0表示,其中,x=(x1...x2,xm)表示横坐标,y=(y1...y2,ym)表示对应的纵坐标。计算x最大的差值x
max
若,计算y最大的差值y
max
,则适合伪造的cnv的轮廓的计算公式如下:
[0179][0180]
其中,d=d2 d3 d4。若y
max
≥d且b《d*x
max
,则若y
max
≥d或b≥d*x
max
,则对c进行缩小,缩小方式包括:
[0181]
(1)将图像o缩小至宽为高为e1和e2是0~d/4的随机整数。
[0182]
(2)根据缩小后的图像o,重新提取cnv病灶的轮廓特征大小特征和位置特征,则和就是计算得到的适合伪造cnv的轮廓特征和大小特征。
[0183]
步骤(4):若图像o未经过缩放,则使用原始的位置特征,否则使用步骤(3)重新提取的位置特征,并结合步骤(1)定位的视网膜各层的位置,计算出适合在该张视网膜oct图像上伪造cnv病灶的位置。计算过程具体为:
[0184]
视网膜各层的位置特征用m[m1,m2,m3]表示,m1[w1,h1]表示脉络膜层与色素上皮层的分割线,m2[w2,h2]表示威尔赫夫膜与外节层的分割线,m3[w3,h3]表示外丛状层与内核层的分割线,其中wk=(w1...w
n-1
,wn)是表示横坐标,hk=(h1...h
n-1
,hn)表示对应的纵坐标;
cnv生成特征的位置特征i[(w1,h1),(w2,h2)]用表示,(w1,h1)表示cnv左上角坐标,(w2,h2)表示cnv右下角坐标;则适合在该张视网膜oct图像上伪造cnv病灶的位置为hk∈h2作为伪造的cnv的起始位置。
[0185]
步骤(5)根据步骤(3)和步骤(4)计算的适合伪造cnv病灶的位置、大小和轮廓,分别在该张视网膜oct图像上及其分层金标准上进行采样和像素变换等操作,得到带cnv病灶的视网膜oct图像及分层标签。
[0186]
oct图像的采样和像素变换操作详细过程参考图6,具体包括以下步骤:
[0187]
首先在无cnv病灶的oct图像上定位到适合伪造cnv的位置hk∈h2,结合适合伪造病灶的大小和轮廓,确定出伪造的cnv病灶;
[0188]
重新计算cnv病灶轮廓内各点的像素值,具体包括:cnv轮廓及轮廓内的位置集合用p[p1,p2...pm]表示,假设需要计算cnv轮廓内的某一点p2(w
p2
,h
p2
)的像素值;p1(w
p1
,h
p1
)和p3(w
p3
,h
p3
)分别为轮廓的上某两点的位置,其中w
p1
=w
p3
=w
p2
;q(wq,hm)是外丛装层与内核分割线m3[w3,h3]上的某一点,其中wq=w
p3
且wq∈h3,hq∈h3。采样点t(w
t
,h
t
)的像素值用q表示,位置p2(w
p2
,h
p2
)像素值用表示,则e为0~10之间的随机整数;
[0189]
计算出采样点t(w
t
,h
t
)的位置,进而获得采样点t(w
t
,h
t
)的像素值,并根据采样点采样点t(w
t
,h
t
)的像素值计算出点p2(w
p2
,h
p2
)的像素值,其中,采样点t(w
t
,h
t
)的位置的计算公式为:
[0190]wt
=w
p2
±
σ,σ是(-3,3)之间的随机整数
[0191][0192]
由于位置和像素值是对应的,当采样点t(w
t
,h
t
)的位置被计算出来后,其像素值可以基于key-value获得。
[0193]
分层金标准的采样和像素变换操作和oct图像的保持一致。
[0194]
在本发明实施例的一种具体实施方式中,生成的标签为分类标签,所述视网膜oct图像处理模型为分类模型。在本发明实施例的其他实施方式中,生成的标签还可以是分割标签或检测标签,所述视网膜oct图像处理模型还可以是分割模型或检测模型。
[0195]
下面结合图2以及一具体实施方式对本发明实施例中的基于视网膜oct图像的cnv病灶伪造装置进行详细说明。
[0196]
如图2所示,基于视网膜oct图像的cnv病灶伪造装置主要包括:cnv特征生成模块、cnv病灶伪造模块、cnv判定器和模型训练模块。cnv特征生成模块由cnv特征提取器f1、cnv特征模拟器f2以及特征扩充器a三部分组成,f1从真实的带cnv病灶的视网膜oct图像中提取cnv病灶的轮廓、大小和位置特征,然后输入a进行仿射和弹性变换,批量扩充cnv真实特征;f2批量生成cnv模拟特征。在少量的真实的带cnv病灶的视网膜oct图像上,使用元学习的方式训练cnv判别器c。cnv病灶伪造模块g使用cnv特征生成模块批量输出的cnv真实特征和cnv模拟特征,在大量无cnv病灶的oct图像上伪造cnv病灶,批量生成带cnv病灶的oct生成样本,然后送入cnv判别器判断是否合格,合格的样本会和带cnv病灶的oct真实样本一同送入模型训练模块进行训练,不合格的生成样本会被销毁并由cnv病灶伪造模块g重新生
成。
[0197]
表1是模型训练及验证结果。真实样本是来自新一代全自动人工智能oct bv1000拍摄的176张带cnv病灶的视网膜oct图像。将数据划分为训练集108张,验证集34张,测试集34张。生成样本分别使用50张、100张和200张进行测试。在u-net网络上做分割任务,不加生成样本的情况下,模型的dice系数大约0.48
±
0.059,然而增加了50张、100张和200张生成样本,其dice系数分别约为0.50
±
0.065、0.52
±
0.032,0.56
±
0.026增加了大约0.02、0.05、0.08。基于以上,生成样本可以有效防止模型过优化,并在一定程度上提升了模型处理效果。
[0198]
表1
[0199][0200]
实施例4
[0201]
本发明实施例中提供了一种基于视网膜oct图像的cnv病灶伪造系统,包括处理器及存储介质;
[0202]
所述存储介质用于存储指令;
[0203]
所述处理器用于根据所述指令进行操作以执行根据实施例1任一项所述方法的步骤。
[0204]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0205]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0206]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0207]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0208]
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
[0209]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献