掌桥专利:专业的专利平台
掌桥专利
首页

图像检测方法、深度学习模型的训练方法及装置

文献发布时间:2024-04-18 19:54:45


图像检测方法、深度学习模型的训练方法及装置

技术领域

本公开涉及数据处理技术领域,尤其涉及人工智能、深度学习、图像处理、AI医疗技术领域,具体涉及一种图像检测方法、深度学习模型的训练方法、装置、设备、存储介质以及程序产品。

背景技术

深度学习是一种应用于人工智能技术领域的机器学习方法,通过深度学习方法获得的深度学习模型可以应用于例如图像处理等各种场景,如何提高深度学习模型的性能成为一个亟需解决的技术问题。

发明内容

本公开提供了一种图像检测方法、深度学习模型的训练方法、装置、设备、存储介质以及程序产品。

根据本公开的一方面,提供了一种图像检测方法,包括:获取待处理图像;将待处理图像输入目标深度学习模型,得到待处理图像的检测结果,其中,目标深度学习模型是利用以下操作训练得到的:根据初始深度学习模型的每一个目标模型分支分别对目标样本进行处理,得到输出结果;根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值;根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值,其中,目标模型分支包括至少一个第一网络层和至少一个第二网络层;以及根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

根据本公开的另一方面,提供了一种深度学习模型的训练方法,包括:根据初始深度学习模型的每一个目标模型分支分别对目标样本进行处理,得到输出结果;根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值;根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值,其中,目标模型分支包括至少一个第一网络层和至少一个第二网络层;以及根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

根据本公开的另一方面,提供了一种图像检测装置,包括:待处理图像获取模块,用于获取待处理图像;检测结果确定模块,用于将待处理图像输入目标深度学习模型,得到待处理图像的检测结果,其中,目标深度学习模型是利用以下模块训练得到的:输出结果确定模块,用于根据初始深度学习模型的每一个目标模型分支分别对目标样本进行处理,得到输出结果;第一反馈数值确定模块,用于根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值;第二反馈数值确定模块,用于根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值,其中,目标模型分支包括至少一个第一网络层和至少一个第二网络层;以及目标深度学习模型确定模块,用于根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

根据本公开的另一方面,提供了一种深度学习模型的训练装置,包括:输出结果确定模块,用于根据初始深度学习模型的多个模型分支中的每一个目标模型分支分别对目标样本进行处理,得到输出结果;第一反馈数值确定模块,用于根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值;第二反馈数值确定模块,用于根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值,其中,目标模型分支包括至少一个第一网络层和至少一个第二网络层;以及目标深度学习模型确定模块,用于根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器和与至少一个处理器通信连接的存储器。其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例的方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本公开实施例的方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序存储于可读存储介质和电子设备其中至少之一上,计算机程序存储于可读存储介质和电子设备其中至少之一上,计算机程序在被处理器执行时实现本公开实施例的方法。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1示意性示出了根据本公开实施例的图像检测方法、深度学习模型的训练方法和装置的系统架构图;

图2示意性示出了根据本公开实施例的深度学习模型的训练方法的流程图;

图3A示意性示出了根据本公开另一实施例的初始深度学习模型的模型结构示意图;

图3B示意性示出了如图3A所示的初始深度学习模型的骨干网络的示意图;

图4示意性示出了根据本公开实施例的图像处理方法的示意图;

图5示意性示出了根据本公开实施例的图像处理装置的框图;

图6示意性示出了根据本公开实施例的深度学习模型的训练装置的框图;以及

图7示意性示出了可以实现本公开实施例的图像检测方法、深度学习模型的训练方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

深度学习是一种应用于人工智能技术领域的机器学习方法,通过深度学习方法获得的深度学习模型可以应用于例如图像处理等各种场景,如何提高深度学习模型的性能成为一个亟需解决的技术问题。

对于深度学习,往往需要大量的、高质量的标注样本才能训练出比较鲁棒的深度学习模型。对自然数据集而言,数据获取容易且数据标注成本相对低廉。但对于医学影像图像等数据而言,数据标注过程较复杂,往往需要多位领域专家共同标注。因此,在例如医疗影像领域,高质量标注样本成本较高,现有数据集往往没有足够的标注样本,导致基于深度学习的医疗影像检测模型的泛化性差,在不同设备间深度学习模型的泛化能力得不到保证,存在性能指标骤降的风险。另外,在例如医疗影像等领域存在大量无标注样本,如何利用无标注样本来辅助训练,提升模型性能的半监督学习技术成为例如医疗影像检测分析等复杂的数据处理场景下的热点。

