本发明属于图像补全技术领域,具体涉及一种基于自适应秩估计黎曼流形优化的图像补全方法。
背景技术:
图像补全技术愈发成为计算机视觉和图像处理的一个研究趋势,该技术旨在从缺失像素的周围结构和纹理信息中恢复和补全缺失像素,进而获得恢复图像。在实际应用中,图像的缺失、损坏和噪声污染一般不可避免。以图像的无线传输为例,即使图像在传输的过程中能避免失真,但为了增大储存空间利用率以及延长图像传感器的使用寿命等目的,完整图像也经常被人为采样和压缩。图像补全技术有着广泛的应用领域,例如文物历史图像恢复,医疗、航空和军事图像处理,电影后期制作和目标识别检测等领域。
图像补全算法是根据有限的已知像素恢复其它未知像素,从而获得恢复图像的一种通用方法。现有的图像补全算法主要分为两类,具体为基于偏微分的算法和基于稀疏的算法。基于偏微分的算法是针对缺失像素建立偏微分方程,利用偏微分方程估计缺失像素,从而获得恢复图像的一类算法;基于稀疏的算法是将缺失图像转换于变换域,利用缺失图像在变换域的稀疏性来补全缺失像素的一类算法。有人提出了一种基于奇异值阈值(svt)的图像补全算法,该算法有效地估计了缺失像素,但存在恢复图像边界模糊的缺陷。一种基于奇异值投影(svp)的图像补全算法,该算法虽有效改善了恢复图像边界模糊的缺陷,但存在恢复图像高频部分辨率不佳的问题。有学者提出了一种基于压缩渲染(cr)预可视化的方法,压缩渲染可以在合适的时间内对图像的缺失像素进行可信重构,体现了压缩感知在图像补全技术领域的优越性。随着黎曼流形理论研究的兴起,基于黎曼流形的多种优化方法被广泛地应用于计算机视觉和图像处理等领域。有人提出了一种将黎曼优化用于低秩矩阵补全的算法,该算法利用具有固定秩的黎曼流形来补全矩阵,但在该算法中,黎曼流形的固定秩一般难以直接求得,因此该算法需要进行大量的实验求解合适的秩数,导致本算法计算效率较低。有人提出一种基于optspace的图像补全算法,有人提出了一种基于ialm(inexactaugmentedlagrangemultipliers)的图像补全算法,这两种算法虽充分考虑了低秩估计问题,但所得补全图像的视觉效果欠佳。
由于缺失像素在图像中的分布具有随机性,因此现有算法不能提供防止边界模糊的局部场景结构,不完全适用于路径跟踪的预可视化。当缺失图像的缺失率较高时,现有算法重构出的恢复图像具有精度低、恢复效率低等缺点。
技术实现要素:
本发明的目的在于针对上述现有技术中的问题,提供一种基于自适应秩估计黎曼流形优化的图像补全方法,避免使用软阈值算法,提高了运算速率,节省了运算空间。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于自适应秩估计黎曼流形优化的图像补全方法,包括以下步骤,
步骤1,读入均匀随机采样的图像,根据该图像的物象信息得到对应像素矩阵
步骤2,搭建并训练卷积神经网络,利用经训练的卷积神经网络对s做预处理,得到预处理结果
步骤3,将i平均分成大小为np×mp的q个像素块矩阵,其中的第q个像素块矩阵记作iq(q=1,2,3,...,q),将i1作为下一步的输入;
步骤4,将iq列向量化作为低秩矩阵
步骤5,引入关于自适应秩估计的惩罚项λr,利用自适应秩估计算法估计矩阵cq的秩;
步骤6,运用基于黎曼流形的优化算法获得对应cq的重构矩阵uq;
步骤7,取下一个像素块iq+1,重复步骤4-步骤6,直到获得q个重构矩阵uq(q=1,2,3,...,q),仅对重构矩阵uq的第一列向量按步骤4中的方法逆列向量化,获得重构像素块iq*,将iq*(q=1,2,3,...,q)分别按次序重组获得完整像素矩阵,由物象关系得到恢复图像s*。
本发明进一步的改进在于:
步骤2的搭建并训练卷积神经网络具体包括:
步骤2.1,构建需要学习的卷积神经网络参数θ为:
θ={wi,bi}
其中,wi为卷积核,bi是偏置,i是迭代次数;
步骤2.2,利用递推关系设置卷积神经网络卷积核wi:
其中,δ为动量,l为卷积神经网络的层数;
步骤2.3,设定动量标准传播递推关系为:
其中,η为学习率,l为损失函数;
步骤2.4,获取完整图像素材ir及其对应的随机抽样的不完整图像iy,利用n对素材训练卷积神经网络,卷积神经网络的预处理结果fl(iyi)为:
其中,wl是l层中维度为sl×sl、数量为nl的卷积核,bl是第l层的偏置,
其中n代表训练样本数。
步骤4中构建具有低秩特性的矩阵和预估秩具体包括:
步骤4.1,在i中选取与iq欧氏距离最小的a个相似像素块,将此a+1个像素块分别按顺序排列为列向量cx(x=1,2,...,a+1),按列构建低秩矩阵
步骤4.2,按照经验公式
步骤5包括如下步骤:
步骤5.1,设定正则系数μ,λ,最大迭代数k,终止容错度为tol,构建与cq等维度的零矩阵zq和xq,令pω(xq)=pω(cq),其中pω(xq),pω(cq)分别为矩阵xq,cq在ω上的投影;
步骤5.2,对低秩特性矩阵cq做奇异值分解,得到奇异值矩阵为u,w,v,将u的第r列单位化并记为ur的初始值,将v的第r行单位化并记为vr的初始值,将w中的奇异值分别记为ωr的初始值,r=1,2,...,min(np×mp,a+1);
步骤5.3,建立最小化的目标函数f,引入惩罚项λr,
其中,ur,vr,ωr与步骤5.2中意义相同,r为离散型正整数变量;
步骤5.4,利用块坐标下降法,将目标函数f(xq,ωr,ur,vr,r)分为r+2块,基于第r块的元素ur,vr,ωr,构建拉格朗日函数l:
取第一块元素u1,v1,ω1作为下一步的输入,进行第一次迭代;
步骤5.5,若ωr=0,则直接取第r+1块元素ur+1,vr+1,ωr+1作为输入,重复步骤5.5;相反,若ωr≠0,则在第k次迭代过程中,保持其他参数不变,求函数l对ur的驻点,并更新ur:
ur(k+1)=xq,r(k)vr(k)/ωr(k)
用相同方法求得vr的迭代关系:
vr(k+1)=xq,rt(k)ur(k)/ωr(k)
分别将ur(k+1),vr(k+1)单位化;
步骤5.6,在第k次迭代过程中,保持其它参数不变,求函数l对ωr的驻点:
引入软阈值操作算子shrinkμ获得数值解:
解得
步骤5.7,取下一块元素ur+1,vr+1,ωr+1,重复步骤5.5-步骤5.6,直到获得
其中pω(xq),
步骤5.8,保持其他参数不变,计算函数值f(rq*),f(rq*+1):
rq*=1,2,...,min(np×mp,a+1)-1
步骤5.9,若f(rq*)-f(rq*+1)<0,则令rq=rq*;否则令rq*=rq*+1,并重复步骤5.8,直到寻找到
步骤5.10,若||pω(xq-zq)||f/pω(xq)||f<tol或达到最大迭代次数k,则停止迭代,获得自适应秩估计结果rq和其对应重构矩阵zq,否则令
步骤6中运用黎曼流形的优化算法迭代获得对应重构矩阵包括:
步骤6.1,构建光滑流形集合
通过求解目标函数的最小化取得重构矩阵
步骤6.2,由步骤5的zq,初始化xq=zq,设定精度τ,令切向量η0=0,设置最大迭代次数k;
步骤6.3,计算第k次迭代的流形梯度:
ξk=gradf(xq(k)),k=1,2,3,...,k
步骤6.4,计算第k次迭代的共轭方向:
其中
步骤6.5,计算第k次迭代的步长:
步骤6.6,利用armijo回溯求解最小非负整数m满足下列不等式:
步骤6.7,获得第k次迭代的更新矩阵xq(k+1):
步骤6.8,若||ξk||≤τ或达到最大迭代次数k,则停止迭代,取得恢复矩阵uq=xq(k+1),否则返回步骤6.3进行第k+1次迭代。
与现有技术相比,本发明具有以下有益效果:
本发明创新地提出了一种利用经训练的神经网络预处理缺失图像,再选取相似像素块构建低秩矩阵,运用自适应秩估计黎曼流形优化的算法,节省了大量计算空间和时间,显著提升了图像补全的效率。首先读入缺失图像,利用其固有的物象信息获得对应图像矩阵s和索引ω;将s输入经训练的卷积神经网络,获得预处理图像矩阵i;将i平均分为q个大小为为np×mp的像素块iq(q=1,2,3,...,q);利用欧氏距离在i中取a个与iq等大相似的像素块,将这些等大相似的像素块列向量化构成低秩特性矩阵cq,同时根据经验公式预估cq的秩;构造加入惩罚项λr的目标函数f(xq,ωr,ur,vr,r),应用块坐标下降法计算函数l(wr,ur,vr)中的ur,vr和ωr,经k次迭代后,更新矩阵
【附图说明】
图1是本发明参考图像1对应采样率为30%的缺失图像及补全对比图;
图2是本发明参考图像2对应采样率为30%的缺失图像及补全对比图;
图3是本发明的方法流程图;
图4是本发明经训练的卷积神经网络预处理图像示意图;
图5是本发明构建具有低秩特性矩阵过程的示意图;
图6是本发明采用黎曼流形共轭梯度法优化补全矩阵中缺失元素的示意图;
图7是本发明方法与现有图像补全方法的指标对比图。
【具体实施方式】
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,不是全部的实施例,而并非要限制本发明公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要的混淆本发明公开的概念。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本发明公开的上下文中,当将一层/元件称作位于另一层/元件“上”时,该层/元件可以直接位于该另一层/元件上,或者它们之间可以存在居中层/元件。另外,如果在一种朝向中一层/元件位于另一层/元件“上”,那么当调转朝向时,该层/元件可以位于该另一层/元件“下”。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
本发明一种基于自适应秩估计黎曼流形优化的图像补全方法,包括如下具体实施步骤:
步骤1,使用读图软件读入均匀随机采样的图像,根据该图像的物象信息得到对应像素矩阵
步骤2,在编程平台上搭建卷积神经网络,搜集素材训练搭建好的卷积神经网络;利用经训练的卷积神经网络对s做预处理,得到预处理结果
步骤3,将步骤2中所得的预处理矩阵i平均分为大小为np×mp的q个像素块矩阵,其中的第q个像素块矩阵记作iq(q=1,2,3,...,q);取i1作为步骤4的输入;
步骤4,将iq列向量化作为低秩矩阵
步骤5,引入关于自适应秩估计的惩罚项λr,利用自适应秩估计算法估计矩阵cq的秩;
步骤6,运用基于黎曼流形的优化算法获得对应cq的重构矩阵uq;
步骤7,取下一个像素块iq+1,重复步骤四到步骤六,直到获得q个重构矩阵uq(q=1,2,3,...,q);仅对重构矩阵uq的第一列向量按步骤四中的方法逆列向量化,获得重构像素块iq*;将iq*(q=1,2,3,...,q)分别按次序重组获得完整像素矩阵,由物象关系得到恢复图像s*。
上述流程的步骤2中,搭建并训练卷积神经网络具体包括:
步骤2.1,构建需要学习的卷积神经网络参数θ为:
θ={wi,bi}
其中wi为卷积核,bi是偏置,i表示迭代次数;
步骤2.2,利用递推关系设置卷积神经网络卷积核wi:
其中δ为动量,l为卷积神经网络的层数;
步骤2.3,设定动量标准传播递推关系为:
其中,η表示学习率,l表示损失函数;
步骤2.4,获取完整图像素材ir及其对应的随机抽样的不完整图像iy,利用n对素材训练卷积神经网络,卷积神经网络的预处理结果fl(iyi)为:
wl是l层中维度为sl×sl、数量为nl的卷积核,bl是第l层的偏置,
损失函数中n代表训练样本数;
上述流程的步骤4中,构建具有低秩特性的矩阵和预估秩具体包括:
步骤4.1,在i中选取与iq欧氏距离最小的a个相似像素块,将此a+1个像素块分别按顺序排列为列向量cx(x=1,2,...,a+1),按列构建低秩矩阵
步骤4.2,按照经验公式
上述流程的步骤5中,引入关于自适应秩估计的惩罚项λr,利用自适应秩估计算法估计矩阵cq的秩具体包括:
步骤5.1,设定正则系数μ,λ,最大迭代数k,终止容错度为tol;由步骤一获得索引ω,步骤四获得具有低秩特性的矩阵
步骤5.2,对低秩特性矩阵cq做奇异值分解,得到奇异值矩阵为u,w,v;将u的第r列单位化并记为ur的初始值,将v的第r行单位化并记为vr的初始值,将w中的奇异值分别记为ωr的初始值,r=1,2,...,min(np×mp,a+1);
步骤5.3:为获得最优的图像补全,建立最小化的目标函数f,引入惩罚项λr:
其中ur,vr,ωr与步骤5.2的意义相同,r为离散型正整数变量;
步骤5.4,利用块坐标下降法,将目标函数f(xq,ωr,ur,vr,r)分为r+2块,基于第r块的元素ur,vr,ωr,构建拉格朗日函数l:
取第一块元素u1,v1,ω1作为步骤5.5的输入,进行第一次迭代;
步骤5.5,若ωr=0,则直接取第r+1块元素ur+1,vr+1,ωr+1作为输入,重复步骤5.5;相反,若ωr≠0,则在第k次迭代过程中,保持其他参数不变,求函数l对ur的驻点,并更新ur:
ur(k+1)=xq,r(k)vr(k)/ωr(k)
同理我们可以求得vr的迭代关系:
vr(k+1)=xq,rt(k)ur(k)/ωr(k)
分别将ur(k+1),vr(k+1)单位化;
步骤5.6,在第k次迭代过程中,保持其它参数不变,求函数l对ωr的驻点:
解得
步骤5.7,取下一块元素ur+1,vr+1,ωr+1,重复步骤5.5到步骤5.6,直到获得
其中pω(xq),
步骤5.8,保持其它参数不变,按下式计算函数值f(rq*),f(rq*+1):
rq*=1,2,...,min(np×mp,a+1)-1
步骤5.9,若f(rq*)-f(rq*+1)<0,则令rq=rq*,否则令rq*=rq*+1然后重复步骤5.8,直到寻找到
步骤5.10,若||pω(xq-zq)||f/||pω(xq)||f<tol或达到最大迭代次数k,则停止迭代,获得自适应秩估计结果rq和其对应重构矩阵zq,否则令
上述流程的步骤6中,运用黎曼流形的优化算法迭代获得对应重构矩阵具体包括:
步骤6.1,由步骤4获得低秩矩阵cq和步骤5获得对应的自适应估计秩rq,构建光滑流形集合
通过求解目标函数的最小化取得重构矩阵
步骤6.2,由步骤5的zq,初始化xq=zq,设定精度τ,令切向量η0=0,设置最大迭代次数k;由步骤6.3开始进行第一次迭代;
步骤6.3,计算第k次迭代的流形梯度:
ξk=gradf(xq(k)),k=1,2,3,...,k
步骤6.4,计算第k次迭代的共轭方向:
其中
步骤6.5,计算第k次迭代的步长:
步骤6.6,利用armijo回溯求解最小非负整数m满足下列不等式:
步骤6.7,获得第k次迭代的更新矩阵xq(k+1):
步骤6.8,若||ξk||≤τ或达到最大迭代次数k,则停止迭代,取得恢复矩阵uq=xq(k+1),否则返回步骤6.3进行第k+1次迭代。
参阅图1至图7,图1为在30%的采样率下,人物类缺失图像barbara经本算法(proposed)及现存算法(svp,optspace,svt,ialm)补全后的对比示例;图2为在30%的采样率下,景物类缺失图像house经本算法及现存算法补全后的对比示例;图3为本算法的总流程图;图4为本算法步骤2中,利用卷积神经网络处理缺失图像的流程示意图;图5为本算法步骤3-4中,在预处理图像中选取相似像素块构造低秩矩阵的示意图;图6为本算法步骤6中,利用黎曼流形优化的流程示意图;图7说明了人物类缺失图像barbara和景物类缺失图像house,经不同算法获得补全图像的psnr及ssim指标随采样率的变化;本实施例利用pc平台仿真,硬件为aceral1916w3ghz、内存3g,软件为windows7旗舰版,matlabr2016b版本。在调试算法过程中,根据经验,本发明设定正则参数μ=50,λ=0.01;参考图像像素为256×256,采样率从10%至90%不等。由图1和图2进行对照可得,在相同的初始化条件下,本发明的恢复效果更佳。根据图7可以看出,本发明的重构精度在各种采样率下均优于现存图像补全算法svp,optspace,svt,ialm。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。