学生网络处理方法、装置和电子设备与流程

文档序号:31057111发布日期:2022-08-09 17:46阅读:71来源:国知局
学生网络处理方法、装置和电子设备与流程

1.本发明涉及深度学习技术领域,尤其是涉及一种学生网络处理方法、装置和电子设备。


背景技术:

2.目前,大多数知识蒸馏方案都是针对图像分类网络进行设计的,仅有的针对语义分割的知识蒸馏方案大多基于教师网络输出空间的结构性特征知识对学生网络进行蒸馏。这种继承于传统图像识别蒸馏方案的方法不够高效,也忽略了语义分割任务本身的特点。
3.语义分割任务通常需要模型学习图像的显著性信息和像素位置信息。现有的技术方案并没有针对语义分割任务特点而设计知识蒸馏方案。其次,现有的技术方案通常设计复杂而低效的对抗性学习网络来获得教师输出空间的结构性特征知识,使得训练过程变得尤为复杂。并且这种结构性特征知识只针对于教师输出空间,而遗漏了包含丰富语义结构性信息的标签,性能较差。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种学生网络处理方法、装置和电子设备,以提高神经网络的性能,加强了模型对显著性特征的学习能力。
5.第一方面,本发明实施例提供了一种学生网络处理方法,方法包括:获取学生网络的图像样本;对于每个图像样本,均执行以下操作:将图像样本输入训练完成的教师网络中,得到图像样本的第一输出图像和至少一个第一中间特征图;其中,第一中间特征图由教师网络的至少一个中间特征层输出,第一输出图像由教师网络的输出层输出;基于第一中间特征图和第一输出图像提取图像样本的第一显著性特征,基于第一中间特征图提取图像样本的第一位置特征;其中,第一显著性特征表征第一中间特征图和第一输出图像的显著性信息,第一位置特征表征第一中间特征图的每个像素的位置信息;基于第一显著性特征和第一位置特征,以及图像样本训练学生网络。
6.在本发明较佳的实施例中,上述基于第一显著性特征和第一位置特征,以及图像样本训练学生网络的步骤,包括:将图像样本输入学生网络中,得到图像样本的第二输出图像和至少一个第二中间特征图;其中,第二中间特征图由学生网络的至少一个中间特征层输出,第二输出图像由学生网络的输出层输出;基于第二中间特征图和第二输出图像提取图像样本的第二显著性特征,基于第一显著性特征和第二显著性特征训练学生网络;基于第二中间特征图提取图像样本的第二位置特征,基于第一位置特征和第二位置特征训练学生网络。
7.在本发明较佳的实施例中,上述基于第一中间特征图和第一输出图像提取图像样本的第一显著性特征的步骤,包括:对第一中间特征图进行预设的第一特征概率计算,得到第一通道特征概率;对第一输出图像进行第一特征概率计算,得到第二通道特征概率;将第一通道特征概率和第二通道特征概率作为第一显著性特征;基于第二中间特征图和第二输
出图像提取图像样本的第二显著性特征的步骤,包括:对第二中间特征图进行第一特征概率计算,得到第三通道特征概率;对第二输出图像进行第一特征概率计算,得到第四通道特征概率;将第三通道特征概率和第四通道特征概率作为第二显著性特征;基于第一显著性特征和第二显著性特征训练学生网络的步骤,包括:计算第一通道特征概率和第三通道特征概率的第一kl散度,基于第一kl散度调整学生网络的中间特征层参数;计算第二通道特征概率和第四通道特征概率的第二kl散度;基于第二kl散度调整学生网络的输出层参数;继续训练学生网络,直至训练结束。
8.在本发明较佳的实施例中,上述特征概率计算包括:将输入图像的3维张量特征转化为1维张量特征;基于预设的第一softmax函数计算1维张量特征,得到输入图像对应的通道特征概率。
9.在本发明较佳的实施例中,上述基于第一中间特征图提取图像样本的第一位置特征的步骤,包括:对第一中间特征图进行预设的第二特征概率计算,得到第一位置特征概率,将第一位置特征概率作为第一位置特征;基于第二中间特征图提取图像样本的第二位置特征的步骤,包括:对第二中间特征图进行第二特征概率计算,得到第二位置特征概率,将第二位置特征概率作为第二位置特征;基于第一位置特征和第二位置特征训练学生网络的步骤,包括:计算第一位置特征概率和第二位置特征概率的第一l2损失值;基于第一l2损失值调整学生网络的中间特征层的参数,继续训练学生网络,直至训练结束。
10.在本发明较佳的实施例中,上述位置特征概率计算包括:对于输入图像的每个目标像素,计算目标像素的非线性特征;基于非线性特征和预设的第二softmax函数,计算输入图像的各个其他像素对于目标像素的响应值,将各个响应值作为目标像素的位置特征概率;其中,其他像素为输入图像中除目标像素之外的像素,其他像素对于目标像素的响应值表征目标像素相对于其他像素的位置信息。
11.在本发明较佳的实施例中,上述将图像样本输入训练完成的教师网络中的步骤之后,方法还包括:获取图像样本的第一标签;基于第一输出图像、第一标签和图像样本训练学生网络。
12.在本发明较佳的实施例中,上述基于第一输出图像、第一标签和图像样本训练学生网络的步骤,包括:基于第一输出图像和第一标签训练自编码器;其中,自编码器包括编码器和解码器;基于训练完成的自编码器和图像样本调整学生网络的输出层的参数,继续训练学生网络,直至训练结束。
13.在本发明较佳的实施例中,上述基于第一输出图像和第一标签训练自编码器的步骤,包括:将第一输出图像和第一标签输入编码器中进行降维,得到降维图像;通过解码器对降维图像进行升维,得到升维图像;基于第一输出图像、第一标签和升维图像计算第二l2损失值;基于第二l2损失值调整自编码器的参数,继续训练自编码器,直至训练结束。
14.在本发明较佳的实施例中,上述基于训练完成的自编码器和图像样本调整学生网络的输出层的参数的步骤,包括:将图像样本输入学生网络中,得到图像样本的第三输出图像和图像样本的第二标签;将第三输出图像和第二标签输入自编码器中,得到图像样本在学生网络中的升维图像;基于第三输出图像、第二标签和在学生网络中的升维图像计算第三l2损失值;基于第三l2损失值调整学生网络的输出空间的参数。
15.在本发明较佳的实施例中,上述教师网络和学生网络均为语义分割神经网络。
16.在本发明较佳的实施例中,上述,基于第一显著性特征和第一位置特征,以及图像样本训练学生网络的步骤之后,方法还包括:获取目标图像;将目标图像输入训练完成的学生网络中,得到优化图像。
17.第二方面,本发明实施例还提供一种学生网络处理装置,装置包括:图像样本获取模块,用于获取学生网络的图像样本;对于每个图像样本,均执行以下操作:教师网络输出模块,用于将图像样本输入训练完成的教师网络中,得到图像样本的第一输出图像和至少一个第一中间特征图;其中,第一中间特征图由教师网络的至少一个中间特征层输出,第一输出图像由教师网络的输出层输出;显著性特征和位置特征提取模块,用于基于第一中间特征图和第一输出图像提取图像样本的第一显著性特征,基于第一中间特征图提取图像样本的第一位置特征;其中,第一显著性特征表征第一中间特征图和第一输出图像的显著性信息,第一位置特征表征第一中间特征图的每个像素的位置信息;学生网络训练模块,用于基于第一显著性特征和第一位置特征,以及图像样本训练学生网络。
18.第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的学生网络处理方法的步骤。
19.第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的学生网络处理方法的步骤。
20.本发明实施例带来了以下有益效果:
21.本发明实施例提供的一种学生网络处理方法、装置和电子设备,通过训练完成的教师网络输出图像样本的第一输出图像和至少一个第一中间特征图,从第一输出图像和第一中间特征图提取图像样本的第一显著性特征,从第一中间特征图提取图像样本的第一位置特征,根据第一显著性特征、第一位置特征和图像样本训练学生网络。该方式中,学生网络可以根据第一位置特征学习物体和物体之间的相对为位置信息,从而提升模型的性能;学生网络基于第一显著性特征进行训练,不仅仅是从空间角度去学习图像中的显著性特征,也从通道特征中提取了图像的显著性,从而加强了模型对显著性特征的学习能力。
22.本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
23.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
24.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本发明实施例提供的一种学生网络处理方法的流程图;
26.图2为本发明实施例提供的另一种学生网络处理方法的流程图;
27.图3为本发明实施例提供的一种学生网络处理方法的示意图;
28.图4为本发明实施例提供的一种学生网路处理装置的结构示意图;
29.图5为本发明实施例提供的另一种学生网路处理装置的结构示意图;
30.图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
31.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.目前,继承于传统图像识别蒸馏方案的方法不够高效,也忽略了语义分割任务本身的特点。现有的技术方案通常设计复杂而低效的对抗性学习网络来获得教师输出空间的结构性特征知识,使得训练过程变得尤为复杂,只针对于教师输出空间,而遗漏了包含丰富语义结构性信息的标签,性能较差。基于此,本发明实施例提供的一种学生网络处理方法、装置和电子设备,该技术可以应用于服务器、手机、平板电脑、计算机等多种设备中。该技术可以属于计算机、深度学习的领域,具体涉及一种基于视觉的深度神经网络模型压缩方法。该技术可采用相应的软件和硬件实现,以下对本发明实施例进行详细介绍。
33.为便于对本实施例进行理解,首先对本发明实施例所公开的一种学生网络处理方法进行详细介绍。
34.实施例一:
35.本实施例提供了一种学生网络处理方法,参见图1所示的一种学生网络处理方法的流程图,该学生网络处理方法包括如下步骤:
36.步骤s102,获取学生网络的图像样本。
37.本实施例中提供的方法可以用于知识蒸馏,其中,知识蒸馏可以指通过引入与教师网络(teacher network:复杂、但推理性能优越)相关的软目标(soft-target)作为损失函数的一部分,以诱导学生网络(student network:精简、低复杂度)的训练,实现知识迁移(knowledge transfer)。其中,本实施例中的软件目标可以指下文的显著性特征和位置特征。
38.简单来说,知识蒸馏可以理解为使用复杂的教师网络帮助精简的学生网络进行训练。因此,教师网络可以为大型神经网络,学生网络可以为小型神经网络。本实施例可以先获取学生网络的图像样本,图像样本可以为图像、视频中的视频帧等。图像样本可以从训练集中获取,训练集可以为:imagenet数据集、pascal voc数据集、labelme数据集、coco数据集等,也可以为用户自行采集的图像集合。
39.对于每个图像样本,均执行以下操作:
40.步骤s104,将图像样本输入训练完成的教师网络中,得到图像样本的第一输出图像和至少一个第一中间特征图;其中,第一中间特征图由教师网络的至少一个中间特征层输出,第一输出图像由教师网络的输出层输出。
41.本实施例中的教师网络预先训练完成,因此,教师网络中的各个参数可以被固定,不再进行调整。教师网络可以包含至少一个中间特征层和输出层。将图像样本输入训练完成的教师网络之后,教师网络的中间特征层可以分别输出第一中间特征图,教师网络的输
出层可以输出第一输出图像。
42.这里需要说明的是,一般来说,教师网络的每个中间特征层均可以输出中间特征图,然而,本实施例中可以从中间特征图选择一定数量作为第一中间特征图。因为,如果第一中间特征图的数量过多,可能会影响训练学生网络的速度。例如:教师网络包含10个中间特征层,可以分别输出10个中间特征图,可以选择其中5个中间特征图作为第一中间特征图。
43.步骤s106,基于第一中间特征图和第一输出图像提取图像样本的第一显著性特征,基于第一中间特征图提取图像样本的第一位置特征;其中,第一显著性特征表征第一中间特征图和第一输出图像的显著性信息,第一位置特征表征第一中间特征图的每个像素的位置信息。
44.本实施例中可以从第一中间特征图和第一输出图像提取图像样本的第一显著性特征。通过对第一中间特征图和第一输出图像进行挤压,使得第一中间特征图和第一输出图像的每一个通道维度中都包含了整张特征图的显著性信息。
45.本实施例中可以从第一中间特征图提取图像样本的第一位置特征,这里的第一位置特征可以为第一中间特征图的每个像素对于第一中间特征图的其他像素的相对位置信息。
46.综上,本实施例可以基于第一中间特征图和第一输出图像提取图像样本的第一显著性特征,基于第一中间特征图提取图像样本的第一位置特征,方便后续使用第一显著性特征和第一位置特征辅助训练学生网络。
47.步骤s108,基于第一显著性特征和第一位置特征,以及图像样本训练学生网络。
48.通过第一显著性特征训练学生网络,可以使训练后的学生网络能够模仿教师网络中学到的通道显著性信息;通过第一位置特征训练学生网络,可以使训练后的学生网络能够模仿教师网络中学到的位置信息,上述学生网络的学习方式集合了语义分割任务本身的特点,效率较高,性能也较好。
49.本发明实施例提供的一种学生网络处理方法,通过训练完成的教师网络输出图像样本的第一输出图像和至少一个第一中间特征图,从第一输出图像和第一中间特征图提取图像样本的第一显著性特征,从第一中间特征图提取图像样本的第一位置特征,根据第一显著性特征、第一位置特征和图像样本训练学生网络。该方式中,学生网络可以根据第一位置特征学习物体和物体之间的相对为位置信息,从而提升模型的性能;学生网络基于第一显著性特征进行训练,不仅仅是从空间角度去学习图像中的显著性特征,也从通道特征中提取了图像的显著性,从而加强了模型对显著性特征的学习能力。
50.实施例二:
51.实施例提供了另一种学生网络处理方法,该方法在上述实施例的基础上实现;本实施例重点描述基于第一显著性特征和第一位置特征,以及图像样本训练学生网络的具体实施方式。参见图2所示的另一种学生网络处理方法的流程图,本实施例中的学生网络处理方法包括如下步骤:
52.步骤s202,获取学生网络的图像样本。
53.目前,针对语义分割的知识蒸馏方案忽略了语义分割任务本身的特点。语义分割任务通常需要模型学习显著性特征和像素位置特征,本实施例提供的方法学习显著性特征
和像素位置特征,因此本实施例中提供的方法可以应用于语义分割神经网络中,即教师网络和学生网络均为语义分割神经网络。其中,教师网络可以为大型语义分割神经网络,学生网络可以为小型语义分割神经网络。
54.对于每个图像样本,均执行以下操作:
55.步骤s204,将图像样本输入训练完成的教师网络中,得到图像样本的第一输出图像和至少一个第一中间特征图;其中,第一中间特征图由教师网络的至少一个中间特征层输出,第一输出图像由教师网络的输出层输出。
56.参见图3所示的一种学生网络处理方法的示意图,如图3所示,图3的上方为教师网络的示意图,可以看出,图3中的教师网络包含两个中间特征层和一个输出层,分别输出两个第一中间特征图和一个第一输出图像。
57.神经网络分为输入,中间层和输出层,中间网络的整体部分(包括卷积层、batch-normalization层和非线性层等)都可以称为是中间层。输出层可以指所有输出构成的一个输出的概率分布,可以简单理解为非常多的输出项。
58.步骤s206,基于第一中间特征图和第一输出图像提取图像样本的第一显著性特征,基于第一中间特征图提取图像样本的第一位置特征;其中,第一显著性特征表征第一中间特征图和第一输出图像的显著性信息,第一位置特征表征第一中间特征图的每个像素的位置信息。
59.本实施例中可以使用通道特征概率作为显著性特征,因此,可以通过下述方式计算第一显著性特征:对第一中间特征图进行预设的第一特征概率计算,得到第一通道特征概率;对第一输出图像进行第一特征概率计算,得到第二通道特征概率;将第一通道特征概率和第二通道特征概率作为第一显著性特征。
60.让图3所示,在本实施例中可以设置通道显著性模块计算教师网络和学生网络的显著性特征,并根据计算得到的显著性特征训练学生网络。其中,在计算显著性特征时可以对输入图像的张量特征进行挤压,例如:将输入图像的3维张量特征转化为1维张量特征;基于预设的第一softmax函数计算1维张量特征,得到输入图像对应的通道特征概率。
61.本实施例中的特征概率计算的输入图像可以为教师网络的第一中间特征图和第一输出图像,以及学生网络的第二中间特征图和第二输出图像。一教师网络为例,可以对教师网络的第一中间特征图和第一输出图像的3维张量(3d tensor)进行挤压,将原本c
×h×
w的特征空间(其中,c代表通道,h代表高度,w代表长度)变为1维张量特征(1d tensor),即c
×h×w→
c。因此,挤压后的每一个通道维度中都包含了整张特征图的显著性信息。
62.将3维张量特征的特征空间转化为1维张量特征的特征空间,虽然降低了维度,但是1维张量特征的每个通道维度中都包含了整张特征图的显著性信息。显著性信息(或者显著性地图saliency map)可以包括在计算机视觉中特质图像中较为重要的前景物体。每一个维度c实际包涵了h
×
w相加后的结果,因此当前的1维张量特征实际包涵了空间信息。
63.在得到1维张量特征后可以对使用预设的第一softmax函数获得输入图像对应的通道特征概率。softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。例如,本向量x属于第j个分类的概率
为:
64.本实施例中可以使用特征概率作为位置特征,因此,可以通过下述方式计算第一位置特征:对第一中间特征图进行预设的第二特征概率计算,得到第一位置特征概率,将第一位置特征概率作为第一位置特征。
65.让图3所示,在本实施例中可以设置位置特征模块计算教师网络和学生网络的位置特征,并根据计算得到的位置特征训练学生网络。例如,位置特征模块可以通过下述方式计算位置特征概率:
66.对于输入图像的每个目标像素,计算目标像素的非线性特征;基于非线性特征和预设的第二softmax函数,计算输入图像的各个其他像素对于目标像素的响应值,将各个响应值作为目标像素的位置特征概率;其中,其他像素为输入图像中除目标像素之外的像素,其他像素对于目标像素的响应值表征目标像素相对于其他像素的位置信息。
67.对输入图像的每个目标像素,可以去计算该目标像素与输入图像的其他像素的softmax概率(即响应值),从而能够得到每一个像素的相对位置信息。
68.举例来说,对于每个目标像素,首先可以得到3个可学习的非线性特征然后对这三个非线性特征进行合并后计算第二softmax函数,从而确认目标像素的位置,图像中其他哪一个其他像素的位置能够得到最强的响应。
69.第二softmax函数可以获得当前特定的目标像素对于其余所有的像素的概率分布,数值较大的代表着较高的响应,也表明该位置的像素和目标像素有较高关联,也就是获取了相对位置。
70.例如,位置特征模块可以用来判断输入图像中物体的相对位置信息,如在人脸中,五官相互之间的位置,就是位置特征模块想要获取的信息。具体来说,对于图像中每一个目标像素点i,有(w
×
h-1)个像素点,在这里w,h代表输入图像的长和款,i代表了目标像素的坐标位置。对于每一个i,可以获得任意其他像素点对于j的响应(response),这个响应可以通过计算第二softmax函数获得。
71.具体来说,对于一个位置特征模块f,我们可以写成:具体来说,对于一个位置特征模块f,我们可以写成:
72.对于图像中像素位置i来说,我们想要获取所有j位置的响应。fu是一个一元方程,它不需要位置i的信息,只需要当前位置j的响应。通常,我们可以用fu(xj)=wmxj/∑jwmxj,这里的wm是一组权重,我们通过一个线性转换来获得。f
p
是一个对偶方程,来计算i和j的相对关系,通常我们计算f
p
使用以下公式:
73.在这里wq还有wk和上面的wm一样都是线性转换获得的权重,这里是样本空间的总数。其中,上述wm、wq和wm为非线性特征。
74.步骤s208,将图像样本输入学生网络中,得到图像样本的第二输出图像和至少一个第二中间特征图;其中,第二中间特征图由学生网络的至少一个中间特征层输出,第二输
出图像由学生网络的输出层输出。
75.为了训练学生网络,需要将将图像样本输入学生网络中,得到学生网络的至少一个中间特征层输出的第二中间特征图和学生网络的输出层输出的第二输出图像。
76.步骤s210,基于第二中间特征图和第二输出图像提取图像样本的第二显著性特征,基于第一显著性特征和第二显著性特征训练学生网络。
77.这里需要说明的是,步骤s210中计算第二显著性特征的方式,可以与步骤s206中计算第一显著性特征的方式相同。
78.例如,可以通过以下方式计算第二显著性特征:对第二中间特征图进行第一特征概率计算,得到第三通道特征概率;对第二输出图像进行第一特征概率计算,得到第四通道特征概率;将第三通道特征概率和第四通道特征概率作为第二显著性特征。
79.第二显著性特征的计算方式可以通过通道显著性模块计算,具体的计算方式可以参见步骤s206,这里不再赘述。
80.通过步骤s206和步骤s210,可以计算得到第一通道特征概率、第二通道特征概率、第三通道特征概率和第四通道特征概率,其中,第一通道特征概率和第三通道特征分别根据第一中间特征图和第二中间特征图计算得到,第二通道特征概率和第四通道特征分别根据第一输出图像和第二输出图像计算得到。
81.因此,可以根据第一通道特征概率和第三通道特征概率调整学生网络的中间特征层参数,根据第二通道特征概率和第四通道特征概率调整学生网络的输出层参数。
82.具体来说,可以将教师网络中的通道特征概率和学生网络中的通道特征概率使用kl散度来进行优化,从而使得学生网络能够模仿教师网络中学到的通道显著性信息。
83.例如,可以通过下述训练学生网络:计算第一通道特征概率和第三通道特征概率的第一kl散度,基于第一kl散度调整学生网络的中间特征层参数;计算第二通道特征概率和第四通道特征概率的第二kl散度;基于第二kl散度调整学生网络的输出层参数;继续训练学生网络,直至训练结束。
84.其中,kl散度(kl divergence)通常用来衡量两个概率分布之间的差异性,通常可以作为一个优化任务目标,来使得网络的某一个分布通过优化kl散度来接近于另一个目标分布,如下:loss=kld(student(x),teacher(x))。
85.上述公式可以使学生网络的输出分布通过上述loss优化后接近于教师网络的输出分布,其中公式的输入可以被替代为各类不同的概率分布,这里不做限定。
86.步骤s212,基于第二中间特征图提取图像样本的第二位置特征,基于第一位置特征和第二位置特征训练学生网络。
87.步骤s210中计算第二位置特征的方式,可以与步骤s206中计算第一位置特征的方式相同。例如,可以通过以下方式计算第二位置特征:对第二中间特征图进行第二特征概率计算,得到第二位置特征概率,将第二位置特征概率作为第二位置特征。第二位置特征的计算方式可以通过位置特征模块计算,具体的计算方式可以参见步骤s206,这里不再赘述。
88.因此,可以根据第一位置特征概率和第二位置特征概率调整学生网络的中间特征层参数。具体来说,可以将教师网络中的第一位置特征概率和学生网络中的第二位置特征概率使用l2范数(l2 norm)去计算他的损失函数(即第一l2损失值)进行优化,从而使得学生网络能够模仿教师网络中学到的位置信息。
89.例如,可以通过下述训练学生网络:计算第一位置特征概率和第二位置特征概率的第一l2损失值;基于第一l2损失值调整学生网络的中间特征层的参数,继续训练学生网络,直至训练结束。
90.第一l2损失值可以通过以下公式计算:表示向量元素的平方和再开平方,可以度量第一位置特征概率和第二位置特征概率间的差异。
91.如图3所示,除了通道显著性模块和位置特征模块之外,本实施例中还可以包括输出特征模块。其中,显著性模块(1)分别作用于教师网络的中间层和输出层,分别在语义分割网络中的主干网络中间层和解码器前都使用了。位置特征模块(2)仅作用于教师网络的中间层,在主干网络中间层使用。输出特征模块(3)同时作用于教师输出层和标签),分别对教师网络的输出和标签进行特征的提取,然后使用此信息对学生网络进行监督。
92.通过该输出特征模块可以极大地简化过往复杂的输出空间模块设计。并且除开教师输出空间,对标签的特征也使用了相同的方式提取。具体的实现方式在于使用一个自编码器通过重建函数的优化方式来学习输出空间的结构性特征。在获得此类特征后,可以使用l2损失函数对学生网络的参数进行约束,从而提升学生网络的性能。例如:获取图像样本的第一标签;基于第一输出图像、第一标签和图像样本训练学生网络。
93.标签(ground truth)也可以称为标注,在有监督学习中,数据是有标注的,以(x,t)的形式出现,其中x是输入数据,t是标注。正确的t标注是ground truth,错误的标记则不是。
94.其中,重建函数的优化方式可以使用l2范数优化的方式,具体实现方式为l2(x,y),也就是比较输出x和输入y之间的输出分布距离。具体来说,可以通过下述步骤训练自编码器:基于第一输出图像和第一标签训练自编码器;其中,自编码器包括编码器和解码器;基于训练完成的自编码器和图像样本调整学生网络的输出层的参数,继续训练学生网络,直至训练结束。
95.假设输入为x,输出为y,我们可以构建一个自编码器。自编码器由一个编码器(encoder)和解码器(decoder)组成。编码器初步的对输入图像(即第一输出图像和第一标签)进行降维,而解码器对被降维之后的图像初步的升维,从而达到对图像完成重建的效果。假设此处的自编码器为f,我们可以获得重建的损失函数loss:loss=l2(x,f(x));其中,x是输入图像,y即f(x),指输入图像降维后再升维得到的升维图像。
96.自编码器训练完毕后,可以使用该自编码器训练学生网络的输出层,例如:将图像样本输入学生网络中,得到图像样本的第三输出图像和图像样本的第二标签;将第三输出图像和第二标签输入自编码器中,得到图像样本在学生网络中的升维图像;基于第三输出图像、第二标签和在学生网络中的升维图像计算第三l2损失值;基于第三l2损失值调整学生网络的输出空间的参数。
97.通过训练完成的自编码器对学生网络的第三输出图像和第二标签先降维后升维,计算升维图像与输入图像的第三l2损失值,并基于第三l2损失值调整学生网络的输出空间的参数。
98.在训练完成学生网络之后,可以使用学生网络优化目标图像,例如:获取目标图
像;将目标图像输入训练完成的学生网络中,得到优化图像。使用学生网络优化得到的优化图像具有较高的性能和效率。
99.综上,本发明实施例提供更多上述方法,使用了教师网络的中间特征层和输出空间的通道显著性特征对学生网络进行蒸馏,使用了教师网络的中间特征层的位置特征对学生网络进行蒸馏,使用了教师网络的输出空间和标签对学生网络进行蒸馏。这些模块围绕着语义分割任务中重要的特征信息进行设计。
100.本发明实施例设计了一个针对语义分割任务的高性能知识蒸馏算法。本发明实施例提供的方法解决了语义分割知识蒸馏算法中缺乏对位置信息,显著性信息的学习的问题,并且改进了以往复杂的输出空间特征获取的输出特征模块,并且结合了标签信息,使得小型语义分割网络(即学生网路)在更高效的同时,可以获得近似于大型语义分割网络(即教师网路)的性能。这种方法适用于边缘计算,能使用于计算资源受限的场景如嵌入式芯片、cpu(central processing unit,中央处理器)、npu(neural network processing unit,神经网络处理器)等设备中。
101.本发明实施例提供的上述方法具有以下效果:
102.首先,通过技术方案中位置特征的模块,能够使得模型学习到物体和物体间的相对位置信息,使得一些会同时出现的物体(比如车和车道线)能得到更好的学习,从而提升模型的性能。
103.其次,模型改进了对显著性图的学习方案,不仅仅是从空间角度去学习图像中的显著性特征,也从通道特征中提取了图像的显著性,从而加强了模型对显著性特征的学习能力。这个效果的实现得益于通道显著性特征模块,通过将教师模型的中间特征图和输出图同时计算通道上的显著性,并且将此知识蒸馏给学生网络。
104.最后,我们设计的输出特征模块,通过同时学习数据标签和教师网络输出中的结构化特征,来达到学生网络的输出空间优化的效果,从而令学生网络能够明确优化的方向。
105.本实施例提供的以上的模型从语义分割任务的不同特征角度进行设计,将对任务重要的特征从教师网络或者是标签中蒸馏至学生网络,以此来极大的提升学生网络最后的预测效果。
106.另外需要说明的是,本实施例提供的算法可以仅需在训练语义分割网络时使用。操作过程为首先训练一个教师网络,然后冻结其所有的参数,再训练相关的显著性模块,位置特征模块和输出特征模块,再使用设计的蒸馏算法来训练一个学生网络。本实施例的算法框架对于各类教师网络和学生网络都可以适应,包括但不限于使用主干网络resnet,mobilenet,efficientnet和espnet,或使用语义算法分割结构如pspnet和deeplabv3等。此外,本实施例提出的位置特征模块属于通用模块,可以使用各类自注意力算法或者非本地算法来提取模型的位置信息。
107.实施例三:
108.对应于上述方法实施例,本发明实施例提供了一种学生网路处理装置,参见图4所示的一种学生网路处理装置的结构示意图,该学生网路处理装置包括:
109.图像样本获取模块41,用于获取学生网络的图像样本;
110.对于每个图像样本,均执行以下操作:
111.教师网络输出模块42,用于将图像样本输入训练完成的教师网络中,得到图像样
本的第一输出图像和至少一个第一中间特征图;其中,第一中间特征图由教师网络的至少一个中间特征层输出,第一输出图像由教师网络的输出层输出;
112.显著性特征和位置特征提取模块43,用于基于第一中间特征图和第一输出图像提取图像样本的第一显著性特征,基于第一中间特征图提取图像样本的第一位置特征;其中,第一显著性特征表征第一中间特征图和第一输出图像的显著性信息,第一位置特征表征第一中间特征图的每个像素的位置信息;
113.学生网络训练模块44,用于基于第一显著性特征和第一位置特征,以及图像样本训练学生网络。
114.本发明实施例提供的一种学生网络处理装置,通过训练完成的教师网络输出图像样本的第一输出图像和至少一个第一中间特征图,从第一输出图像和第一中间特征图提取图像样本的第一显著性特征,从第一中间特征图提取图像样本的第一位置特征,根据第一显著性特征、第一位置特征和图像样本训练学生网络。该方式中,学生网络可以根据第一位置特征学习物体和物体之间的相对为位置信息,从而提升模型的性能;学生网络基于第一显著性特征进行训练,不仅仅是从空间角度去学习图像中的显著性特征,也从通道特征中提取了图像的显著性,从而加强了模型对显著性特征的学习能力。
115.上述学生网络训练模块,用于将图像样本输入学生网络中,得到图像样本的第二输出图像和至少一个第二中间特征图;其中,第二中间特征图由学生网络的至少一个中间特征层输出,第二输出图像由学生网络的输出层输出;基于第二中间特征图和第二输出图像提取图像样本的第二显著性特征,基于第一显著性特征和第二显著性特征训练学生网络;基于第二中间特征图提取图像样本的第二位置特征,基于第一位置特征和第二位置特征训练学生网络。
116.上述显著性特征和位置特征提取模块,用于对第一中间特征图进行预设的第一特征概率计算,得到第一通道特征概率;对第一输出图像进行第一特征概率计算,得到第二通道特征概率;将第一通道特征概率和第二通道特征概率作为第一显著性特征;上述学生网络训练模块,用于对第二中间特征图进行第一特征概率计算,得到第三通道特征概率;对第二输出图像进行第一特征概率计算,得到第四通道特征概率;将第三通道特征概率和第四通道特征概率作为第二显著性特征;上述学生网络训练模块,用于计算第一通道特征概率和第三通道特征概率的第一kl散度,基于第一kl散度调整学生网络的中间特征层参数;计算第二通道特征概率和第四通道特征概率的第二kl散度;基于第二kl散度调整学生网络的输出层参数;继续训练学生网络,直至训练结束。
117.上述特征概率计算包括:将输入图像的3维张量特征转化为1维张量特征;基于预设的第一softmax函数计算1维张量特征,得到输入图像对应的通道特征概率。
118.上述显著性特征和位置特征提取模块,用于对第一中间特征图进行预设的第二特征概率计算,得到第一位置特征概率,将第一位置特征概率作为第一位置特征;上述学生网络训练模块,用于对第二中间特征图进行第二特征概率计算,得到第二位置特征概率,将第二位置特征概率作为第二位置特征;上述学生网络训练模块,用于计算第一位置特征概率和第二位置特征概率的第一l2损失值;基于第一l2损失值调整学生网络的中间特征层的参数,继续训练学生网络,直至训练结束。
119.上述位置特征概率计算包括:对于输入图像的每个目标像素,计算目标像素的非
线性特征;基于非线性特征和预设的第二softmax函数,计算输入图像的各个其他像素对于目标像素的响应值,将各个响应值作为目标像素的位置特征概率;其中,其他像素为输入图像中除目标像素之外的像素,其他像素对于目标像素的响应值表征目标像素相对于其他像素的位置信息。
120.上述学生网路训练模块,还用于获取图像样本的第一标签;基于第一输出图像、第一标签和图像样本训练学生网络。
121.上述学生网路训练模块,还用于基于第一输出图像和第一标签训练自编码器;其中,自编码器包括编码器和解码器;基于训练完成的自编码器和图像样本调整学生网络的输出层的参数,继续训练学生网络,直至训练结束。
122.上述学生网路训练模块,还用于将第一输出图像和第一标签输入编码器中进行降维,得到降维图像;通过解码器对降维图像进行升维,得到升维图像;基于第一输出图像、第一标签和升维图像计算第二l2损失值;基于第二l2损失值调整自编码器的参数,继续训练自编码器,直至训练结束。
123.上述学生网路训练模块,还用于将图像样本输入学生网络中,得到图像样本的第三输出图像和图像样本的第二标签;将第三输出图像和第二标签输入自编码器中,得到图像样本在学生网络中的升维图像;基于第三输出图像、第二标签和在学生网络中的升维图像计算第三l2损失值;基于第三l2损失值调整学生网络的输出空间的参数。
124.上述教师网络和学生网络均为语义分割神经网络。
125.参见图5所示的另一种学生网路处理装置的结构示意图,该学生网路处理装置包括:学生网络使用模块45,与学生网路训练模块44连接,学生网络训练模块学生网络使用模块45用于获取目标图像;将目标图像输入训练完成的学生网络中,得到优化图像。
126.本发明实施例所提供的学生网络处理装置,其实现原理及产生的技术效果和前述学生网络处理方法实施例相同,为简要描述,学生网络处理装置实施例部分未提及之处,可参考前述学生网络处理方法实施例中相应内容。
127.本发明实施例还提供了一种电子设备,用于运行上述学生网络处理方法;参见图6所示的一种电子设备的结构示意图,该电子设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述学生网络处理方法。
128.进一步地,图6所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
129.其中,存储器100可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
130.处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(central processing unit,简称
cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
131.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述学生网络处理方法,具体实现可参见方法实施例,在此不再赘述。
132.本发明实施例所提供的学生网络处理方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
133.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
134.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
135.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
136.在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
137.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1