前言

在遥感图像融合领域,说到已经投入到商业运用,并且其变种还十分多的融合算法,恐怕IHS算法要算其中之一了。对于初学者,比如我,也经常在论文中看到IHS及其变种的身影。故在此就目前自己对IHS算法的了解做个笔记。

IHS算法简介

IHS即是Intensity–Hue–Saturation的缩写,同我们熟知的RGB一样,也是一种颜色空间。3者的意思为,强度,色调,饱和度。通常IHS算法只对强度分量I进行操作,而无关其他2个分量。确切地说,进行IHS变换之后,强度分量I只包含图像的结构信息而去除了其他的信息,剔除掉的信息主要是颜色信息。而IHS所属的成分替代方法假设Pan图所包含的结构同强度分量I是一样的,所以实践中能够使用Pan图直接替换强度分量I得到融合结果。
那么如何计算强度分量I呢?由于IHS算法假设(assumption)强度分量I是多光谱图像(MS)各波段的线性组合,所以我们可以使用低分辨MS(LRM)图像各波段的线性组合得到强度分量I。虽然根据光谱响应函数来看,即使Pan图与多光谱各波段存在某种关系,也绝对不是线性的。换句话说,假设强度分量I是多光谱各波段的线性组合是不精确的,但是由于其在建模和求解上更易实现,而且效果也不错,所以仍不失为一种解决问题的方法。其特点是计算效率很快,融合结果的空间分辨率好,但是光谱失真(color distortion)严重。部分原因可在【2006】《A New Intensity Hue-Saturation Fusion Approach to Image Fusion With a Tradeoff Parameter》一文中找到,Choi指出:IHS算法的光谱失真严重主要是因为Pan和强度分量I之间差异过大,所以通过minInew{∣Pan−Inew∣2+∣Inew−I∣2}min_{I_{new}}\{|Pan-I_{new}|^2+|I_{new}-I|^2\}minInew​​{∣Pan−Inew​∣2+∣Inew​−I∣2}获得一个新的强度分量。其结果就是在光谱保持和空间细节注入方面取得权衡。当InewI_{new}Inew​更加逼近Pan时,融合结果的空间分辨率更高,当然光谱失真就愈严重。而当InewI_{new}Inew​更逼近I时,则融合结果的光谱保持更好,但是空间分辨率便不理想。需要注意的是,原始的IHS算法只适用于RGB3个通道的图像,后来有很多IHS的扩展算法将其扩展到4通道乃至n通道。最一般的确定n通道MS图像对应的强度分量的I的公式如下。I=∑i=1NαiMi(1)I=∑_{i=1}^{N}α_{i}M_{i} (1)I=i=1∑N​αi​Mi​(1)
其中αiα_{i}αi​表示各波段的系数,MiM_{i}Mi​表示上采样的LRM,N表示MS的通道总数。通常我们都取αi=1Nα_{i}=\frac{1}{N}αi​=N1​ 。当然也有更加精确的确定I的公式,比如choi在【2006】年发表的《A new intensity-hue-saturation fusion approach to image fusion with a tradeoff parameter》中指出强度分量I等于I=13(0.3∗R+0.75∗G+0.25∗B+1.7∗NIR)I=\frac{1}{3}(0.3*R+0.75*G+0.25*B+1.7*NIR)I=31​(0.3∗R+0.75∗G+0.25∗B+1.7∗NIR);而Tu在[2004]《A fast intensity-hue-saturation fusion technique with spectral adjustment for IKONOS imagery》[FIHS模型]一文中指出IKONOS中的强度分量I为I=13(R+0.75∗G+0.25∗B+NIR)I=\frac{1}{3}(R+0.75*G+0.25*B+NIR)I=31​(R+0.75∗G+0.25∗B+NIR);对于QuickBird卫星图像融合,Joshi建议强度分量I应当等于I=0.2308∗R+0.2315∗G+0.1139∗B+0.4239∗NIRI=0.2308*R+0.2315*G+0.1139*B+0.4239*NIRI=0.2308∗R+0.2315∗G+0.1139∗B+0.4239∗NIR《A model-based approach to multiresolution fusion in remotely sensed images》【2006】。当然也有使用自适应参数算法求得I=∑i=1NαiMiI=∑_{i=1}^{N}α_{i}M_{i}I=∑i=1N​αi​Mi​中的αiα_{i}αi​,比如在【2010】年发表的《An Adaptive IHS Pan-Sharpening Method》基于Pan尽可能逼近强度分量可减少光谱失真的假设求得αiα_{i}αi​,即P≈∑i=1NαiMiP≈∑_{i=1}^{N}α_{i}M_{i}P≈∑i=1N​αi​Mi​。然后利用这些αiα_{i}αi​作为权重系数求出强度分量I,最后使用由Pan图决定的权重矩阵式(2)改进FIHS模型式(3)进行细节注入,但是光谱失真仍然存在。 h(x)=exp(−λ∣▽P∣4+ε)(2)h(x)=exp(-\frac{λ}{|▽P|^4+ε}) (2)h(x)=exp(−∣▽P∣4+ελ​)(2)
其中λ=10−9λ=10^{-9}λ=10−9, ε=10−10ε=10^{-10}ε=10−10。
Fi=Mi+h(x)(P−I)(3)F_{i} = M_{i} + h(x)(P − I) (3)Fi​=Mi​+h(x)(P−I)(3)
在【2014】年《An Improved Adaptive Intensity–Hue–Saturation Method for the Fusion of Remote Sensing Images》一文中,由于使用Pan图的权重矩阵引入的权重过大,通过添加MS的权重矩阵式(4)对FIHS模型进行改进得到式(5)以决定细节注入。虽然改善了光谱失真,但是导致细节丰富的区域的结果过于平滑,图像细节较AIHS算法略平滑。
WMi=exp(−λ∣▽Mi∣4+ε)(4)W_{M_{i}}=exp(-\frac{λ}{|▽M_{i}|^4+ε}) (4)WMi​​=exp(−∣▽Mi​∣4+ελ​)(4)
Fi=Mi+Wi(P−I)(5)F_{i} = M_{i} + W_{i}(P − I) (5)Fi​=Mi​+Wi​(P−I)(5)
这里通过权衡Pan的权重矩阵和多光谱权重矩阵的影响,得到一个折中的权重矩阵以控制细节的注入。WiW_{i}Wi​的计算公式如下。
Wi=Mi1N∑i=1NMi(βWP+(1−β)WMi)(6)W_{i} =\frac{M_{i}}{ \frac{1}{N}∑_{i=1}^{N}M_{i}} (βW_{P}+(1-β)W_{M_{i}}) (6)Wi​=N1​∑i=1N​Mi​Mi​​(βWP​+(1−β)WMi​​)(6)
其中WPW_{P}WP​就是前面提到的式(2),只不过在此为了命名上的统一称为WPW_{P}WP​。

