深度学习注意力机制消除图像噪声

《换巢鸾凤》

弃剑封刀 大隐归闹市 自觉逍遥 断江湖旧梦 任六界风飙 金窗绣户看妖娆 情丝暗生 心事难描 佳期晚 怕流年暗消年少

春到 人难老 回首仙家 自是人间好 旧雨新知 两难分付 别有一丝烦恼 几度轮回误尘缘换巢鸾凤教偕老 羡鸳鸯 纵千金难买一笑

公司项目,已申请专利

图像噪声是指存在于图像数据中的不必要的或多余的干扰信息。噪声在图像上常表现为引起较强视觉效果的孤立像素点或像素块。它以无用的信息形式出现,扰乱图像的可观测信息。通俗的说就是噪声让图像不清楚。图像噪声包括多种形式,比如椒盐噪声、摩尔纹、模糊化等,噪声的存在严重影响了图像的质量,掩盖了图像原本的信息,对图像的观测和后续处理造成麻烦。因此,消除图像噪声,恢复图像原本的信息成为图像处理领域中一个极为重要的方向。

图形的各种噪声基本都是在原有图像信息上叠加一些额外高频信息,如何将这些额外的无用信息从图像中分离出来成为图像去噪的关键处理。

本文为一种基于深度学习注意力机制的神经网络模型,使用卷积操作将图像分解为不同的特征通道,达到类似傅里叶变换法将图像分为不同频率分量的效果,并通过神经网络注意力机制自动选择不同的特征通道,通过深度学习的反向梯度下降算法,利用神经网络的拟合学习能力,通过监督学习使得神经网络分辨出各个特征通道的信息表征,自动将原图像信息相关的特征通道保留或增强,将噪声信息相关的特征通道去除或减弱,即原图像信息相关的特征通道给分配较大的权重,噪声信息相关的特征通道分配较小的权重,再将这些新的特征通道恢复成原图像,即可消除原图像中的噪声。

本文设计了一种基于注意力机制和Encoder-Decoder的神经网络模型称为LANet,用于消除图像中的噪声部分,重构生成原图像的无噪声新图像。使用FPN特征金字塔结构用于图像多尺寸处理以及各个尺度下的特征融合;神经网络基于批次归一化、3×3卷积、非线性化操作的特征提取模块(FE);注意力机制模块(Attention);基于3×3卷积和1×1卷积的特征压缩模块(FS);基于反卷积操作、特征加和模块和和注意力机制模块的图像重构模块(Decoder);增加了L2正则化和DropBlock技术用于防止神经网络过拟合;增加了Resnet技术增加前后特征层的数据交互,最大限度保留浅层的特征,消除梯度消失现象;加入数据并行(DP)模式用于减少显存消耗和提升训练速度。使用神经网络对训练数据集进行深度学习,将噪声缺陷图片输入已完成训练的模型进行推理,重构消除噪声后的新图片,并与传统的缺陷检测软件判定的类别进行综合判等。本文提高了深度卷积网络的泛化性能,与传统检测算法融合使用,提高了消除噪声的效果。

作者的硬件配置是Ubuntu18.04+CUDA10.1+cuDNN8.5+GeForce RTX Titan 24G *2,看着很吊,其实一般。

目录

1.整体检测流程

2.噪声图像获取

3.图像预处理

4.LANet模型结构

5.神经网络数据流

6.神经网络参数

7.训练神经网络

深度学习注意力机制图像去噪流程

本文噪声消除方案分为噪声图像获取、图片预处理、AI神经网络模型设计编码、AI模型训练、AI模型测试部署五个步骤。

噪声图像获取

AI模型处理的是图片数据,本文使用的是监督学习的深度学习技术,因此需要无缺陷的标准图片及其对应的增加了噪声的图片。原图可以使用现有图片或是通过拍照的方式获得,噪声图片根据噪声的类型通过不同方式获得。

摩尔纹图片:本文使用荣耀8手机用于显示无摩尔纹图片,使用海康SVS ECO815CTLGEC工业面阵相机通过垂直于屏幕方向拍摄华为荣耀8手机屏幕;

