基于改进DeepLabv3+的拼接篡改定位检测技术
张继威, 牛少彰, 曹志义, 王心怡    
北京邮电大学 智能通信软件与多媒体北京市重点实验室, 北京 100876
摘要

目前大部分的拼接检测算法主要检测图片是否经历了拼接篡改,而不是对拼接区域进行定位检测,对此,提出了一种基于改进DeepLabv3+的拼接区域定位检测技术.首先,改变原DeepLabv3+网络的分类数;其次,通过改造图像训练库,在训练库中加入含有人物的原图,对原图和篡改图的标签进行区别设置,引导改进的DeepLabv3+网络去学习原图人物和篡改人物特征的区别.实验结果显示,基于改进DeepLabv3+的拼接区域定位检测技术在CASIA数据库上取得了更好的拼接区域定位效果.

关键词: 改进DeepLabv3+     图像拼接     区域定位     轮廓学习     边缘特征    
中图分类号:TN929.53 文献标志码:A 文章编号:1007-5321(2019)01-0068-06 DOI:10.13190/j.jbupt.2018-244
Locating Image Splicing by Improved DeepLabv3+
ZHANG Ji-wei, NIU Shao-zhang, CAO Zhi-yi, WANG Xin-yi    
Beijing Key Laboratory of Intelligent Telecommunication Software and Multimedia, Beijing University of Posts and Telecommunications, Beijing 100876, China
Abstract

As the existing splicing detection algorithms mainly detect whether the image has undergone image splicing, rather than regional localization of the spliced area. An improved DeepLabv3+ network that changes the categories of original DeepLabv3+ network is proposed to locate image regional forgery. In addition, the original images are added to the training dataset, and the ground truth of the original images are set to be black images, which will guide the network to learn the difference between the original images and the spliced images. Experimental results show that the improved DeepLabv3+ network has achieved a finer effect for locating image regional forgery than the existing algorithms on the CASIA database.

Key words: improved DeepLabv3+     image splicing     regional localization     contour learning     edge features    

美图秀秀、美颜相机等照片编辑软件的使用,使得图像篡改变得越来越容易[1],在常见的社交媒体如新浪微博、百度新闻等平台传播着大量的篡改照片.拼接篡改是图像篡改中最常见的类型之一,其通过从一个图像中复制区域并粘贴到另一个图像中实现图像的篡改.

某些涉及政治、军事等领域的图像篡改行为可能会对国家和社会产生巨大的危害, 损失无法估量.目前主要的拼接篡改检测技术解决的是一个图像是否经历了拼接篡改,而没有定位到篡改区域的位置[2],相对较少的算法尝试解决拼接篡改区域定位问题.以往拼接篡改检测技术大多采用模式噪声[3-4]、JPEG压缩[5-7]等方法来检测拼接篡改,但是需要依赖一定的假设和外部条件.此外,基于神经网络的检测算法[8-9]近年来开始出现,并解决了部分的篡改检测问题.

因为DeepLabv3+网络有很精确的轮廓学习能力,所以考虑将DeepLabv3+的轮廓学习能力用于图像拼接取证上来,有助于找到篡改人物的轮廓,实现篡改区域的定位检测.因此本文提出了基于改进DeepLabv3+的拼接区域定位检测算法,来区分篡改人物和原图人物,实现了优于现有算法的拼接篡改区域定位的检测能力.

1 相关工作

目前已经存在一些传统的拼接篡改检测技术,这些技术能解决一定场景下的篡改鉴定问题,但是仍然需要一定的依赖条件. JPEG压缩留下的痕迹常被用于图像篡改鉴定,相关的方法[10-11]大多使用JPEG质量因子和JPEG压缩网格不连续性进行特征提取来实现图像篡改检测.在基于JPEG量化的方法中,假设原始图像经历了连续的JPEG压缩,而拼接的部分由于平滑或重新采样可能已失去其初始JPEG压缩特性.这些不一致的特征可以帮助实现拼接区域的定位检测,但是这些技术只适用于JPEG格式.

