黄冬梅,张学俭,魏立斐,李梦思,苏 诚
1.上海海洋大学 信息学院,上海201306
2.上海电力大学 电子与信息工程学院,上海201306
随着我国卫星的不断发射升空,我国航天科技在航天遥感领域不断取得突破。伴随着航天遥感技术的飞速发展,每天都有海量的遥感数据通过卫星进行采集、回传,由于天气和传输介质的干扰,遥感图像会受到很多噪声(如高斯噪声、椒盐噪声等)的影响,造成遥感图像边缘和纹理信息的丢失,导致图像质量降低,影响图像的进一步处理和应用。为了能更好地使用这些图像,需要尽可能地减少图像中的噪声。
目前,遥感图像降噪受到学术界和工业界的广泛关注。文献[1]提出基于小波变换的遥感图像降噪方案,使用小波变换和中值滤波算法对混合噪声下的遥感图像进行降噪处理。文献[2]提出基于证据理论的多时相遥感图像融合降噪方案,降噪的效果明显优于单幅遥感图像的降噪算法。由于需要用多幅遥感图像进行降噪,该方案对计算机的运算能力有较高的要求。文献[3]提出基于量子叠加态的降噪方案,利用量子叠加态原理和双树复小波变换减少遥感图像中的噪声。随着人工智能技术的发展,文献[4]将深度卷积神经网络与单向变异模型应用到遥感图像的降噪过程中,每幅图像的先验模型都有25 个降噪器,尽管这些降噪器能满足各种降噪需求,但在不使用图形处理单元(Graphic Processing Unit,GPU)的情况下,该方案的计算量过高,不适用于普通计算机。当需要处理海量的遥感图像时,计算量高,不能很好地满足用户需求,因此需要一种更加高效的图像处理模式。云计算的存储能力和计算能力为这种处理模式提供了支持。
云计算是对分布式处理、并行计算的一种扩展,能提供海量存储空间和强大的计算能力,但云平台并不是完全可信的[5]。为了保护用户数据的安全性,云平台在密文域完成数据处理是很有必要的。文献[6]提出基于混淆电路和可搜索对称加密的降噪方案,将生成的混淆电路发送给存储加密图像块的外部云数据库,根据两者的比较结果进行图像降噪,但应用到较大的图像上,如遥感图像上,会导致该方案的通信负担过大。文献[7]利用秘密共享和JL(Johnson-Lindenstraus)变换实现两个云服务器之间的密文域图像降噪,因为要多次遍历整幅图像,该方案的效率较低,且无法应用在份额有缺失的场景中。文献[8]利用Paillier 算法实现密文域降噪,但Paillier算法会导致密文扩张,增加计算的复杂度。文献[9]利用混淆电路表示激活函数,将机器学习应用到密文图像降噪,由于要按像素点降噪,方案的复杂度较高。上述的密文域降噪方案只是针对普通图像,文献[10]实现多帧遥感图像在密文域中的融合降噪。与文献[8]类似,Paillier 算法成为这个方案的瓶颈,同时还要进行多幅图像的融合,这同样增加了方案的计算负担。
本文在已有工作的基础上,提出基于秘密共享的遥感图像外包降噪方案,方案模型如图1所示,将经过置乱的遥感图像同时用于降噪权重计算和秘密共享。云服务器利用积分图加速的非局部均值(Non-Local Means,NLM)算法在密文图像上计算出降噪权重;通过秘密共享把密文图像分成残差矩阵和子秘密,并进一步共享残差矩阵,将残差矩阵的秘密分片与子秘密重新组合共享给云服务器,云服务器依据计算的权重在共享密文上进行降噪,最后通过图像重构恢复出降噪后的遥感图像。该方案利用(k,n)门限秘密共享和积分图加速的非局部均值算法实现遥感图像的外包降噪,秘密共享保证在部分份额缺失的情况下也能完成降噪任务,积分图算法提高了传统非局部均值的效率。本文主要贡献如下:
(1)在秘密共享得到残差矩阵和子秘密后,在这种共享模式下,残差矩阵的存在对整个方案能否顺利进行起着决定性作用,一旦残差矩阵丢失,外包降噪将无法实现。本文提出二次共享概念,对残差矩阵进行(k,n)门限共享,并将分片与已有子秘密重新组合成n 个秘密分片。在执行降噪方案时,只要获得k 个秘密分片就能从中获得原始图像的k 个子秘密和残差矩阵的k 个分片,重构出降噪所需的两个密文图像。
图1 本文方案系统模型
(2)传统的非局部均值算法因为要遍历图像,整体的效率较低,本文将积分图的思想用于算法加速;为了提高算法的降噪效果,采用一种自适应滤波系数的核函数,使得NLM算法能更好地应用到本文的方案中。
本文考虑的是加性高斯噪声,对任意一张含有加性高斯噪声的图像可以描述为v={v(i)|i ∈I},其中I 表示整个图像域。图中的任意像素点可表示为:
其中,v(i)是图像的观测值,u(i)是图像的原始灰度值,n(i)表示独立同分布且服从N(0,σ2)分布的高斯噪声。
根据敌手能力的强弱,可以大致分成三类:半诚实敌手、恶意敌手和隐蔽敌手。半诚实敌手也称为“诚实且好奇的”敌手,这类敌手会遵循协议去执行用户的算法,但会在执行过程中尝试获取数据,分析其他参与者的输入、输出,是一种较弱的敌手模型。恶意敌手在执行过程中存在修改执行顺序、拒绝执行算法等行为,是一种较强的敌手模型。而隐蔽敌手是介于两者之间的一种模型,这种敌手可能会为了自己的利益而去违背既定的协议,同时他还希望自己的恶意行为不被发现。本文假设云平台是半诚实敌手,因为在实际中云平台的提供商为了自己的声誉不会恶意地篡改用户的数据,但对用户的数据充满好奇。
根据安全外包计算的形式化定义[11],本文给出基于秘密共享的遥感图像外包降噪方案的定义。方案包括四个算法:密钥生成(KeyGen)、问题生成(ProbGen)、问题计算(Compute)和问题解决(Solve)。假设Im×m是待降噪的遥感图像。
(1)密钥生成:KeyGen(arr)→(skprem)。输入624×1的矩阵arr,输出随机置乱密钥skprem。
(2)问题生成:ProbGen(Im×m,skprem,k,n)→(ET,Sfi,对需要降噪的遥感图像Im×m,用保距变换得到MT;用随机置乱密钥skprem分别对ET进行块随机置乱,对图像Im×m进行像素随机置乱,得到密文ET、Eimg和逆置乱密钥;用(k,n)门限的秘密共享方案处理Eimg,得到n 个秘密分片Sfi。
(3)问题计算:Compute(Sfi,ET)→(E′S1,E′S2)。云平台在ET上计算降噪权重,从n 个秘密分片Sfi中随机选择k 个不同的分片(至少k 个),恢复出密文ES1、ES2。根据权重在ES1和ES2上执行用户定义好的降噪算法,得到降噪后的图像分片E′S1和E′S2。
如图2所示,一个资源受限的用户要对一张遥感图像进行降噪:首先,把经过保距变换和秘密共享加密的密文图像上传到云平台;接着,云平台根据设计好的降噪算法对密文图像降噪;最后,根据图像重构算法得到降噪后的遥感图像。
本文方案采用文献[12]提出的算法生成伪随机序列skprem,将其作为置乱密钥对图像进行置乱,在得到置乱图像的同时还有一个逆置乱密钥,逆置乱密钥由用户保存。
(1)保距变换
本文基于文献[13]的JL 变换实现遥感图像的保距变换。假设降噪选用的搜索窗口大小为D×D,邻域窗口大小为d×d 。用户以对称填充的方式补全遥感图像Im×m的像素得到图像Isym,填充后,图像的大小为表示向下取整。选用m×m 的窗口对图像Isym分块,并将每一个图像块转成一个列向量,将所有向量堆叠得到矩阵。然后,云平台根据置乱后的矩阵计算降噪的权重。
图2 安全外包降噪方案流程图
(2)图像随机置乱
为保障遥感图像的机密性,需要通过置乱处理去破坏像素间的相关性。本文方案使用伪随机序列破坏同一幅图像中各像素间的位置关系。为了保证保距变换后的矩阵MT和秘密共享后的图像保持关联性,需使用同一个随机序列(即skprem)分别对矩阵MT和遥感图像Im×m进行随机置乱。矩阵MT的行数与遥感图像的像素点的数量相同,可分别按照行、像素点对两幅图像进行对置乱,将结果记作ET、Eimg,如算法1所示。
算法1 随机置乱算法
Input:random scrambling key skprem,isometric transformed matrix MTand remote sensing image Im×m
Output:inverse scrambling key,scrambled image ET、Eimg
1. Transforming remote sensing image Im×minto a vectorand generating a continuous sequence Seq from 0 to m2
2. Inserting the Seq into the last column of the two images,and scrambling them with skprem
3. Taking out the last column which is used as inverse scrambling key
(3)秘密共享
通过(k,n)门限秘密共享方案[14]将置乱后的遥感图像Eimg分成若干个秘密分片,分别由不同的云服务器持有。
①生成残差矩阵Rmatrix
随机构造一个m×k 的矩阵Am×k,且矩阵的秩满足r(A)=k,m >2k-3,则投影矩阵S=(A(ATA)-1A)mod p,其中p 是一个远大于任意像素点灰度值的素数,(·)T表示矩阵的转置,(·)-1表示矩阵的逆。
②生成子秘密vi
选取n 个k 维向量xi,其中n ≥k,任意k 个向量是线性无关的,i=1,2,…,n。
③生成秘密分片
随机选择n 个不同的ri,将残差矩阵按照文献[15]进行处理,生成n 个Rmatrix的共享,即用vi和Gi构造秘密分片Sfi=[vi,Gi]。
通过保距变换、图像随机置乱处理和秘密共享得到ET和秘密分片Sfi,将秘密分片Sfi发送给服务器CSi,i=1,2,…,n,同时向所有的云服务器发送一个ET。
选择一个可信服务器作为秘密分片收集者,当收集到不少于k 个秘密分片时,通过这些秘密分片获取密文ES1和ES2。在进行非局部均值降噪时,云服务器首先根据两个像素间的欧氏距离d(i,j)确定降噪权重w(i,j)。为提高NLM 算法的速度,本文方案使用积分图加速方法[16]的思想,一次性计算图像所有像素点在某一偏移向量下的权重。
(1)计算密文ES1和ES2
从收集到的k 份秘密分片中拆分出vi和Gi,根据文献[15]通过Gi计算出ES1,根据F=[v1,v2,…,vk]计算出ES2。
(2)计算欧氏距离
通过保距变换得到大小为m2×D2的密文ET,其中第一列代表原始图像,即偏移量为0,记为I0T。通过I0T与其他图像块可估算出各图像块间对应点的距离。
(3)计算降噪权重
在非局部均值算法中,权重系数通常由一个与欧氏距离相关的核函数决定,本文方案基于余弦型高斯核函数[10,17],提出一种基于自适应滤波系数h2的核函数,定义为:
其中,h1、h2为滤波参数,h2=Med{dT(0,i),i ∈[1,D2]},Med{·}表示中位数。则权重表示为:
文献[10]是用多幅图像做融合降噪,因此,文献[10]中h2是所有欧式距离集合中第M 小的值,M 是融合降噪所选取的相似度最大的像素点个数。本文提出的中位数表示法,同样适用于融合降噪。
(4)图像重构
在图像重构过程中,权重值为wmax,m(i,j)、n(i,j)和分别表示在位置(i,j)降噪前、降噪后的值,Flag 是和p 的关系矩阵,a(i,j)表示图像(i,j)重构后的值。
假设m(i,j),n(i,j)∈Z 且小于p,有m(i,j)+n(i,j)∈[0,2p),则:
(5)图像降噪
在获得重构图像E′后通过进一步计算得到降噪后的密文图像IT。
其中,Isum、Wsum和wmax由积分图加速的NLM 算法得到。
经过云服务器的计算得到一幅降噪后的密文图像IT,用对IT进行逆置乱得到降噪后的遥感图像I′,如算法2所示。
算法2 逆置乱算法
Input:inverse scrambling key,denoised ciphertext image IT
Output:denoised remote sensing image I′
1. Transforming the ciphertext image ITinto a vector
3. Removing the last column and reshape the result into a m×m matrix I′
4. Outputting the denoised remote sensing image I′
(1)保距变换的安全性
(2)秘密共享的安全性
在秘密共享过程中,经过一次(k,n)门限秘密共享方案,置乱后的图像被分为1 份残差矩阵和n 份子秘密。如果残差矩阵丢失或被篡改,云平台将无法完成降噪任务,为了增强降噪方案的安全性,本文方案对残差矩阵进行二次(k,n)门限秘密共享,将两次共享的子秘密重新拼接成n 份秘密分片,确保在存储或传输过程中发生部分分片丢失的情况下,也能完成降噪。只进行一次共享,需要保证有k+1 个可信云服务器,但经过两次秘密共享只需要k 个可信云服务器。在将图像分成相同份额的情况下,本文方案只需k 个可信的云服务器就能实现密文域中的外包降噪,而文献[7]的方案需要n 个可信的云服务器。
在门限秘密共享方案中,假设在该网络中的服务器的数量为N ,在网络中寻找服务器的平均查找路径长度为L,服务器被攻破的概率为p,则在网络中的服务器被攻破的概率为1-(1-p)L,该网络中被攻破的总数为Nlost=N×(1-(1-p)L)。为保证本文方案能抵抗共谋攻击(Collusion Attacks)和拒绝服务攻击(Denial of Service,DoS),需要满足n ∈[Nlost,N-Nlost]。阈值t 的选择要保证任意t 或更多的秘密分片可以重构完整的秘密,任意t-1 或更少的分片不能恢复出秘密,因此表示向下取整。在一次秘密共享后得到1个残差矩阵和n 个子秘密,这种共享方式把每一个像素视为共享的秘密,在秘密重构时相当于在一次共享过程中恢复多个秘密;在重构子秘密时,由任意k 个子秘密得到投影矩阵,根据投影矩阵和残差矩阵重构原秘密。如果残差矩阵丢失,将无法得到原秘密,因此需要根据文献[15]对残差矩阵进行共享。图像的像素不是随机值,而是与某一邻域内的所有像素相同或相近的值,如果直接用文献[15]进行门限共享,攻击者可能用少于阈值的子秘密恢复出原图像。因此,本文提出二次共享,通过第一次的秘密共享让残差矩阵的每个元素接近随机值,再利用文献[15]对残差矩阵共享,当攻击者得到的子秘密数量为t 时(t <k),若要获得原图像,相当于用t 个等式求解k 个未知参数;若采用暴力破解,每个参数被破解的概率为1/65 535,则原图像被破解的概率为(1/65 535)m×m/k,m 是图像的大小,m 越大,这个值近似为0。因此,能在不影响投影矩阵的安全性的同时实现对残差矩阵的保护。
在遥感图像的外包降噪过程中,图像中存在众多相似性极小的像素点,这些点不仅降低了降噪效率,还削弱了降噪的性能。加权核函数对遥感图像的降噪效率和性能起着举足轻重的作用。理想的核函数应保证在邻域距离较小时,权重值较大,并随着距离的增大,权重值迅速减小,直到减为0。余弦型核函数的响应曲线在整个区域较平坦;高斯型核函数的响应曲线较平坦且权重随着距离的增大而迅速下降;余弦高斯型核函数在距离较小时有更大的权重,并与距离呈负相关,能保证在相似的区域内有较大的权重,充分利用相似度高的邻域进行降噪,同时能通过迅速降低权重,减少距离较大的邻域的干扰。因此,本文方案提出了一种基于自适应滤波参数h2的加权核函数,如图3 所示,当滤波参数h1=100,h2=200 时,本文方案核函数与余弦型核函数、高斯型核函数相比具有明显优势。
图3 加权核函数响应曲线
为了提高NLM 算法的效率,本文方案采用了积分图的思想。假设图像的大小为m×m,则图像中共有m2个像素点,搜索窗口的大小为D×D,邻域窗口的大小为d×d,对于每个像素点都需要计算它与搜索窗口中所有像素点的邻域相似度,两个邻域间相似度的计算时间为O(d2),因此传统NLM算法的复杂度为O(m2D2d2)。通过积分图可以在常数时间内计算出两个邻域间的相似度,将复杂度降低到O(m2D2)。
首先,从本地内存的使用上进行对比:文献[10]需要在本地存储两张数据表T1和T2以提高Paillier 算法的效率,两张表约占8 GB 内存空间。文献[7]和本文方案只需要存储约2 MB左右的逆置乱密钥。
其次,分析降噪算法的复杂度。假设搜索窗口为D×D,邻域窗口为d×d ,包含n 个像素点。在非局部搜索时,文献[7]、文献[8]和文献[10]的计算复杂度为n×D2×d2,而本文方案的复杂度为D2×n;在进行权重滤波时,文献[8]和文献[10]需要用模乘和模指数运算,其中指数ex运算相当于1.5 lg x 次乘法运算,对单个像素降噪时,模乘的次数为D2-1,模指数的次数为D2,因此总的模乘次数为n×(D2×1.5 lg x+D2-1),文献[7]总的模乘次数为(D2-1)×n ,本文方案的复杂度为D2-1。表1列举了四种方案的算法复杂度。
表1 复杂度对比结果
实验环境为4台PC机,分别模拟客户端和云平台,用3台PC代表3个云平台,其设备参数如下:Intel®CoreTMi5-6500 CPU@3.20 GHz 3.19 GHz处理器,12 GB内存,64位操作系统,Windows 10专业版。编程语言为Python,实验数据选用Landsat 8卫星遥感影像。
在实验中,添加均值为0,标准差σ 为700,900,1 100,1 300的高斯噪声;滤波参数h1=k×σ,k 取0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0;NLM 算法的参数设置如下:搜索窗口D 的取值为7,9,11,13,邻域窗口d 的取值为3,5,7,9,11,且满足d <D。用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和结构相似性(Structural Similarity,SSIM)表示算法的降噪效果,PSNR 值越高,降噪效果越好;SSIM值越高,降噪后的图像与原图像的结构相似度越高。表2是在邻域窗口/搜索窗口为(9,11)时PSNR 与标准差/滤波系数的关系表。从表中可以看出,当滤波系数在0.5左右时,降噪效果较好。表3是在邻域窗口/搜索窗口为(9,11)时SSIM 与标准差/滤波系数的关系表。从表中可以看出,当滤波系数大于等于0.5时,降噪前后的两幅图像的SSIM最高,达到0.98;在滤波系数小于0.5 时,随着噪声标准差的增加,SSIM 减少。表4 是滤波系数为0.5 时,邻域窗口/搜索窗口对降噪效果的影响。从表中数据可以看出,随着搜索窗口的增大,降噪效果明显提升;在搜索窗口一定时,降噪效果与邻域窗口基本上呈正相关,有待进一步验证。表5是滤波系数为0.5 时,邻域窗口/搜索窗口对SSIM 的影响。从表中数据可以看出,随着搜索窗口或邻域窗口的增大,SSIM增大;在搜索窗口和邻域窗口一定时,SSIM随着噪声标准差的增大而减小。考虑图片分辨率对SSIM 和PSNR 的影响,比较不同分辨率下的噪声图像和原图像的SSIM 以及噪声PSNR。其他参数设置为:高斯噪声N(0,1 0242),邻域窗口/搜索窗口(7,17),滤波系数0.5。对比结果如表6 所示。从表中可以看出,当分辨率大于256×256 时,分辨率对SSIM 的影响可以忽略。
表2 PSNR与标准差/滤波系数间的关系dB
表3 SSIM与标准差/滤波系数间的关系
表4 PSNR与邻域窗口/搜索窗口间的关系dB
表5 SSIM与邻域窗口/搜索窗口间的关系
表6 不同分辨率下的PSNR和SSIM
为了更加直观地看出邻域窗口/搜索窗口和标准差/滤波系数对降噪效果的影响,在原有实验的基础上,根据已有结果重新仿真:选择滤波系数为0.5,标准差为400~1 200,搜索窗口为7~13,邻域窗口为3~11。如图4所示,在相同的搜索窗口中,随着邻域窗口的扩大,降噪效果增强,但当邻域窗口与搜索窗口大小相近时,降噪效果降低,搜索窗口大小是邻域窗口的两倍时,有较好的降噪效果。随着噪声标准差的增大,降噪效果降低。
图4 本文方案的实验结果
与文献[7]对比时,由于文献[7]的效率较低,实验时用256×256 的遥感图像,加入服从N(0,1 0242)分布的高斯噪声,邻域窗口/搜索窗口的参数设置为(5,17)、(5,11)、(7,17),结果如表7和表8所示。从结果中可以看出,本文方案能在保证降噪效果的同时,使得降噪后图像拥有较高的SSIM。
表7 方案对比结果(SSIM)
表8 方案对比结果(PSNR) dB
随着云平台的不断发展,外包计算的安全性成为学术界和工业界的一个热点研究问题,从最初的安全存储数据,到现在安全处理数据,安全外包的研究工作不断推进。本文针对遥感图像的降噪处理,提出一种基于(k,n)秘密共享的遥感图像安全外包降噪方案,采用图像置乱、二次秘密共享和积分图加速的非局部均值滤波算法共同实现遥感图像的加密和降噪。与传统的云平台相比,本文方案的多云协同策略能确保在部分云平台出现问题时也可以正常提供服务,同时通过增加云平台的数量减少每个云平台的计算负担,提高效率。实验结果表明,本文方案在保证图像数据安全性的同时,能有效降低图像的噪声且保留更多的原图像信息。下一步的工作拟改进降噪算法,进一步提高降噪效果。