椒盐噪声:本文使用PhotoShop软件在原图上人工加上白点;

点线缺陷:本文使用OpenCV库函数在原图上随机增加各种点线缺陷;

噪声图像预处理

对于通过拍照获取的噪声图片,在送入AI神经网络进行训练前,需要对图片进行一些预处理工作,包括图片裁剪、和原图对齐矫正、图片数据集增强等。

图片裁剪缩放:使用相机拍摄得到的噪声图片除了显示器屏幕部分外还包括一些周围背景部分,这部分图像是不需要的,可能会对AI神经网络的训练及检测带来影响,且多出来的图像也会增加AI神经网络训练和测试时的时间成本以及GPU显存消耗,因此需要通过裁剪的方式去除这些无用图像,只保留原图片内容。并使原图和拍照图的长宽为2的次方,便于后期AI运算。

和原图对齐矫正:需要把拍照得到的噪声图片和原图进行对齐矫正,使得原图和拍照图大小一致,内容位置尽量吻合即各像素尽量对齐。

数据集增强:AI神经网络训练时需要大量的样本图片,通过从大量样本中学习到的数据特征进行建模,有些时候数据集并不是那么充分且通过拍照增加数据集需要额外的时间人力成本,需要通过数据增强方式人为“增加”样本数据,数据增强包括对照片进行旋转、偏移、镜像、裁剪、拉伸、灰度变换等图像操作,使得新图片和原图“看起来”不一样,一定意义上生成了新的图片,扩充了数据集。需要对原图和拍照图做同样的操作。

LANet神经网络设计

由于噪声缺陷的特征以及期望的结果,本文选择使用基于注意力机制的神经网络进行噪声图像的恢复重构,将噪声照片输入AI模型,得到重构后的无噪声图片。AI神经网络基于卷积、池化、非线性化、BN等操作,对输入图片样本进行特征提取(Encoder),每个阶段的特征提取都使用了注意力机制,将噪声相关的特征尽可能消除,只保留无噪声的图片特征;得到样本高维特征空间后,使用这些特征进行图像的重构恢复(Decoder),使得模型对于噪声照片具有消除噪声的效果,最终输出重构后的无噪声图片。

本文的图像去噪方法类似傅里叶变换,将图像信息分解成不同的特征通道,每个特征通道表示图像的某种信息,使用深度学习方法自主学习各个特征通道的信息,将其中和噪声相关的特征通道通过注意力机制减弱或消除,相当于消除图像中的噪声信息,之后使用剩下的这些特征通道重构无噪声的图像。与傅里叶变换不同的是,特征通道的选择不需人工干预,完全由神经网络自主学习得到。

本文自主设计一套AI神经网络体系结构名为LANet,如下图:

 整个神经网络分为Encoder和Decoder两部分,Encoder和Decoder有横向的连接线构成FPN结构。左边为图像特征提取分支(Encoder),包括6个Bottleneck模块,每个Bottleneck包含一个FE、一个Attention和一个FS模块,每次通过Bottleneck模块使得特征图长宽减半,通道数增大,Bottleneck的输出分为两条支路,一条纵向输入下一级Bottleneck,另一条横向输入同级的Up_sample模块;右边为图像重构分支(Decoder),包括5个Up_sample模块和一个conv_out模块,每个sample包含一个Conv_t、一个Add和一个Attention模块,每个Up_sample接受临近一个Bottleneck和一个Up_sample的输出,每次通过Up_sample模块使得特征图长宽加倍,通道数减小。

Bottleneck:Bottleneck作为Encoder分支主要模块,用于从图形中提取特征并在从中区分出图形信息和噪声信息,通过注意力机制对这些信息特征加以删选,Bottleneck模块包括一个特征提取模块(FE),一个注意力机制模块(Attention)和一个特征压缩模块(FS)。

Feature Extraction:特征提取模块通过卷积操作提取输入图像的特征,将图像的长宽尺寸进行减半,特征通道增加。包括Batchnorm批次标准化、3×3卷积、ReLU激活函数非线性化和Resnet操作,并加入DropBlock;