基于噪声模式的算法[12-14]也常常被用来实现图像篡改检测.此外,图像传感器一般都采用一定的模式采集图像数据,最常用的是CFA差值模式.图像的拼接行为会导致CFA模式的破坏,这些特征不一致可以作为图像拼接篡改的一个证据来使用.不同的相机会使用不同的CFA插值算法,异幅图像的拼接或者图像放缩等都可能会导致产生不连续性.因此,利用CFA插值模式[15]的算法常常被用于图像篡改鉴定.但是,以上这些方法受限于特定的假设条件,比如固定的成像设备、处理步骤等,降低了算法的适用性.

基于深度学习的算法在过去几年中显著地改变了计算机视觉领域的格局. Chen等[16]把深度学习技术应用于图像取证,但是解决的是中值滤波的篡改行为,没有解决检测拼接篡改的问题. Bondi等[17]提出了一些方法来解决图像拼接问题,但是都基于一定的假设条件,降低了算法的普适性. Rao等[18]提出了图像拼接篡改的鉴定方法,但是没有实现篡改区域的定位. Salloum等[19]提出的算法被用来解决图像拼接区域定位问题,但是检测算法准确性仍然需要进一步提高.

由Chen等[20]可知,DeepLabv3+网络有很精确的轮廓学习能力,但是如何把DeepLabv3+网络应用到图像取证还存在着一些问题.对DeepLabv3+网络进行改造,改变原DeepLabv3+网络的分类数,另外改造图像训练库,在训练库中加入带有人物的原图,引导网络去学习原图人物和篡改人物特征的区别,有助于找到篡改人物的边缘特征差异而不仅仅是所有人物的轮廓,最终实现篡改区域的定位检测.

笔者工作的贡献如下:1)改进的DeepLabv3+算法与基于手工提取特征的现有算法相比,图像拼接区域的定位效果可以显著改善;2)改进的DeepLabv3+与原DeepLabv3+相比误检率降低,定位精度提高;3)训练数据集可用于引导改进的DeepLabv3+进行边缘特征差异学习,可以获得比DeepLabv3+更好的检测结果;4)可以贡献基于人物的篡改数据库.

2 改进的DeepLabv3+网络 2.1 DeepLabv3+网络概述

DeepLabv3+目前是图像分割领域最新的深度学习网络架构,取得目前最优的分割表现. DeepLabv3+为了融合多尺度信息及更好地获得精细的分割边界,引入了语义分割常用的编码器和解码器. DeepLabv3+使用Deeplabv3做为编码器,利用带孔卷积核生成任意维度的特征.特别地,在二维信号的情况下,对于每个位置i输出特征图g和卷积滤波器l,在输入特征映射x上应用带孔卷积核如下:

$ g\left[ i \right] = \sum\limits_l {x\left[ {i + rl} \right]f\left[ l \right]} $ (1)

其中:速率r决定了采样输入信号的步幅,标准卷积r=1是一种特殊情况.滤波器的视场是自适应的,通过改变速率值进行修改.

解码器端的操作相对简单,把底层的特征经过1*1卷积合并到4倍上采样层的后面,再经过一层卷积和上采样输出最终的预测结果.如图 1所示,图像左侧的人物是原图中的人物,右侧的人是后来拼接上去的人物(图 1(a)).在图 1(b)中可以看出DeepLabv3+网络具有分割精确的优点,但是检测的结果中能看到明显的误检.

图 1 由原图中人物和拼接人物组成的拼接图像及输入到原DeepLabv3+后的检测结果
2.2 基于改进DeepLabv3+的检测算法

由于DeepLabv3+网络拥有精确的轮廓学习能力,考虑对现有的DeepLabv3+网络进行改进用于图像人物拼接取证上来,最终实现篡改区域的定位检测.但是,从图 1可以看出,当图像背景中含有各种人物时,DeepLabv3+网络就会产生误检,所以DeepLabv3+不能很好地解决篡改区域定位问题.

因此对DeepLabv3+网络改变分类数,以区分篡改和非篡改区域,而不是简单的语义分割.为了加大篡改区域人物和非篡改区域人物的特征差异,在训练集里添加背景里面本来有人这种原图,来加大区分篡改人和原图人,让改进的DeepLabv3+网络去学习这个边缘差异,而不是仅仅学习人的轮廓.使得网络具有了轮廓学习能力及区分篡改区域边缘和原图人物边缘的能力,实现了优于传统算法的拼接篡改区域定位检测能力.