对于深度学习技术,可以按照标注样本组成分为:有全量标注样本的有监督学习、没有标注样本的无监督学习、以及标注部分数据的半监督学习。这里的标注样本可以理解为具有标签的样本数据,无标注样本可以理解为没有标签的样本数据。

π模型作为一种半监督学习的深度学习模型,构造了两个有噪声的数据增强,分别输入同一个骨干网络,计算交叉熵损失和同一个样本输出分布的一致性损失,加权两个损失进行学习。交叉熵损失通过计算有标注样本的输出分布与标签的分布差异,来实现分类能力。一致性损失一般计算无标注样本间不同增强数据经过骨干网络的输出分布的差异,也可以同时计算有标注的数据不同增强策略下的输出分布间的差异,目的是通过降低输出差异这个辅助任务来实现对无标注样本的学习。

Temporal Ensembling作为另一种半监督学习的深度学习模型,采用了时序集成策略,有标注样本依然是计算交叉熵损失来学习,无标注样本计算历史输出分布与当前训练步数的输出分布间的一致性损失,同样与交叉熵损失加权作为最终的损失。与π模型相比,Temporal Ensembling是一种空间换时间的策略,需要在训练过程中额外开辟空间来存储历史样本的输出分布,缩短了训练时间。与π模型一样通过一致性对比来学习无标注样本的特征。

图1示意性示出了根据本公开一实施例的图像处理方法、深度学习模型的训练方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,本公开实施例中系统架构100可以包括:用于获取目标样本的终端101、用于深度学习模型训练的终端102和用于图像处理的终端103。

本公开实施例中,终端101可以用于获得用于训练初始深度学习模型的目标样本。终端102可以根据终端101获得的目标样本执行对应的深度学习模型的训练方法以实现初始深度学习模型的模型训练,得到目标深度学习模型。终端103可以基于终端102获得的目标深度学习模型对待处理图像进行处理,得到待处理图像的检测结果。

需要说明的是,图像处理和深度学习模型的训练可以在同一终端上实现,也可在不同终端实现。

终端101、终端102和终端103可以是服务器,还可以是服务器集群。

应该理解,图1中终端101、终端102和终端103的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端101、终端102和终端103。

应注意,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。

本公开实施例提供了一种深度学习模型的训练方法,下面结合图1的系统架构,参考图2~图3B来描述根据本公开示例性实施方式的深度学习模型的训练方法。本公开实施例的深度学习模型的训练方法例如可以由图1所示的终端102来执行。

图2示意性示出了根据本公开一实施例的深度学习模型的训练方法的流程图。

如图2所示,本公开实施例的深度学习模型的训练方法200例如可以包括操作S210~操作S240。

在操作S210,根据初始深度学习模型的多个模型分支中的每一个目标模型分支分别对目标样本进行处理,得到输出结果。

模型分支可以理解为初始深度学习模型的分支结构,该分支结构表征初始深度学习模型具有并行的至少两个分支。

示例性地,目标样本可以是图像样本、文本样本等。

在操作S220,根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值。

目标模型分支包括至少一个第一网络层。目标模型分支是初始深度学习模型的多个模型分支中的至少一个,所以任意一个模型分支均包括至少一个第一网络层。网络层可以理解为神经网络层,每一个神经网络层可以包括多个神经元。神经网络层例如可以包括卷积层等。

在操作S230,根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值。

目标模型分支包括至少一个第二网络层。任意一个模型分支也均包括至少一个第二网络层。

每一个模型分支的结构可以是相同的,例如初始深度学习模型包括2个模型分支branchl和branch2,每一个模型分支均包括X个网络层,模型分支banchl作为目标模型分支的情况下,X个网络层包括X1个第一网络层和X2个第二网络层,对于任意一个第一网络层,该第一网络层在目标模型分支的X个网络层中排序为R1,“与第一网络层位置对应的第二网络层”可以理解为在模型分支branch2的X个网络层中排序为R1的第二网络层。

在操作S240,根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