IHS结合变分模型

近年来对于IHS结合变分模型的算法也取得了良好的效果,在一定程度上减少了光谱失真,如《Panchromatic and Multi-spectral Image Fusion Using IHS and Variational Models》【2012】一文使用变分法求得替代成分f,不再使用Pan直接替代求得强度分量,而是将f,H,S应用在IHS逆变换中,实验证明该方法在光谱保持上取得了一定的进步。其主要思想就是向f中注入Pan图像的细节,并且通过逼近I来保持光谱信息。在《JOINT IHS AND VARIATIONAL METHODS FOR PAN-SHARPENING OF VERY HIGH RESOLUTION IMAGERY》【2013】Zhou提出由3项组成的能量函数来求得替代成分的最优解。他认为应该从Pan图提取空间信息注入到MS中以添加细节,通过使替代成分f的低分辨版本接近于强度成分I保持光谱特征,第三项用于保证解的平滑性。在【2016】年Zhou又发表《EXTENDED GIHS FUSION FOR PAN-SHARPENING BASED ON IMAGE MODEL》实现了IHS和变分结合的模型。另外Ghahremani于2016年提出一种新的基于变分的模型NIHS(非线性的IHS)《Nonlinear IHS: A Promising Method for Pan-Sharpening》。通过引入局部合成模型使用非线性的方法近似强度分量,引入全局模型使高空间分辨率下的强度分量与其退化(即下采样的强度分量)的强度分量协调一致。具体来说,通过将Pan图及其下采样版本和LRM上采样版本及LRM分别分成对应大小的patch,然后将Pan图及其下采样版本的patch看做LRM上采样版本及LRM各波段对应位置的patch的线性组合实现非线性合成方法。值得注意的是该局部合成方法同样利用了Pan图应当尽可能地逼近强度分量可以减轻光谱失真的假设。

