基于Flow模型的卫星图像篡改检测方法

文档序号:30383966发布日期:2022-06-11 05:53阅读:153来源:国知局
基于Flow模型的卫星图像篡改检测方法
基于flow模型的卫星图像篡改检测方法
技术领域
1.本发明属于卫星图像技术领域,更为具体地讲,涉及一种基于flow模型的卫星图像篡改检测方法。


背景技术:

2.卫星图像在现代生产生活中十分重要,然而随着图像和视频编辑工具的完善,例如gimp或photoshop可用于创建逼真的赝品,同时随着机器学习的崛起,可以产生越来越多肉眼很难辨别的篡改卫星图像。如果有某些机构使用了这些数据,极有可能带来一定的危害。例如,一些卫星图像被操纵以偏向公众舆论。目前,常见的图像篡改操作包括剪接(裁剪和粘贴来自相同或其他图像源的区域)和基于机器学习的伪造(通常采用生成对抗网络)。
3.近年来,卫星图的篡改检测一直是一个热门的话题,目前已经提出了许多检测各种图像处理的技术。例如,通过使用嵌入的元数据检测操作的技术,发现双jpeg压缩伪影,使用具有自适应功能的神经网络,deepfakes检测或使用 saturation cues。这些方法已被证明可以准确检测图像中的拼接对象。另外,d. cozzolino等人提出一个用于捕获图像的相机型号的纹理来区别不同相机图片的网络。f.bartolini等人提出使用基于特征的技术,通过检测处理留下的痕迹。从而可以检测任何没有先验信息的图像。不幸的是,其中许多方法应用于卫星图像时表现不佳。这些消费类相机(包括智能手机相机)的图像采集过程不同于卫星:卫星在拍摄图像时传感器使用了正射校正、辐射校正和压缩等技术和后处理步骤。由于这些差异,为消费类相机者设计的方法无法正确地检测篡改卫星图像。
4.近年来,设计用于检测伪造的多种方法在卫星图像中已被引入。这些包括使用手工制作的特征的方法,如基于水印的技术,以及基于数据驱动的机器学习方法(包括有监督的和无监督的方法)。虽然有监督方法往往表现更好,但它们可能无法很好地推广到训练集中不存在的操作类型。所以,无监督方式检测方法更具有实用性。在监督方法中,e.r.bartusiak提出使用条件gan来检测并通过估计定位卫星图像中的拼接伪造区域。s.kalyan yarlagadda的工作基于 gan将输入图像中的patches进行低维转化后使用支持向量机(svm)来检测这些patches是否被篡改。j.horvath提出的方法命名为sat-svdd,是一种基于内核的一类分类方法,它通过使用修改后的支持向量数据(svdd)来检测拼接伪造。 svdd对每个patch进行编码,将原始图像(未经处理)映射到潜在空间超球平面内。在测试过程中,潜在向量放置在超球面之外被视为篡改像素。j.tax使用两个自回归模型对像素的分布进行建模以检测潜在的操作。尽管当前已经有大量的检测方法提出,但随着篡改技术的提高,这些方法已经不在具有时效性。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供一种基于flow模型的卫星图像篡改检测方法,通过flow模型进行空间转化增加篡改部分和原图的差距,再通过自编码进行重建,确定篡改位置,实现对任何没有标签的卫星图像篡改检测。
6.为实现上述发明目的,本发明基于生成模型的卫星图像篡改检测方法包括以下步骤:
7.s1:预先收集若干未被篡改的卫星图像并归一化至预设尺寸作为卫星图像样本,构建用于图像的flow模型,然后采用卫星图像样本对flow模型进行训练;
8.s2:构建自编码器,将卫星图像样本输入步骤s1训练好的flow模型,得到各个卫星图像样本所对应的隐空间图像作为隐空间图像样本,然后采用隐空间图像样本对自编码器进行训练;
9.s3:将待检测卫星图像归一化至预设尺寸,然后输入步骤s1训练好的 flow模型,得到待检测卫星图像所对应的隐空间图像
10.s4:将隐空间图像输入步骤s2训练好的自编码器,将输出作为重建隐空间图像z


11.s5:对于待检测卫星图像的重建隐空间图像z

,计算重建隐空间图像z

