APP下载

基于CNN模型的椒盐噪声图像的分类

2022-04-12赵恩铭姚志强骆成军杨燕婷刘光宇

新乡学院学报 2022年3期
关键词:椒盐高斯信噪比

赵恩铭,杨 松,姚志强,骆成军,杨燕婷,刘光宇,周 豹,王 辰

(大理大学 工程学院,云南 大理 671003)

进入大数据时代以来,人们每天都要接收大量的数字信息[1],有用信息只占这些信息的很小一部分。如果人们无法从大量信息中提取有用信息,信息冗余就会干扰大脑的思维。图像是数字信息的主要载体,对图像进行分类,有助于人们处理信息[2],能在一定程度上减少信息冗余。

自2012年以来,人们用到的主流图像分类方法都是建立在卷积神经网络(convolutional neural network,CNN)[3]基础上的,CNN的运用改变了传统的人为标注图像特征的方式,CNN模型具有学习图像特征的能力,还具有学习目标图像深层次特征的能力,CNN模型的运用能提高图像分类的准确率,因此用CNN模型研究图像分类问题具有重要的意义。

椒盐噪声是图像中经常见到的一种噪声[4],通常是因突如其来的强烈干扰产生的噪声。椒盐噪声可能表现为亮区域中出现的黑色像素点,也可能表现为暗区域中出现白色像素点[5]。CNN模型对椒盐噪声的反应非常敏感,图像中如果含有大量的椒盐噪声,利用CNN模型对图像进行分类的准确率就会大大降低。为了提高利用CNN模型对含椒盐噪声图像进行分类的准确率,我们将中值滤波法用于椒盐噪声图像的去噪环节,并将去噪后的图像分别用训练后的CNN模型、BP神经网络(BPneural network,BPNN)模型进行分类,得到了满意的分类结果。

1 分类实验流程和CNN模型的结构设计

1.1 分类实验流程

图像分类的实验流程如图1所示。从图1可以看出,实验流程包括以下步骤:首先,将经过数据增强处理的图像分为两类,组成训练集和测试集;其次,利用多种滤波方法对图像进行去噪;最后,将去噪后的图像送入CNN模型进行分类,以便获得更高的图像分类的准确率。

图1 图像分类的实验流程

1.2 CNN模型的结构与设计

从图1可以看出,CNN模型包括卷积层、归一化层、激励层、池化层、全连接层和SoftMax层。这6个层分别起以下作用:卷积层的作用是提取图像的特征;归一化层的作用是限制特征数据的范围,避免出现梯度爆炸和梯度消失现象[6];激励层的作用是通过不同的激励函数提高模型的非线性表达能力;池化层的作用是进一步提取图像特征;全连接层能将这些特征映射到样本标记空间,对图像进行分类;SoftMax层的作用是输出图像的分类结果。

CNN模型包括正向传播部分和逆向传播部分。正向传播说的是数据从输入层传到输出层,逆向传播说的是根据损失函数值,通过下降梯度更新权值[7-8]。在模型设计过程中,我们以vgg16模型[9]为基础构建了CNN模型,修改了原来的神经网络结构,增加了批量标准化操作,尽量避免训练神经网络模型时可能出现的过拟合现象,通过Relu激活函数提高了模型的非线性表达能力。

我们设计的CNN模型的结构如图2所示。输入的图像尺寸均为32×32像素,图像的通道数为3。在设计第一层网络的卷积层时,使用了6个大小为5×5像素、滑动步长为1的卷积核,进行卷积操作时采用全零填充的方式填充图像。进行卷积操作时,对数据进行批量标准化处理,选择Relu函数作为激活RSN函数,选择尺寸为2×2像素、滑动步长为2的最大池化方案,加入Dropout比为0.5的Relu函数,使部分神经元进入休眠状态,以降低过拟合的程度。第二层的网络设计与第一层相同。全连接层共有两层,每层都有512个神经元,每层的激活函数均为Dropout比为0.4的Relu函数。输出层包含三个神经元,代表SoftMax层输出的三类预测图像。

图2 CNN模型的结构

2 实验数据的处理和超参数配置

2.1 数据集的构成

为了保证CNN模型有很强的泛化能力[10],在采集图像时,我们选择了多种设备和不同的天气条件,为设备与目标物体的视角、距离以及水平线夹角[11]设置了多组参数。

采集到的图像构成了如图3所示的数据集,其中鼠标、茶杯、手机图像各120幅,共计360幅。经过数据增强处理后,得到2 520幅。随机抽取2 100幅作为训练样本,420幅作为测试样本,对CNN模型进行训练。

图3 数据集示例

2.2 数据集的预处理

2.2.1 中值滤波法和高斯滤波法

中值滤波法是一种非线性滤波方法,其特点是将数字图像中某点的值用包含该点的邻域内各点值的中值代替,以消除孤立的噪声点。该方法的优点是能保留完整的图像边缘信息。

高斯滤波法是一种线性平滑滤波方法,其特点是用指定的模板(也称卷积或掩膜)扫描图像中的每一个像素点,用模板确定的邻域内像素的加权平均灰度值替代模板中心像素点的值。该方法的优点是能消除图像中的杂点。

