论文题目:Hybrid LSTM and Encoder-Decoder Architecture for Detection of Image Forgeries
论文地址: https:// ieeexplore.ieee.org/abs tract/document/8626149
(ppt已制作完成,聊天框输入“混合LSTM”)
解读
LSTMEnDec:cnn网络与长短时记忆网络相结合,双流结构(与双流faster类似),网络结构如下。
输入图像一流送到cnn网络进行训练(encoder),结构是卷积、残差连接、最大池化提取空间特征图。另外一流把输入图像切分成64块,对块进行重采样,提取重采样特征送到LSTM网络得到8*8*Nf的特征(通道Nf=64)。之后两流特征融合再上采样(decoder),softmax输出预测结果。
创新点
1.将图像作为输入,利用图像的全局上下文再来进行切片操作。
2.双流分支结构,一流进行patch采样得到频域特征,另一流使用卷积进行编码得到空间特征,然后融合再解码(上采样)输出。
3.提出新的篡改数据集用于训练DRESDEN(40k)、NIST'16(25k)数据集未公布。
LSTM流
切片的64块(32*32*3)小图像先进入resampling feature进行重采样,目的是找到可能的篡改区域。这里就使用到了Radon变换,首先用laplacian(拉普拉斯)滤波器得到patch的线性预测误差幅值,然后Radon用不同的投影角度把误差累加起来,这样就得到可能篡改区域的信息,最后输出是8*8*Nh(Nh=128)。
下图解释为什么使用Radon变换
a、原图 b、绿框为真实位置,红框篡改位置 c、patch提取的框位置 d、Radon色谱图 e、Radon列求和
主要看e图,1、3为非篡改区域,2、4篡改区域,可以看到曲线峰值右侧2、4(篡改)曲线更平缓。这点可以作为可能的有效信息来找到篡改区域。
接下来特征将进入LSTM网络,但是在这之前作者又引入了hilbert curve,因为LSTM性能很大程度取决于patch排序。重采样得到的特征是多维的,空间信息多而冗余,使用希尔伯特曲线可以把多维空间转为一维并且能关联相邻块。
hilbert curve 64
先分成四个大正方形,在每个大正方形里分4个小正方形,小正方形里再分4个单位正方形。线段通过调节曲线函数的参数能在小正方形里走到4个单位正方形其他地方,虚线代表与其他小正方形(块)的联系。
现在将正式把重采样特征喂到LSTM中,这里使用两个 stacked layers,64个时间步长,在每个时间步长的最后一层获得64尺寸特征向量,最后输出8*8*Nf特征(网上有原理讲解)。
Encoder流
图像(256*256*3)喂到cnn中,依次卷积(卷积核3*3**d,d=32,64,128,256递增)、最大池化(步长为2,特征图缩小2倍)、残差连接,进行4次提取得空间特征图(此部分网络结构不难)。
两流融合上采样
特征融合这里论文并没有怎么提(猜想应该是两个8*8的拼接)。Decoder部分也比较简单,上采样、卷积、标准化做了两次,最后接softmax(本质还是二分类,是或不是篡改)预测结果。
网络的训练实验部分,细节处论文说的很少,作者把重点放在介绍他们自己创造的数据集(然而提出的篡改数据集并未公布DRESDEN(40k)、NIST'16(25k),制作数据集参考论文)。
实验结果对比
评价指标使用像素级准确率(篡改语义)和AUC。
table2是篡改分类精确度,LSTM-EnDec是最终使用的网络,在LSTM-EnDec-Base基础上微调得到。数据集为nist16,ieee,coverage,论文提出的网络模型与其他比较效果最好。
table3是AUC在三个数据集上的得分,与其他8个模型比较结果均最佳。
模型局限
1.当patch较小时(原图框较小),精度下降,篡改预测不准确(如图e、f中间列) 。
2.网络有时会判断错误,e图最后一列是非篡改区域,预测结果却是篡改区域。
文章同步公众号『深度学习框架点滴』
码字不易,给赞鼓励,我是休柏,向阳花开。