← 返回列表

一种融合多教师知识蒸馏的Yolov7柚子计数方法

申请号: CN202311789356.3
申请人: 江西农业大学; 江西省科学院应用物理研究所
申请日期: 2023/12/25

摘要文本

本发明公开了一种融合多教师知识蒸馏的Yolov7柚子计数方法,通过对YOLOv7‑Tiny‑Large网络模型静态剪枝,得到轻量化的YOLOv7‑Tiny‑Pruning网络模型,作为学生模型;对YOLOv7‑Tiny网络模型的主干网络中添加AIFI模块并修改损失函数,作为教师模型Ⅰ;对YOLOv7‑Tiny网络模型的颈网络中添加SEAM注意力机制,修改损失函数,作为教师模型Ⅱ;使用两个教师模型的知识转学生模型,生成总蒸馏损失函数;再用总蒸馏损失函数对学生模型进行蒸馏训练。本发明通过多教师知识蒸馏的方式来恢复因剪枝而损失的精确度,同时提高模型鲁棒性和精确度。

专利详细信息

项目 内容
专利名称 一种融合多教师知识蒸馏的Yolov7柚子计数方法
专利类型 发明授权
申请号 CN202311789356.3
申请日 2023/12/25
公告号 CN117496509B
公开日 2024/3/19
IPC主分类号 G06V20/68
权利人 江西农业大学; 江西省科学院应用物理研究所
发明人 易文龙; 夏硕康; 肖意风; 熊叶; 杨玲玲; 翁丽明; 张莹; 程香平
地址 江西省南昌市昌北经济技术开发区志敏大道1101号; 江西省南昌市高新技术开发区昌东大道7777号

专利主权项内容

1.一种融合多教师知识蒸馏的Yolov7柚子计数方法,其特征在于,包括以下步骤:步骤一:通过对YOLOv7-Tiny-Large网络模型静态剪枝,通过剪枝、训练和微调减去冗余的参数和通道数,得到轻量化的YOLOv7-Tiny-Pruning网络模型,作为学生模型;步骤二:对学生模型使用柚子照片数据集进行训练,生成知识软目标,再由知识软目标生成软标签,用于多教师知识蒸馏训练;步骤三:在YOLOv7-Tiny网络模型的主干网络中添加AIFI模块,YOLOv7-Tiny网络模型的损失函数改为Wasserstein,得到YOLOv7-Tiny-AIFI-Wasserstein网络模型,并作为教师模型Ⅰ;所述教师模型Ⅰ由主干网络、颈网络、预测输出构成,主干网络依次由第一卷积模块、第二卷积模块、第一C5模块、第一最大池化模块、第二C5模块、第二最大池化模块、第三C5模块、第三最大池化模块、第四C5模块、AIFI模块组成;颈网络包括SPPCSPC模块、第三卷积模块、第四卷积模块、第五卷积模块、第五C5模块、第六卷积模块、第六C5模块、第七卷积模块、第七C5模块、第八卷积模块、第八C5模块;第三C5模块输出的特征经第四卷积模块卷积,AIFI模块输出的特征进入SPPCSPC模块处理,SPPCSPC模块输出的特征经上采样后与第四卷积模块输出的特征融合,然后依次经过第五C5模块、第六卷积模块处理,第二C5模块输出的特征经第三卷积模块卷积,第六卷积模块输出的特征经上采样后与第三卷积模块输出的特征融合,然后进入第五C5模块处理,第五C5模块输出的特征经第七卷积模块卷积后与第五C5模块输出的特征融合,然后进入第七C5模块,第七C5模块输出的特征经第八卷积模块卷积后与SPPCSPC模块输出的特征融合,最后进入第八C5模块处理;选择第六C5模块、第七C5模块和第八C5模块的输出作为预测输出;步骤四:在YOLOv7-Tiny网络模型的颈网络中添加SEAM注意力机制,YOLOv7-Tiny网络模型的损失函数改为SlideLoss损失函数,得到 YOLOv7-Tiny-SEAM-SlideLoss网络模型,并作为教师模型Ⅱ;所述教师模型Ⅱ由主干网络、颈网络、预测输出构成,主干网络依次由第一卷积模块、第二卷积模块、第一C5模块、第一最大池化模块、第二C5模块、第二最大池化模块、第三C5模块、第三最大池化模块、第四C5模块组成;颈网络包括SPPCSPC模块、第三卷积模块、第四卷积模块、第五卷积模块、第五C5模块、第六卷积模块、第六C5模块、第七卷积模块、第七C5模块、第八卷积模块、第八C5模块;第三C5模块输出的特征经第四卷积模块卷积,第四C5模块输出的特征直接进入SPPCSPC模块处理,SPPCSPC模块输出的特征经上采样后与第四卷积模块输出的特征融合,然后依次经过第五C5模块、第六卷积模块处理,第二C5模块输出的特征经第三卷积模块卷积,第六卷积模块输出的特征经上采样后与第三卷积模块输出的特征融合,然后进入第五C5模块处理,第五C5模块输出的特征经第七卷积模块卷积后与第五C5模块输出的特征融合,然后进入第七C5模块,第七C5模块输出的特征经第八卷积模块卷积后与SPPCSPC模块输出的特征融合,最后进入第八C5模块处理;选择第六C5模块、第七C5模块和第八C5模块的输出分别经过SEAM注意力机制处理后,作为预测输出;步骤五:使用教师模型Ⅰ的知识转学生模型,首先,教师模型Ⅰ对柚子照片数据集进行训练,生成教师模型Ⅰ的知识软目标,再由教师模型Ⅰ的知识软目标生成教师模型Ⅰ的软标签,最后通过教师模型Ⅰ的软标签与学生模型的软标签生成蒸馏损失函数Ⅰ;步骤六:使用教师模型Ⅱ的知识转学生模型,首先,教师模型Ⅱ对柚子照片数据集进行训练,生成教师模型Ⅱ的知识软目标,再由教师模型Ⅱ的知识软目标生成教师模型Ⅱ的软标签,最后通过教师模型Ⅱ的软标签与学生模型的软标签生成蒸馏损失函数Ⅱ;步骤七:结合蒸馏损失函数Ⅰ与蒸馏损失函数Ⅱ,生成总蒸馏损失函数;再用总蒸馏损失函数对学生模型进行蒸馏训练,蒸馏训练后的学生模型对所输入的柚子照片生成知识软目标,再由知识软目标生成软标签,并计算学生模型损失,最终得到硬目标,使用硬目标对柚子图像进行预测,得到识别框,对识别框计数,即为柚子数量。