其中i表示patch的序号,s(i),S(i)s^{(i)},S^{(i)}s(i),S(i)分别表示LRM的强度分量及其上采样版本的第i个patch,Y(i)=(y1(i),....,yk(i))TY^{(i)} =( y_{1}^{(i)} , ....,y_{k}^{(i)} )^TY(i)=(y1(i)​,....,yk(i)​)T和Yup(i)=(y1,up(i),....,yk,up(i))TY_{up}^{(i)} =( y_{1,up}^{(i)} , ....,y_{k,up}^{(i)} )^TYup(i)​=(y1,up(i)​,....,yk,up(i)​)T分别表示LRM及其上采样版本在波段方向的第i个patch,k表示波段序号,个人认为这里的L表示波段总数。

其中X(i),x(i)X^{(i)},x^{(i)}X(i),x(i)分别表示Pan及其下采样版本的第i个patch。
然后全局模型利用局部合成方法求出的中间结果得到满足全局重构的最终结果,即新的强度分量。全局模型使用Iup=argminIup{∣∣I−MIup∣∣22+η∣∣Iup−I0,up∣∣22}(10)I_{up} =argmin_{I_{up}}\{||I-MI_{up}||_{2}^2+η||I_{up}-I_{0,up}||_{2}^2\} (10)Iup​=argminIup​​{∣∣I−MIup​∣∣22​+η∣∣Iup​−I0,up​∣∣22​}(10)
其中IupI_{up}Iup​为最终得到的强度分量,而I和I0,upI和I_{0,up}I和I0,up​分别为通过局部合成方法得到的强度分量及其上采样版本。
实验结果表明该算法在保持光谱信息方面表现优秀,空间分辨率也尚可,但是在边缘处略有模糊会出现块状阴影。就普适性和客观评价结果来看,该算法的效果相当不错。

IHS和小波结合的模型

借助于小波变换能够很好地保持原始多光谱图像的光谱信息,而IHS算法通常能够平滑地融合色彩和空间特征的优点。2004年,zhang在《An IHS and wavelet integrated approach to improve pan-sharpening visual quality of natural colour IKONOS and QuickBird images》一文中提出使用IHS结合小波变换模型进行多光谱图像融合。通过对强度分量I和直方图匹配之后的Pan图分别进行一层的小波分解,使用强度分量I和Pan图的低频子图的线性组合替换Pan的低频子图以保持光谱信息,然后对该中间结果实施小波重构得到一幅新的图像当做Pan图,最后使用新的Pan图代替强度分量I。这里介绍一下如何计算新的低频子图,LLnew=w1∗ILL+w2∗PLLLL_{new} =w_{1}*I_{LL}+w_{2}*P_{LL}LLnew​=w1​∗ILL​+w2​∗PLL​,其中权重系数使用下面的公式计算。

这里a^\hat{a}a^,b^\hat{b}b^分别表示a,b的均值,N表示近似图像的像素点总数,即ILLI_{LL}ILL​或PLLP_{LL}PLL​(因为2者一样大)的像素点总数。
算法流程图如下。

下面就来介绍一下IHS融合算法,并使用matlab实现IHS算法。

IHS算法步骤