根据本公开实施例的深度学习模型的训练方法,第一网络层的网络参数是根据第一反馈数值更新的,第一反馈数值是根据目标损失函数和目标样本输入每一个目标模型分支得到的输出结果确定的,目标样本输入每一个目标模型分支进行处理可以理解为前向传播的过程,由前向传播的结果(输出结果)和目标损失函数确定的第一反馈数值对第一网络层的网络参数进行更新可以理解为后向传播的过程,由此第一网络层是“可学习”网络层,适用于利用标注样本训练模型。与第一网络层位置对应的第二网络层的网络参数是根据第二反馈数值更新的,第二反馈数值是根据对应的第一网络层的网络参数确定的,适用于利用无标注样本训练模型,由此本公开实施例的深度学习模型的训练方法可以利用半监督学习的方式进行模型训练,尤其适用于例如医学影像图像处理等样本标注复杂、样本标注成本高昂的场景。

相比于每一个目标模型分支只包括第一网络层或者第二网络层中的一者,根据本公开实施例的深度学习模型的训练方法,由于初始深度学习模型的每一个目标模型分支均包括至少一个网络参数“可学习”的第一网络层和至少一个依赖对应位置的第一网络层的第二网络层,所以每一个目标模型分支的一部分网络参数可以通过反向传播学习得到,另外一部分网络参数通过对应位置的网络层的模型参数得到,使得依赖第一网络层确定的第二网络层的网络参数具有更好的鲁棒性,将鲁棒性更优的第二网络层与可反向传播学习的第一网络层“交叉混合”后,更有助于第一网络层作为“学习层”的训练,使得训练得到的目标深度学习模型的泛化性更好,模型性能更优,尤其适用于例如医学影像图像处理等场景。

图3A示意性示出了根据本公开另一实施例的初始深度学习模型的模型结构示意图。图3B示意性示出了如图3A所示的初始深度学习模型的骨干网络的示意图。

如图3A所示,根据本公开另一实施例的深度学习模型的训练方法,目标模型分支可以包括教师模型分支branch T和学生模型分支branch S。在图3A的示例中,教师模型分支branch T以教师模型分支的骨干网络backbone T表征,学生模型分支branch S以学生模型分支的骨干网络backbone S表征。

在图3B的示例中,教师模型分支backbone T的任意两个网络层为相邻的第一网络层和第二网络层,以使教师模型分支的第一网络层和第二网络层交叉设置。学生模型分支backbone S的第一网络层和第二网络层匹配于教师模型分支交叉设置。

示例性地,也可以是学生模型分支backbone S的任意两个网络层为相邻的第一网络层和第二网络层,以使学生模型分支的第一网络层和第二网络层交叉设置。教师模型分支backbone T的第一网络层和第二网络层匹配于学生模型分支交叉设置。

例如,如图3B所示,教师模型分支backbone T包括依次串联的网络层L1 T、网络层L2 T等多个网络层,例如网络层L1 T在教师模型分支包括的多个网络层中排序为1,网络层L2 T在教师模型分支包括的多个网络层中排序为2,网络层L1 T、网络层L3 T均为第一网络层,网络层L2 T以及网络层FC T均为第二网络层。网络层FC T可以是全连接网络层。类似地,学生模型分支backbone S的网络层L2 S与网络层FC S均为第一网络层,网络层L1 S与网络层L3 S均为第二网络层。

根据本公开实施例的深度学习模型的训练方法,通过教师模型分支的任意两个网络层为相邻的第一网络层和第二网络层,可以使得师模型分支的第一网络层和第二网络层交叉设置,对应地,学生模型分支的第一网络层和第二网络层匹配于教师模型分支交叉设置。对于教师模型分支或者学生模型分支,第一网络层和第二网络层均交叉设置,可以使得第一网络层作为“可学习”网络层与第二网络层在教师模型分支或者学生模型分支“交叉融合”更充分,有助于第一网络层的训练,训练得到的目标深度学习模型的泛化性更好,性能更优。

示例性地,教师模型分支的结构还可以设置成每隔u个第一网络层设置v个第二网络层,u和v均为大于等于1的整数。相应地,学生模型分支的结构可以设置成每隔u个第二网络层设置v个第一网络层。由此可以使得每一个目标模型分支包括至少一个第一网络层和至少一个第二网络层。

示例性地,教师模型分支的结构还可以设置成任意位置设置u个第一网络层,其余位置设置v个第二网络层。由此也可以使得每一个目标模型分支包括至少一个第一网络层和至少一个第二网络层。

