System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 网络模型知识蒸馏方法、图像深度估计方法和电子设备技术_技高网

网络模型知识蒸馏方法、图像深度估计方法和电子设备技术

技术编号:43930851 阅读:9 留言:0更新日期:2025-01-07 21:25
本申请实施例提供了一种网络模型知识蒸馏方法、图像深度估计方法和电子设备,网络模型知识蒸馏方法包括:获取训练数据以及训练数据对应的深度标签,训练数据包括多个图像数据;将训练数据输入第一模型,得到第一中间输出特征和第一深度估计结果,第一模型为已训练收敛的网络模型;将训练数据输入第二模型,得到第二中间输出特征和第二深度估计结果,第二模型的网络复杂度低于第一模型的网络复杂度;根据第一中间输出特征、第一深度估计结果、第二中间输出特征、第二深度估计结果以及深度标签,计算第二模型对应的损失;基于损失对第二模型进行训练,得到训练收敛的目标网络模型。如此可以提高在电子设备执行图像深度估计任务时的结果精度。

【技术实现步骤摘要】

本申请涉及人工智能,具体涉及一种网络模型知识蒸馏方法、图像深度估计方法和电子设备


技术介绍

1、随着人工智能技术的迅速发展,深度学习网络模型(如神经网络大模型)得到了广泛应用,特别是在计算机视觉领域为图像深度估计任务提供了有效的解决方案。

2、目前,用于图像深度估计任务的网络模型多以编码器-解码器的结构形式出现,由于编码器的计算参数量较大,对处理器的计算能力要求较高,因此该类网络模型通常运行在个人计算机(personal computer,pc)上执行任务。而对于嵌入式设备来说,因所搭载的处理器算力和内存容量比较有限,则需要采用计算参数量较少和计算能力要求较低的网络模型来执行任务。

3、对于当前已有的运行在嵌入式设备上用于图像深度估计任务的网络模型来说,虽然降低了计算参数量以及对计算能力的要求,但是也降低了执行图像深度估计任务时的结果精度,没有达到较好的图像深度估计效果。


技术实现思路

1、本申请提供了一种网络模型知识蒸馏方法、图像深度估计方法和电子设备,可以提高电子设备执行图像深度估计任务时的结果精度。

2、第一方面,本申请提供一种网络模型知识蒸馏方法,该方法由电子设备执行,包括:

3、获取训练数据以及训练数据对应的深度标签,训练数据包括多个图像数据;

4、将训练数据输入第一模型,得到第一中间输出特征和第一深度估计结果,第一模型为已训练收敛的网络模型,第一中间输出特征为第一模型中的多个网络层对训练数据进行处理时得到的特征数据,第一深度估计结果为第一模型预测的训练数据对应的图像深度信息;

5、将训练数据输入第二模型,得到第二中间输出特征和第二深度估计结果,第二中间输出特征为第二模型中的多个网络层对训练数据进行处理时得到的特征数据,第二深度估计结果为第二模型预测的训练数据对应的图像深度信息,第二模型的网络复杂度低于第一模型的网络复杂度;

6、根据第一中间输出特征、第一深度估计结果、第二中间输出特征、第二深度估计结果以及深度标签,计算第二模型对应的损失;

7、基于损失对第二模型进行训练,得到训练收敛的目标网络模型。

8、其中,本申请提供的网络模型知识蒸馏方法,旨在采用教师-学生的学习机制,将第一模型作为教师模型、第二模型作为学生模型,通过第一模型的中间输出特征、深度估计结果以及训练数据对应的深度标签,从多种不同尺度对第二模型进行监督训练,得到轻量级的精度较高的目标网络模型,该目标网络模型可以运行在嵌入式设备上,以及具有较高的处理性能,从而提高嵌入式设备上执行图像深度估计任务时的结果精度。

9、在一些实现方式中,第一模型和第二模型可以具有midas深度估计网络模型的结构,第二模型的网络复杂度低于第一模型的网络复杂度,例如采用midas大骨干网络模型作为第一模型、midas轻量级骨干网络模型作为第二模型。

10、结合第一方面,在第一方面的有些实现方式中,上述根据第一中间输出特征、第一深度估计结果、第二中间输出特征、第二深度估计结果以及深度标签,计算第二模型对应的损失,包括:根据第一中间输出特征和第二中间输出特征,计算得到第一损失;根据第一深度估计结果和第二深度估计结果,计算得到第二损失;根据第二深度估计结果和深度标签,计算得到第三损失;根据第一损失、第二损失和第三损失,计算第二模型对应的损失。

11、其中,在计算第二模型对应的损失时,电子设备可以分别计算第一中间输出特征与第二中间输出特征之间的第一损失、第一深度估计结果与第二深度估计结果之间的第二损失、以及第二深度估计结果与深度标签之间的第三损失,再由这三种损失共同组成总损失。

12、在一些实现方式中,因第一模型可以包括多个网络层,例如第一模型可以包括编码器网络和解码器网络,编码器网络和解码器网络可以各包括4层结构,第二模型也可以包括多个网络层,因此,电子设备可以分别计算第一模型中各个网络层的输出特征与第二模型中各个网络层的输出特征之间的子损失,再将各个子损失相加即是上述第一损失。

13、也即是说,第一中间输出特征可以包括第一模型中的多个网络层分别输出的多个第一子特征,第二中间输出特征可以包括第二模型中的多个网络层分别输出的多个第二子特征,上述根据第一中间输出特征和第二中间输出特征,计算得到第一损失,包括:

14、对于第一网络层和第二网络层,计算第一网络层对应的第一子特征和第二网络层对应的第二子特征之间的第一子损失,第一网络层为第一模型中的多个网络层中的任意一个网络层,第二网络层为第二模型中的多个网络层中的任意一个网络层,第一网络层在第一模型中的层级位置与第二网络层在第二模型中的层级位置相同;基于多个第一子特征与多个第二子特征之间的多个第一子损失,计算得到第一损失。

15、假设第一模型中的多个网络层分别输出的多个第一子特征为fet1、fet2、fet3和fet4、以及fdt4、fdt3、fdt2和fdt1,第二模型中的多个网络层分别输出的多个第二子特征为fes1、fes2、fes3和fes4、以及fds4、fds3、fds2和fds1,则电子设备分别计算fet1与fes1之间、fet2与fes2之间、fet3与fes3之间、fet4与fes4之间、fdt4与fds4之间、fdt3与fds3之间、fdt2与fds2之间、fdt1与fds1之间的损失(即得到多个第一子损失),然后可以将多个第一子损失累加得到第一损失。由此,通过计算第一模型和第二模型中每个网络层的输出特征之间的损失,提高了计算损失的维度,可以更好的对第二模型进行监督训练。

16、结合第一方面,在第一方面的有些实现方式中,上述计算第一网络层对应的第一子特征和第二网络层对应的第二子特征之间的第一子损失,包括:根据预设的蒸馏温度和第一子特征中单个通道对应的特征,确定第一子特征对应的单通道特征概率分布;根据蒸馏温度和第二子特征中单个通道对应的特征,确定第二子特征对应的单通道特征概率分布;基于蒸馏温度、第一子特征对应的单通道特征概率分布和第二子特征对应的单通道特征概率分布,计算第一子特征和第二子特征之间的第一子损失。

17、在该实现方式中,电子设备可以采用逐通道归一损失来计算第一损失,即根据每个子特征中单个通道对应的特征来确定对应的单通道特征概率分布,进而根据单通道特征概率分布计算子特征之间的第一子损失,继而基于多个第一子损失计算得到第一损失。在一个实现方式中,这里电子设备可以基于的关系式来确定第一子特征对应的单通道特征概率分布,t为蒸馏温度,fet1(c)为第一子特征中单个通道对应的特征,类似的,也可以计算得到第二子特征对应的单通道特征概率分布。

18、结合第一方面,在第一方面的有些实现方式中,上述基于蒸馏温度、第一子特征对应的单通道特征概率分布和第二子特征对应的单通道特征概率分布,计算第一子特征和第二子特征之间的第一子损失,包括:

19、基于包含的关系式,计算第一子特征和第二本文档来自技高网...

【技术保护点】

1.一种网络模型知识蒸馏方法,所述方法由电子设备执行,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一中间输出特征、所述第一深度估计结果、所述第二中间输出特征、所述第二深度估计结果以及所述深度标签,计算所述第二模型对应的损失,包括:

3.根据权利要求2所述的方法,其特征在于,所述第一中间输出特征包括所述第一模型中的多个网络层分别输出的多个第一子特征,所述第二中间输出特征包括所述第二模型中的多个网络层分别输出的多个第二子特征,所述根据所述第一中间输出特征和所述第二中间输出特征,计算得到第一损失,包括:

4.根据权利要求3所述的方法,其特征在于,所述计算所述第一网络层对应的第一子特征和所述第二网络层对应的第二子特征之间的第一子损失,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于所述蒸馏温度、所述第一子特征对应的单通道特征概率分布和所述第二子特征对应的单通道特征概率分布,计算所述第一子特征和所述第二子特征之间的第一子损失,包括:

6.根据权利要求3至5中任一项所述的方法,其特征在于,在所述计算所述第一网络层对应的第一子特征和所述第二网络层对应的第二子特征之间的第一子损失之前,所述方法还包括:

7.根据权利要求2至6中任一项所述的方法,其特征在于,在所述根据所述第一深度估计结果和所述第二深度估计结果,计算得到第二损失之后,所述方法还包括:

8.根据权利要求2至6中任一项所述的方法,其特征在于,在所述根据所述第二深度估计结果和所述深度标签,计算得到第三损失之后,所述方法还包括:

9.根据权利要求2至8中任一项所述的方法,其特征在于,所述根据所述第一损失、所述第二损失和所述第三损失,计算所述第二模型对应的损失,包括:

10.根据权利要求1至9中任一项所述的方法,其特征在于,在所述获取训练数据以及训练数据对应的深度标签之后,所述方法还包括:

11.根据权利要求1至10中任一项所述的方法,其特征在于,所述第一模型和所述第二模型具有MiDaS深度估计网络模型的结构。

12.一种图像深度估计方法,所述方法由电子设备执行,其特征在于,所述方法包括:

13.一种电子设备,其特征在于,所述电子设备包括:

14.一种芯片系统,其特征在于,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述一个或多个处理器用于调用计算机指令以使得所述电子设备执行如权利要求1至11中任一项所述的方法,或者执行如权利要求12所述的方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至11中任一项所述的方法,或者执行如权利要求12所述的方法。

...

【技术特征摘要】

1.一种网络模型知识蒸馏方法,所述方法由电子设备执行,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一中间输出特征、所述第一深度估计结果、所述第二中间输出特征、所述第二深度估计结果以及所述深度标签,计算所述第二模型对应的损失,包括:

3.根据权利要求2所述的方法,其特征在于,所述第一中间输出特征包括所述第一模型中的多个网络层分别输出的多个第一子特征,所述第二中间输出特征包括所述第二模型中的多个网络层分别输出的多个第二子特征,所述根据所述第一中间输出特征和所述第二中间输出特征,计算得到第一损失,包括:

4.根据权利要求3所述的方法,其特征在于,所述计算所述第一网络层对应的第一子特征和所述第二网络层对应的第二子特征之间的第一子损失,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于所述蒸馏温度、所述第一子特征对应的单通道特征概率分布和所述第二子特征对应的单通道特征概率分布,计算所述第一子特征和所述第二子特征之间的第一子损失,包括:

6.根据权利要求3至5中任一项所述的方法,其特征在于,在所述计算所述第一网络层对应的第一子特征和所述第二网络层对应的第二子特征之间的第一子损失之前,所述方法还包括:

7.根据权利要求2至6中任一项所述的方法,其特征在于,在所述根据所述第一深度估计结果和所述第二深度估计...

【专利技术属性】
技术研发人员:张涵君靳亮崔秀芬
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1