Attention

 注意力机制通过对不同特征通道分配归一化的权重,增强某些特征通道而抑制其他的特征通道,达到选择特征信息的效果。

输入特征分为3条分支,右边这条经过全局平均池化(Global Pooling) 、全连接层1(Full Connection) 、ReLU激活函数、全连接层2以及Sigmoid激活函数,输出一个维度等于输入特征通道数的归一化一维向量,这就是各个特征通道的注意力权重,将其和中间分支的输入特征各个通道相乘,再和左边分支的输入特征各值相加。

Feature Squeeze

使用1×1卷积对上一层输出的特征通道进行压缩,减少特征通道数,目的是增加特征通道之间的信息交融并减少计算量。

Up_sample:Up_sample作为Decoder分支主要模块,用于从Encoder模块提取完成的特征空间中重构恢复出无噪声的图像,主要包括反卷积操作(Conv_t) 、特征加和模块(Add)和注意力机制。

通过反卷积操作将特征通道的长宽增加一倍,特征通道数减小,并进行再进行DropBlock处理;通过特征加和模块和Encoder分支同一层的特征进行相加,将浅层的特征信息融合进来,利于图像信息恢复;再通过注意力机制模块进一步删选有用信息。

Conv_out模块:Up_sample1输出的特征图会送入Conv_out模块,通过反卷积和3×3卷积恢复成和输入原图一样大小的3通道图片。

MSE损失函数:均方误差(MSE)是最常用的回归损失函数。MSE是目标变量与预测值之间距离平方之和,本专利使用经过LANet神经网络模型恢复重构后的图片和标准无噪声原图对应像素进行MSE,得到误差值,再进行反向梯度计算,更新神经网络的权重值。

本文使用L2正则化和DropBlock技术用于较小神经网络过拟合效应,使用ReLU激活函数和kaiming权重初始化方法。

本专利使用Nvidia APEX并行计算加速库,用于减少神经网络模型训练时间以及降低显卡显存消耗,并加入了混合精度以及同步归一化技术。

神经网络数据流

LANet构建Encoder-Dencoder结构,使用深度学习注意力机制从图像中删选出有用特征,去除噪声特征,再重构出无噪声的图像。

1. 原图进入左边分支,从上到下开始Encoder过程,依次经过Bottlrneck模块,最后到达Bottlrneck6;

2. Bottlrneck6的特征图进入右边分支,从下到上开始Decoder过程,依次经过Up_sample模块,每个Up_sample模块接收下方和Encoder分支的特征,最后到达Up_sample1;

3. Up_sample1进过Conv_out模块恢复成和原图下一样大小的图片;

神经网络参数

参数名缺省值参数说明
drop rate0.5模型权重失效率
image size1024*1024输入模型的照片预处理后的尺寸
loss typeFocal损失函数类型
batch3每次送入神经网络的照片数量
adamTrue是否使用Adam优化器
lr0.002训练学习率
lr_schedulerpoly学习率改变策略
momentum0.9SGDM优化器动量参数
weight decay0.0005权重衰减值
activeReLU激活函数选择
模块输入通道数FE输出通道数Attention输出通道数FS输出通道数
Bottleneck136128
Bottleneck28244816
Bottleneck31626432
Bottleneck4326412832
Bottleneck5326412864
Bottleneck664128256128

神经网络训练

整个神经网络训练分为正向推理和方向传播:

1.正向推理:噪声图片数据输入LANet神经网络,按照4.2的数据流程通过神经网络,最终重构成结果图;

2.结果图和原图片的无噪声标准图片使用4.3.9节的MSE损失函数,对应像素计算损失值;

3.反向传播:优化器算法,将损失值方向传播到神经网络的各个阈值参数上,并更新阈值;

4.反复进行1-3,不停更新神经网络阈值参数,使得正向推理得到的结果图和无噪声标准图片的损失值达到要求,即结果图为去噪声后的图像,停止训练;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千穹凌帝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值