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

一种基于知识蒸馏的不良图片识别系统、方法、计算机及存储介质与流程

2021-11-03 14:31:00 来源:中国专利 TAG:


1.本发明涉及一种不良图片识别方法,尤其涉及一种基于知识蒸馏的不良图片识别系统、方法、计算机及存储介质,属于图片检测技术领域。


背景技术:

2.不良图片通过一些非法途径在网络上传播,这严重的危害到青少年的身心健康,污染了良好的网络环境。
3.现有的不良图片识别技术包括利用图片中皮肤,背景的色彩直方图信息,或者图片中人体的特殊部位信息,或者利用卷积神经网络进行特征提取和色情图片分类。但是利用图片中皮肤和背景的色彩直方图方法对于背景信息过于敏感,利用人体的特殊部位信息方法会忽略掉过小的人体私密部位,利用卷积神经网络的方法识别时间过长,无法满足一些不良图片识别系统实时响应的需求。


技术实现要素:

4.本发明为了克服不良图片识别中现有技术对于图片背景信息过于敏感,对于相比于背景信息过小的人体私密部位无法准确的进行识别,以及不良图片识别速度过慢问题,在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。
5.本发明提供了一种基于知识蒸馏的不良图片识别系统,包括,图片数据增强模块、图片特征提取模块、图片语义特征提取模块、图片类别预测模块、特征注意力映射模块、知识蒸馏模块;
6.所述图片数据增强模块用于将图片转化为张量表示,通过调整图片的亮度,对比度,饱和度,对图片进行均值滤波,方框滤波,高斯滤波,中值滤波,双边滤波,随机灰度化,随机的将图片旋转某一角度,随机的将图片进行垂直翻转或水平翻转对图片进行数据增强;
7.所述图片特征提取模块利用在imagenet上经过预训练的深度残差网络resnet50对图片进行特征提取,获取图片特征;
8.所述图片语义特征提取模块利用多头自注意力编码器获取图片的语义特征表示;
9.所述图片类别预测模块用于根据图片的特征对图片进行类别预测;
10.所述特征注意力映射模块用于从深度残差网络最后残差模块输出的特征图中获取特征注意力映射;
11.所述知识蒸馏模块用于对教师神经网络进行知识迁移以及模型压缩,利用压缩之后的模型进行不良图片识别。。
12.一种基于知识蒸馏的不良图片识别方法,包括以下步骤:
13.s1.利用图片数据增强方式对图片训练数据集进行数据增强;
14.s2.利用数据增强后的图片训练数据集训练基于图片全局特征进行识别的教师神经网络t1;
15.s3.利用数据增强后的图片训练数据集训练基于图片语义特征进行识别的教师神经网络t2;
16.s4.利用教师神经网络t1、t2,结合类别预测损失函数,特征注意力蒸馏损失函数,语义蒸馏损失函数训练学生神经网络;
17.s5.将待预测的图片输入到已训练完毕的学生神经网络中进行不良图片识别;
18.优选的,步骤s1所述利用图片数据增强方式对图片训练数据集进行数据增强,其中图片数据增强方式包括将图片以张量的形式表示,调整图片的亮度,对比度,饱和度,对图片进行均值滤波,方框滤波,高斯滤波,中值滤波,双边滤波,随机灰度化,随机的将图片旋转某一角度,随机的将图片进行垂直翻转或水平翻转。
19.优选的,步骤s2所述利用数据增强后的图片训练数据集训练基于图片全局特征进行识别的教师神经网络t1,t1为在imagenet数据集上经过预训练的深度残差网络resnet50,训练过程包括以下步骤:
20.1)取经过步骤s1数据增强后的数据集中大小为64的batch,将batch中图片张量的维度调整为3
×
224
×
224;
21.2)逐一将batch中的图片张量输入到教师神经网络t1中,利用t1残差模块中的卷积层对图片张量进行特征提取;
22.3)将t1最后残差模块输出的7
×7×
2048维度的特征图输入到平均池化层进行池化,得到1
×1×
2048维度的特征图;
23.4)将1
×1×
2048维度的特征图输入到全连接层进行不同特征之间的组合;
24.5)利用softmax层预测图片所属类别:
[0025][0026]
其中,p
i
为当前图片属于第i个类别的概率,共有6个类别,z
i
为softmax层的第i个输入;
[0027]
6)计算t1对当前图片的预测类别和图片的真实类别之间的交叉熵分类损失:
[0028][0029]
其中y为当前图片的真实类别,是t1对于当前图片的预测类别;
[0030]
7)利用反向传播算法,随机梯度下降优化算法更新t1中的参数;
[0031]
8)重复步骤1)至步骤7),直到t1中的参数收敛。
[0032]
优选的,步骤s3所述利用数据增强后的图片训练数据集训练基于图片语义特征进行识别的教师神经网络t2,其中教师神经网络t2由在imagenet数据集上经过预训练的resnet50,以及序列嵌入层,多头自注意力编码层,全连接层,softmax层组成,训练过程包括以下步骤:
[0033]
1)取经过步骤s1数据增强后的数据集中大小为64的batch,将batch中图片张量的
维度调整为3
×
224
×
224;
[0034]
2)将图片张量输入到教师神经网络t2中进行特征提取,将提取到的7
×7×
2048维度的特征图输入到教师神经网络t2的序列嵌入层中,得到49
×
2048维度的序列嵌入矩阵;
[0035]
3)将序列嵌入矩阵输入到多头自注意力编码层中,对图片进行语义的提取和编码,得到图片语义编码向量;
[0036]
4)将图片语义编码向量输入到全连接层中,得到不同语义的组合;
[0037]
5)利用softmax层预测图片所属类别:
[0038][0039]
其中,p
i
为当前图片属于第i个类别的概率,共有6个类别,z
i
为softmax层的第i个输入;
[0040]
6)计算t2对当前图片的预测类别和图片的真实类别之间的交叉熵分类损失:
[0041][0042]
其中y为当前图片的真实类别,是t2对于当前图片的预测类别;
[0043]
7)利用反向传播算法,随机梯度下降优化算法更新t2中的参数;
[0044]
8)重复步骤1)至步骤7),直到t2中的参数收敛。
[0045]
优选的,步骤s3.3)中对图片进行语义的提取和编码计算过程如下:
[0046]
1)计算自注意映射矩阵:
[0047][0048][0049][0050]
其中,为序列嵌入矩阵,为序列嵌入矩阵,为自注意可学习参数矩阵,为自注意可学习参数矩阵,为查询矩阵,键矩阵,值矩阵;
[0051]
2)将查询矩阵,键矩阵,值矩阵分别映射到10个特征空间中,其中映射到第i个特征空间中的矩阵计算公式为:
[0052][0053][0054][0055]
其中,分别是查询矩阵,键矩阵,值矩阵在第i个特征空间中的可学习投影矩阵;
[0056]
3)在第i个特征空间中计算注意力函数:
[0057][0058]
其中,q
j
为q
i
的第j个行向量,k
n
为k
i
的第n个行向量,v
n
为v
i
的第n个行向量,s(k
n
,q
j
)为打分函数,计算如下:
[0059][0060]
其中,为k
n
的转置向量;
[0061]
4)计算在第i个特征空间中图片的语义表示矩阵:
[0062][0063]
其中代表向量按列拼接;
[0064]
5)计算图片的语义表示矩阵:
[0065][0066]
其中代表矩阵堆叠。
[0067]
优选的,步骤s4所述利用教师神经网络t1、t2,结合类别预测损失函数,特征注意力蒸馏损失函数,语义蒸馏损失函数训练学生神经网络,其中学生神经网络为在imagenet数据集上经过预训练的深度残差网络resnet18,训练过程包括如下步骤:
[0068]
1)取经过步骤s1数据增强后的数据集中大小为64的batch,将batch中图片张量的维度调整为3
×
224
×
224;
[0069]
2)将图片张量逐一输入到教师神经网络t1中,计算教师神经网络t1对于图片的特征注意力映射:
[0070][0071]
其中,a为教师神经网络t1最后一个残差模块输出的特征图,c为特征图的通道数,为教师神经网络t1的特征注意力映射结果;
[0072]
3)将图片张量逐一输入到学生神经网络,计算学生神经网络对于图片的特征注意力映射:
[0073][0074]
其中,a为学生神经网络最后一个残差模块输出的特征图,c为特征图的通道数,k
s
为学生神经网络的特征注意力映射结果;
[0075]
4)计算特征注意力蒸馏损失:
[0076][0077]
式中,λ是特征注意力蒸馏损失平衡因子,为k
s
的第j个列向量,为的第j个列向量,||
·
||2表示欧式距离;
[0078]
5)计算语义蒸馏损失:
[0079][0080]
其中,分别为学生神经网络和教师神经网络t2全连接层的第i个输出,t为蒸馏温度;
[0081]
6)将图片张量输入到学生神经网络中,计算类别预测损失:
[0082][0083]
其中y为当前图片的真实类别,是学生神经网络对于当前图片的预测类别;
[0084]
7)计算学生神经网络的损失函数:
[0085]
l
student
=l
g
α
·
l
fea
β
·
l
sem
[0086]
其中,α,β为蒸馏损失平衡因子;
[0087]
8)利用反向传播算法,随机梯度下降优化算法更新学生神经网络中的参数;
[0088]
9)重复步骤1)至步骤8),直到学生神经网络中的参数收敛。
[0089]
本发明具有以下有益效果:
[0090]
本发明相比于一般的不良图片识别方法,本发明利用知识蒸馏方法,使学生神经网络可以同时利用不良图片的全局特征及语义特征进行识别。在大幅提高准确率的同时,模型体积相比于传统的不良图片识别模型更小。本发明在不良图片识别问题中相比于传统的方法准确率更高,识别速度更快。
[0091]
本发明利用知识蒸馏方法可以很好的弥补现有不良图片识别中基于卷积神经网络的方法、人体的特殊部位信息方法等的不足,知识蒸馏是一种在不影响神经网络准确度的前提下,对神经网络进行体积压缩的方法。经过知识蒸馏重新得到的神经网络相比于压缩前的神经网络体积更小,从而进行相应任务时速度更快。本方法将利用知识蒸馏对两个不良图片识别教师神经网络进行融合和压缩,使得重新得到的学生神经网络可以同时具备教师神经网络的功能,但是体积更小,使得在提升不良图片识别准确度的同时,也能大大的提高识别的速度,可以更好地满足一些不良图片识别系统对于实时响应的需求。
附图说明
[0092]
图1是本发明所用的利用图片全局特征进行识别的教师神经网络t1的整体示意图;
[0093]
图2是本发明所用的利用图片语义特征进行识别的教师神经网络t2的整体示意
图;
[0094]
图3是本发明所用的学生神经网络的整体示意图;
[0095]
图4是本发明所述的系统结构示意图;
[0096]
图5是本发明所述的方法流程示意图;
具体实施方式
[0097]
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图中示出的具体实施例来描述本发明。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0098]
具体实施方式一:
[0099]
图1是本发明所用的利用图片全局特征进行识别的教师神经网络t1的整体示意图。
[0100]
如图1所示,本发明采用带有残差模块的神经网络进行不良图片的全局特征识别,并将这个网络命名为全局特征教师神经网络,记为t1,全局特征教师神经网络的训练包含如下步骤:
[0101]
1)取经过步骤s1数据增强后的数据集中大小为64的batch,将batch中图片张量的维度调整为3
×
224
×
224;
[0102]
2)逐一将batch中的图片张量输入到教师神经网络t1中,利用t1残差模块中的卷积层对图片张量进行特征提取;
[0103]
3)将t1最后残差模块输出的7
×7×
2048维度的特征图输入到平均池化层进行池化,得到1
×1×
2048维度的特征图;
[0104]
4)将1
×1×
2048维度的特征图输入到全连接层进行不同特征之间的组合;
[0105]
5)利用softmax层预测图片所属类别:
[0106][0107]
其中,p
i
为当前图片属于第i个类别的概率,共有6个类别,z
i
为softmax层的第i个输入;
[0108]
6)计算t1对当前图片的预测类别和图片的真实类别之间的交叉熵分类损失:
[0109][0110]
其中y为当前图片的真实类别,是t1对于当前图片的预测类别;
[0111]
7)利用反向传播算法,随机梯度下降优化算法更新t1中的参数;
[0112]
8)重复步骤1)至步骤7),直到t1中的参数收敛。
[0113]
图2是本发明所用的利用图片语义特征进行识别的教师神经网络t2的整体示意图。
[0114]
如图2所示,本发明采用带有多头自注意力编码层的神经网络进行不良图片的语义特征识别,并将这个网络命名为语义特征教师神经网络,记为t2,训练过程包含如下步
骤:
[0115]
1)取经过步骤s1数据增强后的数据集中大小为64的batch,将batch中图片张量的维度调整为3
×
224
×
224;
[0116]
2)将图片张量输入到教师神经网络t2中进行特征提取,将提取到的7
×7×
2048维度的特征图输入到教师神经网络t2的序列嵌入层中,得到49
×
2048维度的序列嵌入矩阵;
[0117]
3)将序列嵌入矩阵输入到多头自注意力编码层中,对图片进行语义的提取和编码,得到图片语义编码向量;
[0118]
4)将图片语义编码向量输入到全连接层中,得到不同语义的组合;
[0119]
5)利用softmax层预测图片所属类别:
[0120][0121]
其中,p
i
为当前图片属于第i个类别的概率,共有6个类别,z
i
为softmax层的第i个输入;
[0122]
6)计算t2对当前图片的预测类别和图片的真实类别之间的交叉熵分类损失:
[0123][0124]
其中y为当前图片的真实类别,是t2对于当前图片的预测类别;
[0125]
7)利用反向传播算法,随机梯度下降优化算法更新t2中的参数;
[0126]
8)重复步骤1)至步骤7),直到t2中的参数收敛。
[0127]
图3是本发明所用的学生神经网络的整体示意图。
[0128]
如图3所示,本发明采用在imagenet上经过预训练的深度残差网络resnet18进行知识蒸馏,并将这个网络命名为学生神经网络,对于学生神经网络的训练包含如下步骤:
[0129]
1)取经过步骤s1数据增强后的数据集中大小为64的batch,将batch中图片张量的维度调整为3
×
224
×
224;
[0130]
2)将图片张量逐一输入到教师神经网络t1中,计算教师神经网络t1对于图片的特征注意力映射:
[0131][0132]
其中,a为教师神经网络t1最后一个残差模块输出的特征图,c为特征图的通道数,为教师神经网络t1的特征注意力映射结果;
[0133]
3)将图片张量逐一输入到学生神经网络,计算学生神经网络对于图片的特征注意力映射:
[0134][0135]
其中,a为学生神经网络最后一个残差模块输出的特征图,c为特征图的通道数,k
s
为学生神经网络的特征注意力映射结果;
[0136]
4)计算特征注意力蒸馏损失:
[0137][0138]
式中,λ是特征注意力蒸馏损失平衡因子,为k
s
的第j个列向量,为的第j个列向量,||
·
||2表示欧式距离;
[0139]
5)计算语义蒸馏损失:
[0140][0141]
其中,分别为学生神经网络和教师神经网络t2全连接层的第i个输出,t为蒸馏温度;
[0142]
6)将图片张量输入到学生神经网络中,计算类别预测损失:
[0143][0144]
其中y为当前图片的真实类别,是学生神经网络对于当前图片的预测类别;
[0145]
7)计算学生神经网络的损失函数:
[0146]
l
student
=l
g
α
·
l
fea
β
·
l
sem
[0147]
其中,α,β为蒸馏损失平衡因子;
[0148]
8)利用反向传播算法,随机梯度下降优化算法更新学生神经网络中的参数;
[0149]
9)重复步骤1)至步骤8),直到学生神经网络中的参数收敛。
[0150]
具体实施方式二:
[0151]
下面将具体实施方式一的方法应用于下列实施例中,以体现本发明的技术效果,实施例中具体步骤不再赘述。
[0152]
本发明在自己构建的数据集上面进行了实验验证,数据集包含60000张图片。其中包含50000张不良图片,10000张正常图片。为了客观地评价本发明算法的性能,本发明在所选出的测试集中,使用了识别准确率,神经网络模型体积大小,不良图片识别速度(张/毫秒)评价指标对本发明的效果进行评价,并且与基于色彩直方图不良图片识别方法,基于resnet101神经网络不良图片识别方法,基于卷积神经网络 目标检测不良图片识别方法在所述的数据集上做了对比实验,所得实验结果如表1所示:
[0153]
表1
[0154]
方法名称识别准确率(%)模型体积大小(mb)识别速度(n/ms)色彩直方图54.3_<=60resnet10186.5170<=85vgg32 fpn92.4261<=72本发明99.444.6<=55
[0155]
本实施方式只是对本专利的示例性说明,并不限定它的保护范围,本领域技术人
员还可以对其局部进行改变,只要没有超出本专利的精神实质,都在本专利的保护范围内。
再多了解一些

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

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

相关文献