1.本发明涉及图像处理领域,具体涉及一种图像实例分割方法、系统、设备以及存储介质。
背景技术:2.图像语义分割技术已经成为计算机视觉领域的重要研究方向,广泛应用于移动机器人、自动驾驶、无人机、医学诊断等实际应用场景。目前图像分割技术,主要分为两个研究方向:语义分割和实例分割。语义分割指的是对图像中的每个像素都划分出对应的类别,即实现像素级分类,故也称密集分类;实例分割是在语义分割的基础上区分出同一类别的不同实例。
3.目前专家设计的图像分割神经网络模型,已经具有较高的精度水平,例如mask rcnn、deeplab、u-net系列算法等神经网络。其中deeplab系列是语义分割领域影响较大的一个分支,deeplabv3+属于此系列目前较优秀的变种之一。因此,研究人员开始探索通过神经网络结构搜索(neural architecture search, nas)实现自动设计神经网络。目前相关研究人员主要聚焦神经网络架构搜索算法,自动建立神经网络,快速应用于实践。现有的神经网络架构算法采用强化学习和进化算法的搜索方法进行架构搜索,通过性能评估方法对采样得到的网络架构进行评估,再通过优化评估指标获取最佳模型结构。前者主要通过神经网络架构搜索(neural architecture search)框架与环境交互的过程中获得最大的奖励实现,主要代表算法有nasnet、metaqnn、blockqnn等;后者主要是通用进化算法模拟生物遗传和进化的规律,实现nas过程,主要代表算法有neat、deepneat、codeepneat等。
4.神经网络架构搜索可以针对特定任务去自动设计定制的神经网络,具有深远的影响意义,但是对于图像分割这种需要致密的逐像素点类别划分的任务,在实际应用中存在着计算资源和时间受限的约束。即现有的图像实例分割方法使用的传统神经网络模型存在参数量较大的问题,导致在边缘设备中无法直接使用,例如在自动驾驶场景,目前车端芯片无法承载现有的高精度神经网络,直接使用参数量较小的神经网络又会导致对密集图像的识别不准、不同类别边缘部分界定困难等问题。
技术实现要素:5.有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种图像实例分割方法,包括以下步骤:获取已训练的教师网络和控制器网络;利用所述控制器网络搜索多个解码器结构并利用每一个解码器结构和固定的编码器构成多个分割网络架构;利用所述已训练的教师网络和每一个所述分割网络架构同时进行图像实例分割正向推理,并在每次正向推理后使用所述已训练的教师网络的损失函数对每一个所述分割网络架构的损失函数进行指导并修正,以及根据模拟退火算法从多个所述分割网络架构中
挑选若干个分割网络架构进行全量训练并从所述若干个分割网络架构中确定最优的分割网络架构;利用所述最优的分割网络架构对待分割的图像进行图像实例分割。
6.在一些实施例中,获取已训练的教师网络,进一步包括:利用骨干网络以及aspp模块构建教师网络的编码器,其中,所述aspp模块包括四种不同膨胀率的空洞卷积块和一个全局平均池化块;利用上采样模块、1
×
1卷积块、3
×
3卷积块构建教师网络的解码器,其中,所述教师网络的解码器将所述骨干网络中间层输出的低级特征图和所述aspp模块的输出作为输入。
7.在一些实施例中,还包括:构建第一训练集;利用骨干网络以及aspp模块对训练集中的图像进行处理;利用所述解码器对所述骨干网络中间层输出的低级特征图和所述aspp模块的输出进行处理以得到图像实例分割结果;根据所述图像实例分割结果调整所述教师网络的编码器和解码器的参数以对所述教师网络进行训练。
8.在一些实施例中,还包括:对所述第一训练集中的数据进行数据增强。
9.在一些实施例中,利用骨干网络以及aspp模块对训练集中的图像进行处理,进一步包括:利用所述骨干网络提取训练集中图像的多层语义特征并利用所述aspp模块对所述多层语义特征以不同采样率的空洞卷积并行采样以得到五组特征图,并将所述五组特征图拼接后输入到所述教师网络的解码器。
10.在一些实施例中,利用所述解码器对所述骨干网络中间层输出的低级特征图和所述aspp模块的输出进行处理以得到图像分割结果,进一步包括:利用所述上采样模块对来自所述aspp模块的特征图进行插值上采样并利用所述1
×
1卷积块对来自所述骨干网络中间层输出的低级特征图进行通道降维;将通道降维的低级特征图和线性插值上采样得到的特征图拼接,并送入所述3
×
3卷积块进行处理,并再次利用所述上采样模块进行线性插值上采样以得到所述图像实例分割结果。
11.在一些实施例中,利用所述1
×
1卷积块对来自所述骨干网络中间层输出的低级特征图进行通道降维,进一步包括:将所述骨干网络中间层输出的低级特征图的通道降到48。
12.在一些实施例中,所述控制器网络包括100个隐藏单元的两层递归lstm神经网络,且所有隐藏单元从均匀分布中随机初始化。
13.在一些实施例中,利用所述控制器网络搜索多个解码器结构并利用每一个解码器结构和固定的编码器构成多个分割网络架构,进一步包括:获取预设的第一解码器块、第二解码器块、第三解码器块以及第四解码器块;利用所述控制器网络在预设的搜索空间中搜索第五解码器块和第六解码器块的
内部结构,以及第一解码器块、第二解码器块、第三解码器块、第四解码器块、第五解码器块和第六解码器块之间的连接方式。
14.在一些实施例中,所述搜索空间包括1
×
1卷积,3
×
3卷积,3
×
3可分离卷积,5
×
5可分离卷积,全局平均池化、上采样、1
×
1卷积模块,扩张率为3的3
×
3 卷积,扩张率为12的3
×
3卷积,扩张率为3的可分离3
×
3卷积,扩张率为6的可分离5
×
5卷积,跳跃连接,有效地使路径无效的零操作。
15.在一些实施例中,利用所述已训练的教师网络和每一个所述分割网络架构同时进行图像实例分割正向推理,并在每次正向推理后,使用所述已训练的教师网络的损失函数对每一个所述分割网络架构的损失函数进行指导并修正,进一步包括利用如下公式对每一个所述分割网络架构的损失函数进行指导并修正:其中,其中,l
kd
表示知识蒸馏网络总体损失,l
student
表示分割网络架构的损失,l
teacher
表示教师网络损失,coff表示一个在具体的网络训练过程中可调节的参数。
16.在一些实施例中,所述coff取值为0.3。
17.在一些实施例中,还包括:利用公式计算所述分割网络架构的损失;其中,n为不同类别实例,pixels为像素点,y
true
为对应类别的实际值,y
pred
为对应类型的预测值。
18.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行全量训练并从所述若干个分割网络架构中确定最优的分割网络架构,进一步包括:获取每一个分割网络架构的平均交并比、频率加权交并比以及平均像素精度;利用平均交并比、频率加权交并比以及平均像素精度计算几何平均值;根据所述几何平均值挑选若干个分割网络架构。
19.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行全量训练,进一步包括:根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构分别进行第一阶段的全量训练、第二阶段的全量训练、第三阶段的全量训练。
20.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行第一阶段的全量训练,进一步包括:利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.2。
21.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行第二阶段的全量训练,进一步包括:在经过第一阶段训练完毕的模型参数基础上,利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.2。
22.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行第二阶段的全量训练,进一步包括:在经过第二阶段训练完毕的模型参数基础上,利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.15并冻结bn层。
23.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种图像实例分割系统,包括:获取模块,配置为获取已训练的教师网络和控制器网络;搜索模块,配置为利用所述控制器网络搜索多个解码器结构并利用每一个解码器结构和固定的编码器构成多个分割网络架构;评估模块,配置为利用所述已训练的教师网络和每一个所述分割网络架构同时进行图像实例分割正向推理,并在每次正向推理后使用所述已训练的教师网络的损失函数对每一个所述分割网络架构的损失函数进行指导并修正,以及根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行全量训练并从所述若干个分割网络架构中确定最优的分割网络架构;图像实例分割模块,配置为利用所述最优的分割网络架构对待分割的图像进行图像实例分割。
24.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如上所述的任一种图像实例分割方法的步骤。
25.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种图像实例分割方法的步骤。
26.本发明具有以下有益技术效果之一:本发明提出的方案通过使用知识蒸馏的方法,对搜索的学生网络(分割网络架构)训练过程进行指导并修正,从而能够在较小计算开支的情况下,快速获得轻量级的语义分割模型,改善现有图像分割模型参数过大的问题,以较快的推理速度实现更为可靠的图像分割预测结果。在自动驾驶场景具有更佳适配性。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
28.图1为本发明的实施例提供的图像实例分割方法的流程示意图;图2为本发明的实施例提供的教师网络的框架示意图;图3为本发明的实施例提供的基于知识蒸馏的神经网络架构搜索的图像分割算法框架;图4为本发明的实施例提供的控制器网络示意图;
图5为本发明的实施例提供的单元架构示意图;图6为本发明的实施例提供的图像实例分割系统的结构示意图;图7为本发明的实施例提供的计算机设备的结构示意图;图8为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
29.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
30.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
31.根据本发明的一个方面,本发明的实施例提出一种图像实例分割方法,如图1所示,其可以包括步骤:s1,获取已训练的教师网络和控制器网络;s2,利用所述控制器网络搜索多个解码器结构并利用每一个解码器结构和固定的编码器构成多个分割网络架构;s3,利用所述已训练的教师网络和每一个所述分割网络架构同时进行图像实例分割正向推理,并在每次正向推理后使用所述已训练的教师网络的损失函数对每一个所述分割网络架构的损失函数进行指导并修正,以及根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行全量训练并从所述若干个分割网络架构中确定最优的分割网络架构;s4,利用所述最优的分割网络架构对待分割的图像进行图像实例分割。
32.本发明提出的方案通过使用知识蒸馏的方法,对搜索的学生网络(分割网络架构)训练过程进行指导并修正,从而能够在较小计算开支的情况下,快速获得轻量级的语义分割模型,改善现有图像分割模型参数过大的问题,以较快的推理速度实现更为可靠的图像分割预测结果。在自动驾驶场景具有更佳适配性。
33.在一些实施例中,获取已训练的教师网络,进一步包括:利用骨干网络以及aspp模块构建教师网络的编码器,其中,所述aspp模块包括四种不同膨胀率的空洞卷积块和一个全局平均池化块;利用上采样模块、1
×
1卷积块、3
×
3卷积块构建教师网络的解码器,其中,所述教师网络的解码器将所述骨干网络中间层输出的低级特征图和所述aspp模块的输出作为输入。
34.具体的,如图2所示,教师网络部分,deeplabv3+网络应用resnet101作为backbone(骨干网络),提取原图像中的多层语义特征,经过aspp模块对特征信息以不同采样率的空洞卷积并行采样,获取了不同比例的图像上下文信息。aspp模块接受backbone的第一部分输出作为输入,使用了四种不同膨胀率的空洞卷积块(包括卷积、bn、激活层)和一个全局平均池化块(包括池化、卷积、bn、激活层)得到一共五组特征图,将其concat起来之后,经过一个1
×
1卷积块(包括卷积、bn、激活、dropout层),最后送入decoder模块。该decoder模块,接收来自backbone中间层的低级特征图和来自aspp模块的输出作为输入。
35.在一些实施例中,还包括:构建第一训练集;利用骨干网络以及aspp模块对训练集中的图像进行处理;利用所述解码器对所述骨干网络中间层输出的低级特征图和所述aspp模块的输出进行处理以得到图像实例分割结果;根据所述图像实例分割结果调整所述教师网络的编码器和解码器的参数以对所述教师网络进行训练。
36.在一些实施例中,还包括:对所述第一训练集中的数据进行数据增强。
37.具体的,增强数据集可以使用多种数据增强方法,例如可以使用公开号为cn114037637a的专利中所保护的图像数据增强方法进行数据增强,在此简单描述其步骤:对原始图像进行分割,获取分割图像与所述分割图像的目标类别,通过所述目标类别获取待增强类别;按照所述待增强类别对所述原始图像分别进行二值化处理,获取二值图像,根据所述二值图像的连通域,获取所述原始图像中与所述待增强类别存在匹配关系的实例图像;对所述实例图像进行透视处理,获取第一实例图像,对所述第一实例图像进行缩放,获取第二实例图像;从所述原始图像中获取灭点位置,根据所述灭点位置与所述第二实例图像的几何尺寸,确定所述第二实例图像的粘贴位置,根据所述粘贴位置将所述第二实例图像粘贴至所述原始图像,获取所述原始图像的增强图像。
38.在一些实施例中,利用骨干网络以及aspp模块对训练集中的图像进行处理,进一步包括:利用所述骨干网络提取训练集中图像的多层语义特征并利用所述aspp模块对所述多层语义特征以不同采样率的空洞卷积并行采样以得到五组特征图,并将所述五组特征图拼接后输入到所述教师网络的解码器。
39.在一些实施例中,利用所述解码器对所述骨干网络中间层输出的低级特征图和所述aspp模块的输出进行处理以得到图像分割结果,进一步包括:利用所述上采样模块对来自所述aspp模块的特征图进行插值上采样并利用所述1
×
1卷积块对来自所述骨干网络中间层输出的低级特征图进行通道降维;将通道降维的低级特征图和线性插值上采样得到的特征图拼接,并送入所述3
×
3卷积块进行处理,并再次利用所述上采样模块进行线性插值上采样以得到所述图像实例分割结果。
40.在一些实施例中,利用所述1
×
1卷积块对来自所述骨干网络中间层输出的低级特征图进行通道降维,进一步包括:将所述骨干网络中间层输出的低级特征图的通道降到48。
41.具体的,如图2所示,解码器模块可以对低级特征图使用1
×
1卷积进行通道降维,从256降到48(之所以需要降采样到48,是因为太多的通道会掩盖aspp输出的特征图的重要性,且实验验证48最佳)。对来自aspp的特征图进行插值上采样(unsample by4),得到与低级特征图尺寸相同的特征图。将通道降维的低级特征图和线性插值上采样得到的特征图使用concat拼接起来,并送入一组3*3卷积块进行处理。再次进行线性插值上采样,得到与原图分辨率大小一样的预测图。
42.在一些实施例中,所述控制器网络包括100个隐藏单元的两层递归lstm神经网络,且所有隐藏单元从均匀分布中随机初始化。
43.具体的,控制器具有100个隐藏单元的两层递归lstm神经网络,所有单元都从均匀分布中随机初始化。本发明使用ppo优化策略进行优化,学习率为0.0001。
44.在一些实施例中,利用所述控制器网络搜索多个解码器结构并利用每一个解码器结构和固定的编码器构成多个分割网络架构,进一步包括:获取预设的第一解码器块、第二解码器块、第三解码器块以及第四解码器块;利用所述控制器网络在预设的搜索空间中搜索第五解码器块和第六解码器块的内部结构,以及第一解码器块、第二解码器块、第三解码器块、第四解码器块、第五解码器块和第六解码器块之间的连接方式。
45.具体的,学生网络部分为基于神经网络架构搜索的图像分割网络,通过神经网络架构搜索的采样过程获得目标网络架构、蒸馏教师网络中的结构知识和实例分割信息,网络架构采用编码器-解码器结构。因为图像分割模型需要多次迭代才能收敛,受限于计算资源,目前从头开始执行完整的分割网络架构搜索难以实践,所以本发明将架构搜索过程的注意力集中在解码器部分。整个网络结构一方面使用预先训练的分类网络中的权重初始化编码器,该分类网络由多个降低输入空间维度的下采样操作组成;另一方面,由控制器网络产生解码器结构,该解码器部分可以访问具有不同空间和频道维度的编码器的多个输出。为了保持采样架构紧凑且大小大致相同,每个编码器输出都会使用相同数量的输出通道进行一次1
×
1卷积。
46.图3学生网络部分展示了含有2个解码器块(第五解码器块block4和第六解码器块block5)和2个分支单元的搜索布局。图中的block4和block5通过控制器获得两组采样对,采样对的结果经过逐元素的求和操作后输入这两个模块,这两个模块经过控制器获得内部单元结构,其输出经过concat操作进行连接后,再经过conv1
×
1,输入到主分类器中,最终形成对图像的分割信息预测结果。图中的附加单元(auxiliary cell)与其他单元结构相同,可以被调节为直接输出真实背景(ground truth),或者模仿教师的网络预测(或以上两种的组合)。同时,它在训练或测试期间都不会影响主分类器的输出,只为网络的其余部分提供更好的梯度。不过,每个采样架构的反馈(reward)仍然由主分类器的输出决定。为简单起见,本发明只对所有辅助输出应用分割损失。
47.图4为神经网络架构搜索的控制器网络的布局,它可以顺序地采样出要解码器连接方式,包括不同模块、不同运算操作以及不同分支位置索引。不同模块重复使用采样得到的单元架构,并将具有不同权重的相同单元应用于采样对内的每一模块,最后将两个单元的输出相加。结果层将添加到采样池中(下一个单元可以采样上一个单元作为输入)。其中,block4采样范围包括该模块前面所有模块《block0(第一解码器块),block1(第二解码器块),block2(第三解码器块),block3(第四解码器块)》,block5采样范围包括该模块前面所有模块《block0,block1,block2,block3,block4》。单元内部架构采样下面将展开描述。
48.单元架构内部结果如图5所示。每个单元接受一个输入,控制器首先采样操作1;然后,采样两个位置索引(index),即输入index0和采样操作1的输出结果index1;最后采样两个相应的操作。将每个运算的输出相加,并在下一步对所有三层(来自每个运算及其相加结果)以及初始两层进行采样。单元内位置的采样次数由另一个超参数控制,以便将所有可能
的架构的数量保持在一个可行的数量。对单元内所有现有的非采样求和输出求和,并将其用作单元输出。在这种情况下,使用求和(sum),因为拼接层(concatenation)运算可能会导致不同架构输出的向量尺寸变化。其中,0-9表示采样位置,采样操作1-7表示对应位置进行的运算。
49.在一些实施例中,所述搜索空间包括1
×
1卷积,3
×
3卷积,3
×
3可分离卷积,5
×
5可分离卷积,全局平均池化、上采样、1
×
1卷积模块,扩张率为3的3
×
3卷积,扩张率为12的3
×
3卷积,扩张率为3的可分离3
×
3卷积,扩张率为6的可分离5
×
5卷积,跳跃连接,有效地使路径无效的零操作。
50.具体的,层对的采样次数由一个超参数控制,在实验中将该参数设置为3。本发明网络的编码器部分是mobilenet-v2,在mscoco上预训练,预训练时使用轻量级的refinenet解码器进行语义分割。本发明使用mobilenet-v2的2、3、6、8的四个层的输出与block0~block3相对应,作为解码器的输入;用于编码器输出自适应的1
×
1卷积层,在搜索期间有48个输出通道,在训练期间有64个输出通道。使用xavier方案随机初始化编码器权重。
51.本发明使用控制器搜索基本单元的组合来构建神经网络架构,基于现有语义分割研究,本发明中设置搜索空间如下:
•1×
1卷积(conv),
•3×
3卷积,
•3×
3可分离卷积,
•5×
5可分离卷积,
•
全局平均池化、上采样、1
×
1卷积模块(图中缩写为gap),
•
扩张率为3的3
×
3卷积,
•
扩张率为12的3
×
3卷积,
•
扩张率为3的可分离3
×
3卷积,
•
扩张率为6的可分离5
×
5卷积,
•
跳跃连接,
•
有效地使路径无效的零操作。
52.在一些实施例中,利用所述已训练的教师网络和每一个所述分割网络架构同时进行图像实例分割正向推理,并在每次正向推理后,使用所述已训练的教师网络的损失函数对每一个所述分割网络架构的损失函数进行指导并修正,进一步包括利用如下公式对每一个所述分割网络架构的损失函数进行指导并修正:其中,其中,l
kd
表示知识蒸馏网络总体损失,l
student
表示分割网络架构的损失,l
teacher
表示教师网络损失,coff表示一个在具体的网络训练过程中可调节的参数。
53.在一些实施例中,所述coff取值为0.3。
54.具体的,通过神经网络架构搜索框架获得采样架构后,使用该采样架构与教师网络同时进行实例分割正向推理,在每次正向推理后,使用教师网络的损失函数对学生网络的损失函数进行指导并修正,如公式(1):
(1)式中其中,l
kd
表示知识蒸馏网络总体损失,l
student
表示分割网络架构的损失,l
teacher
表示教师网络损失,coff表示一个在具体的网络训练过程中可调节的参数。经过反复训练学生网络,学生网络可以逐渐获取教师网络对不同实例的各层次的特征图和边缘信息,实现对图像实例的像素级定位。
55.在一些实施例中,还包括:利用公式计算所述分割网络架构的损失;其中,n为不同类别实例,pixels为像素点,y
true
为对应类别的实际值,y
pred
为对应类型的预测值。
56.具体的,在计算时,并未考虑背景类,因为大量像素属于背景,加入背景类的计算后会对结果产生负面影响。在学生网络训练的过程中,需要最小化或者最大化目标函数,其中需要最小化目标的函数称为“损失函数”。损失函数的选择对于模型预测结果的精度至关重要,本发明使用dice soft loss作为损失函数,因为该损失函数可以针对不同类别的实例分别计算,该损失函数是语义分割任务中常用的损失函数,由基于dice系数的损失函数演变而来,表示不同类别预测值与实际值重叠的度量。对每个类别求其dice损失,再求和取平均值,具体表达式如式:其中,n为不同类别实例,pixels为像素点,y
true
为对应类别的实际值,y
pred
为对应类型的预测值。
57.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行全量训练并从所述若干个分割网络架构中确定最优的分割网络架构,进一步包括:获取每一个分割网络架构的平均交并比、频率加权交并比以及平均像素精度;利用平均交并比、频率加权交并比以及平均像素精度计算几何平均值;根据所述几何平均值挑选若干个分割网络架构。
58.具体的,本发明将训练集随机划分为两个不重叠的集合:初始训练集(train dataset0)和初始验证集(valid dataset0)。初始训练集可进行图像增强,用于在给定任务(即语义分割)上训练采样的架构;而初始验证集未经任何图像处理,用于评估训练的架构并为控制器提供标量(在强化学习文献中经常称为反馈)。搜索优化过程存在两个训练过程:采样架构的内部优化和控制器的外部优化。内部训练过程分为两个阶段,第一阶段为架构搜索阶段,在该阶段中,编码器的权重通过预训练得到,其输出经过计算后,存储在内存
中,每次采样过程直接导入编码器输出,这样可以大量节约运算时间和效率,此时只有解码器在训练,方便解码器权重的快速自适应和对采样架构性能的合理估计。第二阶段为全量训练阶段,但并非所有采样架构都可以进入该阶段,主要通过简单的模拟退火算法来决定是否继续为第二阶段训练采样架构。
59.之所以不训练全部的采样架构,是因为完成第一阶段训练的采样架构经过在当前batch上的训练后,已经可以预估未来的发展前景,提前终止没有前途的架构一则可以节约运算资源,二则可以更快地找到精度较高的目标架构。外部优化过程在给定采样序列、对数概率和反馈信号的情况下,通过近端策略优化(ppo)方法对控制器进行优化,在采样架构的多样性和调优过程的复杂性之间取得平衡,实现控制器网络模型更新和参数全局优化。
60.如上所述,本发明在第一阶段之后保留反馈的运行平均值,来决定是否继续训练采样架构。在网络架构搜索过程中,评估架构未来前景优劣的标准,也就是reward,使用三个量的几何平均值:平均交并比(mean intersection-over-union, miou),主要用于语义分割基准;(2)其中,k表示类别数量,i表示真实值,j表示预测值,p
ij
表示将i预测为j。以下相同。
61.频率加权交并比(frequency-weighted iou, fwiou),根据该类中存在的像素数缩放每个类iou;
ꢀꢀ
(3)平均像素精度(mean-pixel accuracy, mpa),即平均每个类别的正确像素数。
62.ꢀꢀꢀꢀꢀꢀꢀ
(4)求以上三个量的几何平均值:在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行全量训练,进一步包括:根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构分别进行第一阶段的全量训练、第二阶段的全量训练、第三阶段的全量训练。
63.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行第一阶段的全量训练,进一步包括:利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.2。
64.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行第二阶段的全量训练,进一步包括:在经过第一阶段训练完毕的模型参数基础上,利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.2。
65.在一些实施例中,根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行第二阶段的全量训练,进一步包括:在经过第二阶段训练完毕的模型参数基础上,利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.15并冻结bn层。
66.本发明提出的方案利用数据增强方法,对数据集进行图像增强;然后在增强数据集上,对deeplabv3+神经网络进行训练,获得图像的分割信息,并将其用作教师网络;使用知识蒸馏的方法,对搜索的学生网络训练过程进行指导并修正,并针对图像分割数据的不同类别进行损失函数计算,可以有效提高小样本数据在图像分割中的检测精度。这样能够在较小计算开支的情况下,快速获得轻量级的语义分割模型,以较快的推理速度实现更为可靠的图像分割预测结果,在自动驾驶场景具有更佳适配性。
67.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种图像实例分割系统400,如图6所示,包括:获取模块401,配置为获取已训练的教师网络和控制器网络;搜索模块402,配置为利用所述控制器网络搜索多个解码器结构并利用每一个解码器结构和固定的编码器构成多个分割网络架构;评估模块403,配置为利用所述已训练的教师网络和每一个所述分割网络架构同时进行图像实例分割正向推理,并在每次正向推理后使用所述已训练的教师网络的损失函数对每一个所述分割网络架构的损失函数进行指导并修正,以及根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构进行全量训练并从所述若干个分割网络架构中确定最优的分割网络架构;图像实例分割模块404,配置为利用所述最优的分割网络架构对待分割的图像进行图像实例分割。
68.在一些实施例中,还包括教师网络构建模块,配置为:利用骨干网络以及aspp模块构建教师网络的编码器,其中,所述aspp模块包括四种不同膨胀率的空洞卷积块和一个全局平均池化块;利用上采样模块、1
×
1卷积块、3
×
3卷积块构建教师网络的解码器,其中,所述教师网络的解码器将所述骨干网络中间层输出的低级特征图和所述aspp模块的输出作为输入。
69.在一些实施例中,还包括教师网络训练模块,配置为:构建第一训练集;利用骨干网络以及aspp模块对训练集中的图像进行处理;利用所述解码器对所述骨干网络中间层输出的低级特征图和所述aspp模块的输出进行处理以得到图像实例分割结果;根据所述图像实例分割结果调整所述教师网络的编码器和解码器的参数以对所述教师网络进行训练。
70.在一些实施例中,教师网络训练模块还配置为:对所述第一训练集中的数据进行数据增强。
71.在一些实施例中,教师网络训练模块还配置为:利用所述骨干网络提取训练集中图像的多层语义特征并利用所述aspp模块对所述多层语义特征以不同采样率的空洞卷积并行采样以得到五组特征图,并将所述五组特征图拼接后输入到所述教师网络的解码器。
72.在一些实施例中,教师网络训练模块还配置为:利用所述上采样模块对来自所述aspp模块的特征图进行插值上采样并利用所述1
×
1卷积块对来自所述骨干网络中间层输出的低级特征图进行通道降维;将通道降维的低级特征图和线性插值上采样得到的特征图拼接,并送入所述3
×
3卷积块进行处理,并再次利用所述上采样模块进行线性插值上采样以得到所述图像实例分割结果。
73.在一些实施例中,教师网络训练模块还配置为:将所述骨干网络中间层输出的低级特征图的通道降到48。
74.在一些实施例中,所述控制器网络包括100个隐藏单元的两层递归lstm神经网络,且所有隐藏单元从均匀分布中随机初始化。
75.在一些实施例中,搜索模块还配置为:获取预设的第一解码器块、第二解码器块、第三解码器块以及第四解码器块;利用所述控制器网络在预设的搜索空间中搜索第五解码器块和第六解码器块的内部结构,以及第一解码器块、第二解码器块、第三解码器块、第四解码器块、第五解码器块和第六解码器块之间的连接方式。
76.在一些实施例中,所述搜索空间包括1
×
1卷积,3
×
3卷积,3
×
3可分离卷积,5
×
5可分离卷积,全局平均池化、上采样、1
×
1卷积模块,扩张率为3的3
×
3 卷积,扩张率为12的3
×
3卷积,扩张率为3的可分离3
×
3卷积,扩张率为6的可分离5
×
5卷积,跳跃连接,有效地使路径无效的零操作。
77.在一些实施例中,评估模块还配置为利用如下公式对每一个所述分割网络架构的损失函数进行指导并修正:其中,其中,l
kd
表示知识蒸馏网络总体损失,l
student
表示分割网络架构的损失,l
teacher
表示教师网络损失,coff表示一个在具体的网络训练过程中可调节的参数。
78.在一些实施例中,所述coff取值为0.3。
79.在一些实施例中,评估模块还配置为:利用公式计算所述分割网络架构的损失;其中,n为不同类别实例,pixels为像素点,y
true
为对应类别的实际值,y
pred
为对应类型的预测值。
80.在一些实施例中,评估模块还配置为:获取每一个分割网络架构的平均交并比、频率加权交并比以及平均像素精度;利用平均交并比、频率加权交并比以及平均像素精度计算几何平均值;根据所述几何平均值挑选若干个分割网络架构。
81.在一些实施例中,评估模块还配置为:根据模拟退火算法从多个所述分割网络架构中挑选若干个分割网络架构分别进行第一阶段的全量训练、第二阶段的全量训练、第三阶段的全量训练。
82.在一些实施例中,评估模块还配置为:利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.2。
83.在一些实施例中,评估模块还配置为:在经过第一阶段训练完毕的模型参数基础上,利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.2。
84.在一些实施例中,评估模块还配置为:在经过第二阶段训练完毕的模型参数基础上,利用增强数据集训练50个epoch,其中使用的辅助单元参数为0.15并冻结bn层。
85.基于同一发明构思,根据本发明的另一个方面,如图7所示,本发明的实施例还提供了一种计算机设备501,包括:至少一个处理器520;以及存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种图像实例分割方法的步骤。
86.基于同一发明构思,根据本发明的另一个方面,如图8所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序610,计算机程序610被处理器执行时执行如上的任一种图像实例分割方法的步骤。
87.最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
88.此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
89.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
90.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
91.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一
个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
92.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
93.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
94.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。