本申请提供一种基于知识蒸馏的人体检测模型训练方法及装置。该方法包括:获取预训练好的教师模型,并对预设的人体检测模型的参数进行初始化,得到学生模型;将样本图像分别输入到教师模型及学生模型中,利用教师模型对应的分类分支输出第一置信度,并利用学生模型对应的分类分支输出第二置信度;基于第一置信度、第二置信度以及温度参数计算二元交叉熵损失,并依据第一置信度计算权重,利用权重计算加权后的广义交并比损失;利用二元交叉熵损失及加权后的广义交并比损失,分别对学生模型的分类分支和边界框分支进行训练,得到训练后的人体检测模型。本申请简化了基于知识蒸馏的人体检测模型的结构,提高了算法的泛化性,提升模型的蒸馏效果。模型的蒸馏效果。模型的蒸馏效果。
【技术实现步骤摘要】
基于知识蒸馏的人体检测模型训练方法及装置
[0001]本申请涉及计算机
,尤其涉及一种基于知识蒸馏的人体检测模型训练方法及装置。
技术介绍
[0002]目标检测算法在实际中应用广泛,其中比较常见的是人体检测算法,比如YOLOX算法,因为其高精度的检测效果,被常用在工业界,比如人体检测项目等。知识蒸馏是一种利用大模型提高小模型泛化性的手段,因为它有无损模型速度提高模型精度的优势,也已被广泛应用。然而,目标检测算法由于其任务的复杂性,导致传统的蒸馏方法在目标检测算法中很难生效。
[0003]以基于YOLOX算法的人体检测任务为例,需要同时定位人体的位置坐标以及判断是否属于人体,相对图像分类任务更加复杂,现有技术使用的基于softmax与交叉熵的蒸馏损失无法用在人体检测任务中,导致无法利用知识蒸馏来提高人体检测的泛化性。因此,现有的人体检测模型无法应用知识蒸馏的方式训练,导致人体检测模型的泛化性差,人体检测模型的检测精度降低。
技术实现思路
[0004]有鉴于此,本申请实施例提供了一种基于知识蒸馏的人体检测模型训练方法及装置,以解决现有技术存在的人体检测模型无法应用知识蒸馏的方式训练,人体检测模型的泛化性差,人体检测模型的检测精度降低的问题。
[0005]本申请实施例的第一方面,提供了一种基于知识蒸馏的人体检测模型训练方法,包括:获取预训练好的教师模型,并对预设的人体检测模型的参数进行初始化,得到学生模型;将样本图像分别输入到教师模型及学生模型中,利用教师模型对应的分类分支输出第一置信度,并利用学生模型对应的分类分支输出第二置信度;基于第一置信度、第二置信度以及温度参数计算二元交叉熵损失,并依据第一置信度计算权重,利用权重计算加权后的广义交并比损失;利用二元交叉熵损失及加权后的广义交并比损失,分别对学生模型的分类分支和边界框分支进行训练,得到训练后的人体检测模型。
[0006]本申请实施例的第二方面,提供了一种基于知识蒸馏的人体检测模型训练装置,包括:获取模块,被配置为获取预训练好的教师模型,并对预设的人体检测模型的参数进行初始化,得到学生模型;置信度模块,被配置为将样本图像分别输入到教师模型及学生模型中,利用教师模型对应的分类分支输出第一置信度,并利用学生模型对应的分类分支输出第二置信度;计算模块,被配置为基于第一置信度、第二置信度以及温度参数计算二元交叉熵损失,并依据第一置信度计算权重,利用权重计算加权后的广义交并比损失;训练模块,被配置为利用二元交叉熵损失及加权后的广义交并比损失,分别对学生模型的分类分支和边界框分支进行训练,得到训练后的人体检测模型。
[0007]本申请实施例的第三方面,提供了一种电子设备,包括存储器,处理器及存储在存
储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。
[0008]本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
[0009]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0010]通过获取预训练好的教师模型,并对预设的人体检测模型的参数进行初始化,得到学生模型;将样本图像分别输入到教师模型及学生模型中,利用教师模型对应的分类分支输出第一置信度,并利用学生模型对应的分类分支输出第二置信度;基于第一置信度、第二置信度以及温度参数计算二元交叉熵损失,并依据第一置信度计算权重,利用权重计算加权后的广义交并比损失;利用二元交叉熵损失及加权后的广义交并比损失,分别对学生模型的分类分支和边界框分支进行训练,得到训练后的人体检测模型。本申请实现将知识蒸馏应用在人体检测模型训练中,在保持推理速度的同时,提高了算法的泛化性,本申请简化了基于知识蒸馏的人体检测模型的结构,对知识蒸馏的损失函数设计更加友好,提升模型的蒸馏效果。
附图说明
[0011]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0012]图1是本申请实施例在实际场景中涉及的基于知识蒸馏的人体检测模型的结构示意图;
[0013]图2是本申请实施例提供的基于知识蒸馏的人体检测模型训练方法的流程示意图;
[0014]图3是本申请实施例提供的基于知识蒸馏的人体检测模型训练装置的结构示意图;
[0015]图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0016]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0017]如
技术介绍
所述,目标检测算法在实际中应用广泛,而其中一个有代表性的优秀算法YOLOX,更是因为其高精度的检测效果,被常用在工业界,比如人体检测项目。知识蒸馏是一种利用大模型提高小模型泛化性的手段,因为它有无损模型速度提高模型精度的优势,也已被广泛应用。而目标检测算法由于其任务的复杂性,导致传统的蒸馏方法在目标检测算法中很难生效,具体的YOLOX算法也是如此。
[0018]在基于YOLOX的人体检测任务中,需要同时定位人体的位置坐标以及判断是否属于人体,相对图像分类任务更加复杂,现有技术使用的基于softmax与交叉熵的蒸馏损失无
法用在人体检测任务中,导致无法利用知识蒸馏来提高人体检测的泛化性。具体来说,YOLOX算法输出3个分支,分别是2个分类分支(使用二元交叉熵损失),和1个回归分支(使用IOU损失),而传统的知识蒸馏是用在图像分类领域,它是针对使用交叉熵损失设计的,无法用在YOLOX算法的3个分支。
[0019]有鉴于此,本申请实施例为解决上述问题,提供了一种基于知识蒸馏的人体检测模型训练方法,本申请的人体检测模型训练方法应用在人体检测任务过程中,本申请首先分别对教师模型和学生模型的分类分支和目标分支进行合并,得到合并后的分类分支,并且针对合并后的分类分支设计了带温度的二元交叉熵损失,同时针对边界框分支设计基于教师模型的分类分支输出概率值的加权广义交并比损失,从而成功实现对人体检测算法(比如YOLOX算法)的蒸馏,在保持推理速度的同时,提高了人体检测任务的检测精度。
[0020]图1是本申请实施例在实际场景中涉及的基于知识蒸馏的人体检测模型的结构示意图,如图1所示,该基于知识蒸馏的人体检测模型具体可以包括:
[0021]在图1所示的基于知识蒸馏的人体检测模型中包含教师模型和学生模型,教师模型和学生模型均采用人体检测模型,例如可以采用基于YOLOX目标检测算法搭建的模型;教师模型和学本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于知识蒸馏的人体检测模型训练方法,其特征在于,包括:获取预训练好的教师模型,并对预设的人体检测模型的参数进行初始化,得到学生模型;将样本图像分别输入到所述教师模型及所述学生模型中,利用所述教师模型对应的分类分支输出第一置信度,并利用所述学生模型对应的分类分支输出第二置信度;基于所述第一置信度、所述第二置信度以及温度参数计算二元交叉熵损失,并依据所述第一置信度计算权重,利用所述权重计算加权后的广义交并比损失;利用所述二元交叉熵损失及所述加权后的广义交并比损失,分别对所述学生模型的分类分支和边界框分支进行训练,得到训练后的人体检测模型。2.根据权利要求1所述的方法,其特征在于,所述教师模型和所述学生模型中均采用人体检测模型,所述人体检测模型中包含主干模块、颈部模块和头部模块。3.根据权利要求2所述的方法,其特征在于,所述教师模型和所述学生模型的头部模块分别对应一个分类分支,所述分类分支由原始的人体检测模型的目标分支和原始分类分支合并而成。4.根据权利要求1所述的方法,其特征在于,所述利用所述教师模型对应的分类分支输出第一置信度,并利用所述学生模型对应的分类分支输出第二置信度,包括:利用所述教师模型对应的主干模块、颈部模块和头部模块依次提取第一特征图,将所述第一特征图输入到所述教师模型的头部模块对应的分类分支中,输出第一置信度;以及,利用所述学生模型对应的主干模块、颈部模块和头部模块依次提取第二特征图,将所述第二特征图输入到所述学生模型的头部模块对应的分类分支中,输出第二置信度。5.根据权利要求1所述的方法,其特征在于,所述基于所述第一置信度、所述第二置信度以及温度参数计算二元交叉熵损失,包括:将所述第一置信度和所述第二置信度分别与所...
【专利技术属性】
技术研发人员:何翔,黄泽元,
申请(专利权)人:北京龙智数科科技服务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。