【论文阅读笔记】Deep Learning Image Steganalysis

发布于 2021-12-01 16:40 ,所属分类:知识学习综合资讯

Introduction

  • Preliminaries

    • 1. The Framework of Prevailing Image Steganalysis Methods

    • 2. Convolutional Neural Network Architecture

  • The Proposed Convolutional Neural Network For Steganalysis

  • Experiment

  • Conclusion

Deep Learning Hierarchical Representations for Image Steganalysis

几天要看的这篇论文是多媒体信息隐藏课程分配到的presentation。我觉得可以结合前几天VCC讲座中提到的对深度神经网络的理解中Representation的讲述,重点讨论里面这个representation。

目前(指2017年),较为流行的信息隐藏分析的detector主要有以下三个步骤:

  1. 残差计算 residual computation
  2. 特征提取 feature extraction
  3. 二分类 binary classification

因此可以将steganlysis理解为一个二分类问题,也即判断一张图片有没有嵌入内容。在通常的CV任务中,图片的类型千奇百怪,提取的特征随着问题的不同也各有不同。其中,设计的重点就在于特征提取的特征该如何设计。如人脸的68个关键点坐标、如纹理的重复颜色几个结构、或者一定规则形状颜色变化等等,这也可以称为图像的representation。

考虑到隐写分析问题与传统的CV问题的相似性,作者提出可以用在CV领域表现优异的CNN来替换原本的隐写分析方法的一些步骤。当然,论文提出的网络架构是基于CNN基础上做了一定的修改。首先是网络的初始化策略,论文选择采用在SRM方法中用于计算残差图的high-pass filter,然后采用truncated linear unit作为激活函数,以便更好捕捉具有很低的SNR的嵌入信息结构。通过结合信道选择的知识,论文提出的方法比前有的深度学习隐写分析方法和传统方法SRM等都更有效。

Introduction

Image steganography is the science and art to conceal secret messages in the images through slightly modifying the pixel values or DCT coefficients.

信息隐藏对抗中主要有两个重点研究内容:Steganographic,Steganalysis。前者主要研究不着痕迹地将秘密信息嵌入图像中,而后者则研究如何判断一种图片是否经过了隐写信息嵌入。二者类似于生成对抗网络中的Generator与Discriminator,彼此对立统一,共同发展。

用styleGan举个例子,现阶段styleGan已经能够产生高度真实的人脸,对人而言,已经很难区别真实的自然人脸和styleGan生成出的人脸图像。styleGan2很好地解决了StyleGan1中出现的水泡问题,也让人脸图像的真实程度更上一层。但对现阶段人脸图像生成而言,只要产生的人脸图像足够骗过人就足够。而信息隐写的目标则是骗过专门的detector。

image-20211129151016878
image-20211201103826808

当前的信息隐写的技术绝大多数基于内容自适应隐写,也就是主要在高频信息或者边界处嵌入信息,尽力避免改变平滑处的图像,因为这样会更加明显。比如在一片255的像素中突然出现一个254,这可能会让detector检测的可能性直接拉满。现有的空域隐写技术如HUGO、WOW、S-NNIWARD都采用了这种方式。

随着信息隐写技术的发展,与之相对应的隐写分析方法也在不断改进。当前空域的state-of the art是SRM以及它的几个变种(Variant)。很多方法都使用select channel来改进SRM。当前最好的隐写算法都是基于ML和特征提取的方法,pipeline大致就是计算残差、提取特征然后二分类。当前最好的feature sets是SRM的共生矩阵(co-occurrence matrix)。从隐写分析的角度出发,为更全面地获取图像的完全信息,高维的representation是不可避免的。另外,现阶段的隐写特征都是启发式设计,特征提取的pipeline是独立优化的。

image-20211129171441847

CNN一个重要的特性就是能够提取复杂的数据特征,VGG中,浅层可提取简单的几何形状,高层则提取较为复杂的纹理颜色特征。这是一种自然的分层次特征提取,也即论文标题的Hierarchical Representation。这种特性也使得CNN能够处理各种各样的CV任务,也能避免复杂的设计feature工作。前人的一些工作也证明了设计良好的CNN在隐写分析方面有比肩SRM性能。

在这篇论文中,作者同样提出了一种基于有监督CNN的隐写算法,作者提到论文提出的CNN有几个prominent characteristics:

  1. 将网络的第一层用于处理残差计算。使用SRM的30个filters来初始化网络权重,对应30个feature map,还能加速网络的收敛。
  2. 用截断线性单元(TLU)替代一部分ReLU激活函数。隐写是将一部分非常低SNR的信号嵌入到原图中。TLU的存在会让网络适应这种嵌入信号的细微分布,让网络更快学到high-pass filter。
  3. 使用selection channel

Preliminaries

1. The Framework of Prevailing Image Steganalysis Methods

还是说那三步,残差计算,特征提取,二分类

Noise Residual Computation

由于隐写是给图片添加很轻微的改动,因此自然处理残差比起处理原图的像素值要有效得多。给定一张test image

image-20211129182747551

where ∗ denotes the convolution operator, and r, c are the index of the kernel K'