改进的DeepLabv3+会学习被篡改区域和未篡改区域边缘之间的不同特征,而不仅仅是人物的轮廓.对拼接图像的篡改和非篡改区域设置不同的颜色来区分,其中被篡改区域标记为与黑色有差异的颜色,未被篡改区域标记为黑色.然后在训练数据库中添加了包含人物的原始图像,与原始图像和篡改图像相对应的标签如图 2所示. 图 2(a)为带人物的原图,全黑颜色的图片为原图对应的标签图,图 2(c)为拼接人物的篡改图,右边的为对应的标签图.经过训练,改进后的DeepLabv3+不仅能够识别出篡改人物的轮廓,还能够识别出被篡改区域和非篡改区域的差异.

图 2 原图及篡改图分别对应的标签图

原始DeepLabv3+的分类数为21,主要用于对21个目标对象进行分类.如图 3所示,改进的DeepLabv3+可用于区分篡改区域和篡改区域.从图 3可以看出,输入图 1(a)为检测图像,其中图 1(a)左侧的人是原图中的人物,而右侧的人是后来拼接上去的人物,图 3为检测结果, 篡改和非篡改区域分别输出为与黑色有差异的颜色和黑色.显然,与原始的DeepLabv3+相比,改进的DeepLabv3+网络能取得了更好的拼接区域定位效果,减少了误检率.

图 3 改进的DeepLabv3+的检测结果
2.3 训练及测试过程

实验中采用了迁移训练,在迁移学习策略中,直接使用预先训练好的ResNet-101或修改后的对齐Xception网络的参数,加快了网络的收敛过程.更具体地说,改进的DeepLabv3+的训练是在TensorFlow中进行的,该算法具有0.007的初始学习率,0.9的动量和0.000 04的权重衰减.通过ImageNet-1k数据集上预训练的ResNet-101或修改后的对齐Xception模型的权重来初始化DeepLabv3+的权重和参数,使用CASIA v2.0数据集训练改进的DeepLabv3+.然后,在CASIA v1.0数据集上评估训练的模型.在训练之后,可以获得更精细的拼接区域的定位效果.

3 实验分析 3.1 数据库介绍

在CASIA v2.0数据集上训练了改进的DeepLabv3+网络,训练集图像的数量为1 316,验证图像的数量为1 645,测试集图像为500张.此外,还在CASIA v1.0数据集上测试了改进DeepLabv3+的性能.训练数据集包含在CASIA v2.0数据库中的20个人相对应的拼接图像,对应的人物被对应拼接到不同类型图像上形成图库,对应图片的标签图用Adobe photoshop CC 2015将对应人物区域圈出并将人物区域制作成与黑色有差异的颜色,其他区域制作成黑而成.这些人涵盖不同性别和年龄段,每个人有30~199张图像.相应的人物拼接到各种场景,如植物图像、建筑图像、自然风景图像和包含原有人物的图像,部分人物图例如图 4所示.

图 4 篡改数据库样本

在测试集评估了改进DeepLabv3+网络的性能,测试集图像事先没有对应的标签图,并将改进的DeepLabv3+网络与现有算法进行了比较.评估标准是F1和Matthews相关系数(M1指标)[19],其是每像素的本地化指标.

通过计算经过训练的改进DeepLabv3+网络输出的结果和相应标签图的差异可以获得F1M1值. F1指标定义如下:

$ {F_1}({M_{{\rm{out}}}}, {M_{{\rm{gt}}}}) = 2H/(2H + I + J) $ (2)

其中:Mout为网络输出的结果,如图 3所示;Mgt为标签图,如图 2(d)所示;H为真阳性的像素数,真阳性表示拼接像素被正确地分类为拼接;I为被分类为假阴性的像素数,假阴性表示非拼接像素被分类为非拼接区域;J为被分类为假阳性的像素的数量,其中假阳性表示非拼接区域像素被错误地分类为拼接;K是分类为真阴性的像素数量,真阴性表示拼接区域像素被错误分类为非拼接区域.对于给定的拼接图像,M1度量标准定义为

