基于知识蒸馏的目标检测算法训练模型的构建方法及其在盾构施工现场安全行为检测中的应用与流程
未命名
10-19
阅读:107
评论:0
1.本发明涉及盾构施工安全和图像处理中的目标检测领域,特别是涉及一种基于知识蒸馏的目标检测算法训练模型的构建方法及其在盾构施工现场安全行为检测中的应用。
背景技术:
2.盾构施工现场人员佩戴安全帽和抽烟的安全检测,对于施工工人的安全至关重要。盾构施工现场的安全管理体系中,佩戴安全帽和禁止抽烟已经成为必要的安全行为要求。然而,大多数施工现场对安全行为的管理还处于人工监管阶段。监管人员通过监控视频监管工人的行为,然而,盾构施工人员通常在隧道内进行工作,隧道内工作环境复杂,若想实现监督每个作业环节,需要耗费大量的人力,同时,人工监管方式效率也比较低。
3.目前,一些基于深度学习的安全帽和抽烟检测系统在施工现场被应用,然而,为了适应更加复杂的问题,大多数模型复杂度较高,增加了计算成本,需要使用更高算例的设备进行模型训练。隧道内的环境通常比较复杂,通常光线偏暗,存在较远距离的小目标,因此,较简单的检测模型对隧道内安全帽和抽烟检测的准确率较低。为了使用简单的模型,降低计算成本,同时提升复杂环境下对安全行为的检测精度,本发明提出了一种基于知识蒸馏的目标检测算法训练模型的构建方法及其在盾构施工现场安全行为检测中的应用。
技术实现要素:
4.本发明要解决的技术问题是提供一种基于知识蒸馏的目标检测算法训练模型的构建方法及其在盾构施工现场安全行为检测中的应用,使用简单的检测模型,降低计算成本,同时提升复杂环境下对安全行为的检测精度。
5.为解决上述技术问题,本发明采用如下技术方案:
6.一种基于知识蒸馏的目标检测算法训练模型的构建方法,包括下列步骤:
7.(1)获取数据集,将数据集划分为训练集和测试集;
8.(2)利用知识蒸馏的目标检测算法对数据集进行训练和验证,训练和验证方法为:
9.①
将数据集分别输入到多个教师网络模型和学生网络模型中进行特征提取,通过中间特征层使学生网络从教师网络模型中学习到更多细节,同时引入监督器模块辅助学生网络模型更充分地模仿教师网络模型的中间特征层信息;
10.②
监督模块参照生成对抗网络的思想,将学生网络模型的输出特征视为生成器所生成的假数据,教师网络模型的输出特征视为真实数据,监督器模块用于区分真实数据和伪造数据;
11.③
训练过程中,通过不断强化的监督器使学生网络模型认识到自己与教师网络特征的差异性,并通过l2_loss不断缩小与教师网络特征输出的差距;最终,学生模型在多个固定参数的教师网络模型与groundtruth的共同指导下完成知识学习。
12.本方法中的基于中间特征层和多教师选择的知识蒸馏模块,以及监督器模块,促
使学生网络模型生成的中间特征层更加接近教师网络模型;提出多教师选择模块,选用yolov5x、m、l作为教师网络,丰富知识传递的多样性;联合中间特征蒸馏损失、网络输出蒸馏损失、检测损失对模型进行训练,提升yolov5s学生网络模型的检测精度。
13.学生网络模型的特征是在教师网模型络与groundtruth的共同监督下产生的,教师网络均为预先训练好的网络模型。对于知识蒸馏部分,通过最小化由教师网络模型和学生网络模型生成的特征之间的相似距离来训练学生网络模型。f
t
、fs分别表示教师网络模型与学生网络模型生成的特征向量,使用l2_loss来最小化特征之间的直线距离:
[0014][0015]
其中i表示选用教师网络模型与学生网络模型的特征图索引,λi为多阶loss
hint
的权重系数,由于yolov5输出的有效特征层经过fpn特征融合,因此此处对于不同的特征图的权重系数取值为λi=[1,1,1]。
[0016]
本方法选用了三个对应的教师与学生网络模型,因此这里对于每对师生特征图使用一个监督器进行区分,教师特征图作为真实特征,学生特征图作为生成特征,由于监督模块的目的是区分师生特征,因此属于二分类问题,这里监督模块s的损失函数使用交叉熵损失,最终监督器s的loss函数如公式:
[0017][0018]
其中x为师生特征图使用concat连接后的特征向量,并作为监督模块s的输入,s(x)表示输入为特征图,输出为该图为真实特征图的概率,介于0-1之间。监督器本身由一个全连接网络构成。i表示选用教师网络模型与学生网络模型的特征图索引,αi为多阶losss的权重系数,这里一般使用[1,1,1]去平衡三个监督器模块。x~p
teacher
和x~p
student
分别表示教师网络模型的输出特征与学生网络模型的输出特征。
[0019]
由于本方法使用教师网络模型的输出与groundtruth共同监督学生网络模型的学习,因此计算损失函数时,不仅要考虑groundtruth对学生网络模型的指导,另外还要计算教师网络模型与学生网络模型之间的损失函数,每部分包含检测损失和蒸馏损失。具体如公式:
[0020][0021][0022][0023]
其中,分别表示学生网络模型预测的框置信度、分类概率和boundingbox坐标。表示groundtruth的值。表示教师网络模型输出的框置信度、分类概率和boundingbox坐标。综合监督模块损失与中间特征层损失,知识蒸馏的总体损失函数可以表示为:
[0024]
[0025]
本发明还涉及上述基于知识蒸馏的目标检测算法训练模型的构建方法在盾构施工现场安全行为检测中的应用,包括下列步骤:
[0026]
(1)通过监控系统采集施工现场工人的安全行为数据,包括抽烟、是否规范佩戴安全帽,使用数据标注软件对采集的数据进行标注,构成数据集,在数据集中按比例生成训练集和测试集;
[0027]
(2)利用权利要求1中的基于知识蒸馏的目标检测算法来构建训练模型;
[0028]
(3)将步骤(2)得到的模型应用到盾构施工现场安全行为检测系统中,用于识别盾构施工现场的抽烟和不规范佩戴安全帽的行为。
[0029]
本发明的有益效果在于:
[0030]
本发明采用基于知识蒸馏的目标检测算法构建训练模型,实现简单网络模型在复杂环境中的检测应用,联合特征蒸馏损失、网络输出蒸馏损失和检测损失对模型进行训练,提升学生网络模型的检测精度。本发明中的训练模型在盾构施工复杂环境中对抽烟和佩戴安全帽的检测应用,能够提高不规范行为的检测速度和精度。
附图说明
[0031]
图1是知识蒸馏的结构示意图;
[0032]
图2是监督模块的示意图。
具体实施方式
[0033]
下面结合实施例来说明本发明的具体实施方式,但以下实施例只是用来详细说明本发明,并不以任何方式限制本发明的范围。在以下实施例中所涉及的设备元件如无特别说明,均为常规设备元件。
[0034]
实施例1:一种基于知识蒸馏的目标检测算法训练模型的构建方法,包括下列步骤:
[0035]
(1)获取数据集,将数据集划分为训练集和测试集;
[0036]
(2)利用知识蒸馏的目标检测算法对数据集进行训练和验证,训练和验证方法为:
[0037]
①
将数据集分别输入到多个教师网络模型和学生网络模型中进行特征提取,通过中间特征层使学生网络模型从教师网络模型中学习到更多细节性的“暗知识”,同时引入监督器模块辅助学生网络更充分地模仿教师网络模型的中间特征层信息;
[0038]
②
监督模块参照生成对抗网络的思想,将学生网络模型的输出特征视为生成器所生成的假数据,教师网络模型的输出特征视为真实数据,监督器模块用于区分真实数据和伪造数据,教师网络模型均为预先训练好的网络模型;
[0039]
③
训练过程中,通过不断强化的监督器使学生网络模型认识到自己与教师网络特征模型的差异性,并通过l2_loss不断缩小与教师网络特征输出的差距。最终,学生模型在多个固定参数的教师网络模型与groundtruth的共同指导下完成知识学习。
[0040]
实施例2:基于知识蒸馏的目标检测算法训练模型的构建方法在盾构施工现场安全行为检测中的应用,包括下列步骤:
[0041]
(1)通过监控系统采集施工现场工人的安全行为数据,包括抽烟、是否规范佩戴安全帽,使用数据标注软件对采集的数据进行标注,构成数据集,在数据集中按比例生成训练
集和测试集;
[0042]
(2)利用权利要求1中的基于知识蒸馏的目标检测算法来构建训练模型;
[0043]
(3)将步骤(2)得到的模型应用到盾构施工现场安全行为检测系统中,用于识别盾构施工现场的抽烟和不规范佩戴安全帽的行为。
[0044]
为了指导学生网络模型更充分的学习来自于教师网络的信息,提出一种基于特征的知识蒸馏方法。并引入监督器模块辅助学生网络更充分地模仿教师网络的中间特征层信息。本方法使用的整体框架如图1所示。
[0045]
采用yolov5s作为学生网络,输入图像在经过主干网络cspdarknet-53提取特征后,会分别将大小为20
×
20
×
1024、40
×
40
×
512、80
×
80
×
256的特征图输入到特征金字塔中进行特征增强,最终输出三个与上述大小相同的有效特征层用于类别预测与边界框回归。使用yolov5m、yolov5l、yolov5x作为教师网络。yolov5通过改变卷积层中卷积核数量来改变网络宽度,通过改变bottleneckc3中c3的数量来改变网络深度,从而实现不同网络深度和网络宽度之间的组合,达到精度与效率的平衡。尽管教师网络特征提取网络的深度宽度都有增加,但最终输出的特征图大小与学生模型保持一致。
[0046]
由于教师网络是预先训练好的,其网络参数均为固定值,为了监督学生网络特征是否更加逼近教师网络的特征,引入监督模块。此模块的主要作用是将不同阶段的学生网络与教师网络同时作为监督模块的输入,用以区分学生网络与教师网络的特征。监督器在训练过程中不断优化,具体方法则是通过增大监督器模块的损失函数,使其辨别教师与学生网络特征的能力越来越强。监督模块的过程如图2所示。
[0047]
为了验证算法的有效性,采用自构建的抽烟数据集进行实验,本实验采用pytorch1.7.1框架、cuda版本11.1、ubuntu18.04操作系统、python编程语言。硬件环境使用两块nvidiageforce 4090ti、显存32g的显卡。训练过程中,使用sgd(随机梯度下降)算法,其中动量设置为0.9,权重衰减设置为0.0005,初始化学习率为0.01,周期性学习率为0.01。训练自构建数据集时epoch设置为300、bat4h_size设置为32。
[0048]
表1具体展示了学生网络在蒸馏前后的效果提升。使用算法对yolov5s进行知识蒸馏后,得到的yolov5s_distilled模型在参数量基本不变的前提下,在pascal voc2007测试集上的map@.5提升了3.87%,map@.5:.95提升了3.14%。
[0049]
表1yolov5s蒸馏前后对比
[0050][0051]
上面结合实施例对本发明作了详细的说明,但是所属技术领域的技术人员能够理解,在不脱离本发明宗旨的前提下,还可以对上述实施例中的各个具体参数进行变更,形成多个具体的实施例,均为本发明的常见变化范围,在此不再一一详述。
技术特征:
1.一种基于知识蒸馏的目标检测算法训练模型的构建方法,其特征在于,包括下列步骤:(1)获取数据集,将数据集划分为训练集和测试集;(2)利用知识蒸馏的目标检测算法对数据集进行训练和验证,训练和验证方法为:
①
将数据集分别输入到多个教师网络模型和学生网络模型中进行特征提取,通过中间特征层使学生网络从教师网络模型中学习到更多细节,同时引入监督器模块辅助学生网络模型更充分地模仿教师网络模型的中间特征层信息;
②
监督模块参照生成对抗网络的思想,将学生网络模型的输出特征视为生成器所生成的假数据,教师网络模型的输出特征视为真实数据,监督器模块用于区分真实数据和伪造数据;
③
训练过程中,通过不断强化的监督器使学生网络模型认识到自己与教师网络特征的差异性,并通过l2_loss不断缩小与教师网络特征输出的差距;最终,学生模型在多个固定参数的教师网络模型与groundtruth的共同指导下完成知识学习。2.根据权利要求1所述的基于知识蒸馏的目标检测算法训练模型的构建方法,其特征在于,设f
t
、f
s
分别表示教师网络模型与学生网络模型生成的特征向量,使用l2_loss来最小化特征之间的直线距离:其中i表示选用教师网络模型与学生网络模型的特征图索引,λ
i
为多阶lossh
int
的权重系数,由于yolov5输出的有效特征层经过fpn特征融合,因此此处对于不同的特征图的权重系数取值为λ
i
=[1,1,1]。3.根据权利要求1所述的基于知识蒸馏的目标检测算法训练模型的构建方法,其特征在于,选用了三个对应的教师与学生网络,对于每对师生特征图使用一个监督器进行区分,教师特征图作为真实特征,学生特征图作为生成特征,监督模块s的损失函数使用交叉熵损失,最终监督器s的loss函数如公式:其中x为师生特征图使用concat连接后的特征向量,并作为监督模块s的输入,s(x)表示输入为特征图,输出为该图为真实特征图的概率,介于0-1之间;i表示选用教师网络与学生网络的特征图索引,α
i
为多阶loss
s
的权重系数,这里一般使用[1,1,1]去平衡三个监督器模块;x~p
teac
h
er
和x~p
student
分别表示教师网络的输出特征与学生网络的输出特征。4.根据权利要求1所述的基于知识蒸馏的目标检测算法训练模型的构建方法,其特征在于,步骤
③
中使用教师网络模型的输出与groundtruth共同监督学生网络模型的学习,计算损失函数时,不仅要考虑groundtruth对学生网络模型的指导,另外还要计算教师网络模型与学生网络模型之间的损失函数,每部分包含检测损失和蒸馏损失,具体如公式:型与学生网络模型之间的损失函数,每部分包含检测损失和蒸馏损失,具体如公式:
其中,分别表示学生网络模型预测的框置信度、分类概率和boundingbox坐标;表示groundtruth的值;表示教师网络模型输出的框置信度、分类概率和boundingbox坐标;综合监督模块损失与中间特征层损失,知识蒸馏的总体损失函数可以表示为:5.权利要求1所述的基于知识蒸馏的目标检测算法训练模型的构建方法在盾构施工现场安全行为检测中的应用,其特征在于,包括下列步骤:(1)通过监控系统采集施工现场工人的安全行为数据,包括抽烟、是否规范佩戴安全帽,使用数据标注软件对采集的数据进行标注,构成数据集,在数据集中按比例生成训练集和测试集;(2)利用权利要求1中的基于知识蒸馏的目标检测算法来构建训练模型;(3)将步骤(2)得到的模型应用到盾构施工现场安全行为检测系统中,用于识别盾构施工现场的抽烟和不规范佩戴安全帽的行为。
技术总结
本发明公开了一种基于知识蒸馏的目标检测算法训练模型的构建方法及其在盾构施工现场安全行为检测中的应用,包括下列步骤:(1)获取数据集,在数据集中生成训练集和测试集;(2)利用知识蒸馏的目标检测算法对数据集进行训练和验证。本发明采用基于知识蒸馏的目标检测算法构建训练模型,实现简单网络模型在复杂环境中的检测应用,联合特征蒸馏损失、网络输出蒸馏损失和检测损失对模型进行训练,提升学生网络的检测精度。网络的检测精度。网络的检测精度。
技术研发人员:曾垂刚 谷田鑫 张彦伟 周振建 李叔敖 张合沛 江南 万雪钰 张斌 郁凯旋 李梦雨
受保护的技术使用者:盾构及掘进技术国家重点实验室
技术研发日:2023.06.29
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
