一种高分辨率模型蒸馏低分辨率模型的方法与流程

未命名 09-22 阅读:93 评论:0


1.本发明涉及基于特定计算模型的计算机系统的技术领域,特别涉及一种深度学习技术领域的高分辨率模型蒸馏低分辨率模型的方法。


背景技术:

2.知识蒸馏(knowledge distillation,简记为 kd)是一种经典的模型压缩方法,其核心思想是将复杂、学习能力强的网络学到的特征表示进行提取,传递给参数量小、学习能力弱的学生模型,通过引导轻量化的学生模型“模仿”性能更好、结构更复杂的教师模型或多模型整体,在不改变学生模型结构的情况下提高其性能。
3.深度学习模型中,受限于模型的推理效率问题,一般会将输入图像的大小进行压缩,使得模型的推理速度和精度达到平衡。然而,更大的图像输入尺寸大小对于模型的精度提升是有效的,高分辨率输入(如256x256)的模型在精度上一般都会优于低分辨率(如128x128)模型。因此,如何将高分辨率下的模型精度维持住,并且不过多提升模型的复杂度,是一个值得研究的问题。
4.然而,从技术实现角度,按照一般的蒸馏训练形式,在logits层或feature层以kd loss做检测,大分辨率输入的模型对低分辨率模型做知识蒸馏将面临中间层特征的尺寸大小或输出层(logits层)的尺寸大小无法对齐的情况,导致蒸馏过程无法进行,此问题亟待解决。


技术实现要素:

5.本发明解决了现有技术中存在的问题,提供了一种高分辨率模型蒸馏低分辨率模型的方法。
6.本发明所采用的技术方案是,一种高分辨率模型蒸馏低分辨率模型的方法,在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,处理为分辨率不同的两图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型;高分辨率模型和低分辨率模型分别处理对应的输入,以改进的特征对齐模块对齐特征,在高分辨率模型和低分辨率模型间建立关联,训练低分辨率模型,完成高分辨率(大输入尺寸)模型到低分辨率(小输入尺寸)模型的蒸馏学习。
7.本发明中,特征对齐模块根据高分辨率(大输入尺寸)模型的各种输入尺寸大小动态调整,使得始终可以对齐低分辨率(小输入尺寸)模型的特征。
8.优选地,所述高分辨率图像和低分辨率图像的图像尺寸不同。
9.优选地,所述高分辨率模型和低分辨率模型结构相同。
10.优选地,将高分辨率图像输入高分辨率模型、低分辨率图像输入低分辨率模型后,对应输出高分辨率特征、低分辨率特征;所述改进的特征对齐模块包括双线性插值单元,用于将高分辨率特征插值为低分辨率特征并匹配低分辨率模型;插值后的所述低分辨率特征用于监督学习、训练改进的特征对齐模块。
11.优选地,配合插值后的所述低分辨率特征设有偏差修正单元,所述偏差修正单元与低分辨率特征大小一致,相加后得到用于匹配低分辨率模型的新低分辨率特征,以所述新低分辨率特征用于监督学习、训练改进的特征对齐模块。
12.优选地,对于所述新低分辨率特征进行向上的插值操作,得到与高分辨率特征大小一致的特征feature_up,计算高分辨率特征与feature_up的refine loss。
13.优选地,refine loss为mse loss。
14.优选地,所述新低分辨率特征与低分辨率模型输出的低分辨率特征进行蒸馏学习,通过kd loss进行蒸馏损失的计算。
15.优选地,kd loss为mse loss。
16.优选地,高分辨率模型和低分辨率模型的输出还被分别输入到对应的任务损失函数中进行训练。
17.本发明中,对于同一张输入图像,高分辨率模型可以同时采用不同大小的输入(但大于低分辨率模型的输入)提取特征,然后对这些不同尺度下得到的特征都同时对齐到低分辨率模型的特征大小上,再对这些特征做融合(一般是取平均),融合后的特征与低分辨率模型的特征做蒸馏学习;在不清楚高分辨率模型的具体输入尺寸的情况下,事实上无法确定以什么尺寸执行对齐蒸馏,故采用多种大尺度的特征进行特征融合,避免这种问题。
18.本发明涉及一种高分辨率模型蒸馏低分辨率模型的方法,在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,处理为分辨率不同的两图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型;高分辨率模型和低分辨率模型分别处理对应的输入,以改进的特征对齐模块对齐特征,在高分辨率模型和低分辨率模型间建立关联,训练低分辨率模型,完成高分辨率模型蒸馏低分辨率模型。
19.本发明的有益效果在于:(1)解决高分辨率输入模型蒸馏低分辨率输入模型的过程中,中间层特征的尺寸大小或输出层的尺寸大小无法对齐的问题;(2)通过高分辨率输入模型蒸馏低分辨率模型,提升低分辨率模型的模型精度,同时维持低分辨率模型原有的推理速度;(3)不限制高分辨率模型和低分辨率模型的网络结构必须相同;(4)具备通用性,不限定于单一的深度学习任务,在包括但不限于分类、检测、分割等的多种任务中都可以通用,可以扩展到各种类型的算法模型的蒸馏上。
附图说明
20.图1为本发明的方法流程图;图2为本发明中高分辨率模型以改进的特征对齐模块蒸馏低分辨率模型的示意图。
具体实施方式
21.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在
没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.如图1所示,一种高分辨率模型蒸馏低分辨率模型的方法,在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,处理为分辨率不同的两图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型;高分辨率模型和低分辨率模型分别处理对应的输入,以改进的特征对齐模块对齐特征,在高分辨率模型和低分辨率模型间建立关联,训练低分辨率模型,完成高分辨率模型到低分辨率模型的蒸馏学习。
23.所述高分辨率图像和低分辨率图像的图像尺寸不同。
24.所述高分辨率模型和低分辨率模型结构相同。
25.将高分辨率图像输入高分辨率模型、低分辨率图像输入低分辨率模型后,对应输出高分辨率特征、低分辨率特征;所述改进的特征对齐模块包括双线性插值单元,用于将高分辨率特征插值为低分辨率特征并匹配低分辨率模型;插值后的所述低分辨率特征用于监督学习、训练改进的特征对齐模块。
26.配合插值后的所述低分辨率特征设有偏差修正单元,所述偏差修正单元与低分辨率特征大小一致,相加后得到用于匹配低分辨率模型的新低分辨率特征,以所述新低分辨率特征用于监督学习、训练改进的特征对齐模块。
27.对于所述新低分辨率特征进行向上的插值操作,得到与高分辨率特征大小一致的特征feature_up,计算高分辨率特征与feature_up的refine loss。
28.refine loss为mse loss。
29.所述新低分辨率特征与低分辨率模型输出的低分辨率特征进行蒸馏学习,通过kd loss进行蒸馏损失的计算。
30.kd loss为mse loss。
31.高分辨率模型和低分辨率模型的输出还被分别输入到对应的任务损失函数中进行训练。
32.如图2所示,以下结合实施例进行说明。
33.步骤1:构造不同分辨率的输入;对原始的输入图像,采用不同的resize尺寸,构造出大尺寸图像input1,如1080
×
1920和小尺寸图像input2,如720
×
1280,其余图像处理过程在两种图像上都保持一致,即保持低分辨率模型和高分辨率模型的输入只有图像尺寸上的差异;其余图像处理过程包括但不限于数据增强、输入归一化等。
34.步骤2:蒸馏训练;(2-1)将小尺寸图像输入到低分辨率模型中,大尺寸图像输入到高分辨率模型中;(2-2)低分辨率模型和高分辨率模型的网络结构在网络结构上使用同种结构的网络结构,但低分辨率模型在深层网络中相比高分辨率模型多一个改进的特征对齐模块feature align module;在实际的应用过程中,教师模型也可以使用更大更复杂的网络结构;如图所示,改进的特征对齐模块用于使得低分辨率模型输出的特征大小能够与高分辨率模型输出的特征大小对齐;改进的特征对齐模块的实现包括以下步骤:(2-2-1)通过双线性插值(interplation)单元的双线性插值方法,将高分辨率模
型输出的高分辨率特征feature1(h/8,w/8)插值到低分辨率模型的特征(h/8, w/8)大小上,得到低分辨率特征feature_down;(2-2-2)考虑到插值可能带来的部分信息损失,设置偏差修正单元bias可训练参数,其大小与feature_down大小一致,将feature_down与bias直接相加以修正偏差,得到新低分辨率特征feature_down_new;(2-2-3)经过偏差修正后的feature_down_new将用于两方面的监督学习:(2-2-3-1)用于训练学习bias参数;通过对feature_down_new进行向上的插值操作得到与高分辨率特征大小一致的特征feature_up,计算高分辨率特征feature1和特征feature_up的refine loss,具体形式为mse loss;这一步是为了训练bias参数,使得bias具备对插值带来的偏差进行修正的作用;(2-2-3-2)将feature_down_new用于与低分辨率模型的低分辨率特征feature2的蒸馏学习,通过kd loss,具体形式为mse loss,进行蒸馏损失的计算;(3)低分辨率模型和高分辨率模型的输出分别输入到各自的任务损失函数task loss中进行特定任务的训练;让低分辨率模型通过训练达到高分辨率模型的精度水平。
35.本发明中,需要说明的是,在完成训练后的推理阶段,此改进后的特征对齐模型将不需要再使用。
36.为了实现上述内容,本发明还涉及一种计算机可读存储介质,其上存储有高分辨率模型蒸馏低分辨率模型的程序,该程序被处理器执行时实现上述高分辨率模型蒸馏低分辨率模型的方法。
37.为了实现上述内容,本发明还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现上述高分辨率模型蒸馏低分辨率模型的方法。
38.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
39.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
40.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
41.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
42.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
43.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,处理为分辨率不同的两图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型;高分辨率模型和低分辨率模型分别处理对应的输入,以改进的特征对齐模块对齐特征,在高分辨率模型和低分辨率模型间建立关联,训练低分辨率模型,完成高分辨率模型到低分辨率模型的蒸馏学习。2.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:所述高分辨率图像和低分辨率图像的图像尺寸不同。3.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:所述高分辨率模型和低分辨率模型结构相同。4.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:将高分辨率图像输入高分辨率模型、低分辨率图像输入低分辨率模型后,对应输出高分辨率特征、低分辨率特征;所述改进的特征对齐模块包括双线性插值单元,用于将高分辨率特征插值为低分辨率特征并匹配低分辨率模型;插值后的所述低分辨率特征用于监督学习、训练改进的特征对齐模块。5.根据权利要求4所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:配合插值后的所述低分辨率特征设有偏差修正单元,所述偏差修正单元与低分辨率特征大小一致,相加后得到用于匹配低分辨率模型的新低分辨率特征,以所述新低分辨率特征用于监督学习、训练改进的特征对齐模块。6.根据权利要求5所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:对于所述新低分辨率特征进行向上的插值操作,得到与高分辨率特征大小一致的特征feature_up,计算高分辨率特征与feature_up的refine loss。7.根据权利要求6所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:refine loss为mse loss。8.根据权利要求5所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:所述新低分辨率特征与低分辨率模型输出的低分辨率特征进行蒸馏学习,通过kd loss进行蒸馏损失的计算。9.根据权利要求8所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:kd loss为mse loss。10.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:高分辨率模型和低分辨率模型的输出还被分别输入到对应的任务损失函数中进行训练。

技术总结
本发明涉及一种高分辨率模型蒸馏低分辨率模型的方法,在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型,模型分别处理对应输入,以改进的特征对齐模块对齐特征,在模型间建立关联,训练低分辨率模型,完成高分辨率模型蒸馏低分辨率模型。本发明通过高分辨率输入模型蒸馏低分辨率模型,提升低分辨率模型的模型精度,同时维持低分辨率模型原有的推理速度;不限制高分辨率模型和低分辨率模型的网络结构必须相同;具备通用性,不限定于单一的深度学习任务,在包括但不限于分类、检测、分割等的多种任务中都可以通用,可以扩展到各种类型的算法模型的蒸馏上。馏上。馏上。


技术研发人员:张宝川 毛辉杰 葛棋棋 陈赟 张子川 肖昌震 陈胜利
受保护的技术使用者:浙江千从系统技术有限公司
技术研发日:2023.06.26
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