$ \begin{array}{l} {M_1}({M_{{\rm{out}}}}, {M_{{\rm{gt}}}}) = \\ \frac{{HK - HI}}{{\sqrt {(H + J)(H + I)(K + J)(K + I)} }} \end{array} $ (3)
3.2 效果比较

将改进的DeepLabv3+算法在CASIA v1.0上测试,并与现有的拼接检测算法进行了比较.这些现有的拼接检测算法包括ADQ2、NADQ、BLK、CFA1、CFA2、DCT、ELA、NOI1、MFCN.对于每种算法,根据评价标准计算平均的F1M1值,结果见表 1.根据F1M1得分可以看出,笔者所提出的改进DeepLabv3+算法优于现有的检测算法.

表 1 各算法对应的F1M1

当篡改图像中的非拼接区域中有许多人物时,可以从图 1看出,原始的DeepLabv3+网络有明显的错误检测,其无法达到篡改检测的效果.取不同的人物,并将他们拼接到原始包含人物的图像中.然后用在训练集上训练过的改进DeepLabv3+来检测. 图 5中的第1行是非拼接区域中含有人物或无人时的拼接图像;第2行是第1行篡改图像对应的原始图像;最后一行是相关的检测结果,第(a)~(c)列分别为不同人物对应的拼接图、原图及对应的检测结果.

图 5 非拼接区域中含有人物或无人时拼接图像对应的检测结果

结果如图 5表 2所示,表 2中左一、左二、左三、左四分别代表图 5第1行从左到右对应图例的检测结果.无论非拼接区域包含人物还是无人物,改进的DeepLabv3+对拼接图像都有很好的检测效果.

表 2 图 5检测结果对应的真阳性、真阴性、假阴性、假阳性的像素数
3.3 噪声攻击情况

将椒盐噪声添加到测试数据集的图像中以验证篡改检测效果.使用CASIA v1.0数据集进行实验,通过使用包含5个标准偏差值的信噪比a对给定的拼接图像进行滤波(即以像素为单位,a=0.01, 0.007, 0.005, 0.003和0.001).如表 3所示,当图像添加椒盐噪声时,笔者所提出的算法在不同参数下的F1M1得分表现出轻微的性能下降,但改进DeepLabv3+网络的性能表现优于现有的算法.

表 3 不同噪声下对应的F1M1
4 结束语

提出了一种改进的DeepLabv3+网络,可以通过改变原始DeepLabv3+的分类数,包含人物的原始图像被添加到训练数据集中,对应原始图像的标签图与拼接图像做灰度值上的区别.实验结果表明,笔者所提出的改进的DeepLabv3+算法在CASIA数据库上比现有算法实现了更好的检测效果.当图像无拼接区域包含人物时,与单独DeepLabv3+相比,改进的DeepLabv3+也可以实现更好的检测效果.