首先我们按照最传统的IHS算法的讲解方式来讲解IHS算法,按照该思路,IHS算法可以分为4步:1)对上采样的MS做IHS正变换;2)对Pan图进行直方图匹配得到PannewPan_{new}Pannew​;3)使用PannewPan_{new}Pannew​替代强度分量I;4)对替代之后的结果进行IHS逆变换,最终得到融合的结果。
以上就是IHS算法的全部内容了,需要思考的是,为什么要对Pan进行直方图匹配?An Improved Adaptive Intensity–Hue–Saturation Method for the Fusion of Remote Sensing Images【2014】一文中指出,直方图匹配主要是为了消除大气、光照和传感器不同的影响。
接下来在数学的角度来看一看,IHS是如何实现的,依据此分析便可以实现IHS的融合算法了。

IHS算法公式形式

1)IHS变换的公式就如下所示

2)直方图匹配,你既可以使用matlab中imhist,histeq来进行,也可以使用下面的直方图匹配公式,其中σ表示方差,μ表示均值。

3)然后我们使用上面的Pan_new来替代IHS中的I
4)接着使用逆变换公式来得到融合结果

Fast IHS算法

如果没有看懂上面的IHS算法也没有关系,实际上IHS算法可以更简洁地实现,这得益于Tu在2004年的研究工作。使得像我这样的渣渣对IHS算法的理解和实现都容易了许多。像上面的步骤实现IHS还是有点繁琐,当我们使用公式求得强度分量,再将Pan图直方图匹配到强度分量,就可以直接使用下面的公式实现IHS算法。至于严苛的数学证明这里就不再赘述。

可以看到,除了Pan依旧要做直方图匹配,IHS的逆变换可以绕过,该方法被称为Fast IHS算法。由Tu在2004年提出,当然该模型可以很容易扩展到n通道,公式如下:Mif=Mi+(P−I)M_{i}^{f}=M_{i}+(P-I) Mif​=Mi​+(P−I)

matlab代码

鉴于显示便于观察融合效果的缘故,我们使用3通道的图像作为演示IHS融合算法的实例。
主函数代码如下:

LMS = im2double(imread('LR.tif'));
MS = imresize(LMS,4);
Pan = im2double( imread('pan.tif') );
fused = IHS(MS,Pan);
figure(1);imshow(fused);title('IHS融合结果');

IHS算法代码如下:注意MS各波段前的系数α按照最一般的设置1N\frac{1}{N}N1​来取的,但也有通过改变该系数形成的方式来改善IHS算法的。如:An Adaptive IHS Pan-Sharpening Method【2010】,文中通过求解自适应系数α来获取更加精确的I,使得Pan与I的差异减小,文中指出之所以IHS算法光谱失真严重,主要就在于Pan与I之间的差异太大,导致注入过多的空间信息。

function [fused] = IHS(MS,Pan)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% % 输入参数:
% %        MS:上采样之后的多光谱图像
% %        Pan : 全色图
% % 输出参数:
% %        fused: IHS融合结果
% %
% %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % I = zeros(size(MS));for n=1:3I = I + MS(:,:,n)/n ; endP = (Pan - mean(Pan(:))) * std(I(:))/std(Pan(:)) + mean(I(:)); % 直方图匹配fused = zeros(size(MS));for n=1:3fused(:,:,n)= MS(:,:,n) + P - I; end
end

融合结果



今天就先写到这,以后还有新的了解就再添上。