实在懒得输公式了,将就着看。filter有非常多种选择,可用于产生各种不同的残差,提取不同的邻域相关信息。这种残差的多样性是SRM起作用的fundamental。

Feature Extraction

隐写分析的关键,CV任务亦然。越有区分度的特征,后续依据特征进行分类就越简单。在这一步,通过Histograms或co-occurrences获得邻域残差的集成或条件概率分布。对SRM而言,学习的特征就基于这四个共生矩阵。????

image-20211129195007356

先放放

Binary Classification

这一步就稍微好理解一些,获取完特征之后进行一定的运算,然后回的最终过的二分类结果。

2. Convolutional Neural Network Architecture

CNN通常包含几个卷积层,进行一定卷积操作之后一般是几个全连接层。卷积神经网络中卷积层的输入输出通常可称之为feature map。一般一次卷积操作后会经过非线性激活函数和池化层。

image-20211129200043373

CNN能够很好地模拟隐写分析的三个步骤。残差计算可以直接由一个卷积层实现。层叠的卷积层能够很好提取原始数据高层次且具有区分度的特征信息。分类步骤几乎完全相似。

In fact, a CNN based steganalyzer would allow to automatically unify residual computation, feature extraction and classification steps in one unique architecture without any a prior feature selection and to be optimized simultaneously as a whole framework.

The Proposed Convolutional Neural Network For Steganalysis

随机初始化权重的CNN很难收敛,因为隐写分析和传统的CV问题是有区别的,cover和stego的区分特征很微小。如下图,随机初始化结果基本就是瞎猜,对半分的概率。因此检测隐写的CNN需要专门的设计。

image-20211129202059652

网络整体架构如下:

image-20211129202419877

还是说那么些内容,

  1. 使用high-pass filter 来初始化网络,有利于嵌入信息提取。
  2. 使用TLU,适应嵌入信息的分布,使CNN在初始更有效率地学习high pass filter,其他层还是ReLU,TLU的结构如下,相当于双向的ReLU,T在实验中发现相对较小时性能会更好。
image-20211130093815387

对于传统隐写算法采取的三元STC编码策略,计算获得的噪声残差图像会有一个三元的噪声分布图,TLU函数正是考虑到了-1值存在的大量信息。

下面展示三种算法的结果(BPP=0.2),以此说明ReLU和TLU的表现:

image-20211129204446329

可以看到加入TLU之后,不论是隐写分析结果的准确性还是网络收敛的速度都有较大的提升。为了更好地阐述TLU-CNN的优越性,作者还特意做了一些可视化结果,把CNN分析得很明白。

image-20211130094925891

从左到右依次是ReLU-CNN,TLU-CNN,SCA-TLU-CNN,中间与左边相比,提取的特征有一定的区分度,没什么重复内容,也几乎没出现左侧的全白的情况(dead filter)。加入SCA后提取效果就还会更好一些。

image-20211130160134023

重点解释Knowledgeable of Selection Channel

选择通道获取到的隐写信息嵌入的概率信息。在分类阶段,需要依据残差特征信息以及隐写信息嵌入的概率信息。

Experiment

使用随机生成的embedding key。论文通过实验发现,key被固定时虽然CNN表现更好,但在测试集使用不同的key时性能大幅下降。这是由于CNN在训练集上和fixed过拟合了,现在神经网络研究的一个重要问题就是few shot数据时怎么避免网络过拟合的情况。因为对于一个很具体的问题而言,往往很难产生一个end to end的网络结构直接从原图获得结果,一方面问题越具体数据就越缺乏,另一方面只一味的增加数据集大小会浪费大量算力,网络难以高效率地从数据中提取准确信息。因此许多研究人员认为,非监督学习会成为之后神经网络应用的主流。

为了使训练的网络更具潜力,或者说能够方面迁移到更多任务中,有一个新兴概念叫做meta-learning,也就是让神经网络学习该怎么学习。这个概念和神经网络的pretrain有些类似,都是在一个数据集上训练好之后迁移到另一个使用场景中依然能够有效。在机器学习的很多问题中,很多问题都预设在一个场景中来训练大量的模型,一旦场景发生改变网络便需要重新训练,不仅浪费辛苦train好的网络学习到的内容,也不能高效的处理各类相似的问题。meta learning也就是希望网络能够在已获取知识的基础上快速学习新的任务,这是学习一种学习的能力。就人类而言,人类认识一样新鲜事物并不需要很多的样本,这是由于在开始新任务之前,人类就获取了大量的先验知识并且能够很好的利用这些知识。如果哪一天机器也能很好地利用这些先验知识,也就说明它能无止境地在同一个类型问题中训练下去。

扯远了。不是所有人都有很多V100

论文用到的数据集有BOSSbase1.01,BOWS2,受限于GPU,都处理成256*256。

Resampled Images: imresize() 0.2BPP

image-20211130170545713

Cropped Images: crop the central part 0.2BPP

image-20211130170555979

Subsampled Images: skipping every other pixels 0.8BPP

image-20211130170722404

