一 SRNet隐写分析模型介绍
SRNet模型是宾汉姆顿大学(Binghamton University)Jessica教授团队于2018年提出的图像隐写分析网络模型,应该说是当时SOTA(state-of-the-art)的隐写分析网络模型了,实验证明不论对空域隐写算法还是JEPG频域隐写算法,SRNet都有较好的检测性能。关于SRNet论文、官方代码和中文翻译分别如下所示:
- SRNet网络论文地址: https://ieeexplore.ieee.org/document/8470101
- SRNet模型官方代码实现(tensorflow): http://dde.binghamton.edu/download/feature_extractors/
- SRNet知乎中文翻译: https://zhuanlan.zhihu.com/p/362127299
Jessica团队给出了tensorflow版代码,但是没有pytorch实现,小编斗胆pytorch复现了一版 (没办法,总不能厚脸皮直接用源码吧,好歹这是毕设啊),嘿嘿,其实最终还是借鉴了源码,毕竟自己复现的效果比不上源码,话说小编的脸皮好像也不是很厚吧,像我这样脸皮薄的很少见了:)
- 小编自己pytorch版SRNet模型复现: https://github.com/Uranium-Deng/Steganalysis-StegoRemoval
二 SRNet网络概述
SRNet网络结构图如下所示:

SRNet网络可以分成3段4类(从功能模块上分可以分成3段,从网路结构上可以分成4类),其中4类就是上图中下半部分的Layer Type 1 -Layer Type 4四类,3段对应功能模块,其中第一段是前两个阴影块也就是从第一层到第七层,该部分主要作用是提取之前隐写嵌入时引入的高频噪声;第二段是第三个阴影块,也就是第8层到第11层,该段主要作用是缩小特征图的维度;第三段是从第12层及其之后的所有网络层,主要扮演一个分类器的角色classifier。
关于SRNet网络模型在训练时一些超参数的设置,此处不会赘述。一开始自己按照论文中说明的超参数设置进行训练,得到的结果并不好,虽然在训练集上的accuracy一直在上升,但是在验证集上accuracy震荡的很厉害,得到的结果很不好,难道是自己用的电脑不行?鬼知道!于是小编只能慢慢摸索合适自己的网络参数。
论文中评判网络模型性能时采用的是错误率 Error Rate,计算公式为: P ( E ) = m i n P F A 1 2 ( P F A + P M D ) P(E) = min_{P_{FA}} \frac{1}{2}(P_{FA} + P_{MD}) P(E)=minPFA21(PFA+PMD),小编这里没有计算错误率,而是通过混淆矩阵计算准确率(个人认为相比于错误率,准确率更直观)此外原论文中提出引入选择信道 Selection Channel 会使模型的准确率更高,坦白说小编当时没明白选择通道怎么弄的所以就没引入选择通道。
pytorch版本SRNet网络模型如下(更多的代码大家去上面的Github网址下载吧):
import torch
import torch.nn as nn
class Block1(nn.Module):
def __init__(self, in_channels, out_channels):
super(Block1, self).__init__()
self.in_channels = in_channels
self.out_channels = out_channels
self.block = nn.Sequential

本文介绍了宾汉姆顿大学Jessica教授团队的SRNet隐写分析模型,包括其网络结构、训练过程和优化策略。重点讲述了模型的组成、超参数调整以及在空域和频域隐写检测中的应用。
最低0.47元/天 解锁文章
3028

被折叠的 条评论
为什么被折叠?