示例性地,根据本公开又一实施例的深度学习模型的训练方法,目标样本包括标注样本。输出结果包括教师模型分支的标注样本第一输出结果和学生模型分支的标注样本第二输出结果,目标损失函数包括第一损失函数和第二损失函数。例如可以利用以下实施例实现根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值的具体示例:根据标注样本第一输出结果和第一损失函数,确定教师模型分支反馈数值。根据标注样本第二输出结果和第二损失函数,确定学生模型分支反馈数值。根据教师模型分支反馈数值和学生模型分支反馈数值,确定第一反馈数值。

根据本公开实施例的深度学习模型的训练方法,由于标注样本具有标签,通过标注样本第一输出结果可以表征当前教师模型分支对于标注样本的预测结果,通过第一损失函数可以评估当前教师模型分支对于标注样本的预测结果与标签(真实结果)的差异程度,从而评估当前教师模型分支针对标注样本的处理性能,类似地,标注样本第二输出结果可以表征当前学生模型分支对于标注样本的预测结果,通过第二损失函数可以评估当前学生模型分支对于标注样本的预测结果与标签(真实结果)的差异程度,从而评估当前学生模型分支针对标注样本的性能。由此确定的教师模型分支反馈数值和学生模型分支反馈数值分别从教师模型分支的维度和学生模型分支的维度确定相应的后向传播数据,本公开实施例的深度学习模型的训练方法,通过根据教师模型分支反馈数值和学生模型分支反馈数值确定的第一反馈数值,可以综合教师模型分支和学生模型分支,从初始深度学习模型对于标注样本的整体的预测结果,确定用于反馈、调整第一网络层的网络参数的第一反馈数值。

示例性地,第一损失函数和第二损失函数可以是相同的损失函数。

示例性地,如图3A所示。第一损失函数和第二损失函数例如可以是交叉熵损失函数Cross Entropy。

示例性地,根据本公开又一实施例的深度学习模型的训练方法,目标样本还包括无标注样本,输出结果还包括教师模型分支的无标注样本第一输出结果和学生模型分支的无标注样本第二输出结果;目标损失函数还包括第三损失函数。例如可以利用以下实施例实现根据教师模型分支反馈数值和学生模型分支反馈数值,确定第一反馈数值的具体示例:根据无标注样本第一输出结果、无标注样本第二输出结果和第三损失函数,确定无标注样本反馈数值;根据教师模型分支反馈数值、学生模型分支反馈数值以及无标注样本反馈数值,确定第一反馈数值。

根据本公开实施例的深度学习模型的训练方法,由于无标注样本不具有标签,通过无标注样本第一输出结果可以表征当前教师模型分支对于无标注样本的预测结果,类似地,无标注样本第二输出结果可以表征当前学生模型分支对于无标注样本的预测结果,通过第三损失函数例如可以评估当前教师模型分支对于无标注样本的预测结果与当前学生模型分支对于无标注样本的预测结果之间的差异程度,从而评估初始深度学习模型针对无标注样本的处理性能,根据无标注样本第一输出结果、无标注样本第二输出结果和第三损失函数,确定的无标注样本反馈数值作为调整第二网络层的网络参数的依据。根据本公开实施例的深度学习模型的训练方法,通过根据教师模型分支反馈数值、学生模型分支反馈数值以及无标注样本反馈数值,确定的第一反馈数值可以综合教师模型分支和学生模型分支,从初始深度学习模型对于所有类型样本的整体的预测结果,确定用于反馈、调整第一网络层的网络参数的第一反馈数值。

示例性地,第三损失函数例如可以包括一致性损失函数。

示例性地,如图3A所示。第三损失函数例如可以是均方误差损失Mean-squareerror,简称为MSE。

综上,例如可以利用以下公式(1)表征第一损失函数、利用以下公式(2)表征第二损失函数,利用公式(3)表征第三损失函数,例如还可以利用以下公式(4)表征本公开实施例的深度学习模型的训练方法的目标损失函数,该目标损失函数是根据上述的第一损失函数、第二损失函数以及第三损失函数确定的。例如可以根据第一损失函数、第二损失函数以及第三损失函数的加权得到目标损失函数。