IHS遥感图像融合算法及其相关的算法相关推荐

  1. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  2. 遥感图像融合c语言,一种多源遥感图像融合方法与流程

    本发明涉及图像处理技术领域,具体地说是一种多源遥感图像融合方法. 背景技术: 多源遥感图像融合是指将来源于不同传感器的同一场景的两幅或多幅遥感图像进行信息互补叠加,得到信息更加精确和完善的综合图像的图 ...

  3. 【IHS+稀疏表示】基于IHS小波变换和稀疏表示相结合的遥感图像融合算法matlab仿真

    1.软件版本 matlab2013b 2.本算法理论知识 小波变换具有多尺度特性,其时域和频域均 具有表征信号局部特性的能力和多分辨率分析的 特点.在低频时具有高的频谱分辨率,在高频 时具有低的频谱分 ...

  4. KCF算法(相关滤波算法) 跟踪目标

    这是笔者目前碰到的性能最好的传统目标跟踪算法,所以这里也简单介绍下这个算法的由来. 一.算法介绍 KCF全称为Kernel Correlation Filter 核相关滤波算法.是在2014年由Joa ...

  5. 【MATLAB图像融合】[7] 区域能量算法

    能量计算 能量算法,顾名思义就是计算一幅图像或是一个像素区域的能量.能量对于图像而言就是灰度值,灰度值越高能量就越大对应的像素点就是"更白".在8位的灰度图中,0代表黑色,255代 ...

  6. 遥感图像融合(一)——遥感图像的相关概念

    一.遥感影像 遥感,意思是"遥远的感知",现代遥感的定义是:不直接接触有关目标物或现象而能收集信息,并能对其进行分析,解译和分类等的一种技术. 1.定义:凡是只记录各种地物电磁波大 ...

  7. Pan-GAN:用于遥感图像融合的无监督全色图像锐化方法

    目录

  8. 单目标跟踪--KCF算法(核化相关滤波算法)Python实现(超详细)

    Tracking-KCF Algorithm 注:本文涉及的算法的代码实践已上传至GitHub,恳求大佬们指点!^ _ ^ 1. 目标检测跟踪与算法背景概述 ​ 目标跟踪任务在许多的计算机视觉系统中都 ...

  9. 基于IHS变换的图像融合

    典型的图像融合方法也是比较简单的图像融合方法,但也是目前应用最广泛的图像融合方法. 目前,常用的颜色模型一种是通常采用的红.黄.绿(RGB)三原色模型.另外一种广泛应用的颜色模型是强度.色调.饱和度( ...

  10. 加权平均法融合图像matlab,基于MATLAB的图像融合算法

    内容介绍 原文档由会员 小甜甜 发布 基于MATLAB的图像融合算法 1.9万字 34页 摘要 图像融合能够将不同类型传感器获取的同一对象的图像数据进行空间配准.并且采用一定的算法将各图像数据所含的信 ...

最新文章

  1. Apache Spark Jobs 性能调优
  2. Android左右连接和USING
  3. PTA数组作业一查找整数
  4. Web开发工具包收藏
  5. 奥运转播加速上云,北京冬奥组委测试阿里云视频传输技术
  6. Struts学习笔记--导航
  7. linux主备网卡切换脚本,Keepalived主备切换时执行脚本
  8. [转]《精通css》笔记1:css选择器与优先级
  9. 各大搜索引擎站点提交入口大全
  10. 电子设计(8)NPN和PNP三极管驱动LED电路
  11. 成人python线上培训机构_哪些成年人正通过在线教育平台学习?看这个大数据报告就知道...
  12. AILearning:GitHub万星的中文机器学习资源,路线图、视频、电子书、学习建议全在这
  13. Docker下ELK三部曲之三:K8S上的ELK和应用日志上报
  14. python软件调试断点的概念、作用及其分类
  15. python习题:(调用函数)打印横线、计算数的和与平均值
  16. java开发之SSM开发框架
  17. JS 倒计时展示小工具
  18. 亚马逊自动下单怎么设置
  19. 开源PHP社区交友APP系统源码/傻瓜式搭建
  20. JDK-17的下载与安装

热门文章

  1. Python实现笑脸检测+人脸口罩检测
  2. rails mysql2 mac_用Mac osx10.6在Ruby on Rails上安裝mysql2 gem。
  3. 谷粒商城:07. pms_catelog.sql
  4. Javascript:面向对象举例——矩形类及其实例化
  5. 如何吧家庭网络从计算机去掉,3个简单电脑、路由器设置,迅速解决网络瓶颈提高家庭网络速度...
  6. MYSQL中TRUNCATE和DELETE的区别
  7. Java中对象的直接赋值、浅拷贝及深拷贝的理解和应用场景及其实现方式
  8. 企业与市场_自动驾驶相关公司-技术发展
  9. 理解线程/多线程处理数组(MultiThreaded dealing with arrays)
  10. HDU-1994-利息计算