[发明专利]基于注意力机制与胶囊网络的低照度图像分类方法有效
| 申请号: | 202010845890.1 | 申请日: | 2020-08-20 |
| 公开(公告)号: | CN111950649B | 公开(公告)日: | 2022-04-26 |
| 发明(设计)人: | 江泽涛;沈世琪 | 申请(专利权)人: | 桂林电子科技大学 |
| 主分类号: | G06V10/764 | 分类号: | G06V10/764;G06V10/82;G06K9/62;G06N3/04;G06N3/08 |
| 代理公司: | 桂林市华杰专利商标事务所有限责任公司 45112 | 代理人: | 覃永峰 |
| 地址: | 541004 广西*** | 国省代码: | 广西;45 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 注意力 机制 胶囊 网络 照度 图像 分类 方法 | ||
1.一种基于注意力机制与胶囊网络的低照度图像分类方法,其特征在于,包括以下步骤:
步骤一,制作数据源,建立数据集:将正常光照的数据集制作出相对应低照度条件的图片,并与正常光照的图片作为数据对,然后将所有图片调整为同一规格大小,形成数据集,包括以下数据集:
(1)正常光照下的可见光图片训练数据集Nor_train;
(2)图片标签训练数据集Label_train;
(3)低照度下的弱可见光训练图片数据集Low_train;
(4)正常光照下的可见光图片测试数据集Nor_test;
(5)图片标签测试数据集Label_test;
(6)低照度下的弱可见光图片测试数据集Low_test;
网络的训练标签,低照度下的弱可见光训练样本标签集作为网络的训练样本,正常光照下的可见光数据集与低照度下的弱可见光数据集构成图像对,图像内容需要高度相似,通过图像像素值归一化操作对所有图像数据进行像素值归一化处理,将像素值映射到[0,1]的范围内;
训练集占所有图片数据的80%,测试集占所有图片数据的20%,其中正常光照下可见光图片数据与低照度下弱可见光图片数据的数量为1:1的图像对,如表1所示,
表1,正常光照和低照度下训练集与测试集的数据关系表
步骤二,构建CBAM网络模块,将低照度图像增强,第一块为通道注意力channelattention,
第二块为空间注意力spatial attention,包括以下步骤:
2-1,输入Nor_train数据集低照度图像;
2-2,经过一层卷积层,包括卷积操作和ReLU激活,得到特征图F1;
2-3,进入通道注意力:对特征图F1中的每个通道同时分别进行平均池化(Avg_pooling)和最大池化(Max_pooling),再同时分别送入两层全连接层,进行下采样和上采样,激活函数为ReLU,随后将这两个特征向量相加,接着经过一个Sigmoid激活函数得到权重系数Mc,最后,拿权重系数Mc和特征图F1相乘得到缩放后的特征图F2;
2-4,进入空间注意力:将特征图F2每个像素的所有通道分别进行平均池化和最大池化,接着拼接在一起,经过一个卷积层,激活函数为Sigmoid,得到权重系数Ms,最后,拿权重系数Ms和特征图F2相乘得到缩放后的特征图F3;
2-5,CBAM模块损失函数优化:由基于MAE+SSIM的内容损失组成,包括以下步骤:
2-5-1,内容损失:是风格迁移中的损失函数之一,将预测特征图与目标图片的特征值做损失,使用MSE损失函数作为内容损失:
公式(1)中,h代表第h层神经网络,Ch表示第h层神经网络特征图的长,Hh表示第h层神经网络特征图的宽,Wh表示第h层神经网络特征图的通道数,表示内容损失函数的值,当输入待处理图片后,经过特征提取后得到输出特征同时输入目标图片y与输入一个已经训练好的VGG16网络进行训练,得到φh(y)和
2-5-2,计算MAE损失,公式如下:
公式(2)中,h代表第h层神经网络,Ch表示第h层神经网络特征图的长,Hh表示第h层神经网络特征图的宽,Wh表示第h层神经网络特征图的通道数,yh是目标参考图片的值,xh是网络预测输出的值;
2-5-3,计算SSIM损失,公式如下:
公式(3)中,μx是网络预测输出图片的所有像素的平均值,μy是目标参考图片的所有像素的平均值,σx是网络预测输出图片的所有像素的方差,σy是目标参考图片的所有像素的方差,C1,C2是为了防止分母为零的情况设置的偏置值;σxy表示网络预测输出图片和目标参考图片的所有像素的协方差;
2-5-4,改进的基于MAE+SSIM的内容损失:在CBAM模块用预测输出的增强后特征与同时经过CBAM模块输出的目标参考特征计算损失,公式如下:
Lcontent=Lcon-MAE+Lcon-SSIM (6)
h代表第h层神经网络,Ch表示第h层神经网络特征图的长,Hh表示第h层神经网络特征图的宽,Wh表示第h层神经网络特征图的通道数,φy表示目标参考图片经过网络结构得到的特征,表示网络预测输出的特征,Lcontent表示内容损失值,Lcon-MAE表示与基于内容损失的MAE损失值,Lcon-SSIM表示与基于内容损失的SSIM损失值;φh(x)为CBAM预测输出的增强后的正常光照的特征,φh(y)为目标参考图片经过CBAM得到的特征,用特征值代替图片像素值计算损失,所以,为待处理图片CBAM预测输出特征的平均值,为目标参考图片经CBAM输出的特征的平均值,为待处理图片经CBAM输出的特征的方差,为目标参考图片的所有像素的方差,C1,C2是为了防止分母为零的情况而设置的偏置值;
步骤三,构建胶囊网络CapsNet,将增强后的特征图送入CapsNet进行图像分类,前两层为编码器,后三层为解码器,包括以下步骤:
3-1,输入增强后的特征图F3到CapsNet;
3-2,低层胶囊Primary Caps层中,每个胶囊中包含多个神经元,包括不同类型的实例化参数,本层输出有N个胶囊ui,每个胶囊由8个卷积核对前一层进行卷积,i表示该层第i个胶囊;
3-3,胶囊间的动态路由算法(Routing algorithm):将Primary Caps层的低级实例与变换矩阵w相乘,变换矩阵w通过反向传播来更新,高级实例由多个低级实例组成;PrimaryCaps层的低级实例与变换矩阵w相乘后得出的可看做是以ui的视角对高级实例胶囊j的预测,j表示High-level Caps的第j个胶囊,再乘以权重值cij求和累加得到sj,cij=softmax(bij),bij定义胶囊i到j的可能性,初始值为0,将低层胶囊i对不同高层胶囊的可能性输出为概率权重值cij,并且∑j cij=1,接着在高层胶囊High-level Caps中进行求和公式如下:
∑icijuj|i (7)
即组成每个高层胶囊j由Primary Caps层组成的相关胶囊进行加权求和,然后经过压缩函数squash():
输入输出都为向量,得到一个小于1的概率vj,即被所有相关低层胶囊共同预测出的高层胶囊j存在的概率,再用概率vj与uj|i点积更新bij,
bij=bij+uj|i·vj (9)
向量的点积可得出相关性,相关性越大bij即cij越大,反之,输出的概率总和并不等于1,也就是胶囊有同时分类多个物体的能力;
迭代3次后输出,cij越大的高层胶囊将得到更多由低层胶囊提供的信息,cij越小的高层胶囊将得到更少由低层胶囊提供的信息;
Primary Caps层到High-level Caps层为全连接,由N个8维的胶囊向量输出到M个16维的胶囊向量,M为被分出的类别个数;
3-4,三层全连接层重构:将High-level Caps层输出的向量放入三层全连接网络中进行重构,前两层的激活函数为ReLU函数,第三层的激活函数为Sigmoid函数,最后生成与输入图像大小相同的图像;
3-5,跳跃连接:从第一层卷积层后到High-level Caps层后增加一段跳跃连接,将原图的背景信息传入全连接重构中;
3-6,CapsNet模块损失函数优化,将经过CBAM模块增强后的特征图进行图像分类:
CapsNet网络的损失函数由两部分组成,一个是边缘损失(margin loss),另一个是重构损失(reconstruction loss),重构损失为L2损失,公式如下:
边缘损失函数LMargin用来优化图像分类,公式如下:
LMargin=Tkmax(0,m+-||vk||)2+λ(1-Tk)max(0,||vk||-m-)2 (11)
k表示类别,vk表示第k类的High-level Caps中的高层胶囊,
公式(11)中,使用One-hot编码向量,提取图像高级实例标签集Nor_ins_train中的对应图像标签,如果正确的标签与High-level Caps层中One-hot编码结果的相同,Tk为1,否则为0,正确的标签来自于正常光照下的可见光训练样本图像高级实例标签集;m+为上界,惩罚假阳性,即预测k类存在但真实不存在,分类出来但错了,m-为下届,惩罚假阴性,即预测k类不存在但真实存在,没有分类出来,λ系数以确保训练中的数值稳定性,λ系数值为0.5;
步骤四,计算总损失函数:
LCBAM-CapsNet=Lcontent+LMargin+αLreconstruction (12)
α=0.0005
α为权重系数,将重构损失缩小到0.0005倍,使得边缘损失占主导作用,根据网格调参法对Lcontent、LMargin和Lreconstruction不同子损失函数的权重系数进行调整;
步骤五,训练注意力模块与胶囊网络,包括以下步骤:
5-1,将Low_train数据集中的低照度图像导入胶囊网络中,经过第一层卷积层后获取低级特征信息;
5-2,将低级特征信息送入channel attention模块中,对通道进行平均池化和最大池化,并放入MLP(Multi-Layer Perceptron,多层感知器)中进行非线性映射,最后归一化得出第一个权重值;
5-3,将加上第一个权重值的特征图送入spatial attention模块中,对不同位置的所有通道进行平均池化和最大池化,并一起放入卷积层中提取信息,最后归一化为第二个权重值;
5-4,对加上第二个权重的特征图进行Lcontent损失计算,得出增强后的特征图;
5-5,将步骤5-4增强后的特征图作为低级特征信息送入胶囊层,组合成向量形式,向量的方向为获取实例的方向,长度为该方向的概率;
5-6,经过两层胶囊层得到图像中高级实例,High-level Caps层可得出不同轮廓清晰细节信息饱满的实例;
5-7,在Primary Caps层前到High-level Caps层后加入跳跃连接,将一些胶囊层未获取到的非实例信息传入到全连接重构中;
5-8,将High-level Caps层获取到的信息和跳跃连接中的信息送入三层全连接中进行重构,使得重构图像接近正常光照图像;
5-9,进行损失计算,将High-level Caps层得到的边缘损失和三层全连接重构得到的重构损失进行线性组合,得到总损失,利用Adam优化器进行参数更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林电子科技大学,未经桂林电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010845890.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种鱼饵搅拌装置
- 下一篇:一种低收缩、高强度混凝土及其制备方法