2.2.2 数据集的预处理

对数据集进行预处理,可以降低图像噪声的干扰,提高图像的质量,也是图像分类的重要一步。在实验过程中,先在真实环境中增加不同比例的椒盐噪声,以此模拟在真实环境中拍摄的噪声图像,再分别利用中值滤波法和高斯滤波法对图像进行去噪[12],并统计去噪图像的信噪比RSN和峰值信噪比RPSN,分析去噪效果。

信噪比和峰值信噪比的定义表示如下:

信噪比为信号功率和噪声功率的比值[14],计算公式为

峰值信噪比的计算公式为

其中,n为每个像素的比特数,为均方差。

2.3 超参数配置

在模型训练阶段,选择适当的超参数可以提高CNN模型的收敛速度和分类精度。

超参数包括学习速率、损失函数和Batch_size等。对程序进行多次调试以后,我们将实验中用到的损失函数确定为交叉熵函数,将优化器[15]确定为Adam优化器,将学习率设置为0.001,将Batch_size的值设置为32。其中交叉熵函数为

式中,x为样本,y表示实际标签,a表示预测输出,n表示样本总数。

3 实验与结果分析

3.1 图像去噪实验与结果分析

在数据集中,我们选用一幅鼠标原图(图4)进行降噪实验。

图4 鼠标原图

首先,在鼠标灰度图像中分别添加5%、7%、10%、20%和30%的椒盐噪声;其次,对含有噪声图像分别利用高斯滤波法和中值滤波法进行去噪处理;最后,统计分别用两种滤波方法处理后的图像的值和值。

添加椒盐噪声后的图像如图5所示。从图5可以看出,当椒盐噪声达到30%时,已无法有效识别图像的类别。

图5 分别添加5%、7%、10%、20%和30%椒盐噪声的鼠标图像

经过高斯滤波法和中值滤波法处理后的图像如图6和图7所示。从图6和图7可以看出:当图像中含有的椒盐噪声超过20%时,经高斯滤波法处理后的图像辨识难度仍很大,而经中值滤波法处理后的图像辨识难度小于经高斯滤波法处理后的图像辨识难度;当椒盐噪声不超过30%时,经中值滤波法处理后,仍能清楚地辨识出图像的类别。

图6 经高斯滤波法去噪后的鼠标图像

图7 经中值滤波法去噪后的鼠标图像

图像去噪后的信息统计结果如表1所示。从表1可以看出,对于同一幅含椒盐噪声图像,经中值滤波法处理后的图像信噪比要比经高斯滤波法处理后的图像信噪比高出4左右,峰值信噪比高出5左右。

表1 图像去噪后的信息统计结果

综合以上内容可知,在椒盐噪声图像去噪过程中,经中值滤波法处理后的图像要比经高斯滤波法处理后的图像更加清晰,具有更高的辨识度。因此,在CNN预处理阶段用中值滤波法为图像去噪。

3.2 CNN模型的分类实验与效果分析

为了验证我们设计的CNN模型的分类效果,选择同一数据集,将利用CNN模型与BPNN模型得到的实验结果进行对比,可以得出以下结果:在CNN模型上训练集的准确率达到83.09%,测试集的正确率达到82.86%;在BPNN模型上训练集的准确率为67.86%,测试集的准确率达到63.81%。通过计算可知,CNN模型的训练集的准确率比BPNN模型的高出15.23个百分点,测试集的准确率高出19.05个百分点。因此CNN模型能满足图像分类的需要。

根据CNN模型的训练数据,可以判断神经网络的训练是否完成以及是否发生过拟合等情况,可以判断是否需要调整网络。CNN模型的损失函数和准确率如图8和图9所示。

图8 CNN模型的损失函数曲线

图9 CNN模型的准确率曲线

从图8和图9可以看出,随着迭代次数的增加,训练集和测试集的损失函数值从2.5逐渐减小到0.5左右,准确率从0逐渐上升到83%左右。

曲线平稳表示模型训练完成,模型在迭代70次后逐渐平稳,此时测试集的准确率为82.86%。

4 结束语

我们利用深度学习理论研究了含椒盐噪声的图像经中值滤波技术处理后的图像分类问题。在数据的预处理阶段,采用中值滤波法去噪比采用高斯滤波法去噪能获得更好的去噪效果;在图像分类阶段,利用本文设计的CNN模型对图像进行分类,准确率达到了82.86%,比用传统的BP神经网络模型进行分类提高了19.05个百分点,能满足噪声图像分类的要求。

通常情况下,图像分类会受多种因素的影响,这使得图像分类难度加大。在今后的研究中,我们将通过丰富数据集和改进检测方法来进一步研究复杂背景下的图像分类问题。

猜你喜欢

椒盐高斯信噪比
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
学做椒盐虾
基于深度学习的无人机数据链信噪比估计算法
数学王子高斯
天才数学家——高斯
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
从自卑到自信 瑞恩·高斯林
保持信噪比的相位分解反褶积方法研究
椒盐芝麻烧饼
椒盐卷饼