CN115457364A - 一种目标检测知识蒸馏方法、装置、终端设备和存储介质 - Google Patents

一种目标检测知识蒸馏方法、装置、终端设备和存储介质 Download PDF

Info

Publication number
CN115457364A
CN115457364A CN202211046635.6A CN202211046635A CN115457364A CN 115457364 A CN115457364 A CN 115457364A CN 202211046635 A CN202211046635 A CN 202211046635A CN 115457364 A CN115457364 A CN 115457364A
Authority
CN
China
Prior art keywords
mask
target
background
calculating
distillation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211046635.6A
Other languages
English (en)
Inventor
杨超
胡荣东
谢伟
李逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Intelligent Driving Research Institute Co Ltd
Original Assignee
Changsha Intelligent Driving Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha Intelligent Driving Research Institute Co Ltd filed Critical Changsha Intelligent Driving Research Institute Co Ltd
Priority to CN202211046635.6A priority Critical patent/CN115457364A/zh
Publication of CN115457364A publication Critical patent/CN115457364A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及目标检测技术领域,提出一种目标检测知识蒸馏方法、装置、终端设备和存储介质。该方法首先将样本图像输入教师模型和学生模型,获取两个模型输出的特征图像;然后,根据特征图像计算得到空间注意力掩码、目标通道注意力掩码以及背景通道注意力掩码;接着,根据特征图像、空间注意力掩码、目标通道注意力掩码以及背景通道注意力掩码等数据,分别计算得到目标蒸馏损失和背景蒸馏损失;最后,根据目标蒸馏损失和背景蒸馏损失构建损失函数,并基于该损失函数对学生模型的参数进行优化。采用该方法能够细化蒸馏的粒度,在一定程度上提高目标检测的模型蒸馏效果。

Description