L(D

Ω表征图像方格位置集合(图像像素位置集合),l

示例性地,l

示例性地,

C表征样本的标签类别数量。H_t表征教师模型分支的用于具体模型任务的任务头,H_s表征学生模型分支的用于具体模型任务的任务头。例如,以初始深度学习模型用于二分类为例,H_t例如可以是二分类器,H_s例如可以是二分类器。

示例性地,根据本公开又一实施例的深度学习模型的训练方法,例如可以利用以下实施例实现根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值的具体示例:确定目标样本对应的模型参数当前更新次数。根据模型参数当前更新次数,确定第一网络层对应模型参数当前更新次数之前的历史网络参数、第一网络层对应模型参数当前更新次数的当前网络参数,确定第一网络层的指数移动平均值。根据指数移动平均值,确定与第一网络层位置对应的第二网络层的第二反馈数值。

当前更新次数可以理解为当前训练步数,例如可以是目标样本对应的当前的epoch或者当前的batch(batch即训练批次),epoch可以理解为一个完整的数据集经过深度学习网络的一次运算处理的过程。

指数移动平均值即Exponential Moving Average,简称为EMA。图3B示意性示出了通过第一网络层的指数移动平均值确定与第一网络层位置对应的第二网络层的第二反馈数值的示例。

根据本公开实施例的深度学习模型的训练方法,通过第一网络层的指数移动平均值确定与第一网络层位置对应的第二网络层的第二反馈数值,由于EMA的权重参数相当于使用模型训练过程中梯度的加权平均(例如刚开始训练的梯度权值很小),指数移动平均值对训练初始阶段的梯度赋予相对较小的权值,适应于深度学习模型训练过程中训练逐稳定的特点,由此得到的第二反馈数值更加准确。

示例性地,图3A和图3B示意性示出了第一网络层的指数移动平均值EMA确定与第一网络层位置对应的第二网络层的第二反馈数值的具体示例。

示例性地,根据本公开又一实施例的深度学习模型的训练方法,第一网络层、第二网络层中的至少一个包括卷积层和批归一化层,批归一化层的网络参数包括权重、偏置量、均值以及方差。

示例性地,例如第一网络层、第二网络层均可以包括依次连接的卷积层、批归一化层。

示例性地,例如第一网络层、第二网络层均可以包括依次连接的卷积层、批归一化层和激活层。

示例性地,卷积层的网络参数可以包括权重和偏置量。

批归一化层即Batch Normalization,简称为BN。

根据本公开实施例的深度学习模型的训练方法,对于每一个第一网络层或者每一个第二网络层,通过批归一化层可以对当前batch的训练样本进行均值运算、方差运算以及标准化运算,批归一化层可以使得每一个第一网络层和每一个第二网络层的输入数据分布相对稳定,加速深度学习模型的学习速度;另外,还可以简化调参过程,使得深度学习模型的学习更加稳定;再者,还可以与激活层缓解梯度消失问题;批归一化层还具有一定的正则化效果,使得深度学模型的泛化性更优。

需要说明的是,可以将每一个第一网络层或者第二网络层包括的卷积层和批归一化层(或者卷积层、批归一化层以及激活层)理解为一个程序模块。针对每一个第一网络层或者第二网络层,相应的卷积层与批归一化层(或者卷积层、批归一化层以及激活层)的网络参数可以是同步更新的。

示例性地,根据本公开又一实施例的深度学习模型的训练方法还包括:对初始样本进行数据增强,得到目标样本。

示例性地,如图3A所示,例如可以对初始样本Sample进行两次不同的数据增强,得到两个不同的数据增强样本Aug1和Aug2,针对每一个模型分支,输入该模型分支的数据增强样本即为目标样本。两个不同的数据增强样本分别输入教师模型分支和学生模型分支。

示例性地,例如可以对初始样本进行随机水平翻转、随机竖直翻转和随机旋转30度以内的数据增强策略以得到数据增强样本。

根据本公开实施例的深度学习模型的训练方法,通过对初始样本进行数据增强可以增加样本数量,减少模型对训练样本的依赖,便于训练得到性能更优的深度学习模型,通过对初始样本进行不同的数据增强,得到针对任意一个目标模型分支的目标样本,可以提高目标深度学习模型的泛化性。

示例性地,根据本公开又一实施例的深度学习模型的训练方法,初始深度学习模型的骨干网络包括残差网络。

残差网络即Residual Network,简称为ResNet,由于残差网络具有超深的网络结构,可以提取深层特征,并且提出了残差结构,可以解决退化问题,提高模型性能,适应于例如医学影像图像等复杂的图像处理场景。

示例性地,初始深度学习模型的骨干网络还可以包括:EfficientNet。EfficientNet相比于普通的卷积神经网络通过扩增卷积层层数可以获得更加丰富、复杂的特征,提升模型的表征能力;还通过扩增卷积通道数可以获得更加细粒度的特征,降低深度学习模型的训练难度;还通过扩增输入数据分辨率可以获得更高细粒度的特征模板,适应于例如医学影像图像等复杂的图像处理场景。

以下目标深度学习模型用于医学影像图像处理的场景为例,针对医学影像图像以医学影像图像为膝关节X光图像为例进行说明,膝关节X光图像可以包括5种类别的标签类别,分别为:类别0(健康);类别1(疑是关节炎);类别2(轻度关节炎);类别3(中度关节炎);类别4(重度关节炎)。

表1-表3示意性示出了目标深度学习模型针对医学影像图像的性能。

表1:膝关节X光图像5种类别的样本数据分布

表2:基于ResNet34的算法指标对比

表3:基于EfficientNetB0的算法指标对比

以设定初始学习率为0.01并采用余弦衰减学习率和前300次warmup的迭代训练策略,总计训练200个epoch。使用ImageNet的预训练模型,图像大小设定为224*224、采用Kappa作为模型性能评估指标为例进行说明。

上述表2-表3中以Cross EMA Mean Teacher作为本公开实施例的深度学习模型训练方法训练得到的目标深度学习模型。对比可知:本公开实施例确定的目标深度学习模型Cross EMA Mean Teacher的性能相对ResNet34提升约2.22%,相对Mean Teacher提升0.25%。同样,表三是EfficientNetB0为backbone的实验结果,本申请的方法提升显著,相比EfficientNetB0提升1.82%,相比Mean Teacher提升0.76%。

综上,本公开实施例的深度学习模型的训练方法得到的目标深度学习模型通过交叉教师模型分支和学生模型分支的第一网络层和第二网络层(体现在例如教师模型分支和学生模型分支的每一个目标模型分支均包括至少一个第一网络层和至少一个第二网络层),使得依赖第一网络层确定的第二网络层的网络参数具有更好的鲁棒性,将鲁棒性更优的第二网络层与可反向传播学习的第一网络层“交叉混合”后,更有助于第一网络层作为“学习层”的训练,例如在膝关节X光图像的多分类任务上验证了以上优点。

还需要说明的是,本公开实施例的深度学习模型的训练方法得到的目标深度学习模型不仅可以用于图像检测,还可以用于例如图像分类、图像分割等各种场景。

本公开实施例还提供了一种图像处理方法,下面结合图1的系统架构,参考图4来描述根据本公开示例性实施方式的图像处理方法。本公开实施例的图像处理方法例如可以由图1所示的终端103来执行。

图4示意性示出了根据本公开一实施例的图像处理方法的流程图。

如图4所示,本公开实施例的图像处理方法400例如可以包括操作S410~操作S420。

在操作S410,获取待处理图像。

在操作S420,将待处理图像输入深度学习模型,得到待处理图像的检测结果。

深度学习模型是利用以下操作训练得到的:根据初始深度学习模型的多个模型分支中的每一个目标模型分支分别对目标样本进行处理,得到输出结果。根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值。根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值,其中,目标模型分支包括至少一个第一网络层和至少一个第二网络层。根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

示例性地,待处理图像可以包括医学影像图像。

根据本公开实施例的图像处理方法,由于通过利用上述实施例的深度学习模型的训练方法得到的目标深度学习模型的性能更优、泛化性更好,有关于目标深度学习模型的训练过程的具体的技术方案和技术效果均已在上述实施例详细说明,在此不再赘述。

根据本公开实施例的图像处理方法,通过利用目标深度学习模型对待处理图像进行处理得到的检测结果更加准确,目标深度学习模型在不同设备上进行图像处理也可以保障检测效率,可以适应于复杂图像处理等场景。

图5示意性示出了根据本公开一实施例的图像处理装置的框图。

如图5所示,本公开实施例的图像处理装置500例如包括待处理图像获取模块510、检测结果确定模块520。

待处理图像获取模块510,用于获取待处理图像。

检测结果确定模块520,用于将待处理图像输入目标深度学习模型,得到待处理图像的检测结果。

目标深度学习模型是利用以下模块训练得到的:输出结果确定模块,用于根据初始深度学习模型的每一个目标模型分支分别对目标样本进行处理,得到输出结果;第一反馈数值确定模块,用于根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值;第二反馈数值确定模块,用于根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值,其中,目标模型分支包括至少一个第一网络层和至少一个第二网络层;以及目标深度学习模型确定模块,用于根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

示例性地,待处理图像包括医学影像图像。

图6示意性示出了根据本公开一实施例的深度学习模型的训练装置的框图。

如图6所示,本公开实施例的深度学习模型的训练装置600例如包括输出结果确定模块610、第一反馈数值确定模块620、第二反馈数值确定模块630以及目标深度学习模型确定模块640。

输出结果确定模块610,用于根据初始深度学习模型的多个模型分支中的每一个目标模型分支分别对目标样本进行处理,得到输出结果.

第一反馈数值确定模块620,用于根据输出结果和目标损失函数,确定针对每一个第一网络层的第一反馈数值。

第二反馈数值确定模块630,用于根据每一个第一网络层的网络参数,确定与第一网络层位置对应的第二网络层的第二反馈数值,其中,目标模型分支包括至少一个第一网络层和至少一个第二网络层。

目标深度学习模型确定模块640,用于根据第一反馈数值、第二反馈数值分别更新第一网络层、第二网络层的网络参数,得到目标深度学习模型。

示例性地,目标模型分支包括教师模型分支和学生模型分支;教师模型分支的任意两个网络层为相邻的第一网络层和第二网络层,以使教师模型分支的第一网络层和第二网络层交叉设置;学生模型分支的第一网络层和第二网络层匹配于教师模型分支交叉设置。

示例性地,目标样本包括标注样本;输出结果包括教师模型分支的标注样本第一输出结果和学生模型分支的标注样本第二输出结果,目标损失函数包括第一损失函数和第二损失函数;第一反馈数值确定模块包括:教师模型分支反馈数值确定子模块,用于根据标注样本第一输出结果和第一损失函数,确定教师模型分支反馈数值;学生模型分支反馈数值确定子模块,用于根据标注样本第二输出结果和第二损失函数,确定学生模型分支反馈数值;以及第一反馈数值确定子模块,用于根据教师模型分支反馈数值和学生模型分支反馈数值,确定第一反馈数值。

示例性地,目标样本还包括无标注样本,输出结果还包括教师模型分支的无标注样本第一输出结果和学生模型分支的无标注样本第二输出结果;目标损失函数还包括第三损失函数;第一反馈数值确定子模块包括:无标注样本反馈数值确定单元,用于根据无标注样本第一输出结果、无标注样本第二输出结果和第三损失函数,确定无标注样本反馈数值;以及第一反馈数值确定单元,用于根据教师模型分支反馈数值、学生模型分支反馈数值以及无标注样本反馈数值,确定第一反馈数值。

示例性地,第二反馈数值确定模块包括:当前更新次数确定子模块,用于确定目标样本对应的模型参数当前更新次数;指数移动平均值确定子模块,用于根据模型参数当前更新次数,确定第一网络层对应模型参数当前更新次数之前的历史网络参数、第一网络层对应模型参数当前更新次数的当前网络参数,确定第一网络层的指数移动平均值;以及第二反馈数值确定子模块,用于根据指数移动平均值,确定与第一网络层位置对应的第二网络层的第二反馈数值。

示例性地,第一网络层、第二网络层中的至少一个包括卷积层和批归一化层,批归一化层的网络参数包括权重、偏置量、均值以及方差。

示例性地,根据本公开实施例的深度学习模型的训练装置还包括:数据增强模块,用于对初始样本进行数据增强,得到目标样本。

示例性地,初始深度学习模型的骨干网络包括残差网络。

应该理解,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,所解决的技术问题和所达到的技术效果也对应相同或类似,本公开在此不再赘述。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。

设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如图像处理方法、深度学习模型的训练方法。例如,在一些实施例中,图像处理方法、深度学习模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的图像处理方法、深度学习模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像处理方法、深度学习模型的训练方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术分类

06120116380610