一种针对多帧遥感图像的安全外包融合去噪方法与流程

文档序号:11288359阅读:247来源:国知局
一种针对多帧遥感图像的安全外包融合去噪方法与流程
本发明涉及遥感图像加密及去噪
技术领域
,具体地说,是一种针对多帧遥感图像的安全外包融合去噪方法。
背景技术
:遥感图像在获取和传输过程中,受各种噪声影响,使图像的边缘纹理等细节丢失,线条迷糊,从而导致图像的质量降低,增大了遥感图像的分析与处理难度。为获取清晰的、高质量的遥感图像必须对其进行去噪或降噪的预处理。随着空天地立体化遥感技术的发展,遥感图像数据呈爆炸式增长,传统的基于单机模式的遥感图像处理暴露出许多问题,如处理速度慢、并发性能差等。因而传统遥感图像处理模式已经逐渐无法满足用户海量高精度遥感图像处理的需求,所以迫切需要寻求一种新的高效的遥感图像处理模式与处理方法。云计算就是一种新的计算模式,它是一个典型的分布式、并行计算模型,该模型能够大大缩短计算任务的执行时间。随着遥感图像处理速度要求不断地提高,遥感图像处理越来越多地适合在分布式并行计算的云计算平台上进行。由于云平台本身的开放性特点,为遥感图像的安全带来新威胁,无法保证海洋遥感影像的安全性。因此,为了保护数据的安全性,很有必要对于敏感数据进行加密。中国发明专利cn201610159959.9,公开日为2016.08.10,公开了一种双目视觉的图像超分辨率融合去噪方法,其步骤为输入待超分辨率融合的双目图像,全局位置配准图像,局部位置匹配图像,更新双目图像,图像超分辨率融合,图像去噪,输出最终高分辨率图像。该方法在图像配准中加入局部位置配准方法,并采用拉普拉斯算子应用于图像超分辨率融合,再对融合图像使用非局部均值滤波方法去噪,克服了现有技术无法解决图像局部位置不匹配,细节增强不足,以及不具备抑制噪声的缺陷,得到图像细节增加,噪声减少的超分辨率融合图像。但是这种方法无法保证在外包过程中信息安全性。因此,亟需一种能够提高多帧遥感图像去噪效率,避免外包过程中出现信息泄漏的安全外包融合去噪方法,而目前关于这种融合去噪方法还未见报道。技术实现要素:本发明的目的是针对现有技术中的不足,提供一种针对多帧遥感图像的安全外包融合去噪方法。为实现上述目的,本发明采取的技术方案是:一种针对多帧遥感图像的安全外包融合去噪方法,包括本地平台和云平台,所述的本地平台包括遥感图像拆分模块、遥感图像置换模块、遥感图像转换模块、遥感图像加密模块、遥感图像解密模块、遥感图像恢复排列模块、遥感图像合并模块,所述的云平台包括遥感图像融合去噪模块,所述的遥感图像拆分模块为对遥感图像按照图像波段数进行拆分,所述的遥感图像置换模块为对遥感图像进行随机置换,所述的遥感图像转换模块为对遥感图像进行johnson-lindenstrauss转换,所述的遥感图像加密模块为对遥感图像进行paillier加密,所述的遥感图像解密模块为对遥感图像进行paillier解密,其中,所述的针对多帧遥感图像的安全外包融合去噪方法的工作流程为,s01:遥感图像拆分;s02:遥感图像置换;s03:遥感图像转换;s04:遥感图像加密;s05:遥感图像融合去噪;s06:遥感图像解密;s07:遥感图像恢复排列;s08:遥感图像合并。作为一种优选的技术方案,在所述的步骤s01中,在本地平台,读取针对同一场景的多帧遥感图像,遥感图像的个数为n,遥感图像的长为im_h,遥感图像的宽为im_w,遥感图像的波段数为im_band_number,按照波段数把每个遥感图像拆分成im_band_number个图像,分别读取个波段图像的16位深灰度值,并对每一个波段的图像进行步骤s02-s07。作为一种优选的技术方案,在所述的步骤s02中,在本地平台,为打乱图像像素的基本位置,对n个图像的该波段图像进行随机置换,以第t个图像为例,其工作流程如下:s021:生成一个长度为im_h×im_w的随机数序列,记录其索引顺序i1;s022:对随机数序列按照从小到大进行排列,生成一个新序列,记录其索引顺序i2;s023:根据i1→i2,得到图像置换数列,根据i2→i1,得到图像恢复数列;s024:对遥感图像进行置换,图像的16位深灰度值数组为im_array_t,以数组中第a行第b列的点为例,对于数组中的每一点做如下操作:s0241:获取以im_array_t[a,b]为中心的d×d大小的矩形块,并将该矩形块转化成一行,所有的转化后的行组成一个新数组;s0242:利用图像置换序列对新数组进行行置换;s0243:对完成行置换的数组进行变维操作,得到一个三维数组im_block_permutation_array_t,该数组的长为im_h,宽为im_w,高为d2;s025:利用图像置换序列对遥感图像进行像素置换,得到一个二维数组im_pixel_permutation_array_t,该数组的长为im_h,宽为im_w。作为一种优选的技术方案,在所述的步骤s03中,在本地平台,对n个图像的该波段图像进行johnson-lindenstrauss转换,以第t个图像为例,即对im_block_permutation_array_t进行johnson-lindenstrauss转换,将每一个1×d2的向量压缩呈一个1×k的向量,得到一个三维数组im_jl_array_t,该数组的长为im_h,宽为im_w,高为k,其工作流程如下:s031:随机生成一个服从平均值为0,方差为1/k的高斯分布的d2×k的矩阵p;以数组im_array_t中第a行第b列这个点为例,对于数组中的每一个点重复步骤s032-s036;s032:将数组im_block_permutation_array_t中的im_block_permutation_array_t[a,b,0],im_block_permutation_array_t[a,b,1],…,im_block_permutation_array_t[a,b,d2-2],im_block_permutation_array_t[a,b,d2-1],组成一个行矩阵α;s033:随机生成一个服从平均值为0,标准差为ζ的高斯分布1×k的矩阵δ;s034:计算αp,得到一个新矩阵y;s035:计算y+δ,得到一个新矩阵α′;s036:将新矩阵α′进行变维操作,即可得到一个三维数组im_jl_array_t,im_jl_array_t[a,b,0]=α′[0,0],im_jl_array_t[a,b,1]=α′[0,1],…,im_jl_array_t[a,b,k-2]=α′[0,k-2],im_jl_array_t[a,b,k-1]=α′[0,k-1]。作为一种优选的技术方案,在所述的步骤s04中,在本地平台,对n个图像的该波段图像进行paillier加密,以第t个图像为例,使用已知的公钥,对数组im_block_permutation_array_t进行paillier加密,得到一个二维数组im_paillier_array_t,该数组的长为im_h,宽为im_w,其工作流程如下:s041:选取两个随机素数p和q,并根据n=pq,计算n的值;s042:计算出paillier加密参数λ和g,得到paillier加密的公钥为(n,g),私钥为λ;s043:计算gm的值,m∈[0,65535],并把结果保存在第一个表(结构如下)中;mgms044:随机生成65536个随机数r,计算(gn)r的值,并把结果保存在第二个表(结构如下)中;r(gn)r以数组im_pixel_permutation_array_t中第a行第b列的点位列,对数组im_pixel_permutation_array_t中的每一个点重复步骤s045-s047;s045:从第一个表中查找m的值等于im_pixel_permutation_array_t[a,b]对应的gm的值;s046:从第二个表中随机抽取5个不同的(gn)r值,即(gn)r1,(gn)r2,(gn)r3,(gn)r4,(gn)r5;s047:im_paillier_array_t[a,b]=gm(gn)r1(gn)r2(gn)r3(gn)r4(gn)r5modn2。作为一种优选的技术方案,在所述的步骤s05中,在云平台对遥感图像进行融合去噪,即对im_jl_array_t和im_paillier_array_t进行非局部去噪,得到二维数组im_paillier_result_array,该数组的长为im_h,宽为im_w,其工作流程如下:s051:计算im_jl_array_1,im_jl_array_2,…,im_jl_array_n-1,im_jl_array_n这n个数组的叠加平均,得到一个三维数组,im_jl_mean_array,该数组的长为im_h,宽im_w,数组的高为k,以行a列b高c的这个点为例,s052:选取h1,h1为非局部去噪的滤波参数;s053:计算a的值,a为放大倍数,计算公式为a=27×im_h×im_w;以数组im_paillier_result_array中第a行第b列的点为例,对于数组中的每一个点重复步骤s054-s0514;s054:用im_jl_mean_array[a,b,0],im_jl_mean_array[a,b,1],…,im_jl_mean_array[a,b,k-2],im_jl_mean_array[a,b,k-1]组成一个行向量,记为v(a,b);以第t个图像为例,对每一个图像重复步骤s055-s057;以数组im_paillier_array_t中第i行第j列的点为例,对于数组im_paillier_array_t中的每一个点重复步骤s055-s057;s055:用im_jl_array_t[i,j,0],im_jl_array_t[i,j,1],…,im_jl_array_t[i,j,k-2],im_jl_array_t[i,j,k-1]组成一个行向量,记为v(i,j);s056:计算os_dis_square_t[i,j],计算公式为s057:计算dis_t[i,j],计算公式为s058:确定w_number的值;s059:确定数组os_dis_square_1,os_dis_square_2,…,os_dis_square_n中第w_number个大的值为dis_square,并计算h2的值,计算公式为以第t个图像为例,对每一个图像重复步骤s0510;以以数组dis_t中第i行第j列的点为例,对于数组dis_t中的每一个点重复步骤s0510;s0510:若os_dis_square_t[i,j]>dis_square,则dis_t[i,j]=0;若os_dis_square_t[i,j]≤dis_square,则s0511:计算z的值,计算公式为其中ω为整个图像;以第t个图像为例,对每一个图像重复步骤s0512到步骤s0513:以数组w_t中第i行第j列的点为例,对于数组w_t中的每一个点重复步骤s0512-s0513;s0512:计算q_t[i,j]的值,计算公式为s0513:计算w_t[i,j]的值,计算公式为w_t[i,j]=aq_t[i,j];s0514:计算im_paillier_result_array[a,b]的值,计算公式为其中ω为整个图像。作为一种优选的技术方案,在所述的步骤s06中,在本地平台,使用私钥λ对数组im_paillier_result_array进行paillier解密,得到一个二维数组im_permutation_result_array,该数组的长为im_h,宽为im_w,其工作流程如下:s061:计算u的值,计算公式为以数组im_paillier_result_array中第a行第b列的点为例,对数组im_paillier_result_array中的每一个点重复步骤s062-s063;s062:计算nl的值,计算公式为其中c等于im_paillier_result_array[a,b];s063:计算im_permutation_result_array[a,b]的值,计算公式为im_permutation_result_array[a,b]=nl/a。作为一种优选的技术方案,在所述的步骤s07中,在本地平台,利用图像恢复数列,对im_permutation_result_array进行遥感图像的像素置换恢复,得到一个二维数组im_result_array,该数组的长为im_h,宽为im_w。作为一种优选的技术方案,在所述的步骤s08中,在本地平台,对完成步骤s02-s07的所有波段得到的结果进行合并处理,得到去噪后的完整遥感图像。本发明优点在于:1、,在本地平台对遥感图像进行拆分、加密,密钥保存在本地平台,不存在信息泄漏问题;2、将针对同一场景的多帧遥感图像放在云平台进行去噪处理,减少本地平台数据处理量,提高工作效率;3、云平台将去噪完成的图像返回到本地平台,本地平台进行解密、合并,即可得到融合去噪的遥感图像;4、既高效的完成遥感图像去噪,又防止遥感图像信息在外包过程中出现泄密,有效结合了云平台计算效率高和本地平台安全的优点,同时避免了云平台泄密和本地平台计算效率低的缺点。附图说明附图1是本发明的架构图。附图2是本发明的总流程图。附图3是本发明的具体工作流程图。附图4是本发明的johnson-lindenstrauss转换流程图。附图5是本发明的paillier加密、解密流程图。具体实施方式下面结合附图对本发明提供的具体实施方式作详细说明。实施例1参照图1、2,图1是本发明的一种针对多帧遥感图像的安全外包融合去噪方法的架构图,图2是本发明的一种针对多帧遥感图像的安全外包融合去噪方法的流程图。一种针对多帧遥感图像的安全外包融合去噪方法,包括本地平台和云平台,所述的本地平台包括遥感图像拆分模块、遥感图像置换模块、遥感图像转换模块、遥感图像加密模块、遥感图像解密模块、遥感图像恢复排列模块、遥感图像合并模块,所述的云平台包括遥感图像融合去噪模块,所述的遥感图像拆分模块为对遥感图像按照图像波段数进行拆分,所述的遥感图像置换模块为对遥感图像进行随机置换,所述的遥感图像转换模块为对遥感图像进行johnson-lindenstrauss转换,所述的遥感图像加密模块为对遥感图像进行paillier加密,所述的遥感图像解密模块为对遥感图像进行paillier解密,其中,所述的针对多帧遥感图像的安全外包融合去噪方法的工作流程为,s01:遥感图像拆分;s02:遥感图像置换;s03:遥感图像转换;s04:遥感图像加密;s05:遥感图像融合去噪;s06:遥感图像解密;s07:遥感图像恢复排列;s08:遥感图像合并。实施例2参照图3,图3是本发明的一种针对多帧遥感图像的安全外包融合去噪方法的具体工作流程图。本发明的一种针对多帧遥感图像的安全外包融合去噪方法的具体工作流程如下所示。s01:遥感图像拆分在本地平台,读取针对同一场景的多帧遥感图像,遥感图像的个数为n,遥感图像的长为im_h,遥感图像的宽为im_w,遥感图像的波段数为im_band_number,按照波段数把每个遥感图像拆分成im_band_number个图像,分别读取个波段图像的16位深灰度值,并对每一个波段的图像进行步骤s02-s07。s02:遥感图像置换在本地平台,为打乱图像像素的基本位置,对n个图像的该波段图像进行随机置换,以第t个图像为例。s021:生成一个长度为im_h×im_w的随机数序列,记录其索引顺序i1;s022:对随机数序列按照从小到大进行排列,生成一个新序列,记录其索引顺序i2;s023:根据i1→i2,得到图像置换数列,根据i2→i1,得到图像恢复数列;s024:对遥感图像进行置换,图像的16位深灰度值数组为im_array_t,以数组中第a行第b列的点为例,对于数组中的每一点做如下操作:s0241:获取以im_array_t[a,b]为中心的d×d大小的矩形块,并将该矩形块转化成一行,所有的转化后的行组成一个新数组;s0242:利用图像置换序列对新数组进行行置换;s0243:对完成行置换的数组进行变维操作,得到一个三维数组im_block_permutation_array_t,该数组的长为im_h,宽为im_w,高为d2;s025:利用图像置换序列对遥感图像进行像素置换,得到一个二维数组im_pixel_permutation_array_t,该数组的长为im_h,宽为im_w。s03:遥感图像转换参照图4,图4是本发明的一种针对多帧遥感图像的安全外包融合去噪方法的johnson-lindenstrauss转换流程图。在本地平台,对n个图像的该波段图像进行johnson-lindenstrauss转换,以第t个图像为例,即对im_block_permutation_array_t进行johnson-lindenstrauss转换,将每一个1×d2的向量压缩呈一个1×k的向量,得到一个三维数组im_jl_array_t,该数组的长为im_h,宽为im_w,高为k。s031:随机生成一个服从平均值为0,方差为1/k的高斯分布的d2×k的矩阵p;以数组im_array_t中第a行第b列这个点为例,对于数组中的每一个点重复步骤s032-s036;s032:将数组im_block_permutation_array_t中的im_block_permutation_array_t[a,b,0],im_block_permutation_array_t[a,b,1],…,im_block_permutation_array_t[a,b,d2-2],im_block_permutation_array_t[a,b,d2-1],组成一个行矩阵α;s033:随机生成一个服从平均值为0,标准差为ζ的高斯分布1×k的矩阵δ;s034:计算αp,得到一个新矩阵y;s035:计算y+δ,得到一个新矩阵α′;s036:将新矩阵α′进行变维操作,即可得到一个三维数组im_jl_array_t,im_jl_array_t[a,b,0]=α′[0,0],im_jl_array_t[a,b,1]=α′[0,1],…,im_jl_array_t[a,b,k-2]=α′[0,k-2],im_jl_array_t[a,b,k-1]=α′[0,k-1]。s04:遥感图像加密参照图5,图5是本发明的paillier加密、解密流程图。在本地平台,对n个图像的该波段图像进行paillier加密。以第t个图像为例,使用已知的公钥,对数组im_block_permutation_array_t进行paillier加密,得到一个二维数组im_paillier_array_t,该数组的长为im_h,宽为im_w。s041:选取两个随机素数p和q,并根据n=pq,计算n的值;s042:计算出paillier加密参数λ和g,得到paillier加密的公钥为(n,g),私钥为λ;s043:计算gm的值,m∈[0,65535],并把结果保存在第一个表(结构如下)中;mgms044:随机生成65536个随机数r,计算(gn)r的值,并把结果保存在第二个表(结构如下)中;r(gn)r以数组im_pixel_permutation_array_t中第a行第b列的点位列,对数组im_pixel_permutation_array_t中的每一个点重复步骤s045-s047;s045:从第一个表中查找m的值等于im_pixel_permutation_array_t[a,b]对应的gm的值;s046:从第二个表中随机抽取5个不同的(gn)r值,即(gn)r1,(gn)r2,(gn)r3,(gn)r4,(gn)r5;s047:im_paillier_array_t[a,b]=gm(gn)r1(gn)r2(gn)r3(gn)r4(gn)r5modn2。s05:遥感图像融合去噪在云平台对遥感图像进行融合去噪,即对im_jl_array_t和im_paillier_array_t进行非局部去噪,得到二维数组im_paillier_result_array,该数组的长为im_h,宽为im_w。s051:计算im_jl_array_1,im_jl_array_2,…,im_jl_array_n-1,im_jl_array_n这n个数组的叠加平均,得到一个三维数组,im_jl_mean_array,该数组的长为im_h,宽im_w,数组的高为k;以行a列b高c的这个点为例,s052:选取h1,h1为非局部去噪的滤波参数;s053:计算a的值,a为放大倍数,计算公式为a=27×im_h×im_w;以数组im_paillier_result_array中第a行第b列的点为例,对于数组中的每一个点重复步骤s054-s0514;s054:用im_jl_mean_array[a,b,0],im_jl_mean_array[a,b,1],…,im_jl_mean_array[a,b,k-2],im_jl_mean_array[a,b,k-1]组成一个行向量,记为v(a,b);以第t个图像为例,对每一个图像重复步骤s055-s057;以数组im_paillier_array_t中第i行第j列的点为例,对于数组im_paillier_array_t中的每一个点重复步骤s055-s057;s055:用im_jl_array_t[i,j,0],im_jl_array_t[i,j,1],…,im_jl_array_t[i,j,k-2],im_jl_array_t[i,j,k-1]组成一个行向量,记为v(i,j);s056:计算os_dis_square_t[i,j],计算公式为s057:计算dis_t[i,j],计算公式为s058:确定w_number的值;s059:确定数组os_dis_square_1,os_dis_square_2,…,os_dis_square_n中第w_number个大的值为dis_square,并计算h2的值,计算公式为以第t个图像为例,对每一个图像重复步骤s0510;以以数组dis_t中第i行第j列的点为例,对于数组dis_t中的每一个点重复步骤s0510;s0510:若os_dis_square_t[i,j]>dis_square,则dis_t[i,j]=0;若os_dis_square_t[i,j]≤dis_square,则s0511:计算z的值,计算公式为其中ω为整个图像;以第t个图像为例,对每一个图像重复步骤s0512到步骤s0513:以数组w_t中第i行第j列的点为例,对于数组w_t中的每一个点重复步骤s0512-s0513;s0512:计算q_t[i,j]的值,计算公式为s0513:计算w_t[i,j]的值,计算公式为w_t[i,j]=aq_t[i,j];s0514:计算im_paillier_result_array[a,b]的值,计算公式为其中ω为整个图像。s06:遥感图像解密参照图5,图5是本发明的paillier加密、解密流程图。在本地平台,使用私钥λ对数组im_paillier_result_array进行paillier解密,得到一个二维数组im_permutation_result_array,该数组的长为im_h,宽为im_w。s061:计算u的值,计算公式为以数组im_paillier_result_array中第a行第b列的点为例,对数组im_paillier_result_array中的每一个点重复步骤s062-s063;s062:计算nl的值,计算公式为其中c等于im_paillier_result_array[a,b];s063:计算im_permutation_result_array[a,b]的值,计算公式为im_permutation_result_array[a,b]=nl/a。s07:遥感图像恢复排列在本地平台,利用图像恢复数列,对im_permutation_result_array进行遥感图像的像素置换恢复,得到一个二维数组im_result_array,该数组的长为im_h,宽为im_w。s08:遥感图像合并在本地平台,对完成步骤s02-s07的所有波段得到的结果进行合并处理,得到去噪后的完整遥感图像。本发明的一种针对多帧遥感图像的安全外包融合去噪方法的优点在于,在本地平台对遥感图像进行拆分、加密,密钥保存在本地平台,不存在信息泄漏问题;将针对同一场景的多帧遥感图像放在云平台进行去噪处理,减少本地平台数据处理量,提高工作效率;云平台将去噪完成的图像返回到本地平台,本地平台进行解密、合并,即可得到融合去噪的遥感图像;既高效的完成遥感图像去噪,又防止遥感图像信息在外包过程中出现泄密,有效结合了云平台计算效率高和本地平台安全的优点,同时避免了云平台泄密和本地平台计算效率低的缺点。实施例3本实施例为本发明的一种针对多帧遥感图像的安全外包融合去噪方法的具体实施案例。s01:遥感图像拆分在本地平台,读取针对同一场景的多帧遥感图像,遥感图像的个数为3,遥感图像的长为512,遥感图像的宽为512,遥感图像的波段数为11,按照波段数把每个遥感图像拆分成11个图像,分别读取个波段图像的16位深灰度值,并对每一个波段的图像进行步骤s02-s07。s02:遥感图像置换在本地平台,为打乱图像像素的基本位置,对3个图像的该波段图像进行随机置换,以第t个图像为例。s021:生成一个长度为512×512的随机数序列,记录其索引顺序i1;s022:对随机数序列按照从小到大进行排列,生成一个新序列,记录其索引顺序i2;s023:根据i1→i2,得到图像置换数列,根据i2→i1,得到图像恢复数列;s024:对遥感图像进行置换,图像的16位深灰度值数组为im_array_t,以数组中第a行第b列的点为例,对于数组中的每一点做如下操作:s0241:获取以im_array_t[a,b]为中心的5×5大小的矩形块,并将该矩形块转化成一行,所有的转化后的行组成一个新数组;s0242:利用图像置换序列对新数组进行行置换;s0243:对完成行置换的数组进行变维操作,得到一个三维数组im_block_permutation_array_t,该数组的长为512,宽为512,高为25;s025:利用图像置换序列对遥感图像进行像素置换,得到一个二维数组im_pixel_permutation_array_t,该数组的长为512,宽为512。s03:遥感图像转换在本地平台,对3个图像的该波段图像进行johnson-lindenstrauss转换,以第t个图像为例,即对im_block_permutation_array_t进行johnson-lindenstrauss转换,将每一个1×25的向量压缩呈一个1×18的向量,得到一个三维数组im_jl_array_t,该数组的长为512,宽为512,高为18。s031:随机生成一个服从平均值为0,方差为1/18的高斯分布的25×18的矩阵p;以数组im_array_t中第a行第b列这个点为例,对于数组中的每一个点重复步骤s032-s036;s032:将数组im_block_permutation_array_t中的im_block_permutation_array_t[a,b,0],im_block_permutation_array_t[a,b,1],…,im_block_permutation_array_t[a,b,23],im_block_permutation_array_t[a,b,24],组成一个行矩阵α;s033:随机生成一个服从平均值为0,标准差为0.5的高斯分布1×18的矩阵δ;s034:计算αp,得到一个新矩阵y;s035:计算y+δ,得到一个新矩阵α′;s036:将新矩阵α′进行变维操作,即可得到一个三维数组im_jl_array_t,im_jl_array_t[a,b,0]=α′[0,0],im_jl_array_t[a,b,1]=α′[0,1],…,im_jl_array_t[a,b,16]=α′[0,16],im_jl_array_t[a,b,17]=α′[0,17]。s04:遥感图像加密在本地平台,对3个图像的该波段图像进行paillier加密。以第t个图像为例,使用已知的公钥,对数组im_block_permutation_array_t进行paillier加密,得到一个二维数组im_paillier_array_t,该数组的长为512,宽为512。s041:选取两个随机素数p和q,并根据n=pq,计算n的值;s042:计算出paillier加密参数λ和g,得到paillier加密的公钥为(n,g),私钥为λ;s043:计算gm的值,m∈[0,65535],并把结果保存在第一个表(结构如下)中;mgms044:随机生成65536个随机数r,计算(gn)r的值,并把结果保存在第二个表(结构如下)中;r(gn)r以数组im_pixel_permutation_array_t中第a行第b列的点位列,对数组im_pixel_permutation_array_t中的每一个点重复步骤s045-s047;s045:从第一个表中查找m的值等于im_pixel_permutation_array_t[a,b]对应的gm的值;s046:从第二个表中随机抽取5个不同的(gn)r值,即(gn)r1,(gn)r2,(gn)r3,(gn)r4,(gn)r5;s047:im_paillier_array_t[a,b]=gm(gn)r1(gn)r2(gn)r3(gn)r4(gn)r5modn2。s05:遥感图像融合去噪在云平台对遥感图像进行融合去噪,即对im_jl_array_t和im_paillier_array_t进行非局部去噪,得到二维数组im_paillier_result_array,该数组的长为512,宽为512。s051:计算im_jl_array_1,im_jl_array_2,…,im_jl_array_n-1,im_jl_array_n这n个数组的叠加平均,得到一个三维数组,im_jl_mean_array,该数组的长为512,宽512,数组的高为18;以行a列b高c的这个点为例,s052:选取h1,h1为非局部去噪的滤波参数;s053:计算a的值,a为放大倍数,计算公式为a=27×512×512;以数组im_paillier_result_array中第a行第b列的点为例,对于数组中的每一个点重复步骤s054-s0514;s054:用im_jl_mean_array[a,b,0],im_jl_mean_array[a,b,1],…,im_jl_mean_array[a,b,16],im_jl_mean_array[a,b,17]组成一个行向量,记为v(a,b);以第t个图像为例,对每一个图像重复步骤s055-s057;以数组im_paillier_array_t中第i行第j列的点为例,对于数组im_paillier_array_t中的每一个点重复步骤s055-s057;s055:用im_jl_array_t[i,j,0],im_jl_array_t[i,j,1],…,im_jl_array_t[i,j,16],im_jl_array_t[i,j,17]组成一个行向量,记为v(i,j);s056:计算os_dis_square_t[i,j],计算公式为s057:计算dis_t[i,j],计算公式为s058:确定w_number的值为128;s059:确定数组os_dis_square_1,os_dis_square_2,…,os_dis_square_n中第w_number个大的值为dis_square,并计算h2的值,计算公式为以第t个图像为例,对每一个图像重复步骤s0510;以以数组dis_t中第i行第j列的点为例,对于数组dis_t中的每一个点重复步骤s0510;s0510:若os_dis_square_t[i,j]>dis_square,则dis_t[i,j]=0;若os_dis_square_t[i,j]≤dis_square,则s0511:计算z的值,计算公式为其中ω为整个图像;以第t个图像为例,对每一个图像重复步骤s0512到步骤s0513:以数组w_t中第i行第j列的点为例,对于数组w_t中的每一个点重复步骤s0512-s0513;s0512:计算q_t[i,j]的值,计算公式为s0513:计算w_t[i,j]的值,计算公式为w_t[i,j]=aq_t[i,j];s0514:计算im_paillier_result_array[a,b]的值,计算公式为其中ω为整个图像。s06:遥感图像解密在本地平台,使用私钥λ对数组im_paillier_result_array进行paillier解密,得到一个二维数组im_permutation_result_array,该数组的长为512,宽为512。s061:计算u的值,计算公式为以数组im_paillier_result_array中第a行第b列的点为例,对数组im_paillier_result_array中的每一个点重复步骤s062-s063;s062:计算nl的值,计算公式为其中c等于im_paillier_result_array[a,b];s063:计算im_permutation_result_array[a,b]的值,计算公式为im_permutation_result_array[a,b]=nl/a。s07:遥感图像恢复排列在本地平台,利用图像恢复数列,对im_permutation_result_array进行遥感图像的像素置换恢复,得到一个二维数组im_result_array,该数组的长为512,宽为512。s08:遥感图像合并在本地平台,对完成步骤s02-s07的所有波段得到的结果进行合并处理,得到去噪后的完整遥感图像。实施例4本实施例为本发明的一种针对多帧遥感图像的安全外包融合去噪方法的具体实施案例。s01:遥感图像拆分在本地平台,读取针对同一场景的多帧遥感图像,遥感图像的个数为5,遥感图像的长为256,遥感图像的宽为256,遥感图像的波段数为8,按照波段数把每个遥感图像拆分成8个图像,分别读取个波段图像的16位深灰度值,并对每一个波段的图像进行步骤s02-s07。s02:遥感图像置换在本地平台,为打乱图像像素的基本位置,对5个图像的该波段图像进行随机置换,以第t个图像为例。s021:生成一个长度为256×256的随机数序列,记录其索引顺序i1;s022:对随机数序列按照从小到大进行排列,生成一个新序列,记录其索引顺序i2;s023:根据i1→i2,得到图像置换数列,根据i2→i1,得到图像恢复数列;s024:对遥感图像进行置换,图像的16位深灰度值数组为im_array_t,以数组中第a行第b列的点为例,对于数组中的每一点做如下操作:s0241:获取以im_array_t[a,b]为中心的3×3大小的矩形块,并将该矩形块转化成一行,所有的转化后的行组成一个新数组;s0242:利用图像置换序列对新数组进行行置换;s0243:对完成行置换的数组进行变维操作,得到一个三维数组im_block_permutation_array_t,该数组的长为256,宽为256,高为9;s025:利用图像置换序列对遥感图像进行像素置换,得到一个二维数组im_pixel_permutation_array_t,该数组的长为256,宽为256。s03:遥感图像转换在本地平台,对5个图像的该波段图像进行johnson-lindenstrauss转换,以第t个图像为例,即对im_block_permutation_array_t进行johnson-lindenstrauss转换,将每一个1×9的向量压缩呈一个1×4的向量,得到一个三维数组im_jl_array_t,该数组的长为256,宽为256,高为4。s031:随机生成一个服从平均值为0,方差为1/4的高斯分布的9×4的矩阵p;以数组im_array_t中第a行第b列这个点为例,对于数组中的每一个点重复步骤s032-s036;s032:将数组im_block_permutation_array_t中的im_block_permutation_array_t[a,b,0],im_block_permutation_array_t[a,b,1],…,im_block_permutation_array_t[a,b,7],im_block_permutation_array_t[a,b,8],组成一个行矩阵α;s033:随机生成一个服从平均值为0,标准差为0.3的高斯分布1×4的矩阵δ;s034:计算αp,得到一个新矩阵y;s035:计算y+δ,得到一个新矩阵α′;s036:将新矩阵α′进行变维操作,即可得到一个三维数组im_jl_array_t,im_jl_array_t[a,b,0]=α′[0,0],im_jl_array_t[a,b,1]=α′[0,1],im_jl_array_t[a,b,2]=α′[0,2],im_jl_array_t[a,b,3]=α′[0,3]。s04:遥感图像加密在本地平台,对5个图像的该波段图像进行paillier加密。以第t个图像为例,使用已知的公钥,对数组im_block_permutation_array_t进行paillier加密,得到一个二维数组im_paillier_array_t,该数组的长为256,宽为256。s041:选取两个随机素数p和q,并根据n=pq,计算n的值;s042:计算出paillier加密参数λ和g,得到paillier加密的公钥为(n,g),私钥为λ;s043:计算gm的值,m∈[0,65535],并把结果保存在第一个表(结构如下)中;mgms044:随机生成65536个随机数r,计算(gn)r的值,并把结果保存在第二个表(结构如下)中;r(gn)r以数组im_pixel_permutation_array_t中第a行第b列的点位列,对数组im_pixel_permutation_array_t中的每一个点重复步骤s045-s047;s045:从第一个表中查找m的值等于im_pixel_permutation_array_t[a,b]对应的gm的值;s046:从第二个表中随机抽取5个不同的(gn)r值,即(gn)r1,(gn)r2,(gn)r3,(gn)r4,(gn)r5;s047:im_paillier_array_t[a,b]=gm(gn)r1(gn)r2(gn)r3(gn)r4(gn)r5modn2。s05:遥感图像融合去噪在云平台对遥感图像进行融合去噪,即对im_jl_array_t和im_paillier_array_t进行非局部去噪,得到二维数组im_paillier_result_array,该数组的长为256,宽为256。s051:计算im_jl_array_1,im_jl_array_2,…,im_jl_array_n-1,im_jl_array_n这5个数组的叠加平均,得到一个三维数组,im_jl_mean_array,该数组的长为256,宽256,数组的高为4;以行a列b高c的这个点为例,s052:选取h1,h1为非局部去噪的滤波参数;s053:计算a的值,a为放大倍数,计算公式为a=27×256×256;以数组im_paillier_result_array中第a行第b列的点为例,对于数组中的每一个点重复步骤s054-s0514;s054:用im_jl_mean_array[a,b,0],im_jl_mean_array[a,b,1],im_jl_mean_array[a,b,5],im_jl_mean_array[a,b,3]组成一个行向量,记为v(a,b);以第t个图像为例,对每一个图像重复步骤s055-s057;以数组im_paillier_array_t中第i行第j列的点为例,对于数组im_paillier_array_t中的每一个点重复步骤s055-s057;s055:用im_jl_array_t[i,j,0],im_jl_array_t[i,j,1],im_jl_array_t[i,j,3],im_jl_array_t[i,j,3]组成一个行向量,记为v(i,j);s056:计算os_dis_square_t[i,j],计算公式为s057:计算dis_t[i,j],计算公式为s058:确定w_number的值为128;s059:确定数组os_dis_square_1,os_dis_square_2,…,os_dis_square_n中第w_number个大的值为dis_square,并计算h2的值,计算公式为以第t个图像为例,对每一个图像重复步骤s0510;以以数组dis_t中第i行第j列的点为例,对于数组dis_t中的每一个点重复步骤s0510;s0510:若os_dis_square_t[i,j]>dis_square,则dis_t[i,j]=0;若os_dis_square_t[i,j]≤dis_square,则s0511:计算z的值,计算公式为其中ω为整个图像;以第t个图像为例,对每一个图像重复步骤s0512到步骤s0513:以数组w_t中第i行第j列的点为例,对于数组w_t中的每一个点重复步骤s0512-s0513;s0512:计算q_t[i,j]的值,计算公式为s0513:计算w_t[i,j]的值,计算公式为w_t[i,j]=aq_t[i,j];s0514:计算im_paillier_result_array[a,b]的值,计算公式为其中ω为整个图像。s06:遥感图像解密在本地平台,使用私钥λ对数组im_paillier_result_array进行paillier解密,得到一个二维数组im_permutation_result_array,该数组的长为256,宽为256。s061:计算u的值,计算公式为以数组im_paillier_result_array中第a行第b列的点为例,对数组im_paillier_result_array中的每一个点重复步骤s062-s063;s062:计算nl的值,计算公式为其中c等于im_paillier_result_array[a,b];s063:计算im_permutation_result_array[a,b]的值,计算公式为im_permutation_result_array[a,b]=nl/a。s07:遥感图像恢复排列在本地平台,利用图像恢复数列,对im_permutation_result_array进行遥感图像的像素置换恢复,得到一个二维数组im_result_array,该数组的长为256,宽为256。s08:遥感图像合并在本地平台,对完成步骤s02-s07的所有波段得到的结果进行合并处理,得到去噪后的完整遥感图像。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员,在不脱离本发明方法的前提下,还可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1