一种目标检测知识蒸馏方法、装置、终端设备和存储介质
技术领域
本申请涉及目标检测技术领域,尤其涉及一种目标检测知识蒸馏方法、装置、终端设备和存储介质。
背景技术
近年来,基于深度学习的目标检测方法得到了较快的发展,但在实际应用场景中如何同时保证模型的实时性与有效性一直是函待解决的课题之一。例如,在设备算力不足的情况下模型的参数量以及计算量都需要足够小,同时检测精度也需要得到保证。然而,在一般情况下,模型参数量越大则其精度也越好,反之精度就会降低,这是一个矛盾。目标检测模型的知识蒸馏正是用于解决上述矛盾的方法之一,在降低模型参数的同时保证甚至提高模型的精度。
知识蒸馏是模型压缩的一种常用方法,主要通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息来训练这个小模型,使得小模型获得更好的性能和精度。一般的,这个大模型被称作教师模型,而这个小模型被称作学生模型。
目前,知识蒸馏主要用于实现目标分类任务,在将知识蒸馏应用于目标检测任务时没有获得良好的模型蒸馏效果。
发明内容
有鉴于此,本申请实施例提供了一种目标检测知识蒸馏方法、装置、终端设备和存储介质,能够提高目标检测的模型蒸馏效果。
本申请实施例的第一方面提供了一种目标检测知识蒸馏方法,包括:
将已标注目标检测框的样本图像分别输入教师模型和学生模型;
获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像;
根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码;
根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失;
根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失;
根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数;
基于所述损失函数,对所述学生模型的参数进行优化。
在本申请实施例中,首先将样本图像分别输入教师模型和学生模型,获取教师模型输出的第一特征图像和学生模型输出的第二特征图像;然后,根据第一特征图像计算得到空间注意力掩码、目标通道注意力掩码以及背景通道注意力掩码;之后,根据第一特征图像、第二特征图像、空间注意力掩码、目标通道注意力掩码以及背景通道注意力掩码等数据,分别计算得到目标蒸馏损失和背景蒸馏损失;最后,根据目标蒸馏损失和背景蒸馏损失构建损失函数,并基于该损失函数对学生模型的参数进行优化。上述过程在计算通道注意力时会将目标与背景进行区分,分别计算适配于目标以及背景的通道级别注意力,得到目标通道注意力掩码以及背景通道注意力掩码,然后再分别计算得到目标蒸馏损失和背景蒸馏损失,从而分别引导目标与背景的蒸馏。这样处理能够细化蒸馏的粒度,在一定程度上提高目标检测的模型蒸馏效果。
在本申请实施例的一种实现方式中,在获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像之后,还可以包括:
根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,通过高斯编码的方式计算得到目标高斯掩码和背景高斯掩码;
所述根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失,具体可以为:
根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到所述目标蒸馏损失;
所述根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失,具体可以为:
根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到所述背景蒸馏损失。进一步的,所述根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,通过高斯编码的方式计算得到目标高斯掩码和背景高斯掩码,可以包括:
根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,获取所述各个目标检测框的中心点坐标;
针对每个所述目标检测框,根据该目标检测框的高度和宽度设置高斯半径,并基于二维高斯公式和该目标检测框的中心点坐标计算得到该目标检测框的高斯掩码;
根据每个所述目标检测框的高斯掩码构建得到所述目标高斯掩码;
根据所述目标高斯掩码构建得到所述背景高斯掩码。
更进一步的,在根据所述目标高斯掩码构建得到所述背景高斯掩码之后,还可以包括:
根据每个所述目标检测框的高度和宽度,以及所述背景高斯掩码,构建得到尺度掩码;
对所述目标高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述目标高斯掩码;
对所述背景高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述背景高斯掩码。
进一步的,所述根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到所述目标蒸馏损失,可以包括:
计算所述第一空间注意力掩码和所述第一目标通道注意力掩码的乘积,得到目标融合蒸馏掩码;
根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码以及所述目标融合蒸馏掩码,计算得到所述目标蒸馏损失;
所述根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到所述背景蒸馏损失,可以包括:
计算所述第一空间注意力掩码和所述第一背景通道注意力掩码的乘积,得到背景融合蒸馏掩码;
根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码以及所述背景融合蒸馏掩码,计算得到所述背景蒸馏损失。
在本申请实施例的一种实现方式中,在获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像之后,还可以包括:
根据所述第二特征图像计算得到第二空间注意力掩码、第二目标通道注意力掩码以及第二背景通道注意力掩码;
根据所述第一空间注意力掩码、所述第二空间注意力掩码、所述第一目标通道注意力掩码、所述第二目标通道注意力掩码、所述第一背景通道注意力掩码以及所述第二背景通道注意力掩码,计算得到模型蒸馏损失;
所述根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数,具体可以为:
根据所述目标蒸馏损失、所述背景蒸馏损失以及所述模型蒸馏损失,构建所述损失函数。
进一步的,所述根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码,可以包括:
根据所述第一特征图像和所述第一特征图像的通道数,计算得到第一中间变量;
根据所述第一特征图像的高度和宽度,以及所述第一中间变量,计算得到所述第一空间注意力掩码;
根据所述第一特征图像包含的目标检测框的数量、所述第一特征图像包含的每个目标检测框的高度和宽度,以及所述第一特征图像,计算得到第二中间变量;
根据所述第一特征图像的通道数和所述第二中间变量,计算得到所述第一目标通道注意力掩码;
根据所述第一特征图像的高度和宽度、预设的指示函数以及所述第一特征图像,计算得到第三中间变量;其中,所述指示函数根据所述背景高斯掩码构建;
根据所述第一特征图像的通道数和所述第三中间变量,计算得到所述第一背景通道注意力掩码;
所述根据所述第二特征图像计算得到第二空间注意力掩码、第二目标通道注意力掩码以及第二背景通道注意力掩码,可以包括:
根据所述第二特征图像和所述第二特征图像的通道数,计算得到第四中间变量;
根据所述第二特征图像的高度和宽度,以及所述第四中间变量,计算得到所述第二空间注意力掩码;
根据所述第二特征图像包含的目标检测框的数量、所述第二特征图像包含的每个目标检测框的高度和宽度,以及所述第二特征图像,计算得到第五中间变量;
根据所述第二特征图像的通道数和所述第五中间变量,计算得到所述第二目标通道注意力掩码;
根据所述第二特征图像的高度和宽度、所述指示函数以及所述第二特征图像,计算得到第六中间变量;
根据所述第二特征图像的通道数和所述第六中间变量,计算得到所述第二背景通道注意力掩码。
本申请实施例的第二方面提供了一种目标检测知识蒸馏装置,包括:
图像输入模块,用于将已标注目标检测框的样本图像分别输入教师模型和学生模型;
特征图像获取模块,用于获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像;
第一注意力掩码计算模块,用于根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码;
目标蒸馏损失计算模块,用于根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失;
背景蒸馏损失计算模块,用于根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失;
损失函数构建模块,用于根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数;
模型参数优化模块,用于基于所述损失函数,对所述学生模型的参数进行优化。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例的第一方面提供的目标检测知识蒸馏方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例的第一方面提供的目标检测知识蒸馏方法。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如本申请实施例的第一方面提供的目标检测知识蒸馏方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1是本申请实施例提供的一种目标检测知识蒸馏方法的流程图;
图2是本申请实施例提供的一种目标检测知识蒸馏方法的原理示意图;
图3是本申请实施例提供的一种目标检测知识蒸馏装置的结构示意图;
图4是本申请实施例提供的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请实施例提出的是一种目标检测知识蒸馏方法,适用于在目标检测任务中提高模型蒸馏效果,能够有效提升模型检测性能。关于本申请实施例更具体的技术实现细节,请参照下文所述的方法实施例。
应当理解,本申请各个方法实施例的执行主体为各种类型的终端设备或服务器,例如可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、大屏电视,等等,本申请实施例对该终端设备和服务器的具体类型不作任何限制。
请参阅图1,示出了本申请实施例提供的一种目标检测知识蒸馏方法,包括:
101、将已标注目标检测框的样本图像分别输入教师模型和学生模型;
首先,将已标注各个目标检测框的样本图像分别输入教师模型以及学生模型。在模型的知识蒸馏领域,教师模型通常是一个高性能的复杂神经网络,而学生模型则是一个轻量化的简单神经网络。知识蒸馏的流程大致包括:首先预训练教师模型,使其收敛并具有较高的检测性能,然后在训练学生模型的过程中通过教师模型的输出作为额外的监督信息对学生模型进行训练,迁移特征图像中的知识,以提高学生模型的训练优化效果。
102、获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像;
在将样本图像输入教师模型后,通过教师模型可以输出相应的特征图像,用第一特征图像表示。同样的,在将样本图像输入学生模型后,通过学生模型也可以输出相应的特征图像,用第二特征图像表示。这里输出的特征图像一般可以是模型的中间输出特征,可以是单个尺度也可以是多个不同尺度的特征图像,例如可以是模型的主干网络某一层或多层输出的特征图像,也可以是neck网络某一层或多层输出的特征图像。一般来说教师模型拥有更大的参数量来保证模型的检测性能更强,采用教师模型的中间输出特征来引导学生模型的学习是可行的,极端情况下如果学生模型的中间输出特征和教师模型的中间输出特征一致,那么最后将该特征送给目标检测器的检测头得到的检测结果也将是一致的。
在本申请实施例的一种实现方式中,在获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像之后,还可以包括:
根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,通过高斯编码的方式计算得到目标高斯掩码和背景高斯掩码。
由于样本图像已标注真实标签(即真实的目标检测框的位置以及类型),故第一特征图像和/或第二特征图像都会包含相应的真实标签,也即各个目标检测框的标签,具体可以包含各个目标检测框的位置以及类型等信息。可以将这些真实标签输入至已编制完成的高斯编码模块,通过高斯编码的方式计算得到目标高斯掩码(对应于图像中的前景目标)和背景高斯掩码(对应于图像中的背景)。
进一步的,所述根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,通过高斯编码的方式计算得到目标高斯掩码和背景高斯掩码,可以包括:
(1)根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,获取所述各个目标检测框的中心点坐标;
(2)针对每个所述目标检测框,根据该目标检测框的高度和宽度设置高斯半径,并基于二维高斯公式和该目标检测框的中心点坐标计算得到该目标检测框的高斯掩码;
(3)根据每个所述目标检测框的高斯掩码构建得到所述目标高斯掩码;
(4)根据所述目标高斯掩码构建得到所述背景高斯掩码。
在通过高斯编码的方式计算目标高斯掩码和背景高斯掩码时,首先可以根据第一特征图像中包含的各个目标检测框的标签和/或第二特征图像中包含的各个目标检测框的标签(第一特征图像和第二特征图像包含的各个目标检测框的标签通常是一致的),获取每个目标检测框的中心点坐标;然后,针对每个目标检测框,根据其高度和宽度设置高斯半径,并基于二维高斯公式和该目标检测框的中心点坐标计算得到该目标检测框的高斯掩码;接下来,根据每个目标检测框的高斯掩码可以构建得到对应特征图像的目标高斯掩码;最后,由于目标(前景)和背景通常是互斥的,故通过目标高斯掩码即可构建出对应的背景高斯掩码。
示例性的,高斯编码模块首先利用真实标签获取每个目标检测框的中心点坐标,用(xi,j,yi,j)表示。假设当前需要计算第r个目标检测框的高斯掩码,则根据该目标检测框的高度Hr和宽度Wr,可以设置对应的高斯半径为(Hr/2,Wr/2),再利用二维高斯公式计算得到该目标检测框的高斯掩码,具体如下:
Figure BDA0003822625690000101
其中,sigma是可以自行调节的参数。针对每个目标检测框都可以利用上述方式计算得到对应的高斯掩码,将这些高斯掩码按照对应位置填充后,即可得到整个特征图像对应的目标高斯掩码,用MG表示。
在计算得到目标高斯掩码MG后,可以通过以下公式计算得到背景高斯掩码MB
Figure BDA0003822625690000102
其中,I表示整个特征图像的区域,i,j表示特征图像区域内的各个位置点。
更进一步的,在根据所述目标高斯掩码构建得到所述背景高斯掩码之后,还可以包括:
(1)根据每个所述目标检测框的高度和宽度,以及所述背景高斯掩码,构建得到尺度掩码;
(2)对所述目标高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述目标高斯掩码;
(3)对所述背景高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述背景高斯掩码。
由于不同的目标检测框可能具有不同的尺寸,为了平衡不同尺寸目标检测框带来的影响,可以利用尺度掩码对目标高斯掩码和背景高斯掩码分别进行处理。示例性的,构建的某个尺度掩码S如下所示:
Figure BDA0003822625690000111
Figure BDA0003822625690000112
其中,Hr和Wr分别表示当前特征图像尺度下第r个目标检测框的高度和宽度,H和W分别表示当前特征图像的高度和宽度。
接下来通过尺度掩码S分别对目标高斯掩码MG和背景高斯掩码MB进行如下处理,得到更新后的目标高斯掩码MG以及更新后的背景高斯掩码MB
Figure BDA0003822625690000113
Figure BDA0003822625690000114
其中,*表示对应位置元素相乘处理。
在上述过程中,使用高斯掩码(目标高斯掩码和背景高斯掩码)对图像的目标(前景)和背景进行分离,能够引导模型蒸馏更关注目标实例的中心点区域特征,有利于提高模型的检测性能。另外,如果目标检测的对象是行人,则使用高斯掩码也可以得到更好的贴合性。
103、根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码;
接下来引入图像的注意力机制,模型蒸馏过程涉及的注意力主要包括空间维度的注意力和通道维度的注意力,本申请实施例在计算通道维度的注意力时将目标实例与背景进行区分,分别计算适配于目标实例以及背景的通道维度注意力,以进一步提高模型蒸馏的效果。
由于第一特征图像是教师模型输出的,第二特征图像是学生模型输出的,因此本申请实施例用
Figure BDA0003822625690000121
表示第一特征图像,上标T表示教师,下标C表示通道;用
Figure BDA0003822625690000122
表示第二特征图像,上标S表示学生,下标C表示通道。
将第一特征图像
Figure BDA0003822625690000123
输入空间注意力模块进行计算,可以得到第一空间注意力掩码,用
Figure BDA0003822625690000124
表示,其中上标T表示教师(根据教师模型输出的特征图像计算获得),下标S表示空间。空间注意力指的是对特征沿通道维数进行降维,在每个像素点仅用一个值来表示,这种注意力体现了像素在特征图像中的重要程度,响应越强的点表示存在目标的概率越大,主要用来确定特征图像中应更加关注哪些空间位置的信息。
将第一特征图像
Figure BDA0003822625690000125
输入通道注意力模块进行计算,可以得到第一目标通道注意力掩码,用
Figure BDA0003822625690000126
表示,其中上标T表示教师(根据教师模型输出的特征图像计算获得),上标t表示目标,下标C表示通道。将第一特征图像
Figure BDA0003822625690000127
输入通道注意力模块进行计算,还可以得到第一背景通道注意力掩码,用
Figure BDA0003822625690000128
表示,其中上标T表示教师(根据教师模型输出的特征图像计算获得),上标b表示背景,下标C表示通道。通道注意力指的是对特征沿长宽维度进行降维,每个值反应一个通道的响应,这种注意力体现了特征图像中每个通道的重要程度。其中,目标通道注意力主要用来确定特征图像中哪些通道对辨别目标是更重要的,背景通道注意力主要用来确定特征图像中哪些通道对辨别背景是更重要的。
类似的,根据第二特征图像可以计算得到第二空间注意力掩码、第二目标通道注意力掩码以及第二背景通道注意力掩码。例如,将第二特征图像
Figure BDA0003822625690000129
输入空间注意力模块进行计算,可以得到第二空间注意力掩码,用
Figure BDA00038226256900001210
表示,其中上标S表示学生(根据学生模型输出的特征图像计算获得),下标S表示空间。将第二特征图像
Figure BDA00038226256900001211
输入通道注意力模块进行计算,可以得到第二目标通道注意力掩码,用
Figure BDA00038226256900001212
表示,其中上标S表示学生(根据学生模型输出的特征图像计算获得),上标t表示目标,下标C表示通道;还可以计算得到第二背景通道注意力掩码,用
Figure BDA0003822625690000131
表示,其中上标S表示学生(根据学生模型输出的特征图像计算获得),上标b表示背景,下标C表示通道。
具体的,所述根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码,可以包括:
(1)根据所述第一特征图像和所述第一特征图像的通道数,计算得到第一中间变量;
(2)根据所述第一特征图像的高度和宽度,以及所述第一中间变量,计算得到所述第一空间注意力掩码;
(3)根据所述第一特征图像包含的目标检测框的数量、所述第一特征图像包含的每个目标检测框的高度和宽度,以及所述第一特征图像,计算得到第二中间变量;
(4)根据所述第一特征图像的通道数和所述第二中间变量,计算得到所述第一目标通道注意力掩码;
(5)根据所述第一特征图像的高度和宽度、预设的指示函数以及所述第一特征图像,计算得到第三中间变量;其中,所述指示函数根据所述背景高斯掩码构建;
(6)根据所述第一特征图像的通道数和所述第三中间变量,计算得到所述第一背景通道注意力掩码。
在计算第一空间注意力掩码
Figure BDA0003822625690000132
时,首先根据第一特征图像
Figure BDA0003822625690000133
以及第一特征图像的通道数C,计算得到一个中间变量GT(F),用第一中间变量表示,具体计算公式如下:
Figure BDA0003822625690000134
之后,根据第一特征图像
Figure BDA0003822625690000135
的高度H和宽度W,以及第一中间变量GT(F),可以通过以下公式计算得到第一空间注意力掩码
Figure BDA0003822625690000136
Figure BDA0003822625690000137
在计算第一目标通道注意力掩码
Figure BDA0003822625690000141
时,首先根据第一特征图像
Figure BDA0003822625690000142
包含的目标检测框的数量N、第一特征图像
Figure BDA0003822625690000143
包含的目标检测框的高度Hr和宽度Wr,以及第一特征图像
Figure BDA0003822625690000144
计算得到另一个中间变量
Figure BDA0003822625690000145
用第二中间变量表示,具体计算公式如下:
Figure BDA0003822625690000146
之后,根据第一特征图像
Figure BDA0003822625690000147
的通道数C和第二中间变量
Figure BDA0003822625690000148
可以通过以下公式计算得到第一目标通道注意力掩码
Figure BDA0003822625690000149
Figure BDA00038226256900001410
在计算第一背景通道注意力掩码
Figure BDA00038226256900001411
时,首先根据第一特征图像
Figure BDA00038226256900001412
的高度H和宽度W、预设的某个指示函数以及第一特征图像
Figure BDA00038226256900001413
计算得到另一个中间变量
Figure BDA00038226256900001414
用第三中间变量表示,具体计算公式如下:
Figure BDA00038226256900001415
其中,A(i,j)为设置的指示函数,具体定义如下:
Figure BDA00038226256900001416
Figure BDA00038226256900001417
表示前文所述的背景高斯掩码中的元素,M为
Figure BDA00038226256900001418
的数量的总和。
之后,根据第一特征图像
Figure BDA00038226256900001419
的通道数C和第三中间变量
Figure BDA00038226256900001420
可以通过以下公式计算得到第一背景通道注意力掩码
Figure BDA00038226256900001421
Figure BDA00038226256900001422
至此,第一空间注意力掩码
Figure BDA00038226256900001423
第一目标通道注意力掩码
Figure BDA00038226256900001424
以及第一背景通道注意力掩码
Figure BDA00038226256900001425
均计算完毕。
所述根据所述第二特征图像计算得到第二空间注意力掩码、第二目标通道注意力掩码以及第二背景通道注意力掩码,可以包括:
(1)根据所述第二特征图像和所述第二特征图像的通道数,计算得到第四中间变量;
(2)根据所述第二特征图像的高度和宽度,以及所述第四中间变量,计算得到所述第二空间注意力掩码;
(3)根据所述第二特征图像包含的目标检测框的数量、所述第二特征图像包含的每个目标检测框的高度和宽度,以及所述第二特征图像,计算得到第五中间变量;
(4)根据所述第二特征图像的通道数和所述第五中间变量,计算得到所述第二目标通道注意力掩码;
(5)根据所述第二特征图像的高度和宽度、所述指示函数以及所述第二特征图像,计算得到第六中间变量;
(6)根据所述第二特征图像的通道数和所述第六中间变量,计算得到所述第二背景通道注意力掩码。
计算第二空间注意力掩码
Figure BDA0003822625690000151
第二目标通道注意力掩码
Figure BDA0003822625690000152
以及第二背景通道注意力掩码
Figure BDA0003822625690000153
的方法类似。在计算第二空间注意力掩码
Figure BDA0003822625690000154
时,首先根据第二特征图像
Figure BDA0003822625690000155
以及第二特征图像的通道数C,计算得到一个中间变量Gs(F),用第四中间变量表示,具体计算公式如下:
Figure BDA0003822625690000156
之后,根据第二特征图像
Figure BDA0003822625690000157
的高度H和宽度W,以及第四中间变量Gs(F),可以通过以下公式计算得到第二空间注意力掩码
Figure BDA0003822625690000158
Figure BDA0003822625690000159
在计算第二目标通道注意力掩码
Figure BDA00038226256900001510
时,首先根据第二特征图像
Figure BDA00038226256900001511
包含的目标检测框的数量N、第二特征图像
Figure BDA00038226256900001512
包含的目标检测框的高度Hr和宽度Wr,以及第二特征图像
Figure BDA00038226256900001513
计算得到另一个中间变量
Figure BDA00038226256900001514
用第五中间变量表示,具体计算公式如下:
Figure BDA0003822625690000161
之后,根据第二特征图像
Figure BDA0003822625690000162
的通道数C和第五中间变量
Figure BDA0003822625690000163
可以通过以下公式计算得到第二目标通道注意力掩码
Figure BDA0003822625690000164
Figure BDA0003822625690000165
在计算第二背景通道注意力掩码
Figure BDA0003822625690000166
时,首先根据第二特征图像
Figure BDA0003822625690000167
的高度H和宽度W、预设的某个指示函数以及第二特征图像
Figure BDA0003822625690000168
计算得到另一个中间变量
Figure BDA0003822625690000169
用第六中间变量表示,具体计算公式如下:
Figure BDA00038226256900001610
其中,A(i,j)为设置的指示函数,具体定义如下:
Figure BDA00038226256900001611
Figure BDA00038226256900001612
表示前文所述的背景高斯掩码中的元素,M为
Figure BDA00038226256900001613
的数量的总和。
之后,根据第二特征图像
Figure BDA00038226256900001614
的通道数C和第六中间变量
Figure BDA00038226256900001615
可以通过以下公式计算得到第二背景通道注意力掩码
Figure BDA00038226256900001616
Figure BDA00038226256900001617
至此,第二空间注意力掩码
Figure BDA00038226256900001618
第二目标通道注意力掩码
Figure BDA00038226256900001619
以及第二背景通道注意力掩码
Figure BDA00038226256900001620
均计算完毕。
接下来,可以根据第一空间注意力掩码
Figure BDA00038226256900001621
第二空间注意力掩码
Figure BDA00038226256900001622
第一目标通道注意力掩码
Figure BDA00038226256900001623
第二目标通道注意力掩码
Figure BDA00038226256900001624
所述第一背景通道注意力掩码
Figure BDA00038226256900001625
以及所述第二背景通道注意力掩码
Figure BDA00038226256900001626
计算得到模型蒸馏损失。
具体的,设置模型蒸馏损失LM引导学生模型的各类掩码与教师模型相近使得学生模型关注的空间位置以及通道信息与教师模型相近,可以使用以下公式计算得到模型蒸馏损失LM
Figure BDA0003822625690000171
其中,l表示回归损失函数,具体可以是L1 loss、L2 loss或者Smooth L1 loss等函数。
104、根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失;
接下来,根据第一特征图像
Figure BDA0003822625690000172
第二特征图像
Figure BDA0003822625690000173
第一空间注意力掩码
Figure BDA0003822625690000174
以及第一目标通道注意力掩码
Figure BDA0003822625690000175
可以计算得到目标蒸馏损失Lt,主要通过均方误差来评估学生模型输出特征与教师模型输出特征的差异。另外,在计算目标蒸馏损失Lt时,还可以引入前文所述的目标高斯掩码MG,这样能够引导模型蒸馏更关注目标实例的中心点区域特征,有利于提高模型的检测性能。也即,具体可以根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到所述目标蒸馏损失。在本申请实施例的一种实现方式中,所述根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到所述目标蒸馏损失,可以包括:
(1)计算所述第一空间注意力掩码和所述第一目标通道注意力掩码的乘积,得到目标融合蒸馏掩码;
(2)根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码以及所述目标融合蒸馏掩码,计算得到所述目标蒸馏损失。
具体计算时,可以先计算第一空间注意力掩码
Figure BDA0003822625690000176
和第一目标通道注意力掩码
Figure BDA0003822625690000177
的乘积,得到目标融合蒸馏掩码Mtarget,也即
Figure BDA0003822625690000178
然后,根据第一特征图像
Figure BDA0003822625690000179
第二特征图像
Figure BDA00038226256900001710
目标高斯掩码MG以及目标融合蒸馏掩码Mtarget,可以通过以下公式计算得到目标蒸馏损失Lt
Figure BDA00038226256900001711
其中,C表示特征图像的通道数,H和W分别表示特征图像的高度和宽度,
Figure BDA0003822625690000181
是目标融合蒸馏掩码Mtarget,f表示维度变换,通常是用1*1的卷积来将第一特征图像
Figure BDA0003822625690000182
和第二特征图像
Figure BDA0003822625690000183
的通道维度对其即相等。在上述计算公式中,通过目标高斯掩码MG和目标融合蒸馏掩码Mtarget来控制学生模型只学习经过掩码后的特征差异。
105、根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失;
计算背景蒸馏损失Lb的方法与计算目标蒸馏损失Lt的方法类似,根据第一特征图像
Figure BDA0003822625690000184
第二特征图像
Figure BDA0003822625690000185
第一空间注意力掩码
Figure BDA0003822625690000186
以及第一背景通道注意力掩码
Figure BDA0003822625690000187
可以计算得到背景蒸馏损失Lb。同样的,在计算背景蒸馏损失Lb时,还可以引入前文所述的背景高斯掩码MB,这样能够引导模型蒸馏更关注目标实例的中心点区域特征,有利于提高模型的检测性能。也即,具体可以根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到所述背景蒸馏损失。在本申请实施例的一种实现方式中,所述根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到所述背景蒸馏损失,可以包括:
(1)计算所述第一空间注意力掩码和所述第一背景通道注意力掩码的乘积,得到背景融合蒸馏掩码;
(2)根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码以及所述背景融合蒸馏掩码,计算得到所述背景蒸馏损失。
具体计算时,可以先计算第一空间注意力掩码
Figure BDA0003822625690000188
和第一背景通道注意力掩码
Figure BDA0003822625690000189
的乘积,得到背景融合蒸馏掩码Mbackground,也即
Figure BDA00038226256900001810
然后,根据第一特征图像
Figure BDA00038226256900001811
第二特征图像
Figure BDA00038226256900001812
背景高斯掩码MB以及背景融合蒸馏掩码Mbackground,可以通过以下公式计算得到背景蒸馏损失Lb
Figure BDA00038226256900001813
其中,C表示特征图像的通道数,H和W分别表示特征图像的高度和宽度,
Figure BDA0003822625690000191
是背景融合蒸馏掩码Mbackground,f表示维度变换。
106、根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数;
在计算得到目标蒸馏损失Lt和背景蒸馏损失Lb之后,可以基于这两个蒸馏损失构建相应的损失函数,具体可以通过加权求和的方式构建损失函数。另外,损失函数中还可以加入前文中计算得到的模型蒸馏损失LM
进一步的,在获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像之后,还可以包括:
将所述第二特征图像输入所述学生模型对应的目标检测头,并计算得到所述学生模型的目标检测损失。
为了进一步提升损失函数的全面性,在构建损失函数时,还可以引入学生模型的目标检测损失。具体的,可以将第二特征图像
Figure BDA0003822625690000192
输入学生模型对应的目标检测头(即目标检测网络中用于检测目标位置和类别的网络结构,例如可以是CenterNet检测头或者其它类型的检测头),并计算得到学生模型的目标检测损失Ll。Ll是CenterNet或者其它类型检测头的损失,其具体计算原理可以参照现有技术,在此不再赘述。
最后,综合考虑目标蒸馏损失Lt、背景蒸馏损失Lb、模型蒸馏损失LM以及目标检测损失Ll,构建得到的损失函数L如下所示:
L=αLl+βLt+γLb+λLM
其中,α、β、γ、和λ为可以调节的超参数,主要用来平衡各部分不同的损失。
107、基于所述损失函数,对所述学生模型的参数进行优化。
在构建损失函数之后,可以基于该损失函数,对学生模型的参数进行优化,从而实现模型蒸馏效果。具体的,可以使用梯度下降反向传播算法来对学生模型的参数进行优化,使得损失函数L收敛至最小,此时学生模型能最大化地从教师模型处获取到知识。
在本申请实施例中,首先将样本图像分别输入教师模型和学生模型,获取教师模型输出的第一特征图像和学生模型输出的第二特征图像;然后,根据第一特征图像计算得到空间注意力掩码、目标通道注意力掩码以及背景通道注意力掩码;之后,根据第一特征图像、第二特征图像、空间注意力掩码、目标通道注意力掩码以及背景通道注意力掩码等数据,分别计算得到目标蒸馏损失和背景蒸馏损失;最后,根据目标蒸馏损失和背景蒸馏损失构建损失函数,并基于该损失函数对学生模型的参数进行优化。上述过程在计算通道注意力时会将目标与背景进行区分,分别计算适配于目标以及背景的通道级别注意力,得到目标通道注意力掩码以及背景通道注意力掩码,然后再分别计算得到目标蒸馏损失和背景蒸馏损失,从而分别引导目标与背景的蒸馏。这样处理能够细化蒸馏的粒度,在一定程度上提高目标检测的模型蒸馏效果。
本申请实施例提供的一种目标检测知识蒸馏方法的原理示意图如图2所示,其基本的操作方法包括:将图像数据分别输入教师模型和学生模型,根据图像数据中的真值标签,通过高斯编码模块计算得到目标高斯掩码和背景高斯掩码;通过空间注意力模块分别计算得到教师模型的空间注意力掩码以及学生模型的空间注意力掩码;使用通道注意力模块分别计算得到教师模型的通道注意力掩码和学生模型的通道注意力掩码,其中通道注意力掩码包括目标通道注意力掩码和背景通道注意力掩码;基于教师模型的空间注意力掩码和通道注意力掩码、学生模型的空间注意力掩码和通道注意力掩码、目标高斯掩码和背景高斯掩码构建掩码损失,并分别计算目标融合蒸馏掩码和背景融合蒸馏掩码;接着,将教师模型输出的特征图像与目标融合蒸馏掩码相乘,得到教师模型目标蒸馏特征,将学生模型输出的特征图像与目标融合蒸馏掩码相乘,得到学生模型目标蒸馏特征,并基于教师模型目标蒸馏特征和学生模型目标蒸馏特征计算得到目标蒸馏损失;将教师模型输出的特征图像与背景融合蒸馏掩码相乘,得到教师模型背景蒸馏特征,将学生模型输出的特征图像与背景融合蒸馏掩码相乘,得到学生模型背景蒸馏特征,并基于教师模型背景蒸馏特征和学生模型背景蒸馏特征计算得到背景蒸馏损失;另外,还可以计算学生模型对应的检测头损失,最后通过目标蒸馏损失、背景蒸馏损失和检测头损失等构建损失函数,对学生模型的参数进行优化,实现模型的知识蒸馏。
综上所述,本申请实施例基于CenterNet等算法的检测头,设计了一种基于高斯掩码对蒸馏特征进行区分的机制,将目标与背景分别蒸馏,并引导蒸馏方法更加关注目标的中心点区域特征。与此同时,本申请实施例采用实例级别的通道注意力机制,在计算通道维度注意力时将目标与背景进行区分,能够以更加细粒度的方式加强模型蒸馏方法的精确度,进一步提高学生模型从教师模型迁移知识的能力。
应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上面主要描述了一种目标检测知识蒸馏方法,下面将对一种目标检测知识蒸馏装置进行描述。
请参阅图3,本申请实施例中一种目标检测知识蒸馏装置的一个实施例包括:
图像输入模块301,用于将已标注目标检测框的样本图像分别输入教师模型和学生模型;
特征图像获取模块302,用于获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像;
第一注意力掩码计算模块303,用于根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码;
目标蒸馏损失计算模块304,用于根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失;
背景蒸馏损失计算模块305,用于根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失;
损失函数构建模块306,用于根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数;
模型参数优化模块307,用于基于所述损失函数,对所述学生模型的参数进行优化。
在本申请实施例的一种实现方式中,所述目标检测知识蒸馏装置还可以包括:
高斯掩码计算模块,用于根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,通过高斯编码的方式计算得到目标高斯掩码和背景高斯掩码;
所述目标蒸馏损失计算模块具体可以用于:根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到所述目标蒸馏损失;
所述背景蒸馏损失计算模块具体可以用于:根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到所述背景蒸馏损失。
进一步的,所述高斯掩码计算模块可以包括:
中心点坐标获取单元,用于根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,获取所述各个目标检测框的中心点坐标;
高斯掩码计算单元,用于针对每个所述目标检测框,根据该目标检测框的高度和宽度设置高斯半径,并基于二维高斯公式和该目标检测框的中心点坐标计算得到该目标检测框的高斯掩码;
目标高斯掩码构建单元,用于根据每个所述目标检测框的高斯掩码构建得到所述目标高斯掩码;
背景高斯掩码构建单元,用于根据所述目标高斯掩码构建得到所述背景高斯掩码。
更进一步的,所述高斯掩码计算模块还可以包括:
尺度掩码构建单元,用于根据每个所述目标检测框的高度和宽度,以及所述背景高斯掩码,构建得到尺度掩码;
目标高斯掩码更新单元,用于对所述目标高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述目标高斯掩码;
背景高斯掩码更新单元,用于对所述背景高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述背景高斯掩码。
进一步的,所述目标蒸馏损失计算模块可以包括:
目标融合蒸馏掩码计算单元,用于计算所述第一空间注意力掩码和所述第一目标通道注意力掩码的乘积,得到目标融合蒸馏掩码;
目标蒸馏损失计算单元,用于根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码以及所述目标融合蒸馏掩码,计算得到所述目标蒸馏损失;
所述背景蒸馏损失计算模块可以包括:
背景融合蒸馏掩码计算单元,用于计算所述第一空间注意力掩码和所述第一背景通道注意力掩码的乘积,得到背景融合蒸馏掩码;
背景蒸馏损失计算单元,用于根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码以及所述背景融合蒸馏掩码,计算得到所述背景蒸馏损失。
在本申请实施例的一种实现方式中,所述目标检测知识蒸馏装置还可以包括:
第二注意力掩码计算模块,用于根据所述第二特征图像计算得到第二空间注意力掩码、第二目标通道注意力掩码以及第二背景通道注意力掩码;
模型蒸馏损失计算模块,用于根据所述第一空间注意力掩码、所述第二空间注意力掩码、所述第一目标通道注意力掩码、所述第二目标通道注意力掩码、所述第一背景通道注意力掩码以及所述第二背景通道注意力掩码,计算得到模型蒸馏损失;
所述损失函数构建模块具体可以用于:根据所述目标蒸馏损失、所述背景蒸馏损失以及所述模型蒸馏损失,构建所述损失函数。
进一步的,所述第一注意力掩码计算模块可以包括:
第一中间变量计算单元,用于根据所述第一特征图像和所述第一特征图像的通道数,计算得到第一中间变量;
第一空间注意力掩码计算单元,用于根据所述第一特征图像的高度和宽度,以及所述第一中间变量,计算得到所述第一空间注意力掩码;
第二中间变量计算单元,用于根据所述第一特征图像包含的目标检测框的数量、所述第一特征图像包含的每个目标检测框的高度和宽度,以及所述第一特征图像,计算得到第二中间变量;
第一目标通道注意力掩码计算单元,用于根据所述第一特征图像的通道数和所述第二中间变量,计算得到所述第一目标通道注意力掩码;
第三中间变量计算单元,用于根据所述第一特征图像的高度和宽度、预设的指示函数以及所述第一特征图像,计算得到第三中间变量;其中,所述指示函数根据所述背景高斯掩码构建;
第一背景通道注意力掩码计算单元,用于根据所述第一特征图像的通道数和所述第三中间变量,计算得到所述第一背景通道注意力掩码;
所述第二注意力掩码计算模块可以包括:
第四中间变量计算单元,用于根据所述第二特征图像和所述第二特征图像的通道数,计算得到第四中间变量;
第二空间注意力掩码计算单元,用于根据所述第二特征图像的高度和宽度,以及所述第四中间变量,计算得到所述第二空间注意力掩码;
第五中间变量计算单元,用于根据所述第二特征图像包含的目标检测框的数量、所述第二特征图像包含的每个目标检测框的高度和宽度,以及所述第二特征图像,计算得到第五中间变量;
第二目标通道注意力掩码计算单元,用于根据所述第二特征图像的通道数和所述第五中间变量,计算得到所述第二目标通道注意力掩码;
第六中间变量计算单元,用于根据所述第二特征图像的高度和宽度、所述指示函数以及所述第二特征图像,计算得到第六中间变量;
第二背景通道注意力掩码计算单元,用于根据所述第二特征图像的通道数和所述第六中间变量,计算得到所述第二背景通道注意力掩码。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如图1表示的任意一种目标检测知识蒸馏方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在终端设备上运行时,使得终端设备执行如图1表示的任意一种目标检测知识蒸馏方法。
图4是本申请一实施例提供的终端设备的示意图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个目标检测知识蒸馏方法的实施例中的步骤,例如图1所示的步骤101至107。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至307的功能。
所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端设备4中的执行过程。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41也可以是所述终端设备4的外部存储设备,例如所述终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种目标检测知识蒸馏方法,其特征在于,包括:
将已标注目标检测框的样本图像分别输入教师模型和学生模型;
获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像;
根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码;
根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失;
根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失;
根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数;
基于所述损失函数,对所述学生模型的参数进行优化。
2.如权利要求1所述的方法,其特征在于,在获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像之后,还包括:
根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,通过高斯编码的方式计算得到目标高斯掩码和背景高斯掩码;
所述根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失,具体为:
根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到所述目标蒸馏损失;
所述根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失,具体为:
根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到所述背景蒸馏损失。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,通过高斯编码的方式计算得到目标高斯掩码和背景高斯掩码,包括:
根据所述第一特征图像中包含的各个目标检测框的标签和/或所述第二特征图像中包含的各个目标检测框的标签,获取所述各个目标检测框的中心点坐标;
针对每个所述目标检测框,根据该目标检测框的高度和宽度设置高斯半径,并基于二维高斯公式和该目标检测框的中心点坐标计算得到该目标检测框的高斯掩码;
根据每个所述目标检测框的高斯掩码构建得到所述目标高斯掩码;
根据所述目标高斯掩码构建得到所述背景高斯掩码。
4.如权利要求3所述的方法,其特征在于,在根据所述目标高斯掩码构建得到所述背景高斯掩码之后,还包括:
根据每个所述目标检测框的高度和宽度,以及所述背景高斯掩码,构建得到尺度掩码;
对所述目标高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述目标高斯掩码;
对所述背景高斯掩码和所述尺度掩码执行对应位置元素相乘处理,得到更新后的所述背景高斯掩码。
5.如权利要求2所述的方法,其特征在于,所述根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到所述目标蒸馏损失,包括:
计算所述第一空间注意力掩码和所述第一目标通道注意力掩码的乘积,得到目标融合蒸馏掩码;
根据所述第一特征图像、所述第二特征图像、所述目标高斯掩码以及所述目标融合蒸馏掩码,计算得到所述目标蒸馏损失;
所述根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到所述背景蒸馏损失,包括:
计算所述第一空间注意力掩码和所述第一背景通道注意力掩码的乘积,得到背景融合蒸馏掩码;
根据所述第一特征图像、所述第二特征图像、所述背景高斯掩码以及所述背景融合蒸馏掩码,计算得到所述背景蒸馏损失。
6.如权利要求1至5任一项所述的方法,其特征在于,在获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像之后,还包括:
根据所述第二特征图像计算得到第二空间注意力掩码、第二目标通道注意力掩码以及第二背景通道注意力掩码;
根据所述第一空间注意力掩码、所述第二空间注意力掩码、所述第一目标通道注意力掩码、所述第二目标通道注意力掩码、所述第一背景通道注意力掩码以及所述第二背景通道注意力掩码,计算得到模型蒸馏损失;
所述根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数,具体为:
根据所述目标蒸馏损失、所述背景蒸馏损失以及所述模型蒸馏损失,构建所述损失函数。
7.如权利要求6所述的方法,其特征在于,所述根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码,包括:
根据所述第一特征图像和所述第一特征图像的通道数,计算得到第一中间变量;
根据所述第一特征图像的高度和宽度,以及所述第一中间变量,计算得到所述第一空间注意力掩码;
根据所述第一特征图像包含的目标检测框的数量、所述第一特征图像包含的每个目标检测框的高度和宽度,以及所述第一特征图像,计算得到第二中间变量;
根据所述第一特征图像的通道数和所述第二中间变量,计算得到所述第一目标通道注意力掩码;
根据所述第一特征图像的高度和宽度、预设的指示函数以及所述第一特征图像,计算得到第三中间变量;其中,所述指示函数根据所述背景高斯掩码构建;
根据所述第一特征图像的通道数和所述第三中间变量,计算得到所述第一背景通道注意力掩码;
所述根据所述第二特征图像计算得到第二空间注意力掩码、第二目标通道注意力掩码以及第二背景通道注意力掩码,包括:
根据所述第二特征图像和所述第二特征图像的通道数,计算得到第四中间变量;
根据所述第二特征图像的高度和宽度,以及所述第四中间变量,计算得到所述第二空间注意力掩码;
根据所述第二特征图像包含的目标检测框的数量、所述第二特征图像包含的每个目标检测框的高度和宽度,以及所述第二特征图像,计算得到第五中间变量;
根据所述第二特征图像的通道数和所述第五中间变量,计算得到所述第二目标通道注意力掩码;
根据所述第二特征图像的高度和宽度、所述指示函数以及所述第二特征图像,计算得到第六中间变量;
根据所述第二特征图像的通道数和所述第六中间变量,计算得到所述第二背景通道注意力掩码。
8.一种目标检测知识蒸馏装置,其特征在于,包括:
图像输入模块,用于将已标注目标检测框的样本图像分别输入教师模型和学生模型;
特征图像获取模块,用于获取所述教师模型输出的第一特征图像和所述学生模型输出的第二特征图像;
第一注意力掩码计算模块,用于根据所述第一特征图像计算得到第一空间注意力掩码、第一目标通道注意力掩码以及第一背景通道注意力掩码;
目标蒸馏损失计算模块,用于根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一目标通道注意力掩码,计算得到目标蒸馏损失;
背景蒸馏损失计算模块,用于根据所述第一特征图像、所述第二特征图像、所述第一空间注意力掩码以及所述第一背景通道注意力掩码,计算得到背景蒸馏损失;
损失函数构建模块,用于根据所述目标蒸馏损失和所述背景蒸馏损失构建损失函数;
模型参数优化模块,用于基于所述损失函数,对所述学生模型的参数进行优化。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的目标检测知识蒸馏方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的目标检测知识蒸馏方法。
CN202211046635.6A 2022-08-30 2022-08-30 一种目标检测知识蒸馏方法、装置、终端设备和存储介质 Pending CN115457364A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211046635.6A CN115457364A (zh) 2022-08-30 2022-08-30 一种目标检测知识蒸馏方法、装置、终端设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211046635.6A CN115457364A (zh) 2022-08-30 2022-08-30 一种目标检测知识蒸馏方法、装置、终端设备和存储介质

