一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向终端设备的轻量级绝缘子检测模型及检测方法与流程

2022-06-02 14:33:36 来源:中国专利 TAG:


1.本发明属于计算机深度学习技术领域,具体地说,涉及一种面向终端设备的轻量级绝缘子检测模型及检测方法。


背景技术:

2.现有应用于绝缘子检测的方法总体来说有两大类,一是传统方法,比如,vj检测器、hog检测器、dpm等都是具有代表性的方法。二是基于深度学习的目标检测方法,主要分为一阶段和两阶段方法。一阶段目标检测方法,如yolo系列和ssd系列。二阶段目标检测方法,如rcnn网络、fastrcnn网络和fasterrcnn网络等。
3.传统方法中,目标检测分为三个步骤:候选区域生成、特征提取和类别判断,需要人工设计的特征提取器,每个步骤的结果对检测都有影响。因此,传统方法在稳定性、鲁棒性上面相比基于深度学习的目标检测方法表现差一些。
4.深度学习方法的特点就是模型参数多,难以适用于小型终端设备。在电力巡检任务中,目前主流的方法就是将目标检测方法植入到头盔或者无人机中进行运行。因此,这就要求基于深度学习的目标检测方法需要在保证准确率的基础上减少参数数量,进而提高运行速度。


技术实现要素:

5.本发明针对现有技术的上述缺陷和需求,结合电力巡检的实际场景,提出了一种面向终端设备的轻量级绝缘子检测模型及检测方法,绝缘子检测场景通常具有复杂的背景。此外,利用无人机巡检时,图片中绝缘子大小会随着拍摄角度的不同而不同。因此,很难在训练集中包含所有的情况。为了解决这一问题,本发明创新地引入增量学习,让模型在使用过程中利用新样本进行更新,不断地提升性能。
6.本发明具体实现内容如下:
7.本发明提出了一种面向终端设备的轻量级绝缘子检测模型,为终端设备进行轻量级绝缘子检测,所述轻量级绝缘子检测模型包括teacher网络和student网络,使用teacher网络来对student网络进行训练,并用训练好的student网络进行轻量级绝缘子检测;
8.所述teacher网络基于yolov3模型,包括用于特征处理的a模块和特征提取的b模块,所述b模块包括三条分别与a模块连接的特征提取支路;三条所述特征提取支路将接收的图像处理后输出对应的三个特征图;三个特征图分别为大小为13*13*f,26*26*f和52*52*f的特征图;其中f表示输出的通道数;
9.所述student网络基于crop-yolov3-tiny网络,包括用于提取得到大小为13*13*f的特征图的c模块,以及搭接c模块上用于提取得到大小为26*26*f的特征图的d模块;采用深度可分离单元对基于crop-yolov3-tiny网络的student网络中的卷积层进行替换。
10.为了更好地实现本发明,进一步地,所述a模块包括依次连接的六个层级,第一层级包括一层dbl网络,第二层级包括一层res网络,第三层级包括依次连接的两层res网络,
第四层级包括八层res网络,第五层级包括八层res网络,第六层级包括四层res网络;
11.所述a模块的第四层级的输出端还与所述b模块输出大小为52*52*f的特征图的特征提取支路的输入端连接;
12.所述a模块的第五层级的输出端还与所述b模块输出大小为26*26*f的特征图的特征提取支路的输入端连接;
13.所述a模块的第六层级的输出端还与所述b模块输出大小为13*13*f的特征图的特征提取支路的输入端连接。
14.为了更好地实现本发明,进一步地,所述b模块输出大小为52*52*f的特征图的特征提取支路包括依次连接的六个层级,第一层级包括五层dbl网络,第二层级包括一层上采样层,第三层级包括一层concat操作层,第四层级包括五层dbl网络,第五层级包括一层dbl网络,第六层级包括一层conv层;
15.所述b模块输出大小为26*26*f的特征图的特征提取支路包括依次连接的六个层级,第一层级包括五层dbl网络,第二层级包括一层上采样层,第三层级包括一层concat操作层,第四层级包括五层dbl网络,第五层级包括一层dbl网络,第六层级包括一层conv层;
16.所述b模块输出大小为13*13*f的特征图的特征提取支路包括三个层级,第一层级包括五层dbl网络,第二层级包括一层dbl网络,第三层级包括一层conv层;
17.所述b模块输出大小为13*13*f的特征图的特征提取支路的第一层级的输入端与a模块的第六层级的输出端连接;b模块输出大小为13*13*f的特征图的特征提取支路的第一层级输出端还与b模块输出大小为26*26*f的特征图的特征提取支路的第一层级的输入端连接;
18.所述b模块输出大小为26*26*f的特征图的特征提取支路的第三层级的输入端还与a模块的第五层级的输出端连接;所述b模块输出大小为13*13*f的特征图的特征提取支路的第四层级的输出端还与所述b模块输出大小为52*52*f的特征图的特征提取支路的第一层级的输入端连接;
19.所述所述b模块输出大小为52*52*f的特征图的特征提取支路的第三层级的输入端还与所述a模块的第四层级的输出端连接。
20.为了更好地实现本发明,进一步地,所述dbl网络包括依次连接的一层cnov层、一层bn层和一层leakyrelu层;
21.一层所述res网络包括依次连接的一层zero padding层、一层dbl网络和一层res单元;
22.一层所述res单元包括依次连接的两层dbl网络和一层add操作层;且所述res单元的第一层dbl网络的输入数据端还与res单元的第二层dbl网络的输出端连接。
23.为了更好地实现本发明,进一步地,所述c模块包括依次连接的十个层级;
24.第一层级包括十六层dsconv网络,第二层级包括三十二层dsconv网络,第三层级包括六十四层dsconv网络,第四层级包括一百二十八层dsconv网络,第五层包括二百五十六层dsconv网络,第六层级包括五百一十二层dsconv网络,第七层级包括一千零二十四层dsconv网络,第八层级包括二百五十六层conc层,第九层包括五百一十二层层dsconv网络,第十层级包括二百五十六层conv层。
25.为了更好地实现本发明,进一步地,所述d模块包括依次连接的五个层级;
26.第一层级包括一百二十八层conv层,第二层级包括一层上采样层,第三层级包括一层concat操作层,第四层级包括二百五十六层dsconv网络,第五层级包括二百五十六层conv层;
27.所述d模块的第一层级的输入端与所述c模块的第七层级的输出端连接;所述d模块的第三层级的输入端还与所述c模块的第五层级的输出端连接。
28.为了更好地实现本发明,进一步地,一层所述dsconv网络包括依次连接的一层3*3depthwise卷积层、一层bn层、一层relu层、一层1*1conv层和一层relu层。
29.本发明还提出了一种面向终端设备的轻量级绝缘子检测方法,基于上述的一种面向终端设备的轻量级绝缘子检测模型,其特征在于,包括以下步骤:
30.步骤1:基于增量学习方法,在训练集训练teacher网络;
31.步骤2:采用知识蒸馏方法,用teacher网络训练student网络;
32.步骤3:用训练好的student网络执行绝缘子检测任务,并搜集数据;
33.步骤4:整理搜集的数据用于模型更新训练;
34.然后循环执行上述步骤。
35.为了更好地实现本发明,进一步地,所述步骤1的具体操作为:首先
36.记训练集为(xn,yn);其中,xn为图片集合,yn=(yc,yr)包含目标类别yc和坐标yr;然后进行以下操作:
37.步骤1.1:新初始化一个网络记为teacher’,teacher’网络与teacher网络具有完全一样的结构;
38.步骤1.2:记teacher’网络中,模块a中网络模块的参数与teacher网络的参数θs共享,即都采用参数θs;
39.步骤1.3:记teacher网络中,模块b中网络模块的参数为θo;记teacher’网络中,模块b中网络模块的参数为θo′

40.步骤1.4:随机初始化teacher’网络的参数θo′

41.步骤1.5:记录teacher网络在新数据集xn上的执行结果;
42.步骤1.6:记录teacher’网络在新数据集xn上的执行结果;
43.步骤1.7:根据步骤1.5和步骤1.6获得的执行结果,计算蒸馏损失ld;
44.步骤1.8:计算预测损失ln;
45.步骤1.9:根据蒸馏损失ld和预测损失ln,结合teacher’网络的a模块和b模块的参数的正则化约束,获得总体损失,通过总体损失来对teacher’网络的参数进行更新;
46.步骤1.10:重复步骤1.5-步骤1.9的步骤,直到参数收敛或达到最大迭代次数;
47.步骤1.11:输出最终的teacher’网络,作为训练好的teacher网络,用于后续训练。
48.为了更好地实现本发明,进一步地,所述步骤2的具体操作为:首先,记训练集为(xn,yn);其中,xn为图片集合,yn=(yc,yr)包含目标类别yc和坐标yr;student网络的参数记为θ;
49.步骤2.1:将训练数据输入训练好的teacher网络中并计算:记网络中模块a的输出为模块b的输出记为
50.步骤2.2:将训练数据输入student网络中并计算;记网络中模块c的输出为模
块d的输出记为
51.步骤2.3:采用l2损失函数计算模块a与模块c的误差l
hint
,所述l2损失函数为平方误差计算;
52.步骤2.4:计算模块b与模块d的误差l
soft
;所述误差l
soft
为l2损失函数和交叉熵损失函数结合;
53.步骤2.5:计算student网络的输出与真实值的误差l
hard
,即模块d的输出与真实值的误差;
54.步骤2.6:根据student网络的总体损失更新student网络的参数;所述总体损失包括误差l
hint
、误差l
soft
和误差l
hard

55.步骤2.7:重复步骤2.1-步骤2.6的操作,直到student网络的参数收敛或达到最大迭代次数;
56.步骤2.8:输出最终的student网络,用于后续绝缘子检测任务。
57.本发明与现有技术相比具有以下优点及有益效果:
58.1、在模型参数上,本方案相比其他技术少;因为我们采用的是yolov3-tiny的改进,即crop-yolov3-tiny;yolov3-tiny参数本身就比yolov3少很多。而且我们还对yolov3-tiny进行了改进,采用深度可分离卷积模块替换了原始的卷积模块,使得参数进一步下降;
59.2、在模型训练上,本方案采用的是增量学习的思路,即通过teacher网络在新数据上训练,得到最新的模型参数,然后让训练好的teacher模型去训练student网络;这是一个连续学习的过程,会随着执行次数的增加,提升模型检测的鲁棒性;而现有的方法,几乎都是在同一个数据集上训练,并没有在后续执行的基础上提取数据进行模型更新训练。
附图说明
60.图1为teacher网络的具体结构示意图;
61.图2为图1的teacher网络中的res网络的结构示意图;
62.图3为图1和图2中的dbl网络的结构示意图;
63.图4为图2中的res单元的结构示意图;
64.图5为student网络的结构示意图;
65.图6为图5的student网络中的dsconv网络的结构示意图;
66.图7为本发明的流程示意图。
具体实施方式
67.为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
68.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可
以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
69.实施例1:
70.本实施例提出了一种面向终端设备的轻量级绝缘子检测模型,为终端设备进行轻量级绝缘子检测,所述轻量级绝缘子检测模型包括teacher网络和student网络,使用teacher网络来对student网络进行训练,并用训练好的student网络进行轻量级绝缘子检测;
71.所述teacher网络基于yolov3模型,包括用于特征处理的a模块和特征提取的b模块,所述b模块包括三条分别与a模块连接的特征提取支路;三条所述特征提取支路将接收的图像处理后输出对应的三个特征图;三个特征图分别为大小为13*13*f,26*26*f和52*52*f的特征图;其中f表示输出的通道数;
72.所述student网络基于crop-yolov3-tiny网络,包括用于提取得到大小为13*13*f的特征图的c模块,以及搭接c模块上用于提取得到大小为26*26*f的特征图的d模块;采用深度可分离单元对基于crop-yolov3-tiny网络的student网络中的卷积层进行替换。
73.工作原理:在模型参数上,本方案相比其他技术少;因为我们采用的是yolov3-tiny的改进,即crop-yolov3-tiny;yolov3-tiny参数本身就比yolov3少很多。而且我们还对yolov3-tiny进行了改进,采用深度可分离卷积模块替换了原始的卷积模块,使得参数进一步下降。
74.实施例2:
75.本实施例在上述实施例1的基础上,为了更好地实现本发明,进一步地,如图1、图2、图3、图4所示:
76.如图1所示,所述a模块包括依次连接的六个层级,第一层级包括一层dbl网络,第二层级包括一层res网络,第三层级包括依次连接的两层res网络,第四层级包括八层res网络,第五层级包括八层res网络,第六层级包括四层res网络;
77.所述a模块的第四层级的输出端还与所述b模块输出大小为52*52*f的特征图的特征提取支路的输入端连接;
78.所述a模块的第五层级的输出端还与所述b模块输出大小为26*26*f的特征图的特征提取支路的输入端连接;
79.所述a模块的第六层级的输出端还与所述b模块输出大小为13*13*f的特征图的特征提取支路的输入端连接。
80.所述b模块输出大小为52*52*f的特征图的特征提取支路包括依次连接的六个层级,第一层级包括五层dbl网络,第二层级包括一层上采样层,第三层级包括一层concat操作层,第四层级包括五层dbl网络,第五层级包括一层dbl网络,第六层级包括一层conv层;
81.所述b模块输出大小为26*26*f的特征图的特征提取支路包括依次连接的六个层级,第一层级包括五层dbl网络,第二层级包括一层上采样层,第三层级包括一层concat操作层,第四层级包括五层dbl网络,第五层级包括一层dbl网络,第六层级包括一层conv层;
82.所述b模块输出大小为13*13*f的特征图的特征提取支路包括三个层级,第一层级包括五层dbl网络,第二层级包括一层dbl网络,第三层级包括一层conv层;
83.所述b模块输出大小为13*13*f的特征图的特征提取支路的第一层级的输入端与a模块的第六层级的输出端连接;b模块输出大小为13*13*f的特征图的特征提取支路的第一层级输出端还与b模块输出大小为26*26*f的特征图的特征提取支路的第一层级的输入端连接;
84.所述b模块输出大小为26*26*f的特征图的特征提取支路的第三层级的输入端还与a模块的第五层级的输出端连接;所述b模块输出大小为13*13*f的特征图的特征提取支路的第四层级的输出端还与所述b模块输出大小为52*52*f的特征图的特征提取支路的第一层级的输入端连接;
85.所述所述b模块输出大小为52*52*f的特征图的特征提取支路的第三层级的输入端还与所述a模块的第四层级的输出端连接。
86.如图2、图3、图图所示,所述dbl网络包括依次连接的一层cnov层、一层bn层和一层leakyrelu层;
87.一层所述res网络包括依次连接的一层zeropadding层、一层dbl网络和一层res单元;
88.一层所述res单元包括依次连接的两层dbl网络和一层add操作层;且所述res单元的第一层dbl网络的输入数据端还与res单元的第二层dbl网络的输出端连接。
89.工作原理:本方法采用的teacher网络为yolov3模型,其网络结构如图1、图2、图3、图4所示。该网络接收像素为416*416的图片,输出三个特征图,三个特征图的大小分别是13*13*256,26*26*256和52*52*256。图中,网络模块bn,即是正则化网络,负责每层网络参数的正则化。leakyrelu是激活层。concat表示特征的拼接操作。add表示特征相加操作。res*n表示有n个res网络。网络中f表示输出的通道数,具体的值可以根据任务设定,比如在本方法中由于目标检测对象少,设置为18。
90.本实施例的其他部分与上述实施例1相同,故不再赘述。
91.实施例3:
92.本实施例在上述实施例1-2任一项的基础上,为了更好地实现本发明,进一步地,如图5、图6所示,所述c模块包括依次连接的十个层级;
93.第一层级包括十六层dsconv网络,第二层级包括三十二层dsconv网络,第三层级包括六十四层dsconv网络,第四层级包括一百二十八层dsconv网络,第五层包括二百五十六层dsconv网络,第六层级包括五百一十二层dsconv网络,第七层级包括一千零二十四层dsconv网络,第八层级包括二百五十六层conc层,第九层包括五百一十二层层dsconv网络,第十层级包括二百五十六层conv层。
94.进一步地,所述d模块包括依次连接的五个层级;
95.第一层级包括一百二十八层conv层,第二层级包括一层上采样层,第三层级包括一层concat操作层,第四层级包括二百五十六层dsconv网络,第五层级包括二百五十六层conv层;
96.所述d模块的第一层级的输入端与所述c模块的第七层级的输出端连接;所述d模块的第三层级的输入端还与所述c模块的第五层级的输出端连接。
97.进一步地,一层所述dsconv网络包括依次连接的一层3*3depthwise卷积层、一层bn层、一层relu层、一层1*1conv层和一层relu层。
98.工作原理:本方法采用的student网络为本文提出的轻量级网络crop-yolov3-tiny,即改进的yolov3-tiny网络。yolov3-tiny网络是yolov3的缩减版,其主干网络依然存在大量卷积操作,使得网络参数还是略显庞大。因此,借助深度可分离单元对yolov3-tiny网络的卷积层进行修改,进一步缩减网络参数。网络的结构如图5所示。该网络也接收像素为416*416的图片,输出两个特征图,两个特征图的大小分别是13*13*256和26*26*256。图中网络模块bn,即是正则化网络,负责每层网络参数的正则化。relu是激活层。maxpool表示最大池化操作,maxpool a*b/c表示池化核大小是a*b像素大小,池化核的移动步长为c个像素。cancat表示特征的拼接操作。dsconv*n表示dsconv网络的输出特征通道数为n。depthwise卷积是dsconv网络的核心模块。网络中f表示输出的通道数,具体的值可以根据任务设定,比如在本方法中由于目标检测对象少,设置为18。
99.本实施例的其他部分与上述实施例1-2任一项相同,故不再赘述。
100.实施例4:
101.本实施例还提出了一种面向终端设备的轻量级绝缘子检测方法,如图7所示,基于上述的一种面向终端设备的轻量级绝缘子检测模型,其特征在于,包括以下步骤:
102.步骤1:基于增量学习方法,在训练集训练teacher网络;
103.步骤2:采用知识蒸馏方法,用teacher网络训练student网络;
104.步骤3:用训练好的student网络执行绝缘子检测任务,并搜集数据;
105.步骤4:整理搜集的数据用于模型更新训练;
106.然后循环执行上述步骤。
107.工作原理:在模型训练上,本方案采用的是增量学习的思路,即通过teacher网络在新数据上训练,得到最新的模型参数,然后让训练好的teacher模型去训练student网络;这是一个连续学习的过程,会随着执行次数的增加,提升模型检测的鲁棒性;而现有的方法,几乎都是在同一个数据集上训练,并没有在后续执行的基础上提取数据进行模型更新训练。
108.本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。
109.实施例5:
110.本实施例在上述实施例4的基础上,为了更好地实现本发明,进一步地,所述步骤1的具体操作为:首先
111.记训练集为(xn,yn);其中,xn为图片集合,yn=(yc,yr)包含目标类别yc和坐标yr;然后进行以下操作:
112.步骤1.1:新初始化一个网络记为teacher’,teacher’网络与teacher网络具有完全一样的结构;
113.步骤1.2:记teacher’网络中,模块a中网络模块的参数与teacher网络的参数θs共享,即都采用参数θs;
114.步骤1.3:记teacher网络中,模块b中网络模块的参数为θo;记teacher’网络中,模块b中网络模块的参数为θo′