resampled重采样再插值,看起来比subsample地方法要更平滑一些,而crop只是简单地删除了图像一部分信息。对比以上的结果,CNN在单个数据集上的结果都不如传统SRM方法以及变种maxSRMd2。作者给出地解释是,对于基于CNN的隐写分析,网络更需要较大的数据集来避免过拟合的问题。而SRM在单一BOSS就已经收敛了,增加的数据集并不能使性能有明显的提高。

隐写的Payload(bpp)升高时,各种方法的Detection Error(PE)随之下降。这很好理解,隐写信息越多,对cover的修改就越多,自然被检出隐写的概率就会越大。

看得云里雾里,selection channel到底是个啥玩意

Conclusion

总结一下,这篇论文是较早地提出基于深度学习进行隐写分析的方法。

论文将传统的隐写分析方法SRM中用于提取stego图像特征的filter与卷积神经网络结合,在网络的初始化阶段就给予网络较多的先验知识,这种策略能够很大程度加快网络收敛速度。

另外,不同与同时期另一篇论文提出的Xu-Net,论文新提出了一种截断线性单元(TLU)来替代一部分ReLU激活函数,这种设计灵感来自于SRM方法提出的截断操作。经过大量的实验,论文证明了这种专门设计的TLU结构能够加强CNN适应隐写信息分布的能力,这也进一步加快了模型的收敛速度。

论文还提出将通道选择感知的先验知识与CNN相结合,这种结合对模型在较复杂纹理处与细节区域的表现有较大的提升。

除了上述论文为了让CNN很好地适应隐写分析工作提出的改进策略,论文同时进行了大量的实验分析各类参数对实验结果产生的影响,如数据集的数目、图像预处理的方式、图像的隐写载荷,迭代时间等等。这些实验对于后续开展深度学习隐写分析任务的研究提供了一定的参考。

在后续的利用CNN进行隐写分析工作中,都基于了早期这些论文的方法提出了很多的思考。比如在2018年提出的SRNet中,网络利用ResNet摹拟传统SRM筛选特征的过程,相比于该论文省去了人工设置高通滤波器的步骤,这也说明深度学习网络或许不需要人工设置过多的先验知识。另外,SRNet采用了一些深度学习领域常用的网络改进策略,如BN层,平均池化,全局平均池化等。加大规模之后的网络设计使得深度隐写分析性能远远超过了传统的state-of-the-art。

同CV领域相似,深度学习方法在取得较好结果的同时,也存在一定的弊端。比如迁移能力弱,拟合速度慢,依赖初始化等等。最为人诟病的自然是神经网络的训练过程。复杂的网络设计一方面使得算法越来越黑盒化,另一方面更加重了训练的负担,不是所有人都能3090管饱。更让人头疼的是网络训练从来不是一件一步成功的事,大量的超参数会影响到网络的训练结果,对于网络架构设计水平一般的网络而言,简单的更改或删除某个部件可能会完全改变网络的训练结果,这就使得网络虽然是拥有成千上万个参数的庞然大物,但在训练过程依然显得孱弱,有种拆积木的感觉。怎么增加网络的鲁棒性,这也是从事深度学习相关研究的人员始终需要考虑的一个问题。

另外重点解释一下论文提到的Hierarchical Representation。在我的理解中,研究representation,更是在研究问题本身,也是为了设计更白盒化、更透明化的神经网络。representation可表示为神经网络对神经网络任务所需要的知识表达方式。神经网络处理任务的成功与否,很大程度就取决于网络能否准确学习到有用的知识。如分类任务,网络学习到这些图像特征后以此为依据进行后续分类判断。利用一些注意力机制,人们能够判断网络是否在学习有用的知识,同时约束网络学习的注意力。

有关representations的研究也是meta-learning和unspervised learning的一个重要内容。

2021.12.1 线上讲座 Deep Neural Networks for Conditional Visual Synthesis

image-20211201111246183

task1: text2image attenGan

task2: 人脸年龄风格化

task3: 音频生成人脸序列 coarse-to-fine Gan

task4: Neural Painting

image-20211201112916093

identity??

Verification consistence

贝塞尔曲线,renderer有没有必要产生更加复杂的笔触效果,觉得对绘画风格有一定影响,比如油画和钢笔画很不同,而这个任务目的更多是产生更真实地效果。cross-domain要怎么做?CoCosNet,更多学习的是映射。

ok,12.58分,食堂吃个午饭回来回到正题,待会晚上回去可以试试秋促新买的植物大战僵尸,和睦小镇保卫战。地平线零,也有点流水线的感觉,体验了十多个小时最high的时候就是一开始火箭射食草兽了,其他就没有了,等有时间试试看打到子午线城吧。算了,写完结论也没啥好写的了,开始下一篇

下面是电脑配置四步走计划,预计在2023年底完成中画质到高画质的升级

1080P 60fps 中画质2k 60fps 中画质2k 60fps高画质2k 144fps 全高
redmi 8A 23 60 1kj2 27 75hz 2kj2 27 75hz 2k2k 144 HDR
10400Famd 5600gamd 5600xamd 5800x
TUF 1650amd 6600amd 6600XTnvidia 3070ti


相关资源