基于深度学习的荧光编码微球图像生成及标注方法与流程

文档序号:17628250发布日期:2019-05-10 23:53阅读:456来源:国知局
基于深度学习的荧光编码微球图像生成及标注方法与流程

本发明涉及计算机视觉的图像处理领域,尤其涉及一种基于循环生成对抗网络(cycle-consistentadversarialnetworks,cyclegan)的荧光编码微球图像生成及标注方法。具体涉及基于深度学习的荧光编码微球图像生成及标注方法。



背景技术:

近年来,深度学习技术在计算机视觉、语音识别、自然语言处理等诸多领域取得了突破性进展。2014年goodfellow等人受博弈论中二人零和博弈概念启发,提出生成对抗网络(generativeadversarialnetworks,gan),引发业界广泛关注。目前gan已经在图像生成、图像分割、图像风格迁移等领域得到了大量应用。

gan包含一个以随机噪声作为输入生成图片的生成模型(generatemodel)g,和一个以图片作为输入判断其真实性的鉴别模型(discriminalmodel)d。在训练过程中,生成网络g将尽量生成真实的图片去欺骗鉴别网络d。而d将尽量把g生成的图片和真实的图片分别开来,g和d构成了一个动态的“博弈过程”。在反复训练迭代后,在理想状态下,g将生成足够贴合真实的图片,d将难以判定g生成图片的真实性。

在gan被首次提出后已有很多变种模型。2017年jun-yanzhu等提出了cyclegan模型,其基本原理是学习两个样本空间x和y的相互映射关系,利用循环一致性损失(cycle-consistentloss)防止模式崩溃(modecollapse)问题,主要应用于图像类型转换领域。

荧光编码微球是一种生物标志物,其性质稳定,荧光灵敏度高。基于荧光编码微球的高通量生物检测技术在基因型分型、疾病诊断、环境检测等方面均有广泛应用。基于深度学习的荧光编码微球图像分析技术通过对荧光编码微球图像进行定性和定量分析,可准确识别生物量种类并获取浓度信息,与传统方法相比具有操作简单、灵活、成本低等优点。但由于现有基于监督式学习的图像分析方法需要大规模带标签训练集对网络模型进行训练,而真实荧光编码微球图像难以大量获取,且人工标注困难,导致目前基于监督式学习的荧光编码微球图像分析技术的训练结果并不理想。



技术实现要素:

为克服现有技术的不足,本发明旨在提出一种基于循环生成对抗网络的荧光编码微球图像生成方法,针对基于有监督式学习的荧光编码微球识别算法训练过程中存在的带标签训练集不足问题,利用本发明实现其训练集规模扩展和自动化标注,进而提高识别算法准确度。为此,本发明采取的技术方案是,基于深度学习的荧光编码微球图像生成及标注方法,步骤如下:

步骤1:约束值设置。在计算机中手动设置微球数量范围、微球大小范围、微球荧光编码值范围、运动区域四种约束参数;

步骤2:图像标签随机生成。基于步骤1中设置约束参数随机生成1组荧光编码微球图像参数,作为图像标签;

步骤3:训练样本集与测试集建立,首先将真实荧光编码微球图像裁剪为256*256大小图像,重复步骤2,生成大量图像标签,然后利用计算机脚本,生成与图像标签一一对应的256*256大小的原始合成图像,以0.8:0.2比例随机划分为两部分,其中0.8比例部分与真实图像合并作为训练样本集,用于模型训练;0.2比例部分作为验证样本集,用于模型评估;

步骤4:构建循环生成对抗网络cyclegan,该cyclegan由包括从x到y正向生成网络与y鉴别网络的正向gan、和包括从y到x的反向生成网络与x鉴别网络的反向gan构成,生成网络用于实现样本空间转换并生成图像,鉴别网络用于判断输入图像是否属于相应样本空间;

步骤5:cyclegan训练,cyclegan的训练过程用下式表示:

其中g*表示正向生成网络最优解、f*表示反向生成网络最优解,训练过程视为以下两步骤的迭代过程:步骤一是基于预设鉴别网络学习率超参数值,利用梯度下降法更新鉴别网络结点参数值,生成网络结点参数值保持不变;步骤二是基于预设生成网络学习率超参数值,利用梯度下降法更新生成网络结点参数值,鉴别网络结点参数值保持不变。训练迭代过程为:执行步骤一多次后,执行步骤二一次,重复该迭代过程,直至训练完毕;

步骤6:网络性能评估。将验证样本逐个输入步骤5中训练完成的cyclegan中,评估网络性能,如性能不佳,重复步骤2、3生成更多训练样本,继续网络训练;

步骤7:图像生成。将训练完成的正向生成网络模型参数导出,利用1组随机生成图像标签生成1组原始合成图像和标签数据,然后将原始合成图像作为已导出的正向生成网络输入,生成1组与标签数据相对应的近真实荧光编码微球图像。

鉴别网络具体结构是;网络损失函数为

l(g,f,dx,dy)=lgan1(g,dy,x,y)+lgan2(f,dx,y,x)+λlcyc(g,f)