Publications (1)

Publication Number Publication Date
CN115457364A true CN115457364A (zh) 2022-12-09

Family

ID=84301765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211046635.6A Pending CN115457364A (zh) 2022-08-30 2022-08-30 一种目标检测知识蒸馏方法、装置、终端设备和存储介质

Country Status (1)

Country Link
CN (1) CN115457364A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116168443A (zh) * 2023-04-25 2023-05-26 安徽大学 一种基于信息差知识蒸馏的遮挡面部情绪识别方法
CN116994068A (zh) * 2023-09-19 2023-11-03 湖北省长投智慧停车有限公司 一种基于知识蒸馏的目标检测方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116168443A (zh) * 2023-04-25 2023-05-26 安徽大学 一种基于信息差知识蒸馏的遮挡面部情绪识别方法
CN116994068A (zh) * 2023-09-19 2023-11-03 湖北省长投智慧停车有限公司 一种基于知识蒸馏的目标检测方法及装置

Similar Documents

Publication Publication Date Title
CN109522942B (zh) 一种图像分类方法、装置、终端设备和存储介质
CN111860398B (zh) 遥感图像目标检测方法、系统及终端设备
CN110084216B (zh) 人脸识别模型训练和人脸识别方法、系统、设备及介质
CN108898086B (zh) 视频图像处理方法及装置、计算机可读介质和电子设备
CN108960090B (zh) 视频图像处理方法及装置、计算机可读介质和电子设备
CN109086811B (zh) 多标签图像分类方法、装置及电子设备
CN110148157B (zh) 画面目标跟踪方法、装置、存储介质及电子设备
CN108073902B (zh) 基于深度学习的视频总结方法、装置及终端设备
CN115457364A (zh) 一种目标检测知识蒸馏方法、装置、终端设备和存储介质
CN110245579B (zh) 人流密度预测方法及装置、计算机设备及可读介质
CN110276345B (zh) 卷积神经网络模型训练方法、装置和计算机可读存储介质
CN108399386A (zh) 饼图中的信息提取方法及装置
CN112258512B (zh) 点云分割方法、装置、设备和存储介质
WO2015112652A1 (en) Image demosaicing
CN112634316B (zh) 目标跟踪方法、装置、设备和存储介质
CN112085056A (zh) 目标检测模型生成方法、装置、设备及存储介质
CN110704652A (zh) 基于多重注意力机制的车辆图像细粒度检索方法及装置
CN115082920A (zh) 深度学习模型的训练方法、图像处理方法和装置
WO2024104239A1 (zh) 视频标注方法、装置、设备、介质及产品
CN111627029B (zh) 图像实例分割结果的获取方法及装置
CN110189372A (zh) 深度图模型训练方法和装置
CN111161789B (zh) 一种模型预测的关键区域的分析方法及装置
CN110633630B (zh) 一种行为识别方法、装置及终端设备
CN111104965A (zh) 车辆目标识别的方法及装置
CN110781223A (zh) 数据处理方法及装置、处理器、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination