高光谱图像融合现状
高光谱图像融合现状
基于Pansharpening的高光谱图像融合方法
基于Pansharpening的高光谱图像融合方法是从多光谱图像与全色图像的融合方法迁移到高光谱图像融合方法的。它主要有以下几种方法:
成分替代
成分替代方法是对多光谱图像进行变换分离其空间部分,利用全色图像代替再进行逆变换。
matlab代码如下(示例):
function I_Fus_PCA = PCA(HS,PAN)
HS = double(HS);
%%%%%%%% Upsampling
ratio1 = size(PAN,1)/size(HS,1);
HSU = interp23tapGeneral(HS,ratio1);
imageLR = double(HSU);
imageHR = double(PAN);
[n,m,d]=size(imageLR);
imageLR = reshape(imageLR, [n*m,d]);
% PCA transform on MS bands
[W,PCAData] = princomp(imageLR);
F = reshape(PCAData, [n,m,d]);
% Equalization
I = F(:,:,1);
imageHR = (imageHR - mean(imageHR(:)))*std2(I)/std(imageHR(:)) mean2(I);
% Replace 1st band with PAN
F(:,:,1) = imageHR;
% Inverse PCA
I_Fus_PCA = reshape(F,[n*m,d]) * W';
I_Fus_PCA = reshape(I_Fus_PCA, [n,m,d]);
% Final Linear Equalization
for ii = 1 : size(HSU,3)
h = I_Fus_PCA(:,:,ii);
I_Fus_PCA(:,:,ii) = h - mean2(h) mean2(squeeze(double(HSU(:,:,ii))));
end
end
多分辨率分析
多分辨率分析方法是提取全色的空间细节,对多光谱进行细节补充。
工具包链接为:pan-sharpening的方法
基于模型驱动的高光谱图像融合方法
工具包链接:模型驱动的高光谱图像融合工具包
基于深度学习的高光谱图像融合方法
简单利用卷积神经网络融合高光谱图像
利用卷积神经网络学习低分辨率高光谱图像和高分辨率多光谱图像到高分辨率高光谱图像的映射关系。
tensorflow代码如下(示例):
def get_cnn():
inputs = l = Input((4, 4, 31), name='inputs') #低分辨率高光谱图像块
inputs1 = l1 = Input((32, 32, 3), name='inputs1') #高分辨率多光谱图像块
l = UpSampling2D((8, 8))(l)
l = tf.concat([l, l1],3)
l3 = Conv2D(31, (5, 5), padding='same', name='conv13')(l2)
l3 = Activation('relu', name='conv13_relu')(l3)
output = l3
return inputs,inputs1, output
深度展开网络
tensorflow代码如下(示例):
def HSInet(Y,Z, iniUp3x3,iniA,upRank,outDim,HSInetL,subnetL,ratio=8):
B = tf.get_variable(
'B',
[1, 1, upRank, outDim],
tf.float32,
initializer=tf.truncated_normal_initializer(mean = 0.0, stddev = 0.1))
tranB = tf.transpose(B,perm = [0,1,3,2])
CListX = getCs('TheCsX', ratio)#inital the kernel for downsampling
downY4, downY16, _ = downSam('GetPrior',Y, CListX, 3, ratio)# getPrior for upsample
# fist stage
YA = MyconvA( 'YA1', Y, 3, outDim, [1,1,1,1], iniA) #caculating YA
_, _, downX32 = downSam('CX1',YA, CListX, outDim, ratio) # downsampling
E = downX32-Z # Z上的残差
G = UpSam('E1',E, downY4, downY16, Y, iniUp3x3, outDim, ratio) # unsampling E
G = tf.nn.conv2d(G, tranB, [1,1,1,1], padding='SAME')
HY = -G #
HY = resCNNnet(('Pri%s'%(1)),HY,1,upRank, subnetL)
HY = resCNNnetPrior(('Pri%s'%(1)),HY, Y,1,upRank,3,subnetL)
ListX = []
# 2nd to the 19th stage
for j in range(HSInetL-2):
HYB= tf.nn.conv2d(HY, B, [1,1,1,1], padding='SAME')
ListX.append(YA HYB)
_, _, downX32 = downSam( ('CX%s'%(j 2)),ListX[int(j)],CListX,outDim, ratio)
E = downX32-Z
G = UpSam( ('E%s'%(j 2)),E, downY4, downY16, Y, iniUp3x3, outDim, ratio)
G = tf.nn.conv2d(G, tranB, [1,1,1,1], padding='SAME')
HY = HY-G
HY = resCNNnet(('Pri%s'%(j 2)),HY,j 2,upRank, subnetL)
HY = resCNNnetPrior(('Pri%s'%(j 2)),HY, Y,j 2,upRank,3,subnetL)
the final stage
HYB = tf.nn.conv2d(HY, B, [1,1,1,1], padding='SAME')
ListX.append(YA HYB)
outX = resCNNnet('FinalAjust',ListX[int(HSInetL-2)],101,outDim, levelN = 5)
_,_,CX = downSam( ('CX%s'%(HSInetL)),ListX[int(HSInetL-2)],CListX, outDim, ratio)
E = CX-Z
return outX, ListX, YA, E, HY
无监督深度学习方法
高光谱图像融合数据(仿真的)
CAVE数据集链接:CAVE数据集
Harvard数据集链接:Harvard数据集
ICVL数据集链接:ICVL数据集
高光谱图像融合数据(真实的)
总结
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbffaj
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01