一种改进的高光谱图像去噪方法与流程

文档序号:12597992阅读:来源:国知局

技术特征:

1.一种改进的高光谱图像去噪方法,其特征在于包括以下步骤:

(1)将待去噪的高光谱图像转换成空间光谱联合的二维矩阵;

(2)根据空间光谱联合的二维矩阵,采用基于欧式距离的近邻相似度计算策略计算高光谱图像的像素点与近邻的空间相似度;

(3)结合像素点空间局域相似性和光谱间低秩性建立去噪模型,恢复出原始无噪数据;

(4)采用原始无噪数据恢复出三维无噪高光谱图像。

2.根据权利要求1所述的改进的高光谱图像去噪方法,其特征在于:步骤(1)具体包括:

(1-1)获取待去噪的高光谱图像X∈Rm×n×b,其中,m、n分别是其空间结构的行数和列数,b是波段数;

(1-2)将高光谱图像X的第i个像素点在所有波段上的值记为一个向量di,i=1,2,...,mn,mn是像素点数;

(1-3)将所有向量进行集合,即为空间光谱联合的二维矩阵D=[d1,d2,...,dmn]。

3.根据权利要求2所述的改进的高光谱图像去噪方法,其特征在于:步骤(2)具体包括:

(2-1)定义高光谱图像的模型为:D=A+E+N,其中,A代表原始无噪数据,具有低秩特性,且A=[α1,α2,...,αmn],向量αi表示去噪后的第i个像素点在所有波段上的值,E代表稀疏噪声,N代表高斯噪声;

(2-2)计算像素点的空间相似度S:其中,σ表示标准差,tr(·)表示矩阵的迹,L是拉普拉斯矩阵。

4.根据权利要求3所述的改进的高光谱图像去噪方法,其特征在于:步骤(3)具体包括:

(3-1)结合空间像素点的相似性和光谱间低秩性,建立去噪模型为:

<mrow> <munder> <mi>min</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>E</mi> <mo>,</mo> <mi>N</mi> </mrow> </munder> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mo>|</mo> <msub> <mo>|</mo> <mo>*</mo> </msub> <mo>+</mo> <mi>&lambda;</mi> <mo>|</mo> <mo>|</mo> <mi>E</mi> <mo>|</mo> <msub> <mo>|</mo> <mrow> <mn>2</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>&gamma;</mi> <mo>|</mo> <mo>|</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>&beta;</mi> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>ALA</mi> <mi>T</mi> </msup> <mo>)</mo> </mrow> </mrow>

s.t.D=A+E+N

式中,λ、γ、β分别为系数噪声项、高斯噪声项和空间邻域信息的折中因子;

(3-2)对去噪模型求解,得到原始无噪数据A。

5.根据权利要求4所述的改进的高光谱图像去噪方法,其特征在于:步骤(3-2)具体包括:

(3-2-1)将去噪模型转变成以下等价形式:

<mrow> <munder> <mi>min</mi> <mrow> <mi>A</mi> <mo>,</mo> <mi>E</mi> <mo>,</mo> <mi>N</mi> </mrow> </munder> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mo>|</mo> <msub> <mo>|</mo> <mo>*</mo> </msub> <mo>+</mo> <mi>&lambda;</mi> <mo>|</mo> <mo>|</mo> <mi>E</mi> <mo>|</mo> <msub> <mo>|</mo> <mrow> <mn>2</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>&gamma;</mi> <mo>|</mo> <mo>|</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>&beta;</mi> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>JLJ</mi> <mi>T</mi> </msup> <mo>)</mo> </mrow> </mrow>

s.t.D=A+E+N,A=J

(3-2-2)其增广拉格朗日函数为:

<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>L</mi> <mo>=</mo> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mo>|</mo> <msub> <mo>|</mo> <mo>*</mo> </msub> <mo>+</mo> <mi>&lambda;</mi> <mo>|</mo> <mo>|</mo> <mi>E</mi> <mo>|</mo> <msub> <mo>|</mo> <mrow> <mn>2</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>&gamma;</mi> <mo>|</mo> <mo>|</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>&beta;</mi> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>JLJ</mi> <mi>T</mi> </msup> <mo>)</mo> </mrow> <mo>+</mo> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>Y</mi> <mn>1</mn> <mi>T</mi> </msubsup> <mo>(</mo> <mrow> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>Y</mi> <mn>2</mn> <mi>T</mi> </msubsup> <mo>(</mo> <mrow> <mi>A</mi> <mo>-</mo> <mi>J</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&mu;</mi> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mo>-</mo> <mi>J</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>

式中,Y1和Y2为系数矩阵,μ为步长;

(3-2-3)固定其他项来更新J:

<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>J</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>J</mi> </munder> <mi>&beta;</mi> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>JLJ</mi> <mi>T</mi> </msup> <mo>)</mo> </mrow> <mo>+</mo> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>Y</mi> <mn>2</mn> <mi>T</mi> </msubsup> <mo>(</mo> <mrow> <mi>A</mi> <mo>-</mo> <mi>J</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&mu;</mi> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mo>-</mo> <mi>J</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>J</mi> </munder> <mfrac> <mn>1</mn> <mi>&mu;</mi> </mfrac> <mo>|</mo> <mo>|</mo> <mi>J</mi> <mo>|</mo> <msub> <mo>|</mo> <mo>*</mo> </msub> <mo>+</mo> <mfrac> <mi>&eta;</mi> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <mi>J</mi> <mo>-</mo> <mrow> <mo>(</mo> <msub> <mi>J</mi> <mi>k</mi> </msub> <mo>-</mo> <mfrac> <mn>1</mn> <mi>&eta;</mi> </mfrac> <mo>&lsqb;</mo> <msub> <mi>J</mi> <mi>k</mi> </msub> <mo>(</mo> <mrow> <mfrac> <mrow> <mn>2</mn> <mi>&beta;</mi> </mrow> <mi>&mu;</mi> </mfrac> <mi>L</mi> <mo>+</mo> <mi>I</mi> </mrow> <mo>)</mo> <mo>-</mo> <mo>(</mo> <mrow> <mi>A</mi> <mo>+</mo> <mfrac> <msub> <mi>Y</mi> <mn>2</mn> </msub> <mi>&mu;</mi> </mfrac> </mrow> <mo>)</mo> <mo>&rsqb;</mo> <mo>)</mo> </mrow> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> </mrow> </mtd> </mtr> </mtable> </mfenced>

其中,针对核函数和F范数采用奇异值阈值的方法来求解,⊙k表示第k次迭代时⊙的值;

(3-2-4)固定其他项来更新A:

<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>A</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>A</mi> </munder> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>Y</mi> <mn>1</mn> <mi>T</mi> </msubsup> <mo>(</mo> <mrow> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>Y</mi> <mn>2</mn> <mi>T</mi> </msubsup> <mo>(</mo> <mrow> <mi>A</mi> <mo>-</mo> <mi>J</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&mu;</mi> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mo>-</mo> <mi>J</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <mi>D</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> <mo>+</mo> <mi>J</mi> <mo>+</mo> <mfrac> <msub> <mi>Y</mi> <mn>1</mn> </msub> <mi>&mu;</mi> </mfrac> <mo>-</mo> <mfrac> <msub> <mi>Y</mi> <mn>2</mn> </msub> <mi>&mu;</mi> </mfrac> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>

(3-2-5)固定其他项来更新E:

<mrow> <msub> <mi>E</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>E</mi> </munder> <mi>&lambda;</mi> <mo>|</mo> <mo>|</mo> <mi>E</mi> <mo>|</mo> <msub> <mo>|</mo> <mrow> <mn>1</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>Y</mi> <mn>1</mn> <mi>T</mi> </msubsup> <mo>(</mo> <mrow> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&mu;</mi> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> </mrow>

<mrow> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>E</mi> </munder> <mi>&lambda;</mi> <mo>|</mo> <mo>|</mo> <mi>E</mi> <mo>|</mo> <msub> <mo>|</mo> <mrow> <mn>2</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mfrac> <mi>&mu;</mi> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <mi>E</mi> <mo>-</mo> <mrow> <mo>(</mo> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>N</mi> <mo>+</mo> <mfrac> <msub> <mi>Y</mi> <mn>1</mn> </msub> <mi>&mu;</mi> </mfrac> <mo>)</mo> </mrow> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> </mrow>

(3-2-6)固定其他项来更新N:

<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>N</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>N</mi> </munder> <mi>&gamma;</mi> <mo>|</mo> <mo>|</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>Y</mi> <mn>1</mn> <mi>T</mi> </msubsup> <mo>(</mo> <mrow> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&mu;</mi> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>-</mo> <mi>N</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mfrac> <mi>&mu;</mi> <mrow> <mn>2</mn> <mi>&gamma;</mi> <mo>+</mo> <mi>&mu;</mi> </mrow> </mfrac> <mrow> <mo>(</mo> <mi>D</mi> <mo>-</mo> <mi>A</mi> <mo>-</mo> <mi>E</mi> <mo>+</mo> <mfrac> <msub> <mi>Y</mi> <mn>1</mn> </msub> <mi>&mu;</mi> </mfrac> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>

(3-2-7)固定其他项来更新Y1&Y2

Y1,k+1=y1,kk(D-Ak+1-Ek+1-Nk+1)

Y2,k+1=Y2,kk(Ak+1-Jk+1)

(3-2-8)固定其他项来更新μk

<mrow> <msub> <mi>&mu;</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&rho;&mu;</mi> <mi>k</mi> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mfrac> <mrow> <msub> <mi>&mu;</mi> <mi>k</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>E</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>E</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mo>|</mo> <mi>F</mi> </msub> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <mi>D</mi> <mo>|</mo> <msub> <mo>|</mo> <mi>F</mi> </msub> </mrow> </mfrac> <mo>&lt;</mo> <msub> <mi>&epsiv;</mi> <mn>0</mn> </msub> <mi>o</mi> <mi>r</mi> <mfrac> <mrow> <msub> <mi>&mu;</mi> <mi>k</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>N</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>N</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mo>|</mo> <mi>F</mi> </msub> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <mi>D</mi> <mo>|</mo> <msub> <mo>|</mo> <mi>F</mi> </msub> </mrow> </mfrac> <mo>&lt;</mo> <msub> <mi>&epsiv;</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&mu;</mi> <mi>k</mi> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>w</mi> <mi>i</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

式中,ρ表示迭代步长,ε0表示迭代阈值;

(3-2-9)判断终止条件:

||D-A-E-N||<ε1

||J-A||∞<ε2

式中,ε1表示设定的阈值,ε2表示设定的阈值;

(3-2-10)迭代终止后,得到无噪数据A。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1