其中,

上述公式中,lgan1为正向gan的损失函数,lgan2为反向gan的损失函数,lcyc为循环一致性损失函数;g表示正向生成网络,f表示反向生成网络,dy表示y鉴别网络,dx表示x鉴别网络,x表示原始合成图像分布域,y表示真实图像分布域,x表示训练样本集中原始合成图像样本,y表示训练样本集中真实图像样本,λ表示正向gan和反向gan的循环一致性损失权重,为可调整参数;dy(y)表示y鉴别网络判断样本y来自分布y的概率,dx(x)表示x鉴别网络判断样本x来自分布x的概率,dy(g(x))表示y鉴别网络判断g(x)来自分布y的概率,dx(f(y))表示x鉴别网络判断f(y)来自分布x的概率。

步骤4具体地,构建循环生成对抗网络:该cyclegan由包括正向即x到y生成网络与y鉴别网络的正向gan、和包括反向即y到x生成网络与x鉴别网络的反向gan构成,生成网络用于实现样本空间转换并生成图像,鉴别网络用于判断输入图像是否属于相应样本空间,网络包含正向反向两个实现过程,其中正向过程为将正向输入图像inputx输入正向生成网络中生成正向生成图像generatedy,并将正向生成图像generatedy输入反向生成网络生成正向循环图像cyclicx;反向过程为将反向输入图像inputy输入反向生成网络生成反向生成图像generatedx,并将反向生成图像generatedx输入正向生成网络生成反向循环图像cyclicy;在此过程中分别将正向输入图像inputx和反向生成图像generatedx输入x鉴别网络,反向输入图像inputy和正向生成图像generatedy输入y鉴别网络,用于训练鉴别网络;正向生成网络与反向生成网络结构相同,由编码层、转换层、解码层构成,其中编码层由连续3层卷积层构成,卷积核数量、大小、步长参数分别为(32,7×7,1)、(64,3×3,2)、(128,3×3,1);输出编码输入转换层进行图像风格转换,转换层由9层残差模块构成,其中残差模块具体结构是,输入数据经过连续两个128×3×3,步长为1的卷积层处理后得到输出数据并与输入数据相加作为下一个残差模块的输入,卷积层使用批规范化层bn(batchnormalization)改善训练速度,使用线性整流函数relu(rectifiedlinearunit)作为卷积层输出函数;解码层由3层反卷积层构成,卷积核数量、大小、步长参数分别为(64,3×3,2)、(32,3×3,2)、(3,7×7,1),解码层输出图像大小、深度与输入图像相同;y鉴别网络与x鉴别网络的结构相同,具体结构由连续5层卷积层构成,其中前4层卷积层用于提取图像特征,第5层卷积层生成鉴别结果,各层卷积核数量、大小、步长参数分别为(64,4×4,2)、(128,4×4,2)、(256,4×4,2)、(512,4×4,2)、(1,1×1,1)。cyclegan网络损失函数为

l(g,f,dx,dy)=lgan1(g,dy,x,y)+lgan2(f,dx,y,x)+λlcyc(g,f)

其中,

上述公式中,lgan1为正向gan的损失函数,lgan2为反向gan的损失函数,lcyc为循环一致性损失函数;g表示正向生成网络,f表示反向生成网络,dy表示y鉴别网络,dx表示x鉴别网络,x表示原始合成图像分布域,y表示真实图像分布域,x表示训练样本集中原始合成图像样本,y表示训练样本集中真实图像样本,λ表示正向gan和反向gan的循环一致性损失权重,为可调整参数;dy(y)表示y鉴别网络判断样本y来自分布y的概率,dx(x)表示x鉴别网络判断样本x来自分布x的概率,dy(g(x))表示y鉴别网络判断g(x)来自分布y的概率,dx(f(y))表示x鉴别网络判断f(y)来自分布x的概率。

本发明的特点及有益效果是:

利用本发明所提出的基于深度学习的荧光编码微球图像生成及标注方法,结合基于约束随机参数的计算机脚本生成大数量、多种类的带标签近真实荧光编码微球图像。可扩展基于监督式学习的荧光编码微球图像分析技术的训练集规模,进而提高识别准确度。

附图说明:

图1本发明的整体流程示意图。

图2循环生成对抗网络结构示意图。

图3生成网络结构示意图。

图4生成网络中各残差模块结构示意图。

图5鉴别网络结构示意图。

具体实施方式

本发明荧光编码微球图像生成流程如图1所示,具体实施方案如下:

步骤1:约束值设置。在计算机中手动设置微球数量范围、微球大小范围、微球荧光编码值范围、运动区域四种约束参数。

步骤2:图像标签随机生成。基于步骤1中设置约束参数随机生成1组荧光编码微球图像参数,作为图像标签。

步骤3:训练样本集与测试集建立。首先将真实荧光编码微球图像裁剪为256*256大小图像。重复步骤2,生成大量图像标签,然后利用计算机脚本,生成与图像标签一一对应的256*256大小的原始合成图像,以0.8:0.2比例随机划分为两部分,其中0.8比例部分与真实图像合并作为训练样本集,用于模型训练;0.2比例部分作为验证样本集,用于模型评估。

