发明名称 一种基于截断核范数正则化的图像恢复方法
摘要 一种基于截断核范数正则化的图像恢复方法,主要步骤如下:1、将原图片表示成矩阵形式,得到带有约束条件的优化问题;2、通过分析,将优化问题转化为迭代优化问题;3、使用TNNR-ADMM算法、TNNR-APGL算法或TNNR-ADMMAP算法求解上述迭代优化问题,优化得到的矩阵Xl即为最后恢复得到的图像X。本发明的有益效果在于:在核范数的基础上提出了矩阵的截断核范数,该范数能更好地逼近矩阵的秩;基于截断核范数的正则项能够更好地控制矩阵低秩特性,更加符合自然图像具有的低秩的本质属性;提出了TNNR-ADMM算法、TNNR-APGL算法和TNNR-ADMMAP算法,优化效率更高、更准确。
申请公布号 CN103345729A 申请公布日期 2013.10.09
申请号 CN201310272796.1 申请日期 2013.06.30
申请人 浙江贝尔技术有限公司 发明人 胡尧;张德兵;何晓飞;洪燕昌;刘奔;蔡文涛
分类号 G06T5/00(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 杭州赛科专利代理事务所 33230 代理人 曹绍文
主权项 1.一种基于截断核范数正则化的图像恢复方法,其特征在于:包括如下顺序步骤:第一步、将原图片表示成矩阵形式,记为矩阵<img file="FDA00003439425000015.GIF" wi="286" he="60" />集合Ω为没有损坏的像素点的集合,将最后恢复得到的图片记为:矩阵<img file="FDA00003439425000016.GIF" wi="275" he="59" />辅助矩阵:<img file="FDA00003439425000017.GIF" wi="599" he="66" />m图片长的像素数,n为图片宽的像素数,r为小于m或n的整数,然后将关于图片矩阵X的截断核范数<img file="FDA00003439425000011.GIF" wi="448" he="119" />σ<sub>i</sub>(X)分裂成两项之和,式中σ<sub>1</sub>(X)≥σ<sub>2</sub>(X)≥…σ<sub>i</sub>(X)≥…≥σ<sub>min</sub>{m,s=n}(X)为X的奇异值,得到如下带有约束条件的优化问题:<maths num="0001"><![CDATA[<math><mrow><msub><mrow><mo>|</mo><mo>|</mo><mi>X</mi><mo>|</mo><mo>|</mo></mrow><mo>*</mo></msub><mo>-</mo><msub><mi>max</mi><msup><mi>AA</mi><mi>T</mi></msup></msub><mo>=</mo><mi>I</mi><mo>,</mo><msup><mi>BB</mi><mi>T</mi></msup><mo>=</mo><msup><mi>I</mi><mrow><mi>Tr</mi><mrow><mo>(</mo><msup><mi>AXB</mi><mi>T</mi></msup><mo>)</mo></mrow></mrow></msup><mo>,</mo><msub><mi>P</mi><mi>&Omega;</mi></msub><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>P</mi><mi>&Omega;</mi></msub><mrow><mo>(</mo><mi>M</mi><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>式中||X||<sub>*</sub>为矩阵X的核范数,P是投影算子,Tr为对角线元素之和,T为矩阵的转置,I为单位矩阵;第二步、通过对<img file="FDA00003439425000013.GIF" wi="640" he="93" />进行分析,我们将补全矩阵X作SVD分解,得到X=UΣV,矩阵U=(u<sub>1</sub>,u<sub>2</sub>,…u<sub>m</sub>)<sup>T</sup>,矩阵V=(v<sub>1</sub>,v<sub>2</sub>,…v<sub>n</sub>)<sup>T</sup>,最终我们得到如下结论:<maths num="0002"><![CDATA[<math><mrow><msub><mi>max</mi><msup><mi>AA</mi><mi>T</mi></msup></msub><mo>=</mo><mi>I</mi><mo>,</mo><msup><mi>BB</mi><mi>T</mi></msup><mo>=</mo><msup><mi>I</mi><mrow><mi>Tr</mi><mrow><mo>(</mo><msup><mi>AXB</mi><mi>T</mi></msup><mo>)</mo></mrow></mrow></msup><mo>=</mo><mi>Tr</mi><mrow><mo>(</mo><msub><mi>A</mi><mi>X</mi></msub><mi>X</mi><mrow><mo>(</mo><msub><mi>B</mi><mi>X</mi></msub><msup><mo>)</mo><mi>T</mi></msup></mrow><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>矩阵A<sup>*</sup>=(u<sub>1</sub>,u<sub>2</sub>,…u<sub>r</sub>),矩阵B<sup>*</sup>=(v<sub>1</sub>,v<sub>2</sub>,…v<sub>r</sub>),将公式1转化为如下优化问题:min{||X||<sub>*</sub>-Tr(A<sup>*</sup>X(B<sup>*</sup>)<sup>T</sup>)},将上述优化问题转化为如下形式的迭代优化问题:1)当前补全矩阵X<sub>l</sub>=U<sub>l</sub>∑<sub>l</sub>V<sub>l</sub>,矩阵U<sub>l</sub>=(u<sub>1</sub>,u<sub>2</sub>,…u<sub>m</sub>),矩阵V<sub>l</sub>=(v<sub>1</sub>,v<sub>2</sub>,…v<sub>n</sub>),更新矩阵A<sub>l</sub>=(u<sub>1</sub>,u<sub>2</sub>,…u<sub>r</sub>)<sup>T</sup>,矩阵B<sub>l</sub>=(v<sub>1</sub>,v<sub>2</sub>,…v<sub>r</sub>)<sup>T</sup>,式中T为矩阵转置;2)更新补全矩阵X<sub>l+1</sub>通过X<sub>l+1</sub>=argmin<sub>X</sub>||X||<sub>*</sub>-Tr(A<sub>l</sub>XB<sub>l</sub><sup>T</sup>),s.tP<sub>Ω</sub>(X)=P<sub>Ω</sub>(M)(2),式中:s.t为所需满足的约束条件,P<sub>Ω</sub>为在Ω上的投影算子,P<sub>Ω</sub>(X)=P<sub>Ω</sub>(M)为X和M在Ω处的值应该相同;第三步、使用TNNR-ADMM算法、TNNR-APGL算法或TNNR-ADMMAP算法求解上述迭代优化问题(2),优化得到的补全矩阵X<sub>l</sub>即为最后恢复得到的图像X;所述的TNNR-ADMM算法:先将公式2推导为:min<sub>X,W</sub>||X||<sub>*</sub>-Tr(A<sub>l</sub>WB<sub>l</sub><sup>T</sup>),s.tX=W,P<sub>Ω</sub>(W)=PΩ(M)(3);其增广拉格朗日方程为:<maths num="0003"><![CDATA[<math><mrow><mi>L</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>,</mo><mi>W</mi><mo>,</mo><mi>&beta;</mi><mo>)</mo></mrow><mo>=</mo><msub><mrow><mo>|</mo><mo>|</mo><mi>X</mi><mo>|</mo><mo>|</mo></mrow><mo>*</mo></msub><mo>-</mo><mi>Tr</mi><mrow><mo>(</mo><msub><mi>A</mi><mi>l</mi></msub><msup><msub><mi>WB</mi><mi>l</mi></msub><mi>T</mi></msup><mo>)</mo></mrow><mo>+</mo><mfrac><mi>&beta;</mi><mn>2</mn></mfrac><msup><msub><mrow><mo>|</mo><mo>|</mo><mi>X</mi><mo>-</mo><mi>W</mi><mo>|</mo><mo>|</mo></mrow><mi>F</mi></msub><mn>2</mn></msup><mo>+</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mi>Tr</mi><mrow><mo>(</mo><msup><mi>Y</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>X</mi><mo>-</mo><mi>W</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>式中:W为矩阵;T为矩阵转置;β为常数;||.||<sub>F</sub>为矩阵的Frobenius范数,采用如下具体流程解决上述迭代优化问题:1)初始化:初始补全矩阵X<sub>1</sub>=M<sub>Ω</sub>,式中,辅助矩阵W<sub>1</sub>=X<sub>1</sub>,矩阵Y<sub>1</sub>=X<sub>1</sub>,常数β=1;2)更新当前补全矩阵<img file="FDA00003439425000023.GIF" wi="722" he="137" />式中:Wk为矩阵,Y<sub>k</sub>为矩阵;3)更新辅助矩阵W<sub>k+1</sub>:<maths num="0005"><![CDATA[<math><mrow><msub><mi>W</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mi>&beta;</mi></mfrac><mrow><mo>(</mo><msup><msub><mi>A</mi><mi>l</mi></msub><mi>T</mi></msup><msub><mi>B</mi><mi>l</mi></msub><mo>+</mo><msub><mi>Y</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>式中:X<sub>k+1</sub>为更新后的补全矩阵,Yx为矩阵;4)更新辅助矩阵W<sub>k+1</sub>:<maths num="0006"><![CDATA[<math><mrow><msub><mi>w</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>P</mi><msup><mi>&Omega;</mi><mi>c</mi></msup></msub><mrow><mo>(</mo><msub><mi>W</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>P</mi><mi>&Omega;</mi></msub><mrow><mo>(</mo><mi>M</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>式中:Ω<sup>c</sup>为Ω的补集,即图片中除Ω之外的像素,<img file="FDA00003439425000027.GIF" wi="271" he="72" />为W<sub>k+1</sub>在Ω<sup>c</sup>上的投影算子;5)更新矩阵Y<sub>k+1</sub>:Y<sub>k+1</sub>=Y<sub>k</sub>+β(X<sub>k+1</sub>-W<sub>k+1</sub>);6)重复2‐5直到||X<sub>k+1</sub>-X<sub>k</sub>||<sub>F</sub>≤∈式中,||.||<sub>F</sub>为矩阵的Frobenius范数;所述的TNNR-APGL算法:首先通过迭代优化问题中公式2的约束条件,将公式2转化为:<maths num="0007"><![CDATA[<math><mrow><msub><mi>min</mi><mi>X</mi></msub><msub><mrow><mo>|</mo><mo>|</mo><mi>X</mi><mo>|</mo><mo>|</mo></mrow><mo>*</mo></msub><mo>-</mo><mi>Tr</mi><mrow><mo>(</mo><msub><mi>A</mi><mi>l</mi></msub><msup><msub><mi>XB</mi><mi>l</mi></msub><mi>T</mi></msup><mo>)</mo></mrow><mo>+</mo><mfrac><mi>&lambda;</mi><mn>2</mn></mfrac><mo>|</mo><mo>|</mo><msub><mi>P</mi><mi>&Omega;</mi></msub><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>-</mo></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msub><mi>P</mi><mi>&Omega;</mi></msub><mrow><mo>(</mo><mi>M</mi><mo>)</mo></mrow><msup><msub><mrow><mo>|</mo><mo>|</mo></mrow><mi>F</mi></msub><mn>2</mn></msup><mo>,</mo></mrow></math>]]></maths>采用如下具体流程解决上述迭代优化问题:1)初始化:常数t<sub>1</sub>=1,初始矩阵X<sub>1</sub>=M<sub>Ω</sub>,矩阵Y<sub>1</sub>=X<sub>1</sub>;2)更新当前补全矩阵Xk+1:<img file="FDA00003439425000033.GIF" wi="1004" he="99" /><img file="FDA00003439425000034.GIF" wi="272" he="83" />3)更新常数t<sub>k+1</sub>:<img file="FDA00003439425000035.GIF" wi="450" he="136" />式中:t<sub>k</sub>为t在第k次迭代后的值;4)更新矩阵Y<sub>k+1</sub>:<maths num="0009"><![CDATA[<math><mrow><msub><mi>Y</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>X</mi><mi>k</mi></msub><mo>+</mo><mfrac><mrow><msub><mi>t</mi><mi>k</mi></msub><mo>-</mo><mn>1</mn></mrow><msub><mi>t</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub></mfrac><mrow><mo>(</mo><msub><mi>X</mi><mi>k</mi></msub><mo>-</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>5)重复2‐5直到||X<sub>k+1</sub>-X<sub>k</sub>||<sub>F</sub>≤∈式中,||.||<sub>F</sub>为矩阵的Frobenius范数;所述的TNNR-ADMMAP算法:将公式3的两个约束条件X=W和P<sub>Ω</sub>(W)=P<sub>Ω</sub>(M)合并成一个约束条件,并引入了一个自适应的惩罚项系数,采用如下具体流程解决上述迭代优化问题:将公式3重写为:<img file="FDA00003439425000037.GIF" wi="1285" he="102" /><img file="FDA000034394250000313.GIF" wi="153" he="66" />式中,<img file="FDA000034394250000312.GIF" wi="599" he="63" />为线性算子:<img file="FDA00003439425000039.GIF" wi="450" he="135" /><img file="FDA000034394250000310.GIF" wi="651" he="148" /><img file="FDA000034394250000311.GIF" wi="471" he="148" />采用如下具体流程解决上述迭代优化问题:1)初始化:初始补全矩阵X<sub>1</sub>=M<sub>Ω</sub>,矩阵W<sub>1</sub>=X<sub>1</sub>,常数k=10<sup>-3</sup>,常数ρ<sub>0</sub>=1,矩阵Y<sub>1</sub>=X<sub>1</sub>,常数∈=10<sup>-3</sup>以及常数β<sub>0</sub>=1;2)更新当前补全矩阵X<sub>k+1</sub>:<img file="FDA00003439425000041.GIF" wi="739" he="136" />3)更新矩阵W<sub>k+1</sub>:<maths num="0010"><![CDATA[<math><mrow><msub><mi>W</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mfrac><mn>1</mn><msub><mrow><mn>2</mn><mi>&beta;</mi></mrow><mi>k</mi></msub></mfrac><msub><mi>P</mi><mi>&Omega;</mi></msub><mo>[</mo><msub><mi>&beta;</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>M</mi><mo>-</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msup><msub><mi>A</mi><mi>l</mi></msub><mi>t</mi></msup><msub><mi>B</mi><mi>l</mi></msub><mo>+</mo></mrow></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><mo>(</mo><msub><mi>Y</mi><mi>k</mi></msub><msub><mo>)</mo><mn>11</mn></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>Y</mi><mi>k</mi></msub><msub><mo>)</mo><mn>22</mn></msub><mo>)</mo><mo>]</mo><mo>+</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>1</mn><msub><mi>&beta;</mi><mi>k</mi></msub></mfrac><mrow><mo>(</mo><msup><msub><mi>A</mi><mi>l</mi></msub><mi>T</mi></msup><msub><mi>B</mi><mi>l</mi></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>Y</mi><mi>k</mi></msub><msub><mo>)</mo><mn>11</mn></msub></mrow><mo>)</mo></mrow><mo>;</mo></mrow></mrow></math>]]></maths>4)更新矩阵Y<sub>k+1</sub>:<img file="FDA00003439425000045.GIF" wi="1064" he="73" />5)更新常数β<sub>k+1</sub>:β<sub>k+1</sub>=min(β<sub>max</sub>,ρβ<sub>k</sub>);常数<maths num="0012"><![CDATA[<math><mrow><mi>&rho;</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>&rho;</mi><mn>0</mn></msub><mo>,</mo><mi>if</mi><mfrac><mrow><msub><mi>&beta;</mi><mi>k</mi></msub><mi>max</mi><mo>{</mo><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>X</mi><mi>k</mi></msub><mo>|</mo><mo>|</mo></mrow><mi>F</mi></msub><mo>,</mo><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>W</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>W</mi><mi>k</mi></msub><mo>|</mo><mo>|</mo></mrow><mi>F</mi></msub></mrow><msub><mrow><mo>|</mo><mo>|</mo><mi>C</mi><mo>|</mo><mo>|</mo></mrow><mi>F</mi></msub></mfrac><mo>&lt;</mo><mi>k</mi></mtd></mtr><mtr><mtd><mn>1</mn><mo>,</mo><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>6)重复2‐5直到||X<sub>k+1</sub>-X<sub>k</sub>||<sub>F</sub>≤∈。
地址 310012 浙江省杭州市西湖区西斗门路6号