参考文献
[1]
Zampoglou M, Papadopoulos S, Kompatsiaris Y. Large-scale evaluation of splicing localization algorithms for web images[J]. Multimedia Tools and Applications, 2017, 76(4): 4801-4834. DOI:10.1007/s11042-016-3795-2
[2]
Liu Bo, Pun C M. Locating splicing forgery by fully convolutional networks and conditional random field[J]. Signal Processing:Image Communication, 2018, 66(4): 103-112.
[3]
Lyu Siwei, Pan Xunyu, Zhang Xing. Exposing region splicing forgeries with blind local noise estimation[J]. International Journal of Computer Vision, 2014, 110(2): 202-221.
[4]
Cozzolino D, Poggi G, Verdoliva L. Splicebuster: a new blind image splicing detector[C]//2015 IEEE International Workshop on Information Forensics and Security (WIFS). New York: IEEE, 2015: 1-6. http://www.researchgate.net/publication/284350985_Splicebuster_a_new_blind_image_splicing_detector
[5]
Binanchi T, Piva A. Detection of nonaligned double JPEG compression based on integer periodicity maps[J]. IEEE Transactions on Information Forensics and Security, 2012, 7(2): 842-848. DOI:10.1109/TIFS.2011.2170836
[6]
Bianchi T, Piva A. Image forgery localization via block-grained analysis of JPEG artifacts[J]. IEEE Transactions on Information Forensics and Security, 2012, 7(3): 1003-1017. DOI:10.1109/TIFS.2012.2187516
[7]
Amerini I, Becarelli R, Caldelli R, et al. Splicing forgeries localization through the use of first digit features[C]//2014 IEEE International Workshop on Information Forensics and Security (WIFS). New York: IEEE, 2014: 143-148. http://www.researchgate.net/publication/281667159_Splicing_forgeries_localization_through_the_use_of_first_digit_features
[8]
Zhang Ying, Goh J, Win L L, et al. Image region forgery detection: a deep learning approach[C]//Proceedings of the Singapore Cyber-Security Conference (SG-CRC). Amsterdam: IOS, 2016: 1-11. http://oar.a-star.edu.sg/jspui/handle/123456789/1673
[9]
Bayar B, Stamm M C. A deep learning approach to universal image manipulation detection using a new convolutional layer[C]//Proceedings of the 4th ACM Workshop on Information Hiding and Multimedia Security. New York: ACM, 2016: 5-10. http://dl.acm.org/citation.cfm?id=2930786
[10]
Bianchi T, Rosa A D, Piva A. Improved DCT coefficient analysis for forgery localization in JPEG images[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. New York: IEEE, 2011: 2444-2447. http://www.researchgate.net/publication/220735718_Improved_DCT_coefficient_analysis_for_forgery_localization_in_JPEG_images
[11]
Wang Wei, Dong Jing, Tan Tieniu. Exploring DCT coefficient quantization effects for local tampering detection[J]. IEEE Transactions on Information Forensics and Security, 2014, 9(10): 1653-1666. DOI:10.1109/TIFS.2014.2345479
[12]
Chierchia G, Poggi G, Sansone C, et al. A Bayesian-MRF approach for PRNU-based image forgery detection[J]. IEEE Transactions on Information Forensics and Security, 2014, 9(4): 554-567. DOI:10.1109/TIFS.2014.2302078
[13]
Pun C M, Liu Bo, Yuan Xiaochen. Multi-scale noise estimation for image splicing forgery detection[J]. Journal of Visual Communication and Image Representation, 2016, 38(3): 195-206.
[14]
李叶舟, 孙晓婷, 牛少彰, 等. 噪声特征与EXIF信息相关性的图像篡改鉴定[J]. 北京邮电大学学报, 2014, 37(1): 6-10.
Li Yezhou, Sun Xiaoting, Niu Shaozhang, et al. Detecting forgeries by correlation between image noise features and EXIF parameters[J]. Journal of Beijing University of Posts and Telecommunications, 2014, 37(1): 6-10.
[15]
Ferrara P, Bianchi T, Rosa A D, et al. Image forgery localization via fine-grained analysis of CFA artifacts[J]. IEEE Transactions on Information Forensics and Security, 2012, 7(5): 1566-1577. DOI:10.1109/TIFS.2012.2202227
[16]
Chen Jiansheng, Kang Xiangui, Liu Ye, et al. Median filtering forensics based on convolutional neural networks[J]. IEEE Signal Processing Letters, 2015, 22(11): 1849-1853. DOI:10.1109/LSP.2015.2438008
[17]
Bondi L, Lameri S, Guera D, et al. Tampering detection and localization through clustering of camera-based CNN features[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). New York: IEEE, 2017: 1855-1864. http://www.researchgate.net/publication/319277102_Tampering_Detection_and_Localization_Through_Clustering_of_Camera-Based_CNN_Features
[18]
Rao Yuan, Ni Jiangqun. A deep learning approach to detection of splicing and copy-move forgeries in images[C]//IEEE International Workshop on Information Forensics and Security. New York: IEEE, 2016: 1-6. http://www.researchgate.net/publication/312560947_A_deep_learning_approach_to_detection_of_splicing_and_copy-move_forgeries_in_images
[19]
Salloum R, Ren Yuzhuo, Kuo C C J. Image splicing localization using a multi-task fully convolutional network (MFCN)[J]. Journal of Visual Communication and Image Representation, 2018, 51(2): 201-209.
[20]
Chen L C, Zhu Yukun, Papapndreou G, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation[C]//Proceedings of the European Conference on Computer Vision (ECCV). Berlin: Springer, 2018: 801-818.