步骤4:构建循环生成对抗网络。该cyclegan由包括正向(x到y)生成网络与y鉴别网络的正向gan、和包括反向(y到x)生成网络与x鉴别网络的反向gan构成,如图2所示,生成网络用于实现样本空间转换并生成图像,鉴别网络用于判断输入图像是否属于相应样本空间,网络包含正向反向两个实现过程,其中正向过程为将正向输入图像inputx输入正向生成网络中生成正向生成图像generatedy,并将正向生成图像generatedy输入反向生成网络生成正向循环图像cyclicx;反向过程为将反向输入图像inputy输入反向生成网络生成反向生成图像generatedx,并将反向生成图像generatedx输入正向生成网络生成反向循环图像cyclicy。在此过程中分别将正向输入图像inputx和反向生成图像generatedx输入x鉴别网络,反向输入图像inputy和正向生成图像generatedy输入y鉴别网络,用于训练鉴别网络;正向生成网络与反向生成网络结构相同,具体结构如图3所示,由编码层、转换层、解码层构成,其中编码层由连续3层卷积层构成,卷积核数量、大小、步长参数分别为(32,7×7,1)、(64,3×3,2)、(128,3×3,1)。输出编码输入转换层进行图像风格转换,转换层由9层残差模块(residualblock)构成,其中残差模块具体结构如图4所示,输入数据经过连续两个128×3×3,步长为1的卷积层处理后得到输出数据并与输入数据相加作为下一个残差模块的输入,卷积层使用批规范化层(batchnormalization,bn)改善训练速度,使用线性整流函数(rectifiedlinearunit,relu)作为卷积层输出函数;解码层由3层反卷积层构成,卷积核数量、大小、步长参数分别为(64,3×3,2)、(32,3×3,2)、(3,7×7,1),解码层输出图像大小、深度与输入图像相同;y鉴别网络与x鉴别网络的结构相同,具体结构如图5所示,由连续5层卷积层构成,其中前4层卷积层用于提取图像特征,第5层卷积层生成鉴别结果,各层卷积核数量、大小、步长参数分别为(64,4×4,2)、(128,4×4,2)、(256,4×4,2)、(512,4×4,2)、(1,1×1,1)。cyclegan网络损失函数为

l(g,f,dx,dy)=lgan1(g,dy,x,y)+lgan2(f,dx,y,x)+λlcyc(g,f)

其中,

上述公式中,lgan1为正向gan的损失函数,lgan2为反向gan的损失函数,lcyc为循环一致性损失函数;g表示正向生成网络,f表示反向生成网络,dy表示y鉴别网络,dx表示x鉴别网络,x表示原始合成图像分布域,y表示真实图像分布域,x表示训练样本集中原始合成图像样本,y表示训练样本集中真实图像样本,λ表示正向gan和反向gan的循环一致性损失权重,为可调整参数;dy(y)表示y鉴别网络判断样本y来自分布y的概率,dx(x)表示x鉴别网络判断样本x来自分布x的概率,dy(g(x))表示y鉴别网络判断g(x)来自分布y的概率,dx(f(y))表示x鉴别网络判断f(y)来自分布x的概率。

步骤5:cyclegan训练。cyclegan的训练过程可用下式表示:

其中g*表示正向生成网络最优解、f*表示反向生成网络最优解。训练目标是获得令鉴别网络分类准确率最高的参数和具有对鉴别网络最强欺骗能力的生成网络参数。训练过程可视为以下两步骤的迭代过程:步骤一是基于预设鉴别网络学习率超参数值,利用梯度下降法更新鉴别网络结点参数值,生成网络结点参数值保持不变;步骤二是基于预设生成网络学习率超参数值,利用梯度下降法更新生成网络结点参数值,鉴别网络结点参数值保持不变。训练迭代过程为:执行步骤一多次后,执行步骤二一次,重复该迭代过程,直至训练完毕。

步骤6:网络性能评估。将验证样本逐个输入步骤5中训练完成的cyclegan中,评估网络性能,如性能不佳,重复步骤2、3生成更多训练样本,继续网络训练。

步骤7:图像生成。将训练完成的正向生成网络模型参数导出,利用1组随机生成图像标签生成1组原始合成图像和标签数据,然后将原始合成图像作为已导出的正向生成网络输入,生成1组与标签数据相对应的近真实荧光编码微球图像。

通过以上七步,便可利用本发明所提出的基于循环生成对抗网络的荧光编码微球图像生成方法完成荧光编码微球图像生成与标注。

图像数据属性方面,输入输出图像大小均设置为256*256;网络结构中,为使生成图像与原始合成图像具有足够结构相似性,以保证标签数据的可用性,将损失函数中循环一致性权重λ设置为15;输出函数方面,除鉴别网络输出卷积层使用sigmoid函数外,所有卷积层输出函数均使用线性整流函数;训练迭代过程中,步骤一每重复10次,执行一次步骤二,即在生成网络参数更新前,鉴别网络参数应更新10次。

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