中各个像素的异常检测分数,如果异常检测分数大于预设阈值,则该像素在掩膜图像中的值为1,否则为0,从而得到掩膜图像;
12.s6:将掩膜图像和待检测卫星图像相乘,得到篡改判定图像,其中不为0 的像素为被篡改的像素,如果篡改判定图像中不存在被篡改的像素,则不作任何操作,如果存在被篡改的像素,则对被篡改的像素求取连通域,从而确定篡改区域。
13.本发明基于生成模型的卫星图像篡改检测方法,构建用于图像的flow模型并采用未被篡改的卫星图像样本进行训练,将各个未被篡改的卫星图像样本输入flow模型得到对应的隐空间图像样本,采用隐空间图像样本对构建的自编码器进行训练,将待检测卫星图像输入flow模型得到隐空间图像,将隐空间图像输入自编码器得到重建隐空间图像,计算隐空间图像中各个像素和重建隐空间图像对应像素之间的偏差值,得到掩膜图像,将掩膜图像和待检测卫星图像相乘,对被篡改的像素求取连通域,从而确定篡改区域。
14.本发明具有以下有益效果:
15.1)本发明方法为无监督方法,从理论上来说可以对多种篡改操作方式进行检测,更加具有广泛性;
16.2)本发明使用flow模型进行空间映射,增大了篡改边界的差异,可以提高检测精度,并且可以进行更细微的篡改操作检测;
17.3)经实验表示,本发明较现有方法具有更高的检测精度。
附图说明
18.图1是本发明基于flow模型的卫星图像篡改检测方法的具体实施方式结构图;
19.图2是基础flow模型的数据转换示意图;
20.图3是篡改前后卫星图像的隐空间图像示例图。
具体实施方式
21.下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许
会淡化本发明的主要内容时,这些描述在这里将被忽略。
22.实施例
23.图1是本发明基于flow模型的卫星图像篡改检测方法的具体实施方式结构图。如图1所示,本发明基于flow模型的卫星图像篡改检测方法的具体步骤包括:
24.s101:构建并训练flow模型:
25.flow(流)模型是一种比较独特的生成模型,它选择直接直面生成模型的概率计算,也就是把分布转换的积分式给硬算出来(通过变换jacobian行列式)。flow模型不仅能找到从a分布变化到b分布的网络通路,并且该通路也能让b 变化到a,简而言之flow模型找到的是一条a、b分布间的双工通路,这和gan、 vae等生成模型有着本质区别。当然,这样的可逆性是具有代价的——a、b的数据维度必须是一致的。
26.图2是基础flow模型的数据转换示意图。如图2所示,记输入数据为x,所对应的隐空间向量为z,z和x都会被拆分成两个部分,分别是前1到d维和后d+1到d维,d表示输入数据x的维数。从z变化为x的计算方法为:
27.隐空间向量z的第1到第d维元素zi直接复制给输入数据x的1到d维元素 xi,1≤i≤d;隐空间向量z的第d+1维到第d维元素1≤i≤d分别通过f和h两个函数变换得到两个系数βi和γi,然后通过xi=βizi+γi的仿射计算(affine)传递给输入数据x,i=d+1,

,d。综上,由隐空间向量z传给输入数据x的计算式可以写为:
[0028][0029]
其逆运算的计算式,即由输入数据x传给隐空间向量z的计算式,可以非常方便地推导出来为:
[0030][0031]
因此,本发明使用flow模型对卫星图像进行转换,以增大篡改区域和原卫星图像之间的数据分布。当flow模型应用于图像处理领域时,会增加尺度变换模块将输入图像转化为d维的数据流,并将输出的隐空间向量转换为与输入图像大小相同的隐空间图像。
[0032]
在本发明中,预先收集若干未被篡改的卫星图像并归一化至预设尺寸作为卫星图像样本,构建用于图像的flow模型,然后采用卫星图像样本对flow模型进行训练。
[0033]
本发明中使用未被篡改的卫星图像作为训练样本,是因为当flow模型专注于未被篡改的卫星图像映射时,如果使用它对篡改过的图片进行映射,它可以把篡改部分和未篡改部分的距离拉大,从而可以确保更好的识别出篡改部分的位置。图3是篡改前后卫星图像的隐空间图像示例图。此处为了便于展示,采用普通的数字图像作卫星图像。如图3所示,由于flow模型具有可逆性,使用未被篡改的卫星图像对flow模型进行训练,当使用它对篡改的卫星图像进行映射时,可以看出并不会改变篡改部分的空间位置,从而为后续定位篡改区域提供了基础。
[0034]
s102:构建并训练自编码器:
[0035]
本发明中,设置自编码器的目的是对隐空间图像进行重建,以便更好地识别出篡
改部分的位置。
[0036]
在本发明中,构建自编码器,将卫星图像样本输入步骤s101训练好的flow 模型,得到各个卫星图像样本所对应的隐空间图像作为隐空间图像样本,然后采用隐空间图像样本对自编码器进行训练。
[0037]
自编码器和flow模型不同,flow模型即使没有对篡改卫星图像进行过训练,它也能够完全还原出卫星图像,但是自编码器由于存在维度压缩和采用优化上界的方式,对于没有出现过的数据分布,它并不能很好的重建。因此,在采用未被篡改的卫星图像对flow模型和自编码器进行训练后,如果输入图像是篡改图像,那么所得到的隐空间图像和重构隐空间图像一定存在很大的区别。因此可以基于此原理实现卫星图像篡改检测。
[0038]
s103:待检测卫星图像映射:
[0039]
将待检测卫星图像归一化至预设尺寸,然后输入步骤s101训练好的flow 模型,得到待检测卫星图像所对应的隐空间图像
[0040]
s104:隐空间图像重建:
[0041]
将隐空间图像输入步骤s102训练好的自编码器,将输出作为重建隐空间图像z


