基于注意力机制的浅层图像隐写分析模型
2024-01-15段明月李爽钟小宇李丽红
段明月,李爽,钟小宇,李丽红
(1. 华北理工大学 理学院,河北 唐山 063210;2. 河北省数据科学与应用重点实验室,河北 唐山 063210;3. 唐山市工程计算重点实验室,河北 唐山 063210)
引言
隐写术与隐写分析是信息安全领域中一个重要分支,二者一直在对抗中发展,其中基于图像的隐写术与隐写分析是目前研究的重点之一。图像隐写主要分为自适应隐写算法和非自适应隐写算法:非自适应隐写算法对背景知识要求较高,通过人工选择隐写位置,是对图像无差别的修改,该思想可能会导致图像肉眼可见的失真;自适应隐写算法通过寻找最小失真代价函数来实现隐写位置的选择,使用这种隐写算法的图像不能被肉眼识别,对背景知识要求不高,是目前广泛使用的隐写算法,经典代表算法有S-UNIWARD[1]、WOW[2]、HUGO[3]。
针对自适应图像隐写算法,学者们提出了基于深度神经网络的隐写分析模型,通过训练一个深度神经网络模型提取图像特征,学习隐写算法嵌入位置,最终判别图像是否被隐写,该算法能有效识别多种隐写算法,对未知算法也能起到有效的检测效果,是目前图像隐写分析的研究重点。2016年,Xu等人[4]提出的Xu-Net模型采用固定权重的KV核对图像做预处理,通过搭建5个卷积层和1个全连接层的神经网络对图像进行训练,该模型是第一个识别效果超过SRM模型的深度神经网络。2017年,Ye等人[5]提出Ye-Net,预处理层使用SRM中的30个高通滤波器,使用了新的激活函数TLU。同年,刘明明等[6]提出了一个基于浅层神经网络的图像隐写分析模型,该模型仅使用3个卷积层,1个全连接层,就可以与前文五层以上的模型达到相近的准确率。2018年,GAO等人[7]提出了SCNN,使用2个3*3的卷积核代替一个5*5的卷积核,在感受野不变的同时减小计算量,提高了识别准确率。同年,高培贤等人[8]将密集连接模块引入,实现了原始特征的保留和多次利用。Zhu等人[9]提出了Zhu-Net,将残差模块与SPP引入模型中,进一步提高了准确率,减小了损失函数。2019年,魏立线等人[10]提出S-CNN模型,该模型只有2个卷积层和2个全连接层,减少训练层数的同时提升检测准确率。2021年,黄思远等人[11]提出了一种基于显著性检测的图像隐写分析方法,对图像的复杂区域做重点监测,用BASNet将图像的显著性区域提取出来并进行特征学习,该方法的优点是空域与JPEG通用,将图像分割融合到了隐写分析领域,但在低嵌入率情况下检测效果不好。2021年,贺丽莎等人[12]提出了一种基于残差网络与注意力机制结合的图像隐写分析模型,将注意力机制和深度残差网络相结合,加速模型收敛,提升模型检测准确率。2021年,沈军等人[13]提出了一种针对低嵌入率情况的轻量级图像隐写分析模型,通过训练该模型并使用逐步迁移的迁移学习方法,提高了检测的准确率。LIN等人[14]提出了一种多频残差深度卷积神经网络,能够同时学习隐写噪声的不同频率成分,结合残差模块同时计算不同尺度的噪声残差,有效控制模型深度的同时也取得了良好的检测性能。2022年,罗维薇等人[15]提出了一种利用融合特征的方法,更加全面地学习隐写算法引起的统计特征变化,结合PCA特征映射,有效提高了检测准确率。
但是随着模型越发复杂,模型的准确率虽然得到了提升,但参数量过大和训练时间过长造成了训练瓶颈,所以研究者们开始思考使用浅层神经网络来实现图像隐写分析。
针对轻量级图像隐写分析模型较少,检测效果还有提高空间的情况,为了进一步提高浅层模型检测准确率,依据刘明明等人[6]提出的SCNN,提出一个基于注意力机制的浅层图像隐写分析模型。
1 基础知识
随着神经网络的提出,以深度学习为基础的端到端的图像隐写分析模型开始成为研究重点,与空域富模型(SpatialRichModel, SRM)最大的不同是,图像隐写分析模型对研究者的背景知识要求降低了,只要设置好相应的深度神经网络结构就可以使模型自主学习图像特征,通过不断地更新迭代提高特征提取的有效性。
卷积神经网络结构主要包括卷积层、批量标准化层、激活函数层、池化层、全连接层和输出层。
卷积层(Conv)是用于特征提取的主要部分,预先设置卷积核大小和数量,通过卷积核与图像进行卷积操作可以提取到多样化的图像特征,通过改变卷积核的大小可以改变卷积感受野,卷积核越小,感受野越小,计算量越小,得到的特征更加具体;卷积核越大,感受野越大,计算量越大,得到的特征更加抽象。卷积操作示例如图1所示,图1中卷积核为3*3,步长为1。
图1 卷积操作示例图
批量标准化层(BN)用于标准化数据,模型的训练过程中利用小批量的均值和方差调整神经网络中间的输出,使得各层之间的输出都符合均值、方差相同的高斯分布,使得数据更加稳定,无论隐藏层的参数如何变化,可以确定的是前一层网络输出数据的均值和方差都是已知的,以此解决了数据分布不断改变带来的训练缓慢、学习率较小等问题。
激活函数层主要作用是非线性化数据,增强模型表达力。根据卷积操作示例图可以发现卷积层的操作是一种线性运算,如果不使用激活函数将2个卷积层隔离开,那么这2个卷积层实际和一个卷积操作的作用是一样,多层卷积就会失去意义,引入激活函数后将数据进行非线性化,就可以完美规避上述问题。
池化层(Pooling)首要作用是下采样,能够降低特征图维度、去除冗余信息、压缩特征图的大小、减小计算量,但是也存在一些弊端,下采样会导致细节特征丢失,具体使用情况可以根据任务目标调整。池化操作示例如图2所示,图2中为大小为2,步长为2的最大池化操作。
图2 池化操作示例图
全连接层(FC)将得到的特征图展平成一个通道数为1的向量,由此实现端到端的学习过程。
输出层一般使用softmax函数计算属于各类别的概率,该函数主要用于分类问题。
2 注意力机制
注意力机制[16]是基于人类视觉研究基础上产生的,人类在观察图像时,会选择性的关注一部分信息,而忽略其他信息,这是由于信息处理瓶颈导致的,根据以上现象提出了注意力机制,本文使用了2种注意力机制,分别为通道注意力机制和空间注意力机制,将2种机制相结合形成一个大的注意力模块(Convoltional Block Attention Model, CBAM)。
通道注意力机制是通过对输入的特征图的多通道特性给予权重的方式实现的注意力机制,通过网络对参数训练,对与预测结果相关性高的通道给与高权重,对与预测结果相关性低的通道给与低权重,以此实现模型的加速收敛。对于彩色图像来说,输入的图像分为红、绿、蓝3个通道,通过训练神经网络进行学习可以实现对特定通道的重点关注;对于灰度图像来说,通过神经网络对多层提取特征,得到一组高维特征,通过使用通道注意力给予重点特征高的权重,以达到更好的结果,通道注意力模块结构如图3所示。
图3 通道注意力模块
空间注意力机制通过一个7*7卷积核参数训练实现对重点区域的权重调整。在图像处理的大多数任务中,并不是所有的区域对结果的影响都是同等重要的,只有相关的任务区域需要重点关注,空间注意力通过学习图像特征,对重点区域给予大权重的方式实现模型对重点的关注,加速模型收敛。空间注意力模块结构如图4所示。
图4 空间注意力模块
将通道注意力与空间注意力相结合形成CBAM,结构如图5所示。
图5 CBAM结构图
3 基于注意力机制的浅层卷积神经网络
目前图像分析模型大多是使用深度神经网络进行深度叠加,通过多层级和大量参数实现模型效率提升,这样的方式使得模型在训练阶段时间长、参数多、模型大,不利于训练和使用,该研究构建了一种基于注意力机制的浅层图像隐写分析模型。模型结构如图6所示。
图6 基于注意力机制的浅层图像隐写分析模型
该模型包含1个预处理层、3个卷积层、1个注意力模块、1个全连接层和1个输出层。开始模型训练之前先经过高通滤波器层(HPF)对图像进行预处理,其作用在于忽略图像背景信息的同时放大图像中的噪声,该研究使用的是SRM的30个线性高通滤波器,由于其大小不一,为了统一处理,全部补全为5*5大小。经过处理后的特征图通道为30,大小为256,将预处理后的30维特征图输入到卷积层中,每个卷积层都包含三部分,分别为卷积层、批量标准化层和激活函数层,只有第一个卷积层包含绝对值层(ABS),其它卷积层中没有,绝对值层主要用于控制数据的波动范围,使各层的中间输出数值更加稳定,整个模型使用的激活函数均为线性整流函数(Rectified Linear Unit, ReLU),相比Sigmoid和Tanh计算速度更快,模型收敛速度更快。整个网络中没有使用池化层,由于池化层在使用中会产生过度采样问题,导致信息丢失,对于图像隐写分析任务的实现起到相反作用,使用步长为2代替池化层降低特征图尺寸。
4 数据集与实验环境
BOSSbase v1.01数据库包含10000张512*512张灰度图像,分别通过S-UNIWARD、WOW、HUGO 3种隐写算法,以0.2 bpp和0.4 bpp进行嵌入,共得到60000张隐写图像,按照7:3的比例将所有图像分为训练集和验证集,且训练集和验证集无交集。
实验的软硬件环境如下:操作系统:Ubuntu18.04,内存:16G,GPU:RTX3060,显存:12G,深度学习框架:pytorch1.8。根据服务器的GPU显存,模型在训练过程中的批处理大小设为32,即原始图像与隐写图像各16张,使用Adam优化器和交叉熵损失函数,初始学习率设置为0.01,50个epochs后学习率衰减为原来的10%,实验共设置200个epochs。
5 实验结果与分析
将BOSSbase v1.01数据集经过0.4 bpp的S-UNIWARD嵌入后作为下述实验的含密数据集,在同样的软硬件环境下,迭代次数均为200,在相同条件下将本文新模型与实验模型的准确率进行对比。Xu-Net、Ye-Net、Zhu-Net、SCNN与该研究新模型的准确率对比结果如图7所示。
图7 检测准确率对比图
观察图7可以发现,与未使用注意力模块的SCNN模型相比,使用注意力模块的浅层隐写分析模型收敛速度更快,其收敛平稳度在前期较低,后期逐渐提高,且SCNN在后期平稳度不如新模型,研究提出的新模型在识别率上比SCNN平均高出1.5%。Ye-Net与Zhu-Net均使用了更深层的神经网络,在200轮的迭代次数下不能稳定收敛,通过对比可以发现研究提出的浅层隐写模型在200轮训练下收敛效果较好,检测准确率有明显提升。Xu-Net是一个五层神经网络,通过与该神经网络对比可以发现缺少注意力机制帮助的神经网络收敛较慢,并且收敛稳定性较低,图7中可见100轮过后其波动效果比新模型更加剧烈。
实验过程中由于低嵌入率对于图像的修改较少,不利于模型训练和收敛,在0.2 bpp的实验中直接使用迁移学习将该隐写算法的0.4bpp的模型迁移并进行初始化,经过迁移学习的模型再经过少量训练后快速收敛。
使用WOW隐写算法,隐写量为0.4bpp和0.2bpp的准确率和变化量对比数据如表1所示。隐写量设置为0.2 bpp时,Xu-Net、Ye-Net、Zhu-Net、SCNN与该研究新模型的准确率分别为70.04%、68.97%、72.45%、73.75%、79.32%。当隐写量设置为0.4 bpp时,Xu-Net、Ye-Net、Zhu-Net、SCNN与该研究新模型的准确率分别为83.64%、81.23%、87.13%、90.78%、92.09%。由各模型准确率变化量可以看出同等迭代次数下,较深层的模型训练效果不佳,这是由于深层网络需要更高的迭代次数,在低迭代次数下收敛没有达到最佳状态,模型由高嵌入率迁移至低嵌入率后检测准确率均产生大于10%的下降,其中由于新模型使用了注意力机制在迁移后下降量相对较小,可见注意力机制在迁移学习后仍然能对模型保持正向作用,并且与对比模型相比,检测准确率仍保持优势。
表1 各模型在0.2 bpp与0.4 bpp准确率和变化量对比/%
在WOW隐写算法相同嵌入率下各模型的准确率表现如图8所示。
图8 各模型在0.2 bpp与0.4 bpp准确率对比图
观察图8可以发现,新模型在2种嵌入率下均优于其他模型,在0.4 bpp下新模型的识别准确率分别比Xu-Net、Ye-Net、Zhu-Net、SCNN提高8.45%、10.86%、4.96%、1.31%,在0.2 bpp下本章新模型识别率分别比Xu-Net、Ye-Net、Zhu-Net、SCNN高9.28%、10.35%、6.87%、5.57%,在2种嵌入率下与Ye-Net的差距均达到最大,均大于10%,由图中数据可以发现本文新模型在0.2 bpp嵌入下优势更大,这是由于浅层神经网络对特征没有高度抽象,更容易提取到图像噪声的细节信息,而其他较深层模型的特征高度抽象,不利于学习到微弱噪声,在0.4 bpp嵌入下噪声量增大一倍,高度抽象的特征中也能包含更多的噪声信息,所以在相对较大的嵌入率下,浅层模型的优势被缩小。
在S-UNIWARD和HUGO隐写算法下的0.4bpp与0.2 bpp嵌入率下检测准确率如表2所示。
表2 各模型在0.2 bpp与0.4 bpp准确率变化对比表/%
对于性能方面的考量主要是隐写模型涉及到的训练时间和参数量,统计结果均是在0.4 bpp的WOW图像数据上进行模型训练时间和参数量统计的,在这部分实验中,所有模型的训练轮数都设置成200以体现各个模型的收敛效果。其中SCNN以其轻量级结构在训练时间和参数量上取得最大优势,而本文提出的新模型由于加入了注意力机制,在参数量上略高于前者,但是收敛速度更快,准确率表现更好,Xu-Net因其其预处理层仅使用一个滤波核且网络结构较为简单,训练参数量为1.4万,而Ye-Net、Zhu-Net均使用了较深层的神经网络,训练参数量均高于十万,且未能稳定收敛,可见深层网络需要的训练时间更长。
6 结论
(1)提出一种基于注意力机制的浅层图像隐写分析模型,通过实验数据的对比,该模型通过使用注意力机制加速网络收敛,提高检测准确率。
(2)针对3种常用的自适应隐写算法检测效果上均有提高,与SCNN对比最高可提升5.5%,与Xu-Net对比最高提升10%,未来可以将此模块与更加深层的神经网络相结合,以便进一步提高检测准确率。