发明名称 基于稀疏表示的遥感图像去云方法
摘要 本发明公开了一种基稀疏表示的遥感图像去云方法,具体涉及一种基于稀疏表示的遥感图像去云方法,包括:提取云掩膜矩阵得到新的图像、初始化迭代参数、固定图像的纹理部分更新图像的光滑部分、固定图像的光滑部分更新图像的纹理部分、使用全变差函数对光滑部分进行调整、更新迭代阈值、判断分解是否完成几个步骤。本发明提出一种基于稀疏表示的遥感图像去云方法,对图像的全变差调整函数的参数进行调整,即在使用块坐标松弛算法来分解图像时,通过改变全变差调整函数的参数来调节算法的收敛速度,提高算法的效率和对图像的分解效果。在尽可能不破坏图像原始信息的前提下,该方法去除厚云的效果比较明显。
申请公布号 CN102800058B 申请公布日期 2015.05.27
申请号 CN201210232034.4 申请日期 2012.07.06
申请人 哈尔滨工程大学 发明人 薛敏;赵玉新;韩自发;高峰;沈志峰;张振兴
分类号 G06T5/00(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 赵文利
主权项 一种基于稀疏表示的遥感图像去云方法,其特征在于,包括以下几个步骤:步骤一、提取云掩膜矩阵,得到新的图像;将厚云提取为一个与原始图像大小相同的掩膜矩阵M,掩膜矩阵M的元素,在有厚云遮挡的地方置为“0”,在没有厚云遮挡的地方置为“1”;设原始的图像为<img file="FDA0000647973730000011.GIF" wi="88" he="79" />则将原始图像与掩膜矩阵M对应位置相乘,得到新的图像为X,即<img file="FDA0000647973730000012.GIF" wi="249" he="78" />步骤二、对步骤一得到的新的图像X进行优化,即用块坐标松弛算法将图像X稀疏分解为光滑部分T<sub>n</sub>和纹理部分T<sub>t</sub>,获取最终的稀疏系数α<sub>t</sub>,α<sub>n</sub>;利用采用Curvelet变换字典和离散余弦变换字典对掩膜后的图像稀疏分解为光滑部分和纹理部分,即:X=X<sub>n</sub>+X<sub>t</sub>=T<sub>t</sub>α<sub>t</sub>+T<sub>n</sub>α<sub>n</sub>   (1)其中:X<sub>n</sub>表示光滑部分,X<sub>t</sub>表示纹理部分,T<sub>t</sub>为LDCT字典,T<sub>n</sub>为Curvelet字典,α<sub>n</sub>为X在字典T<sub>n</sub>表示下的稀疏系数,α<sub>t</sub>为X在字典T<sub>t</sub>表示下的稀疏系数;在(1)式的限制下,求图像的最稀疏表示变为求解:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><mo>{</mo><msup><msub><mi>&alpha;</mi><mi>n</mi></msub><mi>opt</mi></msup><mo>,</mo><msup><msub><mi>&alpha;</mi><mi>t</mi></msub><mi>opt</mi></msup><mo>}</mo><mo>=</mo><mi>arg</mi><munder><mi>min</mi><mrow><mo>{</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>,</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>}</mo></mrow></munder><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>0</mn></msub><mo>+</mo><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>0</mn></msub></mtd><mtd><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mi>X</mi><mo>=</mo><msub><mi>T</mi><mi>t</mi></msub><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>+</mo><msub><mi>T</mi><mi>n</mi></msub><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000647973730000013.GIF" wi="1530" he="98" /></maths>其中,α<sub>n</sub><sup>opt</sup>表示光滑部分所求的表示系数,α<sub>t</sub><sup>opt</sup>表示纹理部分所求的表示系数,||·||<sub>0</sub>表示l<sub>0</sub>范数,表示计算非零项的个数;根据基追踪算法将(1)式转化为求解l<sub>1</sub>范数问题,同时考虑图像含有噪声以及对光滑部分进行全变差调整,(2)式的求解变为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mo>{</mo><msup><msub><mi>&alpha;</mi><mi>n</mi></msub><mi>opt</mi></msup><mo>,</mo><msup><msub><mi>&alpha;</mi><mi>t</mi></msub><mi>opt</mi></msup><mo>}</mo><mo>=</mo><mi>arg</mi><munder><mi>min</mi><mrow><mo>{</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>,</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>}</mo></mrow></munder><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>1</mn></msub><mo>+</mo><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>1</mn></msub><mo>+</mo><mi>&lambda;</mi><msup><msub><mrow><mo>|</mo><mo>|</mo><mi>X</mi><mo>-</mo><msub><mi>T</mi><mi>t</mi></msub><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>-</mo><msub><mi>T</mi><mi>n</mi></msub><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msub><mn>2</mn></msup><mo>+</mo><msup><mi>&gamma;</mi><mi>TV</mi></msup><mo>{</mo><msub><mi>T</mi><mi>n</mi></msub><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000647973730000014.GIF" wi="1703" he="106" /></maths>其中,λ为拉格朗日乘子,γ为正则化参数,TV{T<sub>n</sub>α<sub>n</sub>}表示对图像的光滑部分进行全变差调整的部分;由于X<sub>n</sub>=T<sub>n</sub>α<sub>n</sub>,X<sub>t</sub>=T<sub>t</sub>α<sub>t</sub>,所以α<sub>n</sub>=T<sub>n</sub><sup>+</sup>X<sub>n</sub>,α<sub>t</sub>=T<sub>t</sub><sup>+</sup>X<sub>t</sub>,其中T<sub>n</sub><sup>+</sup>为Curvelet反变换,T<sub>t</sub><sup>+</sup>为LDCT反变换,则(3)式变为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mo>{</mo><msup><msub><mi>X</mi><mi>n</mi></msub><mi>opt</mi></msup><mo>,</mo><msup><msub><mi>X</mi><mi>t</mi></msub><mi>opt</mi></msup><mo>}</mo><mo>=</mo><mi>arg</mi><munder><mi>min</mi><mrow><mo>{</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>,</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>}</mo></mrow></munder><msub><mrow><mo>|</mo><mo>|</mo><msub><mrow><msup><msub><mi>T</mi><mi>n</mi></msub><mo>+</mo></msup><mi>X</mi></mrow><mi>n</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>1</mn></msub><mo>+</mo><msub><mrow><mo>|</mo><mo>|</mo><msup><msub><mi>T</mi><mi>t</mi></msub><mo>+</mo></msup><msub><mi>X</mi><mi>t</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>1</mn></msub><mo>+</mo><mi>&lambda;</mi><msup><msub><mrow><mo>|</mo><mo>|</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>t</mi></msub><mo>-</mo><msub><mi>x</mi><mi>n</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msub><mn>2</mn></msup><mo>+</mo><msup><mi>&gamma;</mi><mi>TV</mi></msup><mo>{</mo><msub><mi>X</mi><mi>n</mi></msub><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000647973730000015.GIF" wi="1690" he="101" /></maths>对(4)式,采用块坐标松弛算法求解,具体包括:设置迭代次数N、迭代阈值δ,步长λ,λ=δ/(N‑1),正则化参数γ,初始化光滑部分X<sub>n</sub>=X,纹理部分X<sub>t</sub>=0,并按以下步骤进行迭代:(a)固定纹理部分X<sub>t</sub>不变,更新光滑部分X<sub>n</sub>;先计算残差R=X‑X<sub>n</sub>‑X<sub>t</sub>,然后计算X<sub>n</sub>+R的curvelet变换系数α<sub>n</sub>=T<sub>n</sub><sup>+</sup>(X<sub>n</sub>+R);使用阈值为δ的软阈值函数处理系数α<sub>n</sub>,得到α<sub>n</sub>,再利用公式X<sub>n</sub>=T<sub>n</sub>α<sub>n</sub>重构X<sub>n</sub>;其中T<sub>n</sub><sup>+</sup>表示curvelet反变换;(b)固定由(a)得到的光滑部分X<sub>n</sub>不变,更新纹理部分X<sub>t</sub>;先计算残差R=X‑X<sub>n</sub>‑X<sub>t</sub>,然后计算X<sub>t</sub>+R的LDCT变换系数α<sub>n</sub>=T<sub>t</sub><sup>+</sup>(X<sub>t</sub>+R);使用阈值为δ的软阈值函数处理系数α<sub>t</sub>,得到α<sub>t</sub>,再利用公式X<sub>t</sub>=T<sub>t</sub>α<sub>t</sub>重构X<sub>n</sub>;其中T<sub>t</sub><sup>+</sup>表示LDCT反变换;所述的软阈值函数为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>&alpha;</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>sign</mi><mrow><mo>(</mo><mi>&alpha;</mi><mo>)</mo></mrow><mrow><mo>(</mo><mo>|</mo><mi>&alpha;</mi><mo>|</mo><mo>-</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd><mtd><mo>|</mo><mi>&alpha;</mi><mo>|</mo><mo>&GreaterEqual;</mo><mi>&delta;</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>|</mo><mi>&alpha;</mi><mo>|</mo><mo>&lt;</mo><mi>&delta;</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000647973730000021.GIF" wi="656" he="154" /></maths>(c)对由(a)得到的图像的光滑部分X<sub>n</sub>进行全变差调整,全变差形式由下式给出:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>X</mi><mi>n</mi></msub><mo>=</mo><msub><mi>X</mi><mi>n</mi></msub><mo>-</mo><mi>&mu;</mi><mfrac><mrow><mo>&PartialD;</mo><mi>TV</mi><mo>{</mo><msub><mi>X</mi><mi>n</mi></msub><mo>}</mo></mrow><msub><mrow><mo>&PartialD;</mo><mi>X</mi></mrow><mi>n</mi></msub></mfrac><mo>=</mo><msub><mi>X</mi><mi>n</mi></msub><mo>-</mo><mi>&mu;</mi><mo>&dtri;</mo><mrow><mo>(</mo><mfrac><msub><mrow><mo>&dtri;</mo><mi>X</mi></mrow><mi>n</mi></msub><mrow><mo>|</mo><msub><mrow><mo>&dtri;</mo><mi>X</mi></mrow><mi>n</mi></msub><mo>|</mo></mrow></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000647973730000022.GIF" wi="843" he="144" /></maths>其中,<img file="FDA0000647973730000023.GIF" wi="51" he="56" />为梯度算子,<img file="FDA0000647973730000025.GIF" wi="37" he="71" />为求偏导数符号,在前1000次迭代的过程中,令μ=2,其他情况,令μ=1;(d)更新迭代阈值:δ=δ‑λ(e)判断迭代次数是否小于N,如果小于N,判断迭代阈值和步长之间的关系,如果δ>λ,返回(a),对图像继续分解;如果δ<λ,则对图像分解结束,停止迭代,如果迭代次数等于N,停止迭代,得到图像在字典T<sub>n</sub>和字典T<sub>t</sub>表示下最终的稀疏系数α<sub>t</sub>,α<sub>n</sub>;α<sub>t</sub>为X在字典T<sub>n</sub>表示下的最终的稀疏系数,α<sub>n</sub>为X在字典T<sub>t</sub>表示下的最终的稀疏系数;步骤三、根据步骤二得到的稀疏系数α<sub>t</sub>,α<sub>n</sub>,使用公式X=T<sub>t</sub>α<sub>t</sub>+T<sub>n</sub>α<sub>n</sub>重构出修复后的去云图像<img file="FDA0000647973730000024.GIF" wi="83" he="71" /><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mover><mi>X</mi><mo>&OverBar;</mo></mover><mo>=</mo><msub><mi>T</mi><mi>t</mi></msub><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>+</mo><msub><mi>T</mi><mi>n</mi></msub><msub><mi>&alpha;</mi><mi>n</mi></msub></mrow>]]></math><img file="FDA0000647973730000026.GIF" wi="328" he="97" /></maths>。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号