115.步骤1.4:随机初始化teacher’网络的参数θo′

116.步骤1.5:记录teacher网络在新数据集xn上的执行结果;
117.步骤1.6:记录teacher’网络在新数据集xn上的执行结果;
118.步骤1.7:根据步骤1.5和步骤1.6获得的执行结果,计算蒸馏损失ld;
119.步骤1.8:计算预测损失ln;
120.步骤1.9:根据蒸馏损失ld和预测损失ln,结合teacher’网络的a模块和b模块的参数的正则化约束,获得总体损失,通过总体损失来对teacher’网络的参数进行更新;
121.步骤1.10:重复步骤1.5-步骤1.9的步骤,直到参数收敛或达到最大迭代次数;
122.步骤1.11:输出最终的teacher’网络,作为训练好的teacher网络,用于后续训练。
123.工作原理:所述步骤1的具体操作为:首先
124.记训练集为(xn,yn);其中,xn为图片集合,yn=(yc,yr)包含目标类别yc和坐标yr;然后进行以下操作:
125.步骤1.1:新初始化一个网络记为teacher’,teacher’网络与teacher网络具有完全一样的结构;
126.步骤1.2:记teacher’网络中,模块a中网络模块的参数与teacher网络的参数θs共享,即都采用参数θs;
127.步骤1.3:记teacher网络中,模块b中网络模块的参数为θo;记teacher’网络中,模块b中网络模块的参数为θo′

128.步骤1.4:随机初始化teacher’网络的参数θo′
,具体公式为:
129.θo′