[0042]
s105:掩膜计算:
[0043]
对于待检测卫星图像的重建隐空间图像z

,计算重建隐空间图像z

中各个像素的异常检测分数,如果异常检测分数大于预设阈值,则该像素在掩膜图像中的值为1,否则为0,从而得到掩膜图像。
[0044]
本实施例中提供了两种像素的异常检测分数计算方法,分别如下:
[0045]
方法1:对于各个像素,计算其在隐空间图像z

中像素值和在重建隐空间图像中像素值的差值,将该差值的绝对值作为异常检测分数。
[0046]
此种方法计算简便,可以提高掩膜计算效率。
[0047]
方法2:对于各个像素,采用如下公式计算得到对应的异常检测分数d(i,j):
[0048][0049]
其中,(i,j)表示像素坐标,z

i,j
表示重建隐空间图像z

中像素(i,j)的值, max()表示求取最大值,||表示求取绝对值,表示平均重建隐空间图像像素 (i,j)的值,平均重建隐空间图像采用如下方式获取:
[0050]
将各个隐空间图像样本输入步骤s102训练好的自编码器中,获取对应的重建隐空间图像,将所有重建隐空间图像进行平均得到平均重建隐空间向量。
[0051]
此种方式虽然计算复杂度略高,但是所获取的异常检测分数更加准确,因此所得到的掩膜图像更加准确。
[0052]
s106:确定篡改区域:
[0053]
将掩膜图像和待检测卫星图像相乘,得到篡改判定图像,其中不为0的像素为被篡改的像素,据此可以确定待检测卫星图像中被篡改的像素位置。如果篡改判定图像中
不存在被篡改的像素,则不作任何操作,如果存在被篡改的像素,对被篡改的像素求取连通域,从而确定篡改区域。
[0054]
为了更好地说明本发明的技术效果,采用具体实例对本发明进行实验验证。本实施例所采用的数据集为由j.horvath团队提供的公共数据集,该数据集包括斯洛文尼亚地区的正射卫星图像(取自sentinel程序),图像分辨率为 1000
×
1000像素。本实施例从原始公共数据集中随机选取98张原始的卫星图像作为训练集,然后随机选择500张原始卫星图像进行修改后作为测试集,在修改卫星图像时从19个不同的对象中随机选择一个拼接对象物体,包括云、飞机、烟雾和无人机等,这些物体以不同的位置、旋转角度拼接到原始卫星图像中,拼接对象物体尺寸包括16
×
16、32
×
32、64
×
64、128
×
128、和256
×
256 像素。
[0055]
本实施例中选择4种现有的卫星图像篡改检测方法作为对比方法,包括文献“[1]d.cozzolino and l.verdoliva,“noiseprint:a cnn-based camera modelfingerprint,”ieee transactions on information forensics and security,vol.15,pp. 144

159,2020.”中的方法(简称noiseprint),文献“[2]d.cozzolino,g.poggi,andl.verdoliva,“splicebuster:a new blind image splicing detector,”proceedings of theieee international workshop on information forensics and security,pp.1

6, november 2015,rome,italy.”中的方法(简称splicebuster),文献“[3]j.horvath, d.guera,s.kalyan yarlagadda,p.bestagini,f.maggie zhu,s.tubaro,and e.j. delp,“anomaly-based manipulation detection in satellite images,”proceedings ofthe ieee conference on computer vision and pattern recognition workshops,pp. 62

71,june 2019,long beach,ca.”中的方法(简称sat-svdd),文献“[4]j. horvath,d.m.montserrat,h.hao,and e.j.delp,“manipulation

detection insatellite images using deep belief networks,”proceedings of the ieee conference oncomputer vision and pattern recognition workshops,june 2020,seattle,wa.”中的方法(简称uu-dbn),统计本发明和4种对比方法在不同拼接对象物体尺寸的 auc值。表1是本实施例中本发表和4种对比方法的auc值统计表。
[0056][0057]
表1
[0058]
如表1所示,本发明对于各个拼接对象物体尺寸的篡改检测性能都优于4 种对比方法。虽然noiseprint方法和splicebuster方法已经在消费级相机中进行了应用,可以成功检测剪接操作,但是在卫星图像篡改检测方法表现不佳,sat-svdd方法和uu-dbn方法的性能也不理想。
[0059]
就拼接对象物体尺寸而言,4种对比方法都几乎无法检测到小于64
×
64的篡改物
体,这是由于这些方法在进行检测时是计算输入图像块内的估计值,因此缺乏足够的分辨率来检测小型物体。而本发明使用了flow模型来处理整个卫星图像,从而增大了篡改边界的差异值,因此可以检测出更细微的篡改痕迹,对于物体小于64
×
64像素时本发明的优势更为显著。
[0060]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1