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

一种基于宠物检测的双层标注计算二级损失的方法与流程

2021-11-20 00:37:00 来源:中国专利 TAG:


1.本发明涉及神经网络领域,特别涉及一种基于宠物检测的双层标注计算二级损失的方法。


背景技术:

2.当今社会,人工智能领域中神经网络技术发展迅猛。其中mtcnn技术也是近年来较为流行的技术之一。mtcnn,multi-task convolutional neural network(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,总体可分为p-net、r-net、和o-net三层网络结构。用于人脸检测任务的多任务神经网络模型,该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测。这三个级联的网络分别是快速生成候选窗口的p-net、进行高精度候选窗口过滤选择的r-net和生成最终边界框与人脸关键点的o-net。
3.但是,mtcnn级联检测存在以下缺陷:
4.现有对于其他物体检测训练中,使用的损失函数计算是计算类别和box,只有一个标注。只有一个类别的标注,对于宠物的标注,由于宠物的多样性,在计算整个网络回归时,受到背景影响比较大,导致训练难度增大,不容易收敛,训练的模型也很差,正确率和召回率很低。
5.此外,现有技术中还包括以下常用的技术术语:
6.1、网络结构级联:是指几个检测器通过串联的方式进行检测的方式称为级联。
7.2、卷积核:卷积核是用来做图像处理时的矩阵,与原图像做运算的参数。卷积核通常是一个列矩阵数组成(例如3*3的矩阵),该区域上每个方格都有一个权重值。矩阵形状一般是1
×
1,3
×
3,5
×
5,7
×
7,1
×
3,3
×
1,2
×
2,1
×
5,5
×
1,
……
8.3、卷积:将卷积核的中心放置在要计算的像素上,一次计算核中每个元素和其覆盖的图像像素值的乘积并求和,得到的结构就是该位置的新像素值,这个过程称为卷积。
9.4、激励函数:一种对卷积后结果进行处理的一种函数。
10.5、特征图:输入数据通过卷积计算后得到的结果称之为特征图,数据通过全连接后生成的结果也称为特征图。特征图大小一般表示为长
×

×
深度,或1
×
深度
11.6、步长:卷积核中心位置再坐标上移动的长度。
12.7、两端非对齐处理:图像或数据通过卷积核大小为3
×
3处理时,如果不够一个卷积核处理,会导致两侧数据不够,此时采用丢弃两侧或一侧数据,这种现象叫做两端非对其处理。
13.8、损失计算级联:是指在网络结构某个节点进行计算损失值,并将该损失值加权计算到整体损失中,这种计算损失值的方法叫做损失计算级联。
14.9、损失函数(loss function)也叫代价函数(cost function)。是神经网络优化的目标函数,神经网络训练或者优化的过程就是最小化损失函数的过程(损失函数值小了,对应预测的结果和真实结果的值就越接近。
15.10、范数(norm),是具有“长度”概念的函数。


技术实现要素:

16.为了解决上述现有技术存在的问题,本发明的目的在于:对宠物类别的标注使用两个标注信息,计算损失值也是两个标注的损失值。这样会消除宠物多样性对目标的影响,提高正确率和召回率。
17.具体地,本发明提供一种基于宠物检测的双层标注计算二级损失的方法,所述方法包括以下步骤:
18.s1,设计网络结构,所述网络采用二级级联检测方法:
19.s1.1,第一级网络:
20.第一层输入灰度图33
×
33
×
1,卷积核是3
×
3,步长是1,两端非对齐处理,输出深度是16,输出结果特征图(1)31
×
31
×
16;
21.第二层输入特征图(1)31
×
31
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(2)15
×
15
×
16;
22.第三层输入数据特征图(2)15
×
15
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(3)7
×7×
16;
23.第四层输入数据特征图(3)7
×7×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(4)3
×3×
16;
24.第五层输入数据特征图(4)3
×3×
16,卷积核大小是1
×
1,步长是1,输出深度是1,输出结果是特征图(5)3
×3×
1;
25.第六层输入数据特征图(4)3
×3×
16,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是4,输出结果是特征图(6)1
×1×
4;
26.第七层输入数据特征图(5)3
×3×
1,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是1,输出结果是特征图(7)1
×1×
1;
27.s1.2,第二级网络:
28.第一层输入灰度图49
×
49
×
1,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是16,输出结果是特征图(1)47
×
47
×
16;
29.第二层输入特征图(1)47
×
47
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是32,输出结果是特征图(2)23
×
23
×
32;
30.第三层输入特征图(2)23
×
23
×
32,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是64,输出结果是特征图(3)11
×
11
×
64;
31.第四层输入特征图(3)11
×
11
×
64,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是64,输出结果是特征图(4)5
×5×
64;
32.第五层输入特征图(4)5
×5×
64,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是80,输出结果是特征图(5)3
×3×
80;
33.第六层输入特征图(5)3
×3×
80,卷积核大小是1
×
1,步长是1,输出深度是1,输出结果是特征图(6)3
×3×
1;
34.第七层输入特征图(5)3
×3×
80,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是4,输出结果是特征图(7)1
×1×
4;
35.第八层输入特征图(6)3
×3×
1,卷积核大小3
×
3,步长是1,两端非对齐处理,输出深度是1,输出结果特征图(8)1
×1×
1;
36.s2,基于网络结构计算二级损失:
37.s2.1,在第一级网络中,
38.使用交叉熵计算第一级损失分类的损失值,计算损失值cls1_loss_1;
39.使用交叉熵计算第二级损失分类的损失值,计算损失值cls1_loss_2;
40.使用2-范数计算坐标微调的损失值,计算坐标微调损失值land1_loss;分类损失值权重为0.6,坐标微调损失值权重0.4;
41.第一级分类损失值权重是0.6,第二级分类损失值权重是0.4;
42.权重系数是经验值;设总的损失值为loss1,有如下计算公式:
43.loss1=0.6
×
(0.6
×
cls1_loss_1 0.4
×
cls1_loss_2) 0.4
×
land1_loss;
44.s2.2,在第二级网络中,
45.使用交叉熵计算第一级损失分类的损失值,计算损失值cls2_loss_1;
46.使用交叉熵计算第二级损失分类的损失值,计算损失值cls2_loss_2;
47.使用2-范数计算坐标微调的损失值,计算坐标微调损失值land2_loss;
48.分类损失值权重为0.6,坐标微调损失值权重0.4;
49.第一级分类损失值权重是0.4,第二级分类损失值权重是0.6;
50.权重系数是经验值,设总的损失值为loss2,有如下计算公式:
51.loss2=0.6
×
(0.4
×
cls2_loss_1 0.6
×
cls2_loss_2) 0.4
×
land2_loss。
52.所述步骤s1.1,特征图(5)3
×3×
1是用于第一级分类损失值计算的预测值,特征图(7)1
×1×
1用于第二级分类损失值计算的预测值;特征图(6)1
×1×
4是用于坐标微调损失计算的预测值。
53.所述步骤s1.2,特征图(6)3
×3×
1是用于第一级分类损失值计算的预测值,特征图(8)1
×1×
1用于第二级分类损失值计算的预测值;特征图(7)1
×1×
4是用于坐标微调损失计算的预测值。
54.所述步骤s2.1,使用交叉熵计算第一级损失分类的损失值,将第一级网络的特征图(5)3
×3×
1转化为向量,与类别标注值做交叉熵计算损失值cls1_loss_1;使用交叉熵计算第二级损失分类的损失值,将第一级网络的特征图(7)1
×1×
1转化为向量,与类别标注值做交叉熵计算损失值cls1_loss_2;使用2-范数计算坐标微调的损失值,将第一级网络的特征图(6)1
×1×
4转为向量,与坐标微调标注值做2-范数计算坐标微调损失值land1_loss。
55.所述步骤s2.2,使用交叉熵计算第一级损失分类的损失值,将第二级网络的特征图(6)3
×3×
1转化为向量,与类别标注值做交叉熵计算损失值cls2_loss_1;使用交叉熵计算第二级损失分类的损失值,将第二级网络的特征图(8)1
×1×
1转化为向量,与类别标注值做交叉熵计算损失值cls2_loss_2;使用2-范数计算坐标微调的损失值,将第二级网络的特征图(7)1
×1×
4转为向量,与坐标微调标注值做2-范数计算坐标微调损失值land2_loss。
56.所述的交叉熵计算是通过交叉熵代价函数获
得,其中n是训练数据的个数,这个加和覆盖了所有的训练输入x,y是期望输出。
57.所述的2-范数计算即向量元素绝对值的平方和再开方:
58.由此,本技术的优势在于:本发明方法简单,通过对宠物类别的标注使用两个标注信息,计算损失值也是两个标注的损失值,消除宠物多样性对目标的影响。
附图说明
59.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
60.图1是本发明方法的流程图。
61.图2是本发明方法中第一级网络结构的示意图。
62.图3是本发明方法中第二级网络结构的示意图。
具体实施方式
63.为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
64.如图1所示,本发明涉及一种基于宠物检测的双层标注计算二级损失的方法,所述方法包括以下步骤:
65.s1,设计网络结构,所述网络采用二级级联检测方法:
66.s1.1,第一级网络:
67.第一层输入灰度图33
×
33
×
1,卷积核是3
×
3,步长是1,两端非对齐处理,输出深度是16,输出结果特征图(1)31
×
31
×
16;
68.第二层输入特征图(1)31
×
31
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(2)15
×
15
×
16;
69.第三层输入数据特征图(2)15
×
15
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(3)7
×7×
16;
70.第四层输入数据特征图(3)7
×7×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(4)3
×3×
16;
71.第五层输入数据特征图(4)3
×3×
16,卷积核大小是1
×
1,步长是1,输出深度是1,输出结果是特征图(5)3
×3×
1;
72.第六层输入数据特征图(4)3
×3×
16,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是4,输出结果是特征图(6)1
×1×
4;
73.第七层输入数据特征图(5)3
×3×
1,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是1,输出结果是特征图(7)1
×1×
1;
74.s1.2,第二级网络:
75.第一层输入灰度图49
×
49
×
1,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是16,输出结果是特征图(1)47
×
47
×
16;
76.第二层输入特征图(1)47
×
47
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是32,输出结果是特征图(2)23
×
23
×
32;
77.第三层输入特征图(2)23
×
23
×
32,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是64,输出结果是特征图(3)11
×
11
×
64;
78.第四层输入特征图(3)11
×
11
×
64,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是64,输出结果是特征图(4)5
×5×
64;
79.第五层输入特征图(4)5
×5×
64,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是80,输出结果是特征图(5)3
×3×
80;
80.第六层输入特征图(5)3
×3×
80,卷积核大小是1
×
1,步长是1,输出深度是1,输出结果是特征图(6)3
×3×
1;
81.第七层输入特征图(5)3
×3×
80,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是4,输出结果是特征图(7)1
×1×
4;
82.第八层输入特征图(6)3
×3×
1,卷积核大小3
×
3,步长是1,两端非对齐处理,输出深度是1,输出结果特征图(8)1
×1×
1;
83.s2,基于网络结构计算二级损失:
84.s2.1,在第一级网络中,
85.使用交叉熵计算第一级损失分类的损失值,计算损失值cls1_loss_1;
86.使用交叉熵计算第二级损失分类的损失值,计算损失值cls1_loss_2;
87.使用2-范数计算坐标微调的损失值,计算坐标微调损失值land1_loss;
88.分类损失值权重为0.6,坐标微调损失值权重0.4;
89.第一级分类损失值权重是0.6,第二级分类损失值权重是0.4;
90.权重系数是经验值;设总的损失值为loss1,有如下计算公式:
91.loss1=0.6
×
(0.6
×
cls1_loss_1 0.4
×
cls1_loss_2) 0.4
×
land1_loss;
92.s2.2,在第二级网络中,
93.使用交叉熵计算第一级损失分类的损失值,计算损失值cls2_loss_1;
94.使用交叉熵计算第二级损失分类的损失值,计算损失值cls2_loss_2;
95.使用2-范数计算坐标微调的损失值,计算坐标微调损失值land2_loss;
96.分类损失值权重为0.6,坐标微调损失值权重0.4;
97.第一级分类损失值权重是0.4,第二级分类损失值权重是0.6;
98.权重系数是经验值,设总的损失值为loss2,有如下计算公式:
99.loss2=0.6
×
(0.4
×
cls2_loss_1 0.6
×
cls2_loss_2) 0.4
×
land2_loss。
100.具体地,可以表述如下:
101.1、网络结构。网络采用二级级联检测方法。
102.1)第一级网络
103.第一层输入灰度图33
×
33
×
1,卷积核是3
×
3,步长是1,两端非对齐处理,输出深度是16,输出结果特征图(1)31
×
31
×
16。第二层输入特征图(1)31
×
31
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(2)15
×
15
×
16。第三层输入数据特征图(2)15
×
15
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(3)7
×7×
16。第四层输入数据特征图(3)7
×7×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是16,输出结果是特征图(4)3
×3×
16。第五层输入数据特征图(4)3
×3×
16,卷积核大小是1
×
1,步长是1,输出深度是1,输出结果是特征图
(5)3
×3×
1。第六层输入数据特征图(4)3
×3×
16,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是4,输出结果是特征图(6)1
×1×
4。第七层输入数据特征图(5)3
×3×
1,卷积核大小是3
×
3,步长是1,输出深度是1,两端非对齐处理,输出结果是特征图(7)1
×1×
1。网络结构流程图如图2所示。
104.特征图(5)3
×3×
1是用于第一级分类损失值计算的预测值,特征图(7)1
×1×
1用于第二级分类损失值计算的预测值。特征图(6)1
×1×
4是用于坐标微调损失计算的预测值。
105.2)第二级网络
106.第一层输入灰度图49
×
49
×
1,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是16,输出结果是特征图(1)47
×
47
×
16。第二层输入特征图(1)47
×
47
×
16,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是32,输出结果是特征图(2)23
×
23
×
32。第三层输入特征图(2)23
×
23
×
32,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是64,输出结果是特征图(3)11
×
11
×
64。第四层输入特征图(3)11
×
11
×
64,卷积核大小是3
×
3,步长是2,两端非对齐处理,输出深度是64,输出结果是特征图(4)5
×5×
64。第五层输入特征图(4)5
×5×
64,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是80,输出结果是特征图(5)3
×3×
80。第六层输入特征图(5)3
×3×
80,卷积核大小是1
×
1,步长是1,输出深度是1,输出结果是特征图(6)3
×3×
1。第七层输入特征图(5)3
×3×
80,卷积核大小是3
×
3,步长是1,两端非对齐处理,输出深度是4,输出结果是特征图(7)1
×1×
4。第八层输入特征图(6)3
×3×
1,卷积核大小3
×
3,步长是1,两端非对齐处理,输出深度是1,输出结果特征图(8)1
×1×
1。网络结构流程图如图3所示。
107.特征图(6)3
×3×
1是用于第一级分类损失值计算的预测值,特征图(8)1
×1×
1用于第二级分类损失值计算的预测值。特征图(7)1
×1×
4是用于坐标微调损失计算的预测值。
108.2、损失的计算。
109.第一级网络
110.使用交叉熵计算第一级损失分类的损失值,将第一级网络的特征图(5)3
×3×
1转化为向量,与类别标注值做交叉熵计算损失值cls1_loss_1。使用交叉熵计算第二级损失分类的损失值,将第一级网络的特征图(7)1
×1×
1转化为向量,与类别标注值做交叉熵计算损失值cls1_loss_2。使用2-范数计算坐标微调的损失值,将第一级网络的特征图(6)1
×1×
4转为向量,与坐标微调标注值做2-范数计算坐标微调损失值land1_loss。分类损失值权重为0.6,坐标微调损失值权重0.4。第一级分类损失值权重是0.6,第二级分类损失值权重是0.4。权重系数是经验值。设总的损失值为loss1,有如下计算公式:
111.loss1=0.6
×
(0.6
×
cls1_loss_1 0.4
×
cls1_loss_2) 0.4
×
land1_loss
112.第二级网络
113.使用交叉熵计算第一级损失分类的损失值,将第二级网络的特征图(6)3
×3×
1转化为向量,与类别标注值做交叉熵计算损失值cls2_loss_1。使用交叉熵计算第二级损失分类的损失值,将第二级网络的特征图(8)1
×1×
1转化为向量,与类别标注值做交叉熵计算损失值cls2_loss_2。使用2-范数计算坐标微调的损失值,将第二级网络的特征图(7)1
×1×
4转为向量,与坐标微调标注值做2-范数计算坐标微调损失值land2_loss。分类损失值权
重为0.6,坐标微调损失值权重0.4。第一级分类损失值权重是0.4,第二级分类损失值权重是0.6。权重系数是经验值。设总的损失值为loss2,有如下计算公式:
114.loss2=0.6
×
(0.4
×
cls2_loss_1 0.6
×
cls2_loss_2) 0.4
×
land2_loss。
115.所述的交叉熵计算是通过交叉熵代价函数获得,其中n是训练数据的个数,这个加和覆盖了所有的训练输入x,y是期望输出。
116.所述的2-范数计算即向量元素绝对值的平方和再开方:
[0117][0118]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献