random(|θo′
|)
130.步骤1.5:记录teacher网络在新数据集xn上的执行结果;具体公式为:
[0131][0132]
步骤1.6:记录teacher’网络在新数据集xn上的执行结果;具体公式为:
[0133][0134]
步骤1.7:根据步骤1.5和步骤1.6获得的执行结果,计算蒸馏损失ld;
[0135][0136]
其中是的第i个样本,是的第i个样本,是的第i个样本,是的第i个样本;j的定义同理于i,代表第j个样本;t为常数,根据需求可进行设置,此处取值设置为4;
[0137][0138]
[0139]
其中,
[0140]
步骤1.8:计算预测损失ln;具体计算公式为:
[0141][0142]
其中是yc的第i个样本,是yr的第i个样本。
[0143]
步骤1.9:根据蒸馏损失ld和预测损失ln,结合teacher’网络的a模块和b模块的参数的正则化约束,获得总体损失,通过总体损失来对teacher’网络的参数进行更新;具体公式如下:
[0144][0145]
其中,是参数的正则化约束,可以采用l1正则化项。
[0146]
步骤1.10:重复步骤1.5-步骤1.9的步骤,直到参数收敛或达到最大迭代次数;最大迭代次数可设置为5000次,也可以采用early-stop技术提前结束训练(等待次数为20次)。
[0147]
步骤1.11:输出最终的teacher’网络,作为训练好的teacher网络,用于后续训练。
[0148]
本实施例的其他部分与上述实施例4相同,故不再赘述。
[0149]
实施例6:
[0150]
本实施例在上述实施例4-5任一项的基础上,为了更好地实现本发明,进一步地,所述步骤2的具体操作为:首先,记训练集为(xn,yn);其中,xn为图片集合,yn=(yc,yr)包含目标类别yc和坐标yr;student网络的参数记为θ;
[0151]
步骤2.1:将训练数据输入训练好的teacher网络中并计算;记网络中模块a的输出为模块b的输出记为
[0152]
步骤2.2:将训练数据输入student网络中并计算;记网络中模块c的输出为模块d的输出记为
[0153]
步骤2.3:采用l2损失函数计算模块a与模块c的误差l
hint
,所述l2损失函数为平方误差计算;
[0154]
步骤2.4:计算模块b与模块d的误差l
soft
;所述误差l
soft
为l2损失函数和交叉熵损失函数结合;
[0155]
步骤2.5:计算student网络的输出与真实值的误差l
hard
,即模块d的输出与真实值的误差;
[0156]
步骤2.6:根据student网络的总体损失更新student网络的参数;所述总体损失包括误差l
hint
、误差l
soft
和误差l
hard

[0157]
步骤2.7:重复步骤2.1-步骤2.6的操作,直到student网络的参数收敛或达到最大迭代次数;
[0158]
步骤2.8:输出最终的student网络,用于后续绝缘子检测任务。
[0159]
工作原理:在步骤2中,采用基于知识蒸馏方法,用teacher网络训练student网络;记新数据集为(xn,yn),xn为图片集合,yn=(yc,yr)包含目标类别yc和坐标yr。student网络的参数记为θ;训练流程如图7所示:
[0160]
1)将训练数据输入teacher网络中并计算;记网络中模块a的输出为模块b的输出记为
[0161]
2)将训练数据输入student网络中并计算;记网络中模块c的输出为模块d的输出记为
[0162]
3)计算模块a与模块c的l2损失(即平方误差)l
hint

[0163][0164]
其中是的第i个样本,是的第i个样本;
[0165]
4)计算模块b与模块d的误差l
soft
,这两个模块的输出包括位置和类别,因此分别采用l2损失函数和交叉熵(cross entropy loss)计算:
[0166][0167]
其中是的第i个样本,是的第i个样本;j的定义同理于i,代表第j个样本;t为常数,根据需求可进行设置,此处取值设置为4;
[0168][0169][0170]
是的第i个样本,是的第i个样本;
[0171]
5)计算student网络的输出与真实值得误差l
hard
,即模块d的输出与真实值的误差:
[0172]
[0173]
其中是yr的第i个样本,是yc的第i个样本,是的第i个样本;是的第i个样本;
[0174]
6)根据总体损失,更新student网络参数:
[0175][0176]
7)重复1~6步,直到参数收敛或达到最大迭代次数。建议最大迭代次数设置为5000次,可以采用early-stop技术提前结束训练(等待次数为20次);
[0177]
8)输出student网络,用于后续绝缘子检测任务。
[0178]
本实施例的其他部分与上述实施例4-5任一项相同,故不再赘述。
[0179]
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献